KR20210134542A - 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법 - Google Patents

방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법 Download PDF

Info

Publication number
KR20210134542A
KR20210134542A KR1020210144866A KR20210144866A KR20210134542A KR 20210134542 A KR20210134542 A KR 20210134542A KR 1020210144866 A KR1020210144866 A KR 1020210144866A KR 20210144866 A KR20210144866 A KR 20210144866A KR 20210134542 A KR20210134542 A KR 20210134542A
Authority
KR
South Korea
Prior art keywords
packet
rohc
rdt
header
packets
Prior art date
Application number
KR1020210144866A
Other languages
English (en)
Other versions
KR102603460B1 (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 KR20210134542A publication Critical patent/KR20210134542A/ko
Application granted granted Critical
Publication of KR102603460B1 publication Critical patent/KR102603460B1/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/168Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 일 실시 예에 따른 방송 신호 송신 방법은 방송 데이터를 포함하는 IP 패킷들에 대해 어댑테이션 모드에 따라 헤더 압축을 수행하여 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널과 상기 헤더 압축에 관련된 정보를 포함하는 시그널링 테이블을 출력하며, 상기 각 IP 패킷의 헤더는 IP 헤더와 UDP 헤더로 구성되는 단계, 상기 RoHC 채널을 포함하는 적어도 하나의 제1 링크 레이어 패킷을 생성하고, 상기 시그널링 테이블을 포함하는 적어도 하나의 제2 링크 레이어 패킷을 생성하는 인캡슐레이션 단계, 및 상기 적어도 하나의 제1 링크 레이어 패킷과 상기 적어도 하나의 제2 링크 레이어 패킷을 피지컬 레이어 프로세싱하여 하나 이상의 PLP들을 통해 전송하는 단계를 포함하며, 상기 시그널링 테이블은 상기 어댑테이션 모드를 지시하는 어댑테이션 모드 정보를 더 포함하고, 상기 RoHC 채널 내 각 RoHC 스트림은 RoHC 패킷들을 포함한다.

Description

방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법{BROADCAST SIGNAL TRANSMISSION APPARATUS, BROADCAST SIGNAL TRANSMISSION METHOD, BROADCAST SIGNAL RECEPTION APPARATUS AND BROADCAST SIGNAL RECEPTION METHOD}
본 발명은 방송 송신 장치, 방송 송신 방법. 방송 수신 장치 및 방송 수신 방법에 관한 것으로서, 특히 링크 레이어에서 데이터를 처리하기 위한 방송 신호 송/수신 장치 및 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
본 발명의 목적은 많은 양의 데이터 전송 및 오버헤드 리덕션을 위해 패킷의 헤더를 효율적으로 압축(compress)하여 전송하고 수신측에서 압축 해제(decompress) 하기 위한 방송 송신 장치, 방송 송신 방법, 방송 수신 장치 및 방송 수신 방법을 제공하는 것이다.
본 발명의 다른 목적은 IP (Internet Protocol) 패킷의 헤더를 효율적으로 압축하여 전송하고 수신측에서 압축 해제하기 위한 방송 송신 장치, 방송 송신 방법, 방송 수신 장치 및 방송 수신 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 송신측에서 IP 패킷의 헤더를 ROHC (Robust Header Compression) 방식으로 효율적으로 압축하여 전송하고 수신측에서 압축 해제하기 위한 방송 송신 장치, 방송 송신 방법, 방송 수신 장치 및 방송 수신 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 링크 레이어에서 데이터를 효율적으로 처리하기 위한 방송 송신 장치, 방송 송신 방법, 방송 수신 장치 및 방송 수신 방법을 제공하는 것이다.
본 발명의 일 실시 예에 따른 방송 송신 신호 방법은 방송 데이터를 포함하는 IP 패킷들에 대해 어댑테이션 모드에 따라 헤더 압축을 수행하여 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널과 상기 헤더 압축에 관련된 정보를 포함하는 시그널링 테이블을 출력하며, 상기 각 IP 패킷의 헤더는 IP 헤더와 UDP 헤더로 구성되는 단계, 상기 RoHC 채널을 포함하는 적어도 하나의 제1 링크 레이어 패킷을 생성하고, 상기 시그널링 테이블을 포함하는 적어도 하나의 제2 링크 레이어 패킷을 생성하는 인캡슐레이션 단계, 상기 적어도 하나의 제1 링크 레이어 패킷과 상기 적어도 하나의 제2 링크 레이어 패킷을 피지컬 레이어 프로세싱하여 하나 이상의 PLP (Physical Layer Pipe)들을 통해 전송하는 단계를 포함하며, 상기 시그널링 테이블은 상기 어댑테이션 모드를 지시하는 어댑테이션 모드 정보를 더 포함하는 것을 일 실시예로 한다.
상기 RoHC 채널 내 각 RoHC 스트림은 RoHC 패킷들을 포함하고, 상기 RoHC 패킷들이 IR 패킷, IR-DYN 패킷, 및 압축된 패킷들을 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 1을 지시하고, 상기 RoHC 패킷들이 IR-DYN 패킷들과 압축된 패킷들만 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 2를 지시하고, 상기 RoHC 패킷들이 적어도 압축된 패킷들만 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 3을 지시하며, 상기 RoHC 채널 내 하나 이상의 RoHC 스트림들 중 가장 많은 RoHC 패킷들을 포함하는 RoHC 스트림의 RoHC 패킷들의 헤더에 할당되는 컨텍스트 식별자(CID)의 값은 0인 것을 일 실시예로 한다.
상기 어댑테이션 모드 2에서, 상기 시그널링 테이블은 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 상기 RoHC 스트림에 대응하는 IP 스트림의 첫번째 IP 패킷의 스태틱 체인 정보를 포함하는 것을 일 실시예로 한다.
상기 어댑테이션 모드 3에서, 상기 시그널링 테이블은 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 상기 RoHC 스트림에 대응하는 IP 스트림의 첫번째 IP 패킷의 스태틱 체인 정보와 다이나믹 체인 정보를 포함하는 것을 일 실시예로 한다.
입력되는 IP 패킷들의 헤더에 포함된 정보가 자주(frequently) 업데이트되면 상기 어댑테이션 모드 2가 선택되고, 입력되는 IP 패킷들의 헤더에 포함된 정보가 시퀀스 번호를 제외하고 업데이트되지 않으면 상기 어댑테이션 모드 3이 선택되는 것을 일 실시예로 한다.
상기 CID의 변경이 필요하면, 상기 시그널링 테이블이 전송되는 시점에서 변경하는 것을 일 실시예로 한다.
상기 어댑테이션 모드에 따라 헤더 압축을 수행하는 단계는 하나의 IP 패킷으로부터 프래그먼트된 IP 패킷들이 입력되면 프래그먼트된 IP 패킷들을 모아 프래그먼트되긴 전 IP 패킷으로 복구한 후 헤더 압축을 위해 출력하는 단계를 더 포함하는 것을 일 실시예로 한다.
상기 어댑테이션 모드에 따라 헤더 압축을 수행하는 단계는 입력되는 IP 패킷의 헤더를 파싱하여 IP 스트림을 분류하고, 분류된 IP 스트림의 컨텍스트가 없으면 새로운 컨텍스트를 생성하고, 분류된 IP 스트림의 컨텍스트가 있으면 상기 컨텍스트의 업데이트 여부를 검출하여 상기 컨텍스트를 업데이트하고, 스테이트 머신을 통해 현재 상태를 검출하는 단계, 상기 검출된 현재 상태를 기반으로 패킷 타입을 결정하고, 결정된 패킷 타입과 상기 IP 패킷의 페이로드를 기반으로 IR 패킷, IR-DYN 패킷, 및 압축된 패킷 중 하나에 해당하는 RoHC 패킷을 생성하는 단계, 및 상기 어댑테이션 모드와 상기 생성된 RoHC 패킷의 타입에 따라 IR 패킷 및/또는 IR-DYN 패킷으로부터 컨텍스트 정보를 추출하는 과정과 상기 컨텍스트 정보가 추출된 IR 패킷 및/또는 IR-DYN 패킷을 IR-DYN 패킷 또는 압축된 패킷으로 변환하는 과정을 상기 분류된 IP 스트림의 IP 패킷들에 대해 반복 수행하여 상기 인캡슐레이션 단계로 출력할 RoHC 스트림과 상기 RoHC 스트림에 관련된 시그널링 테이블을 생성하여 출력하는 단계를 포함하는 것을 일 실시예로 한다.
상기 어댑테이션 모드에 따라 헤더 압축을 수행하는 단계는 입력되는 IP 패킷의 헤더를 파싱하여 IP 스트림을 분류하고, 분류된 IP 스트림의 컨텍스트가 없으면 새로운 컨텍스트를 생성하고, 분류된 IP 스트림의 컨텍스트가 있으면 상기 컨텍스트의 업데이트 여부를 검출하여 상기 컨텍스트를 업데이트하고, 스테이트 머신을 통해 현재 상태를 검출하는 단계, 상기 검출된 현재 상태를 기반으로 패킷 타입을 결정하고, 결정된 패킷 타입, 상기 분류된 IP 스트림의 컨텍스트 정보 그리고 어댑테이션 모드에 따라 상기 인캡슐레이션 모듈로 출력하는 RoHC 스트림에 포함되는 RoHC 패킷을 생성하는 과정을 상기 분류된 IP 스트림의 IP 패킷들에 대해 반복 수행하여 상기 RoHC 스트림을 생성하는 단계, 및 상기 단계에서 결정된 패킷 타입, 상기 분류된 IP 스트림의 컨텍스트 정보 그리고 어댑테이션 모드에 따라 상기 RoHC 스트림에 관련된 시그널링 정보를 생성하는 단계를 포함하는 것을 일 실시예로 한다.
상기 RoHC 채널을 포함하는 적어도 하나의 제1 링크 레이어 패킷을 전송하는 PLP와 상기 시그널링 테이블을 전송하는 PLP는 서로 다른 것을 일 실시예로 한다.
상기 시그널링 테이블은 RDT이고, 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되며, 상기 catalog RDT가 복수개의 시그널링 테이블들을 포함하면, 상기 복수개의 시그널링 테이블들은 상기 적어도 하나의 제2 링크 레이어 패킷의 페이로드에 연속적으로 포함되고, 상기 페이로드에 포함되는 시그널링 테이블들의 개수는 상기 적어도 하나의 제2 링크 레이어 패킷의 헤더에 시그널링되는 것을 일 실시예로 한다.
본 발명에 따른 방송 신호 송신 장치는, 방송 데이터를 포함하는 IP 패킷들에 대해 어댑테이션 모드에 따라 헤더 압축을 수행하여 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널과 상기 헤더 압축에 관련된 정보를 포함하는 시그널링 테이블을 출력하며, 각 IP 패킷의 헤더는 IP 헤더와 UDP 헤더로 구성되는 IP 헤더 압축부, 상기 RoHC 채널을 포함하는 적어도 하나의 제1 링크 레이어 패킷을 생성하고, 상기 시그널링 테이블을 포함하는 적어도 하나의 제2 링크 레이어 패킷을 생성하는 인캡슐레이션부, 및 상기 적어도 하나의 제1 링크 레이어 패킷과 상기 적어도 하나의 제2 링크 레이어 패킷을 피지컬 레이어 프로세싱하여 하나 이상의 PLP들을 통해 전송하는 피지컬 레이어 프로세서를 포함하며, 상기 시그널링 테이블은 상기 어댑테이션 모드를 지시하는 어댑테이션 모드 정보를 더 포함하는 것을 일 실시예로 한다.
상기 RoHC 채널 내 각 RoHC 스트림은 RoHC 패킷들을 포함하고, 상기 RoHC 패킷들이 IR 패킷, IR-DYN 패킷, 및 압축된 패킷들을 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 1을 지시하고, 상기 RoHC 패킷들이 IR-DYN 패킷들과 압축된 패킷들만 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 2를 지시하고, 상기 RoHC 패킷들이 적어도 압축된 패킷들만 포함하면, 상기 어댑테이션 모드 정보는 어댑테이션 모드 3을 지시하며, 상기 RoHC 채널 내 하나 이상의 RoHC 스트림들 중 가장 많은 RoHC 패킷들을 포함하는 RoHC 스트림의 RoHC 패킷들의 헤더에 할당되는 컨텍스트 식별자(CID)의 값은 0인 것을 일 실시예로 한다.
입력되는 IP 패킷들의 헤더에 포함된 정보가 자주(frequently) 업데이트되면 상기 어댑테이션 모드 2가 선택되고, 입력되는 IP 패킷들의 헤더에 포함된 정보가 시퀀스 번호를 제외하고 업데이트되지 않으면 상기 어댑테이션 모드 3이 선택되는 것을 일 실시예로 한다.
상기 IP 헤더 압축부는 하나의 IP 패킷으로부터 프래그먼트된 IP 패킷들이 입력되면 프래그먼트된 IP 패킷들을 모아 프래그먼트되긴 전 IP 패킷으로 복구한 후 헤더 압축을 위해 출력하는 프리-프리세싱부를 더 포함하는 것을 일 실시예로 한다.
상기 IP 헤더 압축부는 입력되는 IP 패킷의 헤더를 파싱하여 IP 스트림을 분류하고, 분류된 IP 스트림의 컨텍스트가 없으면 새로운 컨텍스트를 생성하고, 분류된 IP 스트림의 컨텍스트가 있으면 상기 컨텍스트의 업데이트 여부를 검출하여 상기 컨텍스트를 업데이트하고, 스테이트 머신을 통해 현재 상태를 검출하는 컨텍스트 매니지먼트부, 상기 검출된 현재 상태를 기반으로 패킷 타입을 결정하고, 결정된 패킷 타입과 상기 IP 패킷의 페이로드를 기반으로 IR 패킷, IR-DYN 패킷, 및 압축된 패킷 중 하나에 해당하는 RoHC 패킷을 생성하는 RoHC 패킷 생성부, 및 상기 어댑테이션 모드와 상기 생성된 RoHC 패킷의 타입에 따라 IR 패킷 및/또는 IR-DYN 패킷으로부터 컨텍스트 정보를 추출하는 과정과 상기 컨텍스트 정보가 추출된 IR 패킷 및/또는 IR-DYN 패킷을 IR-DYN 패킷 또는 압축된 패킷으로 변환하는 과정을 상기 분류된 IP 스트림의 IP 패킷들에 대해 반복 수행하여 상기 인캡슐레이션부로 출력할 RoHC 스트림과 상기 RoHC 스트림에 관련된 시그널링 테이블을 생성하여 출력하는 어댑테이션부를 포함하는 것을 일 실시예로 한다.
상기 IP 헤더 압축부는 입력되는 IP 패킷의 헤더를 파싱하여 IP 스트림을 분류하고, 분류된 IP 스트림의 컨텍스트가 없으면 새로운 컨텍스트를 생성하고, 분류된 IP 스트림의 컨텍스트가 있으면 상기 컨텍스트의 업데이트 여부를 검출하여 상기 컨텍스트를 업데이트하고, 스테이트 머신을 통해 현재 상태를 검출하는 컨텍스트 매니지먼트부, 상기 검출된 현재 상태를 기반으로 패킷 타입을 결정하고, 결정된 패킷 타입, 상기 분류된 IP 스트림의 컨텍스트 정보 그리고 어댑테이션 모드에 따라 상기 인캡슐레이션 모듈로 출력하는 RoHC 스트림에 포함되는 RoHC 패킷을 생성하는 과정을 상기 분류된 IP 스트림의 IP 패킷들에 대해 반복 수행하여 상기 RoHC 스트림을 생성하는 RoHC 패킷 생성부, 및 상기 RoHC 패킷 생성부에서 결정된 패킷 타입, 상기 분류된 IP 스트림의 컨텍스트 정보 그리고 어댑테이션 모드에 따라 상기 RoHC 스트림에 관련된 시그널링 정보를 생성하는 시그널링 생성부를 포함하는 것을 일 실시예로 한다.
상기 RoHC 채널을 포함하는 적어도 하나의 제1 링크 레이어 패킷을 전송하는 PLP와 상기 시그널링 테이블을 전송하는 PLP는 서로 다른 것을 일 실시예로 한다.
상기 시그널링 테이블은 RDT이고, 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되며, 상기 catalog RDT가 복수개의 시그널링 테이블들을 포함하면, 상기 복수개의 시그널링 테이블들은 상기 적어도 하나의 제2 링크 레이어 패킷의 페이로드에 연속적으로 포함되고, 상기 페이로드에 포함되는 시그널링 테이블들의 개수는 상기 적어도 하나의 제2 링크 레이어 패킷의 헤더에 시그널링되는 것을 일 실시예로 한다.
본 발명에 따른 방송 신호 수신 방법은 압축된 패킷들을 포함하는 RoHC 스트림과 상기 RoHC 스트림에 관련된 시그널링 테이블을 포함하는 방송 신호를 수신하며, 상기 RoHC 스트림은 적어도 하나의 제1 링크 레이어 패킷으로 인캡슐레이션된 후 피지컬 레이어 처리되어 제1 PLP를 통해 수신되며, 상기 시그널링 테이블은 적어도 하나의 제2 링크 레이어 패킷으로 인캡슐레이션된 후 피지컬 레이어 처리되어 제2 PLP를 통해 수신되며, 상기 시그널링 테이블은 상기 RoHC 스트림에 관련된 헤더 압축 정보, 어댑테이션 모드 정보, 그리고 컨텍스트 정보를 포함하고, 상기 컨텍스트 정보는 상기 RoHC 스트림의 첫번째 압축된 패킷에 대응하는 스태틱 체인 정보와 다이나믹 체인 정보를 포함하는 단계, 상기 방송 신호를 피지컬 레이어 프로세싱하는 단계, 상기 피지컬 레이어 프로세싱된 방송 신호의 제1 PLP로 수신된 적어도 하나의 제1 링크 레이어 패킷으로부터 상기 RoHC 스트림을 추출하고, 상기 피지컬 레이어 프로세싱된 방송 신호의 제2 PLP로 수신된 적어도 하나의 제2 링크 레이어 패킷으로부터 상기 시그널링 테이블을 추출하는 단계, 상기 시그널링 테이블의 다이나믹 체인 정보로부터 풀 렝쓰(full length)의 시퀀스 번호를 추출하는 단계, 상기 추출된 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 포함하는 압축된 패킷들을 상기 RoHC 스트림으로부터 검출하는 단계, 상기 다이나믹 체인 정보로부터 검출된 풀 렝쓰의 시퀀스 번호를 기반으로 상기 검출된 압축된 패킷들에 대해 CRC를 이용한 에러 검증을 수행하는 단계, 상기 단계에서 CRC를 이용한 에러 검증을 패스하는 압축된 패킷이 있으면 상기 시그널링 테이블에 포함된 스태틱 체인 정보, 다이나믹 체인 정보 그리고, 상기 패스된 압축된 패킷을 이용하여 오리지날 IP 패킷으로 헤더 압축 해제를 시작하는 단계, 및
상기 단계에서 CRC를 이용한 에러 검증을 패스하는 압축된 패킷이 없으면 상기 시그널링 테이블에 포함된 스태틱 체인 정보, 다이나믹 체인 정보 그리고, 상기 RoHC 스트림의 두번째 압축된 패킷을 이용하여 오리지날 IP 패킷으로 헤더 압축 해제를 시작하는 단계를 포함하는 것을 일 실시예로 한다.
상기 두번째 압축된 패킷을 이용한 헤더 압축 해제 단계는 상기 다이나믹 체인 정보로부터 UDP 첵섬의 사용 여부를 확인하는 단계, 및 상기 UDP 첵섬이 사용되지 않는다고 확인되면 상기 RoHC 스트림의 두번째 압축된 패킷에 포함된 시퀀스 번호에 대응하는 풀 렝쓰의 시퀀스 번호를 기반으로 상기 두번째 압축된 패킷에 대해 CRC를 이용한 에러 검증을 수행하는 단계, 상기 두번째 압축된 패킷이 CRC를 이용한 에러 검증을 패스하면, 상기 시그널링 테이블에 포함된 스태틱 체인 정보, 다이나믹 체인 정보 그리고, 상기 두번째 압축된 패킷을 이용하여 오리지날 IP 패킷으로 헤더 압축 해제를 시작하는 단계를 포함하는 것을 일 실시예로 한다.
본 발명에 따르면 IP 헤더 압축 과정을 단순화함으로써, 방송 시스템의 복잡도를 줄이는 효과가 있다.
본 발명은 IP 패킷의 헤더 압축시에 어댑테이션 모드에 따라 IR 패킷 및/또는 IR-DYN 패킷으로부터 컨텍스트 정보를 추출하고, 컨텍스트 정보가 추출된 IR 패킷 및/또는 IR-DYN 패킷을 IR-DYN 및/또는 compressed 패킷으로 변환하는 과정을 생략하고 RDT와 compressed IP 스트림의 패킷들을 생성함으로써, 하드웨어의 복잡도를 줄이는 효과가 있다.
본 발명에서 UDP 첵섬이 사용되지 않으면 수신측에서 compressed IP 스트림의 첫번째 compressed 패킷이 미스되어도 그 다음 compressed 패킷을 버리지 않고 압축 해제에 이용함으로써, 압축 해제를 시작하기 위해 다음 RDT를 기다리지 않아도 되어 그만큼 압축 해제 시간이 빨라지는 효과가 있다.
본 발명에 따르면 송신 시스템에서 적용된 IP 프래그멘테이션(fragmentation) 과정을 수신 시스템으로 전송하기 전에 방지함으로써, 수신 시스템의 구현을 간소화할 수 있는 장점이 있다.
본 발명에 따르면 IP 헤더 압축의 대역폭 감소를 효과적으로 증대시키는 장점이 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 프로토콜 스택을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서비스 디스커버리 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 LLS (Low Level Signaling) 테이블 및 SLT (Service List Table)를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 ROUTE 로 전달되는 USBD 및 S-TSID 를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 MMT 로 전달되는 USBD 를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 링크 레이어 동작을 도시한 도면이다.
도 8은 본 발명에 따른 IP 패킷의 IP/UDP 헤더 중 스태틱 체인 정보의 일 실시예를 보인 도면이다.
도 9는 본 발명에 따른 IP 패킷의 IP/UDP 헤더 중 다이나믹 체인 정보의 일 실시예를 보인 도면이다.
도 10의 (a), (b)는 본 발명의 일 실시예에 따른 IP 헤더 압축에 있어서, 어댑테이션 모드2, 3의 실시예를 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다.
도 12는 도 11의 packet_type 필드에 할당된 코드 값들의 의미의 일 실시예를보인 도면이다.
도 13은 본 발명의 다른 실시예에 따른 링크 레이어 패킷의 시그널링 정보를 위한 추가 헤더 구조를 도시한 도면이다.
도 14는 도 13의 시그널링 정보를 위한 추가 헤더의 신택스 구조의 일 실시예를 보인 도면이다.
도 15는 본 발명에 따른 LMT의 신택스 구조의 일 실시예를 보인 도면이다.
도 16은 본 발명에 따른 RDT의 신택스 구조의 일 실시예를 보인 도면이다.
도 17은 본 발명에 따른 ALP (ATSC Link Layer Protocol) 시스템의 일 실시예를 보인 구성 블록도이다.
도 18은 본 발명에 따른 IP 헤더 압축부의 일 실시예를 보인 구성 블록도이다.
도 19의 (a) 내지 (c)는 스몰 CID가 할당되고, 스몰 CID 값이 0이 아닐 때의 IR 패킷, IR-DYN 패킷, 및 UO-0 패킷 포맷의 일 실시예를 보인 도면이다.
도 20의 (a) 내지 (c)는 스몰 CID가 할당되고, 스몰 CID 값이 0일 때의 IR 패킷, IR-DYN 패킷, 및 UO-0 패킷 포맷의 일 실시예를 보인 도면이다.
도 21의 (a) 내지 (c)는 라지 CID가 할당될 때의 IR 패킷, IR-DYN 패킷, UO-0 패킷 포맷의 일 실시예를 보인 도면이다.
도 22는 본 발명에 따른 IP 헤더 압축부의 일 실시예를 보인 구성 블록도이다.
도 23은 본 발명에 따른 방송 송신 장치의 일 실시예를 보인 구성 블록도이다.
도 24는 본 발명에 따른 하이브리드 방송 수신 장치의 일 실시예를 보인 구성 블록도이다.
도 25는 본 발명에 따른 피지컬 레이어의 방송 수신 장치의 일 실시예를 보인 구성 블록도이다.
도 26은 본 발명에 따른 압축되지 않은 IP 패킷의 IP/UDP 헤더를 포함하는 IP 스트림을 16진수 형태로 보인 도면이다.
도 27은 본 발명에 따른 어댑테이션 모드 2의 RoHC 스트림에 포함되는 IR-DYN 패킷들과 compressed 패킷들의 필드 값들의 일 실시예를 보인 도면이다.
도 28은 도 27의 1번째 IR-DYN 패킷과 30번째 IR-DYN 패킷으로부터 추출된 스태틱 체인 정보의 일 실시예를 보인 도면이다.
도 29는 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 2의 동기화 과정의 일 실시예를 보인 흐름도이다.
도 30은 본 발명에 따른 어댑테이션 모드 3의 RoHC 스트림에 포함되는 compressed 패킷들의 필드 값들의 일 실시예를 보인 도면이다.
도 31은 도 30의 1번째 compressed 패킷과 관련된 RDT에 포함되는 스태틱 체인 정보와 다이나믹 체인 정보의 일 실시예를 보인 도면이다.
도 32는 본 발명에 따른 RDT의 다이나믹 체인 정보에 포함된 시퀀스 번호와 compressed 패킷들의 시퀀스 번호를 기반으로 CRC 검증한 결과의 일 실시예를 보인 도면이다.
도 33은 본 발명에 따른 UDP 첵섬이 사용되지 않을 때의 패킷 스트림 내 IP 패킷들의 IP/UDP 헤더의 필드 값들과 compressed 패킷들의 헤더의 필드 값들의 일 실시예를 보인 도면이다.
도 34는 도 33의 1번째 compressed 패킷과 관련된 RDT에 포함되는 스태틱 체인 정보와 다이나믹 체인 정보의 일 실시예를 보인 도면이다.
도 35는 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 3의 동기화 과정의 일 실시예를 보인 흐름도이다.
도 36은 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 3의 동기화 과정의 다른 실시예를 보인 흐름도이다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 명세서의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
또한 본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 명세서의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 명세서의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 명세서의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
그리고 본 명세서에서 제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 명세서의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
또한 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 그리고 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 '시그널링 (signaling)' 이라 함은 방송 시스템, 인터넷 방송 시스템 및/또는 방송/인터넷 융합 시스템에서 제공되는 서비스 정보 (Service Information; SI)를 전송/수신하는 것을 나타낸다. 서비스 정보는 현재 존재하는 각 방송 시스템에서 제공되는 방송 서비스 정보 (예를 들면, ATSC-SI 및/또는 DVB-SI)를 포함한다.
본 명세서에서 '방송 신호' 라 함은, 지상파 방송, 케이블 방송, 위성 방송, 및/또는 모바일 방송 이외에도, 인터넷 방송, 브로드밴드 방송, 통신 방송, 데이터 방송 및/또는 VOD (Video On Demand) 등의 양방향 방송에서 제공되는 신호 및/또는 데이터를 포함하는 개념으로 정의한다.
본 명세서에서 'PLP (Physical Layer Pipe)'라 함은, 물리적 계층에 속하는 데이터를 전송하는 일정한 유닛을 의미한다. 따라서, 본 명세서에서 'PLP'로 명명된 내용은, '데이터 유닛' 또는 '데이터 파이프 (data pipe)'로 바꾸어 명명될 수도 있다.
디지털 방송 (DTV) 서비스에서 활용될 유력한 어플리케이션 (application) 중의 하나로, 방송 망과 인터넷 망과의 연동을 통한 하이브리드 방송 서비스를 꼽을 수 있다. 하이브리드 방송 서비스는 지상파 방송망을 통해서 전송되는 방송 A/V (Audio/Video) 컨텐츠와 연관된 인핸스먼트 데이터 (enhancement data) 혹은 방송 A/V 컨텐츠의 일부를 인터넷 망(internet or broadband)을 통하여 실시간으로 전송함으로써, 사용자로 하여금 다양한 컨텐츠를 경험할 수 있도록 한다.
본 발명은 차세대 방송 서비스를 위한 방송 신호를 송수신 할 수 있는 방송 송신 장치, 방송 수신 장치, 방송 송신 방법, 및 방송 수신 방법을 제공하기 위한 것이다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 및 UHDTV(Ultra High Definition Television) 서비스등을 포함하는 개념이다.
본 발명은 상술한 차세대 방송 서비스를 위한 방송 신호를 비MIMO(non-MIMO, Multi Input Multi Output) 방식 또는 MIMO 방식으로 처리하는 것을 일 실시예로 할 수 있다. 본 발명의 일 실시예에 따른 비MIMO 방식은 MISO (Multi Input Single Output), SISO (Single Input Single Output) 방식 등을 포함할 수 있다. 이하에서, MISO 또는 MIMO의 다중 안테나는 설명의 편의를 위해 2개의 안테나를 예로서 설명할 수 있으나, 이러한 본 발명의 설명은 2개 이상의 안테나를 사용하는 시스템에 적용될 수 있다.
또한 본 발명에서 신호 프레임(또는 프레임 또는 A3 프레임 또는 피지컬 레이어 프레임이라 하기도 함)은 크게 3개의 영역으로 구분하며, 신호 프레임의 맨 앞에 위치한 제1 영역은 부트스트랩(또는 부트스트랩 영역)이라 하고, 상기 제1 영역 바로 다음에 위치하는 제2 영역은 프리앰블(또는 프리앰블 영역)이라 하며, 상기 제2 영역 다음에 위치하는 제3 영역은 데이터 영역이라 하기로 한다.
상기 부트스트랩 영역에는 부트스트랩 데이터가 포함되고, 상기 프리앰블 영역에는 이 프레임의 나머지에 적용 가능한 L1 (Layer 1) 시그널링 데이터(또는 L1 콘트롤 시그널링 데이터라 함)가 포함된다. 상기 데이터 영역은 다시 하나 이상의 서브프레임들로 구분된다. 만일 하나의 신호 프레임에 복수개의 서브프레임들이 존재한다면, 복수개의 서브프레임들은 시간에 따라 연속적으로 위치한다(be concatenated together in time). 하나의 서브프레임은 신호 프레임 내의 타임-프리퀀시 자원(time-frequency resources)의 집합(set)으로 구성된다. 즉, 하나 이상의 PLP들로 전송되는 데이터는 하나 이상의 서브 프레임들에 매핑된다.
상기 L1 시그널링 데이터는 피지컬 레이어 파라미터들을 구성하기 위해 필요한 정보를 제공한다. 상기 L1 시그널링 데이터는 L1 베이직 (L1-Basic) 시그널링 데이터와 L1 디테일 (L1-Detail) 시그널링 데이터를 포함한다. 이때 부트스트랩 데이터를 상기 L1 시그널링 데이터에 포함시킬 수도 있다.
그리고 이후 설명되는 L1 시그널링 데이터에 포함되는 정보 중 L1B로 시작하는 정보는 L1-Basic 시그널링 데이터에 포함되는 정보이고, L1D로 시작하는 정보는 L1-Detail 시그널링 데이터에 포함되는 정보인 것을 일 실시예로 한다.
도 1 은 본 발명의 일 실시예에 따른 프로토콜 스택을 도시한 도면이다.
서비스는 복수개의 레이어를 거쳐 수신기로 전달될 수 있다. 먼저 송신측에서는 서비스 데이터를 생성할 수 있다. 송신측의 딜리버리 레이어에서는 서비스 데이터에 전송을 위한 처리를 수행하고, 피지컬 레이어에서는 이를 방송 신호로 인코딩하여 방송망 또는 브로드밴드를 통해 전송할 수 있다.
여기서 서비스 데이터들은 ISO BMFF (base media file format) 에 따른 포맷으로 생성될 수 있다. ISO BMFF 미디어 파일은 방송망/브로드밴드 딜리버리, 미디어 인캡슐레이션(media encapsulation) 및/또는 동기화 포맷(synchronization format) 으로 사용될 수 있다. 여기서 서비스 데이터는 서비스와 관련된 모든 데이터로서, 리니어 서비스를 이루는 서비스 컴포넌트들, 그에 대한 시그널링 정보, NRT (Non Real Time) 데이터, 기타 파일들 등을 포함하는 개념일 수 있다.
딜리버리 레이어에 대해 설명한다. 딜리버리 레이어는 서비스 데이터에 대한 전송 기능을 제공할 수 있다. 서비스 데이터는 방송망 및/또는 브로드밴드를 통해 전달될 수 있다.
방송망을 통한 서비스 딜리버리(broadcast service delivery)에 있어 두가지 방법이 있을 수 있다.
첫번째 방법은 MMT (MPEG Media Transport) 에 근거하여, 서비스 데이터들을 MPU (Media Processing Units) 들로 처리하고, 이를 MMTP (MMT protocol) 를 이용하여 전송하는 것일 수 있다. 이 경우, MMTP 를 통해 전달되는 서비스 데이터에는, 리니어 서비스를 위한 서비스 컴포넌트들 및/또는 그에 대한 서비스 시그널링 정보 등이 있을 수 있다.
두번째 방법은 MPEG DASH 에 근거하여, 서비스 데이터들을 DASH 세그먼트들로 처리하고, 이를 ROUTE (Real time Object delivery over Unidirectional Transport) 를 이용하여 전송하는 것일 수 있다. 이 경우, ROUTE 프로토콜을 통해 전달되는 서비스 데이터에는, 리니어 서비스를 위한 서비스 컴포넌트들, 그에 대한 서비스 시그널링 정보 및/또는 NRT 데이터 등이 있을 수 있다. 즉, NRT 데이터 및 파일 등의 논 타임드(non timed) 데이터는 ROUTE 를 통해서 전달될 수 있다.
MMTP 또는 ROUTE 프로토콜에 따라 처리된 데이터는 UDP (User Datagram Protocol)/IP (Internet Protocol) 레이어를 거쳐 IP 패킷들로 처리될 수 있다. 즉, UDP/IP 레이어에서는 MMTP 또는 ROUTE 프로토콜에 따라 처리된 데이터를 포함하는 UDP 페이로드에 UDP 헤더를 부가하여 UDP 패킷을 만들고, 이 UDP 패킷에 IP 헤더를 부가하여 IP/UDP 패킷을 만든다. 본 발명에서는 설명의 편의를 위해 IP/UDP 패킷을 IP 패킷이라 칭하기로 한다. 방송망을 통한 서비스 데이터 전달에 있어서, SLT (Service List Table) 역시 UDP/IP 레이어를 거쳐 방송망을 통해 IP 패킷 형태로 전달될 수 있다. SLT 는 LLS (Low Level Signaling) 테이블에 포함되어 전달될 수 있는데, SLT, LLS 테이블에 대해서는 후술한다.
IP 패킷들은 링크 레이어에서 링크 레이어 패킷들로 처리될 수 있다. 링크 레이어는 상위 레이어에서 전달되는 다양한 포맷의 데이터를, 링크 레이어 패킷으로 인캡슐레이션한 후, 피지컬 레이어에 전달할 수 있다. 링크 레이어에 대해서는 후술한다.
하이브리드 서비스 딜리버리(hybrid service delivery) 에 있어서는, 적어도 하나 이상의 서비스 엘레멘트가 브로드밴드 패쓰(path) 를 통해 전달될 수 있다. 하이브리드 서비스 딜리버리의 경우, 브로드밴드로 전달되는 데이터에는, DASH 포맷의 서비스 컴포넌트들, 그에 대한 서비스 시그널링 정보 및/또는 NRT 데이터 등이 있을 수 있다. 이 데이터들은 HTTP/TCP/IP 를 거쳐 처리되고, 브로드밴드 전송을 위한 링크 레이어를 거쳐, 브로드밴드 전송을 위한 피지컬 레이어로 전달될 수 있다.
피지컬 레이어는 딜리버리 레이어(상위 레이어 및/또는 링크 레이어)로부터 전달받은 데이터를 처리하여, 방송망 또는 브로드밴드를 통하여 전송할 수 있다. 피지컬 레이어에 대한 자세한 사항은 후술한다.
서비스에 대해 설명한다. 서비스는 전체적으로 사용자에게 보여주는 서비스 컴포넌트의 컬렉션일 수 있고, 컴포넌트는 여러 미디어 타입의 것일 수 있고, 서비스는 연속적이거나 간헐적일 수 있으며, 서비스는 실시간이거나 비실시간일 수 있고, 실시간 서비스는 TV 프로그램의 시퀀스로 구성될 수 있다.
서비스는 여러 타입을 가질 수 있다. 첫 번째로 서비스는 앱 기반 인헨스먼트를 가질 수 있는 리니어 오디오/비디오 또는 오디오만의 서비스일 수 있다. 두 번째로 서비스는 다운로드된 어플리케이션에 의해 그 재생/구성 등이 제어되는 앱 기반 서비스일 수 있다. 세 번째로 서비스는 ESG (Electronic Service Guide) 를 제공하는 ESG 서비스일 수 있다. 네 번째로 긴급 경보 정보를 제공하는 EA (Emergency Alert) 서비스일 수 있다.
앱 기반 인헨스먼트가 없는 리니어 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 (1) 하나 이상의 ROUTE 세션 또는 (2) 하나 이상의 MMTP 세션에 의해 전달될 수 있다.
앱 기반 인헨스먼트가 있는 리니어 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 (1) 하나 이상의 ROUTE 세션 및 (2) 0개 이상의 MMTP 세션에 의해 전달될 수 있다. 이 경우 앱 기반 인핸스먼트에 사용되는 데이터는 NRT 데이터 또는 기타 파일 등의 형태로 ROUTE 세션을 통해 전달될 수 있다. 본 발명의 일 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트(스트리밍 미디어 컴포넌트)들이 두 프로토콜을 동시에 사용해 전달되는 것이 허용되지 않을 수 있다.
앱 기반 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 하나 이상의 ROUTE 세션에 의해 전달될 수 있다. 이 경우, 앱 기반 서비스에 사용되는 서비스 데이터는 NRT 데이터 또는 기타 파일 등의 형태로 ROUTE 세션을 통해 전달될 수 있다.
또한, 이러한 서비스의 일부 서비스 컴포넌트 또는 일부 NRT 데이터, 파일 등은 브로드밴드를 통해 전달될 수 있다(하이브리드 서비스 딜리버리).
즉, 본 발명의 일 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 MMT 프로토콜을 통해 전달될 수 있다. 본 발명의 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 ROUTE 프로토콜을 통해 전달될 수 있다. 본 발명의 또 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트 및 NRT 데이터(NRT 서비스 컴포넌트)들은 ROUTE 프로토콜을 통해 전달될 수 있다. 본 발명의 또 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 MMT 프로토콜을 통해 전달되고, NRT 데이터(NRT 서비스 컴포넌트)들은 ROUTE 프로토콜을 통해 전달될 수 있다. 전술한 실시예들에서, 서비스의 일부 서비스 컴포넌트 또는 일부 NRT 데이터들은 브로드밴드를 통해 전달될 수 있다. 여기서 앱 기반 서비스 내지 앱 기반 인핸스먼트에 관한 데이터들은 NRT 데이터 형태로, ROUTE 에 따른 방송망을 통해 전달되거나 브로드밴드를 통해 전달될 수 있다. NRT 데이터는 로컬리 캐쉬드 데이터(Locally cashed data) 등으로 불릴 수도 있다.
각각의 ROUTE 세션은 서비스를 구성하는 컨텐츠 컴포넌트를 전체적으로 또는 부분적으로 전달하는 하나 이상의 LCT 세션을 포함한다. 스트리밍 서비스 딜리버리에서, LCT 세션은 오디오, 비디오, 또는 클로즈드 캡션 스트림과 같은 사용자 서비스의 개별 컴포넌트를 전달할 수 있다. 스트리밍 미디어는 DASH 세그먼트로 포맷된다.
각각의 MMTP 세션은 MMT 시그널링 메시지 또는 전체 또는 일부 컨텐츠 컴포넌트를 전달하는 하나 이상의 MMTP 패킷 플로우를 포함한다. MMTP 패킷 플로우는 MMT 시그널링 메시지 또는 MPU 로 포맷된 컴포넌트를 전달할 수 있다.
NRT 사용자 서비스 또는 시스템 메타데이터의 딜리버리를 위해, LCT 세션은 파일 기반의 컨텐츠 아이템을 전달한다. 이들 컨텐츠 파일은 NRT 서비스의 연속적 (타임드) 또는 이산적 (논 타임드) 미디어 컴포넌트, 또는 서비스 시그널링이나 ESG 프레그먼트와 같은 메타데이터로 구성될 수 있다. 서비스 시그널링이나 ESG 프레그먼트와 같은 시스템 메타데이터의 딜리버리 또한 MMTP의 시그널링 메시지 모드를 통해 이루어질 수 있다.
수신기에서는 튜너가 주파수들을 스캐닝하다가, 특정 주파수에서 방송 시그널을 감지할 수 있다. 수신기는 SLT 를 추출해 이를 처리하는 모듈 (예를 들어, SLT parser)로 보낼 수 있다. SLT 파서는 SLT 를 파싱하고 데이터를 획득해 채널 맵을 생성하거나 채널 맵을 업데이트할 수 있다. 수신기는 SLT 의 부트스트랩 정보를 획득하고 ROUTE 또는 MMT 클라이언트에 전달해줄 수 있다. 수신기는 이를 통해 SLS 를 획득할 수 있고, 저장할 수 있다. 도 2 는 본 발명의 일 실시예에 따른 서비스 디스커버리 과정을 도시한 도면이다.
피지컬 레이어의 방송 신호 프레임이 전달하는 브로드캐스트 스트림은 LLS (Low Level Signaling) 을 운반할 수 있다. LLS 데이터는 웰 노운(well known) IP 어드레스/포트로 전달되는 IP 패킷의 페이로드를 통해서 운반될 수 있다. 이 LLS 는 그 타입에 따라 SLT 를 포함할 수 있다. LLS 데이터는 LLS 테이블의 형태로 포맷될 수 있다. LLS 데이터를 운반하는 매 UDP/IP 패킷의 첫번째 바이트는 LLS 테이블의 시작일 수 있다. 도시된 실시예와 달리 LLS 데이터를 전달하는 IP 스트림은, 다른 서비스 데이터들과 함께 같은 PLP 로 전달될 수도 있다.
SLT 는 빠른 채널 스캔을 통하여 수신기가 서비스 리스트를 생성할 수 있게 하고, SLS 를 로케이팅(locating) 하기 위한 액세스 정보를 제공한다. SLT 는 부트스트랩 정보를 포함하는데, 이 부트스트랩 정보는 수신기가 각각의 서비스에 대한 SLS (Service Layer Signaling) 을 획득할 수 있도록 한다. SLS, 즉 서비스 시그널링 정보가 ROUTE 를 통해 전달되는 경우, 부트스트랩 정보는 SLS 를 운반하는 LCT 채널 내지 그 LCT 채널을 포함하는 ROUTE 세션의 소스 IP 어드레스, 데스티네이션 IP 어드레스 및 데스티네이션 포트 정보를 포함할 수 있다. SLS 가 MMT 를 통해 전달되는 경우, 부트스트랩 정보는 SLS 를 운반하는 MMTP 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트 정보를 포함할 수 있다.
도시된 실시예에서, SLT 가 기술하는 서비스 #1 의 SLS 는 ROUTE 를 통해 전달되고, SLT 는 해당 SLS 가 전달되는 LCT 채널을 포함하는 ROUTE 세션에 대한 부트스트랩 정보(sIP1, dIP1, dPort1) 를 포함할 수 있다. SLT 가 기술하는 서비스 #2 의 SLS 는 MMT 를 통해 전달되고, SLT 는 해당 SLS 가 전달되는 MMTP 패킷 플로우를 포함하는 MMTP 세션에 대한 부트스트랩 정보(dIP2, dPort2) 를 포함할 수 있다.
SLS 는 해당 서비스에 대한 특성을 기술하는 시그널링 정보로서, 해당 서비스 및 해당 서비스의 서비스 컴포넌트를 획득하기 위한 정보를 제공하거나, 해당 서비스를 유의미하게 재생하기 위한 수신기 캐패빌리티 정보 등을 포함할 수 있다. 각 서비스에 대해 별개의 서비스 시그널링을 가지면 수신기는 브로드캐스트 스트림 내에서 전달되는 전체 SLS을 파싱할 필요 없이 원하는 서비스에 대한 적절한 SLS를 획득하면 된다.
SLS 가 ROUTE 프로토콜을 통해 전달되는 경우, SLS 는 SLT 가 지시하는 ROUTE 세션의 특정(dedicated) LCT 채널을 통해 전달될 수 있다. 실시예에 따라 이 LCT 채널은 tsi = 0 로 식별되는 LCT 채널일 수 있다. 이 경우 SLS 는 USBD/USD (User Service Bundle Description / User Service Description), S-TSID (Service-based Transport Session Instance Description) 및/또는 MPD (Media Presentation Description) 를 포함할 수 있다. 상기 SLS는 HELD (HTML Entry pages Location Description), DWD (Distribution Window Description) 및/또는 RAT (Regional Service Availability Table)를 더 포함할 수 있다.
여기서 USBD 내지 USD 는 SLS 프래그먼트 중 하나로서, 서비스의 구체적 기술적 정보들을 기술하는 시그널링 허브로서 역할할 수 있다.
S-TSID 는 SLS 프래그먼트 중 하나로서, 해당 서비스의 서비스 컴포넌트를 운반하는 전송 세션에 대한 전체적인 세션 디스크립션 정보를 제공할 수 있다. S-TSID 는 해당 서비스의 서비스 컴포넌트가 전달되는 ROUTE 세션 및/또는 그 ROUTE 세션들의 LCT 채널에 대한 전송 세션 디스크립션 정보를 제공할 수 있다. S-TSID 는 하나의 서비스와 관련된 서비스 컴포넌트들의 컴포넌트 획득(acquisition) 정보를 제공할 수 있다. S-TSID 는, MPD 의 DASH 레프리젠테이션(Representation) 과 해당 서비스 컴포넌트의 tsi 간의 매핑을 제공할 수 있다. S-TSID 의 컴포넌트 획득 정보는 tsi, 관련 DASH 레프리젠테이션의 식별자의 형태로 제공될 수 있으며, 실시예에 따라 PLP ID 를 포함하거나 포함하지 않을 수 있다. 컴포넌트 획득 정보를 통해 수신기는 한 서비스의 오디오/비디오 컴포넌트들을 수집하고 DASH 미디어 세그먼트들의 버퍼링, 디코딩 등을 수행할 수 있다.
MPD 는 SLS 프래그먼트 중 하나로서, 해당 서비스의 DASH 미디어 프리젠테이션에 관한 디스크립션을 제공할 수 있다. MPD 는 미디어 세그먼트들에 대한 리소스 식별자(resource identifier) 를 제공하고, 식별된 리소스들에 대한 미디어 프리젠테이션 내에서의 컨텍스트 정보를 제공할 수 있다. MPD 는 방송망을 통해 전달되는 DASH 레프리젠테이션(서비스 컴포넌트)를 기술하고, 또한 브로드밴드를 통해 전달되는 추가적인 DASH 레프리젠테이션을 기술할 수 있다(하이브리드 딜리버리). HELD는 애플리케이션 엔트리 페이지(application entry page), 엔트리 페이지와 관련된 파일들, 상기 애플리케이션에 의해 소비될 거라 예상되는 미디어 에셋들(media assets) 또는 서비스와 관련된 하나 이상의 애플리케이션들을 위해 이들 컨텐트 타입들의 조합과 같은 애플리케이션 관련 파일들에 관한 정보를 포함하는 애플리케이션의 로딩과 언로딩을 가능하게 하는 애플리케이션 관련된 메타데이터를 제공한다.
DWD는 수신기 또는 방송캐스터 애플리케이션에 의한 소모(consumption)를 위해 NRT 파일들의 방송 딜리버리 스케쥴을 제공한다. 상기 DWD는 애플리케이션 관련된 파일들이 속한 애플리케이션의 식별뿐만 아니라 애플리케이션 컨텍스트 식별자들과 선택적 컨텐트 수신을 가능하게 하는 필터 코드들과 같은 추가적인 메타 데이터를 포함할 수 있다.
RSAT는 그 region에서 이용 가능한 방송 서비스들에 다가올 변경들(upcoming changes)의 스케쥴을 제공한다. 이 스케쥴은 서비스들이 언제 또 다른 방송으로 이동할지 또는 디스컨티뉴될지(discontinued)를 지시한다.
SLS가 MMT 프로토콜을 통해 전달되는 경우, SLS는 SLT 가 지시하는 MMTP 세션의 특정(dedicated) MMTP 패킷 플로우를 통해 전달될 수 있다. 실시예에 따라 SLS를 전달하는 MMTP 패킷들의 packet_id는 00의 값을 가질 수 있다. 이 경우 SLS는 USBD/USD 및/또는 MMT Package (MP) 테이블을 포함할 수 있다. 상기 SLS는 HELD와 DWD를 더 포함할 수 있다.
여기서 USBD는 SLS 프래그먼트의 하나로서, ROUTE 에서의 그것과 같이 서비스의 구체적 기술적 정보들을 기술할 수 있다. 여기서의 USBD 역시 다른 SLS 프래그먼트에의 레퍼런스 정보(URI 레퍼런스)를 포함할 수 있다. MMT의 USBD는 MMT 시그널링의 MP 테이블을 레퍼런싱할 수 있다. 실시예에 따라 MMT의 USBD는 S-TSID 및/또는 MPD 에의 레퍼런스 정보 또한 포함할 수 있다. 여기서의 S-TSID는 ROUTE 프로토콜을 통해 전달되는 NRT 데이터를 위함일 수 있다. MMT 프로토콜을 통해 리니어 서비스 컴포넌트가 전달되는 경우에도 NRT 데이터는 ROUTE 프로토콜을 통해 전달될 수 있기 때문이다. MPD는 하이브리드 서비스 딜리버리에 있어서, 브로드밴드로 전달되는 서비스 컴포넌트를 위함일 수 있다. MP 테이블은 MPU 컴포넌트들을 위한 MMT의 시그널링 메시지로서, 해당 서비스의 서비스 컴포넌트를 운반하는 MMTP 세션에 대한 전체적인 세션 디스크립션 정보를 제공할 수 있다. 또한 MP 테이블은 이 MMTP 세션을 통해 전달되는 에셋(Asset)에 대한 디스크립션을 포함할 수 있다. MP 테이블은 MPU 컴포넌트들을 위한 스트리밍 시그널링 정보로서, 하나의 서비스에 해당하는 에셋들의 리스트와 이 컴포넌트들의 로케이션 정보(컴포넌트 획득 정보)를 제공할 수 있다. MP 테이블의 구체적인 내용은 MMT에서 정의된 형태이거나, 변형이 이루어진 형태일 수 있다. 여기서 Asset 이란, 멀티미디어 데이터 엔티티로서, 하나의 유니크 ID 로 연합되고 하나의 멀티미디어 프리젠테이션을 생성하는데 사용되는 데이터 엔티티를 의미할 수 있다. Asset 은 하나의 서비스를 구성하는 서비스 컴포넌트에 해당할 수 있다. MP 테이블을 이용하여 원하는 서비스에 해당하는 스트리밍 서비스 컴포넌트(MPU)에 접근할 수 있다. MP 테이블은 전술한 바와 같이 USBD에 의해 레퍼런싱될 수 있다.
기타 다른 MMT 시그널링 메시지가 정의될 수 있다. 이러한 MMT 시그널링 메시지들에 의해 MMTP 세션 내지 서비스에 관련된 추가적인 정보들이 기술될 수 있다.
ROUTE 세션은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 데스티네이션 포트 넘버에 의해 식별된다. LCT 세션은 페어런트 ROUTE 세션의 범위 내에서 유일한 TSI (transport session identifier)에 의해 식별된다. MMTP 세션은 데스티네이션 IP 어드레스 및 데스티네이션 포트 넘버에 의해 식별된다. MMTP 패킷 플로우는 페어런트 MMTP 세션의 범위 내에서 유일한 packet_id에 의해 식별된다.
ROUTE의 경우 S-TSID, USBD/USD, MPD 또는 이 들을 전달하는 LCT 세션을 서비스 시그널링 채널이라 부를 수도 있다. MMTP의 경우, USBD/USD, MMT 시그널링 메시지들 또는 이들을 전달하는 패킷 플로우를 서비스 시그널링 채널이라 부를 수도 있다.
도시된 실시예와는 달리, 하나의 ROUTE 또는 MMTP 세션은 복수개의 PLP를 통해 전달될 수 있다. 즉, 하나의 서비스는 하나 이상의 PLP를 통해 전달될 수도 있다. 도시된 것과 달리 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 ROUTE 세션들을 통해 전달될 수도 있다. 또한, 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 MMTP 세션들을 통해 전달될 수도 있다. 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 ROUTE 세션과 MMTP 세션에 나뉘어 전달될 수도 있다. 도시되지 않았으나, 하나의 서비스를 구성하는 컴포넌트가 브로드밴드를 통해 전달(하이브리드 딜리버리)되는 경우도 있을 수 있다.
도 3 은 본 발명의 일 실시예에 따른 LLS (Low Level Signaling) 테이블 및 SLT (Service List Table)를 도시한 도면이다.
도시된 LLS 테이블의 일 실시예(t3010) 은, LLS_table_id 필드, LLS_table_version 필드 및/또는 LLS_table_id 필드에 따른 정보들을 포함할 수 있다. 상기 LLS 테이블은 LLS_group_id 필드와 group_count_minus 1 필드를 더 포함할 수 있다.
LLS_table_id 필드는 바디로 딜리버리되는 테이블의 타입을 식별한다. LLS_table_version 필드는 해당 LLS 테이블의 버전 정보를 제공할 수 있다. 일 예로, LLS_table_id 필드와 LLS_group_id 필드의 조합에 의해 식별되는 테이블 내 데이터가 변경될때마다 이 필드의 값은 1씩 증가된다.
LLS_table_id 필드의 값에 따라, 해당 LLS 테이블은 전술한 SLT, 컨텐트 어드바이저리 레이팅(Content advisory rating)에 관련된 정보를 포함하는 RRT(Rating Region Table), 시스템 타임과 관련된 정보를 제공하는 SystemTime 정보, 긴급 경보와 관련된 정보를 제공하는 Advanced Emergency Alerting Table (AEAT) 중 적어도 하나를 포함할 수 있다. 실시예에 따라 이들 외에 다른 정보가 LLS 테이블에 포함될 수도 있다.
LLS_group_id 필드는 해당 LLS 테이블(LLS_table ())을 동일한 LLS_group_id를 갖는 그룹의 테이블들과 연결한다. 이 필드의 스콥은 방송 스트림이다. 즉, 이 필드의 값은 방송 스트림 내에서 유일한 값이어야 한다.
group_count_minus1 필드는 현재 LLS 패킷 스트림 또는 특정 PLP로 전송(carry)되는 링크 레이어 패킷 스트림에 존재하는 서로 다른 LLS 테이블 그룹의 총 개수에서 1을 뺀 값을 나타낸다. 예로 이 필드의 값이 0일 경우에는 LLS_table()들이 오직 한가지의 LLS_group_id 값을 가지는 것을 나타낸다. 만일 그 값이 1일 경우에는 2가지의 LLS_group_id 값을 가지는 LLS_table()들이 존재함을 나타낸다.
도시된 SLT의 일 실시예(t3020)는, @bsid 속성, @sltCapabilities 속성, sltInetUrl 엘레멘트 및/또는 Service 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@bsid 속성은 브로드캐스트 스트림의 식별자일 수 있다. @sltCapabilities 속성은 해당 SLT 가 기술하는 모든 서비스들을 디코딩하고 유의미하게 재생하는데 요구되는 캐패빌리티 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 해당 SLT의 서비스들을 위한 ESG 내지 서비스 시그널링 정보를 브로드밴드를 통해 얻기 위해 사용되는 베이스 URL 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 @urlType 속성을 더 포함할 수 있는데, 이는 해당 URL을 통해 얻을 수 있는 데이터의 타입을 지시할 수 있다. 예를 들어, @urlType 속성 값이 1이면 상기 sltInetUrl 엘레멘트는 서비스 레이어 시그널링 서버의 URL을 나타내고, @urlType 속성 값이 2이면 상기 sltInetUrl 엘레멘트는 ESG 서버의 URL을 나타낸다. 또한 @urlType 속성 값이 3이면 상기 sltInetUrl 엘레멘트는 Service Usage Data Gathering Report 서버의 URL을 나타내고, @urlType 속성 값이 4이면 상기 sltInetUrl 엘레멘트는 Dynamic Event WebSocket 서버의 URL을 나타낸다.
Service 엘레멘트는 해당 SLT 가 기술하는 서비스들에 대한 정보를 포함하는 엘레멘트일 수 있으며, 각각의 서비스들에 대해 Service 엘레멘트가 존재할 수 있다. Service 엘레멘트는 @serviceId 속성, @sltSvcSeqNum 속성, @protected 속성, @majorChannelNo 속성, @minorChannelNo 속성, @serviceCategory 속성, @shortServiceName 속성, @hidden 속성, @broadbandAccessRequired 속성, @svcCapabilities 속성, BroadcastSvcSignaling 엘레멘트 및/또는 svcInetUrl 엘레멘트를 포함할 수 있다. 상기 Service 엘레먼트는 @globalserviceID 속성을 더 포함할 수 있다.
@serviceId 속성은 해당 서비스의 식별자이고, @globalserviceID 속성은 해당 서비스를 식별하는 글로벌하게 유니크한(globally unique) URI이다. @sltSvcSeqNum 속성은 해당 서비스에 대한 SLT 정보의 시퀀스 넘버를 나타낼 수 있다. @protected 속성은 해당 서비스의 유의미한 재생을 위해 필요한 적어도 하나의 서비스 컴포넌트가 보호(protected)되고 있는지 여부를 지시할 수 있다. @majorChannelNo 속성과 @minorChannelNo 속성은 각각 해당 서비스의 메이저 채널 넘버와 마이너 채널 넘버를 지시할 수 있다.
@serviceCategory 속성은 해당 서비스의 카테고리를 지시할 수 있다. 서비스의 카테고리로는 리니어 A/V 서비스, 리니어 오디오 서비스, 앱 기반 서비스, ESG 서비스, EAS 서비스 등이 있을 수 있다. @shortServiceName 속성은 해당 서비스의 짧은 이름(Short name)을 제공할 수 있다. @hidden 속성은 해당 서비스가 테스팅 또는 독점적(proprietary) 사용을 위한 서비스인지 여부를 지시할 수 있다. @broadbandAccessRequired 속성은 해당 서비스의 유의미한 재생을 위하여 브로드밴드 억세스가 필요한지 여부를 지시할 수 있다. @svcCapabilities 속성은 해당 서비스의 디코딩과 유의미한 재생을 위하여 필요한 캐패빌리티 정보를 제공할 수 있다. 상기 Service 속성은 @essential 엘레먼트를 더 포함할 수 있다. 상기 @essential 엘레먼트는 해당 서비스의 필수적인 부분(essential portion)이 이 방송 스트림을 통해 딜리버리되는지를 지시한다.
BroadcastSvcSignaling 엘레멘트는 해당 서비스의 브로드캐스트 시그널링에 관련된 정보들을 제공할 수 있다. 이 엘레멘트는 해당 서비스의 방송망을 통한 시그널링에 대하여, 로케이션, 프로토콜, 어드레스 등의 정보를 제공할 수 있다. 자세한 사항은 후술한다.
svcInetUrl 엘레멘트는 해당 서비스를 위한 시그널링 정보를 브로드밴드를 통해 액세스하기 위한 URL 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 @urlType 속성을 더 포함할 수 있는데, @urlType 속성은 전술한 바와 같이 해당 URL을 통해 얻을 수 있는 데이터의 타입을 지시할 수 있다.
전술한 BroadcastSvcSignaling 엘레멘트는 @slsProtocol 속성, @slsMajorProtocolVersion 속성, @slsMinorProtocolVersion 속성, @slsPlpId 속성, @slsDestinationIpAddress 속성, @slsDestinationUdpPort 속성 및/또는 @slsSourceIpAddress 속성을 포함할 수 있다.
@slsProtocol 속성은 해당 서비스의 SLS를 전달하는데 사용되는 프로토콜을 지시할 수 있다(ROUTE, MMT 등). @slsMajorProtocolVersion 속성 및 @slsMinorProtocolVersion 속성은 각각 해당 서비스의 SLS를 전달하는데 사용되는 프로토콜의 메이저 버전 넘버 및 마이너 버전 넘버를 지시할 수 있다.
@slsPlpId 속성은 해당 서비스의 SLS를 전달하는 PLP를 식별하는 PLP 식별자를 제공할 수 있다. 실시예에 따라 이 필드는 생략될 수 있으며, SLS 가 전달되는 PLP 정보는 후술할 LMT 내의 정보와, SLT의 부트스트랩 정보를 조합하여 확인될 수도 있다.
@slsDestinationIpAddress 속성, @slsDestinationUdpPort 속성 및 @slsSourceIpAddress 속성은 각각 해당 서비스의 SLS를 전달하는 전송 패킷의 데스티네이션 IP 어드레스, 데스티네이션 UDP 포트 및 소스 IP 어드레스를 지시할 수 있다. 이들은 SLS 가 전달되는 전송세션(ROUTE 세션 또는 MMTP 세션)을 식별할 수 있다. 이들은 부트스트랩 정보에 포함될 수 있다.
도 4는 본 발명의 일 실시예에 따른, ROUTE 로 전달되는 USBD 및 S-TSID를 도시한 도면이다.
도시된 USBD의 일 실시예(t4010) 은, bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @globalServiceID 속성, @serviceId 속성, @serviceStatus 속성, @fullMPDUri 속성, @sTSIDUri 속성, name 엘레멘트, serviceLanguage 엘레멘트, capabilityCode 엘레멘트 및/또는 deliveryMethod 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@globalServiceID 속성은 해당 서비스의 글로벌하게 유니크한(globally unique) 식별자로서, ESG 데이터와 링크되는데 사용될 수 있다(Service@globalServiceID). @serviceId 속성은 SLT 의 해당 서비스 엔트리와 대응되는 레퍼런스로서, SLT 의 서비스 ID 정보와 동일할 수 있다. @serviceStatus 속성은 해당 서비스의 상태를 지시할 수 있다. 이 필드는 해당 서비스가 액티브인지 인액티브(inactive) 상태인지 여부를 지시할 수 있다.
@fullMPDUri 속성은 해당 서비스의 MPD 프래그먼트를 레퍼런싱할 수 있다. MPD 는 전술한 바와 같이 방송망 또는 브로드밴드를 통해 전달되는 서비스 컴포넌트에 대한 재생 디스크립션을 제공할 수 있다. @sTSIDUri 속성은 해당 서비스의 S-TSID 프래그먼트를 레퍼런싱할 수 있다. S-TSID 는 전술한 바와 같이 해당 서비스를 운반하는 전송 세션에의 액세스와 관련된 파라미터들을 제공할 수 있다.
name 엘레멘트는 해당 서비스의 이름을 제공할 수 있다. 이 엘레멘트는 @lang 속성을 더 포함할 수 있는데, 이 필드는 name 엘레멘트가 제공하는 이름의 언어를 지시할 수 있다. serviceLanguage 엘레멘트는 해당 서비스의 이용 가능한(available) 언어들을 지시할 수 있다. 즉, 이 엘레멘트는 해당 서비스가 제공될 수 있는 언어들을 나열할 수 있다.
capabilityCode 엘레멘트는 해당 서비스를 유의미하게 재생하기 위해 필요한 수신기 측의 캐패빌리티 또는 캐패빌리티 그룹 정보를 지시할 수 있다. 이 정보들은 서비스 아나운스먼트(announcement) 에서 제공되는 캐패빌리티 정보 포맷과 호환될 수 있다.
deliveryMethod 엘레멘트는 해당 서비스의 방송망 또는 브로드밴드를 통해 액세스되는 컨텐츠들에 대하여, 전송 관련 정보들을 제공할 수 있다. deliveryMethod 엘레멘트는 broadcastAppService 엘레멘트 및/또는 unicastAppService 엘레멘트를 포함할 수 있다. 이 엘레멘트들은 각각 basePattern 엘레멘트를 하위 엘레멘트로 가질 수 있다.
broadcastAppService 엘레멘트는 방송망을 통해 전달되는 DASH 레프리젠테이션에 대한 전송 관련 정보를 포함할 수 있다. 이 DASH 레프리젠테이션들은 해당 서비스 미디어 프리젠테이션의 모든 피리오드(Period)에 걸친 미디어 컴포넌트들을 포함할 수 있다.
이 엘레멘트의 basePattern 엘레멘트는 수신기가 세그먼트 URL 과 매칭하는데 사용되는 캐릭터 패턴을 나타낼 수 있다. 이는 DASH 클라이언트가 해당 레프리젠테이션의 세그먼트들을 요청하는데 사용될 수 있다. 매칭된다는 것은 해당 미디어 세그먼트가 방송망을 통해 전달된다는 것을 암시할 수 있다.
unicastAppService 엘레멘트는 브로드밴드를 통해 전달되는 DASH 레프리젠테이션에 대한 전송 관련 정보를 포함할 수 있다. 이 DASH 레프리젠테이션들은 해당 서비스 미디어 프리젠테이션의 모든 피리오드(Period)에 걸친 미디어 컴포넌트들을 포함할 수 있다.
이 엘레멘트의 basePattern 엘레멘트는 수신기가 세그먼트 URL 과 매칭하는데 사용되는 캐릭터 패턴을 나타낼 수 있다. 이는 DASH 클라이언트가 해당 레프리젠테이션의 세그먼트들을 요청하는데 사용될 수 있다. 매칭된다는 것은 해당 미디어 세그먼트가 브로드밴드를 통해 전달된다는 것을 암시할 수 있다.
도시된 S-TSID 의 일 실시예(t4020) 은, S-TSID 루트 엘레멘트를 가질 수 있다. S-TSID 루트 엘레멘트는 @serviceId 속성 및/또는 RS 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@serviceId 속성은 해당 서비스의 식별자로서, USBD/USD 의 해당 서비스를 레퍼런싱할 수 있다. RS 엘레멘트는 해당 서비스의 서비스 컴포넌트들이 전달되는 ROUTE 세션들에 대한 정보를 기술할 수 있다. 이러한 ROUTE 세션의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. RS 엘레멘트는 @bsid 속성, @sIpAddr 속성, @dIpAddr 속성, @dport 속성, @PLPID 속성 및/또는 LS 엘레멘트를 더 포함할 수 있다.
@bsid 속성은 해당 서비스의 서비스 컴포넌트들이 전달되는 브로드캐스트 스트림의 식별자일 수 있다. 이 필드가 생략된 경우, 디폴트 브로드캐스트 스트림은 해당 서비스의 SLS 를 전달하는 PLP 를 포함하는 브로드캐스트 스트림일 수 있다. 이 필드의 값은 SLT 의 @bsid 속성과 같은 값일 수 있다.
@sIpAddr 속성, @dIpAddr 속성 및 @dport 속성은 각각 해당 ROUTE 세션의 소스 IP 어드레스, 데스티네이션 IP 어드레스 및 데스티네이션 UDP 포트를 나타낼 수 있다. 이 필드들이 생략되는 경우, 디폴트 값들은 해당 SLS 를 전달하는, 즉 해당 S-TSID 를 전달하고 있는 현재의, ROUTE 세션의 소스 IP 어드레스, 데스티네이션 IP 어드레스 및 데스티네이션 UDP 포트값들일 수 있다. 현재 ROUTE 세션이 아닌, 해당 서비스의 서비스 컴포넌트들을 전달하는 다른 ROUTE 세션에 대해서는, 본 필드들이 생략되지 않을 수 있다.
@PLPID 속성은 해당 ROUTE 세션의 PLP ID 정보를 나타낼 수 있다. 이 필드가 생략되는 경우, 디폴트 값은 해당 S-TSID 가 전달되고 있는 현재 PLP 의 PLP ID 값일 수 있다. 실시예에 따라 이 필드는 생략되고, 해당 ROUTE 세션의 PLP ID 정보는 후술할 LMT 내의 정보와, RS 엘레멘트의 IP 어드레스 / UDP 포트 정보들을 조합하여 확인될 수도 있다.
LS 엘레멘트는 해당 서비스의 서비스 컴포넌트들이 전달되는 LCT 채널들에 대한 정보를 기술할 수 있다. 이러한 LCT 채널의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. LS 엘레멘트는 @tsi 속성, @PLPID 속성, @bw 속성, @startTime 속성, @endTime 속성, SrcFlow 엘레멘트 및/또는 RepairFlow 엘레멘트를 포함할 수 있다.
@tsi 속성은 해당 LCT 채널의 tsi 정보를 나타낼 수 있다. 이를 통해 해당 서비스의 서비스 컴포넌트가 전달되는 LCT 채널들이 식별될 수 있다. @PLPID 속성은 해당 LCT 채널의 PLP ID 정보를 나타낼 수 있다. 실시예에 따라 이 필드는 생략될 수 있다. @bw 속성은 해당 LCT 채널의 최대 대역폭을 나타낼 수 있다. @startTime 속성은 해당 LCT 세션의 스타트 타임을 지시하고, @endTime 속성은 해당 LCT 채널의 엔드 타임을 지시할 수 있다.
SrcFlow 엘레멘트는 ROUTE 의 소스 플로우에 대해 기술할 수 있다. ROUTE 의 소스 프로토콜은 딜리버리 오브젝트를 전송하기 위해 사용되며, 한 ROUTE 세션 내에서 적어도 하나 이상의 소스 플로우를 설정(establish)할 수 있다. 이 소스 플로우들은 관련된 오브젝트들을 오브젝트 플로우로서 전달할 수 있다.
RepairFlow 엘레멘트는 ROUTE 의 리페어 플로우에 대해 기술할 수 있다. 소스 프로토콜에 따라 전달되는 딜리버리 오브젝트들은 FEC (Forward Error Correction) 에 따라 보호될 수 있는데, 리페어 프로토콜은 이러한 FEC 프로텍션을 가능케 하는 FEC 프레임워크(framework)를 정의할 수 있다.
도 5 는 본 발명의 일 실시예에 따른, MMT 로 전달되는 USBD 를 도시한 도면이다.
도시된 USBD 의 일 실시예는, bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @globalServiceID 속성, @serviceId 속성, Name 엘레멘트, serviceLanguage 엘레멘트, contentAdvisoryRating 엘레멘트, Channel 엘레멘트, mpuComponent 엘레멘트, routeComponent 엘레멘트, broadbandComponent 엘레멘트 및/또는 ComponentInfo 엘레멘트를 포함할 수 있다. userServiceDescription 엘레멘트는 @servicestatus 속성, otherRatings 엘레먼트를 더 포함할 수 있다.
각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@globalServiceID 속성, @serviceId 속성, @servicestatus 속성, Name 엘레멘트 및/또는 serviceLanguage 엘레멘트는 전술한 ROUTE 로 전달되는 USBD 의 해당 필드들과 같을 수 있다. contentAdvisoryRating 엘레멘트는 해당 서비스의 RRT-based 컨텐트 어드바이저리(advisory) 레이팅을 나타낼 수 있다. otherRatings 엘레먼트는 해당 서비스의 non-RRT 컨텐트 어드바이저리 레이팅을 나타낼 수 있다. 이 정보들은 서비스 아나운스먼트(announcement) 에서 제공되는 컨텐트 어드바이저리 레이팅 정보 포맷과 호환될 수 있다. Channel 엘레멘트는 해당 서비스와 관련된 정보들을 포함할 수 있다. 이 엘레멘트의 자세한 내용에 대해서는 후술한다.
mpuComponent 엘레멘트는 해당 서비스의 MPU 로서 전달되는 서비스 컴포넌트들에 대한 디스크립션을 제공할 수 있다. 이 엘레멘트는 @mmtPackageId 속성, @contentIdSchemeIdUri 속성, @contentIdValue 속성, @nextMmtPackageId 속성, @nextcontentIdSchemeIdUri 속성, @nextcontentIdValue 속성을 더 포함할 수 있다. @mmtPackageId 속성은 해당 서비스의 MPU 로서 전달되는 서비스 컴포넌트들의 MMT 패키지(Package)를 레퍼런싱할 수 있다. @contentIdSchemeIdUri 속성은 현재 MMT 패키지와 관련된 content ID의 scheme을 식별하기 위한 URI를 나타낸다. @contentIdValue 속성은 현재 MMT 패키지와 관련된 content ID 값을 나타낸다. @nextMmtPackageId 속성은 시간상 @mmtPackageId 속성이 레퍼런싱하는 MMT 패키지 다음으로 사용될 MMT 패키지를 레퍼런싱할 수 있다. @nextcontentIdSchemeIdUri 속성은 다음 MMT 패키지와 관련된 content ID의 scheme을 식별하기 위한 URI를 나타낸다. @nextcontentIdValue 속성은 다음 MMT 패키지와 관련된 content ID 값을 나타낸다. 이 엘레멘트의 정보들을 통해 MP 테이블이 레퍼런싱될 수 있다.
routeComponent 엘레멘트는 ROUTE 로 전달되는 해당 서비스의 서비스 컴포넌트들에 대한 디스크립션을 포함할 수 있다. 리니어 서비스 컴포넌트들이 MMT 프로토콜로 전달되는 경우라 하더라도, NRT 데이터들은 전술한 바와 같이 ROUTE 프로토콜에 따라 전달될 수 있다. 이 엘레멘트는 이러한 NRT 데이터들에 대한 정보들을 기술할 수 있다. 이 엘레멘트의 자세한 내용에 대해서는 후술한다.
broadbandComponent 엘레멘트는 브로드밴드로 전달되는 해당 서비스의 서비스 컴포넌트들에 대한 디스크립션을 포함할 수 있다. 하이브리드 서비스 딜리버리에 있어서, 한 서비스의 일부 서비스 컴포넌트 또는 기타 파일들은 브로드밴드를 통해 전달될 수 있다. 이 엘레멘트는 이러한 데이터들에 대한 정보들을 기술할 수 있다. 이 엘레멘트는 @fullMPDUri 속성을 더 포함할 수 있다. 이 속성은 브로드밴드로 전달되는 서비스 컴포넌트들에 대해 기술하는 MPD 를 레퍼런싱할 수 있다. 하이브리드 서비스 딜리버리 이외에도, 터널 내의 주행 등으로 인해 방송 신호가 약화되는 경우에 있어, 방송망-브로드밴드 간의 핸드오프(handoff)를 지원하기 위해 본 엘레멘트가 필요할 수 있다. 방송 신호가 약해지는 경우, 브로드밴드를 통해 서비스 컴포넌트를 획득하다가, 다시 방송 신호가 강해지면 방송망을 통해 서비스 컴포넌트를 획득하여 서비스의 연속성이 보장될 수 있다.
ComponentInfo 엘레멘트는 해당 서비스의 서비스 컴포넌트들에 대한 정보를 포함할 수 있다. 서비스의 서비스 컴포넌트들의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. 이 엘레멘트는 각 서비스 컴포넌트의 타입, 롤(role), 이름, 식별자, 프로텍션 여부 등의 정보들을 기술할 수 있다. 이 엘레멘트의 자세한 정보에 대해서는 후술한다.
전술한 Channel 엘레멘트는 @serviceGenre 속성, @serviceIcon 속성 및/또는 ServiceDescription 엘레멘트를 더 포함할 수 있다. @serviceGenre 속성은 해당 서비스의 장르를 지시하고, @serviceIcon 속성은 해당 서비스를 대표하는 아이콘(icon) 의 URL 정보를 포함할 수 있다. ServiceDescription 엘레멘트는 해당 서비스의 서비스 디스크립션을 제공하는데, 이 엘레멘트는 @serviceDescrText 속성 및/또는 @serviceDescrLang 속성을 더 포함할 수 있다. 이 속성들은 각각 해당 서비스 디스크립션의 텍스트 및 그 텍스트에 사용되는 언어를 지시할 수 있다.
전술한 routeComponent 엘레멘트는 @sTSIDUri 속성, @sTSIDDestinationIpAddress 속성, @sTSIDDestinationUdpPort 속성, @sTSIDSourceIpAddress 속성, @sTSIDMajorProtocolVersion 속성 및/또는 @sTSIDMinorProtocolVersion 속성을 더 포함할 수 있다.
@sTSIDUri 속성은 S-TSID 프래그먼트를 레퍼런싱할 수 있다. 이 필드는 전술한 ROUTE 로 전달되는USBD 의 해당 필드와 같을 수 있다. 이 S-TSID 는 ROUTE 로 전달되는 서비스 컴포넌트들에 대한 액세스 관련 정보를 제공할 수 있다. 이 S-TSID 는 MMT 프로토콜에 따라 리니어 서비스 컴포넌트들이 전달되는 상황에서, ROUTE 프로토콜에 따라 전달되는 NRT 데이터들을 위해 존재할 수 있다.
@sTSIDDestinationIpAddress 속성, @sTSIDDestinationUdpPort 속성 및 @sTSIDSourceIpAddress 속성은 각각 전술한 S-TSID 를 운반하는 전송 패킷의 데스티네이션 IP 어드레스, 데스티네이션 UDP 포트, 소스 IP 어드레스를 나타낼 수 있다. 즉, 이 필드들은 전술한 S-TSID 를 운반하는 전송 세션(MMTP 세션 또는 ROUTE 세션)을 식별할 수 있다.
@sTSIDMajorProtocolVersion 속성 및 @sTSIDMinorProtocolVersion 속성은 전술한 S-TSID 를 전달하는데 사용되는 전송 프로토콜의 메이저 버전 넘버 및 마이너 버전 넘버를 지시할 수 있다.
전술한 ComponentInfo 엘레멘트는 @componentType 속성, @componentRole 속성, @componentProtectedFlag 속성, @componentId 속성 및/또는 @componentName 속성을 더 포함할 수 있다.
@componentType 속성은 해당 컴포넌트의 타입을 지시할 수 있다. 예를 들어 이 속성은 해당 컴포넌트가 오디오, 비디오, 클로즈드캡션 컴포넌트인지를 지시할 수 있다. @componentRole 속성은 해당 컴포넌트의 롤(역할)을 지시할 수 있다. 예를 들어 이 속성은 해당 컴포넌트가 오디오 컴포넌트인 경우 메인 오디오, 뮤직, 코멘터리 등인지를 지시할 수 있다. 해당 컴포넌트가 비디오 컴포넌트인 경우 프라이머리 비디오인지 등을 지시할 수 있다. 해당 컴포넌트가 클로즈드 캡션 컴포넌트인 경우 노말 캡션인지 이지리더(easy reader) 타입인지 등을 지시할 수 있다.
@componentProtectedFlag 속성은 해당 서비스 컴포넌트가 프로텍티드되었는지, 예를 들어 암호화되었는지를 지시할 수 있다. @componentId 속성은 해당 서비스 컴포넌트의 식별자를 나타낼 수 있다. 이 속성의 값은 이 서비스 컴포넌트에 해당하는 MP 테이블의 asset_id (에셋 ID) 와 같은 값일 수 있다. @componentName 속성은 해당 서비스 컴포넌트의 이름을 나타낼 수 있다.
지금까지 설명한 것처럼, 본 발명의 일 실시예에서, 한 서비스의 서비스 컴포넌트들이 복수개의 ROUTE 세션을 통해 전달될 수 있다. 이 경우, SLT 의 부트스트랩 정보를 통하여 SLS 가 획득될 수 있다. S-TSID 는 서비스 컴포넌트들이 전달되고 있는 ROUTE 세션 뿐 아니라, 서비스 컴포넌트들이 전달되고 있는 다른 ROUTE 세션에 대한 전송 세션 디스크립션 정보 또한 기술할 수 있다. 이를 통해 복수개의 ROUTE 세션을 통해 전달되는 서비스 컴포넌트들이 모두 수집될 수 있다. 이러한 사항은 한 서비스의 서비스 컴포넌트들이 복수개의 MMTP 세션을 통해 전달되는 경우에도 유사하게 적용될 수 있다. 참고로, 하나의 서비스 컴포넌트는 복수개의 서비스에 의해 동시에 사용될 수도 있다.
본 발명의 또 다른 실시예에서, ESG 서비스에 대한 부트스트래핑은 방송망 또는 브로드밴드에 의해 수행될 수 있다. 브로드밴드를 통한 ESG 획득을 통해, SLT 의 URL 정보가 활용될 수 있다. 이 URL 로 ESG 정보 등이 요청될 수 있다.
본 발명의 또 다른 실시예에서, 한 서비스의 서비스 컴포넌트가 하나는 방송망으로 하나는 브로드밴드로 전달될 수 있다(하이브리드). S-TSID 는 방송망으로 전달되는 컴포넌트들에 대해 기술해, ROUTE 클라이언트가 원하는 서비스 컴포넌트들을 획득케 할 수 있다. 또한 USBD 는 베이스 패턴 정보를 가지고 있어, 어느 세그먼트들이(어느 컴포넌트들이) 어느 경로로 전달되는지 기술할 수 있다. 따라서 수신기는 이를 이용해, 브로드밴드 서버로 요청해야 될 세그먼트는 무엇인지, 방송 스트림에서 찾아야 될 세그먼트는 무엇인지 알 수 있다.
본 발명의 또 다른 실시예에서, 서비스에 대한 스케일러블(scalable) 코딩이 수행될 수 있다. SLT는 해당 서비스를 렌더링하기 위해 필요한 모든 캐패빌리티 정보를 가질 수 있다. 예를 들어 한 서비스가 HD 또는 UHD 로 제공되는 경우, SLT의 캐패빌리티 정보는 “HD 또는 UHD”값을 가질 수 있다. 수신기는 MPD 를 이용하여 UHD 또는 HD 서비스를 렌더링하기 위하여 어느 컴포넌트가 재생되어야 하는지 알 수 있다.
본 발명의 또 다른 실시예에서, SLS 를 전달하는 LCT 채널로 전달되는 LCT 패킷들의 TOI 필드를 통해, 해당 LCT 패킷들이 어느 SLS 프래그먼트를 전달하고 있는지(USBD, S-TSID, MPD 등..) 가 식별될 수 있다.
본 발명의 또 다른 실시예에서, 앱 기반 인핸스먼트/ 앱 기반 서비스에 사용될 앱 컴포넌트들은 NRT 컴포넌트로서 방송망을 통해 전달되거나 브로드밴드를 통해 전달될 수 있다. 또한 앱 기반 인핸스먼트에 대한 앱 시그널링은 SLS 와 함께 전달되는 AST (Application Signaling Table) 에 의해 수행될 수 있다. 또한 앱이 수행할 동작에 대한 시그널링인 이벤트는 SLS 와 함께 EMT (Event Message Table) 형태로 전달되거나, MPD 내에 시그널링되거나, DASH 레프리젠테이션 내에 box 형태로 인밴드(in-band) 시그널링될 수 있다. AST, EMT 등은 브로드밴드를 통해 전달될 수도 있다. 수집된 앱 컴포넌트들과 이러한 시그널링 정보들을 이용해 앱 기반 인핸스먼트 등이 제공될 수 있다.
본 발명의 또 다른 실시예에서, 긴급 경보를 위해 AEAT가 전술한 LLS 테이블에 포함되어 제공될 수 있다. 긴급 경보를 위한 리치 미디어(Rich Media) 컨텐츠 역시 제공될 수 있다. 리치 미디어는 AEAT에 의해 시그널링될 수 있으며, 리치 미디어가 존재하는 경우 이는 SLT 에 의해 시그널링되는 EAS 서비스로서 제공될 수 있다.
본 발명의 또 다른 실시예에서, MMT 프로토콜에 따라 리니어 서비스 컴포넌트들이 방송망을 통해 전달될 수 있다. 이 경우 해당 서비스에 대한 NRT 데이터(예를 들어 앱 컴포넌트)들은 ROUTE 프로토콜에 따라 방송망을 통해 전달될 수 있다. 또한 해당 서비스에 대한 데이터가 브로드밴드를 통해 전달될 수도 있다. 수신기는 SLT 의 부트스트랩 정보를 이용해 SLS 를 전달하는 MMTP 세션에 접근할 수 있다. MMT 에 따른 SLS 의 USBD 는 MP 테이블을 레퍼런싱하여, 수신기가 MMT 프로토콜에 따라 전달되는 MPU 로 포맷된 리니어 서비스 컴포넌트들을 획득케 할 수 있다. 또한, USBD 는 S-TSID 를 더 레퍼런싱하여, 수신기가 ROUTE 프로토콜에 따라 전달되는 NRT 데이터를 획득케 할 수 있다. 또한, USBD 는 MPD 를 더 레퍼런싱하여, 브로드밴드를 통해 전달되는 데이터에 대한 재생 디스크립션을 제공할 수 있다.
본 발명의 또 다른 실시예에서, 수신기는 그 컴패니언 디바이스에 스트리밍 컴포넌트 및/또는 파일 컨텐트 아이템(파일 등)을 획득할 수 있는 로케이션 URL 정보를, 웹소켓 등의 방법을 통해 전달할 수 있다. 컴패니언 디바이스의 어플리케이션은 이 URL 로 HTTP GET 등을 통해 요청하여 해당 컴포넌트, 데이터 등을 획득할 수 있다. 그 밖에 수신기는 시스템 타임 정보, 긴급 경보 정보 등의 정보를 컴패니언 디바이스 측에 전달할 수 있다.
이하, 링크 레이어(link layer)에 대해서 설명한다.
도 6은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
도 7은 입력 패킷이 IP 패킷일 경우의 링크 레이어(Link Layer) 동작을 도시한 본 발명의 도면이다.
링크 레이어는 피지컬 레이어와 네트워크 레이어 사이의 레이어일 수 있다. 송신 측에서는 네트워크 레이어에서 피지컬 레이어로 데이터를 전송하고, 수신 측에서는 피지컬 레이어에서 네트워크 레이어로 데이터를 전송할 수 있다. 링크 레이어의 목적은 피지컬 레이어에 의한 처리를 위해 모든 입력 패킷 타입을 하나의 포맷으로 압축(abstracting)하는 것, 아직 정의되지 않은 입력 패킷 타입에 대한 유연성(flexibility) 및 추후 확장 가능성을 보장하는 것일 수 있다. 또한 링크 레이어는 입력 패킷의 헤더의 불필요한 정보를 압축하는 옵션을 제공함으로써, 입력 데이터가 효율적으로 전송될 수 있도록 할 수 있다. 링크 레이어의 오버헤드 리덕션, 인캡슐레이션 등의 동작은 링크 레이어 프로토콜이라 불리고, 해당 프로토콜을 이용하여 생성된 패킷은 링크 레이어 패킷이라 불릴 수 있다. 링크 레이어는 패킷 인캡슐레이션(packet encapsulation), 오버헤드 리덕션(Overhead Reduction) 및/또는 시그널링 전송(Signaling Transmission) 등의 기능을 수행할 수 있다. 본 발명은 상기 링크 레이어 프로토콜을 ATSC 링크 레이어 프로토콜(ALP)이라고도 하며, 상기 링크 레이어 패킷을 링크 레이어 패킷이라 하기도 한다.
송신측 기준으로, 링크 레이어는 입력 패킷에 대하여 오버헤드 리덕션 과정을 수행한 후 이들을 링크 레이어 패킷으로 인캡슐레이션할 수 있다. 또한 실시예에 따라 링크 레이어는 오버헤드 리덕션 과정을 수행하지 아니하고, 링크 레이어 패킷으로 인캡슐레이션할 수도 있다. 링크 레이어 프로토콜의 사용으로 인해 피지컬 레이어 상에서 데이터의 전송에 대한 오버헤드가 크게 감소할 수 있다. 본 발명에 따른 링크 레이어 프로토콜은 IP 오버헤드 리덕션 및/또는 MPEG-2 TS 오버헤드 리덕션을 제공할 수 있다.
IP 패킷이 입력 패킷으로 입력되는 경우, 도 7에서와 같이 링크 레이어는 IP 헤더 압축, 어댑테이션 및/또는 인캡슐레이션 과정을 차례로 수행할 수 있다. 실시예에 따라 일부 과정은 생략될 수 있다. 이때, IP 헤더 압축의 옵티멀 오퍼레이션을 위해, 프리-프로세싱 모듈이 RoHC 모듈 전에 사용될 수 있다. 먼저, 하나의 IP 패킷으로부터 프래그먼트된 IP 패킷들이 입력되면 프리-프로세싱 모듈의 프리-프로세싱을 통해 프래그먼트된 IP 패킷들을 모아 프래그먼트되긴 전 IP 패킷으로 복구하여 RoHC 모듈로 출력한다. 만일 입력된 IP 패킷이 프래그먼트되지 않은 IP 패킷이라면 프리-프로세싱을 거치지 않고 RoHC 모듈로 바로 출력된다.
RoHC 모듈은 입력되는 IP 패킷들에 대해 IP 패킷 헤더 압축을 수행하여 불필요한 오버헤드를 줄이고, 어댑테이션 모듈에서 어댑테이션 과정을 수행하여 컨텍스트 정보 (context information)를 추출한 후, 추출된 컨텍스트 정보를 아웃 오브 밴드(out of band)로 전송할 수 있다. IP 헤더 압축과 어댑테이션 과정을 통칭하여 IP 헤더 압축이라 부를 수도 있다. 또는 프리-프로세싱, IP 헤더 압축, 및 어댑테이션 과정을 통칭하여 IP 헤더 압축이라 부를 수도 있다. 이 후 인캡슐레이션 모듈에서 인캡슐레이션 과정을 수행하여 IP 패킷들 또는 헤더 압축된 패킷들 그리고 추출된 컨텍스트 정보를 링크 레이어 패킷들로 인캡슐레이션할 수 있다. 일 실시예로, 본 발명은 프리-프로세싱 모듈, RoHC 모듈, 어댑테이션 모듈을 합하여 IP 헤더 압축부라 칭하고, 상기 IP 헤더 압축부와 인캡슐레이션 모듈을 합하여 ALP 스트림 제네레이터라 칭하기로 한다. 즉, 상기 ALP 스트림 제네레이터는 하나의 ALP 스트림을 생성하는 싱글 ALP 스트림 제네레이터이다. 상기 ALP 스트림은 링크 레이어 스트림이라 하기도 한다.
MPEG 2 TS 패킷이 입력패킷으로 입력되는 경우, 링크 레이어는 TS 패킷에 대한 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 차례로 수행할 수 있다. 실시예에 따라 일부 과정은 생략될 수 있다. 오버헤드 리덕션에 있어, 링크 레이어는 싱크 바이트 제거, 널 패킷 삭제 및/또는 공통(common) 헤더 제거 (압축)을 제공할 수 있다. 싱크 바이트 제거를 통해 TS 패킷당 1 바이트의 오버헤드 리덕션이 제공될 수 있다. 수신측에서 재삽입될 수 있는 방식으로 널 패킷 삭제가 수행될 수 있다. 또한 연속된 헤더들 간의 공통되는 정보들이 수신측에서 복구될 수 있는 방식으로 삭제(압축)될 수 있다. 각 오버헤드 리덕션 과정 중 일부는 생략될 수 있다. 이 후 인캡슐레이션 과정을 통해 TS 패킷들이 링크 레이어 패킷들로 인캡슐레이션될 수 있다. TS 패킷의 인캡슐레이션에 대한 링크 레이어 패킷 구조는 다른 타입의 패킷들과는 다를 수 있다.
다음은 IP 헤더 압축(IP Header Compression) 에 대해서 설명한다.
IP 패킷은 고정된 헤더 포맷을 가지고 있으나, 통신 환경에서 필요한 일부 정보는 브로드캐스트 환경에서 불필요할 수 있다. 링크 레이어 프로토콜은 IP 패킷의 헤더를 압축함으로써 브로드캐스트 오버헤드를 줄이는 메커니즘을 제공할 수 있다.
송신기는 IP 헤더 압축을 위해 도 7에서와 같이 RoHC 모듈 (또는 헤더 컴프레서라 함) 및/또는 어댑테이션 모듈을 포함할 수 있다. 상기 RoHC 모듈은 RoHC 방식에 기초하여 IP 패킷 헤더의 크기를 감소시킬 수 있다. 이 후 어댑테이션 모듈은 헤더 압축된 IP 패킷으로부터 컨텍스트 정보를 추출하고 헤더 압축과 관련된 시그널링 정보를 생성할 수 있다. 수신기는 시그널링 정보와 컨텍스트 정보를 기반으로 패킷 헤더를 복구하여 원래의 IP 패킷을 재구성할 수 있다. 이하, IP 헤더 압축이란, RoHC 모듈에 의한 IP 헤더 압축만을 의미할 수도 있고, RoHC 모듈에 의한 IP 헤더 압축과 어댑테이션 모듈에 의한 어댑테이션 과정을 합한 개념을 의미할 수도 있다. 수신기의 디컴프레싱(decompressing) 에 대해서도 마찬가지이다.
본 발명은 설명의 편의를 위해 압축 이전의 IP 패킷을 데이터 패킷이라 하고, RoHC 방식으로 압축한 이후의 패킷을 RoHC 패킷(또는 헤더 압축된 데이터 패킷)이라 하기로 한다. 그리고 압축 이전의 IP 패킷들을 포함하는 스트림을 IP 스트림 또는 IP 패킷 스트림이라 하고, RoHC 패킷들을 포함하는 스트림을 RoHC 패킷 스트림 또는 RoHC 패킷 플로우 또는 RoHC IP 스트림 또는 RoHC 스트림 또는 compressed IP 스트림이라 하기로 한다.
그리고 압축 이전의 IP 패킷인 데이터 패킷은 헤더와 페이로드로 구성되며, 헤더는 ROHC UDP 프로파일 (0x0002)에 따라 적어도 IP 헤더와 UDP 헤더를 포함한다. 즉, 송신 시스템의 딜리버리 레이어에서 MMTP 또는 ROUTE 프로토콜에 따라 처리된 데이터는 UDP/IP 레이어에서 IP 패킷들로 캡슐레이션된 후 링크 레이어로 전송된다. 이때, MMTP 또는 ROUTE 프로토콜에 따라 처리된 데이터를 포함하는 UDP 페이로드에 UDP 헤더를 부가하여 UDP 패킷을 만들고, 이 UDP 패킷에 IP 헤더를 부가하여 IP/UDP 패킷을 만드는 것을 일 실시예로 한다. 본 발명에서는 설명의 편의를 위해 IP 헤더, UDP 헤더, 페이로드로 구성된 패킷 또는 IP 헤더와 페이로드로 구성된 패킷을 IP 패킷 또는 데이터 패킷이라 하기로 한다.
또한 IP 스트리밍(streaming) 시에, IP 패킷의 IP 헤더와 UDP 헤더에 포함된 정보 중 IP 버전, 소스 IP 어드레스, 데스티네이션 IP 어드레스, IP 프래그먼트 플래그, 소스 포트 넘버, 데스티네이션 포트 넘버 등은 스트리밍이 이루어지는 중에 거의 바뀌지 않는다. 본 발명은 상기와 같이 스트리밍이 이루어지는 동안 거의 바뀌지 않는 정보를 전송하는 필드들을 스태틱(static) 필드라 하기로 한다. 또한 상기 스태틱 필드로 전송되는 정보를 스태틱 정보라 하기로 한다. 본 발명에서 스태틱 정보는 스태틱 체인(static chain) 정보와 동일한 의미로 사용된다. RoHC압축 방식에서는 이러한 스태틱 정보에 대해서는 한번 전송한 후 당분간 추가 전송을 하지 않는다. 이를 초기화 및 리프레쉬(Initialization and Refresh, 이하 IR이라 함) 상태(state)라 하며, 상기 스태틱 정보가 헤더로 전송되는 RoHC 패킷을 IR 패킷이라 한다.
여기에 더해서, 수시로 변동되지만 일정시간 유지되는 다이나믹 정보에 대해서도 별도로 추가 전송을 하도록 되어 있다. 상기 다이나믹 정보는 다이나믹 필드를 통해 전송되며, 본 발명에서 다이나믹 정보는 다이나믹 체인(dynamic chain) 정보와 동일한 의미로 사용된다.
상기 다이나믹 정보가 헤더로 전송되는 RoHC 패킷을 IR-DYN 패킷이라 한다. 상기 IR 패킷은 다이나믹 정보도 포함하는 것을 일 실시예로 한다. 즉, IR 패킷과 IR-DYN 패킷은 기존 헤더의 모든 정보를 담고 있으므로 기존 헤더와 비슷한 크기를 갖는다.
도 8은 IP 헤더와 UDP 헤더에 포함되는 스태틱 체인 정보의 일 예를 보인 것으로서, IP 버전 필드, 프로토콜 필드, 소스 IP 어드레스 필드, 데스티네이션 IP 어드레스 필드, 소스 포트 넘버 필드 및 데스티네이션 포트 넘버 필드를 포함할 수 있다.
상기 IP 버전 필드는 해당 IP 패킷의 버전이 IPv4인지 IPv6인지를 지시한다. 현재는 IPv4를 사용하는 것을 일 실시예로 한다.
상기 프로토콜 필드는 해당 IP 패킷의 페이로드에 저장된 상위 레이어 프로토콜을 나타낸다.
상기 소스 IP 어드레스 필드와 데스티네이션 IP 어드레스 필드는 각각 해당 패킷의 소스 IP 어드레스와 데스티네이션 IP 어드레스를 나타낸다.
상기 소스 포트 넘버 필드와 데스티네이션 포트 넘버 필드는 각각 해당 패킷의 소스 포트 넘버와 데스티네이션 포트 넘버를 나타낸다.
도 9는 IP 헤더와 UDP 헤더에 포함되는 다이나믹 체인 정보의 일 예를 보인 것으로서, TOS (Type Of Services) 필드, TTL (Time To Live) 필드, 식별(identification, 이하 IP-ID라 칭한다) 필드, DF (Don't Fragment) 필드, RND 필드, NBO 필드, CRC 첵섬 필드, 시퀀스 번호(sequence number, SN) 필드 등을 포함할 수 있다.
상기 TOS 필드는 IP 프로토콜이 사용자에게 제공하는 서비스의 품질(QoS)에 관련된 내용을 표시한다. 즉, IP 패킷의 우선 순위를 정의한다.
상기 TTL 필드는 해당 패킷이 네트워크 안에서 생존할 수 있는 시간을 나타낸다.
상기 IP-ID (Identification) 필드는 각 IP 패킷을 식별하는 식별자이다. 하나의 IP 패킷으로부터 프래그먼트된 IP 패킷들의 IP-ID 필드의 값은 동일하다. 그리고, 프래그멘테이션이 일어나지 않은 IP 패킷들은 서로 다른 값을 가진다. 본 발명은 설명의 편의를 위해 하나의 IP 패킷으로부터 프래그먼트된 패킷들은 프래그먼트 패킷들 또는 프래그먼티드 IP 패킷들이라 칭하기로 한다.
상기 DF 필드는 해당 패킷이 프래그먼트되었는지 여부를 나타낸다. 상기 RND 필드는 IP-ID가 랜덤하게 동작하는지를 지시하는 플래그이다. 예를 들어, DF 필드 값이 0이면 해당 패킷은 프래그먼트된 패킷임을 지시하고, 1이면 해당 패킷은 프래그먼트되지 않은 패킷임을 지시한다. 상기 NBO 필드는 상기 IP-ID가 네트워크 바이트 순서(Network Byte Order, NBO)로 있는지 여부를 지시하는 플래그이다. 다이나믹 체인 정보는 MF (More Fragment) 플래그 필드와 프래그먼트 옵셋 필드를 더 포함할 수 있다. 상기 MF 플래그 필드는 해당 패킷이 마지막 프래그먼트 패킷인지 여부를 지시한다. 예를 들어, MF 플래그 필드 값이 0이면 해당 패킷은 마지막 프래그먼트 패킷임을 지시하고, 1이면 프래그먼트 패킷이 더 있음을 지시한다. 다시 말해 MF 플래그 필드 값이 1이면 해당 패킷이 마지막 프래그먼트 패킷이 아님을 지시한다. 그리고 프래그먼트 옵셋 필드는 IP 패킷이 프래그먼트되었을 때 IP 패킷 내 데이터 영역에서 해당 프래그먼트 패킷의 상대 위치를 나타낸다.
만일 IP 프래그멘테이션이 없으면, 입력될 IP 패킷들의 모든 IP-ID 필드 값은 '0x00'이고, DF 필드의 값은 항상 '1'이다. 이 경우, IP-ID 인코딩은 사용되지 않는다. IP-ID의 컨텍스트 값은 '0x00'으로 설정되고, IP-ID의 컨텍스트 정보는 업데이트되지 않는다. 다이나믹 체인에서 상기 DF의 컨텍스트 값은 '1'로 설정된다. 이 경우를 unused IP-ID case라 하기도 한다.
만일, IP 프래그멘테이션이 존재하거나 또는 그것의 존재가 모르면(when IP fragmentation is either present or its presence is unknown), 입력되는 IP 패킷들의 IP-ID 값은 단순하게(monotonically) 증가하고 DF 필드의 값은 항상 '0'이다. 프래그먼트된 패킷들이 RoHC 모듈 전에 리-어셈블(re-assemble)되더라도, 상기 IP-ID 필드들은 압축된다. 이 경우, IP-ID는 옵셋 IP-ID 인코딩 스킴으로 인코딩된다. 상기 IP-ID의 컨텍스트는 상기 옵셋 IP-ID 인코딩 스킴을 기반으로 업데이트된다. 상기 다이나믹 체인에서 상기 DF 필드의 컨텍스트 값은 '0'으로 설정된다. 이 경우를 sequential IP-ID case라 하기도 한다.
상기 첵섬 필드는 옵셔널이며, 수신기에서 데이터의 에러 검출을 위해 전체 패킷에 대한 첵섬을 계산하며, UDP 헤더에만 사용된다. 그리고 수신기에서는 상기 첵섬 필드를 검사한 결과가 원본과 다르다면 애플리케이션 레이어(즉 상위 레이어)로 올라가기 전에 데이터를 버린다. 이에 더하여, 상기 첵섬 필드 값이 0x0000라면 수신기는 첵섬 검사를 진행하지 않는다.
상기 SN 필드는 패킷 스트림에 포함되는 각 패킷의 순서를 나타내는 시퀀스 번호를 표시한다. 상기 SN 필드는 첵섬 필드 다음에 위치하며 IP 헤더 압축부(즉, 압축기)에서 생성하는 것을 일 실시예로 한다. 상기 시퀀스 번호는 RDT (RoHC-U Description Table)와 압축된 패킷 사이의 동기화를 위해 사용될 수 있다.
한편, 상기 RoHC 패킷들 중 IR 패킷과 IR-DYN 패킷을 제외한 나머지 패킷들은 압축된 패킷들(compressed packets)이라 하기로 한다. 각 압축된 패킷 (또는 압축 패킷)의 헤더는 1-2 바이트 정보로만 구성되는 것을 일 실시예로 한다.
도 9와 도 10에는 없지만, IP 헤더는 total length 필드를 더 포함하고, UDP 헤더는 length 필드를 더 포함한다. IP 헤더의 total length 필드는 IP 헤더와 실제 데이터 영역을 모두 합한 크기를 바이트 단위로 나타낸다. 즉, 해당 IP 패킷의 전체 길이를 나타낸다. UDP 헤더의 length 필드는 UDP 헤더와 실제 데이터 영역을 모두 합한 크기를 바이트 단위로 나타낸다. 즉, 해당 UDP 패킷의 전체 길이를 나타낸다. RoHC의 동작(operation of RoHC)에 따라, 상기 total length 필드와 length 필드는 송신측의 압축기(즉, IP 헤더 압축부)에서 수신측의 압축 해제기(즉, IP 헤더 압축 해제부)로 전송되지 않는다.
다음은 IP 패킷의 프래그멘테이션에 대해 설명한다.
즉, 상위 레이어인 IP/UDP 레이어에서 링크 레이어로 전송할 IP 패킷의 사이즈가 MTU (Maximum Transmission Unit)보다 크면 상기 IP 패킷에 대해 프래그멘테이션이 수행되어 2개 이상의 프래그먼트 패킷들로 나누어져 전송된다. 여기서 MTU는 IP/UDP 레이어에서 링크 레이어로 한번에 보낼 수 있는 데이터의 사이즈를 의미하는 것을 일 실시예로 한다. 즉, 링크 레이어로 전송할 IP 패킷의 사이즈가 MTU보다 크면 상기 IP 패킷을 전송할 수 없으므로, 상기 IP 패킷에 대해 프래그멘테이션을 수행하게 된다.
상기 IP 패킷에 대해 프래그멘테이션이 수행되면 상기 IP 패킷을 2개 이상의 프래그먼트들로 자르고 각 프래그먼트 앞에 IP 헤더를 부가하여 프래그먼트 패킷들을 만든다. 다시 말해, 각 프래그먼트 패킷도 IP 헤더와 페이로드로 구성되는 IP 패킷이다.
예를 들어, UDP/IP 헤더를 갖는 하나의 IP 패킷이 3개의 IP 패킷들로 프래그먼트되었다고 가정하면, 3개의 프래그먼트 패킷들의 각 IP 헤더 내 IP-ID 필드 값은 모두 동일하나, fragment offset 필드 값은 모두 다르다. 그리고 3개의 프래그먼트 패킷들의 각 IP 헤더 내 DF 플래그 필드 값은 모두 0으로 설정되어 해당 패킷들이 프래그먼트된 패킷들임을 나타낸다.
이때, UDP 헤더는 첫번째 프래그먼트 패킷에만 존재하고 나머지 2개의 프래그먼트 패킷들에는 존재하지 않으며, IP 헤더는 3개의 프래그먼트 패킷들에 모두 존재한다.
한편, IP 패킷의 헤더 압축은 전술한 바와 같이 RoHC 스킴이 사용된다. 그리고 ATSC 3.0 방송 링크의 특성을 고려하여, RoHC 프레임워크는 단방향 모드(U-mode)에서 동작하는 것을 일 실시예로 한다. 상기 RoHC 프레임워크에서는 다수의 헤더 압축 프로파일들이 정의된다. 각 프로파일은 특정 프로토콜 조합을 지시하고, 프로파일 식별자들은 IANA (Internet Assigned Numbers Authority)에 의해 할당된다. ATSC 3.0을 위해 '0x0002' 프로파일이 사용되는 것을 일 실시예로 한다.
다음의 ATSC 3.0을 위해 정의된 RoHC 프로파일의 예이다.
즉, 프로파일 식별자(Profile Identifier)는 0x0002이고, 프로파일(Profile)은 RoHC UDP이며, 프로토콜 조합(Protocol Combination)은 UDP/IP이고, 참조(Reference) 표준은 RFC 3095와 RFC 4815이다.
즉, 링크 레이어의 RoHC 모듈에서는 입력되는 IP 패킷의 헤더에 IP 헤더와 UDP 헤더 중 어느 하나라도 없으면 헤더 압축을 수행하지 않는다. 그러므로, 위에서와 같이 UDP/IP 헤더를 갖는 하나의 IP 패킷이 3개의 IP 패킷들로 프래그먼트되었다고 가정하면, UDP 헤더가 없는 나머지 2개의 프래그먼트 IP 패킷들에 대해서는 헤더 압축이 수행되지 않는다. 다시 말해, RoHC 모듈은 IP 프래그멘테이션에 의해 UDP 헤더가 없는 IP 패킷들이 입력되면 profile number가 0x00인 uncompressed profile을 적용한다. 이때, uncompressed profile은 RoHC 헤더 포맷을 이용해 실제 IP 헤더를 그대로 전송하는 구조이므로, 헤더 압축 효율을 기대할 수 없다.
즉, IP 헤더와 UDP 헤더를 모두 갖고 있는 IP 패킷은 0x02 profile로 헤더 압축이 이루어진 반면에, IP 헤더는 있으나 UDP 헤더가 없는 IP 패킷은 0x00 profile로 헤더 압축이 이루어진다.
이와 같이 IP 헤더 압축이 이루어지면 몇가지 문제점이 발생할 수 있다. 즉, 패킷 스트림의 중간에서 압축 profile이 변경되는 경우, 시스템의 복잡도 및 딜레이가 증가되는 문제가 있다. 단일 형태의 패킷 스트림이 전달되면 하나의 profile 및 이에 따른 RoHC 패킷 구조를 사용 할 수 있으나, IP 프래그멘테이션을 위해 추가적인 profile을 구성 해야 하며 이에 따른 추가적인 ROHC 패킷 구조에 대응해야 한다. 또한 송신기에서는 profile 을 전환하는 과정에서 딜레이가 발생하며, 수신기에서는 서로 다른 profile을 이용하여 헤더 압축 된 패킷 스트림 사이의 동기화에 많은 메모리 용량이 필요 하게 된다. RoHC를 이용하여 대역폭(bandwidth)을 효율적으로 사용함과 동시에, 대용량의 방송 스트림을 빠르게 송수신 하기 위해서 이러한 오버헤드를 줄이는 것이 중요하다. 이러한 오버헤드를 줄이기 위해서는 방송 송신 네트워크에 대한 용량 증대가 가장 효과적이지만, 방송 시스템의 인프라구조(infrastructure)를 업데이트하는 것은 많은 비용 및 시간을 필요로 하는 문제가 있다.
본 발명은 위의 문제점들을 해결하기 위해 RoHC 모듈 전에 프리-프로세싱 모듈을 구비하고, 상기 프리-프로세싱 모듈에서 프래그먼트된 IP 패킷들은 오리지날 언프래그먼트된 IP 패킷(original unfragmented IP packet)으로 리-어셈블(re-assemble)시켜 RoHC 모듈로 출력한다.
즉, 상기 프리-프로세싱 모듈은 입력되는 IP 패킷의 IP 헤더를 참조하여 입력되는 IP 패킷이 프래그먼트된 IP 패킷이면, 해당 IP/UDP 패킷을 구성하는 모든 프래그먼트 IP 패킷들이 수신 될 때까지 버퍼나 메모리 등에 프래그먼트 IP 패킷들을 저장하는 것을 일 실시예로 한다. 해당 IP/UDP 패킷을 구성하는 프래그먼트 IP 패킷들이 모두 수신되면, 수신된 프래그먼트 IP 패킷들을 조합하여 원래의 IP/UDP 패킷으로 복구한다.
그러면, RoHC 모듈로 입력되는 IP 패킷들은 IP 헤더와 UDP 헤더를 모두 포함하므로, 0x02 profile로 헤더 압축이 이루어지며, 그 외의 다른 profile에 대한 고려는 필요 없게 된다.
한편, RoHC 프레임워크는 압축된 패킷 플로우 즉, RoHC 패킷 플로우를 식별하기 위해 RoHC 채널들을 정의한다. 본 발명에서 하나의 PLP는 하나의 RoHC 채널에 매핑될 수 있다. 그러므로, CID는 각 PLP에서 별도로(separately)로 관리되어야 한다. 본 발명에서 각 RoHC 채널은 스몰 CID (Context ID)와 1바이트 크기의 라지 CID (Large CID)로 구성되는 것을 일 실시예로 한다.
또한 상기 RoHC 프레임워크는 각 RoHC 채널에서 컴프레서/디컴프레서 사이의 컨텍스트 상태(context state)를 설정(establish)하기 위해 다음과 같은 컨피규레이션 파라미터들(configuration parameters)을 정의하는 것을 일 실시예로 한다.
MAX_CID 파라미터는 이 압축기(compressor)에 의해 사용되어질 최대 CID 값(maximum CID value)을 나타낸다.
LAEGE CIDS 파라미터는 CID 구성(CID configuration)을 지시한다. 이 파라미터가 '거짓(false)'이면, 스몰 CID(small CID)가 이 RoHC 채널에서 사용되고, 이 파라미터가 '참(true)'이면, 라지 CID(large CID)가 이 RoHC 채널에서 사용된다. 본 발명에서 이 파라미터는 RDT 내 맥스 CID(max_CID) 필드로부터 유추되는 것을 일 실시예로 한다(is inferred from the max_CID field in RDT). 본 발명의 디컴프레서에서는, 상기 max_CID 필드 값이 15보다 작거나 같으면, 상기 LARGE_CIDS 파라미터를 '거짓(false)'으로 간주하고, 15보다 크면 상기 LARGE_CIDS 파라미터를 '참(true)'으로 간주하는 것을 일 실시예로 한다.
PROFILES 파라미터는 상기 압축기에서 압축을 위해 사용되는 프로토콜 (또는 레이어)의 범위를 나타낸다. 이 PROFILES 파라미터는 RDT의 context_profile field를 통해 전송되는 것을 일 실시예로 한다.
상기 압축기에서 컨텍스트는 헤더를 압축하기 위해 그것을 사용하는 상태이다(The context of the compressor is the state it uses to compress a header). 그리고 압축 해제기에서 컨텍스트는 헤더를 복구하기 위해 그것을 사용하는 상태이다(The context of the decompressor is the state it uses to decompress a header). 의도된 것이 분명하다면 그들 또는 둘의 조합을 보통 컨텍스트라 칭한다(either of these or two in combination are usually referred to as “”when it is clear which is intended). 상기 컨텍스트는 압축과 압축 해제를 위한 스태틱 필드들과 가능한 참조 값들과 같은 패킷 스트림에 포함된 이전 헤더들로부터 관련 정보를 포함한다(The context contains relevant information from previous headers in the packet stream, such as static fields and possible reference values for compression and decompression). 또한, 패킷 스트림을 설명하는 추가 정보(additional information)도 상기 컨텍스트의 일부이다. 예를 들어, 상기 추가 정보는 IP-ID 필드가 어떻게 변하는지, 보통의 인터-패킷이 시퀀스 번호들 또는 타임 스탬프에서 어떻게 증가하는지에 대한 정보를 포함한다. 또한 압축에 필요한 이전 패킷의 헤더 필드 관련 정보도 컨텍스트의 일부이다.
이하, 어댑테이션(Adaptation)에 대해서 설명한다.
단방향 링크(unidirectional link)를 통한 전송의 경우, 수신기가 컨텍스트 정보를 갖고 있지 않으면, 수신기의 디컴프레서는 완전한 컨텍스트를 수신할 때까지 수신된 패킷 헤더를 복구할 수 없다. 이는 채널 변경 지연 및 턴 온 딜레이 (turn-on delay)를 초래할 수 있다. 이러한 이유로 컨텍스트 정보와 컨피규레이션 파라미터들이 RDT (ROHC-U Description Table)로 전송된다.
따라서 어댑테이션 기능(function)은 컨텍스트 정보 및/또는 컨피규레이션 파라미터들을 이용하여 RDT를 포함하는 링크 레이어 시그널링을 생성(construction) 할 수 있다. 이에 더하여, 어댑테이션 기능은 압축기/압축 해제기 간의 컨피규레이션 파라미터와 컨텍스트 정보의 아웃 오브 밴드 전송을 제공한다. 즉, 아웃 오브 밴드 전송은 링크 레이어 시그널링을 통해 이루어질 수 있다. 다시 말해, 어댑테이션 기능은 컨텍스트 정보의 손실로 인한 디컴프레션 에러 및 채널 변경 지연을 줄이기 위해 이용된다. 본 발명에서 링크 레이어 시그널링과 링크 레이어 시그널링 정보는 동일한 의미로 사용된다.
이하, 컨텍스트 정보(context information)의 추출에 대해서 설명한다.
헤더 압축된 IP 패킷들 즉, RoHC 패킷들로부터 컨텍스트 정보가 추출되는데, 어댑테이션 모드에 따라 다양한 방법이 사용될 수 있다.
도 10의 (a)와 (b)는 어댑테이션 모드 2일때와 어댑테이션 모드 3일때의 컨텍스트 정보의 추출 및 처리 과정을 보인 본 발명의 도면이다.
어댑테이션 모드 1 은 기본적인 RoHC 스트림 (즉, RoHC 패킷 플로우)에 대해 어떠한 동작도 수행하지 않는 모드이다. 이 모드에서 어댑테이션 모듈은 버퍼로서 동작할 수 있다. 다시 말해, 어댑테이션 모드 1에서는 RoHC 패킷들로부터 컨텍스트 정보를 추출하지 않는다. 그리고 RoHC 패킷 플로우 내 RoHC 패킷들은 인캡슐레이션 모듈에서 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션되어 피지컬 레이어로 전송된다.
도 10의 (a)의 어댑테이션 모드 2 에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 패킷을 검출하고, 검출된 IR 패킷의 헤더로부터 컨텍스트 정보(즉, 스태틱 체인 정보)을 추출한다. 상기 컨텍스트 정보가 추출된 IR 패킷은 IR-DYN 패킷으로 변환되고, 이 변환된 IR-DYN 패킷은 원래의 IR 패킷을 대체하여 RoHC 패킷 플로우 내에서 같은 순서로 인캡슐레이션 모듈로 전송되는 것을 일 실시예로 한다. 상기 추출된 컨텍스트 정보는 링크 레이어 시그널링 정보의 RDT (RoHC-U Description Table)에 포함되어 인캡슐레이션 모듈로 전송되는 것을 일 실시예로 한다. 상기 인캡슐레이션 모듈은 상기 RoHC 패킷 플로우 내 패킷들을 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션하고, 상기 링크 레이어 시그널링 정보도 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션하여 피지컬 레이어로 전송한다. 상기 RoHC 패킷 플로우를 포함하는 적어도 하나의 링크 레이어 패킷을 전송하는 PLP와 상기 링크 레이어 시그널링을 포함하는 적어도 하나의 링크 레이어 패킷을 전송하는 PLP는 다를 수도 있고, 같을 수도 있다.
도 10의 (b)의 어댑테이션 모드 3에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 패킷 및 IR-DYN 패킷을 검출하고, 검출된 IR 패킷 및 IR-DYN 패킷으로부터 컨텍스트 정보를 추출한다. 상기 IR 패킷으로부터 추출된 컨텍스트 정보는 스태틱 체인 정보 및 다이나믹 체인 정보이고, 상기 IR-DYN 패킷으로부터 추출된 컨텍스트 정보는 다이나믹 체인 정보인 것을 일 실시예로 한다. 상기 컨텍스트 정보가 추출된 IR 및 IR-DYN 패킷은 압축 패킷들(compressed packets)로 변환된다. 이 변환된 압축 패킷들은 원래의 IR 및 IR-DYN 패킷들을 대체하여 RoHC 패킷 플로우 내에서 같은 순서로 전송될 수 있다. 상기 추출된 컨텍스트 정보는 링크 레이어 시그널링 정보의 RDT에 포함되어 인캡슐레이션 모듈로 전송되는 것을 일 실시예로 한다. 상기 인캡슐레이션 모듈은 상기 RoHC 패킷 플로우 내 패킷들을 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션하고, 상기 링크 레이어 시그널링 정보도 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션하여 피지컬 레이어로 전송한다. 상기 RoHC 패킷 플로우를 포함하는 적어도 하나의 링크 레이어 패킷을 전송하는 PLP와 상기 링크 레이어 시그널링을 포함하는 적어도 하나의 링크 레이어 패킷을 전송하는 PLP는 다를 수도 있고, 같을 수도 있다. 상기 링크 레이어 시그널링 정보를 포함하는 적어도 하나의 링크 레이어 패킷은 특정(specific) 피지컬 데이터 경로를 통해 전송될 수 있다. 특정 피지컬 데이터 경로란, 실시예에 따라, 일반적인 PLP 중 하나를 의미할 수도 있고, LLS (Low Level Signaling) 이 전달되는 PLP 를 의미할 수도 있고, 지정된(dedicated) PLP 일 수도 있고, L1 시그널링 패쓰(path)를 의미할 수도 있다.
여기서 RDT 는 컨텍스트 정보(스태틱 체인 및/또는 다이나믹 체인) 및/또는 헤더 컴프레션과 관련된 정보(또는 헤더 압축 정보라 함)를 포함하는 시그널링 정보일 수 있다. 실시예에 따라 RDT 는 컨텍스트 정보가 바뀔 때마다 전송될 수 있다. 또한 실시예에 따라 RDT 는 매 피지컬 프레임에서 전송될 수 있다. 매 피지컬 프레임에서 RDT 를 전송하기 위해서, 예전(previous) RDT 가 재사용(re-use)될 수 있다.
이하, 패킷 인캡슐레이션에 대해서 설명한다.
링크 레이어 프로토콜 즉, 인캡슐레이션 모듈은 IP 패킷, TS 패킷 등의 모든 타입의 입력 패킷들을 링크 레이어 패킷으로 인캡슐레이션할 수 있다. 이를 통해 피지컬 레이어는 네트워크 레이어의 프로토콜 타입과는 독립적으로 하나의 패킷 포맷만 처리하면 된다(여기서 네트워크 레이어 패킷의 일종으로 MPEG-2 TS 패킷을 고려). 즉, 각 네트워크 레이어 패킷 또는 입력 패킷은 인캡슐레이션 모듈에서 제네릭 링크 레이어 패킷의 페이로드로 변형된다.
패킷 인캡슐레이션 과정에서 세그멘테이션(segmentation)이 활용될 수 있다. 네트워크 레이어 패킷이 지나치게 커서 피지컬 레이어에서 처리하지 못하는 경우, 네트워크 레이어 패킷은 두 개 이상의 세그먼트들로 나누어질 수 있다. 링크 레이어 패킷 헤더는 송신 측에서 세그멘테이션을 실행하고 수신 측에서 재결합을 실행하기 위한 필드들을 포함할 수 있다. 각 세그먼트들은 원래 위치와 같은 순서로 링크 레이어 패킷으로 인캡슐레이션될 수 있다.
패킷 인캡슐레이션 과정에서 컨캐터네이션(concatenation) 또한 활용될 수 있다. 링크 레이어 패킷의 페이로드가 여러 네트워크 레이어 패킷들을 포함할 정도로 네트워크 레이어 패킷이 충분히 작은 경우, 컨캐터네이션이 수행될 수 있다. 링크 레이어 패킷 헤더는 컨캐터네이션을 실행하기 위한 필드들을 포함할 수 있다. 컨캐터네이션의 경우 각 입력 패킷들은 원래의 입력 순서와 같은 순서로 링크 레이어 패킷의 페이로드로 인캡슐레이션될 수 있다.
하나의 링크 레이어 패킷은 헤더와 페이로드를 포함하고, 헤더는 베이스 헤더, 추가(additional) 헤더 및/또는 옵셔널 헤더를 포함할 수 있다. 추가 헤더는 컨캐터네이션이나 세그멘테이션 등의 상황에 따라 더 추가될 수 있는데, 추가 헤더에는 상황에 맞춘 필요한 필드들이 포함될 수 있다. 또한 추가적인 정보의 전달을 위해 옵셔널 헤더가 더 추가될 수도 있다. 옵셔널 헤더의 존재는 추가 헤더의 플래그 필드에 의해 지시된다. 실시예에 따라, 추가 헤더와 옵셔널 헤더의 존재를 나타내는 필드는 베이스 헤더에 위치할 수도 있다.
도 11은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다.
링크 레이어 패킷의 베이스 헤더는 계층 구조를 갖는다. 베이스 헤더는 2바이트의 길이를 가질 수 있고, 이것은 링크 레이어 패킷 헤더의 최소 길이이다.
본 발명의 일 실시예에 따른 베이스 헤더는, 3 비트의 packet_type 필드, 1 비트의 PC 필드 및/또는 11 비트의 길이(length) 필드를 포함할 수 있다. 실시예에 따라 베이스 헤더는 1비트의 HM 필드 또는 S/C 필드를 더 포함할 수 있다.
도 12는 본 발명의 packet_type 필드에 할당된 코드 값들의 의미의 실시예들을 보인 테이블이다.
상기 packet_type 필드는 도 12에서와 같이 링크 레이어 패킷으로의 인캡슐레이션 전의 입력 데이터의 패킷 타입 또는 원래의 프로토콜을 나타낸다. 즉, IPv4 패킷, 압축된 IP 패킷(compressed IP packet), 링크 레이어 시그널링 패킷, 및 그 밖의 타입의 패킷들이 이러한 베이스 헤더 구조를 가지며 인캡슐레이션 될 수 있다. 단, 실시예에 따라 MPEG-2 TS 패킷은 이와 다른 특별한 구조를 가지며 인캡슐레이션 될 수 있다. packet_type의 값이 “” “”“”또는 “110” 이면, 링크 레이어 패킷의 원래의 데이터 타입은 IPv4 패킷, 압축된 IP 패킷, 링크 레이어 시그널링 패킷 또는 익스텐션 패킷 중 하나이다. MPEG-2 TS 패킷이 링크 레이어 패킷으로 인캡슐화되면, packet_type의 값은 “111”이 될 수 있다. 다른 packet_type 필드의 값들은 향후 사용을 위해 남겨둘 수 있다(reserved for future use).
상기 Payload_Configuration (PC) 필드는 페이로드의 구성을 나타낸다. 0의 값은 링크 레이어 패킷이 싱글 즉, 전체 입력 패킷(whole input packet)을 전달하고 다음 필드가 Header_Mode라는 것을 나타낸다. 1의 값은 링크 레이어 패킷이 하나 이상의 입력 패킷 (컨캐터네이션)이나 큰 입력 패킷 의 일부(세그멘테이션)를 전달하며 다음 필드가 Segmentation_Concatenation이라는 것을 나타낸다.
상기 Header_Mode (HM) 필드는 0으로 설정되는 경우 추가 헤더가 없다는 것을 나타내고 링크 레이어 패킷의 페이로드의 길이가 2048 바이트보다 작다는 것을 나타낸다. 이 수치는 실시예에 따라 변경될 수 있다. 1의 값은 추가(additional) 헤더가 길이 필드 다음에 존재한다는 것을 나타낸다. 이 경우, 페이로드의 길이는 2047 바이트보다 크고/크거나 옵셔널 피쳐들(optional features) (서브 스트림 식별, 헤더 확장 등)가 사용될 수 있다. 이 수치는 실시예에 따라 변경될 수 있다. 본 필드는 링크 레이어 패킷의 Payload_Configuration 필드가 0의 값을 가질 때만 존재할 수 있다.
상기 Segmentation_Concatenation (S/C) 필드는 0으로 설정된 경우 페이로드가 입력 패킷의 세그먼트를 전달하고 세그멘테이션을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낸다. 1의 값은 페이로드가 하나보다 많은 완전한 입력 패킷을 전달하고 컨캐터네이션을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낸다. 본 필드는 링크 레이어 패킷의 Payload_Configuration 필드의 값이 1일 때만 존재할 수 있다.
상기 길이 필드는 해당 링크 레이어 패킷에 의해 전달되는 페이로드의 바이트 단위의 길이 중 하위 11 비트들 (즉, 11 LSBs, least significant bits)을 나타낼 수 있다. 다음의 추가 헤더에 Length_MSB 필드가 있으면, 길이 필드는 Length_MSB 필드에 컨캐터네이트되고(concatenated) 페이로드의 실제 총 길이를 제공하기 위해 LSB가 된다. 길이 필드의 비트수는 11 비트외에 다른 비트로 변경될 수도 있다.
따라서 다음의 패킷 구조의 타입이 가능하다. 즉, 추가 헤더가 없는 싱글 패킷, 추가 헤더가 있는 싱글 패킷, 세그멘트된 패킷, 컨캐터네이트된(concatenated) 패킷이 가능하다. 실시예에 따라 각 추가 헤더와 옵셔널 헤더, 후술할 시그널링 정보를 위한 추가 헤더와 타입 익스텐션을 위한 추가 헤더에 의한 조합으로, 더 많은 패킷 컨피규레이션이 가능할 수 있다.
도 13은 본 발명의 일 실시예에 따른 시그널링 정보를 위한 링크 레이어 패킷의 베이스 헤더 및 추가 헤더(additional header) 구조를 도시한 도면이다.
즉, 링크 레이어 시그널링이 어떻게 링크 레이어 패킷에 포함(incorporate)되는지는 다음과 같다. 링크 레이어 시그널링을 포함하는 링크 레이어 패킷 즉, 시그널링 패킷은 베이스 헤더의 packet_type 필드가 100과 같을 때 식별된다.
도 13에서 빗금친 부분이 시그널링 정보를 위한 추가 헤더(Additional header for signaling information)이다. 즉, 시그널링 인캡슐레이션에 대해, 링크 레이어 패킷은 2개의 파트들(즉, 시그널링 정보를 위한 추가 헤더와 실제 시그널링 테이블 자체)로 구성될 수 있다. 상기 시그널링 테이블은 링크 레이어 패킷의 페이로드에 포함된다. 그러므로 시그널링 테이블을 포함하는 링크 레이어 패킷의 총 길이는 링크 레이어 패킷 헤더에 나타내는 것을 일 실시예로 한다.
도 14는 본 발명의 시그널링 정보를 위한 추가 헤더 (signaling_information_hdr())의 신택스 구조의 일 실시예를 나타낸다. 도 14에서 일부 필드는 실시예에 따라 생략되거나 추가될 수 있다.
Signaling_Type 필드는 시그널링의 타입을 나타낼 수 있는 8비트 필드이다. 만일, Signaling_Type 필드의 값이 0x01이면 시그널링 테이블은 LMT (Link Mapping Table)임을 지시하고, 0x02이면 시그널링 테이블은 RDT임을 지시하는 것을 일 실시예로 한다.
Signaling_Type_Extension 필드는 시그널링의 속성을 나타낼 수 있는 16비트 필드이다. 해당 필드의 자세한 내용은 각 시그널링 테이블에서 정의될 수 있다.
Signaling_Version 필드는 시그널링의 버전을 나타낼 수 있는 8비트 필드이다. 이 필드의 값은 Signaling_type 필드에 의해 식별된 시그널링의 데이터가 변경될 때마다 1씩 증가하는 것을 일 실시예로 한다.
Signaling_Format 필드는 시그널링 데이터의 데이터 포맷을 나타낼 수 있는 2비트 필드이다. 여기서 데이터 포맷이란 바이너리, XML 등을 의미할 수 있다.
Signaling_Encoding 필드는 인코딩/압축 포맷을 특정할 수 있는 2비트 필드이다. 본 필드는 압축이 수행되지 않았는지, 어떤 특정한 압축이 수행되었는지를 지시할 수 있다.
상기 RDT와 LMT는 링크 레이어 시그널링에 포함되는 테이블이며, 이러한 링크 레이어 시그널링은 IP 레이어보다 하위 레벨에서 동작할 수 있다. 수신측에서는 SLT를 포함하는 LLS와 SLS과 같은 IP 레벨 시그널링보다, 링크 레이어 시그널링을 더 빠르게 획득할 수 있다. 따라서 링크 레이어 시그널링은 상위 레이어(upper-layer) 시그널링이 수신되기 전(즉, 세션 설정(establishment) 이전)에 획득될 수 있다.
링크 레이어 시그널링에는 입력 경로에 따라 인터널 링크 레이어 시그널링과 익스터널 링크 레이어 시그널링이 있을 수 있다. 인터널 링크 레이어 시그널링은 링크 레이어에서 생성된 시그널링 정보일 수 있다. 상기 RDT 나 LMT 등이 여기에 해당할 수 있다. 익스터널 링크 레이어 시그널링은 외부 모듈 또는 외부 프로토콜, 상위 레이어로부터 전달받은 시그널링 정보일 수 있다. 링크 레이어에서 인캡슐레이션 모듈은 링크 레이어 시그널링을 링크 레이어 패킷으로 인캡슐레이션하여 피지컬 레이어로 전달할 수 있다. 이때 링크 레이어 시그널링을 위한 링크 레이어 패킷 구조(헤더 구조)가 정의될 수 있는데, 이 구조에 따라 링크 레이어 시그널링 정보가 링크 레이어 패킷으로 인캡슐레이션될 수 있다.
도 15는 본 발명의 일 실시예에 따른 LMT (Link Mapping Table)의 신택스 구조를 도시한 도면이다. 즉, 시그널링 테이블이 LMT일 경우, 해당 링크 레이어 패킷의 헤더 내 시그널링 정보를 위한 추가 헤더의 signaling_type 필드 값은 0x01, signaling_type_extension 필드 값은 0xFFFF, signaling_format 필드 값은 00, signaling_encoding 필드 값은 00인 것을 일 실시예로 한다.
LMT 는 PLP 로 운반되는 상위 레이어 세션들의 리스트를 제공할 수 있다. 또한 LMT 는 상기 링크 레이어에서 상위 레이어 세션들을 전달하는 링크 레이어 패킷들을 프로세싱하기 위한 추가적인 정보(additional information)을 제공할 수 있다. 여기서 상위 레이어 세션은 멀티캐스트(multicast) 라고 불릴 수도 있다. 본 발명에서 멀티캐스트는 동시에 많은 수신자들에게 IP 네트워크를 통해 데이터를 보내는 것을 의미하기도 하고, 동시에 많은 수신자들에게 IP 네트워크를 통해 보내지는 데이터의 셋트를 의미하기도 한다. LMT는 특정 PLP 를 통해 어떠한 IP 스트림들, 어떠한 전송 세션들이 전송되고 있는지에 대한 정보를 시그널링할 수 있다. 반대로 특정 전송 세션이 어느 PLP 로 전달되는지에 대한 정보를 시그널링할 수도 있다.
LMT는 UDP/IPv4 멀티캐스트들에 대한 정보만을 제공하는 것을 일 실시예로 한다. 또한 LMT의 전송 효율을 위해, 세그멘테이션은 LMT를 위해 사용되지 않는 것을 일 실시예로 한다.
LMT 는 LLS 를 운반하는 것으로 식별된 PLP로 전달되는 것을 일 실시예로 한다. 여기서 LLS 가 전달되는 PLP 는 피지컬 레이어의 L1 베이직 시그널링 데이터의 L1B_lls_flag 필드와 L1 디테일 시그널링 데이터의 L1D_plp_lls_flag 필드에 의해 식별될 수 있다. 상기 L1B_lls_flag 필드는 현재 프레임 내 하나 이상의 PLPs에 LLS가 존재하는지 여부를 지시한다. 일 예로, L1B_lls_flag 필드의 값이 0이면 현재 프레임에 LLS가 없음을 지시하고, 1이면 현재 프레임으로 전송되는 LLS가 있음을 지시한다. 상기 L1D_plp_lls_flag 필드는 각각의 PLP 에 대하여, 현재 PLP가 LLS를 포함하는지 여부를 지시한다. 이 필드의 목적은 수신기들이 상위 레이어 시그널링 정보를 빠르게 찾을 수 (locate) 있게 하기 위해서이다. 즉, LMT 는 LLS 와 함께, 같은 PLP 로 전달될 수 있다. 각각의 LMT 들은 전술한 바와 같이 LLS 테이블들을 운반하는 식별된 PLP에서 레퍼런스되는 멀티캐스트와 관련된 IP address/port에 대해 PLP 들과 IP 어드레스들/포트들간의 매핑을 기술할 수 있다(Each instance of the LMT shall describe mappings between PLPs and IP addresses/ports for any IP address/port associated with any multicast referenced in the identified PLP carrying the LLS tables). 전술한 바와 같이 LLS 는 SLT 를 포함할 수 있는데, LMT 가 기술하는 이 IP 어드레스/포트들은, 해당 LMT 와 같은 PLP 로 전달되는 SLT 가 기술하는, 모든(any) 서비스와 관련된 모든(any) IP 어드레스/포트들일 수 있다.
하지만, 상기 LMT는 LLS와 관련된 멀티캐스트 즉, 데스티네이션 어드레스 224.0.23.60와 데스티네이션 포트 4397를 갖는 멀티캐스트를 위한 매핑은 기술하지 않는다(However, the LMT shall not describe mappings for the multicast that is associated with LLS, namely multicasts with destination address 224.0.23.60 and destination port 4397). 추가적으로, 임의의 LMT는 LLS 테이블들을 운반하는 식별된 PLP에서 참조 여부에 따라, 임의의 멀티캐스트들에 대한 PLP들과 IP 어드레스들/포트들 사이의 매핑을 기술할 수도 있다(Additionally, any LMT may describe mappings between PLPs and IP addresses/ports for any multicast, whether or not referenced in the identified PLP carrying the LLS tables).
실시예에 따라 전술한 SLT, SLS 등에서의 PLP 식별자 정보가 활용되어, SLT, SLS 가 지시하는 특정 전송 세션이 어느 PLP 로 전송되고 있는지에 대한 정보가 확인될 수 있다.
다른 실시예에 따라 전술한 SLT, SLS 등에서의 PLP 식별자 정보는 생략되고, SLT, SLS 가 지시하는 특정 전송 세션에 대한 PLP 정보는 LMT 내의 정보를 참조함으로써 확인될 수 있다. 이 경우 수신기는 LMT 와 다른 IP 레벨 시그널링 정보들을 조합하여, 알고자 하는 PLP 를 식별할 수 있다. 이 실시예에 있어서도 SLT, SLS 등에서의 PLP 정보는 생략되지 않고, SLT, SLS 등에 남아있을 수 있다.
LMT 는 PLP_ID 필드, num_session 필드 및/또는 각각의 세션들에 대한 정보들을 포함할 수 있다. LMT 는 하나의 PLP 에 대해서, 그 PLP 로 전송되는 IP 스트림들을 기술할 수도 있고, PLP 루프가 추가되어, 복수개의 PLP 에 대한 정보를 기술할 수도 있다. 이 경우 LMT 는 전술한 바와 같이, 함께 전달되는 SLT 가 기술하는 모든 서비스와 관련된 모든 IP 어드레스/포트들에 대한 PLP 들을, PLP 루프로 기술할 수 있다.
도 15의 LMT에서 세션들은 멀티캐스트들과 같은 의미로 사용되는 것을 일 실시예로 한다. 상기 LMT는 num_PLPs_minus1 필드를 더 포함할 수 있다.
상기 num_PLPs_minus1 필드는 이 테이블에서 제공되는 세션-PLP 매핑을 위한 PLP 개수보다 하나 작은 값을 지시한다. PLP_ID 필드는 해당 세션에 대응하는 PLP 를 지시한다. PLP 루프가 사용되는 경우, 각각의 PLP_ID 필드는 각각의 대상 PLP 를 식별할 수 있다. PLP_ID 필드부터는 PLP 루프 내에 포함될 수 있다. 이하 언급되는 PLP_ID 필드는 PLP 루프 중의 PLP 하나에 대한 식별자이며, 이하 설명되는 필드들은 그 해당 PLP 에 대한 필드들일 수 있다.
num_session 필드는 해당 PLP_ID 필드에 의해 식별되는 PLP 로 전달되는 상위 레이어 세션들의 개수를 나타낼 수 있다. num_session 필드가 나타내는 개수에 따라, 각각의 세션들에 대한 정보들이 포함될 수 있다. 이 정보에는 src_IP_add 필드, dst_IP_add 필드, src_UDP_port 필드, dst_UDP_port 필드, SID_flag 필드, compressed_flag 필드, SID 필드 및/또는 context_id 필드가 있을 수 있다.
src_IP_add 필드, dst_IP_add 필드, src_UDP_port 필드 및 dst_UDP_port 필드는 해당 PLP_ID 필드에 의해 식별되는 PLP 로 전달되는 상위 레이어 세션들 중, 해당 전송 세션에 대한 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트, 데스티네이션 UDP 포트를 나타낼 수 있다.
SID_flag 필드는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖는지 여부를 지시할 수 있다. 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 옵셔널 헤더에 SID 필드를 가질 수 있고, 그 SID 필드 값은 후술할 LMT 내의 SID 필드와 동일할 수 있다.
compressed_flag 필드는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷들에 헤더 압축이 적용되었는지 여부를 지시할 수 있다. 또한 본 필드의 값에 따라 후술할 context_id 필드의 존재 여부가 결정될 수 있다. 헤더 압축이 적용된 경우(compressed_flag = 1), RDT 가 존재할 수 있고, 그 RDT 의 PLP ID 필드는 본 compressed_flag 필드와 관련된 해당 PLP_ID 필드와 같은 값을 가질 수 있다.
SID 필드는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷들에 대한 SID (sub stream ID) 를 지시할 수 있다. 이 링크 레이어 패킷들은, 그 옵셔널 헤더에 본 SID 필드와 같은 값을 가지는 SID 를 포함하고 있을 수 있다. 이를 통해 수신기는 링크 레이어 패킷을 전부 파싱할 필요 없이, LMT 의 정보와 링크 레이어 패킷 헤더의 SID 정보를 이용하여, 링크 레이어 패킷들을 필터링할 수 있다.
context_id 필드는 RDT에서 제공되는 CID(context id) 에 대한 레퍼런스를 제공할 수 있다. RDT 의 CID 정보는 압축된 IP 스트림(compressed IP stream, 즉 RoHC 스트림)의 컨텍스트 ID 를 나타낼 수 있다. RDT 는 해당 압축된 IP 스트림에 대한 컨텍스트 정보들을 제공할 수 있다. 본 필드를 통해 RDT 와 LMT 가 연관될 수 있다.
전술한, 본 발명의 시그널링 정보/테이블의 실시예들에 있어서, 각각의 필드, 엘레멘트, 속성들은 생략되거나 다른 필드로 대체될 수 있으며, 실시예에 따라 추가적인 필드, 엘레멘트, 속성들이 추가될 수도 있다.
도 16은 본 발명의 일 실시예에 따른 RDT (RoHC-U Description Table)의 신택스 구조를 도시한 도면이다. 즉, 시그널링 테이블이 RDT일 경우, 해당 링크 레이어 패킷의 헤더 내 시그널링 정보를 위한 추가 헤더의 signaling_type 필드 값은 0x02, signaling_type_extension 필드 값은 0xFFFF, signaling_format 필드 값은 00, signaling_encoding 필드 값은 00인 것을 일 실시예로 한다.
도 16의 RDT는 PLP_ID 필드, max_CID 필드, adaptation_mode 필드, context_config 필드, num_context 필드, context_id 필드, context_profile 필드, context_length 필드, static_chain_byte () 필드 및/또는 dynamic_chain_byte () 필드를 포함할 수 있다.
상기 PLP_ID 필드는 이 RDT 테이블에 대응하는 PLP를 나타내는 8비트 필드일 수 있다.
상기 max_CID 필드는 이 PLP에 대응하여 사용되는 context ID의 최대 값을 지시한다.
상기 context_id 필드는 압축된 IP 스트림 (compressed IP stream, 즉 RoHC 스트림)의 컨텍스트 식별자(CID)를 나타내는 8비트 필드일 수 있다. 해당 시스템에서, 8비트의 CID는 라지 CID를 위해 사용될 수 있다.
상기 context_profile 필드는 IP 패킷을 압축하기 위해 사용되는 프로토콜 (또는 레이어)의 범위를 나타내는 8비트 필드일 수 있다. 본 발명은 상기 context_profile 필드 값이 0이면 데이터 패킷이 RoHC 압축 포맷을 가지나, 실제 헤더 정보는 압축되지 않았음을 지시한다. 그리고 상기 context_profile 필드 값이 1이면 RTP까지, 2이면 UDP까지, 3이면 ESP까지, 4이면 IP까지 RoHC 방식으로 압축되었음을 지시하는 것을 일 실시예로 한다. 해당 필드는 생략될 수 있다.
상기 adaptation_mode 필드는 해당 PLP에서 어댑테이션 모듈의 모드를 나타내는 2비트 필드일 수 있다. 본 발명에서는 adaptation_mode 필드 값이 00이면 어댑테이션 모드 1을 지시하고, adaptation_mode 필드 값이 01이면 어댑테이션 모드 2를 지시하며, adaptation_mode 필드 값이 10이면 어댑테이션 모드 3을 지시하는 것을 일 실시예로 한다. 각 어댑테이션 모드에 대해서는 전술하였다.
상기 context_config 필드는 컨텍스트 정보의 조합을 나타내는 2비트 필드일 수 있다. 해당 테이블에 컨텍스트 정보가 존재하지 않으면, 해당 필드는 '0x00'으로 설정될 수 있다. 해당 테이블에 static_chain_byte () 필드가 포함되면, 상기 context_config 필드는 '0x01'로 설정되고, 해당 테이블에 dynamic_chain_byte () 필드가 포함되면 상기 context_config 필드는 '0x02'로 설정될 수 있다. 해당 테이블에 static_chain_byte () 필드 및 dynamic_chain_byte () 필드가 모두 포함되면, 상기 context_config 필드는 '0x03'으로 설정될 수 있다.
상기 num_context 필드는 이 테이블의 context의 개수를 지시한다. 상기 num_context 필드의 값은 max_CID 필드 값보다 클 수 없다.
상기 context_length 필드는 상기 context_config 필드를 기반으로 static_chain_byte () 필드 또는 dynamic_chain_byte () 필드 또는 static_chain_byte () 필드와 dynamic_chain_byte () 필드를 합한 필드의 길이를 나타내는 8비트 필드일 수 있다. 해당 필드는 생략될 수 있다.
상기 static_chain_byte () 필드는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 스태틱 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 context profile에 의존한다.
상기 dynamic_chain_byte () 필드는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 다이나믹 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 context profile에 의존한다.
상기 static_chain_byte () 필드는 IR 패킷의 서브 헤더 정보로 정의될 수 있다. 상기 dynamic_chain_byte () 필드는 IR 패킷 및 IR-DYN 패킷의 서브 헤더 정보로 정의될 수 있다.
도 16의 RDT는 상기 num_context 필드 값만큼 컨텍스트 루프가 반복되는데, 각 컨텍스트 루프는 context_id 필드, context_config 필드, context_length 필드를 포함한다. 또한 각 컨텍스트 루프는 상기 context_config 필드 값에 따라 static_chain_byte () 필드 및/또는 dynamic_chain_byte () 필드를 더 포함한다.
그리고, 도 7의 어댑테이션 모듈에서 어댑테이션 모드 1 또는 어댑테이션 모드 2로 동작하면, 상기 RDT의 concotext_config 필드는 '0x00' 또는 '0x01'로 설정되고, 어댑테이션 모드 2 또는 어댑테이션 모드 3으로 동작하면, 상기 RDT의 concotext_config 필드는 '0x02' 또는 '0x03'로 설정될 수 있다.
전술한 바와 같이, 링크 레이어에서 생성된 링크 레이어 패킷들을 포함하는 ALP 스트림은 피지컬 레이어로 전송된다.
한편 본 발명에 따른 헤더 압축 정보와 컨텍스트 정보(어댑테이션 모드 2와 3인 경우)를 포함하는 RDT는 2개의 전송 모드 (transmission mode)로 구분할 수 있다. 2개의 전송 모드 중 하나는 catalog RDT라 명명하고, 다른 하나는 discrete RDT라 명명하기로 한다. 본 발명은 설명의 편의를 위해 catalog RDT를 제1 RDT라 명명하고, discrete RDT를 제2 RDT라 명명할 수도 있다. 또는 반대로 discrete RDT를 제1 RDT라 명명하고, catalog RDT를 제2 RDT라 명명할 수도 있다.
본 발명에서 catalog RDT는 하나 이상의 RoHC/ALP 스트림들을 위한 컨텍스트 정보를 포함하는 RDT 전송 모드로 정의되며, 시그널링 PLP로 전송되는 것을 일 실시예로 한다. 그러므로 본 발명은 멀티플 ALP 스트림들을 위한 멀티플 RDT들을 제공할 수 있다. 상기 시그널링 PLP는 LMT, LLS 등도 전송하는 것을 일 실시예로 한다. 수신기는 랜덤 억세스 포인트에서 catalog RDT를 획득할 수 있다. 상기 catalog RDT는 상기 시그널링 PLP 대신 로버스트한 특정 PLP로 전송될 수도 있다. 상기 특정 PLP를 통해 LMT도 전송하는 것을 일 실시예로 한다. LMT를 전송하는 PLP를 통해 catalog PLP를 전송하게 되면, 수신기에서는 LMT와 calalog RDT를 동시에 획득할 수 있다. 본 발명은 상기 catalog RDT를 전송하는 PLP와 상기 catalog RDT와 관련된 RoHC 패킷 플로우를 전송하는 PLP가 다른 것을 일 실시예로 한다.
본 발명에서 discrete RDT는 그것이 지원하는 ALP 스트림 내에서 독점적으로(exclusively) 전송(carry)되는 RDT 전송 모드로 정의된다. 이러한 접근은 RFC 3095에 부합되며, 컨텍스트(context)는 항상 관련된 IP 스트림 내에서 전송(carry)된다. 즉, 상기 discrete RDT는 컨텍스트 변경(context change)에 따라 수시로 생성되며, 관련된 RoHC 패킷 플로우가 전송되는 PLP로 함께 전송될 수 있다. 상기 discrete RDT는 컨텍스트가 변경되면 생성되어 즉시 전송되므로, 랜덤 억세스 포인트에 전송되지 않는 경우가 있다. 본 발명은 상기 discrete RDT를 전송하는 PLP와 상기 discrete RDT와 관련된 RoHC 패킷 플로우를 전송하는 PLP가 동일한 것을 일 실시예로 한다.
그리고 상기 catalog RDT의 신택스 구조와 상기 discrete RDT의 신택스 구조는 동일할 수도 있고 다를 수도 있다. 본 발명에서는 catalog RDT와 discrete RDT가 도 16의 RDT 신택스 구조를 따르는 것을 일 실시예로 한다.
또한 catalog RDT를 전송하는 링크 레이어 패킷의 패킷 타입 필드의 값과 discrete RDT를 전송하는 링크 레이어 패킷의 패킷 타입 필드의 값은 '100'가 할당되는 것을 일 실시예로 한다.
그리고 상기 링크 레이어 패킷의 패킷 타입 필드의 값이 '100'이면 해당 링크 레이어 패킷의 헤더는 시그널링 정보를 위한 추가 헤더를 더 포함하는 것을 일 실시예로 한다.
상기 catalog RDT와 discrete RDT가 동시에 전송될 때, 수신기가 채널 변경 상황이라면 수신기는 catalog RDT를 먼저 처리하는 것을 일 실시예로 한다.
상기 catalog RDT와 discrete RDT가 동시에 전송될 때, 수신기가 컨텐트 스트림을 수신하고 있는 상황이라면 수신기는 discrete RDT를 먼저 처리하는 것을 일 실시예로 한다.
그리고 이러한 동작을 수행하기 위해서는 수신기에서 catalog RDT와 discrete RDT를 식별하는 방법이 필요하다.
본 발명은 링크 레이어 패킷의 헤더 내 시그널링 정보를 위한 추가 헤더의 signaling_type 필드를 이용하여 catalog RDT와 discrete RDT를 식별하는 것을 일 실시예로 한다. 즉, 수신기는 시그널링 PLP로 수신되는 링크 레이어 패킷의 패킷 타입 필드의 값이 '100'이고 해당 링크 레이어 패킷의 시그널링 정보를 위한 추가 헤더의 signaling_type 필드 값이 0x02이면 해당 링크 레이어 패킷의 페이로드로 딜리버리되는 테이블은 catalog RDT라고 식별한다. 그리고 수신기는 데이터 PLP로 수신되는 링크 레이어 패킷의 패킷 타입 필드의 값이 '100'이고 해당 링크 레이어 패킷의 시그널링 정보를 위한 추가 헤더의 signaling_type 필드 값이 0x02이면 해당 링크 레이어 패킷의 페이로드로 딜리버리되는 테이블은 discrete RDT라고 식별한다.
도 17은 본 발명에 따른 ALP 스트림들의 전송을 위한 링크 레이어 시스템의 구성 블록도의 일 실시예를 보이고 있다. 도 17은 크게 상위 레이어(upper-layer) 블록(1100), 링크 레이어 블록(1200), 그리고 피지컬 레이어 블록(1300)으로 구성된다.
상기 상위 레이어 블록(1100)의 데이터 소스(data source)는 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트 번호, 데스티네이션 UDP 번호에 의해 식별되는 멀티캐스트(multicast)인 것을 일 실시예로 한다. 본 발명에서 멀티캐스트는 동시에 많은 수신자들에게 IP 네트워크를 통해 데이터를 보내는 것을 의미하기도 하고, 동시에 많은 수신자들에게 IP 네트워크를 통해 보내지는 데이터의 셋트를 의미하기도 한다.
본 발명에서 멀티캐스트는 IP 스트림이라 하기도 하며, 상위 레이어 세션이라 하기도 한다.
상기 링크 레이어 블록(1200)은 상기 상위 레이어 블록(1100)에서 하나 이상의 멀티캐스트들을 입력받아 하나 이상의 ALP 스트림들을 생성한 후 피지컬 레이어 블록(1300)의 하나 이상의 PLP들로 딜리버리한다. 각 ALP 스트림은 하나 이상의 링크 레이어 패킷들을 포함한다.
이때, 하나의 ALP 스트림은 하나의 PLP로만 딜리버리된다. 그러므로, 복수개의 ALP 스트림들을 딜리버리하기 위해서 상기 링크 레이어 블록(1200)은 복수개의 ALP 스트림 제네레이터들을 구비하여야 하며, 상기 피지컬 레이어 블록(1300)도 복수개의 PLP들의 데이터를 처리할 수 있어야 한다. 예를 들어, k (k는 2 이상)개의 ALP 스트림들을 생성하여 딜리버리하기 위해서는 k개의 ALP 스트림 제네레이터들과 k개의 PLP들이 요구된다.
다시 말해, 상기 링크 레이어 블록(1200)의 각 ALP 스트림 제네레이터로부터 출력되는 각 ALP 스트림은 그것의 고유의 PLP (its unique PLP)로 딜리버리된다. 그러므로, 상기 PLP를 식별하기 위한 PLP ID는 해당 ALP 스트림을 식별하기 위한 ALP 스트림 ID(ALP stream ID)와 해당 ALP 스트림 제네레이터를 식별하기 위한 ALP 스트림 제네레이터 ID (ALP stream generator ID)로 사용될 수 있다.
또한, 전술한 RoHC 압축에서, RoHC 프레임워크는 압축된 패킷 플로우(compressed packet flow)를 식별하기 위해 RoHC 채널들을 정의하였다. 본 발명에서 싱글 RoHC 채널은 하나의 ALP 스트림 내에서 구성되는 것을 일 실시예로 하고 있다(single RoHC channel is configured in an ALP stream). 그러므로, 상기 PLP를 식별하는 PLP ID는 상기 RoHC 채널을 식별하는 RoHC 채널 번호(RoHC channel number)에 매핑될 수 있다.
즉, RoHC 채널과 ALP 스트림과 PLP는 1:1:1로 매핑될 수 있다. 그러므로, 상기 PLP를 식별하기 위한 PLP ID는 상기 RoHC 채널을 식별하기 위한 식별자와 상기 ALP 스트림을 식별하기 위한 식별자로 이용될 수 있다.
따라서, 각 ALP 스트림 제네레이터는 RoHC 스트림을 출력하는 IP 헤더 압축부와 ALP 스트림을 출력하는 인캡슐레이션 모듈을 포함한다.
상기 IP 헤더 압축부는 프리 프로세싱 모듈, RoHC 모듈, 및 어댑테이션 모듈을 포함한다. 상기 IP 헤더 압축부의 RoHC 모듈은 하나 이상의 멀티캐스트들 내 IP 패킷들을 입력받아 헤더 압축을 수행한다. 만일 헤더 압축을 위해 입력되는 IP 패킷들이 프래그먼트된 패킷들이라면 프리 프로세싱 모듈에서 IP 디-프래그멘테이션(de-fragmentation)을 수행하여 프래그먼트되기 전 IP 패킷으로 복구한 후 RoHC 모듈에서 헤더 압축을 수행한다.
상기 헤더 압축이 수행되면 압축 전 IP 패킷들에 대응하는 RoHC 패킷들이 생성된다. 상기 RoHC 패킷들은 IR 패킷, IR-DYN 패킷, compressed 패킷들을 포함하며, 상기 RoHC 패킷들을 포함하는 스트림을 RoHC 스트림 (또는 compressed IP 스트림)이라 한다.
그리고 나서, 상기 어댑테이션 모듈은 어댑테이션 모드를 기반으로 상기 RoHC 패킷들에 대해 어댑테이션 기능을 수행하여 RDT와 RoHC 스트림을 인캡슐레이션 모듈로 출력한다. 상기 RoHC 모듈에서 출력되는 RoHC 스트림에 포함되는 적어도 하나의 RoHC 패킷의 타입은 어댑테이션 모드에 따라 달라진다.
예를 들어, 어댑테이션 모드 1에서는 RoHC 패킷들로부터 컨텍스트 정보를 추출하지 않으며, RDT는 헤더 압축에 관련된 정보만을 포함한다. 이 경우 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림은 적어도 IR 패킷, IR-DYN 패킷, 그리고 compressed 패킷들을 포함한다.
어댑테이션 모드 2 에서는 RoHC 패킷들 중 IR 패킷의 헤더로부터 컨텍스트 정보(즉, 스태틱 체인 정보)를 추출하고, 컨텍스트 정보가 추출된 IR 패킷은 IR-DYN 패킷으로 변환한 후, 변환된 IR-DYN 패킷은 원래의 IR 패킷을 대체하여 RoHC 스트림 내에서 같은 순서로 인캡슐레이션 모듈로 출력된다. 즉, 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림은 적어도 상기 헤더 압축에 의해 생성된 IR-DYN 패킷, 상기 변환된 IR-DYN 패킷, 및 상기 compressed 패킷들을 포함한다. 그리고 상기 IR 패킷으로부터 추출된 컨텍스트 정보는 RDT에 포함되어 인캡슐레이션 모듈로 출력된다.
어댑테이션 모드 3에서는 RoHC 패킷들 중 IR 패킷 및 IR-DYN 패킷으로부터 컨텍스트 정보 (즉, IR 패킷으로부터 스태틱 체인 정보와 다이나믹 체인 정보 및 IR-DYN 패킷으로부터 다이나믹 체인 정보)를 추출하고, 상기 컨텍스트 정보가 추출된 IR 및 IR-DYN 패킷은 compressed 패킷들로 변환한다. 그리고 상기 변환된 compressed 패킷들은 원래의 IR 및 IR-DYN 패킷들을 대체하여 RoHC 스트림 내에서 같은 순서로 인캡슐레이션 모듈로 출력된다. 즉, 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림은 적어도 상기 헤더 압축에 의해 생성된 compressed 패킷들과 상기 변환된 compressed 패킷들을 포함한다. 그리고 상기 IR 및 IR-DYN 패킷들로부터 추출된 컨텍스트 정보는 RDT에 포함되어 인캡슐레이션 모듈로 출력된다.
상기 인캡슐레이션 모듈은 상기 RDT를 포함하는 적어도 하나의 링크 레이어 패킷과 상기 RoHC 스트림 내 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷을 생성한다. 이때, 상기 RDT를 포함하는 적어도 하나의 링크 레이어 패킷의 헤더 내 packet type 필드의 값은 100이고, 상기 RoHC 스트림 내 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷의 헤더 내 packet type 필드의 값은 010이다. 이에 더하여, 상기 인캡슐레이션 모듈은 하나 이상의 멀티캐스트들 내 IP 패킷들 (즉, 헤더 압축되지 않은 IP 패킷들)을 포함하는 적어도 하나의 링크 레이어 패킷을 생성할 수도 있다. 상기 IP 헤더 압축부를 거치지 않은 IP 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷의 헤더 내 packet type 필드의 값은 000이다. 본 발명에서 LLS는 IP 어드레스 224.0.23.60 그리고 데스티네이션 포트 번호 4937를 갖는 IP 패킷들로 전송된다. 그리고 상기 LLS를 포함하는 IP 패킷에 대해서는 헤더 압축을 수행하지 않는 것을 일 실시예로 한다.
상기 인캡슐레이션 모듈은 RDT를 포함하는 적어도 하나의 링크 레이어 패킷을 생성하는 인캡슐레이터, 상기 RoHC 스트림 내 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷을 생성하는 인캡슐레이터, 상기 IP 헤더 압축부를 거치지 않은 IP 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷을 포함하는 인캡슐레이터를 각각 구비할 수도 있고, 이 중 적어도 하나를 구비할 수도 있다. 만일 상기 인캡슐레이션 모듈에 복수개의 인캡슐레이터들이 구비되어 있다면, 각 인캡슐레이터의 출력 스트림은 서브 스트림이라 칭하고, 각각을 서브 스트림 식별자로 구분하는 것을 일 실시예로 한다. 서브 스트림 식별자의 유무 및 각 서브 스트림 식별자는 해당 링크 레이어 패킷 및/또는 LMT에 시그널링되어 있다.
상기 인캡슐레이션 모듈에서는 하나의 ALP 스트림만 출력된다. 상기 ALP 스트림은 RDT 타입, 헤더 압축 여부 등에 따라 상기 RDT를 포함하는 적어도 하나의 링크 레이어 패킷, 상기 RoHC 스트림 내 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷, 그리고 상기 IP 헤더 압축부를 거치지 않은 IP 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷 중 적어도 하나를 포함한다.
상기 인캡슐레이션 모듈에서 출력되는 ALP 스트림은 피지컬 레이어 블록(1300)의 해당 PLP로 딜리버리된다. 이때, 상기 PLP를 식별하기 위한 PLP ID는 해당 LMT에 시그널링되어 있다. 즉, 상기 ALP 스트림에 포함된 하나 이상의 멀티캐스트들을 식별하기 위한 IP 어드레스/포트 정보와 상기 ALP 스트림을 전송하는 PLP를 매핑하기 위한 매핑 정보는 LMT에 시그널링되어 있다.
설명의 편의를 위해 도 17에서, 부호 1210은 제1 ALP 스트림 제네레이터, 부호 1220은 제2 ALP 스트림 제네레이터, 부호 1230은 제3 ALP 스트림 제네레이터라 하기로 한다. 상기 제1 ALP 스트림 제네레이터(1210)는 하나 이상의 멀티캐스트들을 기반으로 제1 RDT와 제1 RoHC 스트림을 생성하여 출력하는 제1 IP 헤더 압축부와 상기 제1 RoHC 스트림을 기반으로 제1 ALP 스트림을 생성하여 출력하는 제1 인캡슐레이션 모듈을 포함하는 것을 일 실시예로 한다. 상기 제2 ALP 스트림 제네레이터(1220)는 하나 이상의 멀티캐스트들을 기반으로 제2 RDT와 제2 RoHC 스트림을 생성하여 출력하는 제2 IP 헤더 압축부와 상기 제2 RoHC 스트림을 기반으로 제2 ALP 스트림을 생성하여 출력하는 제2 인캡슐레이션 모듈을 포함하는 것을 일 실시예로 한다. 상기 제3 ALP 스트림 제네레이터(1230)는 하나 이상의 멀티캐스트들을 기반으로 제3 RDT와 제3 RoHC 스트림을 생성하여 출력하는 제3 IP 헤더 압축부와 상기 제3 RoHC 스트림을 기반으로 제3 ALP 스트림을 생성하여 출력하는 제3 인캡슐레이션 모듈을 포함하는 것을 일 실시예로 한다.
상기 제1 RDT에 시그널링된 PLP ID와 상기 제1 RoHC 채널을 포함하는 제1 ALP 스트림을 전송하는 PLP의 PLP ID는 동일한 것을 일 실시예로 한다. 상기 제2 RDT에 시그널링된 PLP ID와 상기 제2 RoHC 채널을 포함하는 제2 ALP 스트림을 전송하는 PLP의 PLP ID는 동일한 것을 일 실시예로 한다. 상기 제3 RDT에 시그널링된 PLP ID와 상기 제3 RoHC 채널을 포함하는 제3 ALP 스트림을 전송하는 PLP의 PLP ID는 동일한 것을 일 실시예로 한다.
이때 각 RDT는 도 16에서와 같이 PLP_ID 필드, max_CID 필드, adaptation_mode 필드, context_config 필드, num_context 필드, 및 상기 num_context 필드의 값만큼 반복되는 컨텍스트 루프를 포함한다. 각 컨텍스트 루프는 context_id 필드, context_config 필드, 및 context_length 필드를 포함한다. 또한 각 컨텍스트 루프는 상기 context_config 필드 값에 따라 static_chain_byte () 필드 및/또는 dynamic_chain_byte () 필드를 더 포함한다. 각 필드들의 설명은 도 16을 참조하기로 하고 여기서는 생략한다.
한편 본 발명에서 RDT는 전술한 바와 같이 RDT 전송 모드에 따라 catalog RDT와 discrete RDT로 구분하고 있다.
도 17에서 제1 RDT와 제2 RDT는 catalog RDT로 분류되고, 제3 RDT는 discrete RDT로 분류되는 것을 일 실시예로 한다. 즉, 상기 제1 RDT와 제2 RDT를 포함하는 catalog RDT는 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션되어 특정 PLP로 전송되고, 상기 제3 RDT는 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션되어 상기 제3 RoHC 채널을 전송하는 PLP로 전송된다. 상기 catalog RDT를 전송하는 특정 PLP는 시그널링 PLP일 수도 있고, 상기 제1 RoHC 채널을 전송하는 PLP(PLP #0)일 수도 있으며, 상기 제2 RoHC 채널을 전송하는 PLP(PLP #1)일 수도 있다. 즉, 복수개의 ALP 스트림들을 위한 복수개의 RDT들을 포함하는 catalog RDT가 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션되어 특정 PLP를 통해 전송될 수 있다.
이때 복수개의 RDT들을 포함하는 catalog RDT를 적어도 하나의 링크 레이어 패킷으로 인캡슐레이션하는 방법은 여러 가지가 있을 수 있다.
본 발명은 복수개의 RDT들을 포함하는 catalog RDT를 컨케터네이션(concatenation) 스킴에 의해 하나의 링크 레이어 패킷으로 인캡슐레이션하는 것을 일 실시예로 한다. 즉, catalog RDT에 포함되는 RDT들을 하나의 링크 레이어 패킷의 페이로드에 컨케티네이트하고, 해당 링크 레이어 패킷의 헤더에 이를 시그널링하는 것이다. 이렇게 하면, 기존 수신 시스템에서 하나의 RDT를 수신하는데 전혀 영향을 주지 않으면서(backward compatible), 복수개의 RDT들을 포함하는 catalog RDT를 하나의 링크 레이어 패킷으로 전송할 수 있게 된다. 다시 말해, 복수개의 RDT들을 포함하는 catalog RDT를 컨케터네이션 방식으로 전송하면, 컨텍스트의 멀티플 PLP 정보를 동시에 전송할 수 있는 효과가 있다.
예를 들어, catalog RDT가 도 17과 같이 2개의 RDT들을 포함한다고 가정하면, 도 13과 같은 링크 레이어 시그널링을 위한 링크 레이어 패킷의 헤더 구조에서 베이스 헤더 내 packet_type 필드 값은 “100”이고, PC 필드 값은 “1”이며, S/C 필드 값도 “1”이다. 그리고 베이스 헤더의 11 비트의 Length_LSB 필드와 컨케터네이션을 위한 추가 헤더(additional header for concatenation)의 Length_MSB 필드는 해당 링크 레이어 패킷의 페이로드의 전체 길이를 나타내고, count 필드는 해당 링크 레이어 패킷의 페이로드에 컨커터네이트된 RDT들의 개수를 나타낸다. 그러므로, 상기 count 필드 값은 “2”이다. 그리고 SIF 필드 값은 “”이고, component_length 필드는 2개의 RDT 각각의 길이를 나타낸다. 이어, 시그널링 정보를 위한 추가 헤더(additional header for signaling information)의 signaling_type 필드 값은 “0x02”signaling_type_extension 필드 값은 “xFFFF”signaling_format 필드 값은 “”, signaling_encoding 필드 값은 “”인 것을 일 실시예로 한다. 본 발명은 시스템 RAP (Random Access Point)에서 catalog RDT의 멀티플 RDT 전송을 위해 컨케티네이션 방식을 사용하는 것을 일 실시예로 한다. 여기서 RAP은 미디어 클라이언트와 디코더가 동작을 시작할 수 있는 데이터 시퀀스의 첫번째 바이트를 의미한다.
본 발명은 다른 실시예로, catalog RDT 내 각 RDT를 각 링크 레이어 패킷으로 인캡슐레이션하는 방법이다. 이 경우, catalog RDT에 포함되는 RDT들의 개수만큼 링크 레이어 패킷들이 생성되며, 각 링크 레이어 패킷의 헤더는 베이스 헤더와 시그널링 정보를 위한 추가 헤더로 구성된다.
본 발명은 또 다른 실시예로, 도 16과 같은 RDT 구조에 catalog RDT에 포함되는 RDT들의 개수만큼 반복되는 PLP 루프를 추가하여 해당 PLP로 전송되는 RoHC 채널과 관련된 헤더 압축 정보와 컨텍스트 정보를 시그널링하는 방법이다.
한편, 상기 제1 RDT와 제2 RDT를 포함하는 catalog RDT를 전송하는 특정 PLP는 LMT도 전송한다. 상기 LMT는 도 15에서와 같이 상기 PLP #0로 carry되는 멀티캐스트들의 리스트와 상기 PLP #1로 carry되는 멀티캐스트들의 리스트를 제공한다. 또한 상기 LMT는 링크 레이어에서 멀티캐스트들을 carrying하는 링크 레이어 패킷들을 프로세싱하기 위한 추가적인 정보(additional information)를 제공한다. 도 17에서는 PLP #0를 통해 상기 catalog RDT와 상기 LMT를 carry하는 것을 일 실시예로 보이고 있다.
도 17에서, discrete RDT인 제3 RDT는 상기 제3 RoHC 채널과 관련된 헤더 압축 정보 및 컨텍트스 정보를 시그널링하고 있으며, 상기 제3 RoHC 채널과 함께 동일 PLP (PLP #3)로 전송된다. 이때 LMT도 PLP #3로 전송되며, 상기 LMT는 도 15에서와 같이 상기 PLP #3으로 carry되는 멀티캐스트들의 리스트와 링크 레이어에서 멀티캐스트들을 carrying하는 링크 레이어 패킷들을 프로세싱하기 위한 추가적인 정보(additional information)를 제공한다.
도 17에서는 복수개의 ALP 스트림 제네레이터(1210-1230)의 IP 헤더 압축부가 모두 동작할 수도 있고 이 중 적어도 하나만 동작할 수도 있으며, 어느 것도 동작하지 않을 수도 있다.
도 18은 본 발명에 따른 각 ALP 스트림 제네레이터에 포함된 IP 헤더 압축부의 일 실시예를 보인 상세 구성 블록도이다.
상기 IP 헤더 압축부는 프리 프로세싱 모듈(2100), RoHC 모듈(2200), 및 어댑테이션 모듈(2300)을 포함한다.
상기 프리 프로세싱 모듈(2100)은 헤더 압축을 위해 입력되는 IP 스트림 내 IP 패킷이 프래그먼트된 패킷이라면 프래그먼트된 IP 패킷들을 모아 IP 디-프래그멘테이션(de-fragmentation)을 수행하여 프래그먼트되기 전 IP 패킷으로 복구한 후 RoHC 모듈(2200)로 출력한다. 그러므로, 상기 프리-프로세싱 모듈(2100)에서 출력되는 IP 패킷들의 각 헤더는 IP 헤더와 UDP 헤더를 모두 갖고 있게 된다. 이때 IP 패킷의 프래그멘테이션 여부 판단 및 디-프래그멘테이션 과정은 위에서 상세히 설명하였으므로 여기서는 생략한다. 만일 입력된 IP 패킷이 프래그먼트되지 않은 패킷이라면 그대로 상기 RoHC 모듈(2200)로 출력한다.
상기 RoHC 모듈(2200)은 상기 프리 프로세싱 모듈(2100)에서 출력되는 IP 스트림의 IP 패킷들에 대해 RoHC 스킴으로 헤더 압축을 수행한다.
이를 위해 상기 RoHC 모듈(2200)은 컨텍스트 매니지먼트부(2210)와 RoHC 패킷 생성부(2220)를 포함하는 것을 일 실시예로 한다.
상기 컨텍스트 매니지먼트부(2210)는 컨텍스트 테이블(2211), 스트림 분류부(2212), 컨텍스트 체크부(2213), 컨텍스트 생성부(2214), 컨텍스트 변경 검출부(2215), 스테이트 머신(2216), 및 컨텍스트 업데이트부(2217)를 포함하는 것을 일 실시예로 한다.
상기 RoHC 패킷 생성부(2220)는 패킷 타입 결정부(2221), 제1 패킷 헤더 생성부(2222), 제2 패킷 헤더 생성부(2223), 및 RoHC 패킷타이저(2224)를 포함하는 것을 일 실시예로 한다.
상기 어댑테이션 모듈(2300)은 패킷 검출부(2311), 컨텍스트 정보 추출부(2312), RDT 생성부(2313), 및 RDT 출력부(2314)를 포함하는 것을 일 실시예로 한다.
상기 컨텍스트 매니지먼트부(2210)의 스트림 분류부(2212)는 컨텍스트 기반으로 헤더 압축을 수행하기 위해 상기 프리 프로세싱 모듈(2100)에서 출력되는 IP 패킷의 헤더를 파싱하여 IP 스트림을 분류(classify)한다. 일 실시예로, 상기 스트림 분류부(2212)는 입력되는 IP 패킷의 스태틱 컨텍스트 정보를 기반으로 IP 스트림을 분류한다. 상기 스태틱 컨텍스트 정보는 적어도 IP 어드레스와 포트 번호를 포함하는 것을 일 실시예로 한다. 특히 상기 IP 패킷이 같은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트 번호 그리고 데스티네이션 UDP 포트 번호의 조합을 가지면 동일 IP 스트림으로 간주하는 것을 일 실시예로 한다(It can be considered as the same IP stream when the IP packet has the same combination of a source IP address, a destination IP address, a source UDP port number, and a destination UDP port number).
상기 스트림 분류부(2212)에서 IP 스트림이 분류되고 나면, 컨텍스트 체크부(2213)은 분류된 IP 스트림의 컨텍스트가 존재하는지를 체크한다. 만일 입력된 IP 패킷이 상기 IP 스트림의 첫번째 IP 패킷이면 상기 IP 스트림과 관련되어 저장된 컨텍스트 정보가 없으므로 상기 컨텍스트 체크부(2213)는 상기 IP 스트림의 컨텍스트가 없다고 판단한다. 다시 말해, 헤더 압축을 수행하면 IR 패킷이 생성되고, 상기 IR 패킷으로부터 컨텍스트 정보를 추출하여 저장하는데, 만일 입력된 IP 패킷이 해당 IP 스트림의 첫번째 IP 패킷이라면 해당 IP 스트림은 헤더 압축 전이므로 저장된 컨텍스트 정보가 없다. 상기 컨텍스트 정보는 상기 컨텍스트 매니지먼트부(2210)의 컨텍스트 테이블(2211)에 저장되는 것을 일 실시예로 한다.
상기 컨텍스트 체크부(2213)에서 컨텍스트가 없다고 확인되면, 컨텍스트 생성부(2214)는 입력된 IP 패킷의 헤더 정보를 기반으로 새로운 컨텍스트(new context)를 만들어 스테이트 머신(2216)으로 출력한다. 상기 컨텍스트 체크부(2213)에서 컨텍스트가 있다고 확인되면, 컨텍스트 변경 검출부(2215)는 컨텍스트가 변경(change)되었는지를 체크한다. 상기 컨텍스트 변경 검출부(2215)는 상기 컨텍스트 테이블(2211)에 저장된 컨텍스트와 상기 입력된 IP 패킷의 헤더 정보를 비교하여 컨텍스트의 변경 여부를 확인하는 것을 일 실시예로 한다. 이 경우는 IP 패킷 헤더 내 다이나믹 정보가 변경될 때 발생할 수 있다. 만일 컨텍스트가 변경되었으면, 변경된 컨텍스트는 상기 스테이트 머신(2216)으로 출력되고, 컨텍스트가 변경되지 않았으면 플래그 등을 이용하여 컨텍스트가 변경되지 않았음을 상기 스테이트 머신(2216)에 알리는 것을 일 실시예로 한다.
상기 스테이트 머신(2216)은 상기 컨텍스트 생성부(2214) 또는 컨텍스트 변경 검출부(2215)의 출력을 기반으로 현재 상태를 결정한다. 상기 스테이트 머신(2216)은 3개의 상태들(states), 즉 IR(Initialization and Refresh) 상태, FO(First Order) 상태, 및 SO(Second Order) 상태 중 하나의 상태를 결정한다.
압축의 첫 단계인 IR 상태에서는 압축되지 않은 헤더, 즉 전체 헤더(full header)가 전송되며, IR 상태에서 전송되는 패킷을 IR 패킷이라 칭한다.
FO 상태에서는 압축기가 IP 어드레스, 포트 번호와 같은 스태틱 필드들을 인식하고 저장한다. 또한 FO 상태에서 압축기는 다이나믹 필드들의 차이값들을 전송한다. 즉, FO 상태는 스태틱 필드들을 압축하면서 부분적으로 다이나믹 필드들을 압축하는 상태이다. FO 상태에서는 IR-DYN 패킷이 전송될 수도 있고, UO-1, UOR-2 등과 같은 compressed 패킷이 전송될 수도 있다.
SO 상태에서는 압축기가 시퀀스 번호와 같은 모든 다이나믹 필드들을 압축하며, 인코드된 시퀀스 번호(encoded sequence number)와 다음 패킷을 검증하기 위한 일부 체크섬 (partial checksum)만을 전송한다. SO 상태에서는 UO-O와 같은 compressed 패킷이 전송된다.
즉, FO 상태에서는 모든 스태틱 필드들과 대부분의 다이나믹 필드들이 압축되고, SO 상태에서는 시퀀스 번호와 체크섬을 사용하여 모든 다이나믹 필드들을 예측 가능하게(predictively) 압축한다. 이러한 압축 상태 간의 이동이 발생하려면 주기적인 타임아웃의 발생, 패킷 헤더의 변화 패턴이 있어야 한다.
상기 컨텍스트 생성부(2214) 또는 상기 컨텍스트 변경 검출부(2215)에서 출력되는 새로운 컨텍스트 또는 변경된 컨텍스트는 스테이트 머신(2216)과 컨텍스트 업데이트부(2217)를 통해 상기 컨텍스트 테이블(2211)에 저장된다.
상기 스테이트 머신(2216)에서 결정된 상태는 RoHC 패킷 생성부(2220)로 출력된다.
상기 RoHC 패킷 생성부(2220)의 패킷 타입 결정부(2221)는 상기 스테이트 머신(2216)에서 결정된 상태를 기반으로 입력된 IP 패킷에 대응하는 RoHC 패킷의 패킷 타입을 결정한다. 위에서 언급은 안했지만, 상기 프리-프로세싱 모듈(2100)에서 출력되는 IP 패킷도 상기 컨텍스트 매니지먼트부(2210)의 블록들(2212, 2213, 2214, 2215, 2216)을 통해 상기 RoHC 패킷 생성부(2220)의 패킷 타입 결정부(2221)로 입력된다.
상기 패킷 타입 결정부(2221)에서 결정되는 RoHC 패킷의 패킷 타입은 IR 패킷, IR-DYN 패킷, compressed 패킷 중 하나인 것을 일 실시예로 한다. 상기 compressed 패킷은 UO-0 패킷, UO-1 패킷, UOR-2 패킷 중 하나가 될 수 있으며, 본 발명에서는 UO-0 패킷을 일 실시예로 설명하기로 한다. 예를 들어, 상기 스테이트 머신(2216)에서 결정된 상태가 IR 상태이면 상기 패킷 타입 결정부(2221)는 RoHC 패킷의 패킷 타입을 IR 패킷으로 결정한다. 그리고, 상기 스테이트 머신(2216)에서 결정된 상태가 FO 상태이면 상기 패킷 타입 결정부(2221)는 RoHC 패킷의 패킷 타입을 IR-DYN 패킷으로 결정하고, 상기 스테이트 머신(2216)에서 결정된 상태가 SO 상태이면 상기 패킷 타입 결정부(2221)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하는 것을 일 실시예로 한다.
상기 패킷 타입 결정부(2221)는 결정된 RoHC 패킷의 패킷 타입이 IR 패킷이거나 IR-DYN 패킷이면, 결정된 패킷 타입 정보와 함께 해당 패킷의 컨텍스트 정보를 제1 패킷 헤더 생성부(2222)로 출력한다. 상기 패킷 타입 결정부(2221)는 결정된 RoHC 패킷의 패킷 타입이 compressed 패킷이면, 결정된 패킷 타입 정보를 제2 패킷 헤더 생성부(2223)로 출력한다.
상기 패킷 타입 결정부(2221)는 결정된 RoHC 패킷의 패킷 타입이 IR 패킷이면, 상기 컨텍스트 생성부(2214)에서 생성된 새로운 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 IR 패킷의 컨텍스트 정보를 생성하는 것을 일 실시예로 한다.
상기 패킷 타입 결정부(2221)는 결정된 RoHC 패킷의 패킷 타입이 IR-DYN 패킷이면, 상기 컨텍스트 변경 검출부(2215)에서 출력되는 변경된 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 IR-DYN 패킷의 컨텍스트 정보를 생성하는 것을 일 실시예로 한다.
상기 패킷 타입 결정부(2221)에서 결정된 패킷 타입이 IR 패킷이면, 상기 제1 패킷 헤더 생성부(2222)는 상기 패킷 타입 결정부(2221)에서 제공하는 컨텍스트 정보를 포함하는 IR 패킷의 헤더를 만든다(build). 상기 패킷 타입 결정부(2221)에서 결정된 패킷 타입이 IR-DYN 패킷이면 상기 제1 패킷 헤더 생성부(2222)는 상기 패킷 타입 결정부(2221)에서 제공하는 컨텍스트 정보를 포함하는 IR-DYN 패킷의 헤더를 만든다(build). 상기 패킷 타입 결정부(2221)에서 결정된 패킷 타입이 compressed 패킷 타입이면 상기 제2 패킷 헤더 생성부(2223)는 compressed 패킷의 헤더 예를 들어, UO-0 패킷의 헤더를 만든다.
상기 제1 패킷 헤더 생성부(2222)에서 IR 패킷의 헤더 또는 IR-DYN 패킷의 헤더를 만들거나 상기 제2 패킷 헤더 생성부(2223)에서 compressed 패킷의 헤더를 만들 때, 해당 헤더에는 CID가 할당된다.
전술한 바와 같이 CID는 스몰 CID와 1 바이트의 라지 CID로 구분된다. 상기 스몰 CID는 다시 CID 값이 0일 때와 0이 아닐때로 구분된다. 상기 CID 값이 0이 아닐 때, 상기 CID는 CID가 있음을 지시하는 상위(MSB, Most Significant Bit) 4 비트와 실제 CID 값을 시그널링하는 하위(LSB, Least Significant Bit) 4비트로 구성된다. 상기 CID 값이 0일 때는 해당 헤더에 CID 값을 나타내는 필드가 존재하지 않는다. 수신기에서는 RoHC 패킷의 헤더에 CID 값을 나타내는 CID 관련 필드가 없으면 그 패킷의 CID는 0이라고 판단한다. 따라서, CID 값이 0이면 CID 값이 0이 아닐때보다 해당 RoHC 패킷의 헤더 길이가 1 바이트 줄게 된다.
도 19의 (a) 내지 (c)는 스몰 CID가 할당되고 상기 스몰 CID 값이 0이 아닐 때의 IR 패킷, IR-DYN 패킷, UO-0 패킷의 예를 보이고 있다.
도 19의 (a)의 IR 패킷의 첫번째 옥텟(octet)은 0이 아닌 스몰 CID를 시그널링하는 LSB 4 비트와 CID가 있음을 지시하는 MSB 4비트로 이루어진다. 그리고 두번째 옥텟은 이 RoHC 패킷이 IR 패킷임을 식별하기 위한 식별 정보가 시그널링된다. 일 예로, IR 패킷임을 식별하기 위한 식별 정보는 1111110D인 것을 일 실시예로 한다. 여기서, 플래그 D는 상기 IR 패킷의 헤더에 다이나믹 체인 정보가 존재하는지 여부를 지시한다. 일 예로, 상기 플래그 D의 값이 0이면 상기 IR 패킷의 헤더에 다이나믹 체인 정보가 없고, 1이면 상기 IR 패킷의 헤더에 다이나믹 체인 정보가 있음을 나타낸다. 상기 IR 패킷의 세번째 옥텟은 컨텍스트 프로파일 정보를 시그널링하고, 네번째 옥텟은 CRC 정보를 시그널링한다. 그리고 그 다음 적어도 하나의 옥텟에는 스태틱 체인 정보가 시그널링되고, 상기 플래그 D의 값이 1이면 그 다음 적어도 하나의 옥텍에는 다이나믹 체인 정보가 시그널링된다.
도 19의 (b)의 IR-DYN 패킷의 첫번째 옥텟은 0이 아닌 스몰 CID를 시그널링하는 LSB 4 비트와 CID가 있음을 지시하는 MSB 4비트로 이루어진다. 그리고 두번째 옥텟은 이 RoHC 패킷이 IR-DYN 패킷임을 식별하기 위한 식별 정보가 시그널링된다. 일 예로, IR-DYN 패킷의 헤더임을 식별하기 위한 식별 정보는 11111000인 것을 일 실시예로 한다. 세번째 옥텟은 컨텍스트 프로파일 정보를 시그널링하고, 네번째 옥텟은 CRC 정보를 시그널링한다. 그리고 그 다음 적어도 하나의 옥텟에는 다이나믹 체인 정보가 시그널링된다.
도 19의 (c)의 UO-0 패킷의 첫번째 옥텟은 0이 아닌 스몰 CID가 시그널링되는 LSB 4 비트와 CID가 있음을 지시하는 MSB 4비트로 이루어진다. 그리고 두번째 옥텟의 첫번째 비트는 0이 시그널링되고, 그 다음 4 비트는 시퀀스 번호가 시그널링되며, 나머지 3비트는 CRC 정보가 시그널링된다.
도 20의 (a) 내지 (c)는 스몰 CID가 할당되고 상기 스몰 CID 값이 0일때의 IR 패킷, IR-DYN 패킷, UO-0 패킷의 예를 보이고 있다. CID 값이 0일 때는 CID 관련 옥텟(즉, 바이트)이 존재하지 않는다. 즉 수신기에서는 IR 패킷, IR-DYN 패킷, 또는 UO-0 패킷의 헤더에 CID 관련 옥텟이 없으면 그 패킷의 CID는 0이라고 판단한다.
그리고 CID 값이 0이면 도 20의 (a) 내지 (c)에서 보는 것과 같이 CID 값이 0이 아닐때보다 IR 패킷, IR-DYN 패킷, UO-0 패킷의 각 헤더 길이가 1 바이트 줄게 된다.
도 20의 (a) 내지 (c)는 CID 관련 옥텟이 없는 것을 제외하고 나머지는 도 19의 (a) 내지 (c)와 동일하므로 상세 설명은 도 19의 (a) 내지 (c)를 참조하기로 하고, 여기서는 생략한다.
도 21의 (a) 내지 (c)는 라지 CID가 할당될 때의 IR 패킷, IR-DYN 패킷, UO-0 패킷의 예를 보이고 있다.
도 21의 (a)의 IR 패킷의 첫번째 옥텟은 이 RoHC 패킷이 IR 패킷임을 식별하기 위한 식별정보가 시그널링되고, 두번째 옥텟은 라지 CID가 시그널링된다. 도 21의 (a)에서 설명되지 않은 부분은 도 19의 (a)와 동일하므로 도 19의 (a)를 참조하기로 하고, 여기서는 생략한다.
도 21의 (b)의 IR-DYN 패킷의 첫번째 옥텟은 이 RoHC 패킷이 IR-DYN 패킷임을 식별하기 위한 식별정보가 시그널링되고, 두번째 옥텟은 라지 CID가 시그널링된다. 도 21의 (b)에서 설명되지 않은 부분은 도 19의 (b)와 동일하므로 도 19의 (b)를 참조하기로 하고, 여기서는 생략한다.
도 21의 (c)의 UO-0 패킷의 첫번째 옥텟의 첫번째 비트는 0이 시그널링되고, 그 다음 4 비트는 시퀀스 번호가 시그널링되며, 나머지 3비트는 CRC 정보가 시그널링된다. 그리고 두번째 옥텟은 라지 CID가 시그널링된다.
입력되는 IP 패킷의 페이로드는 도 19의 (a) 내지 (c), 도 20의 (a) 내지 (c), 도 21의 (a) 내지 (c)의 패킷 중 어느 하나의 페이로드가 된다. 즉, 입력되는 IP 패킷의 페이로드에 상기 제1 패킷 헤더 생성부(2222) 또는 상기 패킷 헤더 생성부(2223)에서 만들어진 RoHC 패킷의 헤더가 부가되어 상기 RoHC 패킷이 만들어진다. 다시 말해, 입력된 IP 패킷에 대한 헤더 압축이 수행된다. 그리고, IR 패킷 또는 IR-DYN 패킷 경우, 시퀀스 번호는 다이나믹 체인 정보에 포함된다.
본 발명에서 하나의 PLP는 하나의 RoHC 채널에 매핑되므로, CID는 각 PLP에서 별도로 관리된다(the CID is managed separately at each PLP).
같은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트 번호, 데스티네이션 UDP 포트 번호 (즉, 스태틱 컨텍스트 정보)의 조합을 갖는 IP 패킷들은 동일 IP 스트림으로 간주한다. 그리고 동일 IP 스트림에 포함된 IP 패킷들에 대응하는 RoHC 패킷들에는 동일 CID가 할당되는 것을 일 실시예로 한다. 이때 상기 IP 스트림에 할당되는 CID는 다른 IP 스트림에는 할당되지 않는 것을 일 실시예로 한다. 즉, 입력된 IP 패킷의 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트 번호, 데스티네이션 UDP 포트 번호 중 어느 하나라도 이전 IP 패킷과 다르면 상기 입력된 IP 패킷은 다른 IP 스트림에 포함되는 것으로 간주한다. 이러한 규칙은 하나의 RoHC 채널 내에서 적용되는 것을 일 실시예로 한다.
즉, CID는 RoHC 채널 내에서만 구분된다. 예를 들어, RoHC 채널 #0에 포함된 IP 스트림 #0과 IP 스트림 #1에는 동일 CID가 할당되면 안되지만 RoHC 채널 #0에 포함된 IP 스트림 #0과 RoHC 채널 #1에 포함된 IP 스트림 #1에는 동일 CID가 할당되어도 된다.
본 발명에서 IP 스트림에 CID를 할당한다는 것은 상기 IP 스트림에 포함된 IP 패킷들에 대응하는 RoHC 패킷들의 각 헤더에 CID를 할당하는 것을 의미한다. 이때 상기 IP 패킷들이 동일 IP 스트림에 포함된다면 상기 IP 패킷들에 대응하는 RoHC 패킷들의 각 헤더에 할당되는 CID 값은 모두 동일한 것을 일 실시예로 한다. 그러므로, CID는 수신기에서 RoHC 패킷들을 포함하는 RoHC 스트림(즉, compressed IP 스트림)을 구분하는데 이용할 수 있다. 본 발명에서 CID들은 컨텍스트 테이블(2211)에서 관리하는 것을 일 실시예로 한다.
그리고 본 발명은 하나의 RoHC 채널 내에서 복수개의 IP 스트림들에 CID들을 할당할 때, 가장 많은 IP 패킷들을 포함하는 IP 스트림 (즉, the most common IP stream)에 CID=0 (제로 값을 갖는 CID)를 할당하는 것을 일 실시예로 한다. 즉, CID 값이 0인 RoHC 패킷 (도 19의 (b), 도 20의 (b), 도 21의 (b))은 CID 값이 0이 아닌 RoHC 패킷보다 1 바이트가 작기 때문에 IP 패킷들의 개수가 많은 IP 스트림에 CID=0를 할당하면 압축 효율을 더 높일 수 있게 된다. 도면에서 보는 바와 같이, 제로 값의 CID를 할당한다는 것은 해당 RoHC 패킷에 CID 관련 바이트가 없다는 것을 의미하기 때문에 CID 관련 바이트가 있을 때보다 RoHC 패킷의 헤더 길이가 짧아진다. 그리고, 동일 IP 스트림에 포함된 RoHC 패킷들에는 동일 CID가 할당되므로, IP 패킷들의 개수가 많은 IP 스트림에 제로 값의 CID를 할당하면 IP 패킷들의 개수가 적은 IP 스트림보다 압축 효율이 더 높다.
다시 말해, 하나의 PLP는 하나의 RoHC 채널에 매핑되므로, 제로 값의 CID는 각 PLP마다 가장 흔한 IP 스트림(the most common IP stream)에 할당될 수 있다. 그리고 RoHC 패킷 구조를 기반으로, 해당 RoHC 패킷에 CID 바이트가 없다면, 그 RoHC 패킷의 CID는 0인 것을 의미한다.
지금까지는 동일 IP 스트림에 포함된 IP 패킷들에 대응하는 RoHC 패킷들의 각 헤더에는 동일 CID를 할당하는 것을 일 실시예로 설명하였다.
하지만, 동일 IP 스트림 내에서도 CID 값이 선택적으로(optionally) 달라질 수도 있다. 예를 들어, IP 스트림 #1에 할당된 CID 값이 1에서 3으로 바뀔 수 있다. 즉, 동일 스트림 내에서 컨텍스트가 바뀌거나 LLS가 바뀌면 선택적으로 CID 값을 바꿀 수 있다. 일 예로, 상기 LLS는 매 5초마다 적어도 한번은 반복 전송되어야 하고, 상기 LLS가 바뀌면 LMT와 RDT를 다시 받아야 하기 때문에, 동일 스트림 내에서 CID가 바뀔 수도 있다.
본 발명은 동일 IP 스트림 내에서 CID 값을 변경할 필요가 있을 때에는 initialization and refreshment 포인트에서 변경하는 것을 일 실시예로 한다. 상기 initialization and refreshment 포인트는 IR 패킷이 전송되는 시점을 의미한다. 그리고 상기 IR 패킷이 전송되는 시점은 RDT가 전송되는 시점도 된다.
지금까지 설명한 과정을 통해 상기 제1 패킷 헤더 생성부(2222)에서는 도 19의 (a), 도 20의 (a), 또는 도 21의 (a)과 같은 IR 패킷의 헤더를 만들거나 도 19의 (b), 도 20의 (b), 또는 도 21의 (b)와 같은 IR-DYN 패킷의 헤더를 만든다. 그리고, 상기 제2 패킷 헤더 생성부(2223)에서는 도 19의 (c), 도 20의 (c), 또는 도 21의 (c)와 같은 compressed 패킷의 헤더를 만든다. 도 19 내지 도 21에서 (a), (b), (c)의 선택은 CID가 스몰 CID인지, 라지 CID인지, 그리고 스몰 CID이면 CID 값이 0인지 0이 아닌지에 따라 결정된다. 그리고, 도 19, 도 20, 도 21의 선택 즉, IR 패킷, IR-DYN 패킷, compressed 패킷의 선택은 스테이트 머신(2216)에서 결정된 상태와 상기 패킷 타입 결정부(2221)에서 결정된 패킷 타입을 기반으로 이루어지는 것을 일 실시예로 한다.
상기 RoHC 패킷타이저(2224)에서는 상기 제1 패킷 헤더 생성부(2222)에서 출력되는 IR 패킷의 헤더 또는 IR-DYN 패킷의 헤더 또는 상기 제2 패킷 헤더 생성부(2223)에서 출력되는 compressed 패킷의 헤더와 해당 IP 패킷의 페이로드를 이용하여 해당 RoHC 패킷을 만든다. 즉, 해당 RoHC 패킷은 해당 IP 패킷의 페이로드의 앞에 상기 제1 패킷 헤더 생성부(2222) 또는 상기 제2 패킷 헤더 생성부(2223)에서 출력되는 패킷 헤더를 부가하여 만든다. 예를 들어, 입력된 패킷 헤더가 IR 패킷 헤더라면, 해당 RoHC 패킷은 상기 IR 패킷 헤더와 해당 IP 패킷의 페이로드로 구성되며, 이를 IR 패킷이라 한다. 그리고, 입력된 패킷 헤더가 IR-DYN 패킷 헤더라면, 해당 RoHC 패킷은 상기 IR-DYN 패킷 헤더와 해당 IP 패킷의 페이로드로 구성되며, 이를 IR-DYN 패킷이라 한다. 또한, 입력된 패킷 헤더가 compressed 패킷 헤더라면, 해당 RoHC 패킷은 상기 compressed 패킷 헤더와 해당 IP 패킷의 페이로드로 구성되며, 이를 compressed 패킷이라 한다.
상기 RoHC 패킷타이저(2224)에서 생성된 RoHC 패킷은 어댑테이션 모듈(2300)의 패킷 검출부(2311)로 출력된다.
상기 패킷 검출부(2311)는 상기 RoHC 패킷타이저(2224)에서 출력되는 RoHC 패킷이 IR 패킷인지, IR-DYN 패킷인지, compressed 패킷인지를 검출한다.
상기 패킷 검출부(2311)에서 검출된 IR 패킷 또는 IR-DYN 패킷은 컨텍스트 정보 추출부(2312)로 출력되고, compressed 패킷은 그대로 인캡슐레이션 모듈로 출력된다.
상기 컨텍스트 정보 추출부(2312)는 어댑테이션 모드에 따라 상기 IR 패킷 및/또는 상기 IR-DYN 패킷으로부터 컨텍스트 정보를 추출하고 패킷 변환을 수행한다. 이때 상기 컨텍스트 추출부(2312)는 어댑테이션 모드를 알고 있다고 가정한다. 어댑테이션 모드는 상기 컨텍스트 테이블(2211)에서 관리될 수도 있고, 제어부(도시되지 않음)나 스케쥴러(도시되지 않음)에서 관리 및 제어될 수도 있다.
일 예로, 어댑테이션 모드 1이면, 상기 컨텍스트 정보 추출부(2312)에서 컨텍스트 정보를 추출하는 과정 및 패킷을 변환하는 과정이 없으며, 상기 컨텍스트 정보 추출부(2312)는 입력되는 IR 패킷 또는 IR-DYN 패킷을 그대로 인캡슐레이션 모듈로 출력한다. 즉, 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림 (즉, compressed IP stream)은 적어도 IR 패킷, IR-DYN 패킷, 그리고 compressed 패킷들을 포함한다. 이어, RDT 생성부(2313)에서는 헤더 압축 정보만 포함하는 RDT를 생성하고, RDT 출력부(2314)에서는 상기 RDT의 스케쥴링 및 상기 인캡슐레이션 모듈로의 RDT 전송을 수행한다.
어댑테이션 모드 2이면, 상기 컨텍스트 정보 추출부(2312)는 입력된 IR 패킷으로부터 컨텍스트 정보(즉, 스태틱 체인 정보)를 추출하고, 컨텍스트 정보가 추출된 IR 패킷을 IR-DYN 패킷으로 변환한다. 이때 추출된 컨텍스트 정보는 RDT 생성부(2313)로 출력되고, 변환된 IR-DYN 패킷은 원래의 IR 패킷을 대체하여 RoHC 스트림 내에서 같은 순서로 인캡슐레이션 모듈로 출력된다. 즉, 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림은 적어도 상기 변환된 IR-DYN 패킷, 상기 헤더 압축에 의해 생성된 IR-DYN 패킷, 및 상기 compressed 패킷들을 포함한다. 상기 RDT 생성부(2313)에서는 헤더 압축 정보와 상기 추출된 컨텍스트 정보를 포함하는 RDT를 생성하고, 상기 RDT 출력부(2314)에서는 상기 RDT의 스케쥴링 및 상기 인캡슐레이션 모듈로의 RDT 전송을 수행한다.
어댑테이션 모드 3이면, 상기 컨텍스트 정보 추출부(2312)는 입력된 IR 패킷으로부터 컨텍스트 정보(즉, 스태틱 체인 정보와 다이나믹 체인 정보)를 추출하고, 입력된 IR-DYN 패킷으로부터 컨텍스트 정보(즉, 다이나믹 체인 정보)를 추출한다. 상기 컨텍스트 정보가 추출된 IR 패킷과 IR-DYN 패킷은 각각 compressed 패킷으로 변환된다. 상기 변환된 compressed 패킷들은 원래의 IR 패킷과 IR-DYN 패킷을 대체하여 RoHC 스트림 내에서 같은 순서로 인캡슐레이션 모듈로 출력된다. 즉, 상기 인캡슐레이션 모듈로 출력되는 RoHC 스트림은 적어도 상기 헤더 압축에 의해 생성된 compressed 패킷들과 상기 변환된 compressed 패킷들을 포함한다. 상기 RDT 생성부(2313)에서는 헤더 압축 정보와 상기 추출된 컨텍스트 정보를 포함하는 RDT를 생성하고, 상기 RDT 출력부(2314)에서는 상기 RDT의 스케쥴링 및 상기 인캡슐레이션 모듈로의 RDT 전송을 수행한다.
본 발명은 방송 채널이 싱글 PLP로 구성된다면, 상기 어댑테이션 모듈(2300)에서 어댑테이션 모드 1이 사용되는 것을 일 실시예로 한다. 그리고 방송 서비스에 대해, 별도로 시그널링 PLP가 구성된다면, 상기 어댑테이션 모듈(2300)에서 어댑테이션 모드 2 또는 3이 사용되는 것을 일 실시예로 한다. 또한, 컨텍스트가 자주 업데이트된다면(when the context is updated frequently), 상기 어댑테이션 모듈(2300)에서 어댑테이션 모드 2가 사용되는 것을 일 실시예로 한다. 이에 더하여, 컨텍스트가 거의 업데이트되지 않는다면(when the context is updated rarely), 상기 어댑테이션 모듈(2300)에서 어댑테이션 모드 3이 사용되는 것을 일 실시예로 한다.
수신기에서 압축 해제(decompression)를 시작할 때, 어댑테이션 모드 1은 IR 패킷이 수신될 때까지 기다려야 하고, 어댑테이션 모드 2는 적어도 IR-DYN 패킷이 수신될 때까지 기다려야 하며, 어댑테이션 모드 3은 압축 해제를 위해 어느 패킷도 기다릴 필요가 없다. 즉, 어댑테이션 모드 3은 어느 compressed 패킷에서든 압축 해제를 시작할 수 있다. 그러므로 3개의 어댑테이션 모드 중 어댑테이션 모드 3이 가장 효율적이다.
도 22는 본 발명에 따른 각 ALP 스트림 제네레이터에 포함된 IP 헤더 압축부의 다른 실시예를 보인 상세 구성 블록도이다.
상기 IP 헤더 압축부는 프리 프로세싱 모듈(3100), 컨텍스트 매니지먼트부(3200), RoHC 패킷 생성부(3300), 및 시그널링 생성부(3400)를 포함하는 것을 일 실시예로 한다. 본 발명은 상기 컨텍스트 매니지먼트부(3200), RoHC 패킷 생성부(3300), 및 시그널링 생성부(3400)를 합하여 RoHC 모듈이라 하기로 한다. 즉, 도 18은 어댑테이션 모듈에서 어댑테이션 기능을 수행하는데 반해, 도 22는 IR 패킷 및/또는 IR-DYN 패킷으로부터 컨텍스트 정보 추출 및 패킷 변환 과정을 수행하지 않으며, RoHC 모듈에서 어댑테이션 기능을 수행하는 것이 도 18과 다른 점이다.
도 22의 프리 프로세싱 모듈(3100)과 컨텍스트 매니지먼트부(3200)의 구성 및 동작은 도 18의 프리 프로세싱 모듈(2100)과 컨텍스트 매니지먼트부(2200)의 구성 및 동작과 동일하므로, 도 18의 설명을 참조하기로 하고 여기서는 상세 설명을 생략한다. 상기 프리-프로세싱 모듈(3100)은 RoHC 모듈의 외부에 구비될 수도 있고 또는 내부에 구비될 수도 있다.
상기 RoHC 모듈의 RoHC 패킷 생성부(3300)는 패킷 타입 결정부(3311), 제1 패킷 헤더 생성부(3312), 제2 패킷 헤더 생성부(3313), 및 RoHC 패킷타이저(3314)를 포함하는 것을 일 실시예로 한다.
상기 RoHC 모듈의 시그널링 생성부(3400)는 RDT 생성부(3411)와 RDT 출력부(3412)를 포함하는 것을 일 실시예로 한다.
상기 RoHC 패킷 생성부(3300)의 패킷 타입 결정부(3311)는 상기 스테이트 머신(3216)에서 결정된 상태와 어댑테이션 모드를 기반으로 입력된 IP 패킷에 대응하는 RoHC 패킷의 패킷 타입을 결정하는 것을 일 실시예로 한다.
상기 패킷 타입 결정부(3311)는 패킷 타입이 IR 패킷이나 IR-DYN 패킷으로 결정되었을 때 적용할 어댑테이션 모드를 알고 있다고 가정한다. 어댑테이션 모드는 상기 컨텍스트 테이블(3211)에서 관리될 수도 있고, 제어부(도시되지 않음)나 스케쥴러(도시되지 않음)에서 관리 및 제어될 수도 있다. 위에서 언급은 안했지만, 상기 프리-프로세싱 모듈(2100)에서 출력되는 IP 패킷도 상기 컨텍스트 매니지먼트부(3200)의 블록들(3212, 3213, 3214, 3215, 3216)을 통해 상기 RoHC 패킷 생성부(3300)의 패킷 타입 결정부(3311)로 입력된다.
상기 패킷 타입 결정부(3311)에서 최종 결정되는 RoHC 패킷의 패킷 타입은 IR 패킷, IR-DYN 패킷, compressed 패킷 중 하나인 것을 일 실시예로 한다. 상기 compressed 패킷은 UO-0 패킷, UO-1 패킷, UOR-2 패킷 중 하나가 될 수 있으며, 본 발명에서는 UO-0 패킷을 일 실시예로 설명하기로 한다.
상기 패킷 타입 결정부(3311)는 어댑테이션 모드에 따라 해당 컨텍스트 정보를 시그널링 생성부(3400)의 RDT 생성부(3411)로 제공하는 것을 일 실시예로 한다. 상기 컨텍스트 정보는 상기 컨텍스트 생성부(3214)에서 출력되는 새로운 컨텍스트 또는 상기 컨텍스트 변경 검출부(3215)에서 출력되는 변경된 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 결정된 패킷 타입과 어댑테이션 모드에 따라 생성되는 것을 일 실시예로 한다.
어댑테이션 모드 1이고, 상기 스테이트 머신(3216)에서 결정된 상태가 IR 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 IR 패킷으로 결정하고, 결정된 패킷 타입이 IR 패킷임을 지시하는 패킷 타입 정보를 제1 패킷 헤더 생성부(3312)로 출력하는 것을 일 실시예로 한다. 상기 제1 패킷 헤더 생성부(3312)는 상기 IR 패킷임을 지시하는 패킷 타입 정보와 입력되는 IP 패킷의 헤더를 기반으로 IR 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 IR 패킷의 혜더는 CID의 종류(즉, 스몰 CID인지 라지 CID인지, 스몰 CID이면 CID 값이 0이 아닌지 0인지)에 따라 도 19의 (a), 도 20의 (a), 도 21의 (a) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 IR 패킷의 헤더를 부가하여 생성한 IR 패킷을 인캡슐레이션 모듈로 출력한다. 그리고 시그널링 생성부(3400)의 RDT 생성부(3411)는 헤더 압축 정보만 포함하는 RDT를 생성하여 RDT 출력부(3412)를 통해 출력한다. 이때 상기 RDT 생성부(3411)는 상기 패킷 타입 결정부(3311)에서 IR 패킷으로 패킷 타입이 결정될 때마다 RDT를 생성할 수도 있고 또는 해당 IP 스트림의 첫번째 IP 패킷을 위해서만 RDT를 새로 생성하고 이후에는 이전 RDT를 재사용할 수도 있다.
어댑테이션 모드 1이고, 상기 스테이트 머신(3216)에서 결정된 상태가 FO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 IR-DYN 패킷으로 결정하고, 결정된 패킷 타입이 IR-DYN 패킷임을 지시하는 패킷 타입 정보를 제1 패킷 헤더 생성부(3312)로 출력하는 것을 일 실시예로 한다. 상기 제1 패킷 헤더 생성부(3312)는 상기 IR-DYN 패킷임을 지시하는 패킷 타입 정보와 입력되는 IP 패킷의 헤더를 기반으로 IR-DYN 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 IR-DYN 패킷의 혜더는 CID의 종류에 따라 도 19의 (b), 도 20의 (b), 도 21의 (b) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 IR-DYN 패킷의 헤더를 부가하여 생성한 IR-DYN 패킷을 인캡슐레이션 모듈로 출력한다.
어댑테이션 모드 1이고, 상기 스테이트 머신(3216)에서 결정된 상태가 SO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하고, 결정된 패킷 타입이 compressed 패킷임을 지시하는 패킷 타입 정보를 제2 패킷 헤더 생성부(3313)로 출력하는 것을 일 실시예로 한다. 상기 제2 패킷 헤더 생성부(3313)는 상기 compressed 패킷임을 지시하는 패킷 타입 정보를 기반으로 compressed 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 compressed 패킷의 혜더는 CID의 종류에 따라 도 19의 (c), 도 20의 (c), 도 21의 (c) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 compressed 패킷의 헤더를 부가하여 생성한 compressed 패킷을 인캡슐레이션 모듈로 출력한다.
어댑테이션 모드 2이고, 상기 스테이트 머신(3216)에서 결정된 상태가 IR 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 IR-DYN 패킷으로 결정하고, 결정된 패킷 타입이 IR-DYN 패킷임을 지시하는 패킷 타입 정보를 제1 패킷 헤더 생성부(3312)로 출력하고, 컨텍스트 정보(즉, 스테이틱 체인 정보)를 시그널링 생성부(3400)로 출력하는 것을 일 실시예로 한다. 상기 컨텍스트 정보는 상기 컨텍스트 생성부(3214)에서 출력되는 새로운 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 추출(또는 생성)되는 것을 일 실시예로 한다. 상기 제1 패킷 헤더 생성부(3312)는 상기 IR-DYN 패킷임을 지시하는 패킷 타입 정보와 입력되는 IP 패킷의 헤더를 기반으로 IR-DYN 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 IR-DYN 패킷의 혜더는 CID의 종류에 따라 도 19의 (b), 도 20의 (b), 도 21의 (b) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 IR-DYN 패킷의 헤더를 부가하여 생성한 IR-DYN 패킷을 인캡슐레이션 모듈로 출력한다. 그리고 시그널링 생성부(3400)의 RDT 생성부(3411)는 헤더 압축 정보와 상기 컨텍스트 정보(즉, 스태틱 체인 정보)를 포함하는 RDT를 생성하여 RDT 출력부(3412)를 통해 출력한다.
어댑테이션 모드 2이고, 상기 스테이트 머신(3216)에서 결정된 상태가 FO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 IR-DYN 패킷으로 결정하고, 결정된 패킷 타입이 IR-DYN 패킷임을 지시하는 패킷 타입 정보를 제1 패킷 헤더 생성부(3312)로 출력하는 것을 일 실시예로 한다. 상기 제1 패킷 헤더 생성부(3312)는 상기 IR-DYN 패킷임을 지시하는 패킷 타입 정보와 입력되는 IP 패킷의 헤더를 기반으로 IR-DYN 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 IR-DYN 패킷의 혜더는 CID의 종류에 따라 도 19의 (b), 도 20의 (b), 도 21의 (b) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 IR-DYN 패킷의 헤더를 부가하여 생성한 IR-DYN 패킷을 인캡슐레이션 모듈로 출력한다.
어댑테이션 모드 2이고, 상기 스테이트 머신(3216)에서 결정된 상태가 SO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하고, 결정된 패킷 타입이 compressed 패킷임을 지시하는 패킷 타입 정보를 제2 패킷 헤더 생성부(3313)로 출력하는 것을 일 실시예로 한다. 상기 제2 패킷 헤더 생성부(3313)는 상기 compressed 패킷임을 지시하는 패킷 타입 정보를 기반으로 compressed 패킷의 헤더를 만들어 상기 RoHC 패킷타이저(3314)로 출력한다. 상기 compressed 패킷의 혜더는 CID의 종류에 따라 도 19의 (c), 도 20의 (c), 도 21의 (c) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 compressed 패킷의 헤더를 부가하여 생성한 compressed 패킷을 인캡슐레이션 모듈로 출력한다.
어댑테이션 모드 3이고, 상기 스테이트 머신(3216)에서 결정된 상태가 IR 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하고, 결정된 패킷 타입이 compressed 패킷임을 지시하는 패킷 타입 정보를 제2 패킷 헤더 생성부(3313)로 출력하고, 컨텍스트 정보(즉, 스테이틱 체인 정보와 다이나믹 체인 정보)를 시그널링 생성부(3400)로 출력하는 것을 일 실시예로 한다. 상기 컨텍스트 정보는 상기 컨텍스트 생성부(3214)에서 출력되는 새로운 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 추출(또는 생성)되는 것을 일 실시예로 한다. 상기 제2 패킷 헤더 생성부(3313)는 상기 compressed 패킷임을 지시하는 패킷 타입 정보를 기반으로 compressed 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 compressed 패킷의 혜더는 CID의 종류에 따라 도 19의 (c), 도 20의 (c), 도 21의 (c) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 compressed 패킷의 헤더를 부가하여 생성한 compressed 패킷을 인캡슐레이션 모듈로 출력한다. 그리고 시그널링 생성부(3400)의 RDT 생성부(3411)는 헤더 압축 정보와 상기 컨텍스트 정보(즉, 스태틱 체인 정보와 다이나믹 체인 정보)를 포함하는 RDT를 생성하여 RDT 출력부(3412)를 통해 출력한다.
어댑테이션 모드 3이고, 상기 스테이트 머신(3216)에서 결정된 상태가 FO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하고, 결정된 패킷 타입이 compressed 패킷임을 지시하는 패킷 타입 정보를 제2 패킷 헤더 생성부(3313)로 출력하고, 컨텍스트 정보(즉, 다이나믹 체인 정보)를 시그널링 생성부(3400)로 출력하는 것을 일 실시예로 한다. 상기 컨텍스트 정보는 상기 컨텍스트 변경 검출부(3214)에서 출력되는 변경된 컨텍스트 또는 입력되는 IP 패킷의 헤더 중 적어도 하나를 기반으로 추출(또는 생성)되는 것을 일 실시예로 한다. 상기 제2 패킷 헤더 생성부(3313)는 상기 compressed 패킷임을 지시하는 패킷 타입 정보를 기반으로 compressed 패킷의 헤더를 만들어 RoHC 패킷타이저(3314)로 출력한다. 상기 compressed 패킷의 혜더는 CID의 종류에 따라 도 19의 (c), 도 20의 (c), 도 21의 (c) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 compressed 패킷의 헤더를 부가하여 생성한 compressed 패킷을 인캡슐레이션 모듈로 출력한다. 그리고 시그널링 생성부(3400)의 RDT 생성부(3411)는 헤더 압축 정보와 상기 컨텍스트 정보(즉, 다이나믹 체인 정보)를 포함하는 RDT를 생성하여 RDT 출력부(3412)를 통해 출력한다.
어댑테이션 모드 3이고, 상기 스테이트 머신(3216)에서 결정된 상태가 SO 상태이면, 상기 패킷 타입 결정부(3311)는 RoHC 패킷의 패킷 타입을 compressed 패킷으로 결정하고, 결정된 패킷 타입이 compressed 패킷임을 지시하는 패킷 타입 정보를 제2 패킷 헤더 생성부(3313)로 출력하는 것을 일 실시예로 한다. 상기 제2 패킷 헤더 생성부(3313)는 상기 compressed 패킷임을 지시하는 패킷 타입 정보를 기반으로 compressed 패킷의 헤더를 만들어 상기 RoHC 패킷타이저(3314)로 출력한다. 상기 compressed 패킷의 혜더는 CID의 종류에 따라 도 19의 (c), 도 20의 (c), 도 21의 (c) 중 하나의 포맷으로 만들어진다. 상기 RoHC 패킷타이저(3314)는 상기 입력되는 IP 패킷의 페이로드에 상기 compressed 패킷의 헤더를 부가하여 생성한 compressed 패킷을 인캡슐레이션 모듈로 출력한다.
상기 RDT 출력부(3412)에서 출력되는 RDT는 catalog RDT와 discrete RDT 중 하나의 전송 타입으로 전송된다. 그리고 상기 RoHC 패킷타이저(3314)에서 어댑테이션 모드에 따라 출력되는 RoHC 패킷들을 RoHC 스트림(즉, 압축된 IP 스트림)이라 한다. 즉, 어댑테이션 모드 1에서 상기 RoHC 패킷타이저(3314)는 IR 패킷, IR-DYN 패킷, compressed 패킷들을 포함하는 RoHC 스트림을 출력한다. 어댑테이션 모드 2에서 상기 RoHC 패킷타이저(3314)는 RoHC 스트림 내 IR 패킷이 출력될 위치에 IR 패킷 대신 IR-DYN 패킷을 포함시켜 출력한다. 어댑테이션 모드 3에서 상기 RoHC 패킷타이저(3314)는 RoHC 스트림 내 IR 패킷과 IR-DYN 패킷이 출력될 위치에 IR 패킷과 IR-DYN 패킷 대신 각각 compressed 패킷을 포함시켜 출력한다.
이와 같이 도 22는 어댑테이션 모드에 따라 IR 패킷 및/또는 IR-DYN 패킷으로부터 컨텍스트 정보를 추출하고, 컨텍스트 정보가 추출된 IR 패킷을 IR-DYN 패킷 또는 compressed 패킷으로 변환하거나 또는 컨텍스트 정보가 추출된 IR-DYN 패킷을 compressed 패킷으로 변환하는 과정이 없다. 그러므로, 도 18에 비해 처리 과정이 단순하다. 또한 하드웨어로 구현될 경우 하드웨어 복잡도가 줄어든다. 그러므로 구현 비용도 줄어든다.
상기 인캡슐레이션 모듈은 상기 RDT를 포함하는 적어도 하나의 링크 레이어 패킷과 상기 RoHC 스트림 내 패킷들을 포함하는 적어도 하나의 링크 레이어 패킷을 생성한다.
도 18에서 설명한 IP 스트림 분류 방법, CID 할당 방법, 어댑테이션 모드 선택 방법, 및 RDT 전송 방법은 도 22에도 동일하게 적용되는 것을 일 실시예로 한다. 각각의 방법에 대한 상세 설명은 위에서 하였으므로 여기서는 생략하기로 한다.
도 18 및/또는 도 22의 각 블록들은 메모리에 저장된 연속된 수행과정들을 실행하는 스텝들이거나, 그 외의 하드웨어로 구성된 하드웨어 컴포넌트들일 수 있다. 이들은 또한 장치 내/외부에 위치할 수 있다. 이에 더하여, 도 18 및/또는 도 22의 각 블록들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 블록에 의해 대체될 수 있다.
한편, RoHC 압축에서는 컨텍스트의 주기적 초기화와 리프레쉬(initialization and refreshment)을 필요로 한다. 그리고 이것은 IR 패킷 생성과 RDT 반복율(repeat rate)과 관련이 있다. RoHC 압축은 컨텍스트 초기화의 주기적 리프레쉬를 지정한다(specifies). 본 발명은 단방향(unidirectional) 모드만을 사용하는 것을 일 실시예로 하고 있으므로, 주기적 초기화(periodic initialication)가 지정된다. 만일 주기적 리프레쉬먼트(periodic refreshment)가 일어나면(occurred), 관련된 RDT는 즉시 전송하는 것을 일 실시예로 한다. 시스템 RAP (Random Access Point)에서 상기 RDT를 전송하기 위해, RoHC 초기화와 리프레쉬먼트 주기는 상기 시스템 RAP 주기와 같게 하는 것을 일 실시예로 한다. 만일 초기화와 리프레쉬먼트를 위해 더 짧은 주기가 없다면, 5초를 초기화 주기로 사용하는 것을 일 실시예로 한다. 따라서, RoHC 초기화는 주기적 RDT 전송과 얼라인(align)되게 된다.
그리고 RDT는 시스템 RAP에서 전송되어야 하지만, 그것은 RDT에 포함된 시그널링의 빠른 획득 때문에 시스템 RAP들 사이에서 전송될 수도 있다.
도 23은 본 발명의 일 실시예에 따른 피지컬 레이어에서 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷팅 블록 (Input Formatting block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
본 발명의 일 실시예에 따른 입력 데이터는 도 17의 적어도 하나의 ALP 스트림이다. 각 ALP 스트림은 링크 레이어 패킷들을 포함한다.
인풋 포맷팅 블록(1000)은 각 ALP 스트림을 독립적인 코딩 및 변조가 적용되는 각 데이터 파이프 (즉, 피지컬 레이어 파이프)로 로 출력한다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
본 발명에서 데이터 파이프 (DP)는 피지컬 레이어 파이프 (PLP)와 같은 의미로 사용되는 피지컬 패스(physical path)로서, 호칭은 설계자의 의도에 따라 변경 가능하다.
상기 인풋 포맷팅 블록(1000)은 데이터 파이프별로 적어도 하나의 링크 레이어 패킷을 포함하는 베이스밴드 페이로드에 베이스밴드 헤더를 추가하여 베이스밴드 패킷을 생성한 후 해당 데이터 파이프를 통해 해당 BICM 블록(1010)으로 출력한다. 각 데이터 파이프는 베이스밴드 패킷들의 스트림으로 구성된다. BICM 블록(1010)은 데이터 파이프별로 동작한다.
상기 BICM 블록(1010)은 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼(mapper)를 포함할 수 있다.
상기 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 입력 베이스밴드 패킷에 FEC 인코딩을 실행한다. 상기 데이터 FEC 인코더의 출력은 FEC 프레임이다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 비트 인터리버는 상기 FEC 인코더의 출력을 비트 인터리빙하며, LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 컨스텔레이션 매퍼는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 비트 인터리버 또는 셀 워드 디멀티플렉서로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트(즉, QAM 심볼)를 프레임 빌딩 블록(1030)으로 출력한다. 상기 컨스텔레이션 매퍼의 출력은 FEC 블록이다.
상기 프레임 빌딩 블록(1020)은 타임 인터리버, 프레임 빌더, 주파수 인터리버로 구성된다. 상기 타임 인터리버는 입력되는 FEC 블록을 타임 인터리빙하여 프레임 빌더로 출력한다. 상기 프레임 빌더는 타임 인터리빙되어 출력되는 데이터 파이프의 데이터 셀들을 프레임 내 OFDM 심볼에 매핑하고 주파수 인터리버에서 주파수 영역 다이버시티를 위해 주파수 인터리빙을 수행할 수 있다.
상기 프레임 빌딩 블록(1020)의 출력은 파이널 프레임에서 순차적으로 배치되는 프리앰블 또는 데이터 등의 OFDM 심볼들이며, 주파수 인터리버에서 주파수 인터리빙은 OFDM 심볼들에 대해 수행되는 것을 일 실시예로 한다. 즉, 상기 주파수 인터리버는 입력된 데이터 셀들을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에 대응하는 데이터 또는 OFDM 심볼 하나에 대응하는 데이터에 대해 동작할 수 있다.
상기 주파수 인터리빙되어 출력되는 프레임은 프리앰블과 데이터 영역으로 구분된다. OFDM 제너레이션 블록(1030)에서 상기 프레임의 프리앰블 앞에 부트스트랩 데이터를 포함하는 부트스트랩 영역이 삽입된다. 상기 프리앰블을 통해 전송되는 L1 시그널링 데이터는 시그널링 생성 블록(1040)에서 생성되는 것을 일 실시예로 한다.
상기 L1 시그널링 데이터는 L1 베이직 (L1-Basic) 시그널링 데이터와 L1 디테일 (L1-Detail) 시그널링 데이터를 포함한다. 상기 L1 베이직 시그널링 데이터는 PLS1 데이터라 하기도 하며, 상기 L1 디테일 시그널링 데이터는 PLS2 데이터라 하기도 한다.
OFDM 제너레이션 블록(1030)은 프레임 빌딩 블록(1020)에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용한 후 부트스트랩 데이터를 포함하는 부트스트랩을 해당 프레임의 맨 앞에 삽입하여 최종 RF 신호를 생성한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 피지컬 레이어(physical layer) 시그널링 정보를 생성할 수 있다. 본 발명의 일 실시예에 따른 피지컬 레이어 시그널링 정보는 L1 베이직 시그널링 데이터와 L1 디테일 시그널링 데이터를 포함할 수 있다. L1 베이직 시그널링 데이터(또는 PLS1 데이터)는 L1 디테일 시그널링 데이터(또는 PLS2 데이터)를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 것을 일 실시예로 한다. 상기 L1 베이직 시그널링 데이터의 길이는 200비트로 고정되는 것을 일 실시예로 한다. L1 디테일 시그널링 데이터(또는 PLS2 데이터)는 데이터 컨텍스트(data context)와 그것의 디코딩에 필요한 정보를 자세히 정의한다. 그리고 L1 디테일 시그널링 데이터의 길이는 프레임간(from frame to frame)에 가변이다.
BICM 블록(1010)은 L1 시그널링 데이터(또는 PLS 데이터)의 보호를 위한 BICM 블록을 더 포함할 수 있다. L1 시그널링 데이터(또는 PLS 데이터)의 보호를 위한 BICM 블록은 FEC 인코더, 비트 인터리버, 및 컨스텔레이션 매퍼를 포함할 수 있다.
FEC 인코더는 L1 베이직 시그널링 데이터(또는 PLS1 데이터) 및 L1 디테일 시그널링 데이터(또는 PLS2 데이터)를 각각 스크램블링하기 위한 스크램블러, 쇼트닝된 BCH 코드를 이용하여 스크램블링된 L1 베이직 및 디테일 시그널링 데이터(또는 PLS 1,2 데이터)에 외부 인코딩(예, BCH)을 수행하고, BCH 인코딩 후에 제로 비트를 삽입하기 위한 BCH 인코딩/제로 삽입 블록, LDPC 코드를 이용하여 인코딩을 수행하기 위한 LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. 상기 제로 삽입된 L1 베이직 시그널링 데이터 및/또는 L1 디테일 시그널링 데이터의 출력 비트들은 LDPC 인코딩 후에 퍼뮤테이션(permutation) 될 수 있다. 비트 인터리버는 각각의 쇼트닝 및 펑처링된 L1 베이직 시그널링 데이터(또는 PLS1 데이터) 및 L1 디테일 시그널링 데이터(또는 PLS2 데이터)를 비트 인터리빙하고, 컨스텔레이션 매퍼는 비트 인터리빙된 L1 베이직 시그널링 데이터(또는 PLS1 데이터) 및 L1 디테일 시그널링 데이터(또는 PLS2 데이터)를 컨스텔레이션에 매핑할 수 있다. L1 시그널링 데이터에 대해서 타임 인터리빙은 수행되지 않으나, 주파수 인터리빙은 수행되는 것을 일 실시예로 한다.
도 24는 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
하이브리드 방송 수신기는 차세대 방송 시스템의 DTV 서비스에서 지상파 방송과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 수신할 수 있다. 하이브리드 방송 수신기는 지상파 방송을 통해서 전송되는 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠를 수신하고, 이와 연관된 enhancement data 혹은 방송 A/V 컨텐츠의 일부를 브로드밴드를 통하여 실시간으로 수신할 수 있다. 본 명세서에서 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠는 미디어 컨텐츠로 지칭할 수 있다.
하이브리드 방송 수신기는 피지컬 레이어 컨트롤러 (Physical Layer Controller, D55010), 튜너 (Tuner, D55020), 피지컬 레이어 프로세서 (Physical Layer Processor, D55030), 링크 레이어 프로세서 (Link Layer Processor, D55040), IP/UDP 패킷 프로세서 (IP/UDP packet processor, D55050), ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (ATSC 3.0 DTV Control Engine, D55060), ALC/LCT+ 클라이언트 (ALC/LCT+ Client, D55070), 타이밍 제어부 (Timing Control, D55080), 시그널링 파서 (Signaling Parser, D55090), DASH 클라이언트 (Dynamic Adaptive Streaming over HTTP Client, DASH Client, D55100), HTTP 접속 클라이언트 (HTTP Access Client, D55110), ISO BMFF 파서 (ISO Base Media File Format Parser, ISO BMFF Parser, D55120) 및/또는 미디어 디코더(Media Decoder, D55130)을 포함할 수 있다.
상기 피지컬 레이어 컨트롤러 (D55010)는 하이브리드 방송 수신기가 수신하고자 하는 지상파 방송 채널의 라디오 주파수 (Radio Frequency, RF) 정보 등을 이용하여 튜너 (D55020), 피지컬 레이어 프로세서(D55030) 등의 동작을 제어할 수 있다.
상기 튜너 (D55020)는 방송망으로 전송되는 방송 신호를 m개의 안테나를 통해 수신 및 처리하고 이를 피지컬 레이어 프로세서(D55030)으로 출력한다.
상기 피지컬 레이어 프로세서(D55030)는 상기 튜너(D55020)로부터 출력되는 방송 신호에 대해 복조, 프레임 파싱, 디인터리빙, 에러 정정 디코딩 등을 수행하는 것을 일 실시예로 한다.
도 25는 상기 피지컬 레이어 프로세서(D55030)의 상세 블록도의 일 실시예를 보인 도면이다. 즉, 도 25는 본 발명의 일 실시예에 따른 피지컬 레이어에서 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 23의 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (4000), 프레임 파싱 모듈 (frame parsing module) (4010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (4020), 출력 프로세서 (output processor) (4030), 및 시그널링 디코딩 모듈 (signaling decoding module) (4040)을 포함할 수 있다.
상기 동기 및 복조 모듈(4000)은 상기 튜너 (D55020)에서 수신되어 처리된 방송 신호에 대해 동기화를 수행하고, 방송 신호 송신 장치의 역과정으로 OFDM 복조를 수행하는 것을 일 실시예로 한다. 즉, 부트스트랩 정보 검출, FFT (Fast Fourier Transform) 수행, 파일롯 검출 등을 수행할 수 있다.
상기 프레임 파싱 모듈(4010)은 주파수 디인터리버, 프레임 파서, 타임 디인터리버를 포함할 수 있다. 본 발명의 방송 신호 송신 장치에서 주파수 인터리빙은 복조된 방송 신호의 프리앰블 심볼들에 대해서는 필수이고, 복조된 방송 신호의 서브프레임(들)에 포함되는 데이터 심볼들에 대해서는 선택적이다. 그러므로 상기 주파수 디인터리버는 프리앰블 심볼들에 대해서는 주파수 디인터리빙을 수행하고, 데이터 심볼들에 대해서는 L1-Detail 시그널링 데이터의 L1D_frequency_interleaver 필드에 따라 선택적으로 주파수 디인터리빙을 수행한다. 주파수 디인터리브된 프리앰블 심볼들은 시그널링 디코딩 모듈(4040)로 출력하고, 주파수 디인터리빙이 선택적으로 수행된 서브프레임(들)의 데이터 심볼들을 포함하는 신호 프레임은 프레임 파서로 출력되어 파싱된다.
상기 프레임 파서에서 파싱된 서브프레임(들)에 포함된 데이터 파이프들(즉, PLP들)은 데이터 파이프별로 타임 디인터리버로 출력되고 방송 신호 송신 장치의 역으로 타임 디인터리빙된다. 상기 프레임 파싱 및 타임 디인터리빙도 L1 시그널링 데이터를 기반으로 수행된다.
상기 시그널링 디코딩 모듈(4040)은 프리앰블에 포함된 L1 시그널링 데이터를 디코딩하여 L1 시그널링 데이터에 포함된 정보를 필요한 블록들에 제공한다. 이를 위해 상기 시그널링 디코딩 모듈(4040)은 컨스텔레이션 디매퍼, 비트 디인터리버, FEC 디코더를 포함하는 것을 일 실시예로 하며, 방송 신호 송신 장치의 역으로 L1 시그널링 데이터에 대해 디코딩을 수행한다.
상기 디매핑 및 디코딩 모듈(4020)은 디매퍼, 비트 디인터리버 및 디코더를 포함하며, 해당 데이터 파이프의 데이터에 대해 상기 L1 시그널링 데이터를 기반으로 방송 신호 송신 장치의 역과정으로 심볼 디매핑을 수행하고, 비트 디인터리빙을 수행한 후 에러 정정 디코딩을 수행한다. 상기 디매핑 및 디코딩 모듈(9020)의 출력은 적어도 하나의 베이스밴드 패킷이다.
상기 출력 프로세서(4030)는 입력되는 베이스밴드 패킷에 대해 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(4030)는 시그널링 디코딩 모듈(4040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다.
상기 베이스밴드 패킷의 페이로드에 포함된 링크 레이어 패킷들에 대한 디캡슐레이션, 어댑테이션, 디컴프레션 처리 등은 피지컬 레이어에서 수행될 수도 있고, 링크 레이어에서 수행될 수도 있다. 만일 피지컬 레이어에서 수행된다면 상기 출력 프로세서(4030)에 디캡슐레이션 모듈, 어댑테이션 모듈, 디컴프레션 모듈이 포함될 수 있다. 이 경우 상기 출력 프로세서(4030)는 방송 신호 송신 장치의 역과정으로 베이스밴드 패킷을 처리하여 링크 레이어 패킷들을 검출하고, 검출된 링크 레이어 패킷들에 대해 디캡슐레이션, 어댑테이션, 압축 해제(decompression) 처리 등을 수행하는 것을 일 실시예로 한다. 만일 링크 레이어에서 디캡슐레이션, 어댑테이션, 압축 해제(decompression) 처리 등을 수행한다면, 상기 출력 프로세서(4030)의 출력은 링크 레이어 패킷들을 포함하는 ALP 스트림이 될 수 있다.
본 발명은 링크 레이어에서 디캡슐레이션, 어댑테이션, 압축 해제(decompression) 처리 등을 수행하는 것을 일 실시예로 한다.
이 경우, 상기 도 24의 피지컬 레이어 프로세서(D55030)는 링크 레이어 패킷들을 포함하는 적어도 하나의 ALP 스트림을 링크 레이어 프로세서(D55040)로 출력한다.
상기 링크 레이어 프로세서(D55040)는 입력되는 적어도 하나의 ALP 스트림에 대해 디캡슐레이션과 같은 링크 레이어 프로세싱을 수행한다. 만일 IP 패킷들에 대해 헤더 압축이 되어 있다면, 디캡슐레이션, 어댑테이션, 디컴프레션 처리 등을 수행하여 오리지날 IP 패킷들로 복원하며, 상세 동작은 후술하기로 한다.
만일 특정 ALP 스트림의 링크 레이어 패킷들에 포함된 입력 패킷들이 IP 패킷들이라면, 상기 링크 레이어 프로세서(D55040)의 출력은 하나 이상의 IP 패킷들이 된다. 본 발명에서 IP 패킷과 IP 데이터그램은 동일한 의미로 사용된다.
상기 IP/UDP 패킷 프로세서(D55050)는 수신된 하나 이상의 IP 패킷들로부터 특정 IP 패킷을 필터링할 수 있다. 즉, 상기 IP/UDP 패킷 프로세서(D55050)는 링크 레이어 프로세서(D55040)로부터 출력된 하나 이상의 IP 패킷들 중 디지털 텔레비전 컨트롤 엔진 (D55060)에 의해 선택된 IP 패킷을 필터링하고, ALC/LCT+ 등의 애플리케이션 레이어 전송 프로토콜 패킷 형태로 출력한다.
상기 디지털 텔레비전 컨트롤 엔진(D55060)은 각 하이브리드 방송 수신기에 포함된 모듈 간의 인터페이스를 담당할 수 있다. 또한 상기 디지털 텔레비전 컨트롤 엔진 (D55060)은 각 모듈에 필요한 파라미터 등을 각 모듈에 전달하고, 이를 통해 각 모듈의 동작을 제어할 수 있다. 본 발명에서 디지털 텔레비전 컨트롤 엔진 (D55060)은 미디어 프리젠테이션 디스크립션 (Media Presentation Description, MPD) 및/또는 MPD URL을 DASH 클라이언트 (D55100)에 전달할 수 있다. 또한 본 발명에서 디지털 텔레비전 컨트롤 엔진 (D55060)은 전송 모드(Delivery mode) 및/또는 전송 세션 식별자 (Transport Session Identifier, TSI)를 ALC/LCT+ 클라이언트 (D55070)에 전달할 수 있다. 여기서 TSI는 MPD 또는 MPD URL 관련 시그널링 등 시그널링 메시지를 포함하는 전송 패킷을 전송하는 세션, 예를 들어 애플리케이션 계층 전송 프로토콜인 ALC/LCT+ 세션 또는 FLUTE 세션의 식별자를 나타낼 수 있다. 또한 전송 세션 식별자는 MMT의 Asset id 등에 대응될 수 있다.
상기 ALC/LCT+ 클라이언트 (D55070)는 ALC/LCT+ 등의 애플리케이션 레이어 전송 프로토콜 패킷을 처리하고 복수의 패킷을 수집 및 처리하여 하나 이상의 ISO Base Media File Format (ISOBMFF) 오브젝트를 생성할 수 있다. 어플리케이션 레이어 전송 프로토콜 패킷에는 ALC/LCT 패킷, ALC/LCT+ 패킷, ROUTE 패킷, 및/또는 MMTP 패킷이 포함될 수 있다.
상기 타이밍 제어부 (D55080)는 시스템 타임 정보를 포함하는 패킷을 처리하고 이에 따라 시스템 클럭을 제어할 수 있다.
상기 시그널링 파서 (D55090)는 DTV 방송 서비스 관련 시그널링 (예, LLS, SLS)을 획득 및 파싱하고 파싱된 시그널링에 기초하여 채널 맵 등을 생성하고 관리할 수 있다. 본 발명에서 시그널링 파서는 시그널링 정보로부터 확장된 MPD 또는 MPD 관련 정보 등을 파싱할 수 있다.
상기 DASH 클라이언트 (D55100)는 실시간 스트리밍 (Real-time Streaming) 혹은 적응적 스트리밍 (Adaptive Streaming)에 관련된 연산을 수행할 수 있다. 상기 DASH 클라이언트 (D55100)는 HTTP 접속 클라이언트 (D55110)을 통해 HTTP 서버로부터 DASH 컨텐츠를 수신할 수 있다. DASH 클라이언트 (D55100)는 수신된 DASH Segment등을 처리하여 ISO Base Media File Format 오브젝트를 출력할 수 있다. 본 발명에서 DASH 클라이언트 (D55100)는 디지털 텔레비전 컨트롤 엔진 (D55060)에 전체 Representation ID (Fully qualified Representation ID) 또는 세그먼트 URL을 전달할 수 있다. 여기서 전체 Representation ID는 예를 들어 MPD URL, period@id 및 representation@id를 결합한 ID를 의미할 수 있다. 또한 DASH 클라이언트 (D55100)는 디지털 텔레비전 컨트롤 엔진 (D55060)으로부터 MPD 또는 MPD URL을 수신할 수 있다. DASH 클라이언트 (D55100)는 수신된 MPD 또는 MPD URL을 이용하여 원하는 미디어 스트림 또는 DASH Segment를 HTTP 서버로부터 수신할 수 있다. 본 명세서에서 DASH 클라이언트 (D55100)는 프로세서로 지칭될 수 있다.
상기 HTTP 접속 클라이언트 (D55110)는 HTTP 서버에 대해 특정 정보를 요청하고, HTTP 서버로부터 이에 대한 응답을 수신하여 처리할 수 있다. 여기서 HTTP 서버는 HTTP 접속 클라이언트로부터 수신한 요청을 처리하고 이에 대한 응답을 제공할 수 있다.
상기 ISO BMFF 파서 (D55120)는 ISO Base Media File Format 오브젝트로부터 오디오/비디오의 데이터 추출할 수 있다.
상기 미디어 디코더 (D55130)는 수신된 오디오 및/또는 비디오 데이터를 디코딩하고, 디코딩된 오디오/비디오 데이터를 프리젠테이션하기 위한 프로세싱을 수행할 수 있다.
한편, LLS, LMT, RDT가 동일 PLP로 전송된다고 가정하면, 피지컬 레이어 콘트롤러(D55010)에서는 L1 베이직 시그널링 데이터의 L1B_lls_flag 필드와 L1 디테일 시그널링 데이터의 L1D_plp_lls_flag 필드를 이용하여 LLS, LMT, RDT 등을 포함하는 PLP를 빠르게 식별할 수 있다. 따라서 링크 레이어 프로세서(D55040)에서는 상기 PLP를 통해 수신된 적어도 하나의 링크 레이어 패킷 내 링크 레이어 시그널링 정보를 RoHC 스트림보다 먼저 획득할 수 있다.
본 발명은 다른 실시예로, 2개 이상의 RDT들을 포함하는 catalog RDT가 컨케터네이션 방법으로 전송되었다면 해당 링크 레이어 패킷의 베이스 헤더 내 패킷 타입, 컨케터네이션을 위한 추가 헤더, 시그널링 정보를 위한 추가 헤더를 기반으로 상기 catalog RDT를 획득할 수 있다.
상기 링크 레이어 프로세서(D55040)는 도 7에서와 같이 디캡슐레이션 모듈, 어댑테이션 모듈, 및 RoHC 모듈을 포함한다.
본 발명은 상기 어댑테이션 모듈과 RoHC 모듈을 합하여 IP 헤더 압축 해제(IP header decompresseion)부라 하기로 한다. 수신기의 RoHC 모듈은 헤더 디컴프레셔라 하기도 한다.
본 발명은 RDT를 전송하는 PLP와 상기 RDT와 관련된 RoHC 스트림을 전송하는 PLP가 다른 경우를 일 실시예로 설명하기로 한다. 다시 말해, RDT의 전송 모드로 catalog RDT가 적용된 예이다. 그리고 설명의 편의를 위해 RDT를 전송하는 PLP를 시그널링 PLP라 하고, RoHC 스트림을 전송하는 PLP를 데이터 PLP라 하기로 한다. 또는 RDT를 전송하는 PLP는 제1 PLP라 명명하고, RoHC 스트림을 전송하는 PLP는 제2 PLP라 명명할 수도 있다. 그 반대로, RoHC 스트림을 전송하는 PLP는 제1 PLP라 명명하고, RDT를 전송하는 PLP는 제2 PLP라 명명할 수도 있다.
상기 디캡슐레이션 모듈은 시그널링 PLP를 통해 수신된 적어도 하나의 링크 레이어 패킷을 디캡슐레이션하여 링크 레이어 시그널링 정보를 획득한다. 그리고 링크 레이어 시그널링 정보에 포함된 LMT, RDT 등을 이용하여 데이터 PLP들을 통해 수신된 적어도 하나의 ALP 스트림의 링크 레이어 패킷들을 디캡슐레이션하여 RoHC 스트림들을 획득할 수 있다.
본 발명은 설명의 편의를 위해 하나의 RoHC 스트림에 대해 설명하기로 한다. 하나의 RoHC 스트림에 포함되는 RoHC 패킷들의 구성은 어댑테이션 모드에 따라 달라진다. 예를 들어, 어댑테이션 모드 1이면 상기 RoHC 스트림은 IR 패킷, IR-DYN 패킷, compressed 패킷들로 구성되고, 어댑테이션 모드 2이면 상기 RoHC 스트림은 IR-DYN 패킷들과 compressed 패킷들로 구성되며, 어댑테이션 모드 3이면 상기 RoHC 스트림은 compressed 패킷들로 구성된다.
만일 어댑테이션 모드 1이라면 RDT로부터 컨텍스트 정보를 추출하는 과정 및 컨텍스트 정보를 이용한 패킷 복원 과정은 없다. 즉, 데이터 PLP를 통해 수신된 적어도 하나의 링크 레이어 패킷으로부터 획득된 RoHC 스트림은 상기 IP 헤더 압축 해제부의 어댑테이션 모듈을 바이패스하여 상기 IP 헤더 압축 해제부의 RoHC 모듈(즉, 헤더 디컴프레셔)로 출력된다. 상기 RoHC 모듈은 RDT에 포함된 헤더 압축 정보를 이용하여 RoHC 스트림 내 RoHC 패킷들에 대해 헤더 디컴프레션을 수행하여 헤더 압축 전 IP 패킷들로 복원한다.
만일 어댑테이션 모드 2라면, 상기 IP 헤더 압축 해제부의 어댑테이션 모듈은 RDT에 포함된 컨텍스트 정보(즉, 스태틱 체인 정보)를 추출하고, 추출된 컨텍스트 정보와 RoHC 스트림 내 해당 IR-DYN 패킷을 이용하여 IR 패킷을 복원한다. 복원된 IR 패킷을 포함하는 RoHC 스트림은 상기 IP 헤더 압축 해제부의 RoHC 모듈로 출력되고, 상기 RoHC 모듈은 RDT에서 획득한 헤더 압축 정보를 이용하여 RoHC 스트림 내 RoHC 패킷들에 대해 헤더 디컴프레션을 수행하여 헤더 압축 전 IP 패킷들로 복원한다.
만일 어댑테이션 모드 3이라면, 상기 IP 헤더 압축 해제부의 어댑테이션 모듈은 RDT에 포함된 컨텍스트 정보를 추출한다. 상기 컨텍스트 정보는 IR 패킷으로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고 IR-DYN 패킷으로부터 추출된 다이나믹 체인 정보를 포함한다. 상기 어댑테이션 모듈은 추출된 컨텍스트 정보와 RoHC 스트림 내 해당 압축 패킷들을 이용하여 IR 패킷와 IR-DYN 패킷을 복원한다. 즉, 상기 스태틱 체인 정보와 다이나믹 체인 정보 그리고 해당 compressed 패킷을 이용하여 IR 패킷을 복원하고, 상기 다이나믹 체인 정보와 해당 compressed 패킷을 이용하여 IR-DYN 패킷을 복원한다. 복원된 IR 패킷과 IR-DYN 패킷을 포함하는 RoHC 스트림은 상기 IP 헤더 압축 해제부의 RoHC 모듈로 출력된다. 상기 RoHC 모듈은 RDT에서 획득한 헤더 압축 정보를 이용하여 RoHC 스트림 내 RoHC 패킷들에 대해 헤더 디컴프레션을 수행하여 헤더 압축 전 IP 패킷들로 복원한다.
상기 RoHC 모듈에서 복원된 IP 패킷들은 IP/UDP 레이어로 전송된다.
다음은 컨텍스트 정보를 포함하는 RDT와 상기 RDT와 관련된 RoHC 스트림이 다른 PLP들을 통해 수신될 때, 상기 RoHC 스트림에 포함된 RoHC 패킷들에 대해 디컴프레션(압축 해제)을 시작하기 위해 상기 RDT에 포함된 컨텍스트 정보와 상기 RoHC 스트림에 포함된 RoHC 패킷을 동기화하는 과정에 대해 설명하기로 한다.
도 26은 압축되지 않은 IP/UDP 헤더를 포함하는 IP 스트림을 16진수(hexadecimal) 형태로 보인 것이다. 도 26에서 16 비트의 SN 필드는 UDP 헤더의 첵섬 필드 다음에 위치하며, 시퀀스 번호를 표시한다. 상기 SN 필드는 UDP 헤더의 다이나믹 파트이다. 상기 시퀀스 번호는 각 패킷들에 대해 1씩 증가하여 스트림 내 패킷들의 순서를 나타낸다.
도 26은 시퀀스 번호가 '760' (0x02F8)부터 할당되어 시작하고 있는 예를 보이고 있다. 이는 하나의 실시예이며, 시작 번호는 다른 번호가 될 수도 있다.
한편, 송신측의 IP 헤더 압축부에서 IP 패킷들에 대해 헤더 압축을 수행하면, 입력된 IP 패킷들에 대응하는 RoHC 패킷들이 생성되며, 상기 RoHC 패킷들도 시퀀스 번호를 포함한다. 예를 들어, RoHC 패킷들 중 IR 패킷의 헤더와 IR-DYN 패킷의 헤더는 해당 IP 패킷 헤더의 SN 필드 값과 동일한 시퀀스 번호를 포함한다. 즉, 16 비트의 풀 길이(full-length)를 가진 시퀀스 번호를 포함한다. 그리고, RoHC 패킷들 중 compressed 패킷 예를 들어, UO-0 패킷의 헤더에는 해당 IP 패킷 헤더의 SN 필드 값 중 하위 4 비트(LSB-4)가 시퀀스 번호로서 할당된다. 즉, compressed 패킷은 4 비트의 encoded (즉, compressed) 시퀀스 번호를 포함한다.
그리고 상기 송신측의 IP 헤더 압축부에서 어댑테이션 모드에 따라 IR 패킷과 IR-DYN 패킷이 compressed 패킷들로 변환되면, IR 패킷과 IR-DYN 패킷으로부터 추출된 컨텍스트 정보에 포함된 시퀀스 번호의 길이는 16비트이고, 변환된 compressed 패킷의 헤더에 포함된 시퀀스 번호의 길이는 4비트이다. 즉, RDT로 전송되는 컨텍스트 정보에 포함된 시퀀스 번호는 16 비트이고, 상기 컨텍스트 정보에 대응하는 compressed 패킷에 포함된 시퀀스 번호는 4비트이다.
다시 말해, 송신측의 IP 헤더 압축부에서 생성되는 RDT는 IR 패킷 또는 IR-DYN 패킷의 컨텍스트 정보를 포함하므로, 만일 다이나믹 체인 정보가 상기 RDT에 포함되면, full-length 시퀀스 번호가 상기 RDT에 포함되게 된다.
이때 상기 RDT와 상기 RDT와 관련된 RoHC 스트림은 같은 PLP를 통해 전송될 수도 있고, 다른 PLP들을 통해 전송될 수도 있다. 즉, 상기 RDT를 전송하는 PLP와 상기 RDT와 관련된 RoHC 스트림을 전송하는 PLP가 같을 수도 있고 다를 수도 있다. 일 예로, catalog RDT는 컨텍스트 정보를 전송하는 PLP와 그 컨텍스트 정보와 관련된 RoHC 패킷을 포함하는 RoHC 스트림을 전송하는 PLP가 다르고, discrete RDT는 컨텍스트 정보와 그 컨텍스트 정보와 관련된 RoHC 패킷을 포함하는 RoHC 스트림을 전송하는 PLP가 동일하다.
만일 컨텍스트 정보를 포함하는 RDT와 상기 컨텍스트 정보와 관련된 RoHC 패킷을 포함하는 RoHC 스트림이 다른 PLP들을 통해 전송된다면 상기 RDT에 포함된 컨텍스트 정보와 상기 RoHC 스트림에 포함된 해당 RoHC 패킷의 동기화가 필요하게 된다.
본 발명에서 동기화는 수신기의 IP 헤더 압축 해제부의 어댑테이션 모듈 또는 RoHC 모듈에서 수행하는 것을 일 실시예로 한다.
본 발명의 동기화 과정은 어댑테이션 모드 1에서는 수행하지 않는 것을 일 실시예로 한다. 어댑테이션 모드 1에서는 RDT를 통해 컨텍스트 정보를 전송하지 않기 때문이다.
도 27은 어댑테이션 모드 2일 때 수신되는 RoHC 스트림의 일 실시예를 보인 것으로서, 1번째 패킷과 30번째 패킷에서 IR-DYN 패킷이 수신되고, 나머지 패킷들에서 compressed 패킷들 (예, UO-0 패킷들)이 수신된 예를 보이고 있다. 즉, 도 27은 1번째 패킷과 30번째 패킷에서 IR-DYN 패킷의 헤더 내 각 필드들의 값들을 보이고 있고, 나머지 패킷들에서 compressed 패킷들의 헤더 내 각 필드들의 값을 보이고 있다. 도 27에서 CID는 스몰 CID가 할당되고, 그 값은 0인 예를 보이고 있다. 즉, CID에 관련된 옥텟(즉, 바이트)은 없다.
도 27의 RoHC 스트림의 첫번째 패킷인 IR-DYN 패킷에는 시퀀스 번호 '0x02F8'이 할당되고, 두번째 패킷인 compressed 패킷에는 시퀀스 번호로 '0x02F9'의 하위 4비트인 '9'가 할당된 예를 보이고 있다.
도 28은 RDT를 위한 스태틱 체인 정보의 일 실시예를 보이고 있다. 즉, 도 28은 도 27과 같은 RoHC 스트림의 각 IR-DYN 패킷에 대응하는 각 스태틱 체인 정보의 일 예를 보이고 있다. 다시 말해, 1번째 IR 패킷과 30번째 IR 패킷으로부터 도 28과 같이 스태틱 체인 정보가 각각 추출되고, 스태틱 체인 정보가 추출된 각 IR 패킷이 도 20의 (b)와 같은 포맷(즉, CID=0)의 IR-DYN 패킷으로 변환된 예이다. 그리고 변환된 IR-DYN 패킷들은 도 27과 같이 RoHC 스트림에 포함되어 전송되고, 추출된 스태틱 체인 정보는 RDT에 각각 포함되어 전송된다. 즉, 상기 RDT는 패킷 1과 패킷 30에서 생성되어 전송된다.
도 27과 같은 RoHC 스트림을 전송하는 PLP와 도 28의 스태틱 체인 정보를 포함하는 RDT를 전송하는 PLP가 다를 때, 수신기의 IP 헤더 압축 해제부는 압축 해제 절차를 시작하기 위해(to start the decompression procedure) 동기화 절차를 수행하여야 한다.
도 29는 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 2의 동기화 과정의 일 실시예를 보인 흐름도이다. 본 발명은 제1 PLP(예, 시그널링 PLP)를 통해 RDT가 수신되고, 상기 제1 PLP와 다른 제2 PLP(예, 데이터 PLP)를 통해 RoHC 스트림이 수신되었다고 가정하자.
즉, 링크 레이어 시그널링을 포함하는 링크 레이어 패킷들과 RoHC 스트림을 포함하는 링크 레이어 패킷들은 다른 PLP들을 통해 수신되어 피지컬 레이어 프로세서(D55030)에서 피지컬 레이어 처리된 후 링크 레이어 프로세서(D55040)로 입력된다.
상기 링크 레이어 프로세서(D55040)의 디캡슐레이션 모듈은 링크 레이어 패킷들의 각 헤더 정보를 기반으로 디캡슐레이션 과정을 수행하여 링크 레이어 패킷들에 포함된 RDT와 RoHC 스트림을 IP 헤더 압축 해제부로 출력한다. 이때 상기 RoHC 스트림에 포함된 IR-DYN 패킷들과 compressed 패킷들은 도 27과 같은 패킷 순서대로 순차적으로 상기 IP 헤더 압축 해제부로 입력된다.
상기 IP 헤더 압축 해제부는 상기 RDT로부터 스태틱 체인 정보를 추출하고, 상기 RoHC 스트림으로부터 IR-DYN 패킷을 검출한다. 일 실시예로, 상기 IP 헤더 압축 해제부는 '패킷 1'을 IR-DYN 패킷으로 검출한다(S6011). 이때 상기 IR-DYN 패킷은 도 20의 (b)와 같은 포맷(즉 CID=0)이며, 상기 IR-DYN 패킷의 식별 정보를 기반으로 RoHC 스트림으로부터 IR-DYN 패킷을 검출하는 것을 일 실시예로 한다.
이어, 상기 추출된 스태틱 체인 정보와 상기 검출된 IR-DYN 패킷을 이용하여 IP 패킷의 IP/UDP 헤더를 일시적으로(temporally) 복구한다(S6012).
상기 스텝 S6012는 상기 스태틱 체인 정보와 상기 IR-DYN 패킷을 이용하여 IR 패킷을 복원하고, 상기 복원된 IR 패킷을 기반으로 IP 패킷의 IP/UDP 헤더를 복구할 수도 있고, 상기 IR 패킷을 복원하는 과정을 생략하고 상기 스태틱 체인 정보와 상기 IR-DYN 패킷을 이용하여 상기 IP 패킷의 IP/UDP 헤더를 바로 복구할 수도 있다.
그리고 상기 검출된 IR-DYN 패킷의 헤더에 포함된 CRC를 이용한 검증(validation)을 수행한다(S6013).
만일 CRC를 이용한 validation이 패스(pass)하면, 즉 에러가 검출되지 않으면, 동기화가 성공하였다고 간주한다. 따라서, 상기 스텝 S6011에서 추출된 스태틱 체인 정보와 상기 RoHC 스트림의 'packet 1'에서 검출된 IR-DYN 패킷을 이용하여 오리지날 IP 패킷의 IP/UDP 헤더의 복구(recovery)를 시작한다(S6014). 즉, RoHC 스트림 내 'packet 1'부터 시작하는 압축 해제를 수행한다.
만일 CRC를 이용한 validation이 fail이면, 즉 'packet 1'이 수신 에러 때문에 미스(miss)되면, 다음 RDT가 수신될 때까지 기다린다. 그리고 다음 RDT가 수신되면, 수신된 다음 RDT로부터 스태틱 체인 정보를 추출하고, 다음 IR-DYN 패킷 즉, 'packet 30'을 IR-DYN 패킷으로 검출한 후, 단계 S6012로 진행하여 전술한 과정을 반복한다(S6015). 이 경우, 'packet 30' 전에 수신된 RoHC 스트림 내 RoHC 패킷들은 압축 해제되지 못하고 버려진다.
어댑테이션 모드 2에서는 동기화 과정에 시퀀스 번호를 이용하지 않는다. 즉, 송신측에서 어댑테이션 모드 2이면, IR 패킷의 헤더로부터 스태틱 체인 정보(즉, 컨텍스트 정보)가 추출되어 RDT를 통해 전송되고, 스태틱 체인 정보가 추출된 IR 패킷은 IR-DYN 패킷으로 변환된 후 RoHC 스트림에 포함되어 전송된다. 이때, 시퀀스 번호는 다이나믹 체인 정보에 포함되어 있으므로, 상기 RDT로 전송되는 컨텍스트 정보에 시퀀스 번호가 없다. 그러므로, 어댑테이션 모드 2에서도 시퀀스 번호를 이용한 동기화 과정은 수행하지 않는다.
한편, 어댑테이션 모드 3에서는 IR 패킷의 스태틱 체인 정보와 다이나믹 체인 정보 그리고, IR-DYN 패킷의 다이나믹 체인 정보가 RDT를 통해 전송되므로, RDT와 compressed 패킷들 사이의 동기화에 시퀀스 번호를 이용하는 것을 일 실시예로 한다.
도 30은 어댑테이션 모드 3일 때 수신되는 RoHC 스트림의 일 실시예를 보인 것이다. 수신되는 RoHC 스트림에 compressed 패킷들 (예, UO-0 패킷들)만 포함된다. 도 30에서 CID는 스몰 CID가 할당되고, 그 값은 0인 예를 보이고 있다. 즉, CID에 관련된 옥텟(즉, 바이트)은 없다. 그리고 RoHC 스트림의 첫번째 compressed 패킷에는 시퀀스 번호로 '0x02F8'의 하위 4비트인 '8'이 할당되고, 두번째 compressed 패킷에는 시퀀스 번호로 '0x02F9'의 하위 4비트인 '9'가 할당된 예를 보이고 있다.
도 31은 RDT를 위한 스태틱 체인 정보와 다이나믹 체인 정보의 일 실시예를 보이고 있다. 즉, 도 31은 도 30과 같은 RoHC 스트림의 첫번째 compressed 패킷에 대응하는 스태틱 체인 정보와 다이나믹 체인 정보의 일 예를 보이고 있다. 다시 말해, 1번째 IR 패킷의 헤더(또는 오리지날 IP 패킷의 헤더)로부터 도 31과 같이 컨텍스트 정보(즉, 스태틱 체인 정보와 다이나믹 체인 정보)가 추출되고, 컨텍스트 정보가 추출된 IR 패킷이 도 20의 (c)와 같은 포맷(즉, CID=0)의 compressed 패킷으로 변환된 예이다. 그리고 변환된 compressed 패킷은 도 30과 같이 RoHC 스트림에 포함되어 전송되고, 추출된 스태틱 체인 정보와 다이나믹 체인 정보는 RDT에 포함되어 전송된다. 상기 RDT로 전송되는 다이나믹 체인 정보에 시퀀스 번호가 포함되며, 상기 시퀀스 번호는 도 31에서와 같이 '0x02F8'이 할당되어 있음을 알 수 있다.
도 30과 같은 RoHC 스트림을 전송하는 PLP와 도 31과 같은 스태틱 체인 정보와 다이나믹 체인 정보를 포함하는 RDT를 전송하는 PLP가 다를 때, 수신기의 IP 헤더 압축 해제부는 압축 해제 절차를 시작하기 위해(to start the decompression procedure) 동기화 절차를 수행하여야 한다.
도 35는 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 3의 동기화 과정의 일 실시예를 보인 흐름도이다. 본 발명은 제1 PLP(예, 시그널링 PLP)를 통해 RDT가 수신되고, 상기 제1 PLP와 다른 제2 PLP(예, 데이터 PLP)를 통해 RoHC 스트림이 수신되었다고 가정하자.
즉, 링크 레이어 시그널링을 포함하는 링크 레이어 패킷들과 RoHC 스트림을 포함하는 링크 레이어 패킷들은 다른 PLP들을 통해 수신되어 피지컬 레이어 프로세서(D55030)에서 피지컬 레이어 처리된 후 링크 레이어 프로세서(D55040)로 입력된다.
상기 링크 레이어 프로세서(D55040)의 디캡슐레이션 모듈은 링크 레이어 패킷들의 각 헤더 정보를 기반으로 디캡슐레이션 과정을 수행하여 링크 레이어 패킷들에 포함된 RDT와 RoHC 스트림을 IP 헤더 압축 해제부로 출력한다. 이때 상기 RoHC 스트림에 포함된 compressed 패킷들은 도 30과 같은 패킷 순서대로 순차적으로 상기 IP 헤더 압축 해제부로 입력된다.
상기 IP 헤더 압축 해제부는 상기 RDT로부터 스태틱 체인 정보와 다이나믹 체인 정보를 추출하고, 상기 다이나믹 체인 정보로부터 시퀀스 번호를 추출한다. 그리고 상기 추출된 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 갖는 compressed 패킷들을 상기 RoHC 스트림으로부터 검출한다(S7011). 도 30과 도 31에서와 같이, '패킷 1'의 IR 패킷을 기반으로 생성된 RDT의 다이나믹 체인 정보에 포함된 시퀀스 번호가 '0x02F8'이므로, 스텝 S7011에서 상기 IP 헤더 압축 해제부는 시퀀스 번호가 '8'인 compressed 패킷들을 RoHC 스트림으로부터 검출한다. 도 30을 예로 들 경우, 시퀀스 번호가 '8'인 compressed 패킷은 1, 17, 33, 49번째 패킷들에서 검출된다.
이어, 상기 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 검출된 임의의 compressed 패킷을 이용하여 IR 패킷의 헤더를 복원하고, 상기 복원된 IR 패킷의 헤더 정보를 기반으로 압축 전 IP 패킷의 IP/UDP 헤더를 일시적으로(temporally) 복구한다(S7012).
만일, 송신기에서 도 22와 같은 IP 헤더 압축부를 적용하여 IP 패킷들의 헤더 압축을 수행하였다면, 상기 IR 패킷의 복원을 수행하는 과정을 생략하고, 상기 RDT로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고 상기 RoHC 스트림으로부터 검출된 임의의 compressed 패킷을 기반으로 IP 패킷의 IP/UDP 패킷을 일시적으로 복구할 수도 있다.
그리고, 상기 RDT의 다이나믹 체인 정보에서 추출된 full length의 시퀀스 번호를 기반으로 4개의 compressed 패킷들에 대해 CRC를 이용한 검증(validation)을 수행하여(S7013), CRC를 이용한 validation을 패스한 compressed 패킷이 있는지를 확인한다(S7014). 즉, 에러가 검출되지 않은 compressed 패킷이 있는지를 확인한다.
만일 수신 에러 등으로 인해 미스(miss)되는 compressed 패킷들이 없다면, 도 32에서와 같이 CRC를 이용한 validation 결과로 1번째 compressed 패킷만 pass가 되고 나머지 17, 33, 49번째 compressed 패킷들에서는 fail이 된다. 그러면, 상기 스텝 S7011에서 추출한 스테이틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 'packet 1'의 패스된 compressed 패킷을 이용하여 IP 패킷의 IP/UDP 헤더의 압축 해제를 시작한다(S7015). 이때, 상기 스테이틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 패스된 compressed 패킷을 이용하여 IR 패킷을 복원한 후, 상기 복원된 IR 패킷의 헤더를 기반으로 오리지날 IP 패킷의 IP/UDP 헤더를 복구할 수도 있고, 상기 IR 패킷를 복원하는 과정을 생략하고 상기 스테이틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 패스된 compressed 패킷을 이용하여 바로 IP 패킷의 IP/UDP 패킷의 헤더를 복구할 수도 있다.
만일 수신 에러 등으로 인해 RoHC 스트림 내 'packet 1'의 compressed 패킷에 미스(miss)가 발생하면, 즉, 1번째 compressed 패킷이 수신되지 못하면, 상기 CRC를 이용한 validation 결과로, 1, 17, 33, 49번째 compressed 패킷들 모두에서 fail이 된다. 그러면, 다음 RDT가 수신될 때까지 기다린다. 그리고 다음 RDT가 수신되면, 수신된 다음 RDT로부터 스태틱 체인 정보와 다이나믹 체인 정보를 추출하고, 추출된 다이나믹 체인 정보로부터 시퀀스 번호를 추출한다. 그리고 상기 추출된 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 갖는 compressed 패킷들을 상기 RoHC 스트림으로부터 검출한 후 상기 스텝 S7013으로 진행하여 전술한 과정을 반복한다(S7016). 이 경우, 상기 스텝 S7016에서 다음 RDT가 수신되기 전까지, 수신된 RoHC 패킷들은 압축 해제되지 못하고 버려진다.
도 36은 본 발명에 따른 IP 헤더 압축 해제부에서 수행되는 어댑테이션 모드 3의 동기화 과정의 다른 실시예를 보인 흐름도이다.
도 36에서도 스태틱 체인 정보와 다이나믹 체인 정보를 포함하는 RDT를 전송하는 PLP와 상기 RDT에 관련된 compressed 패킷을 포함하는 RoHC 스트림을 전송하는 PLP가 다를 때 상기 RDT와 상기 compressed 패킷을 동기화하기 위한 것이다.
만일 수신된 RoHC 스트림에 에러가 없다면, 상기 동기화와 압축 해제 동작들(operations)인 S8011, S8012, S8013, S8014, S8015는 도 35의 스텝 7011, S7012, S7013, S7014, S7015와 동일하다. 즉, RDT로부터 스태틱 체인 정보와 다이나믹 체인 정보를 추출하고, 상기 다이나믹 체인 정보로부터 full length의 시퀀스 번호를 추출한다. 그리고 상기 추출된 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 갖는 compressed 패킷들을 상기 RoHC 스트림으로부터 검출한다(S8011).
이어, 상기 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 검출된 임의의 compressed 패킷을 이용하여 IR 패킷의 헤더를 복원하고, 상기 복원된 IR 패킷의 헤더 정보를 기반으로 압축 전 IP 패킷의 IP/UDP 헤더를 일시적으로(temporally) 복구한다(S8012).
만일, 송신기에서 도 22와 같은 IP 헤더 압축부를 적용하여 IP 패킷들의 헤더 압축을 수행하였다면, 상기 IR 패킷의 복원을 수행하는 과정을 생략하고, 상기 RDT로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고 상기 RoHC 스트림으로부터 검출된 임의의 compressed 패킷을 기반으로 IP 패킷의 IP/UDP 패킷을 일시적으로 복구할 수도 있다.
그리고, 상기 RDT의 다이나믹 체인 정보에서 추출된 full length의 시퀀스 번호를 기반으로 상기 검출된 compressed 패킷들에 대해 CRC를 이용한 검증(validation)을 수행하여(S8013), CRC를 이용한 validation을 패스한 compressed 패킷이 있는지를 확인한다(S8014). 즉, 에러가 검출되지 않은 compressed 패킷이 있는지를 확인한다. 즉, full length의 시퀀스 번호를 기반으로 상기 검출된 compressed 패킷들에 대해 CRC를 이용한 검증(validation)을 수행하여, CRC를 이용한 validation을 패스한 compressed 패킷이 있는지를 확인한다. 이때, 수신된 RoHC 스트림에 에러가 없다고 가정하였으므로, CRC를 이용한 validation 결과로 1번째 compressed 패킷만 pass가 되고 나머지 17, 33, 49번째 compressed 패킷들에서는 fail이 된다. 그러면, 상기 스텝 S8011에서 추출한 스테이틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 'packet 1'의 패스된 compressed 패킷을 이용하여 IP 패킷의 IP/UDP 헤더의 압축 해제를 시작한다(S8015).
한편, 수신된 RoHC 스트림에서 에러가 검출된 경우, 특히 RoHC 스트림의 첫번째 compressed 패킷이 수신 에러 등으로 미스되어 수신되지 못하였을 때는 UDP 첵섬의 사용 여부에 따라 다른 방법으로 압축 해제를 시작한다.
본 발명에서 UDP 첵섬의 사용은 옵셔널이다. 만일 본 발명에서 UDP 첵섬을 사용하지 않기를 원하면, 송신측에서 UDP 헤더 내 UDP 첵섬 필드 값을 모두 0x00로 하여 전송하면 된다. 수신측에서는 UDP 첵섬 필드 값이 0x00이면 UDP 첵섬을 이용한 에러 검출 과정을 수행하지 않는다. UDP 첵섬이 사용되지 않으면, IP 스트림 내 IP/UDP 헤더 내 필드들의 모든 값들은 IP 헤더의 total length 필드, UDP 헤더의 length 필드, 그리고 시퀀스 번호(SN)를 제외하고 모두 동일하다.
도 33은 UDP 첵섬이 사용되지 않을 때, IP 스트림에 포함되는 50개의 IP 패킷들의 예를 보인 것으로서, IP 스트림의 IP 패킷들의 IP/UDP 헤더 내 모든 필드들(즉, total length 필드와 length 필드를 포함)의 값들이 시퀀스 번호를 제외하고 모두 동일한 예를 보이고 있다.
또한 RoHC 패킷에서 CRC의 값은 해당 IP 패킷의 IP 헤더의 total length 필드, UDP 헤더의 length 필드, 그리고 시퀀스 번호에 따라 달라진다(The value of CRC in an RoHC packet depends on the total length field of IP header, length filed of UDP header and SN). 그런데, RoHC의 동작(operation)에 따라, 상기 total length 필드와 length 필드는 송신측의 IP 헤더 압축부에서 수신측의 IP 헤더 압축 해제부로 전송되지 않는다. 또한 시퀀스 번호(SN)는 송신측의 IP 헤더 압축부에서 할당된다. 그러므로, UDP 첵섬이 사용되지 않으면, RDT는 임의의 compressed 패킷에 적용될 수 있다. 즉, UDP 첵섬이 사용되지 않으면 RDT에 포함된 스태틱 체인 정보와 다이나믹 체인 정보는 시퀀스 번호를 제외하고는 도 33의 모든 compressed 패킷들에 대해 동일하므로, RDT에 포함된 스태틱 체인 정보와 다이나믹 체인 정보 그리고, 도 33의 compressed 패킷들 중 어느 하나의 compressed 패킷을 이용하여 IR 패킷으로 복원할 수 있다. 이 경우에, 상기 IP 헤더 압축 해제부는 빠른 압축 해제 시작을 위해 CRC를 이용한 validation에서 fail된 compressed 패킷은 무시할 수 있으며, 압축 해제 절차는 상기 compressed 패킷의 임의의 위치(any position)에서 시작될 수 있다.
도 34는 도 33과 같은 IP 스트림의 '패킷 1'을 사용하여 IP 헤더와 UDP 헤더로부터 추출한 스태틱 체인 정보와 다이나믹 체인 정보의 일 예를 보인 것이다. 즉, RDT에 포함되는 스태틱 체인 정보와 다이나믹 체인 정보의 예를 보이고 있다. 도 34의 다이나믹 체인 정보를 보면, UDP 첵섬 값이 0000인 것을 알 수 있다. 이는 UDP 첵섬을 이용한 에러 검출을 수행하지 않음을 의미한다.
이에 반해, 도 31의 다이나믹 체인 정보를 보면, UDP 첵섬 값이 54F0인 것을 알 수 있다. 이는 UDP 첵섬을 사용하여 에러 검출을 수행함을 의미한다.
이와 같이, 본 발명에 따른 어댑테이션 모드 3에서는 RDT로부터 추출된 다이나믹 체인 정보를 기반으로 UDP 첵섬의 사용 여부를 체크할 수 있다.
그러므로, 수신 에러 등으로 인해 RoHC 스트림 내 'packet 1'의 compressed 패킷에 미스(miss)가 발생하여, 1번째 compressed 패킷이 수신되지 못하면, 상기 스텝 S8014에서는 패스된 compressed 패킷이 없다고 판단한다.
상기 스텝 S8014에서 패스된 compressed 패킷이 없다고 판단되면, 상기 RDT로부터 추출된 다이나믹 체인 정보를 기반으로 UDP 첵섬이 사용되었는지를 확인한다(S8016).
도 31과 같이 다이나믹 체인 정보의 UDP 첵섬 값이 0000이 아니면 UDP 첵섬이 사용되었다고 판단하고, 도 34와 같이 다이나믹 체인 정보의 UDP 첵섬 값이 0000이면 UDP 첵섬이 사용되지 않았다고 판단한다.
상기 스텝 S8016에서 UDP 첵섬이 사용되었다고 판단되면 다음 RDT를 기다린 후, 다음 RDT가 수신되면 수신된 다음 RDT와 compressed 패킷들과 동기화 과정을 수행한다. 즉, 다음 RDT가 수신되면, 수신된 다음 RDT로부터 스태틱 체인 정보와 다이나믹 체인 정보를 추출하고, 추출된 다이나믹 체인 정보로부터 시퀀스 번호를 추출한다. 그리고 상기 추출된 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 갖는 compressed 패킷들을 상기 RoHC 스트림으로부터 검출한 후 상기 스텝 S8013으로 진행하여 전술한 과정을 반복한다(S8017). 이 경우, 다음 RDT를 수신하기 전에 수신된 이전 compressed 패킷들은 압축 해제되지 못하고 버려진다.
상기 스텝 S8016에서 UDP 첵섬이 사용되지 않았다고 판단되면, 다음 RDT를 기다리는 대신에, 상기 스텝 S8011에서 추출된 스태틱 체인 정보와 다이나믹 체인 정보 그리고, 'packet 2'의 compressed 패킷을 이용하여 비동기화된(un-synchronized) 압축 해제를 수행한다(S8018).
예를 들어, compressed 패킷 '1'이 미스되어 수신되지 못하였다고 가정할 때, compressed 패킷 '1' 과 관련된 RDT의 다이나믹 체인 정보로부터 추출된 시퀀스 번호 '0x02F8'인데 반해, 'packet 1' 다음 패킷인 'packet 2'의 compressed 패킷에 할당된 시퀀스 번호는 '0x02F9'의 하위 4비트인 '9'임을 알 수 있다.
이때, 상기 RDT의 다이나믹 체인 정보에 포함된 full length의 시퀀스 번호 '0x02F8'를 기반으로 시퀀스 번호 '9'가 할당된 'packet 2'의 compressed 패킷에 대해 CRC를 이용한 검증(validation)을 수행하면, CRC를 이용한 validation은 fail이 된다.
따라서 본 발명에서는 상기 RDT의 다이나믹 체인 정보에 포함된 시퀀스 번호 '0x02F8' 대신 'packet 2'의 compressed 패킷에 할당된 시퀀스 번호 '9'의 full length 시퀀스 번호인 '0x02F9'를 기반으로 시퀀스 번호 '9'가 할당된 'packet 2'의 compressed 패킷에 대해 CRC를 이용한 validation을 수행한다. 그러면, 'packet 2'의 compressed 패킷은 CRC를 이용한 validation을 패스하게 된다. 즉, RDT에 포함된 시퀀스 번호는 '0x02F8'이지만 '0x02F9'라고 가정하고 'pacekt 2'의 compressed 패킷에 대해 CRC 검증을 수행하는 것이다. 본 발명은 UDP 첵섬을 사용하지 않는다고 가정하였으므로, RDT에 포함된 시퀀스 번호는 '0x02F8'이지만 '0x02F9'라고 가정하고 시퀀스 번호 '9'가 할당된 'pacekt 2'의 compressed 패킷에 대해 CRC 검증을 하여도 패스가 된다.
그러므로, 상기 스텝 S8018에서는 상기 스텝 S8011의 RDT에서 추출한 스테이틱 체인 정보와 다이나믹 체인 정보 그리고, 상기 'packet 2'의 compressed 패킷을 이용하여 IP 패킷의 IP/UDP 헤더의 압축 해제를 시작한다.
따라서, UDP 첵섬이 사용되지 않으면 RoHC 스트림의 첫번째 compressed 패킷이 미스되어도 그 다음 compressed 패킷을 버리지 않고 압축 해제에 이용하므로, 압축 해제를 시작하기 위해 다음 RDT를 기다리지 않아도 되어 그만큼 압축 해제 시간이 빨라지는 효과가 있다.
전술한 장치의 내부 컴포넌트들은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들이거나, 그 외의 하드웨어로 구성된 하드웨어 컴포넌트들일 수 있다. 이 들은 장치 내/외부에 위치할 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서이거나 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서 또는 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블록/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
2100: 프리-프로세싱 모듈
2200: RoHC 모듈
2210: 컨텍스트 매니지먼트부
2220: RoHC 패킷 생성부
2300: 어댑테이션 모듈

Claims (10)

  1. 방송 데이터를 포함하는 IP (Internet Protocol) 패킷들에 대해 헤더 압축을 수행하여 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널과 상기 헤더 압축에 관련된 정보를 포함하는 RDT (RoHC-U Description Table)를 생성하는 단계;
    상기 하나 이상의 RoHC 스트림들을 제1 링크 레이어 패킷들로 인캡슐레이팅하고, 상기 RDT를 적어도 하나의 제2 링크 레이어 패킷으로 인캡슐레이팅하는 단계; 및
    상기 제1 링크 레이어 패킷들과 상기 적어도 하나의 제2 링크 레이어 패킷을 피지컬 레이어 프로세싱하여 전송하는 단계를 포함하며,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림은 압축된(compressed) 패킷들을 포함하고, 상기 압축된 패킷들 중 하나는 IR(Initialization and Refresh) 패킷이 변환된 것이고,
    상기 RDT는 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 상기 IR 패킷으로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보를 포함하고, 상기 다이나믹 체인 정보는 풀 렝쓰(full length)의 시퀀스 번호를 포함하고,
    상기 RDT는 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되며, 상기 catalog RDT가 복수개의 RDT들을 포함하면, 상기 복수개의 RDT들은 상기 적어도 하나의 제2 링크 레이어 패킷에 연속(concatenation)적으로 포함되는 것을 특징으로 하는 방송 신호 송신 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림의 컨텍스트 식별자(CID)의 값은 0이고,
    상기 CID의 값이 0인 RoHC 스트림은 상기 하나 이상의 RoHC 스트림들 중 가장 커먼(the most common)한 RoHC 스트림인 것을 특징으로 하는 방송 신호 송신 방법.
  3. 제 2 항에 있어서,
    상기 CID의 변경이 필요하면, 상기 RDT가 전송되는 시점에서 변경하는 것을 특징으로 하는 방송 신호 송신 방법.
  4. 방송 데이터를 포함하는 IP (Internet Protocol) 패킷들에 대해 헤더 압축을 수행하여 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널과 상기 헤더 압축에 관련된 정보를 포함하는 RDT (RoHC-U Description Table)를 생성하는 IP 헤더 압축부;
    상기 하나 이상의 RoHC 스트림들을 제1 링크 레이어 패킷들로 인캡슐레이팅하고, 상기 RDT를 적어도 하나의 제2 링크 레이어 패킷으로 인캡슐레이팅하는 인캡슐레이션부; 및
    상기 적어도 하나의 제1 링크 레이어 패킷과 상기 적어도 하나의 제2 링크 레이어 패킷을 피지컬 레이어 프로세싱하여 전송하는 피지컬 레이어 프로세서를 포함하며,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림은 압축된(compressed) 패킷들을 포함하고, 상기 압축된 패킷들 중 하나는 IR(Initialization and Refresh) 패킷이 변환된 패킷이고,
    상기 RDT는 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 상기 IR 패킷으로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보를 포함하고, 상기 다이나믹 체인 정보는 풀 렝쓰(full length)의 시퀀스 번호를 포함하고,
    상기 RDT는 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되며, 상기 catalog RDT가 복수개의 RDT들을 포함하면, 상기 복수개의 RDT들은 상기 적어도 하나의 제2 링크 레이어 패킷에 연속(concatenation)적으로 포함되는 것을 특징으로 하는 방송 신호 송신 장치.
  5. 제 4 항에 있어서,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림의 컨텍스트 식별자(CID)의 값은 0이고,
    상기 CID의 값이 0인 RoHC 스트림은 상기 하나 이상의 RoHC 스트림들 중 가장 커먼(the most common)한 RoHC 스트림인 것을 특징으로 하는 방송 신호 송신 장치.
  6. 제 5 항에 있어서,
    상기 CID의 변경이 필요하면, 상기 RDT가 전송되는 시점에서 변경하는 것을 특징으로 하는 방송 신호 송신 장치.
  7. 제1 링크 레이어 패킷들과 적어도 하나의 제2 링크 레이어 패킷을 포함하는 방송 신호를 수신하는, 여기서 상기 제1 링크 레이어 패킷들은 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널을 포함하고, 상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림은 압축된(compressed) 패킷들을 포함하고, 상기 적어도 하나의 제2 링크 레이어 패킷은 상기 RoHC 스트림에 관련된 헤더 압축 정보를 포함하는 RDT (RoHC-U Description Table)를 포함하며, 상기 RDT는 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되고, 상기 catalog RDT가 복수개의 RDT들을 포함하면, 상기 복수개의 RDT들은 상기 적어도 하나의 제2 링크 레이어 패킷에 연속적으로 포함되며, 상기 RDT는 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 IR(Initialization and Refresh) 패킷으로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보를 포함함, 단계;
    상기 방송 신호를 피지컬 레이어 프로세싱하는 단계; 및
    상기 피지컬 레이어 프로세싱된 방송 신호를 링크 레이어 프로세싱하는 단계를 포함하며,
    상기 링크 레이어 프로세싱 단계는,
    상기 제1 링크 레이어 패킷들로부터 압축된 패킷들을 추출하고, 상기 적어도 하나의 제2 링크 레이어 패킷으로부터 상기 RDT를 추출하는 단계,
    상기 RDT의 다이나믹 체인 정보에 포함된 풀 렝쓰(full length)의 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 포함하는 압축된 패킷들을 상기 추출된 압축된 패킷들로부터 검출하는 단계,
    상기 검출된 압축된 패킷들에 대해 CRC(Cyclic Redundancy Check) 기반의 에러 검증을 수행하는 단계,
    상기 에러 검증 단계에서 CRC 기반의 에러 검증을 패스하는 압축된 패킷이 있으면, 상기 RDT를 기반으로 상기 패스된 압축된 패킷부터 헤더 압축 해제를 시작하는 단계, 및
    상기 에러 검증 단계에서 CRC 기반의 에러 검증을 패스하는 압축된 패킷이 없고 상기 다이나믹 체인 정보에 포함된 UDP (User Datagram Protocol) 첵섬 필드의 값이 0이면, 상기 RDT를 기반으로 상기 추출된 압축된 패킷들 중 첫번째 압축된 패킷부터 헤더 압축 해제를 시작하는 단계를 포함하며, 상기 첫번째 압축된 패킷의 시퀀스 번호의 값과 상기 검출된 압축된 패킷들의 시퀀스 번호의 값은 다르며, 상기 다이나믹 체인 정보에 포함된 상기 시퀀스 번호는 상기 첫번째 압축된 패킷의 시퀀스 번호를 기반으로 변환되는 것을 특징으로 하는 방송 신호 수신 방법.
  8. 제 7 항에 있어서,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림의 컨텍스트 식별자(CID)의 값은 0이고, 상기 CID의 값이 0인 RoHC 스트림은 상기 하나 이상의 RoHC 스트림들 중 가장 커먼한 RoHC 스트림인 것을 특징으로 하는 방송 신호 수신 방법.
  9. 제1 링크 레이어 패킷들과 적어도 하나의 제2 링크 레이어 패킷을 포함하는 방송 신호를 수신하는, 여기서 상기 제1 링크 레이어 패킷들은 하나 이상의 RoHC 스트림들을 포함하는 RoHC 채널을 포함하고, 상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림은 압축된(compressed) 패킷들을 포함하고, 상기 적어도 하나의 제2 링크 레이어 패킷은 상기 RoHC 스트림에 관련된 헤더 압축 정보를 포함하는 RDT (RoHC-U Description Table)를 포함하며, 상기 RDT는 딜리버리 타입에 따라 catalog RDT와 discrete RDT로 구분되고, 상기 catalog RDT가 복수개의 RDT들을 포함하면, 상기 복수개의 RDT들은 상기 적어도 하나의 제2 링크 레이어 패킷에 연속적으로 포함되며, 상기 RDT는 컨텍스트 정보를 더 포함하고, 상기 컨텍스트 정보는 IR 패킷으로부터 추출된 스태틱 체인 정보와 다이나믹 체인 정보를 포함함, 수신부;
    상기 방송 신호를 피지컬 레이어 프로세싱하는 피지컬 레이어 프로세서; 및
    상기 피지컬 레이어 프로세싱된 방송 신호를 링크 레이어 프로세싱하는 링크 레이어 프로세서를 포함하며,
    상기 링크 레이어 프로세서는,
    상기 제1 링크 레이어 패킷들로부터 압축된 패킷들을 추출하고, 상기 적어도 하나의 제2 링크 레이어 패킷으로부터 상기 RDT를 추출하며,
    상기 RDT의 다이나믹 체인 정보에 포함된 풀 렝쓰(full length)의 시퀀스 번호의 하위 4비트와 동일한 시퀀스 번호를 포함하는 압축된 패킷들을 상기 추출된 압축된 패킷들로부터 검출하고,
    상기 검출된 압축된 패킷들에 대해 CRC 기반의 에러 검증을 수행하고,
    상기 CRC 기반의 에러 검증을 패스하는 압축된 패킷이 있으면, 상기 RDT를 기반으로 상기 패스된 압축된 패킷부터 헤더 압축 해제를 시작하고,
    상기 CRC 기반의 에러 검증을 패스하는 압축된 패킷이 없고 상기 다이나믹 체인 정보에 포함된 UDP 첵섬 필드의 값이 0이면, 상기 RDT를 기반으로 상기 추출된 압축된 패킷들 중 첫번째 압축된 패킷부터 헤더 압축 해제를 시작하며, 상기 첫번째 압축된 패킷의 시퀀스 번호의 값과 상기 검출된 압축된 패킷들의 시퀀스 번호의 값은 다르며, 상기 다이나믹 체인 정보에 포함된 상기 시퀀스 번호는 상기 첫번째 압축된 패킷의 시퀀스 번호를 기반으로 변환되는 것을 특징으로 하는 방송 신호 수신 장치.
  10. 제 9 항에 있어서,
    상기 하나 이상의 RoHC 스트림들 중 하나의 RoHC 스트림의 컨텍스트 식별자(CID)의 값은 0이고, 상기 CID의 값이 0인 RoHC 스트림은 상기 하나 이상의 RoHC 스트림들 중 가장 커먼한 RoHC 스트림인 것을 특징으로 하는 방송 신호 수신 장치.
KR1020210144866A 2018-11-02 2021-10-27 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법 KR102603460B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20180133414 2018-11-02
KR1020180133414 2018-11-02
KR20180137024 2018-11-09
KR1020180137024 2018-11-09
KR1020190139758A KR102320899B1 (ko) 2018-11-02 2019-11-04 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190139758A Division KR102320899B1 (ko) 2018-11-02 2019-11-04 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법

Publications (2)

Publication Number Publication Date
KR20210134542A true KR20210134542A (ko) 2021-11-10
KR102603460B1 KR102603460B1 (ko) 2023-11-17

Family

ID=70462658

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190139758A KR102320899B1 (ko) 2018-11-02 2019-11-04 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법
KR1020210144866A KR102603460B1 (ko) 2018-11-02 2021-10-27 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190139758A KR102320899B1 (ko) 2018-11-02 2019-11-04 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법

Country Status (4)

Country Link
US (3) US11159650B2 (ko)
KR (2) KR102320899B1 (ko)
BR (1) BR112021008430A2 (ko)
WO (1) WO2020091573A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115804079A (zh) * 2020-06-22 2023-03-14 高通股份有限公司 用于鲁棒性报头压缩分组的选择性重新压缩的技术
CN114006953A (zh) * 2020-07-28 2022-02-01 华为技术有限公司 一种处理报文的方法及装置
WO2022239983A1 (ko) * 2021-05-12 2022-11-17 엘지전자 주식회사 멀티캐스트 신호 처리 방법 및 장치
EP4123967B1 (en) * 2021-07-22 2024-06-12 LG Electronics Inc. Method and apparatus for processing multicast signal
WO2024130615A1 (zh) * 2022-12-22 2024-06-27 华为技术有限公司 一种数据传输方法及相关装置
WO2024151258A1 (en) * 2023-01-11 2024-07-18 Zeku, Inc. Header decompression using customized instructions
WO2024151308A1 (en) * 2023-01-11 2024-07-18 Zeku, Inc. Protocol test framework with packet generator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160085868A (ko) * 2014-01-03 2016-07-18 엘지전자 주식회사 로버스트 헤더 컴프레션 패킷 스트림을 포함하는 방송 신호를 송수신하는 방법 및 장치
KR20180016609A (ko) * 2015-07-08 2018-02-14 엘지전자 주식회사 방송 신호 송수신 장치 및 방법
KR101835340B1 (ko) * 2014-04-30 2018-03-07 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
US20100260109A1 (en) * 2009-04-10 2010-10-14 Qualcomm Incorporated Optimized inter-access point packet routing for ip relay nodes
US9207993B2 (en) * 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US9929918B2 (en) * 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud
US9722930B2 (en) * 2013-11-08 2017-08-01 Alcatel Lucent Exploiting probabilistic latency expressions for placing cloud applications
US9191282B2 (en) * 2013-11-29 2015-11-17 Verizon Patent And Licensing Inc. Service level agreement (SLA) based provisioning and management
KR101772461B1 (ko) * 2014-01-14 2017-08-30 엘지전자 주식회사 RoHC 패킷 스트림 및 고속 정보를 포함하는 방송 신호의 송수신 방법 및 장치
EP3220594A4 (en) * 2014-11-12 2018-04-25 LG Electronics Inc. Broadcast signal transmission apparatus, broadcast signal receiving apparatus, broadcast signal transmission method, and broadcast signal receiving method
KR101837485B1 (ko) * 2015-01-02 2018-03-12 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
MX2020011942A (es) * 2015-08-31 2022-12-14 Samsung Electronics Co Ltd Aparato y método para transmitir y recibir señal en sistema multimedia.
KR20170026064A (ko) 2015-08-31 2017-03-08 삼성전자주식회사 링크 계층 프로토콜을 지원하는 멀티미디어 시스템에서 신호 송수신 장치 및 방법
US10721165B2 (en) * 2017-07-31 2020-07-21 Cisco Technology, Inc. Controlling a software-defined network
US10887167B2 (en) * 2018-04-30 2021-01-05 At&T Intellectual Property I, L.P. Adaptive software-defined storage for cloud storage workloads
US11444871B1 (en) * 2021-07-26 2022-09-13 Cisco Technology, Inc. End-to-end path selection using dynamic software-defined cloud interconnect (SDCI) tunnels
US20220114251A1 (en) * 2021-11-16 2022-04-14 Francesc Guim Bernat Reputation management and intent-based security mechanisms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160085868A (ko) * 2014-01-03 2016-07-18 엘지전자 주식회사 로버스트 헤더 컴프레션 패킷 스트림을 포함하는 방송 신호를 송수신하는 방법 및 장치
KR101835340B1 (ko) * 2014-04-30 2018-03-07 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR20180016609A (ko) * 2015-07-08 2018-02-14 엘지전자 주식회사 방송 신호 송수신 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Advanced Television Systems Committee, 'ATSC Standard Link-Layer Protocol (A/330)', Doc. A/330:2016, 19 September 2016. *

Also Published As

Publication number Publication date
US11792304B2 (en) 2023-10-17
BR112021008430A2 (pt) 2021-09-14
KR20200050906A (ko) 2020-05-12
KR102320899B1 (ko) 2021-11-04
US20230007104A1 (en) 2023-01-05
US11445049B2 (en) 2022-09-13
KR102603460B1 (ko) 2023-11-17
US20200186624A1 (en) 2020-06-11
US11159650B2 (en) 2021-10-26
WO2020091573A1 (ko) 2020-05-07
US20220046115A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
KR102320899B1 (ko) 방송 신호 송신 장치, 방송 신호 송신 방법, 방송 신호 수신 장치 및 방송 수신 신호 방법
US11799990B2 (en) Broadcast signal transmission device, broadcast signal transmission method, broadcast signal reception device, and broadcast signal reception method
US11297360B2 (en) Apparatus and method for transmitting and receiving broadcast signal
US11784860B2 (en) Broadcast signal transmitting/receiving device and method
US11271791B2 (en) Method and apparatus for transmitting/receiving a broadcast signal
KR102196318B1 (ko) 방송 신호 송수신 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant