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

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

Info

Publication number
KR20160102477A
KR20160102477A KR1020167019489A KR20167019489A KR20160102477A KR 20160102477 A KR20160102477 A KR 20160102477A KR 1020167019489 A KR1020167019489 A KR 1020167019489A KR 20167019489 A KR20167019489 A KR 20167019489A KR 20160102477 A KR20160102477 A KR 20160102477A
Authority
KR
South Korea
Prior art keywords
packet
information
link layer
header
field
Prior art date
Application number
KR1020167019489A
Other languages
English (en)
Other versions
KR101804926B1 (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 KR20160102477A publication Critical patent/KR20160102477A/ko
Application granted granted Critical
Publication of KR101804926B1 publication Critical patent/KR101804926B1/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
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • 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
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • 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/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission 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/64Addressing
    • H04N21/6405Multicasting

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 방송 신호 전송 방법은, 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성하는 단계, 제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성하는 단계, 여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함하고, 여기서, 상기 헤더는 상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보, 및 상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보, 를 포함하며, 및 상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성하는 단계를 포함할 수 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 {BROADCAST SIGNAL TRANSMISSION DEVICE, BROADCAST SIGNAL RECEPTION DEVICE, BROADCAST SIGNAL TRANSMISSION METHOD, AND BROADCAST SIGNAL RECEPTION METHOD}
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
전술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 방송 신호 전송 방법은, 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성하는 단계, 제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성하는 단계, 여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함하고, 여기서, 상기 헤더는 상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보, 및 상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보, 를 포함하며, 및 상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 페이로드 구성 정보가, 상기 페이로드가 하나의 입력 패킷을 포함함을 가리키는 경우, 상기 헤더는, 확장 헤더가 상기 헤더에 포함되는지 여부를 식별하는 헤더 확장 정보를 더 포함할 수 있다.
바람직하게는, 상기 페이로드 구성 정보가, 상기 페이로드가, 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함함을 가리키는 경우, 상기 헤더는, 상기 페이로드가 상기 하나를 초과하는 입력 패킷들을 포함하는지, 또는 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함하는지 여부를 식별하는 S/C 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우, 상기 헤더는, 상기 하나의 입력 패킷 내에서 상기 세그먼트의 순서를 식별하는 세그먼트 시퀀스 번호 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우, 상기 헤더는, 상기 하나의 입력 패킷 내에서, 상기 세그먼트가 마지막 세그먼트인지 여부를 식별하는 마지막 세그먼트 식별 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나를 초과하는 입력 패킷들을 포함함을 가리키는 경우, 상기 헤더는, 상기 링크 레이어 패킷에 포함되는 입력 패킷들의 개수를 식별하는 카운트 정보를 더 포함할 수 있다.
바람직하게는, 상기 헤더는, 상기 페이로드의 길이를 식별하는 길이 정보를 더 포함하고, 여기서 상기 길이 정보는, 길이 식별자 형태로 제공되고, 상기 길이 식별자에 할당되는 값에 대응되는 페이로드의 길이는, 방송 시스템 내의 규약에 의하여 미리 정해진 것임을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 페이로드에 포함되는 상위 계층의 패킷이 디폴트 (default) 프로토콜을 따르는 패킷인지 여부를 식별하는 패킷 타입 플래그 정보, 및상기 페이로드에 포함되는 상위 계층의 패킷이 전송하는 데이터가 방송 데이터에 포함되는지, 또는 시그널링 정보에 해당되는지를 식별하는 데이터 식별 정보를 포함하고, 상기 패킷 타입 플래그 정보와 상기 데이터 식별 정보의 조합은, 상기 페이로드에 포함되는 데이터를 식별하는데 사용되는 것을 특징으로 한다.
전술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른, 방송 신호 전송 장치는 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성하는 제 1 프로토콜 프로세서, 제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성하는 제 2 프로토콜 프로세서, 여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함하고, 여기서, 상기 헤더는 상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보, 및 상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보, 를 포함하며, 및 상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성하는 방송 신호 생성기를 포함할 수 있다.
바람직하게는, 상기 페이로드 구성 정보가, 상기 페이로드가 하나의 입력 패킷을 포함함을 가리키는 경우, 상기 헤더는, 확장 헤더가 상기 헤더에 포함되는지 여부를 식별하는 헤더 확장 정보를 더 포함할 수 있다.
바람직하게는, 상기 페이로드 구성 정보가, 상기 페이로드가, 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함함을 가리키는 경우, 상기 헤더는, 상기 페이로드가 상기 하나를 초과하는 입력 패킷들을 포함하는지, 또는 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함하는지 여부를 식별하는 S/C 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우, 상기 헤더는, 상기 하나의 입력 패킷 내에서 상기 세그먼트의 순서를 식별하는 세그먼트 시퀀스 번호 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우, 상기 헤더는, 상기 하나의 입력 패킷 내에서, 상기 세그먼트가 마지막 세그먼트인지 여부를 식별하는 마지막 세그먼트 식별 정보를 더 포함할 수 있다.
바람직하게는, 상기 S/C 정보가, 상기 페이로드가 하나를 초과하는 입력 패킷들을 포함함을 가리키는 경우, 상기 헤더는, 상기 링크 레이어 패킷에 포함되는 입력 패킷들의 개수를 식별하는 카운트 정보를 더 포함할 수 있다.
바람직하게는, 상기 헤더는, 상기 페이로드의 길이를 식별하는 길이 정보를 더 포함하고, 여기서 상기 길이 정보는, 길이 식별자 형태로 제공되고, 상기 길이 식별자에 할당되는 값에 대응되는 페이로드의 길이는, 방송 시스템 내의 규약에 의하여 미리 정해진 것임을 특징으로 한다.
본 발명은 서비스 특성에 따라 데이터를 처리하여 각 서비스 또는 서비스 컴포넌트에 대한 QoS (Quality of Service)를 제어함으로써 다양한 방송 서비스를 제공할 수 있다.
본 발명은 동일한 RF (radio frequency) 신호 대역폭을 통해 다양한 방송 서비스를 전송함으로써 전송 유연성(flexibility)을 달성할 수 있다.
본 발명에 따르면, 모바일 수신 장치를 사용하거나 실내 환경에 있더라도, 에러 없이 디지털 방송 신호를 수신할 수 있는 방송 신호 송신 및 수신 방법 및 장치를 제공할 수 있다.
본 발명은 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 차세대 방송 서비스를 효과적으로 지원할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1 은 본 발명의 일 실시예에 따른 수신기 프로토콜 스택(receiver protocol stack) 을 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 SLT 와 SLS (service layer signaling) 의 관계를 도시한 도면이다.
도 3 은 본 발명의 일 실시예에 따른 SLT 를 도시한 도면이다.
도 4 는 본 발명의 일 실시예에 따른 SLS 부트스트래핑과 서비스 디스커버리 과정을 도시한 도면이다.
도 5 는 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 USBD 프래그먼트를 도시한 도면이다.
도 6 은 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 S-TSID 프래그먼트를 도시한 도면이다.
도 7 은 본 발명의 일 실시예에 따른 MMT 를 위한 USBD/USD 프래그먼트를 도시한 도면이다.
도 8 은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
도 9 는 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다.
도 10 은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
도 11 은 본 발명의 다른 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
도 12 은 본 발명의 일 실시예에 따른, MPEG-2 TS 패킷을 위한 링크 레이어 패킷의 헤더 구조와, 그 인캡슐레이션 과정을 도시한 도면이다.
도 13 는 본 발명의 일 실시예에 따른 IP 헤더 압축에 있어서, 어댑테이션 모드들의 실시예를 도시한 도면이다(송신측).
도 14 은 본 발명의 일 실시예에 따른 LMT(Link Mapping Table) 및 ROHC-U 디스크립션 테이블을 도시한 도면이다.
도 15 은 본 발명의 일 실시예에 따른 송신기 측의 링크 레이어 구조를 도시한 도면이다.
도 16 는 본 발명의 일 실시예에 따른 수신기 측의 링크 레이어 구조를 도시한 도면이다.
도 17 은 본 발명의 일 실시예에 따른, 링크 레이어를 통한 시그널링 전송 구조를 도시한 도면이다(송/수신측).
도 18 은 본 발명의 일 실시예에 따른 링크 레이어 (link layer)의 인터페이스를 나타낸 도면이다.
도 19 는 본 발명의 일 실시예에 따른 링크 레이어의 동작 모드 중, 노말(Normal) 모드의 동작 다이어그램을 도시한 도면이다.
도 20 는 본 발명의 일 실시예에 따른 링크 레이어의 동작 모드 중, 트랜스패런트(Transparent) 모드의 동작 다이어그램을 도시한 도면이다.
도 21 은 본 발명의 일 실시예에 따른, 링크 레이어에서의 송신기 및/또는 수신기의 동작 모드 control 의 과정을 나타낸 도면이다.
도 22 는 본 발명의 일 실시예에 따른, flag의 값에 따른 링크 레이어 에서의 동작 및 physical layer로 전달되는 패킷의 형태를 나타낸 도면이다.
도 23 은 본 발명의 일 실시예에 따른 송수신기에서 IP 오버헤드 리덕션 (IP overhead reduction) 과정을 나타낸 도면이다.
도 24 는 본 발명의 일 실시예에 따른, RoHC의 프로파일 (Profiles)를 나타낸 도면이다.
도 25 은 본 발명의 일 실시예에 따른 제 1 구성 모드 (Configuration Mode #1)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
도 26 은 본 발명의 일 실시예에 따른 제 2 구성 모드 (Configuration Mode #2)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
도 27 은 본 발명의 일 실시예에 따른 제 3 구성 모드 (Configuration Mode #3)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
도 28 은 본 발명의 일 실시예에 따른 Out of Band로 전달할 수 있는 정보의 조합을 나타낸 도면이다.
도 29 는 본 발명의 일 실시예에 따른, data pipe로 전송되는 패킷을 나타낸 도면이다.
도 30 은 본 발명의 일 실시예에 따른, 링크 레이어 패킷 구조의 신택스를 나타낸 도면이다.
도 31 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더의 구조를 나타낸 도면이다.
도 32 는 전술한 본 발명의 다른 실시예에 따른 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더의 구조의 신택스를 나타낸 도면이다.
도 33 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 각 필드들의 값이 나타내는 바를 도시한 도면이다.
도 34 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 하나의 IP 패킷이 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
도 35 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 복수개의 IP 패킷이 연쇄(concatenation)되어 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
도 36 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 하나의 IP 패킷이 분할(segmentation)되어 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
도 37 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 분할(segmentation)된 세그먼트들을 가지는 링크 레이어 패킷들을 도시한 도면이다.
도 38 은 본 발명의 일 실시예에 따른 RoHC 전송을 위한 링크 레이어 패킷(link layer packet)의 헤더를 도시한 도면이다.
도 39 은 본 발명의 일 실시예에 따른 RoHC 전송을 위한 링크 레이어 패킷(link layer packet)의 헤더의 신택스를 도시한 도면이다.
도 40 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #1 을 도시한 도면이다.
도 41 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #2 를 도시한 도면이다.
도 42 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #3 를 도시한 도면이다.
도 43 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #4 를 도시한 도면이다.
도 44 은 본 발명의 다른 실시예에 따른, 링크 레이어로 시그널링 정보가 전달되는 경우의 링크 레이어 패킷의 구조를 도시한 도면이다.
도 45 은 전술한 본 발명의 다른 실시예에 따른 링크 레이어로 시그널링 정보가 전달되는 경우의 링크 레이어 패킷의 구조에 있어서, 그 신택스를 도시한 도면이다.
도 46 은 본 발명의 일 실시예에 따른 framed packet 전송을 위한 링크 계층 패킷의 구조를 나타낸 도면이다.
도 47 은 전술한 본 발명의 일 실시예에 따른 framed packet 전송을 위한 링크 계층 패킷의 구조에 있어서, 그 신택스를 나타낸 도면이다.
도 48 은 본 발명의 일 실시예에 따른 framed packet의 신택스 (syntax)를 나타낸 도면이다.
도 49 은 본 발명의 일 실시예에 따른 FIC (Fast Information Channel) 의 신택스 (syntax) 를 나타낸 도면이다.
도 50 는 본 발명의 일 실시예에 따른, 비상 경보를 수행하는 방송 시스템을 나타낸 도면이다.
도 51 는 본 발명의 일 실시예에 따른, EAT (Emergency Alert Table) 의 신택스 (syntax)를 나타낸 도면이다.
도 52 는 본 발명의 일 실시예에 따른, 링크 레이어 패킷의 페이로드에 포함되는, 헤더압축과 관련한 정보를 식별하는 방법을 나타내는 도면이다.
도 53 는 본 발명의 일 실시예에 따른, 초기화 정보를 나타낸 도면이다.
도 54 는 본 발명의 일 실시예에 따른, 구성 파라미터를 나타낸 도면이다.
도 55 는 본 발명의 일 실시예에 따른, 스태틱 체인 정보를 나타낸 도면이다.
도 56 는 본 발명의 일 실시예에 따른, 다이나믹 체인 정보를 나타낸 도면이다.
도 57 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조를 도시한 도면이다.
도 58 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조의 신택스를 도시한 도면이다.
도 59 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 온전한 하나의 인풋 패킷이 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 60 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 61 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를, 도표로 도시한 도면이다.
도 62 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 63 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 온전한 하나의 인풋 패킷이 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 64 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에 있어서, 그 헤더의 길이들을 도표로 도시한 도면이다.
도 65 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 66 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 67 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 68 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 69 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 70 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도 71 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 워드(word) 단위의 길이 표시를 사용하는 경우에 있어서의 링크 레이어 패킷 구조를 도시한 도면이다.
도 72 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 워드(word) 단위의 길이 표시를 사용하는 경우를 인풋 패킷 개수에 따라 도표로 도시한 도면이다.
도 73은 본 발명의 링크 레이어 패킷의 구조를 나타낸 도면이다.
도 74는 본 발명의 일 실시예에 따른, Type 엘레먼트와 Length ID 필드의 값에 따른 정의를 나타낸 도면이다.
도 75는 본 발명의 일 실시예에 따른, 고정 헤더 및/또는 가변 길이 헤더의 다양한 조합을 나타낸 도면이다.
도 76은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘00’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
도 77은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘01’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
도 78은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘10’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
도 79는 본 발명의 일 실시예에 따른, 제 1 버전 (version) 의 링크 레이어 패킷의 구조를 나타낸 도면이다.
도 80은 본 발명의 다른 실시예에 따른, 제 2 버전 (version) 의 링크 레이어 패킷의 구조를 나타낸 도면이다.
도 81은 본 발명의 일 실시예에 따른, 페이로드에 포함되는 패킷의 타입을 식별하는 조합을 나타내는 도면이다.
도 82는 본 발명의 일 실시예에 따른, 세그멘테이션 (segmentation) 및/또는 컨케이트네이션 (Concatenation) 을 시그널링하기 위하여 각 엘레먼트 또는 필드에 할당되는 데이터의 크기를 나타내는 도면이다.
도 83은 본 발명의 일 실시예에 따른, 하나의 입력 패킷이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
도 84는 본 발명의 일 실시예에 따른, 입력 패킷의 세그먼트가 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
도 85는 본 발명의 일 실시예에 따른, 입력 패킷의 세그먼트가 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
도 86은 본 발명의 일 실시예에 따른, 두개 이상의 입력 패킷들이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
도 87은 본 발명의 일 실시예에 따른, 두개 이상의 입력 패킷들이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
도 88은 본 발명의 일 실시예에 따른, 방송 신호 전송 방법을 나타낸 순서도이다.
도 89는 본 발명의 일 실시예에 따른 방송 시스템을 나타낸 도면이다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 수신기 프로토콜 스택(receiver protocol stack) 을 도시한 도면이다.
방송망을 통한 서비스 딜리버리(broadcast service delivery)에 있어 두가지 방법이 있을 수 있다.
첫번째 방법은 MMT (MPEG Media Transport) 에 근거하여, MPU (Media Processing Units) 들을 MMTP (MMT protocol) 을 이용하여 전송하는 것일 수 있다. 두번째 방법은 MPEG DASH 에 근거하여, DASH 세그먼트들을 ROUTE (Real time Object delivery over Unidirectional Transport) 를 이용하여 전송하는 것일 수 있다.
NRT 미디어, EPG 데이터, 및 다른 파일을 포함하는 비시간 컨텐츠는 ROUTE로 전달된다. 시그널은 MMTP 및/또는 ROUTE를 통해 전달될 수 있는 반면, 부트스트랩 시그널링 정보는 SLT (service list table)에 의해 제공된다.
하이브리드 서비스 딜리버리(hybrid service delivery)에 있어서는, HTTP/TCP/IP 상의 MPEG DASH가 브로드밴드 측에서 이용된다. ISO BMFF (base media file format)의 미디어 파일은 딜리버리, 브로드캐스트 및 브로드밴드 딜리버리에 대한 디미어 인캡슐레이션 및 동기화 포맷으로 사용된다. 여기서 하이브리드 서비스 딜리버리란 하나 또는 그 이상의 프로그램 엘레멘트가 브로드밴드 패쓰(path) 를 통하여 전달되는 경우를 말할 수 있다.
서비스는 세 가지 기능 레이어를 이용하여 전달된다. 이들은 피지컬 레이어, 딜리버리 레이어, 서비스 매니지먼트 레이어이다. 피지컬 레이어는 시그널, 서비스 공지, IP 패킷 스트림이 브로드캐스트 피지컬 레이어 및/또는 브로드밴드 피지컬 레이어에서 전송되는 매커니즘을 제공한다. 딜리버리 레이어는 오브젝트 및 오브젝트 플로우 트랜스포트 기능을 제공한다. 이는 브로드캐스트 피지컬 레이어의 UDP/IP 멀티캐스트에서 동작하는 MMTP 또는 ROUTE 프로토콜에 의해 가능하고, 브로드밴드 피지컬 레이어의 TCP/IP 유니캐스트에서 HTTP 프로토콜에 의해 가능하다. 서비스 매니지먼트 레이어는 하위인 딜리버리 및 피지컬 레이어에 의해 실행되는 리니어 TV 또는 HTML5 응용 서비스와 같은 모든 서비스를 가능하게 한다.
본 도면에서 방송(broadcast) 쪽 프로토콜 스택 부분은, SLT 와 MMTP 를 통해 전송되는 부분, ROUTE 를 통해 전송되는 부분으로 나뉘어질 수 있다.
SLT 는 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. 여기서 SLT 에 대해서는 후술한다. MMTP 는 MMT 에서 정의되는 MPU 포맷으로 포맷된 데이터들과 MMTP 에 따른 시그널링 정보들을 전송할 수 있다. 이 데이터들은 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. ROUTE 는 DASH 세그먼트 형태로 포맷된 데이터들과 시그널링 정보들, 그리고 NRT 등의 논 타임드(non timed) 데이터들을 전송할 수 있다. 이 데이터들 역시 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. 실시예에 따라 UDP, IP 레이어에 따른 프로세싱은 일부 또는 전부 생략될 수도 있다. 여기서 도시된 시그널링 정보들(signaling)은 서비스에 관한 시그널링 정보일 수 있다.
SLT 와 MMTP 를 통해 전송되는 부분, ROUTE 를 통해 전송되는 부분은 UDP, IP 레이어에서 처리된 후 링크 레이어(Data Link Layer)에서 다시 인캡슐레이션될 수 있다. 링크 레이어에 대해서는 후술한다. 링크 레이어에서 처리된 방송 데이터는 피지컬 레이어에서 인코딩/인터리빙 등의 과정을 거쳐 방송 신호로서 멀티캐스트될 수 있다.
본 도면에서 브로드밴드(broadband) 쪽 프로토콜 스택 부분은, 전술한 바와 같이 HTTP 를 통하여 전송될 수 있다. DASH 세그먼트 형태로 포맷된 데이터들과 시그널링 정보들, NRT 등의 정보가 HTTP 를 통하여 전송될 수 있다. 여기서 도시된 시그널링 정보들(signaling)은 서비스에 관한 시그널링 정보일 수 있다. 이 데이터들은 TCP, IP 레이어를 거쳐 프로세싱된 후, 링크 레이어에서 인캡슐레이션될 수 있다. 실시예에 따라 TCP, IP, 링크 레이어의 일부 또는 전부는 생략될 수 있다. 이 후 처리된 브로드밴드 데이터는 피지컬 레이어에서 전송을 위한 처리를 거쳐 브로드밴드로 유니캐스트될 수 있다.
서비스는 전체적으로 사용자에게 보여주는 미디어 컴포넌트의 컬렉션일 수 있고, 컴포넌트는 여러 미디어 타입의 것일 수 있고, 서비스는 연속적이거나 간헐적일 수 있고, 서비스는 실시간이거나 비실시간일 수 있고, 실시간 서비스는 TV 프로그램의 시퀀스로 구성될 수 있다.
도 2 는 본 발명의 일 실시예에 따른 SLT 와 SLS (service layer signaling) 의 관계를 도시한 도면이다.
서비스 시그널링은 서비스 디스커버리 및 디스크립션 정보를 제공하고, 두 기능 컴포넌트를 포함한다. 이들은 SLT를 통한 부트스트랩 시그널링과 SLS이다. 이들은 사용자 서비스를 발견하고 획득하는 데 필요한 정보를 나타낸다. SLT는 수신기가 기본 서비스 리스트를 작성하고 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다.
SLT는 기본 서비스 정보의 매우 빠른 획득을 가능하게 한다. SLS는 수신기가 서비스와 그 컨텐츠 컴포넌트를 발견하고 이에 접속할 수 있게 해준다. SLT 와 SLS 의 구체적 내용에 대해서는 후술한다.
전술한 바와 같이 SLT 는 UDP/IP 를 통해 전송될 수 있다. 이 때, 실시예에 따라 이 전송에 있어 가장 강건한(robust) 방법을 통해 SLT 에 해당하는 데이터가 전달될 수 있다.
SLT 는 ROUTE 프로토콜에 의해 전달되는 SLS 에 접근하기 위한 액세스 정보를 가질 수 있다. 즉 SLT 는 ROUTE 프로토콜에 따른 SLS 에 부트스트래핑할 수 있다. 이 SLS 는 전술한 프로토콜 스택에서 ROUTE 윗 레이어에 위치하는 시그널링 정보로서, ROUTE/UDP/IP 를 통해 전달될 수 있다. 이 SLS 는 ROUTE 세션에 포함되는 LCT 세션들 중 하나를 통하여 전달될 수 있다. 이 SLS 를 이용하여 원하는 서비스에 해당하는 서비스 컴포넌트에 접근할 수 있다.
또한 SLT 는 MMTP 에 의해 전달되는 MMT 시그널링 컴포넌트에 접근하기 위한 액세스 정보를 가질 수 있다. 즉, SLT 는 MMTP 에 따른 SLS 에 부트스트래핑할 수 있다. 이 SLS 는 MMT 에서 정의하는 MMTP 시그널링 메시지(Signaling Message)에 의해 전달될 수 있다. 이 SLS 를 이용하여 원하는 서비스에 해당하는 스트리밍 서비스 컴포넌트(MPU) 에 접근할 수 있다. 전술한 바와 같이, 본 발명에서는 NRT 서비스 컴포넌트는 ROUTE 프로토콜을 통해 전달되는데, MMTP 에 따른 SLS 는 이에 접근하기 위한 정보도 포함할 수 있다. 브로드밴드 딜리버리에서, SLS는 HTTP(S)/TCP/IP로 전달된다.
도 3 은 본 발명의 일 실시예에 따른 SLT 를 도시한 도면이다.
먼저, 서비스 매니지먼트, 딜리버리, 피지컬 레이어의 각 논리적 엔티티간의 관계에 대해서 설명한다.
서비스는 두 기본 타입 중 하나로 시그널링될 수 있다. 첫 번째 타입은 앱 기반 인헨스먼트를 가질 수 있는 리니어 오디오/비디오 또는 오디오만의 서비스이다. 두 번째 타입은 프레젠테이션 및 구성이 서비스의 획득에 의해 실행되는 다운로드 어플리케이션에 의해 제어되는 서비스이다. 후자는 앱 기반 서비스라 불릴 수도 있다.
서비스의 컨텐츠 컴포넌트를 전달하는 MMTP 세션 및/또는 ROUTE/LCT 세션의 존재와 관련된 규칙은 다음과 같을 수 있다.
앱 기반 인헨스먼트가 없는 리니어 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 (1) 하나 이상의 ROUTE/LCT 세션 또는 (2) 하나 이상의 MMTP 세션 중 하나 (둘 다는 아님)에 의해 전달될 수 있다.
앱 기반 인헨스먼트가 있는 리니어 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 (1) 하나 이상의 ROUTE/LCT 세션 및 (2) 0개 이상의 MMTP 세션에 의해 전달될 수 있다.
특정 실시예에서, 동일한 서비스에서 스트리밍 미디어 컴포넌트에 대한 MMTP 및 ROUTE의 양자의 사용이 허용되지 않을 수 있다.
앱 기반 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 하나 이상의 ROUTE/LCT 세션에 의해 전달될 수 있다.
각각의 ROUTE 세션은 서비스를 구성하는 컨텐츠 컴포넌트를 전체적으로 또는 부분적으로 전달하는 하나 이상의 LCT 세션을 포함한다. 스트리밍 서비스 딜리버리에서, LCT 세션은 오디오, 비디오, 또는 클로즈드 캡션 스트림과 같은 사용자 서비스의 개별 컴포넌트를 전달할 수 있다. 스트리밍 미디어는 DASH 세그먼트로 포맷된다.
각각의 MMTP 세션은 MMT 시그널링 메시지 또는 전체 또는 일부 컨텐츠 컴포넌트를 전달하는 하나 이상의 MMTP 패킷 플로우를 포함한다. MMTP 패킷 플로우는 MMT 시그널링 메시지 또는 MPU로 포맷된 컴포넌트를 전달할 수 있다.
NRT 사용자 서비스 또는 시스템 메타데이터의 딜리버리를 위해, LCT 세션은 파일 기반의 컨텐츠 아이템을 전달한다. 이들 컨텐츠 파일은 NRT 서비스의 연속적 (타임드) 또는 이산적 (논 타임드) 미디어 컴포넌트, 또는 서비스 시그널링이나 ESG 프레그먼트와 같은 메타데이터로 구성될 수 있다. 서비스 시그널링이나 ESG 프레그먼트와 같은 시스템 메타데이터의 딜리버리 또한 MMTP의 시그널링 메시지 모드를 통해 이루어질 수 있다.
브로드캐스트 스트림은 특정 대역 내에 집중된 캐리어 주파수 측면에서 정의된 RF 채널의 개념이다. 그것은 [지리적 영역, 주파수] 쌍에 의해 식별된다. PLP (physical layer pipe)는 RF 채널의 일부에 해당된다. 각 PLP는 특정 모듈레이션 및 코딩 파라미터를 갖는다. 그것은 속해 있는 브로드캐스트 스트림 내에서 유일한 PLPID (PLP identifier)에 의해 식별된다. 여기서, PLP는 DP (data pipe)라 불릴 수도 있다.
각 서비스는 두 형태의 서비스 식별자에 의해 식별된다. 하나는 SLT에서 사용되고 브로드캐스트 영역 내에서만 유일한 컴팩트 형태이고, 다른 하나는 SLS 및 ESG에서 사용되는 전 세계적으로 유일한 형태이다. ROUTE 세션은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 데스티네이션 포트 넘버에 의해 식별된다. LCT 세션 (그것이 전달하는 서비스 컴포넌트와 관련됨)은 페어런트 ROUTE 세션의 범위 내에서 유일한 TSI (transport session identifier)에 의해 식별된다. LCT 세션에 공통적인 성질 및 개별 LCT 세션에 유일한 특정한 성질은 서비스 레이어 시그널링의 일부인 S-TSID (service-based transport session instance description)라 불리는 ROUTE 시그널링 구조에서 주어진다. 각 LCT 세션은 하나의 PLP를 통해 전달된다. 실시예에 따라 하나의 LCT 세션이 복수개의 PLP 를 통해 전달될 수도 있다. ROUTE 세션의 서로 다른 LCT 세션은 서로 다른 PLP에 포함되거나 그렇지 않을 수 있다. 여기서, ROUTE 세션은 복수개의 PLP 들을 통해 전달될 수도 있다. S-TSID에 서술된 성질은 각 LCT 세션에 대한 TSI 값 및 PLPID, 딜리버리 오브젝트/파일에 대한 디스크립터, 어플리케이션 레이어 FEC 파라미터를 포함한다.
MMTP 세션은 데스티네이션 IP 어드레스 및 데스티네이션 포트 넘버에 의해 식별된다. MMTP 패킷 플로우 (그것이 전달하는 서비스 컴포넌트와 관련됨)는 페어런트 MMTP 세션의 범위 내에서 유일한 packet_id에 의해 식별된다. 각 MMTP 패킷 플로우에 공통인 성질 및 MMTP 패킷 플로우의 특정 성질이 SLT에 주어진다. 각 MMTP 세션에 대한 성질은 MMTP 세션 내에서 전달될 수 있는 MMT 시그널링 메시지에 의해 주어진다. MMTP 세션의 서로 다른 MMTP 패킷 플로우는 서로 다른 PLP에 포함되거나 그렇지 않을 수 있다. 여기서, MMTP 세션은 복수개의 PLP 들을 통해 전달될 수도 있다. MMT 시그널링 메시지에 서술된 성질은 각 MMTP 패킷 플로우에 대해 packet_id 값 및 PLPID를 포함한다. 여기서 MMT 시그널링 메시지는 MMT 에서 정의된 형태이거나, 후술할 실시예들에 따라 변형이 이루어진 형태일 수 있다.
이하, LLS (Low Level Signaling) 에 대해서 설명한다.
이 기능에 전용인 잘 알려진 어드레스/포트를 갖는 IP 패킷의 페이로드에 전달되는 시그널링 정보는 LLS이라 불린다. 이 IP 어드레스 및 포트넘버는 실시예에 따라 다르게 설정될 수 있다. 일 실시예에서, LLS는 어드레스가 224.0.23.60이고 데스티네이션 포트가 4937/udp인 IP 패킷에 전달될 수 있다. LLS 는 전술한 프로토콜 스택상에서 "SLT" 로 표현된 부분에 위치할 수 있다. 단, 실시예에 따라 LLS 는 UDP/IP 레이어의 프로세싱을 거치지 않고, 신호 프레임 상의 별도의 물리 채널(dedicated channel) 을 통해 전송될 수도 있다.
LLS 데이터를 전달하는 UDP/IP 패킷들은 LLS 테이블이라는 형태로 포맷될 수 있다. LLS 데이터를 운반하는 매 UDP/IP 패킷의 첫번째 바이트는 LLS 테이블의 시작일 수 있다. 모든 LLS 테이블의 최대 길이는 피지컬 레이어로부터 전달될 수 있는 가장 큰 IP 패킷에 의해 65,507 바이트로 제한된다.
LLS 테이블은 LLS 테이블의 타입을 식별하는 LLS 테이블 ID 필드와, LLS 테이블의 버전을 식별하는 LLS 테이블 버전 필드를 포함할 수 있다. LLS 테이블 ID 필드가 나타내는 값에 따라서, LLS 테이블은 전술한 SLT 를 포함하거나 RRT (Rating Region Table) 을 포함할 수 있다. RRT 는 컨텐트 권고 레이팅(Content Advisory Rating) 에 관한 정보를 가질 수 있다.
이하, SLT (Service List Table) 에 대해서 설명한다. LLS는 수신기에 의한 서비스 획득의 부트스트래핑과 빠른 채널 스캔을 지원하는 시그널링 정보일 수 있고, SLT는 기본 서비스 리스팅을 구축하고 SLS의 부트스트랩 디스커버리를 제공하기 위해 사용되는 시그널링 정보의 테이블일 수 있다.
SLT의 기능은 MPEG-2 시스템에서의 PAT (program association table) 및 ATSC 시스템에서 발견되는 FIC (fast information channel)와 유사하다. 처음으로 브로드캐스트 이미션을 겪는 수신기에게 이것은 시작되는 지점이다. SLT는 수신기가 채널 이름, 채널 넘버 등으로 그것이 수신할 수 있는 모든 서비스의 리스트를 구축할 수 있게 하는 빠른 채널 스캔을 지원한다. 또한 SLT는 수신기가 각 서비스에 대해 SLS를 발견할 수 있게 하는 부트스트랩 정보를 제공한다. ROUTE/DASH로 전달되는 서비스에 대해, 부트스트랩 정보는 SLS를 전달하는 LCT 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트를 포함한다. MMT/MPU로 전달되는 서비스에 대해, 부트스트랩 정보는 SLS를 전달하는 MMTP 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트를 포함한다.
SLT는 브로드캐스트 스트림에서 각 서비스에 관한 다음의 정보를 포함함으로써 서비스 획득 및 빠른 채널 스캔을 지원한다. 첫째로, SLT는 시청자에게 유의미하고 위/아래 선택 또는 채널 넘버를 통한 초기 서비스 선택을 지원할 수 있는 서비스 리스트의 프레젠테이션을 허용하는 데 필요한 정보를 포함할 수 있다. 둘째로, SLT는 각 리스팅된 서비스에 대해 SLS의 위치를 찾아내는 데 필요한 정보를 포함할 수 있다. 즉, SLT 는 SLS 를 전달하는 위치(location)에 대한 엑세스 정보를 포함할 수 있다.
도시된 본 발명의 일 실시예에 따른 SLT 는, SLT 루트 엘레먼트(root element) 를 가지는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, SLT 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 SLT 의 SLT 루트 엘레멘트는 @bsid, @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers, @language, @capabilities, InetSigLoc 및/또는 Service 를 포함할 수 있다. 실시예에 따라 SLT 루트 엘레멘트는 @providerId를 더 포함할 수도 있다. 실시예에 따라 SLT 루트 엘레멘트는 @language 를 포함하지 않을 수 있다.
Service 엘레멘트는 @serviceId, @SLTserviceSeqNumber, @protected, @majorChannelNo, @minorChannelNo, @serviceCategory, @shortServiceName, @hidden, @slsProtocolType, BroadcastSignaling, @slsPlpId, @slsDestinationIpAddress, @slsDestinationUdpPort, @slsSourceIpAddress, @slsMajorProtocolVersion, @SlsMinorProtocolVersion, @serviceLanguage, @broadbandAccessRequired, @capabilities 및/또는 InetSigLoc 를 포함할 수 있다.
실시예에 따라 SLT 의 성질 또는 엘레멘트는 추가/변경/삭제될 수 있다. SLT 에 포함되는 각 엘레멘트들 역시 추가적으로 별도의 성질 또는 엘레멘트를 가질 수 있으며, 본 실시예에 따른 성질 또는 엘레멘트 중 일부가 생략될 수도 있다. 여기서 @ 표기된 필드는 성질(attribute)에 해당하고, @ 표기되지 않은 필드는 엘레멘트(element)에 해당할 수 있다.
@bsid는 전체 브로드캐스트 스트림의 식별자이다. BSID의 값은 지역적 레벨에서 유일할 수 있다.
@providerId는 이 브로드캐스트 스트림의 일부 또는 전체를 사용하는 방송사의 인덱스이다. 이것은 선택적인 성질이다. 그것이 존재하지 않는다는 것은 이 브로드캐스트 스트림이 하나의 방송사에 의해 사용되고 있다는 것을 의미한다. @providerId 는 도면에 도시되지 않았다.
@sltSectionVersion은 SLT 섹션의 버전 넘버일 수 있다. sltSectionVersion는 slt 내에서 전달되는 정보에 변화가 생기면 1씩 증분될 수 있다. 그것이 최대값에 도달하면, 0으로 시프트된다.
@sltSectionNumber는 SLT의 해당 섹션의 넘버로 1부터 카운트될 수 있다. 즉 해당 SLT 섹션의 섹션넘버에 해당할 수 있다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다.
@totalSltSectionNumbers는 해당 섹션이 일부인 SLT의 섹션(즉, 최대 sltSectionNumber를 갖는 섹션)의 총 넘버일 수 있다. sltSectionNumber와 totalSltSectionNumbers는 함께 분할로 보내지는 경우 SLT의 일부의 "N의 M 부분"을 나타낸다고 볼 수 있다. 즉 SLT 를 전송함에 있어서 분할(fragmentation)을 통한 전송이 지원될 수 있다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다. 필드가 사용되지 않는 경우는 SLT 가 분할되어 전송되지 않는 경우일 수 있다.
@language는 해당 slt의 경우에 포함되는 서비스의 주 언어를 나타낼 수 있다. 실시예에 따라 이 필드 값은 ISO 에서 정의되는 3-캐릭터 언어 코드(three character language code) 의 형태일 수 있다. 본 필드는 생략될 수 있다.
@capabilities는 해당 slt의 경우에서 모든 서비스에 대한 내용을 디코딩하고 유의미하게 나타내기 위해 요구되는 캐피빌리티를 나타낼 수 있다.
InetSigLoc는 어디에서 브로드밴드를 통해 외부 서버로부터 모든 요구되는 타입의 데이터를 획득할 수 있는지 수신기에게 알리는 URL을 제공할 수 있다. 이 엘레멘트는 @urlType 를 하위필드로 더 포함할 수도 있다. 이 @urlType 필드의 값에 따라, InetSigLoc 이 제공하는 URL 의 타입이 지시될 수 있다. 실시예에 따라 @urlType 필드 값이 0 인 경우, InetSigLoc 은 시그널링 서버의 URL 을 제공할 수 있다. @urlType 필드 값이 1 인 경우, InetSigLoc 은 ESG 서버의 URL 을 제공할 수 있다. @urlType 필드가 그 외의 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use).
Service 필드는 각 서비스들에 대한 정보를 가지는 엘레멘트로, 서비스 엔트리에 해당할 수 있다. SLT 가 지시하는 서비스의 개수(N)만큼 Service 엘레멘트 필드가 존재할 수 있다. 이하 Service 필드의 하위 성질/엘레멘트에 대해 설명한다.
@serviceId는 해당 브로드캐스트 영역의 범위 내에서 해당 서비스를 유일하게 식별하는 정수 넘버일 수 있다. 실시예에 따라 @serviceId 의 스코프(scope)는 변경될 수 있다. @SLTserviceSeqNumber는 상기 serviceId 성질과 같은 서비스 ID를 갖는 SLT 서비스 정보의 시퀀스 넘버를 나타내는 정수 넘버일 수 있다. SLTserviceSeqNumber 값은 각 서비스에 대해 0부터 시작할 수 있고, 해당 Service 엘레먼트에서 어떠한 성질이 변화할 때마다 1씩 증분될 수 있다. ServiceID의 특정 값을 갖는 이전 서비스 엘레먼트에 비해 아무 성질 값이 변화하지 않으면, SLTserviceSeqNumber는 증분되지 않을 것이다. SLTserviceSeqNumber 필드는 최대값에 도달한 후 0으로 시프트된다.
@protected 는 플래그 정보로서, 해당 서비스의 유의미한 재생을 위한 하나 또는 그 이상의 컴포넌트가 보호된(protected) 상태인지를 지시할 수 있다. "1"(참)로 설정되면, 유의미한 프레젠테이션에 필요한 하나 이상의 컴포넌트가 보호된다. "0"(거짓)으로 설정되면, 해당 프레그는 서비스의 유의미한 프레젠테이션에 필요한 컴포넌트가 아무것도 보호되지 않는다는 것을 나타낸다. 디폴트 값은 거짓이다.
@majorChannelNo는 서비스의 "주" 채널 넘버를 나타내는 정수값이다. 본 필드의 일 실시예는 1 에서 999 까지의 범위를 가질 수 있다.
@minorChannelNo는 서비스의 "부" 채널 넘버를 나타내는 정수값이다. 본 필드의 일 실시예는 1 에서 999 까지의 범위를 가질 수 있다.
@serviceCategory는 해당 서비스의 카테고리를 나타낼 수 있다. 본 필드가 지시하는 의미는 실시예에 따라 변경될 수 있다. 일 실시예에 따르면 본 필드 값이 1, 2, 3 인 경우, 각각 해당 서비스는 리니어 A/V 서비스(Linear A/V service), 리니어 오디오 서비스(Linear audio only service), 앱 베이스드 서비스(app-based service) 에 해당할 수 있다. 본 필드 값이 0 인 경우 정의되지 않은 카테고리의 서비스일 수 있고, 본 필드 값이 다른 0, 1, 2, 3 외의 다른 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use). @shortServiceName는 서비스의 쇼트 스트링 네임일 수 있다.
@hidden는 존재하고 "참"으로 설정되는 경우 부울 값일 수 있고, 이는 서비스가 테스트나 독점 사용을 위한 것이고 보통의 TV 수신기로는 선택되지 않는다는 것을 나타낸다. 존재하지 않는 경우 디폴트 값은 "거짓"이다.
@slsProtocolType은 해당 서비스에 의해 사용되는 SLS의 프로토콜의 타입을 나타내는 성질일 수 있다. 본 필드가 지시하는 의미는 실시예에 따라 변경될 수 있다. 일 실시예에 따르면 본 필드 값이 1, 2, 인 경우, 각각 해당 서비스가 사용하는 SLS 의 프로토콜은 ROUTE, MMTP 일 수 있다. 본 필드 값이 0 또는 그 외의 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use). 본 필드는 @slsProtocol 로 불릴 수도 있다.
BroadcastSignaling 및 그 하위 성질/엘레멘트들은 방송 시그널링과 관련된 정보를 제공할 수 있다. BroadcastSignaling 엘레먼트가 존재하지 않는 경우, 페어런트 서비스 엘레먼트의 차일드 엘레먼트인 InetSigLoc가 존재할 수 있고, 그 성질인 urlType은 URL_type 0x00 (URL to signaling server)을 포함한다. 이 경우, 성질인 url은 service_id가 페어런트 서비스 엘레먼트에 대한 serviced 속성에 해당하는 쿼리 파라미터 svc=<service_id>를 지원한다.
또는 BroadcastSignaling 엘레먼트가 존재하지 않는 경우, 엘레먼트 InetSigLoc는 slt 루트 엘레먼트의 차일드 엘레먼트로 존재할 수 있고, InetSigLoc 엘레먼트의 속성 urlType은 URL_type 0x00 (URL to signaling server)를 포함한다. 이 경우, URL_type 0x00에 대한 성질 url은 service_id가 페어런트 서비스 엘레먼트의 serviceId 성질에 해당하는 쿼리 파라미터 svc=<service_id>를 지원한다.
@slsPlpId는 해당 서비스에 대해 SLS를 전달하는 PLP의 PLP ID를 나타내는 정수를 표현하는 스트링일 수 있다.
@slsDestinationIpAddress는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 dotted-IPv4 데스티네이션 어드레스를 포함하는 스트링일 수 있다.
@slsDestinationUdpPort는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 포트 넘버를 포함하는 스트링일 수 있다. 전술한 바와 같이 데스티네이션 IP/UDP 정보에 의하여 SLS 부트스트래핑이 수행될 수 있다.
@slsSourceIpAddress는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 dotted-IPv4 소스 어드레스를 포함하는 스트링일 수 있다.
@slsMajorProtocolVersion는 해당 서비스에 대해 SLS를 전달하기 위해 사용되는 프로토콜의 주 버전 넘버일 수 있다. 디폴트 값은 1이다.
@SlsMinorProtocolVersion는 해당 서비스에 대해 SLS를 전달하기 위해 사용되는 프로토콜의 부 버전 넘버일 수 있다. 디폴트 값은 0이다.
@serviceLanguage는 서비스의 주 언어를 나타내는 3문자 언어 코드일 수 있다. 본 필드의 값의 형식은 실시예에 따라 변경될 수 있다.
@broadbandccessRequired는 수신기가 서비스의 유의미한 프리젠테이션을 하기 위해 브로드밴드 액세스가 필요하다는 것을 나타내는 부울 값일 수 있다. 본 필드 값이 True 인 경우, 리시버는 유의미한 서비스 재생을 위하여 브로드밴드에 액세스해야 하며, 이는 서비스의 하이브리드 딜리버리 경우에 해당할 수 있다.
@capabilities는 상기 serviceId 성질과 동일한 서비스 ID로 서비스에 대한 내용을 디코딩하고 유의미하게 나타내기 위해 요구되는 캐피빌리티를 나타낼 수 있다.
InetSigLoc는 사용 가능한 경우 브로드밴드를 통해 시그널링이나 공지 정보에 접속하기 위한 URL을 제공할 수 있다. 그 데이터 타입은 URL이 어디에 액세스하는지를 나타내는 @urlType 성질을 추가하는 모든 URL 데이터 타입의 확장일 수 있다. 본 필드의 @urlType 필드가 의미하는 바는, 전술한 InetSigLoc 의 @urlType 필드가 의미하는 바와 동일할 수 있다. 성질 URL_type 0x00의 InetSigLoc 엘레먼트가 SLT의 엘레먼트로 존재하는 경우, 그것은 시그널링 메타데이터에 대해 HTTP 요청을 하기 위해 사용될 수 있다. 이 HTTP POST 메시지 바디에는 서비스 텀이 포함될 수 있다. InetSigLoc 엘레먼트가 섹션 레벨에서 나타나는 경우, 서비스 텀은 요청된 시그널링 메타데이터 오브젝트가 적용되는 서비스를 나타내기 위해 사용된다. 서비스 텀이 존재하지 않으면, 해당 섹션의 모든 서비스에 대한 시그널링 메타데이터 오브젝트가 요청된다. InetSigLoc이 서비스 레벨에서 나타나는 경우, 원하는 서비스를 지정하기 위해 필요한 서비스 텀이 없다. 성질 URL_type 0x01의 InetSigLoc 엘레먼트가 제공되면, 그것은 브로드밴드를 통해 ESG 데이터를 검색하는 데 사용될 수 있다. 해당 엘레먼트가 서비스 엘레먼트의 차일드 엘레먼트로 나타나면, URL은 해당 서비스에 대해 데이터를 검색하는 데 사용될 수 있다. 해당 엘레먼트가 SLT 엘레먼트의 차일드 엘레먼트로 나타나면, URL은 해당 섹션에서 모든 서비스에 대한 ESG 데이터를 검색하는 데 사용될 수 있다.
SLT 의 다른 실시예에서, SLT 의 @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers 및/또는 @language 필드는 생략될 수 있다.
또한, 전술한 InetSigLoc 필드는 @sltInetSigUri 및/또는 @sltInetEsgUri 필드로 대체될 수 있다. 두 필드는 각각 시그널링 서버의 URI, ESG 서버의 URI 정보를 포함할 수 있다. SLT 의 하위 엘레멘트인 InetSigLoc 필드와 Service 의 하위 엘레멘트인 InetSigLoc 필드 모두 상기와 같은 방법으로 대체될 수 있다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, 1 은 해당 필드가 필수적인 필드, 0..1 은 해당 필드가 옵셔널 필드임을 의미할 수 있다.
도 4 는 본 발명의 일 실시예에 따른 SLS 부트스트래핑과 서비스 디스커버리 과정을 도시한 도면이다.
이하, 서비스 레이어 시그널링(SLS, Service Layer Signaling) 에 대해서 설명한다.
SLS는 서비스 및 그 컨텐츠 컴포넌트를 발견하고 획득하기 위한 정보를 제공하는 시그널링일 수 있다.
ROUTE/DASH에 대해, 각 서비스에 대한 SLS는 컴포넌트들의 리스트, 어디에서 그것들을 획득할 수 있는지, 서비스의 유의미한 프레젠테이션을 위해 요구되는 수신기 성능과 같은 서비스의 특성을 서술한다. ROUTE/DASH 시스템에서, SLS는 USBD (user service bundle description), S-TSID, DASH MPD (media presentation description)를 포함한다. 여기서 USBD 또는 USD (User Service Description) 는 SLS XML 프래그먼트 중 하나로서 서비스의 구체적 기술적 정보들을 기술하는 시그널링 허브로서 역할할 수 있다. 이 USBD/USD 는 3GPP MBMS 에서 정의된 것 보다 더 확장되어 있을 수 있다. USBD/USD 의 구체적 내용들에 대해서는 후술한다.
서비스 시그널링은 서비스 자체의 기본 성질, 특히 서비스를 획득하기 위해 필요한 성질에 초점을 둔다. 시청자를 위한 서비스 및 프로그래밍의 특징은 서비스 공지 또는 ESG 데이터로 나타난다.
각 서비스에 대해 별개의 서비스 시그널링을 가지면 수신기는 브로드캐스트 스트림 내에서 전달되는 전체 SLS을 파싱할 필요 없이 원하는 서비스에 대한 적절한 SLS를 획득하면 된다.
서비스 시그널링의 선택적 브로드밴드 딜리버리에 대해, SLT는 전술한 바와 같이 서비스 시그널링 파일이 획득될 수 있는 HTTP URL을 포함할 수 있다.
LLS는 SLS 획득을 부트스트랩 하는데 사용되고, 그 후 SLS는 ROUTE 세션 또는 MMTP 세션에서 전달되는 서비스 컴포넌트를 획득하는 데 사용된다. 서술된 도면은 다음의 시그널링 시퀀스를 도시한다. 수신기는 전술한 SLT를 획득하기 시작한다. ROUTE 세션에서 전달되는 service_id에 의해 식별되는 각 서비스는 PLPID(#1), 소스 IP 어드레스 (sIP1), 데스티네이션 IP 어드레스 (dIP1), 및 데스티네이션 포트 넘버 (dPort1)와 같은 SLS 부트스트래핑 정보를 제공한다. MMTP 세션에서 전달되는 service_id에 의해 식별되는 각 서비스는 PLPID(#2), 데스티네이션 IP 어드레스 (dIP2), 및 데스티네이션 포트 넘버 (dPort2)와 같은 SLS 부트스트래핑 정보를 제공한다.
ROUTE를 이용한 스트리밍 서비스 딜리버리에 대해, 수신기는 PLP 및 IP/UDP/LCT 세션으로 전달되는 SLS 분할을 획득할 수 있다. 반면, MMTP를 이용한 스트리밍 서비스 딜리버리에 대해, 수신기는 PLP 및 MMTP 세션으로 전달되는 SLS 분할을 획득할 수 있다. ROUTE를 이용한 서비스 딜리버리에 대해, 이들 SLS 분할은 USBD/USD 분할, S-TSID 분할, MPD 분할을 포함한다. 그것들은 하나의 서비스와 관련이 있다. USBD/USD 분할은 서비스 레이어 특성을 서술하고, S-TSID 분할에 대한 URI 레퍼런스 및 MPD 분할에 대한 URI 레퍼런스를 제공한다. 즉, USBD/USD 는 S-TSID 와 MPD 를 각각 레퍼런싱할 수 있다. MMTP를 이용한 서비스 딜리버리에 대해, USBD는 MMT 시그널링의 MMT 메시지를 참조하는데, 그것의 MP 테이블은 서비스에 속하는 에셋(asset)을 위한 위치 정보 및 패키지 ID의 식별을 제공한다. 여기서, Asset 이란, 멀티미디어 데이터 엔티티로서, 하나의 유니크 ID 로 연합되고 하나의 멀티미디어 프리젠테이션을 생성하는데 사용되는 데이터 엔티티를 의미할 수 있다. Asset 은 하나의 서비스를 구성하는 서비스 컴포넌트에 해당할 수 있다. MPT 메시지는 MMT 의 MP 테이블을 가지는 메시지이고, 여기서 MP 테이블은 MMT Asset 과 컨텐트에 대한 정보를 가지는 MMT 패키지 테이블(MMT Package Table)일 수 있다. 구체적인 내용은 MMT 에서 정의된 바와 같을 수 있다. 여기서 미디어 프리젠테이션이란 미디어 컨텐츠의 바운드/언바운드된 프리젠테이션을 성립시키는 데이터의 콜렉션일 수 있다.
S-TSID 분할은 하나의 서비스와 관련된 컴포넌트 획득 정보와 해당 서비스의 컴포넌트에 해당하는 TSI 및 MPD에서 발견되는 DASH 표현들 사이의 매핑을 제공한다. S-TSID는 TSI 및 관련된 DASH 표현 식별자의 형태의 컴포넌트 획득 정보, 및 DASH 표현과 관련된 DASH 분할을 전달하는 PLPID를 제공할 수 있다. PLPID 및 TSI 값에 의해, 수신기는 서비스로부터 오디오/비디오 컴포넌트를 수집하고, DASH 미디어 분할의 버퍼링을 시작한 후, 적절한 디코딩 과정을 적용한다.
MMTP 세션에서 전달되는 USBD 리스팅 서비스 컴포넌트에 대해, 서술된 도면의 "Service #2"에 도시한 바와 같이, 수신기는 SLS를 완료하기 위해 매칭되는 MMT_package_id를 갖는 MPT 메시지를 획득한다. MPT 메시지는 각 컴포넌트에 대한 획득 정보 및 서비스를 포함하는 서비스 컴포넌트의 완전한 리스트를 제공한다. 컴포넌트 획득 정보는 MMTP 세션 정보, 해당 세션을 전달하는 PLPID, 해당 세션 내의 packet_id를 포함한다.
실시예에 따라, 예를 들어 ROUTE 의 경우, 두 개 이상의 S-TSID 프래그먼트가 사용될 수 있다. 각각의 프래그먼트는 각 서비스의 컨텐츠를 전달하는 LCT 세션들에 대한 액세스 정보를 제공할 수 있다.
ROUTE 의 경우 S-TSID, USBD/USD, MPD 또는 이 들을 전달하는 LCT 세션을 서비스 시그널링 채널이라 부를 수도 있다. MMTP 의 경우, USBD/UD, MMT 시그널링 메시지들 또는 이들을 전달하는 패킷 플로우를 서비스 시그널링 채널이라 부를 수도 있다.
도시된 실시예와는 달리, 하나의 ROUTE 또는 MMTP 세션은 복수개의 PLP 를 통해 전달될 수 있다. 즉, 하나의 서비스는 하나 이상의 PLP 를 통해 전달될 수도 있다. 전술한 바와 같이 하나의 LCT 세션은 하나의 PLP 를 통해 전달될 수 있다. 도시된 것과 달리 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 ROUTE 세션들을 통해 전달될 수도 있다. 또한, 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 MMTP 세션들을 통해 전달될 수도 있다. 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 ROUTE 세션과 MMTP 세션에 나뉘어 전달될 수도 있다. 도시되지 않았으나, 하나의 서비스를 구성하는 컴포넌트가 브로드밴드를 통해 전달(하이브리드 딜리버리)되는 경우도 있을 수 있다.
도 5 는 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 USBD 프래그먼트를 도시한 도면이다.
이하, ROUTE 에 근거한 딜리버리에 있어서, 서비스 레이어 시그널링에 대해서 설명한다.
SLS는 서비스 및 그 컨텐츠 컴포넌트의 발견 및 접근을 가능하게 하기 위해 수신기에게 구체적인 기술적인 정보를 제공한다. 그것은 전용 LCT 세션으로 전달되는 XML 코딩된 메타데이터 분할을 집합을 포함할 수 있다. 해당 LCT 세션은 전술한 바와 같이 SLT에 포함된 부트스트랩 정보를 이용하여 획득할 수 있다. SLS는 서비스 레벨 당 정의되고, 그것은 컨텐츠 컴포넌트의 리스트, 어떻게 그것들을 획득하는지, 서비스의 유의미한 프레젠테이션을 하기 위해 요구되는 수신기 성능과 같은 서비스의 액세스 정보 및 특징을 서술한다. ROUTE/DASH 시스템에서, 리니어 서비스 딜리버리를 위해, SLS는 USBD, S-TSID 및 DASH MPD와 같은 메타데이터 분할로 구성된다. SLS 분할은 TSI = 0인 전용 LCT 전송 세션에서 전달될 수 있다. 실시예에 따라 SLS 프래그먼트가 전달되는 특정 LCT 세션(dedicated LCT session) 의 TSI 는 다른 값을 가질 수 있다. 실시예에 따라 SLS 프래그먼트가 전달되는 LCT 세션이 SLT 또는 다른 방법에 의해 시그널링될 수도 있다.
ROUTE/DASH SLS는 USBD 및 S-TSID 메타데이터 분할을 포함할 수 있다. 이들 서비스 시그널링 분할은 리니어 및 어플리케이션에 기초한 서비스에 적용될 수 있다. USBD 분할은 서비스 식별, 장치 성능 정보, 서비스 및 구성 미디어 컴포넌트에 액세스하는 데 요구되는 다른 SLS 분할에 대한 참조, 수신기가 서비스 컴포넌트의 전송 모드 (브로드캐스트 및/또는 브로드밴드)를 결정할 수 있게 하는 메타데이터를 포함한다. USBD에 의해 참조되는 S-TSID 분할은 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 하나 이상의 ROUTE/LCT 세션에 대한 전송 세션 디스크립션 및 해당 LCT 세션에서 전달되는 딜리버리 오브젝트의 디스크립션을 제공한다. USBD 및 S-TSID는 후술한다.
ROUTE 에 근거한 딜리버리 중 Streaming Content Signaling 에 있어서, SLS 의 스트리밍 컨텐츠 시그널링 컴포넌트는 MPD 프래그먼트에 해당한다. MPD는 주로 스트리밍 컨텐츠로서의 DASH 분할의 딜리버리를 위한 리니어 서비스와 관련된다. MPD는 분할 URL 형태의 리니어/스트리밍 서비스의 개별 미디어 컴포넌트에 대한 소스 식별자, 및 미디어 프레젠테이션 내의 식별된 리소스의 컨텍스트를 제공한다. MPD 에 대한 구체적인 내용은 후술한다.
ROUTE 에 근거한 딜리버리 중 앱 기반 인헨스먼트 시그널링에 있어서, 앱 기반 인헨스먼트 시그널링은 어플리케이션 로직 파일, 국부적으로 캐싱된 미디어 파일, 네트워크 컨텐츠 아이템, 또는 공지 스트림과 같은 앱 기반 인헨스먼트 컴포넌트의 딜리버리에 속한다. 어플리케이션은 또한 가능한 경우 브로드밴드 커넥션 상에서 국부적으로 캐싱된 데이터를 검색할 수 있다.
이하, 본 도면에 도시된 USBD/USD 의 구체적인 내용에 대해 설명한다.
탑 레벨 또는 엔트리 포인트 SLS 분할은 USBD 분할이다. 도시된 USBD 프래그먼트는 본 발명의 일 실시예이며, 도시되지 않은 기본적인 USBD 프래그먼트의 필드들이 실시예에 따라 더 추가될 수도 있다. 전술한 바와 같이 도시된 USBD 프래그먼트는 확장된 형태로서 기본 구조에서 더 추가된 필드들을 가질 수 있다.
도시된 USBD 는 bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @serviceId, @atsc:serviceId, @atsc:serviceStatus, @atsc:fullMPDUri, @atsc:sTSIDUri, name, serviceLanguage, atsc:capabilityCode 및/또는 deliveryMethod 를 포함할 수 있다.
@serviceId는 BSID의 범위 내에서 유일한 서비스를 식별하는 전 세계적으로 유일한 URI일 수 있다. 해당 파라미터는 ESG 데이터 (Service@globalServiceID)와 관련시키는 데 사용될 수 있다.
@atsc:serviced는 LLS (SLT)에서 해당하는 서비스 엔트리에 대한 레퍼런스이다. 해당 성질의 값은 해당 엔트리에 할당된 serviceId의 값과 동일하다.
@atsc:serviceStatus는 해당 서비스의 상태는 특정할 수 있다. 그 값은 해당 서비스가 활성화되어 있는지 비활성화되어 있는지를 나타낸다. "1" (참)로 설정되면, 서비스가 활성화되어 있다는 것을 나타낸다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다.
@atsc:fullMPDUri는 브로드캐스트 상에서 선택적으로, 또한 브로드밴드 상에서 전달되는 서비스의 컨텐츠 컴포넌트에 대한 디스크립션을 포함하는 MPD 분할을 레퍼런싱할 수 있다.
@atsc:sTSIDUri는 해당 서비스의 컨텐츠를 전달하는 전송 세션에 액세스 관련 파라미터를 제공하는 S-TSID 분할을 레퍼런싱할 수 있다.
name은 lang 성질에 의해 주어지는 서비스의 네임을 나타낼 수 있다. name 엘레먼트는 서비스 네임의 언어를 나타내는 lang 성질을 포함할 수 있다. 언어는 XML 데이터타입에 따라 특정될 수 있다.
serviceLanguage는 서비스의 이용 가능한 언어를 나타낼 수 있다. 언어는 XML 데이터타입에 따라 특정될 수 있다.
atsc:capabilityCode는 수신기가 해당 서비스의 컨텐츠의 유의미한 프레젠테이션을 생성할 수 있도록 요구되는 캐패빌리티를 특정할 수 있다. 실시예에 따라 본 필드는 기 정의된 캐패빌리티 그룹을 특정할 수도 있다. 여기서 캐패빌리티 그룹은 유의미한 프리젠테이션을 위한 캐패빌리티 성질들 값의 그룹일 수 있다. 본 필드는 실시예에 따라 생략될 수 있다.
deliveryMethod는 액세스의 브로드캐스트 및 (선택적으로) 브로드밴드 모드 상에서 서비스의 컨텐츠에 속하는 정보에 관련된 트랜스포트의 컨테이너일 수 있다. 해당 서비스에 포함되는 데이터에 있어서, 그 데이터를 N 개라 하면, 그 각각의 데이터들에 대한 딜리버리 방법들이, 이 엘레멘트에 의해 기술될 수 있다. deliveryMethod 엘레멘트는 r12:broadcastAppService 엘레멘트와 r12:unicastAppService 엘레멘트를 포함할 수 있다. 각각의 하위 엘레멘트들은 basePattern 엘레멘트를 하위 엘레멘트로 가질 수 있다.
r12:broadcastAppService는 소속된 미디어 프레젠테이션의 모든 기간에 걸쳐 서비스에 속하는 해당 미디어 컴포넌트를 포함하는 다중화된 또는 비다중화된 형태의 브로드캐스트 상에서 전달되는 DASH 레프레젠테이션일 수 있다. 즉, 각각의 본 필드들은, 방송망을 통해 전달되는 DASH 레프레젠테이션(representation) 들을 의미할 수 있다.
r12:unicastAppService는 소속된 미디어 프레젠테이션의 모든 기간에 걸쳐 서비스에 속하는 구성 미디어 컨텐츠 컴포넌트를 포함하는 다중화된 또는 비다중화된 형태의 브로드밴드 상에서 전달되는 DASH 레프레젠테이션일 수 있다. 즉, 각각의 본 필드들은, 브로드밴드를 통해 전달되는 DASH 레프레젠테이션(representation) 들을 의미할 수 있다.
basePattern은 포함된 기간에 페어런트 레프레젠테이션의 미디어 분할을 요구하기 위해 DASH 클라이언트에 의해 사용되는 분할 URL의 모든 부분에 대해 매칭되도록 수신기에 의해 사용되는 문자 패턴일 수 있다. 매치는 해당 요구된 미디어 분할이 브로드캐스트 트랜스포트 상에서 전달되는 것을 암시한다. 각각의 r12:broadcastAppService 엘레멘트와 r12:unicastAppService 엘레멘트로 표현되는 DASH 레프레젠테이션을 전달받을 수 있는 URL 주소에 있어서, 그 URL 의 일부분 등은 특정한 패턴을 가질 수 있는데, 그 패턴이 본 필드에 의해 기술될 수 있다. 이 정보를 통하여 일정부분 데이터에 대한 구분이 가능할 수 있다. 제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
도 6 은 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 S-TSID 프래그먼트를 도시한 도면이다.
이하, 본 도면에 도시된 S-TSID 의 구체적인 내용에 대해 설명한다.
S-TSID는 서비스의 컨텐츠 컴포넌트를 전달하는 전송 세션에 대한 전체적인 세션 디스크립트 정보를 제공하는 SLS XML 분할일 수 있다. S-TSID는 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 구성 LCT 세션 및 0개 이상의 ROUTE 세션에 대한 전체적인 전송 세션 디스크립트 정보를 포함하는 SLS 메타데이터 분할이다. S-TSID는 또한 LCT 세션에서 전달되는 컨텐츠 컴포넌트 및 페이로드 포맷에 대한 추가 정보뿐만 아니라 서비스의 LCT 세션에서 전달되는 딜리버리 오브젝트 또는 오브젝트 플로우에 대한 파일 메타데이터를 포함한다.
S-TSID 분할의 각 경우는 userServiceDescription 엘레먼트의 @atsc:sTSIDUri 성질에 의해 USBD 분할에서 레퍼런싱된다. 도시된 본 발명의 일 실시예에 따른 S-TSID 는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, S-TSID 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 S-TSID 는 도시된 S-TSID 는 S-TSID 루트 엘레멘트를 가질 수 있다. S-TSID 루트 엘레멘트는 @serviceId 및/또는 RS 를 포함할 수 있다.
@serviceID는 USD에서 서비스 엘레멘트에 해당하는 레퍼런스일 수 있다. 해당 성질의 값은 service_id의 해당 값을 갖는 서비스를 레퍼런싱할 수 있다.
RS 엘레멘트는 해당 서비스 데이터들을 전달하는 ROUTE 세션에 대한 정보를 가질 수 있다. 복수개의 ROUTE 세션을 통해 서비스 데이터 내지 서비스 컴포넌트들이 전달될 수 있으므로, 본 엘레멘트는 1 내지 N 개의 개수를 가질 수 있다.
RS 엘레멘트는 @bsid, @sIpAddr, @dIpAddr, @dport, @PLPID 및/또는 LS 를 포함할 수 있다.
@bsid는 broadcastAppService의 컨텐츠 컴포넌트가 전달되는 브로드캐스트 스트림의 식별자일 수 있다. 해당 성질이 존재하지 않으면, 디폴트 브로드캐스트 스트림의 PLP가 해당 서비스에 대한 SLS 분할을 전달하는 것일 수 있다. 그 값은 SLT에서 broadcast_stream_id와 동일할 수 있다.
@sIpAddr은 소스 IP 어드레스를 나타낼 수 있다. 여기서 소스 IP 어드레스는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 소스 IP 어드레스일 수 있다. 전술한 바와 같이 하나의 서비스의 서비스 컴포넌트들은 복수개의 ROUTE 세션을 통해 전달될 수도 있다. 그 때문에, 해당 S-TSID 가 전달되는 ROUTE 세션이 아닌 다른 ROUTE 세션으로 그 서비스 컴포넌트가 전송될 수도 있다. 따라서, ROUTE 세션의 소스 IP 어드레스를 지시하기 위하여 본 필드가 사용될 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 소스 IP 어드레스일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 소스 IP 어드레스 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@dIpAddr은 데스티네이션 IP 어드레스를 나타낼 수 있다. 여기서 데스티네이션 IP 어드레스는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 IP 어드레스일 수 있다. @sIpAddr 에서 설명한 것과 같은 경우를 위해, 본 필드는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 IP 어드레스를 지시할 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 데스티네이션 IP 어드레스일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 데스티네이션 IP 어드레스 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@dport는 데스티네이션 포트를 나타낼 수 있다. 여기서 데스티네이션 포트는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 포트일 수 있다. @sIpAddr 에서 설명한 것과 같은 경우를 위해, 본 필드는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 포트를 지시할 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 데스티네이션 포트 넘버일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 데스티네이션 포트 넘버 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@PLPID 는 RS 로 표현되는 ROUTE 세션을 위한 PLP 의 ID 일 수 있다. 디폴트 값은 현재 S-TSID 가 포함된 LCT 세션의 PLP 의 ID 일 수 있다. 실시예에 따라 본 필드는 해당 ROUTE 세션에서 S-TSID 가 전달되는 LCT 세션을 위한 PLP 의 ID 값을 가질 수도 있고, 해당 ROUTE 세션을위한 모든 PLP 들의 ID 값들을 가질 수도 있다.
LS 엘레멘트는 해당 서비스 데이터들을 전달하는 LCT 세션에 대한 정보를 가질 수 있다. 복수개의 LCT 세션을 통해 서비스 데이터 내지 서비스 컴포넌트들이 전달될 수 있으므로, 본 엘레멘트는 1 내지 N 개의 개수를 가질 수 있다.
LS 엘레멘트는 @tsi, @PLPID, @bw, @startTime, @endTime, SrcFlow 및/또는 RprFlow 를 포함할 수 있다.
@tsi 는 해당 서비스의 서비스 컴포넌트가 전달되는 LCT 세션의 TSI 값을 지시할 수 있다.
@PLPID 는 해당 LCT 세션을 위한 PLP 의 ID 정보를 가질 수 있다. 이 값은 기본 ROUTE 세션 값을 덮어쓸 수도 있다.
@bw 는 최대 밴드위스 값을 지시할 수 있다. @startTime 은 해당 LCT 세션의 스타트 타임(Start time)을 지시할 수 있다. @endTime 은 해당 LCT 세션의 엔드 타임(End time)을 지시할 수 있다. SrcFlow 엘레멘트는 ROUTE 의 소스 플로우에 대해 기술할 수 있다. RprFlow 엘레멘트는 ROUTE 의 리페어 플로우에 대해 기술할 수 있다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
이하, ROUTE/DASH 를 위한 MPD (Media Presentation Description) 에 대해 설명한다.
MPD는 방송사에 의해 정해진 주어진 듀레이션의 리니어 서비스에 해당하는 DASH 미디어 프레젠테이션의 공식화된 디스크립션을 포함하는 SLS 메타데이터 분할이다 (예를 들면, 어떤 기간 동안의 하나의 TV 프로그램 또는 연속적인 리니어 TV 프로그램의 집합). MPD의 컨텐츠는 미디어 프레젠테이션 내에서 식별된 리소스에 대한 컨텍스트 및 분할에 대한 소스 식별자를 제공한다. MPD 분할의 데이터 구조 및 시맨틱스는 MPEG DASH에 의해 정의된 MPD에 따를 수 있다.
MPD에서 전달되는 하나 이상의 DASH 레프레젠테이션은 브로드캐스트 상에서 전달될 수 있다. MPD는 하이브리드 서비스의 경우와 같은 브로드밴드 상에서 전달되는 추가 레프레젠테이션을 서술하거나, 브로드캐스트 신호 악화 (예를 들면, 터널 속 주행)로 인한 브로드캐스트에서 브로드캐스트로의 핸드오프에서 서비스 연속성을 지원할 수 있다.
도 7 은 본 발명의 일 실시예에 따른 MMT 를 위한 USBD/USD 프래그먼트를 도시한 도면이다.
리니어 서비스를 위한 MMT SLS는 USBD 분할 및 MP 테이블을 포함한다. MP 테이블은 전술한 바와 같다. USBD 분할은 서비스 식별, 장치 성능 정보, 서비스 및 구성 미디어 컴포넌트에 액세스하는 데 요구되는 다른 SLS 분할에 대한 참조, 수신기가 서비스 컴포넌트의 전송 모드 (브로드캐스트 및/또는 브로드밴드)를 결정할 수 있게 하는 메타데이터를 포함한다. USBD에 의해 참조되는 MPU 컴포넌트에 대한 MP 테이블은 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 MMTP 세션에 대한 전송 세션 디스크립션 및 MMTP 세션에서 전달되는 에셋의 디스크립션을 제공한다.
MPU 컴포넌트에 대한 SLS의 스트리밍 컨텐츠 시그널링 컴포넌트는 MMT에서 정의된 MP 테이블에 해당한다. MP 테이블은 각 에셋이 단일 서비스 컴포넌트에 해당하는 MMT 에셋의 리스트 및 해당 컴포넌트에 대한 위치 정보의 디스크립션을 제공한다.
USBD 분할은 ROUTE 프로토콜 및 브로드밴드에 의해 각각 전달되는 서비스 컴포넌트에 대해 전술한 바와 같은 S-TSID 및 MPD에 대한 참조도 포함할 수 있다. 실시예에 따라, MMT 를 통한 딜리버리에 있어 ROUTE 프로토콜을 통해 전달되는 서비스 컴포넌트란 NRT 등의 데이터이므로, 이 경우에 있어 MPD 는 필요치 않을 수 있다. 또한, MMT 를 통한 딜리버리에 있어 브로드밴드를 통해 전달되는 서비스 컴포넌트는 어떤 LCT 세션을 통해 전달되는지에 대한 정보가 필요치 않으므로 S-TSID 는 필요치 않을 수 있다. 여기서, MMT 패키지는 MMT 를 이용하여 전달되는, 미디어 데이터의 논리적 콜렉션일 수 있다. 여기서, MMTP 패킷은 MMT 를 이용하여 전달되는 미디어 데이터의 포맷된 유닛을 의미할 수 있다. MPU (Media Processing Unit) 은 독립적으로 디코딩 가능한 타임드/논-타임드 데이터의 제네릭 컨테이너를 의미할 수 있다. 여기서, MPU에서의 데이터는 미디어 코덱 애그노스틱이다.
이하, 본 도면에 도시된 USBD/USD 의 구체적인 내용에 대해 설명한다.
도시된 USBD 프래그먼트는 본 발명의 일 실시예이며, 도시되지 않은 기본적인 USBD 프래그먼트의 필드들이 실시예에 따라 더 추가될 수도 있다. 전술한 바와 같이 도시된 USBD 프래그먼트는 확장된 형태로서 기본 구조에서 더 추가된 필드들을 가질 수 있다.
도시된 본 발명의 일 실시예에 따른 USBD 는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, USBD 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 USBD 는 bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @serviceId, @atsc:serviceId, name, serviceLanguage, atsc:capabilityCode, atsc:Channel, atsc:mpuComponent, atsc:routeComponent, atsc:broadband Component 및/또는 atsc:ComponentInfo 를 포함할 수 있다.
여기서, @serviceId, @atsc:serviceId, name, serviceLanguage, atsc:capabilityCode 는 전술한 것과 같을 수 있다. name 필드 밑의 lang 필드 역시 전술한 것과 같을 수 있다. atsc:capabilityCode 는 실시예에 따라 생략될 수 있다.
userServiceDescription 엘레멘트는, 실시예에 따라 atsc:contentAdvisoryRating 엘레멘트를 더 포함할 수 있다. 이 엘레멘트는 옵셔널 엘레멘트일 수 있다. atsc:contentAdvisoryRating는 컨텐츠 자문 순위를 특정할 수 있다. 본 필드는 도면에 도시되지 않았다.
atsc:Channel 은 서비스의 채널에 대한 정보를 가질 수 있다. atsc:Channel 엘레멘트는 @atsc:majorChannelNo, @atsc:minorChannelNo, @atsc:serviceLang, @atsc:serviceGenre, @atsc:serviceIcon 및/또는 atsc:ServiceDescription 를 포함할 수 있다. @atsc:majorChannelNo, @atsc:minorChannelNo, @atsc:serviceLang 는 실시예에 따라 생략될 수 있다.
@atsc:majorChannelNo는 서비스의 주 채널 넘버를 나타내는 성질이다.
@atsc:minorChannelNo는 서비스의 부 채널 넘버를 나타내는 성질이다.
@atsc:serviceLang는 서비스에서 사용되는 주요 언어를 나타내는 성질이다.
@atsc:serviceGenre는 서비스의 주요 장르를 나타내는 성질이다.
@atsc:serviceIcon는 해당 서비스를 표현하는 데 사용되는 아이콘에 대한 URL을 나타내는 성질이다.
atsc:ServiceDescription은 서비스 디스크립션을 포함하며 이는 다중 언어일 수 있다. atsc:ServiceDescription은 @atsc:serviceDescrText 및/또는 @atsc:serviceDescrLang를 포함할 수 있다.
@atsc:serviceDescrText는 서비스의 디스크립션을 나타내는 성질이다.
@atsc:serviceDescrLang는 상기 serviceDescrText 성질의 언어를 나타내는 성질이다.
atsc:mpuComponent 는 MPU 형태로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. atsc:mpuComponent 는 @atsc:mmtPackageId 및/또는 @atsc:nextMmtPackageId 를 포함할 수 있다.
@atsc:mmtPackageId는 MPU로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 MMT 패키지를 레퍼런싱할 수 있다.
@atsc:nextMmtPackageId는 MPU로 전달되는 서비스의 컨텐츠 컴포넌트에 맞추어 @atsc:mmtPackageId에 의해 참조된 후에 사용되는 MMT 패키지를 레퍼런싱할 수 있다.
atsc:routeComponent 는 ROUTE 를 통해 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. atsc:routeComponent 는 @atsc:sTSIDUri, @sTSIDPlpId, @sTSIDDestinationIpAddress, @sTSIDDestinationUdpPort, @sTSIDSourceIpAddress, @sTSIDMajorProtocolVersion 및/또는 @sTSIDMinorProtocolVersion 를 포함할 수 있다.
@atsc:sTSIDUri는 해당 서비스의 컨텐츠를 전달하는 전송 세션에 액세스 관련 파라미터를 제공하는 S-TSID 분할을 레퍼런싱할 수 있다. 이 필드는 전술한 ROUTE 를 위한 USBD 에서의 S-TSID 를 레퍼런싱하기 위한 URI 와 같을 수 있다. 전술한 바와 같이 MMTP 에 의한 서비스 딜리버리에 있어서도, NRT 등을 통해 전달되는 서비스 컴포넌트들은 ROUTE 에 의해 전달될 수 있다. 이를 위한 S-TSID 를 레퍼런싱하기 위하여 본 필드가 사용될 수 있다.
@sTSIDPlpId는 해당 서비스에 대한 S-TSID를 전달하는 PLP의 PLP ID를 나타내는 정수를 표현하는 스트링일 수 있다. (디폴트: 현재 PLP)
@sTSIDDestinationIpAddress는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 dotted-IPv4 데스티네이션 어드레스를 포함하는 스트링일 수 있다. (디폴트: 현재 MMTP 세션의 소스 IP 어드레스)
@sTSIDDestinationUdpPort는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 포트 넘버를 포함하는 스트링일 수 있다.
@sTSIDSourceIpAddress는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 dotted-IPv4 소스 어드레스를 포함하는 스트링일 수 있다.
@sTSIDMajorProtocolVersion은 해당 서비스에 대한 S-TSID를 전달하기 위해 사용되는 프로토콜의 주 버전 넘버를 나타낼 수 있다. 디폴트 값은 1이다.
@sTSIDMinorProtocolVersion은 해당 서비스에 대한 S-TSID를 전달하기 위해 사용되는 프로토콜의 부 버전 넘버를 나타낼 수 있다. 디폴트 값은 0이다.
atsc:broadbandComponent 는 브로드밴드를 통해 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. 즉, 하이브리드 딜리버리를 상정한 필드일 수 있다. atsc:broadbandComponent 는 @atsc:fullfMPDUri 를 더 포함할 수 있다.
@atsc:fullfMPDUri는 브로드밴드로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 디스크립션을 포함하는 MPD 분할에 대한 레퍼런스일 수 있다.
atsc:ComponentInfo 는 서비스의 어베일러블한(available) 컴포넌트에 대한 정보를 가질 수 있다. 각각의 컴포넌트에 대한, 타입, 롤, 이름 등의 정보를 가질 수 있다. 각 컴포넌트(N개) 개수만큼 본 필드가 존재할 수 있다. atsc:ComponentInfo 는 @atsc:componentType, @atsc:componentRole, @atsc:componentProtectedFlag, @atsc:componentId 및/또는 @atsc:componentName 을 포함할 수 있다.
@atsc:componentType은 해당 컴포넌트의 타입을 나타내는 성질이다. 0의 값은 오디오 컴포넌트를 나타낸다. 1의 값은 비디오 컴포넌트를 나타낸다. 2의 값은 클로즈드 캡션 컴포넌트를 나타낸다. 3의 값은 어플리케이션 컴포넌트를 나타낸다. 4 내지 7의 값은 남겨둔다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentRole은 해당 컴포넌트의 역할 및 종류를 나타내는 성질이다.
오디오에 대해 (상기 componentType 성질이 0과 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Complete main, 1 = 음악 및 효과 (Music and Effects), 2 = 대화 (Dialog), 3 = 해설 (Commentary), 4 = 시각 장애 (Visually Impaired), 5 = 청각 장애 (Hearing Impaired), 6 = 보이스오버 (Voice-Over), 7-254= reserved, 255 = 알 수 없음 (unknown).
오디오에 대해 (상기 componentType 성질이 1과 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Primary video, 1= 대체 카메라 뷰 (Alternative camera view), 2 = 다른 대체 비디오 컴포넌트 (Other alternative video component), 3 = 수화 삽입 (Sign language inset), 4 = Follow subject video, 5 = 3D 비디오 좌측 뷰 (3D video left view), 6 = 3D 비디오 우측 뷰 (3D video right view), 7 = 3D 비디오 깊이 정보 (3D video depth information), 8 = Part of video array <x,y> of <n,m>, 9 = Follow-Subject metadata, 10-254 = reserved, 255 = 알 수 없음 (unknown).
클로즈드 캡션 컴포넌트에 대해, (상기 componentType 성질이 2와 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Normal, 1 = Easy reader, 2-254 = reserved, 255 = 알 수 없음 (unknown).
상기 componentType 성질의 값이 3과 7 사이이면, componentRole 255와 동일할 수 있다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentProtectedFlag는 해당 컴포넌트가 보호되는지 (예를 들면, 암호화되는지)를 나타내는 성질이다. 해당 플레그가 1의 값으로 설정되면, 해당 컴포넌트는 보호된다 (예를 들면, 암호화된다). 해당 플레그가 0의 값으로 설정되면, 해당 컴포넌트는 보호되지 않는다 (예를 들면, 암호화되지 않는다). 존재하지 않는 경우, componentProtectedFlag 성질의 값은 0과 같은 것으로 추론된다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentId는 해당 컴포넌트의 식별자를 나타내는 성질이다. 해당 성질의 값은 해당 컴포넌트에 해당하는 MP 테이블에서 asset_id와 동일할 수 있다.
@atsc:componentName은 해당 컴포넌트의 사람이 판독 가능한 이름을 나타내는 성질이다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
이하, MMT 를 위한 MPD (Media Presentation Description) 에 대해 설명한다.
MPD는 방송사에 의해 정해진 주어진 듀레이션의 리니어 서비스에 해당하는 SLS 메타데이터 분할이다 (예를 들면, 하나의 TV 프로그램, 또는 어떤 기간 동안의 연속적인 리니어 TV 프로그램의 집합). MPD의 컨텐츠는 분할에 대한 리소스 식별자 및 미디어 프레젠테이션 내에서 식별된 리소스에 대한 컨텍스트를 제공한다. MPD의 데이터 구조 및 시맨틱스는 MPEG DASH에 의해 정의된 MPD에 따를 수 있다.
본 발명의 실시예에 있어서, MMTP 세션에 의해 전달되는 MPD는 하이브리드 서비스의 경우와 같은 브로드밴드 상에서 전달되는 레프레젠테이션을 서술하거나, 브로드캐스트 신호 악화 (예를 들면, 산 아래나 터널 속 주행)로 인한 브로드캐스트에서 브로드캐스트로의 핸드오프에서 서비스 연속성을 지원할 수 있다.
이하, MMT 를 위한 MMT 시그널링 메시지에 대해서 설명한다.
MMTP 세션이 스트리밍 서비스를 전달하기 위해서 사용되면, MMT에 의해 정의된 MMT 시그널링 메시지는 MMT에 의해 정의된 시그널링 메시지 모드에 따라 MMTP 패킷에 의해 전달된다. 에셋을 전달하는 MMTP 패킷과 동일한 packet_id 값으로 설정될 수 있는, 에셋에 특정한 MMT 시그널링 메시지를 전달하는 MMTP 패킷을 제외하고 SLS를 전달하는 MMTP 패킷의 packet_id 필드의 값은 "00"으로 설정된다. 각 서비스에 대한 적절한 패킷을 레퍼런싱하는 식별자는 전술한 바와 같이 USBD 분할에 의해 시그널링된다. 매칭하는 MMT_package_id를 갖는 MPT 메시지는 SLT에서 시그널링되는 MMTP 세션 상에서 전달될 수 있다. 각 MMTP 세션은 그 세션에 특정한 MMT 시그널링 메시지 또는 MMTP 세션에 의해 전달되는 각 에셋을 전달한다.
즉, SLT 에서 특정 서비스에 대한 SLS 를 가지는 패킷의 IP 데스티네이션 어드레스/포트 넘버 등을 특정하여 MMTP 세션의 USBD 에 접근할 수 있다. 전술한 바와 같이 SLS 를 운반하는 MMTP 패킷의 패킷 ID 는 00 등 특정값으로 지정될 수 있다. USBD 의 전술한 패키지 ID 정보를 이용하여, 매칭되는 패키지 ID 를 가지는 MPT 메시지에 접근할 수 있다. MPT 메시지는 후술하는 바와 같이 각 서비스 컴포넌트/에셋에 접근하는데 사용될 수 있다.
다음의 MMTP 메시지는 SLT에서 시그널링되는 MMTP 세션에 의해 전달될 수 있다.
MPT 메시지: 이 메시지는 모든 에셋의 리스트 및 MMT에 의해 정의된 바와 같은 그것들의 위치 정보를 포함하는 MP 테이블을 전달한다. 에셋이 MP 테이블을 전달하는 현 PLP와 다른 PLP에 의해 전달되면, 해당 에셋을 전달하는 PLP의 식별자는 PLP 식별자 디스크립터를 사용한 MP 테이블에서 제공될 수 있다. PLP 식별자 디스크립터에 대해서는 후술한다.
MMT ATSC3 (MA3) message mmt_atsc3_message(): 이 메시지는 전술한 바와 같이 SLS를 포함하는 서비스에 특정한 시스템 메타데이터를 전달한다. mmt_atsc3_message()에 대해서는 후술한다.
다음의 MMTP 메시지는 필요한 경우 SLT에서 시그널링된 MMTP 세션에 의해 전달될 수 있다.
MPI 메시지: 이 메시지는 프레젠테이션 정보의 모든 다큐먼트 또는 일부 다큐먼트를 포함하는 MPI 테이블을 전달한다. MPI 테이블과 관련된 MP 테이블은 이 메시지에 의해 전달될 수 있다.
CRI (clock relation information) 메시지: 이 메시지는 NTP 타임스탬프와 MPEG-2 STC 사이의 매핑을 위한 클록 관련 정보를 포함하는 CRI 테이블을 전달한다. 실시예에 따라 CRI 메시지는 해당 MMTP 세션을 통해 전달되지 않을 수 있다.
다음의 MMTP 메시지는 스트리밍 컨텐츠를 전달하는 각 MMTP 세션에 의해 전달될 수 있다.
가상적인 수신기 버퍼 모델 메시지: 이 메시지는 버퍼를 관리하기 위해 수신기에 의해 요구되는 정보를 전달한다.
가상적인 수신기 버퍼 모델 제거 메시지: 이 메시지는 MMT 디캡슐레이션 버퍼를 관리하기 위해 수신기에 의해 요구되는 정보를 전달한다.
이하, MMT 시그널링 메시지 중 하나인 mmt_atsc3_message() 에 대해서 설명한다. MMT 시그널링 메시지인 mmt_atsc3_message()는 전술한 본 발명에 따라 서비스에 특정한 정보를 전달하기 위해 정의된다. 본 시그널링 메시지는 MMT 시그널링 메시지의 기본적인 필드인 메시지 ID, 버전 및/또는 길이(length) 필드를 포함할 수 있다. 본 시그널링 메시지의 페이로드에는 서비스 ID 정보와, 컨텐트 타입, 컨텐트 버전, 컨텐트 컴프레션 정보 및/또는 URI 정보가 포함될 수 있다. 컨텐트 타입 정보는 본 시그널링 메시지의 페이로드에 포함되는 데이터의 타입을 지시할 수 있다. 컨텐트 버전 정보는 페이로드에 포함되는 데이터의 버전을, 컨텐트 컴프레션 정보는 해당 데이터에 적용된 컴프레션 타입을 지시할 수 있다. URI 정보는 본 메시지에 의해 전달되는 컨텐츠와 관련된 URI 정보를 가질 수 있다.
이하, PLP 식별자 디스크립터에 대해서 설명한다.
PLP 식별자 디스크립터는 전술한 MP 테이블의 디스크립터 중 하나로 사용될 수 있는 디스크립터이다. PLP 식별자 디스크립터는 에셋을 전달하는 PLP에 관한 정보를 제공한다. 에셋이 MP 테이블을 전달하는 현재 PLP와 다른 PLP에 의해 전달되면, PLP 식별자 디스크립터는 그 에셋을 전달하는 PLP를 식별하기 위해 관련된 MP 테이블에서 에셋 디스크립터로 사용될 수 있다. PLP 식별자 디스크립터는 PLP ID 정보 외에 BSID 정보를 더 포함할 수도 있다. BSID 는 이 디스크립터에 의해 기술되는 Asset 을 위한 MMTP 패킷을 전달하는 브로드캐스트 스트림의 ID 일 수 있다.
도 8 은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
이하, 링크 레이어(Link Layer) 에 대해서 설명한다.
링크 레이어는 피지컬 레이어와 네트워크 레이어 사이의 레이어이며, 송신 측에서는 네트워크 레이어에서 피지컬 레이어로 데이터를 전송하고, 수신 측에서는 피지컬 레이어에서 네트워크 레이어로 데이터를 전송한다. 링크 레이어의 목적은 피지컬 레이어에 의한 처리를 위해 모든 입력 패킷 타입을 하나의 포맷으로 요약하는 것, 아직 정의되지 않은 입력 타입에 대한 유연성 및 추후 확장 가능성을 보장하는 것이다. 또한, 링크 레이어 내에서 처리하면, 예를 들면, 입력 패킷의 헤더에 있는 불필요한 정보를 압축하는 데 옵션을 제공함으로써, 입력 데이터가 효율적으로 전송될 수 있도록 보장된다. 인캡슐레이션, 콤프레션 등의 동작은 링크 레이어 프로토콜이라 불리고, 해당 프로토콜을 이용하여 생성된 패킷은 링크 레이어 패킷이라 불린다. 링크 레이어는 패킷 인캡슐레이션(packet encapsulation), 오버헤드 리덕션(Overhead Reduction) 및/또는 시그널링 전송(Signaling Transmission) 등의 기능을 수행할 수 있다.
이하, 패킷 인캡슐레이션에 대해서 설명한다. 링크 레이어 프로토콜은 IP 패킷 및 MPEG-2 TS와 같은 것을 포함하는 모든 타입의 패킷의 인캡슐레이션을 가능하게 한다. 링크 레이어 프로토콜을 이용하여, 피지컬 레이어는 네트워크 레이어 프로토콜 타입과 독립적으로 하나의 패킷 포맷만 처리하면 된다 (여기서 네트워크 레이어 패킷의 일종으로 MPEG-2 TS 패킷을 고려). 각 네트워크 레이어 패킷 또는 입력 패킷은 제네릭 링크 레이어 패킷의 페이로드로 변형된다. 추가적으로, 입력 패킷 사이즈가 특별히 작거나 큰 경우 피지컬 레이어 리소스를 효율적으로 이용하기 위해 연쇄 및 분할이 실행될 수 있다.
전술한 바와 같이 패킷 인캡슐레이션 과정에서 분할(segmentation) 이 활용될 수 있다. 네트워크 레이어 패킷이 지나치게 커서 피지컬 레이어에서 쉽게 처리하지 못하는 경우, 네트워크 레이어 패킷은 두 개 이상의 분할로 나누어진다. 링크 레이어 패킷 헤더는 송신 측에서 분할을 실행하고 수신 측에서 재결합을 실행하기 위해 프로토콜 필드를 포함한다. 네트워크 레이어 패킷이 분할되는 경우, 각 분할은 네트워크 레이어 패킷에서의 원래 위치와 같은 순서로 링크 레이어 패킷으로 인캡슐레이션 될 수 있다. 또한 네트워크 레이어 패킷의 분할을 포함하는 각 링크 레이어 패킷은 결과적으로 피지컬 레이어로 전송될 수 있다.
전술한 바와 같이 패킷 인캡슐레이션 과정에서 연쇄(concatenation) 또한 활용될 수 있다. 링크 레이어 패킷의 페이로드가 여러 네트워크 레이어 패킷을 포함할 정도로 네트워크 레이어 패킷이 충분히 작은 경우, 링크 레이어 패킷 헤더는 연쇄를 실행하기 위해 프로토콜 필드를 포함한다. 연쇄는 다수의 작은 크기의 네트워크 레이어 패킷을 하나의 페이로드로 결합한 것이다. 네트워크 레이어 패킷들이 연쇄되면, 각 네트워크 레이어 패킷은 원래의 입력 순서와 같은 순서로 링크 레이어 패킷의 페이로드로 연쇄될 수 있다. 또한, 링크 레이어 패킷의 페이로드를 구성하는 각 패킷은 패킷의 분할이 아닌 전체 패킷일 수 있다.
이하, 오버헤드 리덕션에 대해서 설명한다. 링크 레이어 프로토콜의 사용으로 인해 피지컬 레이어 상에서 데이터의 전송에 대한 오버헤드가 크게 감소할 수 있다. 본 발명에 따른 링크 레이어 프로토콜은 IP 오버헤드 리덕션 및/또는 MPEG-2 TS 오버헤드 리덕션을 제공할 수 있다. IP 오버헤드 리덕션에 있어서, IP 패킷은 고정된 헤더 포맷을 가지고 있으나, 통신 환경에서 필요한 일부 정보는 브로드캐스트 환경에서 불필요할 수 있다. 링크 레이어 프로토콜은 IP 패킷의 헤더를 압축함으로써 브로드캐스트 오버헤드를 줄이는 메커니즘을 제공한다. MPEG-2 TS 오버헤드 리덕션에 있어서, 링크 레이어 프로토콜은 싱크 바이트 제거, 널 패킷 삭제 및/또는 공통 헤더 제거 (압축)을 제공한다. 우선, 싱크 바이트 제거는 TS 패킷당 하나의 바이트의 오버헤드 리덕션을 제공하고, 다음으로, 널 패킷 삭제 메커니즘은 수신기에서 재삽입될 수 있는 방식으로 188 바이트의 널 TS 패킷을 제거한다. 마지막으로, 공통 헤더 제거 메커니즘이 제공된다.
시그널링 전송에 대해서, 링크 레이어 프로토콜은 시그널링 패킷을 위한 특정 포맷이, 링크 레이어 시그널링을 전송하기 위하여 제공될 수 있다. 이에 관해서는 후술한다.
도시된 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐에서, 링크 레이어 프로토콜은 입력 패킷으로 IPv4, MPEG-2 TS 등과 같은 입력 네트워크 레이어 패킷을 취한다. 향후 확장은 다른 패킷 타입과 링크 레이어에서 입력될 수 있는 프로토콜을 나타낸다. 링크 레이어 프로토콜은 피지컬 레이어에서 특정 채널에 대한 매핑에 관한 정보를 포함하는 모든 링크 레이어 시그널링에 대한 시그널링 및 포맷을 특정한다. 도면은 ALP가 어떻게 다양한 헤더 컴프레션 및 삭제 알고리즘을 통해 전송 효율을 향상시키기 위해 메커니즘을 포함하는지 나타낸다. 또한 링크 레이어 프로토콜은 기본적으로 입력 패킷들을 인캡슐레이션할 수 있다.
도 9 는 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다. 이하, 헤더의 구조에 대해서 설명한다.
링크 레이어 패킷은 데이터 페이로드가 뒤따르는 헤더를 포함할 수 있다. 링크 레이어 패킷의 패킷은 베이스 헤더를 포함할 수 있고, 베이스 헤더의 컨트롤 필드에 따라 추가 헤더를 포함할 수 있다. 옵셔널 헤더의 존재는 추가 헤더의 플레그 필드로부터 지시된다. 실시예에 따라, 추가 헤더, 옵셔널 헤더의 존재를 나타내는 필드는 베이스 헤더에 위치할 수도 있다.
이하, 베이스 헤더의 구조에 대해서 설명한다. 링크 레이어 패킷 인캡슐레이션에 대한 베이스 헤더는 계층 구조를 갖는다. 베이스 헤더는 2바이트의 길이를 가질 수 있고, 링크 레이어 패킷 헤더의 최소 길이이다.
도시된 본 발명의 일 실시예에 따른 베이스 헤더는, Packet_Type 필드, PC 필드 및/또는 길이(length) 필드를 포함할 수 있다. 실시예에 따라 베이스 헤더는 HM 필드 또는 S/C 필드를 더 포함할 수 있다.
Packet_Type 필드는 링크 레이어 패킷으로의 인캡슐레이션 전의 입력 데이터의 패킷 타입 또는 원래의 프로토콜을 나타내는 3비트 필드이다. IPv4 패킷, 압축된 IP 패킷(compressed IP packet), 링크 레이어 시그널링 패킷, 및 그 밖의 타입의 패킷들이 이러한 베이스 헤더 구조를 가지며 인캡슐레이션 될 수 있다. 단, 실시예에 따라 MPEG-2 TS 패킷은 이와 다른 특별한 구조를 가지며 인캡슐레이션 될 수 있다. Packet_Type의 값이 "000" "001" "100" 또는 "111" 이면, 이면, ALP 패킷의 원래의 데이터 타입은 IPv4 패킷, 압축 IP 패킷, 링크 레이어 시그널링 또는 익스텐션 패킷 중 하나이다. MPEG-2 TS 패킷이 캡슐화되면, Packet_Type의 값은 "010"이 될 수 있다. 다른 Packet_Type 필드의 값들은 향후 사용을 위해 남겨둘 수 있다(reserved for future use).
Payload_Configuration (PC) 필드는 페이로드의 구성을 나타내는 1비트 필드일 수 있다. 0의 값은 링크 레이어 패킷이 하나의 전체 입력 패킷을 전달하고 다음 필드가 Header_Mode라는 것을 나타낼 수 있다. 1의 값은 링크 레이어 패킷이 하나 이상의 입력 패킷 (연쇄)이나 큰 입력 패킷 (분할)의 일부를 전달하며 다음 필드가 Segmentation_Concatenation이라는 것을 나타낼 수 있다.
Header_Mode (HM) 필드는 0으로 설정되는 경우 추가 헤더가 없다는 것을 나타내고 링크 레이어 패킷의 페이로드의 길이가 2048 바이트보다 작다는 것을 나타내는 1비트 필드일 수 있다. 이 수치는 실시예에 따라 변경될 수 있다. 1의 값은 아래에 정의된 하나의 패킷을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낼 수 있다. 이 경우, 페이로드의 길이는 2047 바이트보다 크고/크거나 옵션 피쳐가 사용될 수 있다 (서브 스트림 식별, 헤더 확장 등). 이 수치는 실시예에 따라 변경될 수 있다. 본 필드는 링크 레이어 패킷의 Payload_Configuration 필드가 0의 값을 가질 때만 존재할 수 있다.
Segmentation_Concatenation (S/C) 필드는 0으로 설정된 경우 페이로드가 입력 패킷의 세그먼트를 전달하고 아래에 정의되는 분할을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타내는 1비트 필드일 수 있다. 1의 값은 페이로드가 하나보다 많은 완전한 입력 패킷을 전달하고 아래에 정의된 연쇄를 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낼 수 있다. 본 필드는 ALP 패킷의 Payload_Configuration 필드의 값이 1일 때만 존재할 수 있다.
길이 필드는 링크 레이어 패킷에 의해 전달되는 페이로드의 바이트 단위의 길이의 11 LSBs (least significant bits)를 나타내는 11비트 필드일 수 있다. 다음의 추가 헤더에 Length_MSB 필드가 있으면, 길이 필드는 Length_MSB 필드에 연쇄되고 페이로드의 실제 총 길이를 제공하기 위해 LSB가 된다. 길이필드의 비트수는 11 비트외에 다른 비트로 변경될 수도 있다.
따라서 다음의 패킷 구조의 타입이 가능하다. 즉, 추가 헤더가 없는 하나의 패킷, 추가 헤더가 있는 하나의 패킷, 분할된 패킷, 연쇄된 패킷이 가능하다. 실시예에 따라 각 추가 헤더와 옵셔널 헤더, 후술할 시그널링 정보를 위한 추가헤더와 타입 익스텐션을 위한 추가헤더에 의한 조합으로, 더 많은 패킷 컨피규레이션이 가능할 수 있다.
도 10 은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
추가 헤더(additional header) 는 다양한 타입이 있을 수 있다. 이하 싱글 패킷을 위한 추가 헤더에 대해서 설명한다.
하나의 패킷에 대한 해당 추가 헤더는 Header_Mode (HM) ="1"인 경우 존재할 수 있다. 링크 레이어 패킷의 페이로드의 길이가 2047 바이트보다 크거나 옵션 필드가 사용되는 경우 Header_Mode (HM)는 1로 설정될 수 있다. 하나의 패킷의 추가 헤더(tsib10010)는 도면에 나타낸다.
Length_MSB 필드는 현재 링크 레이어 패킷에서 바이트 단위의 총 페이로드 길이의 MSBs (most significant bits)를 나타낼 수 있는 5비트 필드일 수 있고, 총 페이로드 길이를 얻기 위해 11 LSB를 포함하는 길이 필드에 연쇄된다. 따라서 시그널링될 수 있는 페이로드의 최대 길이는 65535 바이트이다. 길이필드의 비트수는 11 비트외에 다른 비트로 변경될 수도 있다. 또한 Length_MSB 필드 역시 비트수가 변경될 수 있으며 이에 따라 최대 표현가능한 페이로드 길이 역시 변경될 수 있다. 실시예에 따라 각 길이필드들은 페이로드가 아닌 전체 링크 레이어 패킷의 길이를 지시할 수도 있다.
Sub-stream Identifier Flag (SIF) 필드는 HEF (Header Extension Flag) 필드 후에 SID (sub-stream ID)가 존재하는지 나타낼 수 있는 1비트 필드가 될 수 있다. 링크 레이어 패킷에 SID가 없으면, SIF 필드는 0으로 설정될 수 있다. 링크 레이어 패킷에서 HEF 필드 후에 SID가 존재하면, SIF는 1로 설정될 수 있다. SID에 대한 자세한 내용은 후술한다.
HEF 필드는 1로 설정되는 경우 추후 확장을 위해 추가 헤더가 존재한다는 것을 나타낼 수 있는 1비트 필드가 될 수 있다. 0의 값은 이 확장 필더가 존재하지 않는다는 것을 나타낼 수 있다.
이하, 분할(segmentation) 이 활용되는 경우에 있어서 추가 헤더에 대해서 설명한다.
Segmentation_Concatenation (S/C) ="0"인 경우 추가 헤더(tsib10020)가 존재할 수 있다. Segment_Sequence_Number는 링크 레이어 패킷에 의해 전달되는 해당 분할의 순서를 나타낼 수 있는 5비트의 무부호 정수가 될 수 있다. 입력 패킷의 첫 번째 분할을 전달하는 링크 레이어 패킷에 대해, 해당 필드의 값은 0x0으로 설정될 수 있다. 해당 필드는 분할될 입력 패킷에 속하는 각 추가 세그먼트마다 1씩 증분될 수 있다.
LSI (Last_Segment_Indicator)는 1로 설정되는 경우 해당 페이로드에 있는 분할이 입력 패킷의 마지막 것임을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 그것이 마지막 분할이 아님을 나타낼 수 있다.
SIF (Sub-stream Identifier Flag)는 SID가 HEF 필드 후에 존재하는지 나타낼 수 있는 1비트 필드가 될 수 있다. 링크 레이어 패킷에 SID가 존재하지 않으면, SIF 필드는 0으로 설정될 수 있다. 링크 레이어 패킷에서 HEF 필드 후에 SID가 존재하면, SIF는 1로 설정될 수 있다.
HEF 필드는 1로 설정되는 경우 링크 레이어 헤더의 추후 확장을 위해 추가 헤더 후에 옵셔널 헤더 확장이 존재한다는 것을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 옵셔널 헤더 확장이 존재하지 않는다는 것을 나타낼 수 있다.
실시예에 따라 각 분할된 세그먼트가 동일한 입력 패킷으로부터 생성되었음을 지시하는 패킷 ID 필드가 추가될 수도 있다. 이 필드는 분할된 세그먼트가 순서대로 전송된다면 필요치 않아 생략될 수 있다.
이하, 연쇄(concatenation) 이 활용되는 경우에 있어서 추가 헤더에 대해서 설명한다.
Segmentation_Concatenation (S/C) ="1"인 경우 추가 헤더(tsib10030)가 존재할 수 있다.
Length_MSB는 해당 링크 레이어 패킷에서 바이트 단위의 페이로드 길이의 MSB 비트를 나타낼 수 있는 4비트 필드일 수 있다. 해당 페이로드의 최대 길이는 연쇄를 위해 32767 바이트가 된다. 전술한 바와 마찬가지로 자세한 수치는 변경될 수 있다.
Count 필드는 링크 레이어 패킷에 포함된 패킷의 수를 나타낼 수 있는 필드일 수 있다. 링크 레이어 패킷에 포함된 패킷의 수에 해당하는 2는 해당 필드에 설정될 수 있다. 따라서, 링크 레이어 패킷에서 연쇄된 패킷의 최대값은 9이다. Count 필드가 그 개수를 지시하는 방법은 실시예마다 다를 수 있다. 즉, 1 부터 8 까지의 개수가 지시될 수도 있다.
HEF 필드는 1로 설정되는 경우 링크 레이어 헤더의 향후 확장을 위한 추가 헤더 후에 옵셔널 헤더 확장이 존재한다는 것을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 확장 헤더가 존재하지 않는다는 것을 나타낼 수 있다.
Component_Length는 각 패킷의 바이트 단위 길이를 나타낼 수 있는 12비트 필드일 수 있다. Component_Length 필드는 마지막 컴포넌트 패킷을 제외하고 페이로드에 존재하는 패킷과 같은 순서로 포함된다. 길이 필드의 수는 (Count+1)에 의해 나타낼 수 있다. 실시예에 따라 Count 필드의 값과 같은 수의 길이 필드가 존재할 수도 있다. 링크 레이어 헤더가 홀수의 Component_Length로 구성되는 경우, 네 개의 스터핑 비트가 마지막 Component_Length 필드에 뒤따를 수 있다. 이들 비트는 0으로 설정될 수 있다. 실시예에 따라 마지막 연쇄된 인풋패킷의 길이를 나타내는 Component_Length 필드는 존재하지 않을 수 있다. 이 경우, 마지막 연쇄된 인풋패킷의 길이는 전체 페이로드 길이에서 각 Component_length 필드가 나타내는 값의 합을 뺀 길이로 지시될 수 있다.
이하, 옵셔널 헤더에 대해서 설명한다.
전술한 바와 같이 옵셔널 헤더는 추가 헤더 뒤편에 추가될 수 있다. 옵셔널 헤더 필드는 SID 및/또는 헤더 확장을 포함할 수 있다. SID는 링크 레이어 레벨에서 특정 패킷 스트림을 필터링하는 데 사용된다. SID의 일례는 다수의 서비스를 전달하는 링크 레이어 스트림에서 서비스 식별자의 역할이다. 적용 가능한 경우, 서비스와 서비스에 해당하는 SID 값 사이의 매핑 정보는 SLT에서 제공될 수 있다. 헤더 확장은 향후 사용을 위한 확장 필드를 포함한다. 수신기는 자신이 이해하지 못하는 모든 헤더 확장을 무시할 수 있다.
SID는 링크 레이어 패킷에 대한 서브 스트림 식별자를 나타낼 수 있는 8비트 필드일 수 있다. 옵셔널 헤더 확장이 있으면, SID는 추가 헤더와 옵셔널 헤더 확장 사이에 존재한다.
Header_Extension ()는 아래에 정의된 필드를 포함할 수 있다.
Extension_Type은 Header_Extension ()의 타입을 나타낼 수 있는 8비트 필드일 수 있다.
Extension_Length는 Header_Extension ()의 다음 바이트부터 마지막 바이트까지 카운팅되는 Header Extension ()의 바이트 길이를 나타낼 수 있는 8비트 필드일 수 있다.
Extension_Byte는 Header_Extension ()의 값을 나타내는 바이트일 수 있다.
도 11 은 본 발명의 다른 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
이하, 시그널링 정보를 위한 추가 헤더에 대해서 설명한다.
링크 레이어 시그널링이 어떻게 링크 레이어 패킷에 포함되는지는 다음과 같다. 시그널링 패킷은 베이스 헤더의 Packet_Type 필드가 100과 같을 때 식별된다.
도면(tsib11010)은 시그널링 정보를 위한 추가 헤더를 포함하는 링크 레이어 패킷의 구조를 나타낸다. 링크 레이어 헤더뿐만 아니라, 링크 레이어 패킷은 시그널링 정보를 위한 추가 헤더와 실제 시그널링 데이터 자체의 두 추가 부분으로 구성될 수 있다. 링크 레이어 시그널링 패킷의 총 길이는 링크 레이어 패킷 헤더에 나타낸다.
시그널링 정보를 위한 추가 헤더는 다음의 필드들을 포함할 수 있다. 실시예에 따라 일부 필드는 생략될 수 있다.
Signaling_Type은 시그널링의 타입을 나타낼 수 있는 8비트 필드일 수 있다.
Signaling_Type_Extension은 시그널링의 속성을 나타낼 수 있는 16비트 필드일 수 있다. 해당 필드의 자세한 내용은 시그널링 사양에서 정의될 수 있다.
Signaling_Version은 시그널링의 버전을 나타낼 수 있는 8비트 필드일 수 있다.
Signaling_Format은 시그널링 데이터의 데이터 포맷을 나타낼 수 있는 2비트 필드일 수 있다. 여기서 시그널링 포맷이란 바이너리, XML 등의 데이터 포맷을 의미할 수 있다.
Signaling_Encoding은 인코딩/컴프레션 포맷을 특정할 수 있는 2비트 필드일 수 있다. 본 필드는 컴프레션이 수행되지 않았는지, 어떤 특정한 컴프레션이 수행되었는지를 지시할 수 있다.
이하, 패킷 타입 확장을 위한 추가 헤더에 대해서 설명한다.
추후에 링크 레이어에 의해 전달되는 패킷 타입 및 추가 프로토콜의 무제한에 가까운 수를 허용하는 메커니즘을 제공하기 위해, 추가 헤더가 정의된다. 전술한 바와 같이 베이스 헤더에서 Packet_type이 111인 경우 패킷 타입 확장이 사용될 수 있다. 도면(tsib11020)은 타입 확장을 위한 추가 헤더를 포함하는 링크 레이어 패킷의 구조를 나타낸다.
타입 확장을 위한 추가 헤더는 다음의 필드들을 포함할 수 있다. 실시예에 따라 일부 필드는 생략될 수 있다.
extended_type은 페이로드로서 링크 레이어 패킷으로 인캡슐레이션되는 입력의 프로토콜이나 패킷 타입을 나타낼 수 있는 16비트 필드일 수 있다. 해당 필드는 Packet_Type 필드에 의해 이미 정의된 모든 프로토콜이나 패킷 타입에 대해 사용될 수 없다.
도 12 은 본 발명의 일 실시예에 따른, MPEG-2 TS 패킷을 위한 링크 레이어 패킷의 헤더 구조와, 그 인캡슐레이션 과정을 도시한 도면이다.
이하, 입력 패킷으로 MPEG-2 TS 패킷이 입력되었을 때, 링크 레이어 패킷 포맷에 대해서 설명한다.
이 경우, 베이스 헤더의 Packet_Type 필드는 010과 동일하다. 각 링크 레이어 패킷 내에서 다수의 TS 패킷이 인캡슐레이션 될 수 있다. TS 패킷의 수는 NUMTS 필드를 통해 시그널링 될 수 있다. 이 경우, 전술한 바와 같이, 특별한 링크 레이어 패킷 헤더 포맷이 사용될 수 있다.
링크 레이어는 전송 효율을 향상시키기 위해 MPEG-2 TS를 위한 오버헤드 리덕션 메커니즘을 제공한다. 각 TS 패킷의 싱크 바이트(0x47)는 삭제될 수 있다. 널 패킷 및 유사한 TS 헤더를 삭제하는 옵션 또한 제공된다.
불필요한 전송 오버헤드를 피하기 위해, TS 널 패킷(PID = 0x1FFF)이 제거될 수 있다. 삭제된 널 패킷은 DNP 필드를 이용하여 수신기 측에서 복구될 수 있다. DNP 필드는 삭제된 널 패킷의 카운트를 나타낸다. DNP 필드를 이용한 널 패킷 삭제 메커니즘은 아래에서 설명한다.
전송 효율을 더욱 향상시키기 위해, MPEG-2 TS 패킷의 유사한 헤더가 제거될 수 있다. 두 개 이상의 순차적인 TS 패킷이 순차적으로 CC (continuity counter) 필드를 증가시키고 다른 헤더 필드도 동일하면, 헤더가 첫 번째 패킷에서 한 번 전송되고 다른 헤더는 삭제된다. HDM 필드는 헤더가 삭제되었는지 여부를 나타낼 수 있다. 공통 TS 헤더 삭제의 상세한 과정은 아래에 설명한다.
세 가지 오버헤드 리덕션 메커니즘이 모두 실행되는 경우, 오버헤드 리덕션은 싱크 제거, 널 패킷 삭제, 공통 헤더 삭제의 순으로 실행될 수 있다. 실시예에 따라 각 메커니즘이 수행되는 순서는 바뀔 수 있다. 또한, 실시예에 따라 일부 메커니즘은 생략될 수 있다.
MPEG-2 TS 패킷 인캡슐레이션을 사용하는 경우 링크 레이어 패킷 헤더의 전체적인 구조가 도면(tsib12010)에 도시된다.
이하, 도시된 각 필드에 대해서 설명한다. Packet_Type은 전술한 바와 같이 입력 패킷의 프로토콜 타입을 나타낼 수 있는 3비트 필드일 수 있다. MPEG-2 TS 패킷 인캡슐레이션을 위해, 해당 필드는 항상 010으로 설정될 수 있다.
NUMTS (Number of TS packets)는 해당 링크 레이어 패킷의 페이로드에서 TS 패킷의 수를 나타낼 수 있는 4비트 필드일 수 있다. 최대 16개의 TS 패킷이 하나의 링크 레이어 패킷에서 지원될 수 있다. NUMTS = 0의 값은 16개의 TS 패킷이 링크 레이어 패킷의 페이로드에 의해 전달된다는 것을 나타낼 수 있다. NUMTS의 다른 모든 값에 대해, 같은 수의 TS 패킷이 인식된다. 예를 들면, NUMTS = 0001은 하나의 TS 패킷이 전달되는 것을 의미한다.
AHF (additional header flag)는 추가 헤더가 존재하는지 여부를 나타낼 수 있는 필드일 수 있다. 0의 값은 추가 헤더가 존재하지 않는다는 것을 나타낸다. 1의 값은 1바이트 길이의 추가 헤더가 베이스 헤더 다음에 존재한다는 것을 나타낸다. 널 TS 패킷이 삭제되거나 TS 헤더 컴프레션이 적용되면, 해당 필드는 1로 설정될 수 있다. TS 패킷 인캡슐레이션을 위한 추가 헤더는 다음의 두 개의 필드로 구성되고 해당 링크 레이어 패킷에서의 AHF의 값이 1로 설정되는 경우에만 존재한다.
HDM (header deletion mode)은 TS 헤더 삭제가 해당 링크 레이어 패킷에 적용될 수 있는지 여부를 나타내는 1비트 필드일 수 있다. 1의 값은 TS 헤더 삭제가 적용될 수 있다는 것을 나타낸다. 0의 값은 TS 헤더 삭제 방법이 해당 링크 레이어 패킷에 적용되는 않는다는 것을 나타낸다.
DNP (deleted null packets)는 해당 링크 레이어 패킷 전에 삭제된 널 TS 패킷의 수를 나타내는 7비트 필드일 수 있다. 최대 128개의 널 TS 패킷이 삭제될 수 있다. HDM = 0인 경우, DNP = 0의 값은 128개의 널 패킷이 삭제된다는 것을 나타낼 수 있다. HDM = 1인 경우, DNP = 0의 값은 널 패킷이 삭제되지 않는다는 것을 나타낼 수 있다. DNP의 다른 모든 값에 대해, 같은 수의 널 패킷이 인식된다. 예를 들면, DNP = 5는 5개의 널 패킷이 삭제된다는 것을 의미한다.
전술한 각 필드의 비트 수들은 변경될 수 있으며, 변경된 비트 수에 따라 그 해당 필드가 지시하는 값의 최소/최대값은 변경될 수 있다. 이는 설계자의 의도에 따라 변경될 수 있다.
이하 싱크 바이트 삭제(SYNC byte removal) 에 대해서 설명한다.
TS 패킷을 링크 레이어 패킷의 페이로드로 캡슐화하는 경우, 각 TS 패킷의 시작부터 싱크 바이트(0x47)가 삭제될 수 있다. 따라서 링크 레이어 패킷의 페이로드로 캡슐화된 MPEG2-TS 패킷의 길이는 (원래의 188 바이트 대신) 항상 187 바이트이다.
이하, 널 패킷 삭제(Null Packet Deletion) 에 대해서 설명한다.
전송 스트림 규칙은 송신기의 멀티플렉서의 출력 및 수신기의 디멀티플렉서의 입력에서의 비트 레이트가 시간에 대해 일정하며 종단간 지연 또한 일정할 것을 요구한다. 일부 전송 스트림 입력 신호에 대해, 널 패킷은 일정한 비트레이스 스트림에 가변적인 비트레이트 서비스를 수용하기 위해 존재할 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, TS 널 패킷 (즉, PID = 0x1FFF인 TS 패킷)이 제거될 수 있다. 이 처리는 제거된 널 패킷이 수신기에서 원래의 정확한 자리에 다시 삽입될 수 있는 방식으로 실행되므로, 일정한 비트레이트를 보장하고 PCR 타임 스탬프 업데이트를 할 필요가 없어진다.
링크 레이어 패킷의 생성 전에, DNP라 불리는 카운터는 우선 0으로 리셋된 후에 현재 링크 레이어 패킷의 페이로드에 인캡슐레이션 될 첫 번째 널 TS 패킷이 아닌 패킷에 앞서는 각 삭제된 널 패킷에 대해 증분될 수 있다. 그 후 연속된 유용한 TS 패킷의 그룹이 현재의 링크 레이어 페킷의 페이로드에 인캡슐레이션되고, 그 헤더에서의 각 필드의 값이 결정될 수 있다. 생성된 링크 레이어 패킷이 피지컬 레이어에 주입된 후, DNP는 0으로 리셋된다. DNP가 최고 허용치에 도달하는 경우, 다음 패킷 또한 널 패킷이면, 해당 널 패킷은 유용한 패킷으로 유지되며 다음 링크 레이어 패킷의 페이로드에 인캡슐레이션된다. 각 링크 레이어 패킷은 그것의 페이로드에 적어도 하나의 유용한 TS 패킷을 포함할 수 있다.
이하, TS 패킷 헤더 삭제(TS Packet Header Deletion) 에 대해서 설명한다. TS 패킷 헤더 삭제는 TS 패킷 헤더 압축으로 불릴 수도 있다.
두 개 이상의 순차적인 TS 패킷이 순차적으로 CC 필드를 증가시키고 다른 헤더 필드도 동일하면, 헤더가 첫 번째 패킷에서 한 번 전송되고 다른 헤더는 삭제된다. 중복된 MPEG-2 TS 패킷이 두 개 이상의 순차적인 TS 패킷에 포함되면, 헤더 삭제는 송신기 측에서 적용될 수 없다. HDM 필드는 헤더가 삭제되는지 여부를 나타낼 수 있다. TS 헤더가 삭제되는 경우, HDM은 1로 설정될 수 있다. 수신기 측에서, 첫 번째 패킷 헤더를 이용하여, 삭제된 패킷 헤더가 복구되고, CC가 첫 번째 헤더부터 순서대로 증가됨으로써 복구된다.
도시된 실시예(tsib12020)는, TS 패킷의 인풋 스트림이 링크 레이어 패킷으로 인캡슐레이션되는 과정의 일 실시예이다. 먼저 SYNC 바이트(0x47)을 가지는 TS 패킷들로 이뤄진 TS 스트림이 입력될 수 있다. 먼저 SYNC 바이트 삭제과정을 통해 싱크 바이트들이 삭제될 수 있다. 이 실시예에서 널 패킷 삭제는 수행되지 않은 것으로 가정한다.
여기서, 도시된 8개의 TS 패킷의 패킷 헤더에서, CC 즉 Countinuity Counter 필드 값을 제외한 다른 값들이 모두 같다고 가정한다. 이 경우, TS 패킷 삭제/압축이 수행될 수 있다. CC = 1 인 첫번째 TS 패킷의 헤더만 남기고, 나머지 7개의 TS 패킷 헤더를 삭제한다. 처리된 TS 패킷들은 링크 레이어 패킷의 페이로드에 인캡슐레이션 될 수 있다.
완성된 링크 레이어 패킷을 보면, Packet_Type 필드는 TS 패킷이 입력된 경우이므로 010 의 값을 가질 수 있다. NUMTS 필드는 인캡슐레이션된 TS 패킷의 개수를 지시할 수 있다. AHF 필드는 패킷 헤더 삭제가 수행되었으므로 1 로 설정되어 추가 헤더의 존재를 알릴 수 있다. HDM 필드는 헤더 삭제가 수행되었으므로 1 로 설정될 수 있다. DNP 는 널 패킷 삭제가 수행되지 않았으므로 0 으로 설정될 수 있다.
도 13 는 본 발명의 일 실시예에 따른 IP 헤더 압축에 있어서, 어댑테이션 모드들의 실시예를 도시한 도면이다(송신측).
이하, IP 헤더 압축(IP Header Compression) 에 대해서 설명한다.
링크 레이어에서, IP 헤더 컴프레션/디컴프레션 스킴이 제공될 수 있다. IP 헤더 컴프레션은 헤더 컴프레서/디컴프레서 및 어댑테이션 모듈의 두 부분을 포함할 수 있다. 헤더 컴프레션 스킴은 RoHC에 기초할 수 있다. 또한, 방송 용도로 어댑테이션 기능이 추가된다.
송신기 측에서, RoHC 컴프레서는 각 패킷에 대해 헤더의 크기를 감소시킨다. 그 후, 어댑테이션 모듈은 컨텍스트 정보를 추출하고 각 패킷 스트림으로부터 시그널링 정보를 생성한다. 수신기 측에서, 어댑테이션 모듈은 수신된 패킷 스트림과 관련된 시그널링 정보를 파싱하고 컨텍스트 정보를 수신된 패킷 스트림에 첨부한다. RoHC 디컴프레서는 패킷 헤더를 복구함으로써 원래의 IP 패킷을 재구성한다.
헤더 컴프레션 스킴은 전술한 바와 같이 ROHC 를 기반으로 할 수 있다. 특히, 본 시스템에서는 ROHC 의 U 모드(uni dirctional mode) 에서 ROHC 프레임워크가 동작할 수 있다. 또한, 본 시스템에서 0x0002 의 프로파일 식별자로 식별되는 ROHC UDP 헤더 컴프레션 프로파일이 사용될 수 있다.
이하, 어댑테이션(Adaptation) 에 대해서 설명한다.
단방향 링크를 통한 전송의 경우, 수신기가 컨텍스트의 정보를 갖고 있지 않으면, 디컴프레서는 완전한 컨텍스트를 수신할 때까지 수신된 패킷 헤더를 복구할 수 없다. 이는 채널 변경 지연 및 턴 온 딜레이 (turn-on delay)를 초래할 수 있다. 이러한 이유로, 컴프레서와 디컴프레서 사이의 컨피규레이션 파라미터와 컨텍스트 정보는 항상 패킷 플로우와 함께 전송될 수 있다.
어댑테이션 기능은 컨피규레이션 파라미터와 컨텍스트 정보의 대역 외 전송을 제공한다. 대역 외 전송은 링크 레이어 시그널링을 통해 이루어질 수 있다. 따라서, 어댑테이션 기능은 컨텍스트 정보의 손실로 인한 디컴프레션 에러 및 채널 변경 지연을 줄이기 위해 이용된다.
이하, 컨텍스트 정보(Context Information) 의 추출에 대해서 설명한다.
컨텍스트 정보의 추출은 어댑테이션 모드에 따라 다양한 방법으로 실시될 수 있다. 본 발명에서는 이하 3가지 실시예에 대해서 설명한다. 본 발명의 범위는 후술할 어댑테이션 모드의 실시예들에 한정되지 아니한다. 여기서 어댑테이션 모드는 컨텍스트 추출 모드라고 불릴 수도 있다.
어댑테이션 모드 1 (도시되지 않음) 은 기본적인 ROHC 패킷 스트림에 대해서 어떠한 추가적인 동작이 가해지지 않는 모드일 수 있다. 즉, 이 모드에서 어댑테이션 모듈은 버퍼로서 동작할 수 있다. 따라서, 이 모드에서는 링크 레이어 시그널링에 컨텍스트 정보가 있지 않을 수 있다.
어댑테이션 모드 2 (tsib13010)에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 패킷을 검출하고 컨텍스트 정보 (스태틱 체인)를 추출할 수 있다. 컨텍스트 정보를 추출한 후에, 각 IR 패킷은 IR-DYN 패킷으로 전환될 수 있다. 전환된 IR-DYN 패킷은 원래의 패킷을 대체하여 IR 패킷과 같은 순서로 RoHC 패킷 플로우 내에 포함되어 전송될 수 있다.
어댑테이션 모드 3 (tsib13020)에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 및 IR-DYN 패킷을 검출하고 컨텍스트 정보를 추출할 수 있다. 스태틱 체인 및 다이네믹 체인은 IR 패킷으로부터 추출될 수 있고, 다이네믹 체인은 IR-DYN 패킷으로부터 추출될 수 있다. 컨텍스트 정보를 추출한 후에, 각각의 IR 및 IR-DYN 패킷은 압축된 패킷으로 전환될 수 있다. 압축된 패킷 포맷은 IR 또는 IR-DYN 패킷의 다음 패킷과 동일할 수 있다. 전환된 압축 패킷은 원래의 패킷을 대체하여 IR 또는 IR-DYN 패킷과 같은 순서로 RoHC 패킷 플로우 내에 포함되어 전송될 수 있다.
시그널링 (컨텍스트) 정보는 전송 구조에 근거하여 인캡슐레이션 될 수 있다. 예를 들면, 컨텍스트 정보는 링크 레이어 시그널링로 인캡슐레이션 될 수 있다. 이 경우, 패킷 타입 값은 100으로 설정될 수 있다.
전술한 어댑테이션 모드 2, 3 에 대하여, 컨텍스트 정보에 대한 링크 레이어 패킷은 100 의 Packet Type 필드 값을 가질 수 있다. 또한 압축된 IP 패킷들에 대한 링크 레이어 패킷은 001 의 Packet Type 필드 값을 가질 수 있다. 이는 각각 시그널링 정보, 압축된 IP 패킷이 링크 레이어 패킷에 포함되어 있음을 지시하는 것으로, 전술한 바와 같다.
이하, 추출된 컨텍스트 정보를 전송하는 방법에 대해서 설명한다.
추출된 컨텍스트 정보는 특정 피지컬 데이터 경로를 통해 시그널링 데이터와 함께 RoHC 패킷 플로우와 별도로 전송될 수 있다. 컨텍스트의 전송은 피지컬 레이어 경로의 구성에 의존한다. 컨텍스트 정보는 시그널링 데이터 파이프를 통해 다른 링크 레이어 시그널링과 함께 전송될 수 있다.
즉, 컨텍스트 정보를 가지는 링크 레이어 패킷은 다른 링크 레이어 시그널링 정보를 가지는 링크 레이어 패킷들과 함께 시그널링 PLP 로 전송될 수 있다(Packet_Type = 100). 컨텍스트 정보가 추출된 압축 IP 패킷들은 일반적인 PLP 로 전송될 수 있다(Packet_Type = 001). 여기서 실시예에 따라, 시그널링 PLP 는 L1 시그널링 패쓰(path)를 의미할 수 있다. 또한 실시예에 따라 시그널링 PLP 는 일반적인 PLP 와 구분되지 않고, 시그널링 정보가 전송되는 특정한 일반 PLP 를 의미할 수도 있다.
수신측에서는, 패킷 스트림을 수신하기에 앞서, 수신기가 시그널링 정보를 얻어야 할 수 있다. 수신기가 시그널링 정보를 획득하기 위해 첫 PLP를 디코딩하면, 컨텍스트 시그널링도 수신될 수 있다. 시그널링 획득이 이루어진 후, 패킷 스트림을 수신하기 위한 PLP가 선택될 수 있다. 즉, 수신기는 먼저 이니셜 PLP 를 선택해 컨텍스트 정보를 비롯한 시그널링 정보를 얻을 수 있다. 여기서 이니셜 PLP 는 전술한 시그널링 PLP 일 수 있다. 이 후, 수신기는 패킷 스트림을 얻기 위한 PLP 를 선택할 수 있다. 이를 통하여 컨텍스트 정보는 패킷 스트림의 수신에 앞서 획득될 수 있다.
패킷 스트림을 얻기 위한 PLP 가 선택된 후, 어댑테이션 모듈은 수신된 패킷 플로우로부터 IR-DYN 패킷을 검출할 수 있다. 그 후, 어댑테이션 모듈은 시그널링 데이터에서 컨텍스트 정보로부터 스태틱 체인을 파싱한다. 이는 IR 패킷을 수신하는 것과 유사하다. 동일한 컨텍스트 식별자에 대해, IR-DYN 패킷은 IR 패킷으로 복구될 수 있다. 복구된 RoHC 패킷 플로우는 RoHC 디컴프레서로 보내질 수 있다. 이후 디컴프레션이 시작될 수 있다.
도 14 은 본 발명의 일 실시예에 따른 LMT(Link Mapping Table) 및 ROHC-U 디스크립션 테이블을 도시한 도면이다.
이하, 링크 레이어 시그널링에 대해서 설명한다.
주로, 링크 레이어 시그널링은 IP 레벨 하에서 동작한다. 수신기 측에서, 링크 레이어 시그널링은 SLT 및 SLS와 같은 IP 레벨 시그널링보다 먼저 획득될 수 있다. 따라서 링크 레이어 시그널링은 세션 설정 이전에 획득될 수 있다.
링크 레이어 시그널링에 대해, 입력 경로에 따라 인터널 링크 레이어 시그널링 및 익스터널 링크 레이어 시그널링의 두 종류의 시그널링이 존재할 수 있다. 인터널 링크 레이어 시그널링은 송신기 측에서 링크 레이어에서 생성된다. 또한 링크 레이어는 외부 모듈 또는 프로토콜로부터 시그널링을 취한다. 이러한 종류의 시그널링 정보는 익스터널 링크 레이어 시그널링이라고 간주된다. 일부 시그널링이 IP 레벨 시그널링에 앞서 획득될 필요가 있으면, 외부 시그널링은 링크 레이어 패킷의 포맷으로 전송된다.
링크 레이어 시그널링은 전술한 바와 같이 링크 레이어 패킷으로 인캡슐레이션 될 수 있다. 링크 레이어 패킷은 바이너리 및 XML을 포함한 모든 포맷의 링크 레이어 시그널링을 전달할 수 있다. 동일한 시그널링 정보가 링크 레이어 시그널링에 대해 다른 포맷으로 전송될 수 있다.
인터널 링크 레이어 시그널링에는, 링크 매핑을 위한 시그널링 정보가 포함될 수 있다. LMT는 PLP에 전달되는 상위 레이어 세션의 리스트를 제공한다. LMT는 또한 링크 레이어에서 상위 레이어 세션을 전달하는 링크 레이어 패킷을 처리하기 위한 추가 정보를 제공한다.
본 발명에 따른 LMT 의 일 실시예(tsib14010)가 도시되었다.
signaling_type은 해당 테이블에 의해 전달되는 시그널링의 타입을 나타내는 8비트의 무부호 정수 필드일 수 있다. LMT에 대한 signaling_type 필드의 값은 0x01로 설정될 수 있다.
PLP_ID는 해당 테이블에 해당하는 PLP를 나타내는 8비트 필드일 수 있다.
num_session은 상기 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 개수를 제공하는 8비트의 무부호 정수 필드일 수 있다. signaling_type 필드의 값이 0x01이면, 해당 필드는 PLP에서 UDP/IP 세션의 개수를 나타낼 수 있다.
src_IP_add는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 소스 IP 어드레스를 포함하는 32비트의 무부호 정수 필드일 수 있다.
dst_IP_add는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 데스티네이션 IP 어드레스를 포함하는 32비트의 무부호 정수 필드일 수 있다.
src_UDP_port는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 소스 UDP 포트 넘버를 나타내는 16비트의 무부호 정수 필드일 수 있다.
dst_UDP_port는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 데스티네이션 UDP 포트 넘버를 나타내는 16비트의 무부호 정수 필드일 수 있다.
SID_flag는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖는지 여부를 나타내는 1비트의 부울 필드일 수 있다. 해당 필드의 값이 0으로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖지 않을 수 있다. 해당 필드의 값이 1로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 가질 수 있고, SID 필드의 값이 해당 테이블에서 다음 SID 필드와 동일할 수 있다.
compressed_flag는 헤더 컴프레션이 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷에 적용되는지 여부를 나타내는 1비트 부울 필드일 수 있다. 해당 필드의 값이 0으로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 베이스 헤더에 Packet_Type 필드의 0x00의 값을 가질 수 있다. 해당 필드의 값이 1로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 베이스 헤더에 Packet_Type 필드의 0x01의 값을 가질 수 있고 Context_ID 필드가 존재할 수 있다.
SID는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷에 대한 서브 스트림 식별자를 나타내는 8비트의 무부호 정수 필드일 수 있다. 해당 필드는 SID_flag의 값이 1과 같을 때 존재할 수 있다.
context_id는 ROHC-U 디스크립션 테이블에 제공된 CID(context id)에 대한 레퍼런스를 제공하는 8비트 필드일 수 있다. 해당 필드는 compressed_flag의 값이 1과 같을 때 존재할 수 있다.
본 발명에 따른 ROHC-U 디스크립션 테이블의 일 실시예(tsib14020)가 도시되었다. 전술한 바와 같이 ROHC-U 어댑테이션 모듈은 헤더 컴프레션에 관련된 정보들을 생성할 수 있다.
signaling_type은 해당 테이블에 의해 전달되는 시그널링의 타입을 나타내는 8비트 필드일 수 있다. ROHC-U 디스크립션 테이블에 대한 signaling_type 필드의 값은 "0x02"로 설정될 수 있다.
PLP_ID는 해당 테이블에 해당하는 PLP를 나타내는 8비트 필드일 수 있다.
context_id는 압축된 IP 스트림의 CID를 나타내는 8비트 필드일 수 있다. 해당 시스템에서, 8비트의 CID는 큰 CID를 위해 사용될 수 있다.
context_profile은 스트림을 압축하기 위해 사용되는 프로토콜의 범위를 나타내는 8비트 필드일 수 있다. 해당 필드는 생략될 수 있다.
adaptation_mode는 해당 PLP에서 어댑테이션 모듈의 모드를 나타내는 2비트 필드일 수 있다. 어댑테이션 모드에 대해서는 전술하였다.
context_config는 컨텍스트 정보의 조합을 나타내는 2비트 필드일 수 있다. 해당 테이블에 컨텍스트 정보가 존재하지 않으면, 해당 필드는 '0x0'으로 설정될 수 있다. 해당 테이블에 static_chain() 또는 dynamic_chain() 바이트가 포함되면, 해당 필드는 '0x01' 또는 '0x02'로 설정될 수 있다. 해당 테이블에 static_chain() 및 dynamic_chain() 바이트가 모두 포함되면, 해당 필드는 '0x03'으로 설정될 수 있다.
context_length는 스태틱 체인 바이트 시퀀스의 길이를 나타내는 8비트 필드일 수 있다. 해당 필드는 생략될 수 있다.
static_chain_byte ()는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 스태틱 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 컨텍스트 프로파일에 의존한다.
dynamic_chain_byte ()는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 다이네믹 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 컨텍스트 프로파일에 의존한다.
static_chain_byte는 IR 패킷의 서브 헤더 정보로 정의될 수 있다. dynamic_chain_byte는 IR 패킷 및 IR-DYN 패킷의 서브 헤더 정보로 정의될 수 있다.
도 15 은 본 발명의 일 실시예에 따른 송신기 측의 링크 레이어 구조를 도시한 도면이다.
본 실시예는 IP 패킷을 처리하는 것을 가정한 실시예이다. 송신기 측의 링크 레이어는 기능적인 관점에서 볼 때, 크게 시그널링 정보를 처리하는 링크 레이어 시그널링 부분, 오버헤드 리덕션 부분, 및/또는 인캡슐레이션 부분을 포함할 수 있다. 또한, 송신기 측의 링크 레이어는 링크 레이어 전체 동작에 대한 제어 및 스케쥴링을 위한 스케쥴러 및/또는 링크 레이어의 입,출력 부분 등을 포함할 수 있다.
먼저, 상위 레이어의 시그널링 정보 및/또는 시스템 파라미터(tsib15010)가 링크 레이어에 전달될 수 있다. 또한, IP 레이어(tsib15110)로부터 IP 패킷들을 포함하는 IP 스트림이 링크 레이어에 전달될 수 있다.
스케쥴러(tsib15020)는 전술한 바와 같이 링크 레이어에 포함된 여러 모듈들의 동작을 결정하고 제어하는 역할을 할 수 있다. 전달된 시그널링 정보 및/또는 시스템 파라미터(tsib15010) 는 스케쥴러(tsib15020)에 의해 필터링되거나 활용될 수 있다. 전달된 시그널링 정보 및/또는 시스템 파라미터(tsib15010) 중, 수신기에서 필요한 정보는 링크 레이어 시그널링 부분으로 전달될 수 있다. 또한 시그널링 정보 중 링크 레이어의 동작에 필요한 정보는 오버헤드 리덕션 컨트롤(tsib15120) 또는 인캡슐레이션 컨트롤(tsib15180)으로 전달될 수도 있다.
링크 레이어 시그널링 부분은, 피지컬 레이어에서 시그널링으로서 전송될 정보를 수집하고, 이를 전송에 적합한 형태로 변환/구성하는 역할을 수행할 수 있다. 링크 레이어 시그너널링 부분은 시그널링 매니저(tsib15030), 시그널링 포매터(tsib15040), 및/또는 채널을 위한 버퍼(tsib15050)을 포함할 수 있다.
시그널링 매니저(tsib15030)는 스케쥴러(tsib15020)으로부터 전달받은 시그널링 정보 및/또는 오버헤드 리덕션 부분으로부터 전달받은 시그널링 및/또는 컨텍스트(context) 정보를 입력받을 수 있다. 시그널링 매니저(tsib15030)는 전달받은 데이터들에 대하여, 각 시그널링 정보가 전송되어야할 경로를 결정할 수 있다. 각 시그널링 정보는 시그널링 매니저(tsib15030)에 의해 결정된 경로로 전달될 수 있다. 전술한 바와 같이 FIC, EAS 등의 구분된 채널로 전송될 시그널링 정보들은 시그널링 포매터(tsib15040)으로 전달될 수 있고, 그 밖의 시그널링 정보들은 인캡슐레이션 버퍼(tsib15070)으로 전달될 수 있다.
시그널링 포매터(tsib15040)는 별도로 구분된 채널을 통해 시그널링 정보가 전송될 수 있도록, 관련된 시그널링 정보를 각 구분된 채널에 맞는 형태로 포맷하는 역할을 할 수 있다. 전술한 바와 같이 피지컬 레이어에는 물리적/논리적으로 구분된 별도의 채널이 있을 수 있다. 이 구분된 채널들은 FIC 시그널링 정보나, EAS 관련 정보를 전송하는데 사용될 수 있다. FIC 또는 EAS 관련 정보는 시그널링 매니저(tsib15030)에 의해 분류되어 시그널링 포매터(tsib15040)로 입력될 수 있다. 시그널링 포매터(tsib15040)은 각 정보들을, 각자의 별도 채널에 맞게 포맷팅할 수 있다. FIC, EAS 이외에도, 피지컬 레이어가 특정 시그널링 정보를 별도의 구분된 채널을 통해 전송하는 것으로 설계된 경우에는, 그 특정 시그널링 정보를 위한 시그널링 포매터가 추가될 수 있다. 이러한 방식을 통하여, 링크 레이어가 다양한 피지컬 레이어에 대하여 호환가능해질 수 있다.
채널을 위한 버퍼(tsib15050)들은 시그널링 포매터(tsib15040)으로부터 전달받은 시그널링 정보들을, 지정된 별도의 채널(tsib15060)로 전달하는 역할을 할 수 있다. 별도의 채널들의 개수, 내용은 실시예에 따라 달라질 수 있다.
전술한 바와 같이, 시그널링 매니저(tsib15030)은 특정 채널로 전달되지 않는 시그널링 정보를 인캡슐레이션 버퍼(tsib15070)으로 전달할 수 있다. 인캡슐레이션 버퍼(tsib15070)는 특정 채널로 전달되지 않는 시그널링 정보를 전달받는 버퍼 역할을 할 수 있다.
시그널링 정보를 위한 인캡슐레이션(tsib15080)은 특정 채널로 전달되지 않는 시그널링 정보에 대하여 인캡슐레이션을 수행할 수 있다. 트랜스미션 버퍼(tsib15090)은 인캡슐레이션 된 시그널링 정보를, 시그널링 정보를 위한 DP(tsib15100) 로 전달하는 버퍼 역할을 할 수 있다. 여기서, 시그널링 정보를 위한 DP(tsib15100)은 전술한 PLS 영역을 의미할 수 있다.
오버헤드 리덕션 부분은 링크 레이어에 전달되는 패킷들의 오버헤드를 제거하여, 효율적인 전송이 가능하게 할 수 있다. 오버헤드 리덕션 부분은 링크 레이어에 입력되는 IP 스트림의 수만큼 구성될 수 있다.
오버헤드 리덕션 버퍼(tsib15130)는 상위 레이어로부터 전달된 IP 패킷을 입력받는 역할을 할 수 있다. 전달받은 IP 패킷은 오버헤드 리덕션 버퍼(tsib15130)를 통해 오버헤드 리덕션 부분으로 입력될 수 있다.
오버헤드 리덕션 컨트롤(tsib15120)은 오버헤드 리덕션 버퍼(tsib15130)로 입력되는 패킷 스트림에 대하여 오버헤드 리덕션을 수행할지 여부를 결정할 수 있다. 오버헤드 리덕션 컨트롤(tsib15120)은 패킷 스트림별로 오버헤드 리덕션 수행여부를 결정할 수 있다. 패킷 스트림에 오버헤드 리덕션이 수행되는 경우 RoHC 컴프레셔(tsib15140)으로 패킷들이 전달되어 오버헤드 리덕션이 수행될 수 있다. 패킷 스트림에 오버헤드 리덕션이 수행되지 않는 경우, 인캡슐레이션 부분으로 패킷들이 전달되어 오버헤드 리덕션 없이 인캡슐레이션이 진행될 수 있다. 패킷들의 오버헤드 리덕션 수행여부는 링크 레이어로 전달된 시그널링 정보들(tsib15010)에 의해 결정될 수 있다. 이 시그널링 정보들은 스케쥴러(tsib15020)에 의해 오버헤드 리덕션 컨트롤(tsib15180)으로 전달될 수 있다.
RoHC 컴프레셔(tsib15140) 은 패킷 스트림에 대하여 오버헤드 리덕션을 수행할 수 있다. RoHC 컴프레셔(tsib15140) 은 패킷들의 헤더를 압축하는 동작을 수행할 수 있다. 오버헤드 리덕션에는 다양한 방법들이 사용될 수 있다. 전술한, 본 발명이 제안한 방법들에 의하여 오버헤드 리덕션이 수행될 수 있다. 본 실시예는 IP 스트림을 가정했는 바, RoHC 컴프레셔라고 표현되었으나, 실시예에 따라 명칭은 변경될 수 있으며, 동작도 IP 스트림의 압축에 국한되지 아니하고, 모든 종류의 패킷들의 오버헤드 리덕션이 RoHC 컴프레셔(tsib15140)에 의해 수행될 수 있다.
패킷 스트림 컨피규레이션 블럭(tsib15150)은 헤더가 압축된 IP 패킷들 중에서, 시그널링 영역으로 전송될 정보와 패킷 스트림으로 전송될 정보를 분리할 수 있다. 패킷 스트림으로 전송될 정보란 DP 영역으로 전송될 정보를 의미할 수 있다. 시그널링 영역으로 전송될 정보는 시그널링 및/또는 컨텍스트 컨트롤(tsib15160)으로 전달될 수 있다. 패킷 스트림으로 전송될 정보는 인캡슐레이션 부분으로 전송될 수 있다.
시그널링 및/또는 컨텍스트 컨트롤(tsib15160)은 시그널링 및/또는 컨텍스트(context) 정보를 수집하고 이를 시그널링 매니저로 전달할 수 있다. 시그널링 및/또는 컨텍스트 정보를 시그널링 영역으로 전송하기 위함이다.
인캡슐레이션 부분은, 패킷들을 피지컬 레이어로 전달하기 적합한 형태로 인캡슐레이팅하는 동작을 수행할 수 있다. 인캡슐레이션 부분은 IP 스트림의 수만큼 구성될 수 있다.
인캡슐레이션 버퍼(tsib15170) 은 인캡슐레이션을 위해 패킷 스트림을 입력받는 역할을 할 수 있다. 오버헤드 리덕션이 수행된 경우 오버헤드 리덕션된 패킷들을, 오버헤드 리덕션이 수행되지 않은 경우 입력받은 IP 패킷 그대로를 입력받을 수 있다.
인캡슐레이션 컨트롤(tsib15180) 은 입력된 패킷 스트림에 대하여 인캡슐레이션을 수행할지 여부를 결정할 수 있다. 인캡슐레이션이 수행되는 경우 패킷 스트림은 세그멘테이션/컨케테네이션(tsib15190)으로 전달될 수 있다. 인캡슐레이션이 수행되지 않는 경우 패킷 스트림은 트랜스미션 버퍼(tsib15230)으로 전달될 수 있다. 패킷들의 인캡슐레이션의 수행여부는 링크 레이어로 전달된 시그널링 정보들(tsib15010)에 의해 결정될 수 있다. 이 시그널링 정보들은 스케쥴러(tsib15020)에 의해 인캡슐레이션 컨트롤(tsib15180)으로 전달될 수 있다.
세그멘테이션/컨케테네이션(tsib15190)에서는, 패킷들에 대하여 전술한 세그멘테이션 또는 컨케테네이션 작업이 수행될 수 있다. 즉, 입력된 IP 패킷이 링크 레이어의 출력인 링크 레이어 패킷보다 길 경우, 하나의 IP 패킷을 분할하여 여러 개의 세그멘트로 나누어 복수개의 링크 레이어 패킷 페이로드를 만들 수 있다. 또한, 입력된 IP 패킷이 링크 레이어의 출력인 링크 레이어 패킷보다 짧을 경우, 여러 개의 IP 패킷을 이어붙여 하나의 링크 레이어 패킷 페이로드를 만들 수 있다.
패킷 컨피규레이션 테이블(tsib15200)은, 세그멘테이션 및/또는 컨케테네이션된 링크 레이어 패킷의 구성 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보는 송신기와 수신기가 같은 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보가 송신기와 수신기에서 참조될 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보의 인덱스 값이 해당 링크 레이어 패킷의 헤더에 포함될 수 있다.
링크 레이어 헤더 정보 블락(tsib15210)은 인캡슐레이션 과정에서 발생하는 헤더 정보를 수집할 수 있다. 또한, 링크 레이어 헤더 정보 블락(tsib15210)은 패킷 컨피규레이션 테이블(tsib15200)이 가지는 정보를 수집할 수 있다. 링크 레이어 헤더 정보 블락(tsib15210)은 링크 레이어 패킷의 헤더 구조에 따라 헤더 정보를 구성할 수 있다.
헤더 어태치먼트(tsib15220)은 세그멘테이션 및/또는 컨케테네이션된 링크 레이어 패킷의 페이로드에 헤더를 추가할 수 있다. 트랜스미션 버퍼(tsib15230)은 링크 레이어 패킷을 피지컬 레이어의 DP(tsib15240) 로 전달하기 위한 버퍼 역할을 할 수 있다.
각 블락 내지 모듈 및 부분(part)들은 링크 레이어에서 하나의 모듈/프로토콜로서 구성될 수도 있고, 복수개의 모듈/프로토콜로 구성될 수도 있다.
도 16 는 본 발명의 일 실시예에 따른 수신기 측의 링크 레이어 구조를 도시한 도면이다.
본 실시예는 IP 패킷을 처리하는 것을 가정한 실시예이다. 수신기 측의 링크 레이어는 기능적인 관점에서 볼 때, 크게 시그널링 정보를 처리하는 링크 레이어 시그널링 부분, 오버헤드 프로세싱 부분, 및/또는 디캡슐레이션 부분을 포함할 수 있다. 또한, 수신기 측의 링크 레이어는 링크 레이어 전체 동작에 대한 제어 및 스케쥴링을 위한 스케쥴러 및/또는 링크 레이어의 입,출력 부분 등을 포함할 수 있다.
먼저, 피지컬 레이어를 통해 전송받은 각 정보들이 링크 레이어에 전달될 수 있다. 링크 레이어는 각 정보들을 처리하여, 송신측에서 처리하기 전의 원래 상태로 되돌린 뒤, 상위 레이어에 전달할 수 있다. 이 실시예에서 상위 레이어는 IP 레이어일 수 있다.
피지컬 레이어에서 구분된 특정 채널(tsib16030)들을 통해 전달된 정보들이 링크 레이어 시그널링 부분으로 전달될 수 있다. 링크 레이어 시그널링 부분은 피지컬 레이어로부터 수신된 시그널링 정보를 판별하고, 링크 레이어의 각 부분들로 판별된 시그널링 정보들을 전달하는 역할을 수행할 수 있다.
채널을 위한 버퍼(tsib16040)은 특정 채널들을 통해 전송된 시그널링 정보들을 전달받는 버퍼 역할을 할 수 있다. 전술한 바와 같이 피지컬 레이어에 물리적/논리적으로 구분된 별도의 채널이 존재할 경우, 그 채널들을 통해 전송된 시그널링 정보들을 전달받을 수 있다. 별도의 채널들로부터 받은 정보들이 분할된 상태일 경우, 완전한 형태의 정보가 될 때까지 분할된 정보들을 저장해 놓을 수 있다.
시그널링 디코더/파서(tsib16050)는 특정 채널을 통해 수신된 시그널링 정보의 포맷을 확인하고, 링크 레이어에서 활용될 정보들을 추출해 낼 수 있다. 특정 채널을 통한 시그널링 정보가 인코딩되어 있는 경우에는 디코딩을 수행할 수 있다. 또한, 실시예에 따라 해당 시그널링 정보의 무결성 등을 확인할 수 있다.
시그널링 매니저(tsib16060)은 여러 경로를 통해 수신된 시그널링 정보들을 통합할 수 있다. 후술할 시그널링을 위한 DP(tsib16070)을 통해 수신된 시그널링 정보들 역시 시그널링 매니저(tsib16060)에서 통합될 수 있다. 시그널링 매니저(tsib16060)은 링크 레이어 내의 각 부분에 필요한 시그널링 정보를 전달할 수 있다. 예를 들어 오버헤드 프로세싱 부분에, 패킷의 리커버리를 위한 컨텍스트 정보등을 전달할 수 있다. 또한, 스케쥴러(tsib16020)에 제어를 위한 시그널링 정보들을 전달해 줄 수 있다.
시그널링을 위한 DP(tsib16070)를 통해, 별도의 특별 채널로 수신되지 않은 일반적인 시그널링 정보들이 수신될 수 있다. 여기서, 시그널링을 위한 DP 란 PLS 또는 L1 등을 의미할 수 있다. 여기서 DP 는 PLP (Physical Layer Pipe) 라고 불릴 수도 있다. 리셉션 버퍼(tsib16080)은 시그널링을 위한 DP 로부터 수신된 시그널링 정보를 전달받는 버퍼 역할을 할 수 있다. 시그널링 정보의 디캡슐레이션(tsib16090)에서는 수신된 시그널링 정보가 디캡슐레이션될 수 있다. 디캡슐레이션 된 시그널링 정보는 디캡슐레이션 버퍼(tsib16100)을 거쳐 시그널링 매니저(tsib16060)으로 전달될 수 있다. 전술한 바와 같이, 시그널링 매니저(tsib16060)는 시그널링 정보를 취합하여 링크 레이어 내의 필요한 부분에 전달할 수 있다.
스케쥴러(tsib16020)은 링크 레이어에 포함된 여러 모듈들의 동작을 결정하고 제어하는 역할을 할 수 있다. 스케쥴러(tsib16020)은 리시버 정보(tsib16010) 및/또는 시그널링 매니저(tsib16060)으로부터 전달받은 정보를 이용하여, 링크 레이어의 각 부분을 제어할 수 있다. 또한, 스케쥴러(tsib16020)는 각 부분의 동작 모드등을 결정할 수 있다. 여기서, 리시버 정보(tsib16010) 는 수신기가 기 저장하고 있던 정보를 의미할 수 있다. 스케쥴러(tsib16020)는 채널 전환 등과 같이 사용자가 변경하는 정보 역시 이용하여 제어에 활용할 수 있다.
디캡슐레이션 부분은 피지컬 레이어의 DP(tsib16110)로부터 수신된 패킷을 필터링하고, 해당 패킷의 타입에 따라 패킷들을 분리해내는 역할을 수행할 수 있다. 디캡슐레이션 부분은 피지컬 레이어에서 동시에 디코딩할 수 있는 DP 의 수 만큼 구성될 수 있다.
디캡슐레이션 버퍼(tsib16110)은 디캡슐레이션을 위해 피지컬 레이어로부터 패킷 스트림을 입력받는 버퍼 역할을 할 수 있다. 디캡슐레이션 컨트롤(tsib16130)은 입력된 패킷 스트림에 대하여 디캡슐레이션을 수행할 것인지 여부를 결정할 수 있다. 디캡슐레이션이 수행될 경우 패킷 스트림은 링크 레이어 헤더 파서(tsib16140)으로 전달될 수 있다. 디캡슐레이션이 수행되지 않을 경우 패킷 스트림은 아웃풋 버퍼(tsib16220)로 전달될 수 있다. 디캡슐레이션의 수행여부를 결정하는 데에는 스케쥴러(tsib16020)으로부터 전달받은 시그널링 정보가 활용될 수 있다.
링크 레이어 헤더 파서(tsib16140)은 전달받은 링크 레이어 패킷의 헤더를 확인할 수 있다. 헤더를 확인함으로써, 링크 레이어 패킷의 페이로드에 포함되어 있는 IP 패킷의 구성을 확인할 수 있다. 예를 들어 IP 패킷은 세그멘테이션 되어 있거나, 컨케테네이션 되어 있을 수 있다.
패킷 컨피규레이션 테이블(tsib16150)은 세그멘테이션 및/또는 컨케테네이션으로 구성되는 링크 레이어 패킷의 페이로드 정보를 포함할 수 있다. 패킷 컨피규레이션 테이블(tsib16150)의 정보는 송신기와 수신기가 같은 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib16150)의 정보가 송신기와 수신기에서 참조될 수 있다. 링크 레이어 패킷에 포함된 인덱스 정보를 바탕으로 재결합(reassembly)에 필요한 값이 찾아질 수 있다.
재결합 블록(reassembly) (tsib16160)은 세그멘테이션 및/또는 컨케테네이션으로 구성된 링크 레이어 패킷의 페이로드를 원래의 IP 스트림의 패킷들로 구성할 수 있다. 세그멘트들을 하나로 모아 하나의 IP 패킷으로 재구성하거나, 컨케테네이션된 패킷들을 분리하여 복수개의 IP 패킷 스트림으로 재구성할 수 있다. 재결합된 IP 패킷들은 오버헤드 프로세싱 부분으로 전달될 수 있다.
오버헤드 프로세싱 부분은, 송신기에서 수행된 오버헤드 리덕션의 역과정으로, 오버헤드 리덕션된 패킷들을 원래의 패킷으로 돌리는 동작을 수행할 수 있다. 이 동작을 오버헤드 프로세싱이라 부를 수 있다. 오버헤드 프로세싱 부분은 피지컬 레이어에서 동시에 디코딩할 수 있는 DP 의 수 만큼 구성될 수 있다.
패킷 리커버리 버퍼(tsib16170)는 오버헤드 프로세싱을 수행하기 위해 디캡슐레이션된 RoHC 패킷 내지 IP 패킷을 입력받는 버퍼 역할을 할 수 있다.
오버헤드 컨트롤(tsib16180)은 디캡슐레이션된 패킷들에 대해 패킷 리커버리 및/또는 디컴프레션을 수행할 것인지 여부를 결정할 수 있다. 패킷 리커버리 및/또는 디컴프레션이 수행되는 경우 패킷 스트림 리커버리(tsib16190)으로 패킷이 전달될 수 있다. 패킷 리커버리 및/또는 디컴프레션이 수행되지 않는 경우, 패킷들은 아웃풋 버퍼(tsib16220)으로 전달될 수 있다. 패킷 리커버리 및/또는 디컴프레션의 수행 여부는 스케쥴러(tsib16020)에 의해 전달된 시그널링 정보에 근거해 결정될 수 있다.
패킷 스트림 리커버리(tsib16190)은 송신기에서 분리된 패킷 스트림과, 패킷 스트림의 컨텍스트 정보를 통합하는 동작을 수행할 수 있다. 이는 RoHC 디컴프레셔(tsib16210)에서 처리 가능하도록, 패킷 스트림을 복구하는 과정일 수 있다. 이 과정에서 시그널링 및/또는 컨텍스트 컨트롤(tsib16200)로부터 시그널링 정보 및/또는 컨텍스트 정보를 전달받을 수 있다. 시그널링 및/또는 컨텍스트 컨트롤(tsib16200)은 송신기로부터 전달된 시그널링 정보를 판별하고, 해당 컨텍스트 ID 에 맞는 스트림으로 매핑될 수 있도록 패킷 스트림 리버커리(tsib16190)에 시그널링 정보를 전달할 수 있다.
RoHC 디컴프레셔(tsib16210)은 패킷 스트림의 패킷들의 헤더를 복구할 수 있다. 패킷 스트림의 패킷들은 헤더가 복구되어 원래의 IP 패킷들의 형태로 복구될 수 있다. 즉, RoHC 디컴프레셔(tsib16210)은 오버헤드 프로세싱을 수행할 수 있다.
아웃풋 버퍼(tsib16220)은 IP 레이어(tsib16230)로 출력 스트림을 전달하기에 앞서, 버퍼 역할을 할 수 있다.
본 발명이 제안하는 송신기와 수신기의 링크 레이어는, 전술한 바와 같은 블록 내지 모듈들을 포함 가능하다. 이를 통해, 링크 레이어가 상위 레이어와 하위 레이어에 관계없이 독립적으로 동작할 수 있고, 오버헤드 리덕션을 효율적으로 수행할 수 있으며, 상하위 레이어 등에 따라 지원 가능한 기능의 확정/추가/제거가 용이해질 수 있다.
도 17 은 본 발명의 일 실시예에 따른, 링크 레이어를 통한 시그널링 전송 구조를 도시한 도면이다(송/수신측).
본 발명에서는 하나의 주파수 밴드 내에 복수개의 서비스 프로바이더(방송사)가 서비스를 제공할 수 있다. 또한 서비스 프로바이더는 복수개의 서비스들을 전송할 수 있는데, 하나의 서비스는 하나 이상의 컴포넌트를 포함할 수 있다. 사용자는 서비스 단위로 컨텐츠를 수신하는 것을 고려할 수 있다.
본 발명은 IP 하이브리드 방송을 지원하기 위하여, 복수개 세션 기반의 전송 프로토콜이 사용되는 것을 가정한다. 각 프로토콜의 전송 구조에 따라 그 시그널링 패쓰(path)로 전달되는 시그널링 정보가 결정될 수 있다. 각 프로토콜은 실시예에 따라 다양한 명칭이 부여될 수 있다.
도시된 송신측 데이터 구조(tsib17010) 에서, 서비스 프로바이더들(Broadcasters)은 복수개의 서비스(Service #1, #2, …) 를 제공할 수 있다. 일반적으로 서비스에 대한 시그널링은 일반적인 전송 세션을 통해 전송될 수 있으나(Signaling C), 실시예에 따라 특정 세션(dedicated session) 을 통해 전송될 수도 있다(Signaling B).
서비스 데이터 및 서비스 시그널링 정보들은 전송 프로토콜에 따라 인캡슐레이션 될 수 있다. 실시예에 따라 IP/UDP 가 사용될 수 있다. 실시예에 따라 IP/UDP 레이어에서의 시그널링(Signaling A) 가 추가될 수도 있다. 이 시그널링은 생략될 수 있다.
IP/UDP 로 처리된 데이터들은 링크 레이어로 입력될 수 있다. 링크 레이어에서는 전술한 바와 같이, 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 수행할 수 있다. 여기서 링크 레이어 시그널링이 추가될 수 있다. 링크 레이어 시그널링에는 시스템 파라미터 등이 포함될 수 있다. 링크 레이어 시그널링에 대해서는 전술하였다.
이러한 처리를 거친 서비스 데이터 및 시그널링 정보들은, 피지컬 레이어에서 PLP 들을 통해 처리될 수 있다. 여기서 PLP 는 DP 로 불릴 수도 있다. 도시된 실시예에서는 Base DP/PLP 가 사용되는 경우를 상정하고 있으나, 실시예에 따라 Base DP/PLP 가 없이 일반적인 DP/PLP 만으로 전송이 수행될 수도 있다.
도시된 실시예에서는 FIC, EAC 등의 특정 채널(dedicated channel) 이 사용되고 있다. FIC를 통해 전달되는 시그널링을 FIT (Fast Information Table), EAC를 통해 전달되는 시그널링을 EAT (Emergency Alert Table)로 부를 수 있다. FIT 는 전술한 SLT 와 같을 수 있다. 이러한 특정 채널들은 실시예에 따라 사용되지 않을 수 있다. 특정 채널(Dedicated channel)이 구성되어 있지 않은 경우, FIT 와 EAT는 일반적인 링크 레이어 시그널링 전송 방법을 통해 전송되거나, 다른 서비스 데이터들처럼 IP/UDP 를 거쳐 PLP 로 전송될 수 있다.
실시예에 따라 시스템 파라미터에는 송신기 관련 파라미터, 서비스 프로바이더 관련 파라미터 등이 있을 수 있다. 링크 레이어 시그널링에는 IP 헤더 압축 관련 컨텍스트 정보 및/또는 해당 컨텍스트가 적용되는 데이터에 대한 식별정보가 포함될 수 있다. 상위 레이어의 시그널링에는 IP 주소, UDP 넘버, 서비스/컴포넌트 정보, 긴급 알림(Emergency alert) 관련 정보, 서비스 시그널링에 대한 IP/UDP 주소, 세션 ID 등등이 포함될 수 있다. 자세한 실시예에 대해서는 전술하였다.
도시된 수신측 데이터 구조(tsib17020) 에서, 수신기는 모든 PLP 를 디코딩할 필요 없이, 시그널링 정보를 활용하여 해당 서비스에 대한 PLP 만을 디코딩할 수 있다.
먼저, 사용자가 수신하고자 하는 서비스를 선택 하거나 변경 하면, 수신기는 해당 주파수로 튜닝 하고 해당 채널과 관련하여 DB 등에 저장하고 있는 수신기 정보를 읽어 들일 수 있다. 수신기의 DB 등에 저장되어 있는 정보는 최초 채널 스캔시 SLT 를 읽어 들여 구성 될 수 있다.
SLT 를 수신하고 해당 채널의 정보를 수신한 이후 기존에 저장되어 있던 DB를 업데이트하고, 사용자가 선택한 서비스의 전송 경로 및 컴포넌트 정보를 획득하거나 이러한 정보를 획득하는데 필요한 시그널링이 전송되는 경로에 대한 정보를 획득한다. SLT 의 버전 정보 등을 이용하여 해당 정보의 변경이 없다고 판단 되는 경우에는 디코딩 또는 파싱절차를 생략할 수 있다.
수신기는 해당 방송 스트림에서, PLP 의 피지컬 시그널링을 파싱하여 해당 PLP 내에 SLT 정보가 있는지 파악할 수 있다(도시되지 않음). 이는 피지컬 시그널링의 특정 필드를 통해 지시될 수 있다. SLT 정보에 접근하여 특정 서비스의 서비스 레이어 시그널링이 전송되는 위치에 접근할 수 있다. 이 서비스 레이어 시그널링은 IP/UDP 로 인캡슐레이션되어 전송 세션을 통해 전달될 수 있다. 이 서비스 레이어 시그널링을 이용하여 해당 서비스를 구성하는 컴포넌트에 대한 정보를 획득할 수 있다. 자세한 SLT-SLS 구조는 전술한 바와 같다.
즉, SLT 를 이용하여 현재 채널에 전송되고 있는 여러 패킷 스트림 및 PLP 중, 해당 서비스의 수신에 필요한 상위 레이어 시그널링 정보(서비스 시그널링 정보)를 수신하기 위한 전송 경로 정보가 획득될 수 있다. 이 전송 경로 정보에는 IP 주소, UDP 포트 넘버, 세션 ID, PLP ID 등등이 포함될 수 있다. 여기서 실시예에 따라 IP/UDP 주소는 IANA 또는 시스템에서 미리 지정되어 있는 값을 사용할 수도 있다. 이러한 정보들은 DB 및 공유 메모리 접근 등의 방법으로 획득될 수도 있다.
링크 레이어 시그널링과 서비스 데이터가 동일한 PLP 를 통해 전송되거나 하나의 PLP 만이 운용되고 있는 경우, PLP 를 통해 전달되는 서비스 데이터는 링크 레이어 시그널링이 디코딩되는 동안 임시적으로 버퍼 등의 장치에 저장될 수 있다.
수신하고자 하는 서비스에 대한 서비스 시그널링 정보를 이용하여 해당 서비스가 실제로 전송되는 경로 정보를 획득할 수 있다. 또한 수신할 PLP 에 대한 오버헤드 리덕션 등의 정보를 이용하여, 수신되는 패킷 스트림에 대해 디캡슐레이션 및 헤더 리커버리가 수행될 수 있다.
도시된 실시예(tsib17020) 에서는, FIC, EAC 가 사용되었고, Base DP/PLP 개념이 상정되었다. 전술한 바와 같이 FIC, EAC, Base DP/PLP 개념은 활용되지 않을 수 있다.
도 18 은 본 발명의 일 실시예에 따른 링크 레이어 (link layer)의 인터페이스를 나타낸 도면이다.
도면을 참조하면, 송신기가 IP 패킷 및/또는 디지털 방송에서 사용되는 MPEG2-TS 패킷을 입력 신호로 사용하는 경우를 나타낸다. 송신기는 차세대 방송 시스템에서 사용될 수 있는 새로운 프로토콜에서의 패킷 구조를 지원할 수 도 있다. 링크 레이어의 인캡슐레이티드 (encapsulated) 데이터 및/또는 시그널링 정보는 물리적 레이어 (physical layer) 로 전송될 수 있다. 송신기는 (시그널링 데이터를 포함할 수 있는) 전송된 데이터를 방송 시스템에 의하여 지원되는 물리적 계층의 프로토콜에 따라 처리하고, 해당 데이터를 포함하는 신호를 전송할 수 있다.
한편, 수신기는 물리적 계층으로부터 수신한 데이터 및/또는 시그널링 정보를, 상위 레이어에서 처리될 수 있는 다른 데이터로 복원한다. 수신기는 패킷의 헤더를 읽을 수 있고, 물리적 레이어로부터 수신한 패킷이 시그널링 정보 (또는 시그널링 데이터) 또는 일반 데이터 (또는 컨텐츠 데이터)를 포함하는지 결정할 수 있다.
송신기부터 전달되는 시그널링 정보 (i.e., 시그널링 데이터)는, 상위 레이어 (upper layer) 로부터 수신되고, 수신기의 상위 레이어로 전송될 필요가 있는 제 1 시그널링 정보; 링크 레이어에서 생성되어, 수신기의 링크 레이어에서 데이터의 처리와 관련한 정보를 제공하는 정보인 제 2 시그널링 정보; 및/또는 상위 레이어 또는 링크 레이터에서 생성되어, 물리적 레이어에서 특정 데이터 (예를 들면, 서비스, 컨텐트, 및/또는 시그널링 데이터)를 빠르게 식별하기 위하여 전송되는 제 3 시그널링 정보를 포함할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 링크 레이어에서, 상위 계층에서 전달되는 패킷들에 대하여, 추가적인 처리를 할 수 있다.
상위 레이어로부터 전달되는 패킷이 IP 패킷에 해당되는 경우, 송신기는 링크 레이어에서, IP 헤더 압축 (header compression) 을 수행할 수 있다. IP 헤더 압축을 통하여, IP 플로우 (flow) 에서, 오버헤드(overhead)를 줄 일 수 있다. IP 헤더 압축을 위하여, RoHC (Robust Header Compression) 기법이 사용될 수 있다. RoHC 기법에 관하여는 RFC3095 및 RFC5795 의 문서를 통하여 상세한 내용은 보충될 수 있다.
본 발명의 일 실시예에서는, RoHC 기법이 단방향 (unidirectional) 모드에서 동작할 수 있다. 이와 관련한 상세한 내용은 후술한다.
상위 레이어로부터 전달되는 패킷이 MPEG-2 TS (Transport Stream) 패킷인 경우, MPEG-2 TS 패킷에 대하여 오버헤드 리덕션 (overhead reduction) 이 수행될 수 있다. MPEG-2 TS 패킷에는 Sync 필드, null 패킷, 및/또는 Common PID (Packet Identifier)가 포함될 수 있는데, 이러한 데이터들은, 각각의 TS 패킷에서 반복되거나, 불필요한 데이터 이므로, 송신기는 링크 레이어에서 이들 데이터를 삭제하고, 수신기에서 이를 복원할 수 있는 정보를 생성하여 수신기로 전송할 수 있다.
송신기는 링크 레이어에서, 상위 레이어에서 전달되는 패킷을 인캡슐레이션 (encapsulation) 할 수 있다. 예를 들면, 송신기는 링크 레이어에서, IP 패킷, MPEG-2 TS 패킷 및/또는 다른 프로토콜의 패킷을 인캡슐레이션하여, 링크 레이어 패킷을 생성할 수 있다. 링크 레이어에서의 인캡슐레이션을 통하여, 송/수신기의 피지컬 레이어 (physical layer; 물리적 계층) 에서는, 네트워크 레이어의 프로토콜의 종류와 관계 없이, 하나의 포맷의 패킷들을 처리할 수 있다. 이 경우, MPEG-2 TS 패킷은 네트워크 레이어의 패킷으로 간주될 수 있다.
네트워크 레이어는 링크 레이어의 상위 계층이다. 기본적으로 네트워크 레이어의 패킷은 링크 레이어의 패킷의 페이로드 (payload)로 변환될 수 있다. 본 발명의 일 실시예에서는, 피지컬 레이어의 리소스 (resource) 를 효율적으로 사용하기 위하여, 네트워크 레이어의 패킷에 대한 컨케이트네이션 (concatenation) 과 세그멘테이션 (segmentation) 이 수행되어, 링크 레이터의 패킷에 포함될 수 있다.
링크 레이어의 페이로드가 복수의 네트워크 레이어의 패킷들을 포함할 수 있을 정도로, 네트워크 레이터의 패킷의 크기가 작은 경우, 링크 레이어의 패킷의 헤더 (header) 는 컨케이트네이션을 수행하기 위한 프로토콜 필드 (protocol field) 를 포함할 수 있다. 컨케이트네이션은, 복수의 네트워크 레이터의 패킷들을 하나의 페이로드 (링크 레이어의 패킷의 페이로드) 내에서 합치는 것으로 정의될 수 있다.
하나의 네트워크 레이어의 패킷의 크기가, 피지컬 레이어에서 처리되기에는 너무 큰 경우에는, 네트워크 레이어의 패킷은 둘 또는 이상 (two or more) 의 세그먼트들로 분리될 수 있다. 링크 레이어의 패킷의 헤더는, 송신 측에서 수행된 세그멘테이션 (segmentation) 을 수행하고, 수신측에서 이들을 재결합 (reassemble) 할 수 있도록, 필요한 정보를 프로토콜 필드 형태로 포함할 수 있다.
송신기의 링크 레이어에서의 처리는, FIC (Fast Information Channel), EAS (Emergency Alert System) 메시지, 및/또는 오버헤드 리덕션을 위한 정보와 같은 링크 레이어에서 생성된 시그널링 정보를 전달하는 것을 포함한다.
FIC는 채널 스캔과, 서비스의 빠른 획득을 위하여 필요한 정보를 포함하는 시그널링 구조이다. 즉, FIC의 주된 목적은, 빠른 채널 스캔과 서비스 획득을 위하여 필수적인 정보를 효율적으로 전달하는데 있다. FIC에 포함되는 정보는 DP (data pipe, 또는 PLP)와 방송 서비스사이의 연결을 위한 정보에 해당될 수 있다.
송신기에서의 링크 레이어의 처리는, 비상 경보 메시지 (emergency alert message) 와 이와 관련된 시그널링 정보를 특정 채널을 통하여 전송하는 것을 포함한다. 특정 채널은 피지컬 레이어에서 기 정의된 채널에 해당될 수 있다. 특정 채널은 EAC (Emergency Alert Channel)로 명명될 수 있다.
도 19 는 본 발명의 일 실시예에 따른 링크 레이어의 동작 모드 중, 노말(Normal) 모드의 동작 다이어그램을 도시한 도면이다.
본 발명이 제안하는 링크 레이어는 상위 레이어와 하위 레이어의 호환을 위하여, 다양한 동작 모드를 가질 수 있다. 본 발명은 링크 레이어의 노말 모드 및 트랜스패렌트 모드를 제안한다. 두 동작 모드는 링크 레이어 내에서 공존이 가능하며, 어떠한 모드가 사용될 것인지는 시그널링 또는 시스템 파라미터를 이용하여 지정될 수 있다. 실시예에 따라 두 모드 중 어느 하나의 모드만 구현될 수도 있다. 링크 레이어로 입력되는 IP 레이어, TS 레이어 등에 따라, 각각 다른 모드가 적용될 수 있다. 또한, IP 레이어의 스트림 별로, TS 레이어의 스트림 별로, 각각 다른 모드가 적용될 수 있다.
실시예에 따라, 새로운 동작 모드가 링크 레이어에 추가될 수 있다. 새로운 동작 모드는 상위 레이어와 하위 레이어의 구성에 근거하여 추가될 수 있다. 새로운 동작 모드는 상위 레이어와 하위 레이어의 구성에 근거하여 다른 인터페이스들을 포함할 수 있다. 새로운 동작 모드의 사용여부 역시 시그널링 또는 시스템 파라미터를 이용하여 지정될 수 있다.
노말 모드에서는, 데이터가 링크 레이어가 지원하는 기능을 모두 거쳐 처리된 후, 피지컬 레이어로 전달될 수 있다.
먼저, IP 레이어, MPEG-2 TS 레이어, 또는 다른 어떠한 특정 레이어(t89010)로부터 각 패킷이 링크 레이어로 전달될 수 있다. 즉, IP 패킷이 IP 레이어로부터 링크 레이어로 전달될 수 있다. 마찬가지로 MPEG-2 TS 패킷이 MPEG-2 TS 레이어로부터, 특정 패킷이 특정 프로토콜 레이어로부터 링크 레이어로 전달될 수 있다.
각 전달된 패킷들은 오버헤드 리덕션(t89020)을 거치거나 거치지 않은 후, 인캡슐레이션(t89030)을 거치게 될 수 있다.
첫번째로, IP 패킷의 경우, 오버헤드 리덕션(t89020)을 거치거나 거치지 않은 후, 인캡슐레이션(t89030)을 거치게 될 수 있다. 오버헤드 리덕션이 수행되는지 여부는 시그널링 또는 시스템 파라미터에 의해 지정될 수 있다. 실시예에 따라 각 IP 스트림 별로 오버헤드 리덕션이 수행되거나 수행되지 않을 수도 있다. 인캡슐레이션된 IP 패킷은 피지컬 레이어로 전달될 수 있다.
두번째로, MPEG-2 TS 패킷의 경우, 오버헤드 리덕션(t89020)을 거쳐 인캡슐레이션(t89030)을 거치게 될 수 있다. MPEG-2 TS 패킷의 경우도 실시예에 따라 오버헤드 리덕션 과정이 생략될 수 있다. 그러나, 일반적인 경우 TS 패킷은 맨 앞에 싱크 바이트(0x47) 등을 가지므로, 이러한 고정적인 오버헤드를 제거하는 것이 효율적일 수 있다. 인캡슐레이션된 TS 패킷은 피지컬 레이어로 전달될 수 있다.
세번째로, IP 또는 TS 패킷이 아닌 다른 패킷인 경우, 오버헤드 리덕션(t89020)을 거치거나 거치지 않은 후, 인캡슐레이션(t89030)을 거치게 될 수 있다. 오버헤드 리덕션이 수행되는지 여부는 해당 패킷의 특성에 따라 결정될 수 있다. 오버헤드 리덕션이 수행되는지 여부는 시그널링 또는 시스템 파라미터에 의해 지정될 수 있다. 인캡슐레이션된 패킷은 피지컬 레이어로 전달될 수 있다.
오버헤드 리덕션(t89020) 과정에서는, 입력된 패킷의 크기가 적절한 방법을 통해 감소될 수 있다. 오버헤드 리덕션 과정에서, 입력된 패킷으로부터 특정 정보가 추출되거나 생성될 수 있다. 이 특정 정보는 시그널링과 관련된 정보로서, 시그널링 영역을 통해 전송될 수 있다. 이 시그널링 정보는 수신기가 오버헤드 리덕션 과정에서 변경된 사항을 복구하여 원래의 패킷의 형태로 되돌릴 수 있게 한다. 이 시그널링 정보는 링크 레이어 시그널링(t89050)으로 전달될 수 있다.
링크 레이어 시그널링(t89050) 은 오버헤드 리덕션 과정에서 추출/생성된 시그널링 정보의 전송 및 관리를 수행할 수 있다. 피지컬 레이어는 시그널링을 위해 물리적/논리적으로 구분된 전송경로를 가질 수 있는데, 링크 레이어 시그널링(t89050)은 이 구분된 전송 경로들에 맞추어 시그널링 정보를 피지컬 레이어로 전달할 수도 있다. 여기서, 구분된 전송 경로에는 전술한 FIC 시그널링(t89060) 또는 EAS 시그널링(t89070) 등이 있을 수 있다. 따로 구분된 전송 경로로 전송되지 않는 시그널링 정보들은 인캡슐레이션(t89030)을 거쳐 피지컬 레이어로 전달될 수 있다.
링크 레이어 시그널링(t89050) 이 관리하는 시그널링 정보에는, 상위 레이어에서 전달받은 시그널링 정보, 링크 레이어에서 생성된 시그널링 정보 및/또는 시스템 파라미터 등이 있을 수 있다. 구체적으로, 상위 레이어에서 전달받아 결과적으로 수신기의 상위 레이어로 전달되어야 하는 시그널링 정보, 링크 레이어에서 생성되어 수신기의 링크 레이어의 동작에 활용되어야 하는 시그널링 정보, 상위 레이어 또는 링크 레이어에서 생성되어 수신기의 피지컬 레이어에서 빠른 디텍션을 위해 사용되는 시그널링 정보 등이 있을 수 있다.
인캡슐레이션(t89030)되어 피지컬 레이어로 전달된 데이터는 DP (Data Pipe)(t89040) 를 통해 전송될 수 있다. 여기서 DP 는 PLP (Physical Layer Pipe) 일 수 있다. 전술한 구분된 전송 경로로 전달되는 시그널링 정보들은 각각의 전송 경로로 전달될 수 있다. 예를 들어, FIC 시그널링은 피지컬 프레임 내에서 지정된 FIC 채널(t89080)을 통해 전송될 수 있다. 또한, EAS 시그널링은 피지컬 프레임 내의 지정된 EAC 채널(t89090)을 통해 전송될 수 있다. FIC 또는 EAC 등의 특정 채널이 존재한다는 정보는 피지컬 프레임의 프리앰블 영역에 시그널링되어 전송되거나, 특정 스크램블링 시퀀스를 사용하여 프리앰블을 스크램블링 함으로써 시그널링될 수 있다. 실시예에 따라 FIC 시그널링/EAS 시그널링 정보들은 지정된 특별 채널이 아닌, 일반 DP 영역, PLS 영역 또는 프리앰블을 통해 전송될 수도 있다.
수신기는 피지컬 레이어를 통해 데이터 및 시그널링 정보를 전달받을 수 있다. 수신기는 이를 상위 레이어에서 처리 가능한 형태로 복원하여 상위 레이어로 전달할 수 있다. 이러한 과정은 수신기의 링크 레이어에서 수행될 수 있다. 패킷의 헤더를 읽거나 하는 등의 방법으로, 수신기는 전송받은 패킷이 시그널링 정보에 관한 것인지 데이터에 관한 것인지 구분할 수 있다. 또한 수신기는, 오버헤드 리덕션이 송신측에서 수행되었을 경우, 오버헤드 리덕션을 통해 오버헤드가 줄어든 패킷을 원래의 패킷을 복구할 수 있다. 이 과정에서 전달받은 시그널링 정보가 활용될 수 있다.
도 20 는 본 발명의 일 실시예에 따른 링크 레이어의 동작 모드 중, 트랜스패런트(Transparent) 모드의 동작 다이어그램을 도시한 도면이다.
트랜스패런트 모드에서는, 데이터가 링크 레이어가 지원하는 기능을 거치지 않거나 일부만을 거친 후, 피지컬 레이어로 전달될 수 있다. 즉, 트랜스패런트 모드에서는, 상위 레이어에서 전달된 패킷이 별도의 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 거치지 않고 그대로 피지컬 레이어로 전달될 수 있다. 다른 패킷들의 경우는 필요에 따라 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 거칠 수도 있다. 트랜스패런트 모드는 바이패스 모드(bypass mode)라고 불릴 수 있고, 다른 명칭이 부여될 수도 있다.
실시예에 따라, 패킷의 특성 및 시스템의 운용에 근거하여, 일부 패킷들은 노말 모드로, 일부 패킷들은 트랜스패런트 모드로 처리될 수 있다.
트랜스패런트 모드가 적용될 수 있는 패킷은 시스템에 잘 알려져 있는 타입의 패킷일 수 있다. 피지컬 레이어에서 해당 패킷에 대하여 처리할 수 있는 경우, 트랜스패런트 모드가 활용될 수 있다. 예를 들어, 잘 알려진 TS 또는 IP 패킷의 경우, 피지컬 레이어에서 별도의 오버헤드 리덕션 및 인풋 포맷팅 과정을 거칠 수 있으므로, 링크 레이어 단계에서는 트랜스패런트 모드가 활용될 수 있다. 트랜스패런트 모드가 적용되고, 피지컬 레이어에서 인풋 포맷팅 등을 통해 패킷을 가공하는 경우, 전술한 TS 헤더 컴프레션 등의 동작이 피지컬 레이어에서 수행될 수 있다. 반대로 노말 모드가 적용되는 경우, 가공된 링크 레이어 패킷은 피지컬 레이어에서 GS 패킷으로 취급되어 처리될 수 있다.
트랜스패런트 모드에서도, 시그널링의 전송을 지원할 필요가 있는 경우 링크 레이어 시그널링 모듈을 둘 수 있다. 링크 레이어 시그널링 모듈은 전술한 바와 같이 시그널링 정보의 전송 및 관리를 수행할 수 있다. 시그널링 정보는 인캡슐레이션되어 DP 를 통해 전송될 수 있고, 구분된 전송 경로를 가지는 FIC, EAS 시그널링 정보들은 각각 FIC 채널 EAC 채널을 통해 전송될 수 있다.
트랜스패런트 모드에서, 고정된 IP 주소 및 Port 번호를 사용하는 방법 등을 통해, 해당 정보가 시그널링 정보인지 여부가 표시될 수 있다. 이 경우, 해당 시그널링 정보를 필터링하여 링크 레이어 패킷을 구성한 후, 피지컬 레이어를 통해 전송할 수도 있다.
도 21 은 본 발명의 일 실시예에 따른, 링크 레이어에서의 송신기 및/또는 수신기의 동작 모드 control 의 과정을 나타낸 도면이다.
Link Layer의 송신기 또는 수신기의 동작 mode 를 결정해 주는 것은, 방송 시스템을 더 효율적으로 사용하고, 방송 시스템에 대한 유연한 설계를 가능하게 하는 방법이 될 수 있다. 본 발명에서 제안하는 link layer mode를 control 하는 방안에 따르면, System 대역폭 및 processing time에 대한 효율적 운용을 위한 link layer의 mode를 동적으로 전환할 수 있는 효과가 있다. 또한, 본 발명의 link layer mode를 control 하는 방안에 따르면, Physical layer의 변경으로 인해 특정 mode에 대한 지원이 필요하거나 그 반대로 특정 모드에 대한 필요성이 없어진 경우 이에 대한 대처가 쉽다. 또한, link layer mode를 control 하는 방안에 따르면, 방송 서비스를 제공하는 Broadcaster 에서 해당 서비스에 대한 전송 방법을 지정하고자 하는 경우에도, 해당 방송사의 요구를 방송 시스템에서 손쉽게 수용할 수 있는 효과가 있다.
Link layer의 동작 mode를 control 하기 위한 방안은, link layer 내부에서만 동작하도록 구성하거나, 링크 레이어 내부에서의 데이터 구조의 변화를 통하여 수행될 수 있다. 이 경우, network layer 및/또는 physical layer에서, 별도의 기능에 대한 추가 구현이 없이도, 각 layer의 독립적인 동작을 수행하는 것이 가능하다. 본 발명에서 제안하는 link layer의 mode는, physical layer의 구조에 맞추기 위해 시스템을 변형하지 않고, signaling 또는 system 내부 parameter로 control이 가능하다. 특정 mode의 경우에는 해당 입력에 대한 처리가 physical layer에서 지원하는 경우에 한해 동작될 수도 있다.
도면은 송신기 및/또는 수신기가, IP 레이어, 링크 레이어, 및 physical 레이어에서 신호 및/또는 데이터를 처리하는 흐름을 나타낸 도면이다.
Link layer에 mode control을 위한 functional block (하드웨어 및/또는 소프트웨어로 구현 가능) 이 추가되고, packet의 처리 유무를 결정하기 위한 parameter 및/또는 signaling 정보를 관리하는 역할을 할 수 있다. Mode control functional block이 가지고 있는 정보를 이용하여, link layer에서는 packet stream의 처리 과정에 해당 function을 수행할지 여부를 판단할 수 있다.
송신기에서의 동작을 먼저 살펴본다.
송신기는, IP stream이 link layer로 입력되면, mode control parameter (j16005) 를 이용하여 overhead reduction (j16020)을 수행할지 여부를 결정한다 (j16010). mode control parameter는 송신기에서 서비스 제공자에 의하여 생성될 수 있다. mode control parameter에 관한 상세한 내용은 후술한다.
overhead reduction (j16020)을 수행되는 경우, overhead reduction 에 대한 정보를 생성하여, 링크 레이어 시그널링 (j16060) 정보에 포함시킨다. 링크 레이어 시그널링 (j16060) 정보는 mode control parameter의 일부 또는 전부를 포함할 수 도 있다. 링크 레이어 시그널링 (j16060) 정보는 링크 레이어 시그널링 패킷의 형태로 전달될 수 있다. 링크 레이어 시그널링 패킷은 DP 에 맵핑되어 수신기로 전달될 수도 있으나, DP 에 맵핑되지 않고, 방송 신호의 일정 영역을 통하여, 링크 레이어 시그널링 패킷의 형태로 수신기로 전달될 수 있다.
Overhead reduction (j16020)을 거친 packet stream은 encapsulation (j16030) 되어 physical layer의 DP로 입력된다 (j16040). Overhead reduction을 거치지 않는 경우에는 다시 encapsulation을 수행할지 여부를 결정한다 (j16050).
Encapsulation (j16030)을 거친 packet stream은 physical layer의 DP (j16040) 로 입력된다. 이때, physical layer에서는 general packet (link layer packet) 에 대한 처리를 위한 동작을 수행한다. Overhead reduction 및 encapsulation을 거치지 않는 경우에는 IP packet이 직접 physical layer로 전달된다. 이때, physical layer에서는 IP packet 에 대한 처리를 위한 동작을 수행한다. IP packet이 직접 전송되는 경우에는 physical layer에서 IP packet 입력을 지원하는 경우에 한해 동작 되도록 parameter를 부여할 수 있다. 즉, mode control parameter 의 값을 조절하여, physical layer에서 IP 패킷에 대한 처리를 지원하지 않는 경우는, IP 패킷을 직접 physical layer로 전송하는 과정이 동작하지 않도록 설정될 수 있다.
송신기는 이러한 과정을 거친 방송 신호를 수신기로 전송한다.
수신기의 동작을 살펴본다.
수신기에서, 사용자의 조작 등에 의한 채널 변경 등의 이유로 특정 DP가 선택되어 해당 DP에서 packet stream이 수신되면 (j16110), packet stream의 header 및/또는 signaling 정보를 이용하여, 송신 시 어떤 mode로 packet 이 생성 되었는지 확인 할 수 있다 (j16120). 해당 DP에 대해 송신 시 동작 mode가 확인되면, link layer의 수신 동작 과정에 의해 decapsulation (j16130) 및 overhead reduction (j16140) 과정을 거쳐 상위 layer로 IP packet 이 전달된다. overhead reduction (j16140) 과정은 overhead recovery 과정을 포함할 수 있다.
도 22 는 본 발명의 일 실시예에 따른, flag의 값에 따른 링크 레이어 에서의 동작 및 physical layer로 전달되는 패킷의 형태를 나타낸 도면이다.
Link Layer의 동작 mode를 결정하기 위해 전술한 signaling 방법을 이용할 수 있다. 이와 관련한 signaling 정보가, 수신기에 직접적으로 전송될 수 있다. 이 경우, 전술한 시그널링 데이터 또는 링크 레이어 시그널링 패킷에 후술할 mode control 과 관련된 정보가 포함될 수 있다.
한편, 수신기의 복잡도를 고려해, Link Layer의 동작 mode를 간접적으로 수신기에 알려 주는 방법이 있을 수 있다.
Operation mode의 control 에 대해 다음과 같은 두 가지 flag를 고려할 수 있다.
- HCF (Header Compression Flag): 해당 link layer에서 header compression에 대한 적용 여부를 결정하는 flag로 Enable, Disable을 의미하는 값을 부여할 수 있다.
- EF (Encapsulation Flag): 해당 link layer에서 encapsulation에 대한 적용 여부를 결정하는 flag로, Enable, Disable을 의미하는 값을 부여할 수 있다. 단, header compression 기법에 따라 반드시 encapsulation이 수반되어야 하는 경우에는 EF를 HCF에 종속시켜 정의 할 수 있다.
각 flag에 mapping 되는 값은 Enable 및 Disable을 표현을 포함할 수 있는 범위 내에서 system 구성에 따라 부여될 수 있으며, 각 flag 에 할당되는 비트수도 변경이 가능하다. 일 실시예로, enable 값을 1, disable 값을 0으로 mapping 할 수 있다.
도면에 도시된 바와 같이, HCF, EF의 값에 따라 link layer에 포함되는 header compression 및 encapsulation 동작 여부와 이로 인해 physical layer로 전달되는 packet format에 대해 나타낸 것이다. 즉, 본 발명의 일 실시예에 따르면, 수신기는 HCF 및 EF 에 대한 정보로, physical layer 로 입력되는 패킷의 형태가 무엇인지 알 수 있다.
도 23 은 본 발명의 일 실시예에 따른 송수신기에서 IP 오버헤드 리덕션 (IP overhead reduction) 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따르면 IP 스트림이 오버헤드 리덕션 과정으로 진입하면 RoHC Compressor (L5010)은 해당 스트림에 대한 헤더 압축을 수행할 수 있다. 본 발명의 일 실시예는 헤더 압축 알고리즘으로 RoHC 방법을 사용할 수 있다. Packet Stream Configuration 과정 (L5020)에서 RoHC 과정을 거친 패킷 스트림 (packet stream)은 RoHC 패킷의 형태에 따라 재구성될 수 있고 재구성된 RoHC 패킷 스트림은 encapsulation layer (L5040)로 전달될 수 있고 이어서 physical layer를 통해 수신기로 전송될 수 있다. 패킷 스트림을 재구성하는 과정에서 생겨난 RoHC context 정보 및/또는 시그널링 정보는 signaling generator (L5030)를 통하여 전송이 가능한 형태로 만들어지고 전송 형태에 따라 encapsulation layer 또는 signaling module (L5050)로 전달될 수 있다.
본 발명의 일 실시예에 따르면 수신기는 서비스 데이터 (data)에 대한 스트림과 시그널링 채널 또는 별도의 DP로 전달되는 시그널링 데이터를 수신할 수 있다. Signaling Parser (L5060)는 시그널링 데이터를 수신하여 RoHC context 정보 및/또는 시그널링 정보를 파싱하고 파싱된 정보를 Packet Stream Recovery 과정 (L5070)으로 전달할 수 있다. Packet Stream Recovery 과정 (L5070)에서는 수신기는 시그널링 데이터에 포함된 RoHC context 정보 및/또는 시그널링 정보를 이용하여 송신측에서 재구성된 패킷 스트림을 RoHC decompressor (L5080)가 압축을 풀 수 있는 형태로 복구할 수 있다. RoHC Decompressor (L5080)는 복구된 RoHC 패킷 스트림을 IP 스트림으로 변환할 수 있고 변환된 IP 스트림은 IP layer를 통해 상위 layer로 전달될 수 있다.
도 24 는 본 발명의 일 실시예에 따른, RoHC의 프로파일 (Profiles)를 나타낸 도면이다.
전술한 바와 같이, 본 발명의 일 실시예에 따르면, 링크 레이어에서의 상위 패킷에 대한 헤더 압축을 위하여, RoHC 가 사용될 수 있다. 방송망의 특성을 고려하면, RoHC 프레임워크 (framework) 는 RFC 3095 문서에 기술된 바와 같이 단방향 모드 (unidirectional mode) 에서 동작할 수 있다. RoHC 프레임워크 는 복수의 헤더 압축 프로파일을 정의하고 있다. 각각의 프로파일은 특정 프로토콜의 조합을 가리키고, 각각의 프로파일을 식별하는 프로파일 식별자 (identifier)는 IANA (Internet Assigned Numbers Authority) 에 의하여 할당될 수 있다. 도시된 프로파일 중 일부는 본 발명의 실시예들에 따른 방송 시스템에서 사용될 수 있다.
도 25 은 본 발명의 일 실시예에 따른 제 1 구성 모드 (Configuration Mode #1)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송신기에서 RoHC 패킷 스트림의 구성 (configuration) 과정은 다음과 같다.
본 발명의 일 실시예에 따른 송신기는 RoHC 헤더 정보를 바탕으로 RoHC 패킷 스트림 (RoHC Packet Stream, L10010)에서 IR 패킷 및 IR-DYN 패킷을 검출할 수 있다. 다음으로, 송신기는 IR 및 IR-DYN 패킷에 포함된 sequence number를 이용하여 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)을 생성할 수 있다. 상술한 일반적인 헤더 압축된 패킷이 어떤 타입이든지 간에 일반적인 헤더 압축된 패킷은 SN (Sequence Number) 정보를 포함하므로 임의로 생성될 수 있다. 여기서, SN은 기본적으로 RTP에 존재하는 정보에 해당하며 UDP의 경우에는 송신기에서 임의로 SN을 생성하여 사용할 수 있다. 다음으로, 송신기는 해당하는 IR 또는 IR-DYN 패킷을 생성된 일반적인 헤더 압축된 패킷으로 교체할 수 있고, 송신기는 IR 패킷에서 static chain 및 dynamic chain을 추출할 수 있고 IR-DYN 패킷에서 dynamic chain을 추출할 수 있다. 추출된 static chain 및 dynamic chain은 Out of Band (L10030)를 통하여 전송될 수 있다. 송신기는 모든 RoHC 패킷 스트림에 대하여 상술한 과정과 동일한 과정에 따라 IR 및 IR-DYN 헤더를 일반적인 헤더 압축된 패킷의 헤더로 교체할 수 있고 static chain 및/또는 dynamic chain을 추출할 수 있다. 재구성된 패킷 스트림 (Reconfigured Packet Stream, L10020)은 data pipe를 통하여 전송될 수 있고 추출된 static chain 및 dynamic chain은 Out of Band (L10030)를 통해 전송될 수 있다.
본 발명의 일 실시예에 따른 수신기에서 RoHC 패킷 스트림을 복원 (recovery)하는 과정은 다음과 같다.
본 발명의 일 실시예에 따른 수신기는 시그널링 (Signaling) 정보를 이용하여 수신하고자 하는 스트림의 data pipe를 선택할 수 있다. 다음으로, 수신기는 data pipe로 전송되는 수신하고자 하는 패킷 스트림을 수신할 수 있고 (Received Packet Stream, L10040) 수신하고자 하는 패킷 스트림에 해당하는 static chain 및 dynamic chain을 검출할 수 있다. 여기서, static chain 및/또는 dynamic chain은 Out of Band를 통해 수신될 수 있다 (Out of Band Reception, L10050). 다음으로, 수신기는 추출된 static chain 및 dynamic chain의 SN을 이용하여 data pipe를 통해 전송되는 패킷 스트림 중 상술한 static chain 또는 dynamic chain의 SN과 동일한 SN을 가진 일반적인 헤더 압축된 패킷을 검출할 수 있다. 다음으로, 수신기는 검출된 일반적인 헤더 압축된 패킷을 static chain 및/또는 dynamic chain과 결합하여 IR 및/또는 IR-DYN 패킷을 구성할 수 있고 구성된 IR 및/또는 IR-DYN 패킷은 RoHC decompressor로 전송될 수 있다. 또한, 수신기는 IR 패킷, IR-DYN 패킷 및/또는 일반적인 헤더 압축된 패킷을 포함하는 RoHC 패킷 스트림 (RoHC Packet Stream, L10060)을 구성할 수 있고 구성된 RoHC 패킷 스트림은 RoHC decompressor로 전송될 수 있다. 본 발명의 일 실시예에 따른 수신기는 RoHC 패킷 스트림을 복원하기 위하여 static chain, dynamic chain, IR 패킷 및 IR-DYN 패킷의 SN 및/또는 Context ID를 이용할 수 있다.
도 26 은 본 발명의 일 실시예에 따른 제 2 구성 모드 (Configuration Mode #2)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송신기에서 RoHC 패킷 스트림의 구성 (configuration) 과정은 다음과 같다.
본 발명의 일 실시예에 따른 송신기는 RoHC 헤더 정보를 바탕으로 RoHC 패킷 스트림 (RoHC Packet Stream, L11010)에서 IR 패킷 및 IR-DYN 패킷을 검출할 수 있다. 다음으로, 송신기는 IR 및 IR-DYN 패킷에 포함된 sequence number를 이용하여 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)을 생성할 수 있다. 상술한 일반적인 헤더 압축된 패킷이 어떤 타입이든지 간에 일반적인 헤더 압축된 패킷은 SN (Sequence Number) 정보를 포함하므로 임의로 생성될 수 있다. 여기서, SN은 기본적으로 RTP에 존재하는 정보에 해당하며 UDP의 경우에는 송신기에서 임의로 SN을 생성하여 사용할 수 있다. 다음으로, 송신기는 해당하는 IR 또는 IR-DYN 패킷을 생성된 일반적인 헤더 압축된 패킷으로 교체할 수 있고, 송신기는 IR 패킷에서 static chain을 추출할 수 있고 IR-DYN 패킷에서 dynamic chain을 추출할 수 있다. 추출된 static chain 및 dynamic chain은 Out of Band (L11030)를 통하여 전송될 수 있다. 송신기는 모든 RoHC 패킷 스트림에 대하여 상술한 과정과 동일한 과정에 따라 IR 및 IR-DYN 헤더를 일반적인 헤더 압축된 패킷의 헤더로 교체할 수 있고 static chain 및/또는 dynamic chain을 추출할 수 있다. 재구성된 패킷 스트림 (Reconfigured Packet Stream, L11020)은 data pipe를 통하여 전송될 수 있고 추출된 static chain 및 dynamic chain은 Out of Band (L11030)를 통해 전송될 수 있다.
본 발명의 일 실시예에 따른 수신기에서 RoHC 패킷 스트림을 복원 (recovery)하는 과정은 다음과 같다.
본 발명의 일 실시예에 따른 수신기는 시그널링 (Signaling) 정보를 이용하여 수신하고자 하는 스트림의 data pipe를 선택할 수 있다. 다음으로, 수신기는 data pipe로 전송되는 수신하고자 하는 패킷 스트림을 수신할 수 있고 (Received Packet Stream, L11040) 수신하고자 하는 패킷 스트림에 해당하는 static chain 및 dynamic chain을 검출할 수 있다. 여기서, static chain 및/또는 dynamic chain은 Out of Band를 통해 수신될 수 있다 (Out of Band Reception, L11050). 다음으로, 수신기는 추출된 static chain 및 dynamic chain의 SN을 이용하여 data pipe를 통해 전송되는 패킷 스트림 중 상술한 static chain 또는 dynamic chain의 SN과 동일한 SN을 가진 일반적인 헤더 압축된 패킷을 검출할 수 있다. 다음으로, 수신기는 검출된 일반적인 헤더 압축된 패킷을 static chain 및/또는 dynamic chain과 결합하여 IR 및/또는 IR-DYN 패킷을 구성할 수 있고 구성된 IR 및/또는 IR-DYN 패킷은 RoHC decompressor로 전송될 수 있다. 또한, 수신기는 IR 패킷, IR-DYN 패킷 및/또는 일반적인 헤더 압축된 패킷을 포함하는 RoHC 패킷 스트림 (RoHC Packet Stream, L11060)을 구성할 수 있고 구성된 RoHC 패킷 스트림은 RoHC decompressor로 전송될 수 있다. 본 발명의 일 실시예에 따른 수신기는 RoHC 패킷 스트림을 복원하기 위하여 static chain, dynamic chain, IR 패킷 및 IR-DYN 패킷의 SN 및/또는 Context ID를 이용할 수 있다.
도 27 은 본 발명의 일 실시예에 따른 제 3 구성 모드 (Configuration Mode #3)에 대하여 RoHC 패킷 스트림의 구성 (configuration) 및 복원 (recovery) 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송신기에서 RoHC 패킷 스트림의 구성 (configuration) 과정은 다음과 같다.
본 발명의 일 실시예에 따른 송신기는 RoHC 헤더 정보를 바탕으로 RoHC 패킷 스트림 (RoHC Packet Stream, L12010)에서 IR 패킷을 검출할 수 있다. 다음으로, 송신기는 IR 패킷에서 static chain을 추출할 수 있고 IR 패킷의 구성 중 추출된 static chain을 제외한 나머지 부분을 이용하여 IR 패킷을 IR-DYN 패킷으로 변환할 수 있다. 송신기는 모든 RoHC 패킷 스트림에 대하여 상술한 과정과 동일한 과정에 따라 IR 패킷의 헤더를 IR-DYN 패킷의 헤더로 교체할 수 있고 static chain을 추출할 수 있다. 재구성된 패킷 스트림 (Reconfigured Packet Stream, L12020)은 data pipe를 통하여 전송될 수 있고 추출된 static chain은 Out of Band (L12030)를 통해 전송될 수 있다.
본 발명의 일 실시예에 따른 수신기에서 RoHC 패킷 스트림을 복원 (recovery)하는 과정은 다음과 같다.
본 발명의 일 실시예에 따른 수신기는 시그널링 (Signaling) 정보를 이용하여 수신하고자 하는 스트림의 data pipe를 선택할 수 있다. 다음으로, 수신기는 data pipe로 전송되는 수신하고자 하는 패킷 스트림을 수신할 수 있고 (Received Packet Stream, L12040) 수신하고자 하는 패킷 스트림에 해당하는 static chain을 검출할 수 있다. 여기서, static chain은 Out of Band를 통해 수신될 수 있다 (Out of Band Reception, L12050). 다음으로, 수신기는 data pipe를 통해 전송되는 패킷 스트림 중 IR-DYN 패킷을 검출할 수 있다. 다음으로, 수신기는 검출된 IR-DYN 패킷을 static chain과 결합하여 IR 패킷을 구성할 수 있고 구성된 IR 패킷은 RoHC decompressor로 전송될 수 있다. 또한, 수신기는 IR 패킷, IR-DYN 패킷 및/또는 일반적인 헤더 압축된 패킷을 포함하는 RoHC 패킷 스트림 (RoHC Packet Stream, L12060)을 구성할 수 있고 구성된 RoHC 패킷 스트림은 RoHC decompressor로 전송될 수 있다. 본 발명의 일 실시예에 따른 수신기는 RoHC 패킷 스트림을 복원하기 위하여 static chain 및 IR-DYN 패킷의 SN 및/또는 Context ID를 이용할 수 있다.
도 28 은 본 발명의 일 실시예에 따른 Out of Band로 전달할 수 있는 정보의 조합을 나타낸 도면이다.
본 발명의 일 실시예에 따르면 RoHC 패킷 스트림의 구성 (configuration) 과정에서 추출된 static chain 및/또는 dynamic chain을 out of band로 전달하는 방법은 크게 시그널링 (signaling)을 통해 전달하는 방법 및 system decoding에 필요한 parameter가 전달되는 data pipe를 통해 전달하는 방법이 존재할 수 있다. 본 발명의 일 실시예에 따르면 상술한 system decoding에 필요한 parameter가 전달되는 data pipe는 Base DP (Data Pipe)로 명명될 수 있다.
이 도면에 도시된 바와 같이 static chain 및/또는 dynamic chain은 시그널링 또는 Base DP를 통하여 전달될 수 있다. 본 발명의 일 실시예에 따르면 제 1 전송 모드 (Transport Mode #1) 내지 제 3 전송 모드 (Transport Mode #3)는 제 1 구성 모드 (Configuration Mode #1) 또는 제 2 구성 모드 (Configuration Mode #2)에 사용될 수 있고 제 4 전송 모드 (Transport Mode #4) 내지 제 5 전송 모드 (Transport Mode #5)는 제 3 구성 모드 (Configuration Mode #3)에 사용될 수 있다.
본 발명의 일 실시예에 따르면 각각의 구성 모드 (Configuration Mode) 및 전송 모드 (Transport Mode)는 별도의 시그널링을 통해 system의 상황에 맞게 switching하여 사용될 수 있고 system 설계 과정에 따라 하나의 구성 모드 및 하나의 전송 모드만이 고정되어 사용될 수 있다.
이 도면에 도시된 바에 따르면 제 1 전송 모드 (Transport Mode #1)에서 static chain은 signaling을 통해 전송될 수 있고 dynamic chain은 signaling을 통해 전송될 수 있고 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)은 보통의 (Normal) Data Pipe를 통해 전송될 수 있다.
이 도면에 도시된 바에 따르면 제 2 전송 모드 (Transport Mode #2)에서 static chain은 signaling을 통해 전송될 수 있고 dynamic chain은 Base Data Pipe을 통해 전송될 수 있고 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)은 보통의 (Normal) Data Pipe를 통해 전송될 수 있다.
이 도면에 도시된 바에 따르면 제 3 전송 모드 (Transport Mode #3)에서 static chain은 Base Data Pipe을 통해 전송될 수 있고 dynamic chain은 Base Data Pipe을 통해 전송될 수 있고 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)은 보통의 (Normal) Data Pipe를 통해 전송될 수 있다.
이 도면에 도시된 바에 따르면 제 4 전송 모드 (Transport Mode #4)에서 static chain은 signaling을 통해 전송될 수 있고 dynamic chain은 보통의 (Normal) Data Pipe을 통해 전송될 수 있고 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)은 보통의 (Normal) Data Pipe를 통해 전송될 수 있다. 이 때, dynamic chain은 IR-DYN 패킷에 의해 전송될 수 있다.
이 도면에 도시된 바에 따르면 제 5 전송 모드 (Transport Mode #5)에서 static chain은 Base Data Pipe을 통해 전송될 수 있고 dynamic chain은 보통의 (Normal) Data Pipe을 통해 전송될 수 있고 일반적인 헤더 압축된 패킷 (General Header Compressed Packet)은 보통의 (Normal) Data Pipe를 통해 전송될 수 있다. 이 때, dynamic chain은 IR-DYN 패킷에 의해 전송될 수 있다.
도 29 는 본 발명의 일 실시예에 따른, data pipe로 전송되는 패킷을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 링크 레이어에서의 패킷의 구조를 새롭게 정의하여, 링크 레이어의 상위 레이어 또는 링크 레이어의 하위 레이어의 프로토콜의 변화에 관계 없이 호환 가능한 링크 레이어 패킷을 생성할 수 있다.
본 발명의 일 실시예에 따른 링크 레이어 패킷은 normal DP 및/또는 base DP로 전송될 수 있다.
링크 레이어 패킷은 고정 헤더, 확장 헤더, 및/또는 페이로드를 포함할 수 있다.
고정 헤더는 크기가 고정되어 있는 헤더이며, 확장 헤더는 상위 레이어의 패킷의 구성에 따라 크기의 변경이 가능한 헤더이다. 페이로드는 상위 레이어의 데이터가 전송되는 영역이다.
패킷의 헤더 (고정 헤더 또는 확장 헤더) 는, 패킷의 페이로드의 종류를 표시하는 필드가 포함될 수 있다. 고정 헤더의 경우, 1 바이트 중 맨 앞의 3 비트 (packet type) 는, 상위 레이어의 패킷 타입을 식별하는 데이터가 포함될 수 있으며, 나머지 5 비트는 지시자 부분 (indicator part) 로 사용될 수 있다. 지시자 부분은 페이로드의 구성 방법, 및/또는 확정 헤더의 구성 정보를 식별하는 데이터가 포함될 수 있으며, 패킷 타입에 따라, 구성이 달라 질 수 있다.
도면에서 도시된 테이블에서는, 패킷 타입 (packet type) 의 값에 따른, 페이로드에 포함되는 상위 레이어의 패킷의 종류를 나타내고 있다.
시스템의 구성에 따라, DP를 통해서는 페이로드가 IP 패킷, 및/또는 RoHC 패킷이 전송될 수 있고, base DP를 통해서는 signaling packet이 전송될 수 있다. 따라서, 여러 종류의 패킷이 혼용되어 전달되는 경우에도, 패킷 타입의 값을 부여하여, 데이터 패킷과 시그널링 패킷을 구분할 수도 있다.
패킷 타입의 값이 000인 경우 IPv4의 IP 패킷이 페이로드에 포함됨을 나타낸다.
패킷 타입의 값이 001인 경우 IPv6의 IP 패킷이 페이로드에 포함됨을 나타낸다.
패킷 타입의 값이 010인 경우 compressed IP 패킷이 페이로드에 포함됨을 나타낸다. compressed IP 패킷에는 헤더 압축이 적용된 IP 패킷이 포함될 수 있다.
패킷 타입의 값이 110인 경우 시그널링 데이터를 포함하는 패킷이 페이로드에 포함됨을 나타낸다.
패킷 타입의 값이 111인 경우 framed packet type이 페이로드에 포함됨을 나타낼 수 있다.
도 30 은 본 발명의 일 실시예에 따른, 링크 레이어 패킷 구조의 신택스를 나타낸 도면이다.
본 도면은 전술한 data pipe로 전송되는 패킷의 구조를 기술한 것이다. 링크 레이어 패킷(Link layer packet()) 은, 먼저 Packet_Type 필드를 가질 수 있다.
Packet_Type 필드 값에 따라 후에 올 수 있는 필드 구성이 달라질 수 있다. 도시된 바와 같이 Packet_Type 필드 값이 000 또는 001 일 경우, Pakcet_Type 필드 뒤에 Link_Layer_Packet_Header_for_IP(), 즉 IP 패킷을 위한 헤더 구조가 위치할 수 있다. Packet_Type 필드 값이 010 일 경우, Pakcet_Type 필드 뒤에 Link_Layer_Packet_Header_for_Compressed_IP(), 즉 압축된 IP 패킷을 위한 헤더 구조가 위치할 수 있다. Packet_Type 필드 값이 011 일 경우, Pakcet_Type 필드 뒤에 Link_Layer_Packet_Header_for_TS(), 즉 TS 패킷을 위한 헤더 구조가 위치할 수 있다. Packet_Type 필드 값이 110 일 경우, Pakcet_Type 필드 뒤에 Link_Layer_Packet_Header_for_Signaling(), 즉 시그널링 정보를 위한 헤더 구조가 위치할 수 있다. Packet_Type 필드 값이 111 일 경우, Pakcet_Type 필드 뒤에 Link_Layer_Packet_Header_for_Framed_Packet(), 즉 프레임드 패킷을 위한 헤더 구조가 위치할 수 있다. 다른 경우는 향후 사용을 위해 남겨둘 수 있다(Reserved). 여기서 Packet_Type 필드의 값에 따른 의미는 실시예에 따라 변경될 수 있다.
이 후에는 링크 레이어 패킷의 페이로드 부분인 Link_Layer_Packet_Payload() 가 위치될 수 있다.
도 31 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더의 구조를 나타낸 도면이다.
이 경우, 링크 레이어 패킷의 헤더는 고정헤더(Fixed header) 와 확장헤더(Extended header) 를 포함할 수 있다. 고정 헤더는 1 바이트의 길이를 가질 수 있고, 확장 헤더는 고정된 길이를 가지거나 변화하는 값(variable)을 길이로 가질 수 있다. 각 헤더의 길이는 설계자의 의도에 따라 변경될 수 있다.
고정 헤더는 패킷 타입 필드, PC 필드 및/또는 카운트 필드를 포함할 수 있다. 다른 실시예에 따르면 고정 헤더는 패킷 타입 필드, PC 필드, LI 필드 및/또는 세그먼트 ID 필드를 포함할 수 있다.
확장 헤더는 세그먼트 시퀀스 넘버(Segment Sequence Number) 필드 및/또는 세그먼트 길이 ID(Segment Length ID) 필드를 포함할 수 있다. 다른 실시예에 따르면, 확장 헤더는 세그먼트 시퀀스 넘버 필드 및/또는 마지막 세그먼트 길이(Last Segment Length) 필드를 포함할 수 있다.
고정 헤더의 필드들에 대하여 설명한다.
패킷 타입 필드는 전술한 바와 같이, 링크레이어로 입력되는 패킷의 타입을 지시할 수 있다. IP 패킷이 링크 레이어의 입력으로 들어오는 경우, 패킷 타입 필드의 값은 000B 또는 001B 일 수 있다.
PC(Packet Configuration) 필드는, 뒤 따르는 고정 헤더의 나머지 부분 및/또는 확장 헤더의 구성을 지시할 수 있다. 즉, PC 필드는 입력된 IP 패킷이 어떠한 형태로 처리되었는지를 지시할 수 있다. 따라서, PC 필드는 확장 헤더의 길이에 대한 정보를 내포할 수 있다.
PC 필드의 값이 0 일 경우, 이는 링크 레이어 패킷의 페이로드가 하나의 IP 패킷을 포함하거나, 연쇄(concatenation)된 두 개 이상의 IP 패킷을 포함함을 의미할 수 있다. 여기서 연쇄란, 짧은 길이의 여러 패킷이 하나로 이어져 페이로드를 이루는 것을 의미할 수 있다.
또한, PC 필드의 값이 0 일 경우, PC 필드 뒤에는 4 비트의 카운트 필드가 뒤따를 수 있다. 여기서 카운트 필드는 하나의 페이로드가 몇 개의 연쇄된 IP 패킷을 가지고 있는지 지시할 수 있다. 카운트 필드의 값에 따른 연쇄된 IP 패킷의 개수에 대해서는 후술한다.
또한, PC 필드의 값이 0 일 경우, 이 경우 링크 레이어는 확장헤더를 포함하지 않을 수 있다. 그러나, 실시예에 따라, 링크 레이어 패킷의 길이가 표시될 필요가 있을 경우, 1-2 바이트의 확장헤더가 추가될 수 있다. 이 경우, 확장 헤더는 링크 레이어 패킷의 길이를 지시하는데 활용될 수 있다.
PC 필드의 값이 1 일 경우, 이는 링크 레이어 패킷의 페이로드가 분할된 패킷(segmented packet)을 포함함을 의미할 수 있다. 여기서, 분할된 패킷이란 긴 길이의 IP 패킷이 몇 개의 세그먼트로 나뉘어진 것을 의미할 수 있다. 각 분할된 조각들은 세그먼트 또는 분할된 패킷이라 불릴 수 있다. 즉, PC 필드의 값이 1 일 경우, 링크 레이어 패킷의 페이로드는 하나의 분할된 조각, 세그먼트를 포함할 수 있다.
또한, PC 필드의 값이 1 일 경우, PC 필드 뒤에는 1비트의 LI 필드와 3 비트의 세그먼트 ID 필드가 뒤따를 수 있다.
LI(Last Segment Indicator) 필드는 해당 링크 레이어 패킷이 분할된 세그먼트들 중 제일 마지막 세그먼트를 포함하는지 여부를 지시할 수 있다. 즉, LI 값이 1 일 경우, 해당 링크레이어는 분할된 세그먼트들 중 제일 마지막 세그먼트를 포함하고, LI 값이 0 일 경우 그렇지 아니하다. LI 필드는, 수신기가 본래의 IP 패킷을 재구성할 때 사용될 수 있다. LI 필드의 값은 링크 레이어 패킷의 확장 헤더에 대한 정보를 지시할 수도 있다. 즉, LI 필드 값이 0 인 경우, 확장 헤더의 길이는 1 바이트, 값이 1인 경우, 확장 헤더의 길이는 2 바이트일 수 있다. 자세한 사항은 후술한다.
세그먼트 ID 필드는 해당 링크 레이어 패킷이 포함하는 세그먼트의 ID 를 나타낼 수 있다. 하나의 IP 패킷이 분할될 때, 각 세그먼트들은 동일한 ID 를 부여받을 수 있다. 이 세그먼트 ID 는, 수신기가 본래의 IP 패킷을 재구성할 때, 각각의 세그먼트가 동일한 IP 패킷의 구성요소임을 알 수 있게 해준다. 세그먼트 ID 필드는 3비트의 크기를 가지므로, 동시에 총 8개의 IP 패킷의 분할(segmentation) 이 지원될 수 있다.
또한, PC 필드의 값이 1 일 경우, 분할(segmentation) 에 관한 정보를 위해 확장헤더가 사용될 수 있다. 전술한 바와 같이, 확장헤더는 세그먼트 시퀀스 넘버, 세그먼트 길이 ID 필드, 및/또는 마지막 세그먼트 길이(Last Segment Length) 필드 등을 포함할 수 있다.
확장헤더의 필드들에 대하여 설명한다.
전술한 LI 필드가 0 의 값을 가질 경우, 즉 링크 레이어 패킷이 포함하는 세그먼트가 마지막 세그먼트가 아닐 경우, 확장헤더는 세그먼트 시퀀스 넘버 필드 및/또는 세그먼트 길이 ID 필드를 포함할 수 있다.
세그먼트 시퀀스 넘버 필드는 분할된 패킷이 몇 번째 패킷인지를 지시할 수 있다. 따라서, 하나의 IP 패킷에서 분할된 세그먼트들을 가지는 링크 레이어 패킷들은, 동일한 세그먼트 ID 필드를 가지지만, 다른 세그먼트 시퀀스 넘버 필드를 가진다. 세그먼트 시퀀스 넘버 필드는 4비트의 크기를 가지므로, 하나의 IP 패킷은 최대 16개의 세그먼트들로 분할될 수 있다.
세그먼트 길이 ID 필드는, 마지막 세그먼트가 아닌 세그먼트들의 길이를 지시할 수 있다. 마지막 세그먼트가 아닌 세그먼트들의 길이는 같을 수 있다. 따라서 그들의 길이는 기 지정된 길이 ID 를 이용해 표현될 수 있다. 세그먼트 길이 ID 필드는, 그 길이 ID 를 지시할 수 있다.
세그먼트의 길이는 피지컬 레이어의 FEC 코드 레이트에 따라 결정되어 있는 패킷의 입력 크기에 맞게 설정될 수 있다. 즉, 그 입력 크기에 맞게 세그먼트의 길이가 결정될 수 있고, 그 세그먼트 길이들이 세그먼트 길이 ID 에 의해 지정될 수 있다. 헤더의 오버헤드를 줄이기 위하여, 세그먼트가 가질 수 있는 길이는 16 개로 제한될 수 있다.
세그먼트의 길이에 따른 세그먼트 길이 ID 필드의 값에 대해서는 후술한다.
피지컬 레이어가 세그먼트의 길이에 무관하게 동작하는 경우, 세그먼트의 길이는 세그먼트 길이 ID 와 길이 유닛(Len_Unit, Length Unit)의 곱에 최소 세그먼트 길이(min_Len, minimum segment length)를 더하여 구할 수 있다. 여기서, 길이 유닛은 세그먼트의 길이를 표시하는 기본 단위이며, 최소 세그먼트 길이는 세그먼트 길이의 최소값을 의미할 수 있다. 길이 유닛과 최소 세그먼트 길이는, 송신기와 수신기에서 항상 동일한 값을 가져야 하며, 한번 결정된 이후에는 변하지 않는 것이 시스템 운용에 효율적이다. 길이 유닛과 최소 세그먼트 길이는, 시스템의 초기화 과정에서 피지컬 레이어의 FEC 처리 능력을 고려하여 결정될 수 있다.
전술한 LI 필드가 1 의 값을 가질 경우, 즉 링크 레이어 패킷이 포함하는 세그먼트가 마지막 세그먼트일 경우, 확장헤더는 세그먼트 시퀀스 넘버 필드 및/또는 마지막 세그먼트 길이 필드를 포함할 수 있다.
세그먼트 시퀀스 넘버 필드는 전술한 바와 같다.
마지막 세그먼트 길이 필드는, 마지막 세그먼트의 길이를 직접 지시할 수 있다. 하나의 IP 패킷이 특정 길이를 가진 세그먼트들로 분할되는 경우, 마지막 세그먼트는 그 길이가 다른 세그먼트들과 다를 수 있다. 따라서, 마지막 세그먼트 길이 필드가, 마지막 세그먼트의 길이를 직접 지시할 수 있다. 마지막 세그먼트 길이 필드는 1-4095 바이트를 표시할 수 있다. 표시될 수 있는 바이트 수는 실시예에 따라 달라질 수 있다.
도 32 는 전술한 본 발명의 다른 실시예에 따른 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더의 구조의 신택스를 나타낸 도면이다.
링크 레이어 패킷의 헤더(Link Layer Packet Header()) 는 먼저, Packet_Type 필드, PC(Payload_Config) 필드를 가질 수 있다. 이에 대해서는 전술한 바와 같다.
PC 필드 값이 0 일 경우, 뒤에 Count 필드가 올 수 있다.
PC 필드 값이 1 인 경우, 뒤에 Last_Segment_Indicator 필드, Segment_ID 필드, Segment_Sequence_Number 필드가 위치할 수 있다. 이 때, Last_Segment_Indicator 필드의 값에 따라 그 뒷부분의 구성이 바뀔 수 있다. Last_Segment_Indicator 필드가 0 일 경우, Segment_Sequence_Number 필드 뒤에 Segment_Length_ID 필드가 위치할 수 있다. Last_Segment_Indicator 필드가 1 일 경우, Segment_Sequence_Number 필드 뒤에 Last_Segment_Length 필드가 위치할 수 있다.
도 33 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 각 필드들의 값이 나타내는 바를 도시한 도면이다.
전술한 바와 같이, 카운트 필드의 값에 따라 연쇄된 IP 패킷의 개수가 결정될 수 있다(t61010). 카운트 필드의 값은 그대로 연쇄된 IP 패킷의 개수를 나타낼 수도 있으나, 0개의 패킷이 연쇄된 경우는 의미가 없다. 따라서, 카운트 필드는, 카운트 필드의 값에 1을 더한 개수의 IP 패킷이 연쇄되어 있음을 나타낼 수 있다. 즉, 표(t61010)와 같이, 0010 의 경우 3개, 0111 의 경우 8개의 IP 패킷이 연쇄되어 있음이 표현될 수 있다.
여기서, 카운트 필드의 값이 0000 일 경우 1개의 IP 패킷이 연쇄되어 있음을 나타내는데, 이는 연쇄없이, 링크 레이어 패킷의 페이로드가 하나의 IP 패킷을 포함함을 나타낼 수 있다.
전술한 바와 같이, 분할된 세그먼트의 길이는 세그먼트 길이 ID 필드의 값에 의해 표현될 수 있다(t61020).
예를 들어, 세그먼트 길이 ID 필드의 값이 0000 일 경우, 세그먼트 길이는 512 바이트일 수 있다. 이는 해당 링크 레이어 패킷의 페이로드가 포함하는 세그먼트가 마지막 세그먼트가 아니며, 512 바이트의 길이를 가짐을 의미할 수 있다. 이 세그먼트와 같은 IP 패킷에서 분할된 다른 세그먼트들 역시, 마지막 세그먼트가 아니라면, 512 바이트의 길이를 가질 수 있다.
본 도표에서는 길이 유닛은 256, 최소 세그먼트 길이는 512 의 값을 가진다. 따라서 가장 작은 세그먼트 길이는 512 바이트(세그먼트 길이 ID 필드 = 0000) 이다. 또한, 지정된 세그먼트의 길이들은 256 바이트의 간격을 가지고 증가한다.
도 34 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 하나의 IP 패킷이 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
하나의 IP 패킷이 링크 레이어 페이로드에 포함되는 경우, 즉 연쇄(concatenation) 또는 분할(segmentation)이 수행되지 않는 경우를, 노말 패킷으로 인캡슐레이션하는 경우라 부를 수 있다. 이 경우는 IP 패킷이 피지컬 레이어의 처리범위 내에 있는 경우일 수 있다.
본 실시예에서, 링크 레이어 패킷은 총 1 바이트의 헤더를 가질 수 있다. 헤더의 길이는 실시예에 따라 변경될 수 있다. 패킷 타입 필드의 값은 000 (IPv4 의 경우), 또는 001 (IPv6 의 경우) 일 수 있다. 노말 패킷 인캡슐레이션 과정은 IPv4 또는 IPv6 에 동일하게 적용될 수 있다. PC 필드의 값은, 하나의 패킷이 페이로드에 포함되므로 0 이 될 수 있다. 뒤따르는 카운트 필드는, 역시 하나의 패킷만이 페이로드에 포함되므로 0000 의 값을 가질 수 있다.
본 실시예에서, 링크 레이어 패킷의 페이로드는 하나의 IP 패킷을 그대로 포함할 수 있다.
본 실시예에서, 링크 레이어 패킷의 길이를 확인하기 위해서는, IP 패킷 헤더의 정보를 활용할 수 있다. IP 패킷의 헤더에는 IP 패킷의 길이를 나타내는 필드가 포함되어 있다. 이 필드를 길이 필드라 부를 수 있다. 이 길이 필드가 IP 패킷 내에 위치하는 곳은 고정되어 있을 수 있다. 하나의 IP 패킷이 그대로 링크 레이어의 페이로드로 들어오므로, 링크 레이어 패킷의 페이로드의 처음부터 일정 오프셋 길이만큼 이동한 위치에, 이 길이 필드가 자리할 수 있다. 따라서, 이 길이 필드를 이용하여 전체 링크 레이어의 페이로드 길이를 알 수 있다.
IPv4 의 경우, 페이로드 시작점부터 2 바이트, IPv6의 경우 payload 시작점 부터 4바이트 만큼 이동한 위치에, 이 길이 필드가 위치할 수 있다. 길이 필드는 2바이트의 길이를 가질 수 있다.
IPv4 의 경우에 있어, 길이 필드의 값을 LIPv4라 하고, 링크 레이어 패킷의 헤더 길이를 LH (1 바이트) 라고 하면, 전체 링크레이어 패킷의 길이(LT)는 도시된 수식과 같이 나타낼 수 있다(t62010). 여기서, 길이 필드의 값 LIPv4는 IPv4 패킷의 전체 길이를 나타낼 수 있다.
IPv6 의 경우에 있어, 길이 필드의 값을 LIPv6라 하고, 링크 레이어 패킷의 헤더 길이를 LH (1 바이트) 라고 하면, 전체 링크레이어 패킷의 길이(LT)는 도시된 수식과 같이 나타낼 수 있다(t62020). 여기서, 길이 필드의 값 LIPv6는 IPv6 패킷의 페이로드의 길이만을 나타내므로, 전체 링크레이어 패킷의 길이를 구하기 위해서는, IPv6 패킷의 고정 헤더 길이(40 바이트) 를 더해주어야 한다.
도 35 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 복수개의 IP 패킷이 연쇄(concatenation)되어 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
입력된 IP 패킷이 피지컬 레이어의 처리범위에 도달하지 못하는 경우, 복수 개의 IP 패킷을 연결하여 하나의 링크 레이어 패킷의 페이로드로 인캡슐레이션할 수 있다.
본 실시예에서, 링크 레이어 패킷은 총 1 바이트의 헤더를 가질 수 있다. 헤더의 길이는 실시예에 따라 변경될 수 있다. 패킷 타입 필드의 값은 000 (IPv4 의 경우), 또는 001 (IPv6 의 경우) 일 수 있다. 본 실시예의 인캡슐레이션 과정은 IPv4 또는 IPv6 에 동일하게 적용될 수 있다. PC 필드의 값은, 연쇄된 복수개의 IP 패킷이 페이로드에 포함되므로 0 이 될 수 있다. 뒤따르는 카운트 필드는, 연쇄된 복수개의 IP 패킷의 개수를 지시할 수 있다(4비트).
본 실시예에서, 링크 레이어 패킷의 페이로드는 복수개의 IP 패킷을 포함할 수 있다. 복수개의 IP 패킷은 앞뒤로 서로 연결되어 링크 레이어 패킷의 페이로드에 포함될 수 있다. 연쇄되는 방식은 설계자의 의도에 따라 변경될 수 있다.
본 실시예에서, 링크 레이어 패킷의 길이를 확인하기 위해서는, 연쇄된 IP 패킷 헤더의 정보를 활용할 수 있다. 전술한 노말 패킷 인캡슐레이션과 마찬가지로, 각 IP 패킷의 헤더에는 그 IP 패킷의 길이를 나타내는 길이 필드가 존재할 수 있다. 또한, 이 길이 필드들은 IP 패킷 내에서 고정된 자리에 위치할 수 있다.
따라서, 링크 레이어 패킷의 헤더 길이를 LH, 각각의 IP 패킷의 길이를 Lk(여기서 k 는 1보다 크거나 같고, n 보다 작거나 같다)라고 하면, 전체 링크 레이어 패킷의 길이(LT)는 도시된 수식과 같이 나타낼 수 있다(t63010). 즉, 각 IP 패킷의 길이 필드들이 지시하는 각 IP 패킷의 길이들을 모두 합하고, 거기에 링크 레이어 패킷의 헤더 길이를 더하면, 전체 링크 레이어 패킷의 길이를 구할 수 있다. Lk의 값은 각 IP 패킷의 헤더의 길이 필드를 읽어서 확인할 수 있다.
도 36 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 하나의 IP 패킷이 분할(segmentation)되어 링크 레이어 페이로드에 포함되는 경우를 도시한 도면이다.
입력된 IP 패킷이 피지컬 레이어의 처리범위를 넘어서는 경우, 하나의 IP 패킷은 복수개의 세그먼트로 분할될 수 있다. 각 분할된 세그먼트들은 각각의 링크 레이어 패킷의 페이로드에 인캡슐레이션될 수 있다.
본 실시예에서, 각 링크 레이어 패킷들(t64010, t64020, t64030)은 고정 헤더와 확장헤더를 가질 수 있다. 각 고정 헤더 및 확장헤더의 길이는 실시예에 따라 변경될 수 있다. 패킷 타입 필드의 값은 000 (IPv4 의 경우), 또는 001 (IPv6 의 경우) 일 수 있다. 본 실시예의 인캡슐레이션 과정은 IPv4 또는 IPv6 에 동일하게 적용될 수 있다. PC 필드의 값은, 분할된 세그먼트들이 페이로드에 포함되므로 1 이 될 수 있다.
마지막 세그먼트가 아닌 세그먼트들을 페이로드로 가지는 링크 레이어 패킷들(t64010, t64020)은 LI 필드 값이 0 일 수 있고, 각각의 세그먼트 ID 필드는 같은 값을 가질 수 있다. 각 세그먼트들이 같은 IP 패킷에서 분할된 세그먼트들이기 때문이다. 뒤따르는 세그먼트 시퀀스 넘버 필드는 해당 세그먼트의 순서를 나타낼 수 있다. 여기서 첫번째 링크레이어패킷(t64010)의 세그먼트 시퀀스 필드 값은, 해당 링크레이어 패킷이 첫번째 세그먼트를 페이로드로 가짐을 지시할 수 있다. 두번째 링크레이어패킷(t64020)의 세그먼트 시퀀스 필드 값은, 해당 링크레이어 패킷이 두번째 세그먼트를 페이로드로 가짐을 지시할 수 있다. 세그먼트 길이 ID 필드는 분할된 세그먼트의 길이를, 기지정된 길이 ID 로 표현할 수 있다.
마지막 세그먼트를 페이로드로 가지는 링크레이어 패킷(t64030)은, LI 필드 값이 1일 수 있다. 여기서, 세그먼트 ID 필드는 다른 링크 레이어 패킷들과 같을 수 있다. 마지막 세그먼트도 같은 IP 패킷에서 분할된 세그먼트이기 때문이다. 뒤따르는 세그먼트 시퀀스 넘버 필드는 해당 세그먼트의 순서를 나타낼 수 있다. 마지막 세그먼트 길이 필드는, 이 링크레이어 패킷(t64030)이 가지는 마지막 세그먼트의 길이를 직접 지시할 수 있다.
본 실시예에서, 링크 레이어 패킷의 길이를 확인하기 위해서는, 세그먼트 길이 ID 필드 또는 마지막 세그먼트 길이 필드를 활용할 수 있다. 각 필드들은 해당 링크 레이어 패킷의 페이로드의 길이만을 나타내기 때문에, 전체 링크 레이어 패킷의 길이를 구하기 위해서는, 링크 레이어 패킷의 헤더 길이를 더해주어야 한다. 링크 레이어 패킷의 헤더 길이는, 전술한 것과 같이 LI 필드로부터 알 수 있다.
도 37 은 본 발명의 다른 실시예에 따른, 링크 레이어로 IP 패킷이 전달되는 경우의 링크 레이어 패킷의 헤더에 있어서, 분할(segmentation)된 세그먼트들을 가지는 링크 레이어 패킷들을 도시한 도면이다.
본 실시예는, 5500 바이트의 IP 패킷이 입력으로 들어온 것을 가정한다. 5500 을 5 로 나눈 값은 1100 이므로, 이 값과 가장 가까운 1024 바이트의 길이로 각 세그먼트를 구성할 수 있다. 이 경우, 마지막 세그먼트는 1404 바이트(010101111100B) 일 수 있다. 나눠진 각각의 세그먼트를 S1, S2, S3, S4, S5로 부를 수 있고, 그에 해당하는 헤더를 각각 H1, H2, H3, H4, H5로 부를 수 있다. 세그먼트에 헤더가 추가되어 각각의 링크 레이어 패킷이 생성될 수 있다.
입력된 IP 패킷이 IPv4 패킷인 경우, H1 내지 H5 의 패킷 타입 필드는 000 의 값을 가질 수 있다. 또한, H1 내지 H5 의 PC 필드 값은, 분할된 패킷을 페이로드로 가지므로, 1 일 수 있다.
H1 내지 H4 의 LI 값은, 마지막 세그먼트를 페이로드로 가지지 않으므로 0 일 수 있다. H5 의 LI 값은 마지막 세그먼트를 페이로드로 가지므로, 1 일 수 있다. H1 내지 H5 의 Seg_ID, 즉 세그먼트 ID 필드는, 모두 같은 패킷으로부터 나온 세그먼트를 페이로드로 가지므로, 같은 값 (000) 을 가질 수 있다.
H1 내지 H5 의 Seg_SN, 즉 세그먼트 시퀀스 넘버 필드는 H1 부터 H5 까지 순차적으로 0000B 부터 0100B 까지 표시될 수 있다. H1 내지 H4 의 세그먼트 길이 ID 필드는, 1024 바이트 길이의 ID 에 해당하는 0010 의 값을 가질 수 있다. H5 의 세그먼트 길이 필드는, 1404 바이트를 지시하는 010101111100 를 그 값으로 가질 수 있다.
도 38 은 본 발명의 일 실시예에 따른 RoHC 전송을 위한 링크 레이어 패킷(link layer packet)의 헤더를 도시한 도면이다.
IP 기반의 방송 환경에서도, IP 패킷이 전술한 링크 레이어 패킷으로 압축, 전송될 수 있다. IP 기반의 방송 시스템에서 스트리밍을 하는 경우에, 일반적으로 IP 패킷의 헤더 정보가 거의 변하지 않고 유지될 수 있다. 이 점을 이용하여 IP 패킷의 헤더가 압축될 수 있다.
IP 패킷의 헤더(=IP 헤더) 를 압축하는 데에 있어 RoHC((Robust Header Compression) 기법이 주로 사용된다. 본 발명에서는 RoHC 패킷이 링크 레이어(link layer) 에 입력으로 들어온 경우에 있어서의 압축(encapsulation) 방법을 제안한다.
RoHC 패킷이 링크 레이어의 입력으로 들어오면, 전술한 패킷 타입 엘레멘트의 값은 010B 일 수 있다. 이는 전술한 바와 같이 상위 계층에서 링크 계층으로 전달되는 패킷이 Compressed IP 패킷임을 나타낸다.
RoHC 패킷이 입력되는 경우, 링크 레이어 패킷의 헤더는, 전술한 다른 패킷들과 마찬가지로, 고정 헤더(Fixed Header) 및/또는 확장 헤더(Extended Header)를 포함할 수 있다.
고정 헤더는 패킷 타입 필드 및/또는 PC(Packet Configuration) 필드를 포함할 수 있다. 고정 헤더는 총 1바이트의 크기를 가질 수 있다. 여기서, 패킷 타입 필드는, Compressed IP 패킷의 경우이므로 010 의 값을 가질 수 있다. 확장 헤더는 실시예에 따라 고정되거나 변하는 크기를 가질 수 있다.
고정 헤더의 PC 필드는, 링크 레이어 패킷의 페이로드를 구성하는 RoHC 패킷이 처리되는 형태를 지시하는 필드일 수 있다. PC 필드의 값에 의하여, 이를 뒤따르는 고정헤더의 나머지 부분 및 확장 헤더의 정보가 결정될 수 있다. 또한, PC 필드는 RoHC 패킷이 처리되는 형태에 따른 확장헤더의 길이 정보를 내포할 수 있다. PC 필드는 1 비트의 크기를 가질 수 있다.
PC 필드의 값이 0B 일 경우에 대해 설명한다.
PC 필드의 값이 0B 일 경우, 링크 레이어 패킷의 페이로드가 하나의 RoHC 패킷으로 구성되거나, 두 개 이상의 RoHC 패킷으로 연쇄(concatenation) 되는 경우에 해당한다. 연쇄(concatenation)은 짧은 길이의 패킷이 여러 개 이어져서, 링크 레이어 패킷의 페이로드를 구성하는 경우를 의미한다.
PC 필드의 값이 0B 일 경우, PC 필드 뒤에 1비트의 CI(Common CID Indicator) 필드와 3 비트의 카운트 필드가 뒤따를 수 있다. 이에 따라 확장 헤더에 커먼 CID 정보와 길이 파트(length part) 가 추가될 수 있다. 길이 파트는 RoHC 패킷의 길이를 표시하는 파트일 수 있다.
CI(Common Context ID Indicator) 필드는, 하나의 링크 레이어 패킷의 페이로드를 구성하는 RoHC 패킷의 CID (Context ID)가 모두 같은 경우 1로 설정되고, 그렇지 않은 경우에는 0으로 설정될 수 있다. CI 값이 1 인 경우 공통된 CID에 대한 오버헤드 처리 방법이 적용될 수 있다. CI 필드는 1비트일 수 있다.
카운트(count) 필드는, 하나의 링크 레이어 패킷의 페이로드에 몇 개의 RoHC 패킷이 포함되어 있는지를 지시할 수 있다. 즉, 연쇄(concatenation)의 경우에 있어, 연쇄되어 있는 RoHC 패킷의 개수가, 카운트 필드에 의해 지시될 수 있다. 카운트 필드는 3 비트일 수 있다. 따라서 다음 표와 같이 최대 8개의 RoHC 패킷이 하나의 링크 레이어 패킷의 페이로드에 포함될 수 있다. 카운트 필드가 000 의 값을 가질 경우, RoHC 패킷이 연쇄되지 않고, 하나의 RoHC 패킷이 링크 레이어 패킷의 페이로드를 구성함을 의미할 수 있다.
Figure pct00001
길이 파트(Length part) 는 전술한 바와 같이, RoHC 패킷의 길이를 표시하는 파트일 수 있다. RoHC 패킷의 경우, RoHC 패킷 헤더에 길이 정보가 제거되어 온다. 따라서, RoHC 패킷 헤더 내의 길이 필드를 활용할 수 없다. 따라서 수신기가 해당 RoHC 패킷의 길이를 알 수 있게 하기 위해 링크 레이어 패킷의 헤더는 길이 파트를 포함할 수 있다.
IP 패킷은 MTU가 결정되지 않은 경우, 최대 65535 바이트 길이를 가진다. 따라서, RoHC 패킷에 대해서도 최대 길이까지 지원할 수 있도록 2 바이트의 길이 정보가 필요하다. 또한 여러 개의 RoHC 패킷이 연쇄(concatenation)된 경우, 카운트 필드에서 지정한 수 만큼 길이 필드(length field)가 추가될 수 있다. 이 경우, 길이 파트는 복수개의 길이 필드를 포함하게 된다. 단, 1개의 RoHC 패킷이 페이로드에 포함되는 경우에는 하나의 길이 필드만이 포함될 수 있다. 길이 필드들의 배치는 링크 레이어 패킷의 페이로드를 구성하는 RoHC 패킷의 순서와 동일하게 배치 될 수 있다. 각각의 길이 필드는 바이트 단위의 값을 가질 수 있다.
커먼 CID(Common CID) 필드는 공통되는 CID 를 전송하는 필드일 수 있다. RoHC 패킷 의 헤더 부분에는 압축된 헤더 사이의 관계를 확인하기 위한 CID(context ID)가 포함될 수 있다. 이 CID 는 안정적인 link 상태에서는 동일한 값으로 유지될 수 있다. 이에 따라, 하나의 링크 레이어 패킷의 페이로드에 포함되는 RoHC 패킷이 모두 동일한 CID를 포함할 수도 있다. 이 경우, 오버헤드를 줄이기 위하여, 연쇄된 페이로드를 구성하는 RoHC 패킷의 헤더 부분에서 CID 를 제거하고, 링크 레이어 패킷의 헤더에 커먼 CID 필드에 그 값을 표시하여 전송할 수 있다. 수신기에서는 커먼 CID 필드를 이용하여 RoHC 패킷의 CID 들을 재조합해낼 수 있다. 커먼 CID 필드가 있을 경우, 전술한 CI 필드의 값은 1이 되어야 한다.
PC 필드의 값이 1B 일 경우에 대해 설명한다.
PC 필드의 값이 1B 일 경우, 링크 레이어 패킷의 페이로드가 RoHC 패킷의 세그멘티드(segmented) 패킷으로 구성되는 경우에 해당한다. 여기서, 세그멘티드 패킷이란, 긴 길이의 RoHC 패킷을 복수개의 세그먼트로 나누고, 그 중 하나의 세그먼트가 링크 레이어 패킷의 페이로드를 구성하는 것을 의미할 수 있다.
PC 필드의 값이 1B 일 경우, PC 필드 뒤에 1비트의 LI(Last Segment Indicator) 필드와 3 비트의 세그먼트 ID 필드가 뒤따를 수 있다. 또한, 세그먼테이션(segmentation)에 대한 정보를 추가하기 위하여, 확장헤더에 세그먼트 시퀀스 넘버(Segment Sequence Number) 필드와 세그먼트 길이 ID (Segment Length ID) 필드, 마지막 세그먼트 길이(Last Segment Length) 필드 등이 추가될 수 있다.
LI (Last Segment Indicator) 필드는 RoHC 패킷이 세그멘티드 되는 경우에 있어 활용될 수 있는 필드이다. RoHC 패킷이 복수개의 세그먼트로 나뉘어질 수 있다. LI 값이 1 인 경우, 현재 링크 레이어 패킷이 포함하는 세그먼트가, 하나의 RoHC 패킷에서 나눠진 세그먼트 중 마지막에 위치한 세그먼트임을 의미할 수 있다. LI 값이 0인 경우, 현재 링크 레이어 패킷이 포함하는 세그먼트가, 마지막 세그먼트가 아님을 의미할 수 있다. LI 필드는 수신기에서 세그먼트를 모아 하나의 RoHC 패킷으로 재구성할 때, 모든 세그먼트가 수신 되었는지 판단할 때 사용될 수 있다. LI 필드는 1 비트일 수 있다.
세그먼트 ID (Seg_ID) 필드는 RoHC 패킷이 세그멘티드 되는 경우에 있어, RoHC 패킷에 부여되는 ID 를 지시하는 필드일 수 있다. 하나의 RoHC 패킷에서 파생된 세그먼트들은 모두 같은 값의 세그먼트 ID 를 가질 수 있다. 수신기는 각각 전송되어진 세그먼트를 하나로 합치는 경우, 세그먼트 ID 를 이용하여 동일한 RoHC 패킷의 구성요소임인지 여부를 판단할 수 있다. 세그먼트 ID 필드는 3비트일 수 있다. 따라서, 동시에 8개의 RoHC 패킷의 세그멘테이션(segmentation)을 지원할 수 있다.
세그먼트 시퀀스 넘버 (Seg_SN) 필드는 RoHC 패킷이 세그멘테이션 되었을 때, 각 세그먼트의 순서를 확인하기 위해 사용되는 필드일 수 있다. 즉, 하나의 RoHC 패킷에서 파생된 세그먼트들을 페이로드로 가지는 링크 레이어 패킷들은, 동일한 Seg_ID를 가지지만, 서로 다른 Seg_SN 을 가질 수 있다. Seg_SN 은 4비트일 수 있다. 따라서, 하나의 RoHC 패킷은 최대 16개의 세그먼트로 나뉘어질 수 있다.
세그먼트 길이 ID (Seg_Len_ID) 필드는, 각 세그먼트의 길이를 표현하는데 활용될 수 있다. 그러나, 세그먼트 길이 ID 필드는 복수개의 세그먼트 중, 마지막 세그먼트를 제외한 세그먼트의 길이를 표현하는데 사용될 수 있다. 마지막 세그먼트의 길이는 후술할 마지막 세그먼트 길이 필드에 의해 지시될 수 있다. 링크 레이어 패킷의 페이로드가, RoHC 패킷의 마지막 세그먼트가 아닌 경우, 즉, LI 의 값이 0인 경우에 세그먼트 길이 ID 필드가 존재할 수 있다.
헤더의 오버헤드를 줄이기 위하여, 세그먼트가 가질 수 있는 길이가 16개로 제한될 수 있다. 피지컬 레이어(Physical layer)에서 처리하는 FEC 의 코드 레이트(code rate)에 따라 패킷의 입력 크기가 결정되어 있을 수 있다. 이에 맞게 세그먼트의 길이를 결정하여, Seg_Len_ID로 지정할 수 있다. 세그먼트의 길이에 무관하게 피지컬 레이어가 동작하는 경우, 다음과 같이 세그먼트의 길이가 결정될 수 있다.
Figure pct00002
여기서, Len_Unit (Length Unit)은 세그먼트의 길이를 표시하는 기본 단위이며, min_Len은 세그먼트 길이의 최소값을 의미할 수 있다. Len_Unit과 min_Len은 송신기와 수신기에서 동일한 값을 가져야 하며, 한번 결정된 이후에는 변하지 않는 것이 시스템의 운용에 효율적이다. 또한, Len_Unit과 min_Len은 시스템의 초기화 과정에서 피지컬 레이어의 FEC의 처리 능력을 고려하여 결정될 수 있다.
다음 표는, Seg_Len_ID 의 값에 따라 표현되는 세그먼트의 길이를 정리한 것으로서, Seg_Len_ID 에 할당된 길이는 일 실시예이며 설계자의 의도에 따라 변경될 수 있다. 이 실시예에서는 Len_Unit 값은 256, min_Len 값은 512 이다.
Figure pct00003
마지막 세그먼트 길이 (L_Seg_Len) 필드는, 링크 레이어 패킷의 페이로드에 담긴 세그먼트가, RoHC 패킷의 마지막 세그먼트인 경우에 활용되는 필드이다. 즉, LI 필드 값이 1 인 경우에 활용되는 필드이다. RoHC 패킷을 Seg_Len_ID를 이용하여 앞부분부터 동일한 크기로 나눌 수 있다. 그러나, 이 경우 마지막 세그먼트는 Seg_Len_ID 에서 지시하는 크기로 나뉘어지지 않을 수 있다. 따라서, 마지막 세그먼트의 길이는 L_Seg_Len 필드에 의해 직접적으로 표시될 수 있다. L_Seg_Len 필드는 1~4095 바이트를 표시할 수 있다. 이는 실시예에 따라 변경될 수 있다.
도 39 은 본 발명의 일 실시예에 따른 RoHC 전송을 위한 링크 레이어 패킷(link layer packet)의 헤더의 신택스를 도시한 도면이다.
링크 레이어 패킷의 헤더(Link Layer Packet Header()) 는 먼저, Packet_Type 필드, PC(Payload_Config) 필드를 가질 수 있다. 이에 대해서는 전술한 바와 같다.
PC 필드 값이 0 일 경우, 뒤에 Common_Context_ID_Indicator 필드, Count 필드가 올 수 있다. 또한 Count 필드가 나타내는 값에 근거하여, 복수개의 Length 필드들이 위치할 수 있다. 또한, CI 필드가 1 일 경우 Common_CID 필드가 더 위치할 수 있다.
PC 필드 값이 1 인 경우, 뒤에 Last_Segment_Indicator 필드, Segment_ID 필드, Segment_Sequence_Number 필드가 위치할 수 있다. 이 때, Last_Segment_Indicator 필드의 값에 따라 그 뒷부분의 구성이 바뀔 수 있다. Last_Segment_Indicator 필드가 0 일 경우, Segment_Sequence_Number 필드 뒤에 Segment_Length_ID 필드가 위치할 수 있다. Last_Segment_Indicator 필드가 1 일 경우, Segment_Sequence_Number 필드 뒤에 Last_Segment_Length 필드가 위치할 수 있다.
도 40 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #1 을 도시한 도면이다.
본 실시예는, RoHC 패킷이 피지컬 레이어의 처리 범위 내에 있어서, 하나의 RoHC 패킷이 링크 레이어 패킷의 페이로드를 구성하는 경우에 해당한다. 이 경우, RoHC 패킷은 연쇄(concatenation)이나 세그먼테이션(segmantation)되지 않을 수 있다.
이 경우, 하나의 RoHC 패킷이 그대로 링크 레이어 패킷의 페이로드가 될 수 있다. 패킷 타입의 값은 010B 가 되고, PC 필드의 값은 0B, CI 필드값은 0B 일 수 있다. 전술한 카운트 필드의 경우, 하나의 RoHC 패킷이 그대로 페이로드를 구성하므로(1개), 전술한 바와 같이 000B 의 값을 가질 수 있다. 뒤이어, RoHC 패킷의 길이를 나타내는 2바이트의 길이 필드가 이어질 수 있다. 이 경우 하나의 패킷만이 페이로드를 구성하므로 길이 파트는 하나의 길이 필드만 포함할 수 있다.
이 실시예에서, 총 3 바이트의 링크 레이어 헤더가 추가될 수 있다. 따라서, 길이 필드가 지시하는 RoHC 패킷의 길이가 L 바이트라 할 때, 총 링크 레이어 패킷의 길이는 L+3 바이트가 된다.
도 41 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #2 를 도시한 도면이다.
본 실시예는, RoHC 패킷이 피지컬 레이어의 처리 범위 내에 도달하지 못하여, 복수개의 RoHC 패킷이 연결되어 링크 레이어 패킷의 페이로드에 포함되는 경우에 해당한다(연쇄(concatenation)).
이 경우, PC 필드 및 CI 필드의 값은 하나의 RoHC 패킷이 페이로드에 포함되는 경우와 동일하다. 이 후 카운트 필드가 이어진다. 카운트 필드는 전술한 바와 같이 몇 개의 RoHC 패킷이 페이로드에 포함되는지에 따라 001B ~ 111B 의 값을 가질 수 있다.
뒤이어 각 2바이트의 길이를 가지는 길이 필드가, 카운트 필드가 지시하는 개수만큼 위치될 수 있다. 각 길이 필드는 각 RoHC 패킷의 길이를 지시할 수 있다. 이 길이 필드(Length field)들을 길이 파트(Length part)라 부를 수 있다.
여기서, 카운트 필드가 지시하는 값이 n개라고 할 때, 링크 레이어 패킷의 페이로드에는 각각 L1, L2, …, Ln의 길이를 가지는 RoHC 패킷 R1, R2, …, Rn 이 연쇄되어 있을 수 있다.
총 확장 헤더는 2n 바이트의 길이를 가질 수 있다. 링크 레이어 패킷의 전체 길이 LT 는 다음 식과 같이 표현될 수 있다.
Figure pct00004
도 42 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #3 를 도시한 도면이다.
본 실시예는, 복수개의 RoHC 패킷이 연결되어 링크 레이어 패킷의 페이로드를 구성하는 경우(연쇄(concatenation))에 있어서, 연쇄된 RoHC 패킷들이 동일한 CID (Context ID)를 가지는 경우에 해당한다.
RoHC 패킷들이 동일한 CID를 가지는 경우, CID를 한 번만 표기하여 전송하여도 수신기에서는 다시 원래대로 RoHC 패킷 및 그 헤더를 복원할 수 있다. 따라서, RoHC 패킷들에서 공통되는 CID 를 추출하여 한번만 전송하는 것이 가능하고, 이 경우 오버헤드를 줄일 수 있다.
이 경우, 전술한 CI 필드의 값은 1 이 된다. 이는 동일한 CID 에 대한 처리가 이루어졌다는 의미일 수 있다. 동일한 CID 를 가지는 RoHC 패킷들을 [R1, R2, R3, … , Rn] 로 표시하였다. 공통되는 CID 는 커먼 CID(Common CID) 로 불릴 수 있다. RoHC 패킷의 헤더 에서 CID를 제외한 패킷을 R'k 라 표시하였다(k 는 1, 2, ..., n).
링크 레이어 패킷의 페이로드는 R'k (k 는 1, 2, ..., n) 들을 포함할 수 있다. 링크 레이어 패킷의 확장 헤더의 끝부분에는 커먼 CID 필드가 추가될 수 있다. 커먼 CID 필드는 공통되는 CID 를 전송하는 필드일 수 있다. 커먼 CID 필드는 확장 헤더의 한 부분으로 전송될 수도 있고, 링크 레이어 패킷의 페이로드의 한 부분으로 전송될 수도 있다. 시스템의 운용에 따라, 커먼 CID 필드의 위치가 확인될 수 있는 부분에 적절히 재배치하는 것이 가능하다.
커먼 CID 필드의 크기는 RoHC 패킷의 컨피규레이션에 따라 달라질 수 있다.
RoHC 패킷의 컨피규레이션이 스몰 CID 컨피규레이션(Small CID configuration)인 경우, RoHC 패킷의 CID 크기는 4비트일 수 있다. 단, RoHC 패킷에서 CID 를 추출하여 재배치하는 경우에는, add-CID octet 전체가 처리될 수 있다. 즉, 커먼 CID 필드가 1바이트의 길이를 가질 수 있다. 또는, RoHC 패킷에서 1 바이트의 add-CID octet을 추출 한 후, 4비트의 CID만 Common CID 필드에 할당 하고, 나머지 4비트는 추후 활용을 위하여 남겨둘 수도 있다.
RoHC 패킷의 컨피규레이션이 라지 CID 컨피규레이션(Large CID configuration)인 경우, RoHC 패킷의 CID 크기는 1 바이트 또는 2바이트 길이를 가질 수 있다. CID 의 크기는 RoHC 초기화 과정에서 결정되는 사항이다. CID 의 크기에 따라, 커먼 CID 필드는 1 바이트 또는 2 바이트의 길이를 가질 수 있다.
본 실시예에서, 링크 레이어 패킷의 페이로드의 길이는 다음과 같이 계산될 수 있다. 동일한 CID 를 가지는 n개의 RoHC 패킷 R1, R2, …, Rn 의 길이를 각각 L1, L2, …, Ln 라 할 수 있다. 링크 레이어 패킷의 헤더의 길이를 LH, 커먼 CID 필드의 길이를 LCID , 링크 레이어 패킷의 전체 길이를 LT 라 하면, LH 는 다음과 같다.
Figure pct00005
또한, LT 는 다음과 같이 계산할 수 있다.
Figure pct00006
전술한 바와 같이, LCID 는 RoHC 의 CID 컨피규레이션에 따라 결정될 수 있다. 즉, LCID 는 스몰 CID 컨피규레이션의 경우 1바이트, 라지 CID 컨피규레이션의 경우 1바이트 또는 2 바이트가 될 수 있다.
도 43 은 본 발명에 따른, 링크 레이어 패킷을 통한 RoHC 패킷 전송 방법의 실시예 #4 를 도시한 도면이다.
본 실시예는, 입력된 RoHC 패킷이 피지컬 레이어의 처리 범위를 넘어서는 경우(segmentation)에 있어서, 분리된 세그먼트가 각각 링크 레이어 패킷의 페이로드로 압축(encapsulation)되는 경우에 해당한다.
링크 레이어 패킷의 페이로드가 분할된 RoHC 패킷으로 구성 되었음을 알려 주기 위해, PC 필드 의 값은 1B 이 된다. LI 필드는 RoHC 패킷의 맨 마지막 부분에 해당 하는 세그먼트를 페이로드로 가지는 경우에만 1B 이 되고, 나머지 모든 세그먼트에 대해서는 0B 가 된다. LI 필드의 값은 링크 레이어 패킷의 확장 헤더에 대한 정보를 알려주기도 한다. 즉, LI 필드 의 값이 0B 인 경우는 1 바이트, 1B 인 경우는 2바이트 길이의 확장 헤더가 추가될 수 있다.
같은 RoHC 패킷에서 분할되었음을 지시하기 위해 Seg_ID 값은 모두 동일한 값을 가져야 한다. 수신기에서 정상적인 RoHC 패킷 재조합을 위한 세그먼트의 순서 정보가 지시되기 위해, 순차적으로 증가하는 Seg_SN 값이 헤더에 기록될 수 있다.
RoHC 패킷을 분할할 때, 전술한 바와 같이 세그먼트의 길이를 결정하여 세그멘테이션이 수행될 수 있다. 그 길이에 맞는 Seg_Len_ID 값이 헤더에 기록될 수 있다. 마지막 세그먼트의 길이는 전술한 바와 같이, 12 비트의 L_Seg_Len 필드에 직접 기록될 수 있다.
Seg_Len_ID, L_Seg_Len 필드를 이용하여 표시하는 길이 정보는 세그먼트, 즉 링크 레이어 패킷의 페이로드에 대한 정보만 표시하게 된다. 따라서, 전체 링크 레이어 패킷의 길이 정보는 LI 필드를 통해 알 수 있는 링크 레이어 패킷의 헤더 길이를 더하여 계산해낼 수 있다.
수신측에서 RoHC 패킷의 세그먼트들을 재조합하는 과정에서, 재조합된 RoHC 패킷의 무결성을 확인할 필요가 있다. 이를 위해, 세그멘테이션 과정에서 IP 패킷 뒤에 CRC 가 추가될 수 있다. 일반적으로 CRC 는 RoHC 패킷의 마지막에 추가 되므로, 세그멘테이션 과정 이후에 마지막 세그먼트에 CRC 를 포함시킬 수 있다.
도 44 은 본 발명의 다른 실시예에 따른, 링크 레이어로 시그널링 정보가 전달되는 경우의 링크 레이어 패킷의 구조를 도시한 도면이다.
이 경우, 링크 레이어 패킷의 헤더는 고정헤더(Fixed header) 와 확장헤더(Extended header) 를 포함할 수 있다. 고정 헤더는 1 바이트의 길이를 가질 수 있고, 확장 헤더는 고정된 길이를 가지거나 변화하는 값(variable)을 길이로 가질 수 있다. 각 헤더의 길이는 설계자의 의도에 따라 변경될 수 있다.
고정 헤더는 패킷 타입 필드, PC 필드 및/또는 연쇄(concatenation) 카운트 필드를 포함할 수 있다. 다른 실시예에 따르면 고정 헤더는 패킷 타입 필드, PC 필드, LI 필드 및/또는 세그먼트 ID 필드를 포함할 수 있다.
확장 헤더는 시그널링 클래스 필드, 정보 타입(information type) 필드 및/또는 시그널링 포맷 필드를 포함할 수 있다. 다른 실시예에 따르면 확장헤더는 페이로드 길이 파트를 더 포함할 수 있다. 또 다른 실시예에 따르면, 확장헤더는 세그먼트 시퀀스 넘버 필드, 세그먼트 길이 ID 필드, 시그널링 클래스 필드, 정보 타입 필드 및/또는 시그널링 포맷 필드를 포함할 수 있다. 또 다른 실시예에 따르면, 확장헤더는 세그먼트 시퀀스 넘버 필드 및/또는 세그먼트 길이 ID 필드를 포함할 수 있다. 또 다른 실시예에 따르면, 확장헤더는 세그먼트 시퀀스 넘버 필드 및/또는 마지막 세그먼트 길이 필드를 포함할 수 있다.
고정 헤더의 필드들에 대하여 설명한다.
패킷 타입 필드는 전술한 바와 같이, 링크레이어로 입력되는 패킷의 타입을 지시할 수 있다. 시그널링 정보가 링크 레이어의 입력으로 들어오는 경우, 패킷 타입 필드의 값은 110B 일 수 있다.
PC 필드, LI 필드, 세그먼트 ID 필드, 세그먼트 시퀀스 넘버 필드, 세그먼트 길이 ID 필드, 마지막 세그먼트 길이 필드는 전술한 바와 같다. 연쇄 카운트 필드는 전술한 카운트 필드와 같다.
확장 헤더의 필드들에 대하여 설명한다.
PC 필드가 0 의 값을 가질 경우, 확장 헤더는 시그널링 클래스 필드, 정보 타입 필드 및/또는 시그널링 포맷 필드를 포함할 수 있다. 또한 시그널링 포맷 필드의 값에 따라, 확장헤더는 페이로드 길이 파트를 더 포함할 수 있다.
시그널링 클래스 필드는, 링크 레이어 패킷이 포함하는 시그널링 정보가 어떠한 타입의 정보인지를 지시할 수 있다. 시그널링 클래스 필드가 지시할 수 있는 시그널링 정보에는 FIC(Fast Information Channel) 정보 또는 헤더 컴프레션 정보 등등이 있을 수 있다. 시그널링 클래스 필드가 지시할 수 있는 시그널링 정보에 대해서는 후술한다.
정보 타입 필드는, 시그널링 클래스 필드가 지정하는 타입의 시그널링 정보에 대하여, 그 구체적인 사항을 지시할 수 있다. 정보 타입 필드가 의미하는 바는, 시그널링 클래스 필드의 값에 따라 별도로 정의될 수 있다.
시그널링 포맷 필드는, 링크 레이어 패킷이 포함하는 시그널링 정보가 어떠한 포맷을 가지는지 지시할 수 있다. 시그널링 포맷 필드가 지시할 수 있는 포맷에는 섹션 테이블, 디스크립터 또는 XML 등이 있을 수 있다. 시그널링 포맷 필드가 지시할 수 있는 포맷에 대해서는 후술한다.
페이로드 길이 파트는, 링크 레이어 패킷의 페이로드가 포함하는 시그널링 정보의 길이를 지시할 수 있다. 페이로드 길이 파트는, 연쇄되어 있는 각각의 시그널링 정보의 길이를 지시하는 길이 필드들의 집합일 수 있다. 각각의 길이 필드는 2 바이트의 크기를 가질 수 있으나, 시스템의 구성에 따라 크기는 변경될 수 있다. 페이로드 길이 파트의 전체길이는 각각의 길이 필드의 길이의 합으로 표현될 수 있다. 실시예에 따라 바이트의 정렬을 위한 패딩 비트가 추가될 수 있다. 이 경우 패딩 비트만큼 페이로드 길이 파트의 전체길이가 증가할 수 있다.
페이로드 길이 파트의 존부는, 시그널링 포맷 필드의 값에 따라 결정될 수 있다. 섹션 테이블 및 디스크립터와 같이, 해당 시그널링 정보가 해당 시그널링 정보의 길이 값을 가지는 경우에는 별도의 길이 필드가 필요하지 않을 수 있다. 그러나, 별도의 길이 값을 가지지 않는 시그널링 정보의 경우 별도의 길이 필드가 필요할 수 있다. 별도의 길이 값을 가지지 않는 시그널링 정보의 경우, 페이로드 길이 파트가 존재할 수 있다. 이 경우, 페이로드 길이 파트는 카운트 필드의 수만큼 길이 필드를 포함할 수 있다.
PC 필드가 1 이고, LI 필드가 1 의 값을 가질 경우, 확장 헤더는 세그먼트 시퀀스 넘버 필드 및/또는 마지막 세그먼트 길이 필드를 포함할 수 있다. PC 필드가 1 이고, LI 필드가 0 의 값을 가질 경우, 확장 헤더는 세그먼트 시퀀스 넘버 필드 및/또는 세그먼트 길이 ID 필드를 포함할 수 있다.
세그먼트 시퀀스 넘버 필드, 마지막 세그먼트 길이 필드, 세그먼트 길이 ID 필드는 전술한 바와 같다.
PC 필드가 1 이고, LI 필드가 0 의 값을 가지는 경우에 있어, 해당 링크 레이어 패킷의 페이로드가 첫번째 세그먼트이면 그 확장헤더는 부가 정보를 더 포함할 수 있다. 이 부가정보는 시그널링 클래스 필드, 정보 타입 필드, 및/또는 시그널링 포맷 필드를 포함할 수 있다. 시그널링 클래스 필드, 정보 타입 필드, 시그널링 포맷 필드는 전술한 바와 같다.
도 45 은 전술한 본 발명의 다른 실시예에 따른 링크 레이어로 시그널링 정보가 전달되는 경우의 링크 레이어 패킷의 구조에 있어서, 그 신택스를 도시한 도면이다.
링크 레이어 패킷의 헤더(Link Layer Packet Header()) 는 먼저, Packet_Type 필드, PC(Payload_Config) 필드를 가질 수 있다. 이에 대해서는 전술한 바와 같다.
PC 필드 값이 0 일 경우, 뒤에 Count 필드, Signaling_Class 필드, Information_Type 필드, Signaling_Format 필드가 올 수 있다. Signaling_Format 필드의 값이 1x 인 경우(10 또는 11), Count 필드가 나타내는 값에 근거하여, 복수개의 Length 필드들이 위치할 수 있다.
PC 필드 값이 1 인 경우, 뒤에 Last_Segment_Indicator 필드, Segment_ID 필드, Segment_Sequence_Number 필드가 위치할 수 있다. 이 때, Last_Segment_Indicator 필드의 값에 따라 그 뒷부분의 구성이 바뀔 수 있다.
Last_Segment_Indicator 필드가 0 일 경우, Segment_Sequence_Number 필드 뒤에 Segment_Length_ID 필드가 위치할 수 있다. 이 때, Segment_Sequence_Number 필드 값이 0000 인 경우, 그 뒤로 Signaling_Class 필드, Information_Type 필드, Signaling_Format 필드가 위치할 수 있다.
Last_Segment_Indicator 필드가 1 일 경우, Segment_Sequence_Number 필드 뒤에 Last_Segment_Length 필드가 위치할 수 있다.
도 46 은 본 발명의 일 실시예에 따른 framed packet 전송을 위한 링크 계층 패킷의 구조를 나타낸 도면이다.
IP 패킷 또는 MPEG-2 TS 패킷 이외에도 일반적인 네트워크에서 사용되고 있는 패킷을 링크 계층 패킷을 통하여 전송할 수 있다. 이 경우, 링크 계층 패킷의 헤더의 패킷 타입 엘레먼트는 '111B'의 값을 가지고, 링크 계층 패킷의 페이로드에 framed packet이 포함되어 있음을 나타낼 수 있다.
도 47 은 전술한 본 발명의 일 실시예에 따른 framed packet 전송을 위한 링크 계층 패킷의 구조에 있어서, 그 신택스를 나타낸 도면이다.
링크 레이어 패킷의 헤더(Link Layer Packet Header()) 는 먼저, Packet_Type 필드를 가질 수 있다. 이에 대해서는 전술한 바와 같다. 이후, 5 비트를 향후 사용을 위해 남겨둘 수 있다(reserved). 이후에는 framed_packet() 으로 표기된, 프레임드 패킷이 위치할 수 있다.
도 48 은 본 발명의 일 실시예에 따른 framed packet의 신택스 (syntax)를 나타낸 도면이다.
Framed packet 의 신택스는 ethernet_type, length, 및/또는 packet() 필드를 포함할 수 있다. 16 비트인 ethernet_type 필드는, IANA 레지스트리에 따라, packet() 필드 내의 패킷의 타입을 식별할 수 있다. 여기서, 레지스터된 값들만이 사용될 수 있다. 16비트인 length 필드는 packet() 구조의 전체 길이를 바이트단위로 설정할 수 있다. 가변 길이를 가지는 packet() 필드는 네트워크 패킷을 포함할 수 있다.
도 49 은 본 발명의 일 실시예에 따른 FIC (Fast Information Channel) 의 신택스 (syntax) 를 나타낸 도면이다.
FIC 에 포함되는 정보는, FIT (Fast Information Table) 형태로 전송될 수 있다.
FIT에 포함되는 정보는 XML 형태 및/또는 section table 형태로 전송될 수 있다.
FIC는 FIT_data_version 정보, num_broadcast 정보, broadcast_id 정보, delivery_system_id 정보, base_DP_id 정보, base_DP_version 정보, num_service 정보, service_id 정보, service_category 정보, service_hidden_flag 정보, SP_indicator 정보, num_component 정보, component_id 정보, DP_id 정보, 및/또는 RoHC_init_descriptor를 포함할 수 있다.
FIT_data_version 정보는, fast information table이 포함하는 syntax 및 semantics에 대한 버전 정보를 나타낼 수 있다. 이를 이용하여 수신기는 해당 Fast Information Table에 포함된 시그널링에 대한 처리여부 등을 결정할 수 있다. 수신기는 이 정보를 이용하여, 기 저장하고 있던 FIC 의 정보를 업데이트 할지를 결정할 수 있다.
num_broadcast 정보는, 해당 주파수 혹은 전송되는 transport frame을 통해 방송 서비스 및/또는 콘텐츠를 전송하는 방송국의 수를 나타낼 수 있다.
broadcast_id 정보는, 해당 주파수 혹은 전송되는 transport frame 을 통해 방송 서비스 및/또는 콘텐츠를 전송하는 방송국 고유의 구분자를 나타낼 수 있다. MPEG-2 TS 기반의 데이터를 전송하는 방송국의 경우 broadcast_id 는 MPEG-2 TS 의 transport_stream_id 와 같은 값을 가질 수 있다.
delivery_system_id 정보는, 전송되는 방송 네트워크 상에서 동일한 전송 파라미터를 적용하여 처리하는 방송 전송 시스템에 대한 식별자를 나타낼 수 있다.
base_DP_id 정보는, 방송 신호 내에서 base DP를 식별하는 정보이다. base DP는 broadcast_id에 해당하는 방송국의 PSI/SI (Program Specific Information / System Information) 및/또는 overhead reduction 등을 포함하는 서비스 시그널링을 전달하는 DP 를 지칭할 수 있다. 혹은 해당 방송국 내의 방송 서비스를 구성하는 component를 디코딩할 수 있는 대표 DP를 지칭할 수 있다.
base_DP_version 정보는, base DP를 통해 전송되는 데이터에 대한 버전 정보를 나타낼 수 있다. 예를 들어, base DP 을 통하여 PSI/SI 등 서비스 시그널링이 전달되는 경우 서비스 시그널링의 변화가 일어나는 경우, base_DP_version 정보의 값이 1 씩 증가할 수 있다.
num_service 정보는, 해당 주파수 혹은 transport frame 내에서 broadcast_id에 해당하는 방송국이 전송하는 방송 서비스의 개수를 나타낼 수 있다.
service_id 정보는, 방송 서비스를 구별할 수 있는 식별자로 사용될 수 있다.
service_category 정보는, 방송 서비스의 카테고리를 나타낼 수 있다. 해당 field가 가지는 값에 따라 다음과 같은 의미를 가질 수 있다. service_category 정보의 값이, 0x01 인 경우, Basic TV를, 0x02인 경우, Basic Radio를, 0x03 인 경우, RI service를, 0x08 인 경우, Service Guide를, 0x09 인 경우, Emergency Alerting임을 나타낼 수 있다.
service_hidden_flag 정보는, 해당 방송 서비스가 hidden 인지 여부를 나타낼 수 있다. 서비스가 hidden 인 경우 테스트 서비스 혹은 자체적으로 사용되는 서비스로, 방송 수신기에서는 이를 무시하거나 서비스 리스트에서 숨기는 등의 처리를 할 수 있다.
SP_indicator 정보는, Service protection이 해당 방송 서비스 내의 하나 이상의 component에 적용되는지 여부를 나타낼 수 있다.
num_component 정보는, 해당 방송 서비스를 구성하는 component의 개수를 나타낼 수 있다.
component_id 정보는, 방송 서비스 내의 해당 component를 구별하는 식별자로 사용될 수 있다.
DP_id 정보는, 해당 component가 전송되는 DP를 가리키는 식별자로 사용될 수 있다.
RoHC_init_descriptor는 Overhead Reduction 및/또는 header recovery 와 관련된 정보를 포함할 수 있다. RoHC_init_descriptor는 송신단에서 사용한 헤더 압축 방식을 식별하는 정보를 포함할 수 있다.
도 50 는 본 발명의 일 실시예에 따른, 비상 경보를 수행하는 방송 시스템을 나타낸 도면이다.
비상 경보를 발령하는 기관 (Alert Authorities / Originators) 에서 비상 경보와 관련된 정보를, 방송국 (송신기)이 수신하면, 방송국은 비상 경보와 관련된 정보를, 방송 시스템에 맞는 형태의 비상 경보 시그널링으로 변환하거나, 비상 경보와 관련된 정보를 포함하는 비상 경보 시그널링을 생성한다. 이 경우 비상 경보 시그널링은 CAP (Common Alerting Protocol) 메시지를 포함할 수 있다. 방송국은 수신기로 비상 경보 시그널링을 전달할 수 있다. 이 경우, 방송국은 일반 방송 데이터가 전송되는 경로로 비상 경보 시그널링을 전달할 수 있다. 또는 방송국은, 일반 방송 데이터가 전송되는 경로와는 다른 경로로 비상 경보 시그널링을 전달할 수 있다. 비상경보 시그널링은 후술한 EAT와 같은 형태로 생성될 수도 있다.
수신기는 비상 경보 시그널링을 수신한다. 비상 경보 시그널링 디코더는 비상 경보 시그널링을 파싱하고, CAP 메시지를 획득할 수 있다. 수신기는 CAP 메시지의 정보를 이용하여, 비상 경보 메시지를 생성하고, 이를 시청자에게 표출한다.
도 51 는 본 발명의 일 실시예에 따른, EAT (Emergency Alert Table) 의 신택스 (syntax)를 나타낸 도면이다.
EAC를 통하여 비상 경보와 관련된 정보가 전송될 수 있다. EAC는 전술한 dedicated channel에 해당될 수 있다.
본 발명의 일 실시예에 따른 EAT는 EAT_protocol_version 정보, automatic_tuning_flag 정보, num_EAS_messages 정보, EAS_message_id 정보, EAS_IP_version_flag 정보, EAS_message_transfer_type 정보, EAS_message_encoding_type 정보, EAS_NRT_flag 정보, EAS_message_length 정보, EAS_message_byte 정보, IP_address 정보, UDP_port_num 정보, DP_id 정보, automatic_tuning_channel_number 정보, automatic_tuning_DP_id 정보, automatic_tuning_service_id 정보, 및/또는 EAS_NRT_service_id 정보를 포함한다.
EAT_protocol_version 정보는, 수신된 EAT가 가지는 protocol version을 나타낸다.
automatic_tuning_flag 정보는, 수신기가 자동으로 channel 전환을 수행할지 여부를 알려 준다.
num_EAS_messages 정보는, EAT에 포함되어 있는 message에 대한 개수를 알려준다.
EAS_message_id 정보는, 각각의 EAS message를 식별하는 정보이다.
EAS_IP_version_flag 정보는, EAS_IP_version_flag 정보의 값이 0 인 경우, IPv4 임을 나타내고, EAS_IP_version_flag 정보의 값이, 1 인 경우 IPv6 임을 나타낸다.
EAS_message_transfer_type 정보는, EAS message가 전달되는 형태를 나타낸다. EAS_message_transfer_type 정보의 값이, 000 인 경우, not specified 인 상태를 나타내고, EAS_message_transfer_type 정보의 값이, 001 인 경우, No Alert message (only AV content) 임을 나타내고, EAS_message_transfer_type 정보의 값이, 010 인 경우, 해당 EAT 내에 EAS message가 포함됨을 나타낸다. 이를 위해 length field와 해당 EAS message에 대한 field 가 추가된다. EAS_message_transfer_type 정보의 값이, 011 인 경우, data pipe를 통해 EAS message가 전송됨을 알려준다. EAS는 data pipe 내에서 IP datagram의 형태로 전송될 수 있다. 이를 위해 IP address와 UDP port 정보, 전송되는 physical layer의 DP 정보가 추가 될 수 있다.
EAS_message_encoding_type 정보는, Emergence Alert message의 encoding type에 대한 정보를 알려준다. 예를 들어, EAS_message_encoding_type 정보의 값이 000 인 경우, not specified 임을 나타내고, EAS_message_encoding_type 정보의 값이 001 인 경우, No Encoding 임을 나타내고, EAS_message_encoding_type 정보의 값이 010 인 경우, DEFLATE algorithm (RFC1951) 임을 나타내고, EAS_message_encoding_type 정보의 값 중 001 ~ 111 은 다른 인코딩 타입을 위하여 예약될 수 있다.
EAS_NRT_flag 정보는, 수신되는 message와 관련한, NRT contents 및/또는 NRT data 가 존재하는지 가리킨다. EAS_NRT_flag 정보의 값이 0 인 경우, NRT contents 및/또는 NRT data 가 수신한 Emergency message와 관련하여 존재하지 않음을 나타내고, EAS_NRT_flag 정보의 값이 1 인 경우 NRT contents 및/또는 NRT data 가 수신한 Emergency message와 관련하여 존재함을 나타낸다.
EAS_message_length 정보는, EAS message의 길이를 나타낸다.
EAS_message_byte 정보는, EAS message의 content를 포함한다.
IP_address 정보는, EAS message를 전송하는 IP 패킷의 IP 주소를 나타낸다.
UDP_port_num 정보는, EAS message를 전송하는 UDP 포트 넘버를 나타낸다.
DP_id 정보는, EAS message를 전송하는 data pipe를 식별한다.
automatic_tuning_channel_number 정보는, 전환 되어야할 channel의 번호에 대한 정보를 포함한다.
automatic_tuning_DP_id 정보는, 해당 content를 전송하는 Data pipe를 식별하는 정보이다.
automatic_tuning_service_id 정보는, 해당 content가 속하는 서비스를 식별하는 정보이다.
EAS_NRT_service_id 정보는, 수신되는 emergency alert message와 관련한 NRT contents 및 data가 전송되는 경우, 즉 EAS_NRT_flag 이 enable 상태인 경우에 해당하는 NRT service를 식별하는 정보이다.
도 52 는 본 발명의 일 실시예에 따른, 링크 레이어 패킷의 페이로드에 포함되는, 헤더압축과 관련한 정보를 식별하는 방법을 나타내는 도면이다.
전술한 바와 같이, 링크 레이어에서 상위 레이어에서 전달되는 패킷에 대하여 헤더 압축이 수행되는 경우, 수신기에서 헤더를 복원할 수 있도록, 필요한 정보들이 시그널링 형태로 생성되어, 수신기로 전송되어야 한다. 이러한 정보를 헤더 압축 시그널링 정보라 명명할 수 있다.
헤더 압축 시그널링 정보는, 링크 레이어의 패킷의 페이로드에 포함될 수 있다. 이때, 송신기는 링크 레이어의 패킷의 페이로드에 포함되는 헤더 압축 시그널링 정보의 종류를 식별하는 식별 정보를 링크 레이어 패킷의 헤더 또는, 피지컬 레이어의 전송 파라미터 (물리적 계층의 시그널링 정보)에 포함시켜, 수신기로 전송할 수 있다.
일 실시예에 따르면, 식별 정보의 값이 '000' 인 경우, 초기화 정보가 링크 레이어 패킷의 페이로드에 포함됨을 나타낼 수 있다. 식별 정보의 값이 '001' 인 경우, 구성 파라미터 (configuration parameter)가 링크 레이어 패킷의 페이로드에 포함됨을 나타낼 수 있다. 식별 정보의 값이 '010' 인 경우, 스태틱 체인 (static chain) 정보가 링크 레이어 패킷의 페이로드에 포함됨을 나타낼 수 있다. 식별 정보의 값이 '011' 인 경우, 다이나믹 체인 (dynamic chain) 정보가 링크 레이어 패킷의 페이로드에 포함됨을 나타낼 수 있다.
여기서, 헤더 압축 시그널링 정보는 컨텍스트 정보라 불릴 수 있다. 실시예에 따라, 스태틱 또는 다이나믹 체인 정보를 컨텍스트 정보라 부르거나, 둘 다를 컨텍스트 정보라 부를 수도 있다.
도 53 는 본 발명의 일 실시예에 따른, 초기화 정보를 나타낸 도면이다.
링크 레이어 패킷의 페이로드에 포함되는 초기화 정보는, num_RoHC_channel 정보, max_cid 정보, large_cids 정보, num_profiles 정보, profile() 엘레먼트, num_IP_stream 정보 및/또는 IP_address () 엘레먼트를 포함할 수 있다.
num_RoHC_channel 정보는 RoHC 채널의 개수를 나타낸다.
max_cid 정보는 CID의 최대 값을 decompressor에 알려 주기 위해 사용된다.
large_cid 정보는, Boolean 값을 가지며, CID의 구성에 있어, short CID (0~15)를 사용 하는지 embedded CID (0~16383)를 사용하는지 알려준다. 이에 따라 CID를 표현하는 바이트의 크기도 함께 결정된다.
num_profiles 정보는 사용된 RoHC의 프로파일의 개수를 나타낸다.
profile() 엘레먼트는 RoHC에서 헤더가 압축되는 protocol의 에 대한 정보를 포함한다. RoHC에서는 compressor와 decompressor가 동일한 profile을 가져야 stream에 대한 압축 및 복구가 가능하다.
num_IP_stream 정보는 IP 스트림의 개수를 나타낸다.
IP_address () 엘레먼트는 헤더 압축이 수행된 IP 패킷(들) 의 IP 주소를 포함한다.
도 54 는 본 발명의 일 실시예에 따른, 구성 파라미터를 나타낸 도면이다.
링크 레이어 패킷의 페이로드에 포함되는 구성 파라미터는, RoHC_channel_id 정보, num_context 정보, context_id 정보, context_profile 정보, packet_configuration_mode 정보, 및/또는 context_transmission_mode 정보를 포함할 수 있다.
RoHC_channel_id 정보는 RoHC 채널을 식별하는 정보이다.
num_context 정보는 RoHC의 context의 개수를 나타낸다.
context_id 정보는 RoHC의 context 를 식별하는 정보이다. 뒤따르는 RoHC 관련 field가 어느 context에 해당하는지 표시해 줄 수 있다. context_id 정보는 CID (context identifier)에 해당될 수 있다.
context_profile 정보는 RoHC에서 헤더가 압축되는 protocol의 에 대한 정보를 포함한다. RoHC에서는 compressor와 decompressor가 동일한 profile을 가져야 stream에 대한 압축 및 복구가 가능하다.
packet_configuration_mode 정보는 패킷의 구성 모드를 식별하는 정보이다. 패킷의 구성 모드는 전술한 바에 따른다.
context_transmission_mode 정보는 context의 전송 모드를 식별하는 정보이다. context의 전송 모드는 전술한 바에 따른다. context는 일반 방송 데이터가 전송되는 경로로 전송되거나, 시그널링 정보의 전송을 위하여 할당된 경로를 통하여 전송될 수 있다.
도 55 는 본 발명의 일 실시예에 따른, 스태틱 체인 정보를 나타낸 도면이다.
링크 레이어 패킷의 페이로드에 포함되는 스태틱 체인 정보는, context_id 정보, context_profile 정보, static_chain_length 정보, static_chain () 엘레먼트, dynamic_chain_incl 정보, dynamic_chain_length 정보 및/또는dynamic_chain () 엘레먼트를 포함할 수 있다.
context_id 정보는 RoHC의 context 를 식별하는 정보이다. 뒤따르는 RoHC 관련 field가 어느 context에 해당하는지 표시해 줄 수 있다. context_id 정보는 CID (context identifier)에 해당될 수 있다.
context_profile 정보는 RoHC에서 헤더가 압축되는 protocol의 에 대한 정보를 포함한다. RoHC에서는 compressor와 decompressor가 동일한 profile을 가져야 stream에 대한 압축 및 복구가 가능하다.
static_chain_length 정보는 static_chain () 엘레먼트의 길이를 나타낸다.
static_chain () 엘레먼트는 RoHC 헤더 압축이 수행되는 과정에서, 상위 레이어 패킷에서 추출한 스태틱 체인에 속하는 정보를 포함한다.
dynamic_chain_incl 정보는 다이나믹 체인 정보가 포함되어 있는지 식별하는 정보이다.
dynamic_chain_length 정보는 dynamic_chain () 엘레먼트의 길이를 나타낸다.
dynamic_chain () 엘레먼트 RoHC 헤더 압축이 수행되는 과정에서, 상위 레이어 패킷에서 추출한 다이나믹 체인에 속하는 정보를 포함한다.
도 56 는 본 발명의 일 실시예에 따른, 다이나믹 체인 정보를 나타낸 도면이다.
링크 레이어 패킷의 페이로드에 포함되는 다이나믹 체인 정보는, context_id 정보, context_profile 정보, dynamic_chain_length 정보 및/또는dynamic_chain () 엘레먼트를 포함할 수 있다.
context_id 정보는 RoHC의 context 를 식별하는 정보이다. 뒤따르는 RoHC 관련 field가 어느 context에 해당하는지 표시해 줄 수 있다. context_id 정보는 CID (context identifier)에 해당될 수 있다.
context_profile 정보는 RoHC에서 헤더가 압축되는 protocol의 에 대한 정보를 포함한다. RoHC에서는 compressor와 decompressor가 동일한 profile을 가져야 stream에 대한 압축 및 복구가 가능하다.
dynamic_chain_length 정보는 dynamic_chain () 엘레먼트의 길이를 나타낸다.
dynamic_chain () 엘레먼트 RoHC 헤더 압축이 수행되는 과정에서, 상위 레이어 패킷에서 추출한 다이나믹 체인에 속하는 정보를 포함한다.
도 57 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조를 도시한 도면이다.
첫번째로 링크 레이어 패킷에 하나의 온전한 인풋 패킷이 포함되어 인캡슐레이션된 경우의 실시예(t57010)를 설명한다. 이는 전술한 바와 같이 싱글 패킷 인캡슐레이션(single packet encapsulation)이라고 불릴 수 있다.
이 경우(t57010) 링크 레이어 패킷의 헤더는 전술한 Packet_Type 필드와 이를 뒤 따르는 PC 필드로 시작될 수 있다. 여기서 Packet_Type 필드는 전술한 바와 같이 링크 레이어 패킷에 포함되는 인풋 패킷의 타입을 지시할 수 있다. 여기서, PC 필드는 전술한 바와 같이 링크 레이어 패킷의 페이로드 구성을 나타낼 수 있다. 여기서, PC 필드는 그 값에 따라, 하나의 온전한 패킷이 페이로드에 포함되어 있는지, 또는 패킷의 연쇄(concatenation)되어 페이로드에 포함되어 있거나 분할(segmentation)되어 페이로드에 포함되어 있는지를 지시할 수 있다. 일 실시예에서, PC 필드의 값이 0 일 경우 링크 레이어 패킷의 페이로드에는 단일의 온전한 인풋 패킷이 포함될 수 있다. PC 필드의 값이 1 일 경우 링크 레이어 패킷의 페이로드에는 분할 또는 연쇄된 인풋 패킷들이 포함될 수 있다.
PC 필드 뒤로는 HM 필드가 뒤따를 수 있다. HM 필드는 전술한 바와 같이, 링크 레이어 패킷의 헤더 모드를 지시할 수 있다. 즉, HM 필드는 전술한 바와 같이, 포함된 단일의 인풋 패킷이 짧은(short) 패킷인지 긴(long) 패킷인지를 지시할 수 있다. 이에 따라 뒤따르는 헤더 구조가 변경될 수 있따.
짧은 인풋 패킷의 경우, 즉, HM 필드가 0 의 값을 가지는 경우, 11 비트의 길이 필드가 존재할 수 있다. 이 길이 필드는 링크 레이어 페이로드의 길이를 지시할 수 있다.
긴 인풋 패킷의 경우, 즉 HM 필드가 1 의 값을 가지는 경우, 11 비트의 길이 필드 뒤로 5 비트의 추가 길이 필드가 위치할 수 있다. 총 2 바이트의 길이 필드는 링크 레이어 페이로드의 길이를 지시할 수 있다. 여기서, 11 비트의 길이 필드까지를 베이스 헤더, 그 이후를 추가헤더로 구분할 수 있다. 두 길이 필드들을 뒤따라 2 비트의 리저브드(reserved) 필드와 LF 필드가 위치할 수 있다. 리저브드 필드는 향후 사용을 위해 비트들을 남겨둔 구간이다. LF 필드는 그 뒤로 Label 필드가 위치하는지를 지시하는 플래그일 수 있다. Label 필드는 일종의 서브 스트림의 레이블로서, 서브 스트림 ID 와 같이, 링크 레이어 레벨에서 특정 상위 레이어 패킷 스트림을 필터링하는데 사용될 수 있다. 상위 레이어 패킷 스트림과 서브 스트림 레이블 정보의 매핑은, 매핑 정보에 의해 수행될 수 있다. LF 필드는 전술한 SIF 필드에 해당할 수 있다. 레이블 필드는 전술한 SID 필드에 해당할 수 있다. 여기서, 레이블 필드부터는 옵셔널 헤더라 불릴 수 있다. 레이블 필드는 실시예에 따라 3 바이트의 크기를 가질 수도 있다.
두번째로, 링크 레이어 패킷에, 인풋 패킷의 세그먼트 하나가 포함되어 인캡슐레이션된 경우의 실시예(t57020)를 설명한다. 여기서 세그먼트는 하나의 인풋 패킷이 분할되어 생성되었을 수 있다. 이는 전술한 바와 같이 분할(segmentation)된 경우라고 불릴 수 있다.
링크 레이어 헤더는 마찬가지로 Packet_Type 필드와 PC 필드로 시작할 수 있다. 이 후, S/C 필드가 위치할 수 있다. 이 필드는 전술한 바와 같이 링크 레이어 페이로드에 연쇄된 인풋 패킷들이 포함되어 있는지, 분할된 세그먼트가 포함되어 있는지를 지시할 수 있다. 양 경우에 따라, 링크 레이어 헤더 구조는 변경될 수 있다.
S/C 필드가 0 인 경우, 즉 분할된 경우에 있어서, S/C 필드 뒤로 세그먼트 ID 필드, 세그먼트 시퀀스 넘버 필드가 차례로 위치할 수 있다. 첫번째 세그먼트가 아닌 세그먼트들을 포함하는 링크 레이어 패킷에 대해서는, LI 필드 및/또는 세그먼트 길이 ID 필드가 차례로 위치할 수 있다. 링크 레이어 패킷이 그 첫번째 세그먼트를 포함하는 경우, 첫 세그먼트 길이 필드 및/또는 LF 필드가 위치할 수 있다. 즉, 첫번째 세그먼트를 포함하는 링크 레이어 헤더에는 LI 필드가 포함되지 않을 수 있다. 여기서 첫 세그먼트 길이 필드는 링크 레이어 패킷에 포함된 첫번째 세그먼트의 길이를 직접 지시하는 필드일 수 있다. LF 필드는 전술한 바와 같이 그 값에 따라 그 뒤로 레이블 필드가 위치하거나 위치하지 않을 수 있다. 그 외 각 필드들에 대한 설명은 전술한 바와 같다.
세번째로, 링크 레이어 패킷에, 복수개의 인풋 패킷들이 연쇄되어 인캡슐레이션된 경우의 실시예(t57030)를 설명한다. 이는 전술한 바와 같이 연쇄(concatenation) 된 경우라고 불릴 수 있다.
링크 레이어 헤더는 마찬가지로 Packet_Type 필드와 PC 필드로 시작할 수 있다. 분할의 경우와 마찬가지로, 이 후 S/C 필드가 위치할 수 있다. 그 뒤로 전술한 카운트 필드와 LM 필드가 위치할 수 있다. 여기서 카운트 필드는 2 비트 필드일 수 있으며, 00, 01, 10, 11 일 경우 각각 2, 3, 4, 5 개의 인풋 패킷들이 연쇄되어 있음을 지시할 수 있다. 또는 전술한 바와 같이 3 비트 카운트 필드가 사용될 수도 있다.
LM 필드는 길이 모드(Lenth Mode) 필드로서, 짧은 인풋 패킷들이 연쇄되어 인캡슐레이션되었는지 긴 인풋 패킷들이 연쇄되어 인캡슐레이션되었는지를 지시할 수 있다. 짧은 인풋 패킷들이 연쇄된 경우, LM 필드는 0 의 값을 가지며 11 비트의 길이 필드들이 연쇄된 인풋 패킷들 개수만큼 위치될 수 있다. 긴 인풋 패킷들이 연쇄된 경우, LM 필드는 1 의 값을 가지며 2 바이트의 길이 필드들이 연쇄된 인풋 패킷들 개수만큼 위치될 수 있다. 여기서 2048 바이트 보다 작은 경우 짧은 인풋 패킷, 2048 바이트보다 같거나 큰 경우 긴 인풋 패킷으로 구분할 수 있다.
실시예에 따라 짧은 인풋 패킷과 긴 인풋 패킷들이 섞여서 연쇄된 경우도 있을 수 있는데, 이 경우 짧은 인풋 패킷에 대해서는 11 비트의 길이 필드, 긴 인풋 패킷에 대해서는 2 바이트의 길이 필드들이 섞여서 위치될 수 있다. 이 길이 필드들은 대응되는 인풋 패킷들의 순서와 같은 순서로 헤더에 위치될 수 있다.
전술한 링크 레이어 패킷의 헤더 구조에서, 실시예에 따라 일부 필드가 생략될 수 있다. 또한, 일부 필드들이 변경되거나 추가될 수 있으며, 그 순서가 바뀔 수도 있다.
도 58 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조의 신택스를 도시한 도면이다.
이 신택스는 전술한, 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조를 나타낸 것이다. 전술한 바와 같이 Packet_Type 필드와 PC(Payload_Config) 필드가 공통으로 위치할 수 있다.
PC 필드 값이 0 일 경우, 헤더 모드 필드가 위치한다. 헤더 모드 필드의 값이 0 인 경우, 11 비트의 길이 필드가 위치할 수 있다. 헤더 모드 필드의 값이 1 인 경우 총 2 바이트의 길이 필드와 LF 필드, 레저브드 비트들이 차례로 위치될 수 있다. LF 필드의 값에 따라 Label 필드가 추가로 위치될 수도 있다.
PC 필드 값이 1 일 경우, S/C 필드가 위치한다. S/C 필드 값이 0 인 경우 세그먼트 ID 필드와 세그먼트 시퀀스 넘버 필드가 위치할 수 있다. 세그먼트 시퀀스 넘버 값이 0000 인 경우, 즉 첫번째 세그먼트가 포함되는 경우, 첫 세그먼트 길이 필드와 LF 필드가 위치할 수 있다. LF 필드의 값에 따라 Label 필드가 추가로 위치될 수도 있다. 세그먼트 시퀀스 넘버 값이 0000 이외의 값을 가지는 경우, LI 필드와 세그먼트 길이 ID 필드가 위치될 수 있다.
S/C 필드 값이 1 인 경우, 카운트 필드와 LM 필드가 위치할 수 있다. 카운트 필드 값이 나타내는 개수만큼 길이 필드들이 위치될 수 있는데, 짧은 인풋 패킷에 대해서는 11 비트의 길이 필드, 긴 인풋 패킷에 대해서는 2 바이트의 길이 필드가 위치될 수 있다.
마지막으로 남는 부분에 대해서는 패딩 비트들이 위치할 수 있다.
전술한 링크 레이어 패킷의 헤더 구조에서, 실시예에 따라 일부 필드가 생략될 수 있다. 또한, 일부 필드들이 변경되거나 추가될 수 있으며, 그 순서가 바뀔 수도 있다.
도 59 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 온전한 하나의 인풋 패킷이 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
첫번째 실시예(t59010)는 짧은 싱글 패킷 인캡슐레이션의 경우를 도시하였다. 전술한 바와 같이 Packet_Type 필드, PC 필드, HM 필드가 위치하고 그 뒤로 11 비트의 길이 필드가 위치할 수 있다. 총 2 바이트의 헤더 길이를 가질 수 있으며, 그 뒤로 링크 레이어 페이로드가 위치할 수 있다. 여기서, PC 필드, HM 필드는 각각 0, 0 의 값을 가질 수 있다.
두번째 실시예(t59020)는 긴 싱글 패킷 인캡슐레이션의 경우를 도시하였다. 전술한 바와 같이 Packet_Type 필드, PC 필드, HM 필드가 위치하고 그 뒤로 2 바이트의 길이 필드가 위치할 수 있다. 2 바이트의 길이 필드는 전술한 바와 같이 11 비트의 길이 필드와 추가적인 5 비트의 길이 필드가 위치한 것일 수 있다. 이 길이 필드들은 각각 LSB 파트, MSB 파트를 의미할 수 있다. 그 뒤로 리저브드 비트들과 LF 필드가 위치할 수 있다. 총 3 바이트의 헤더 길이를 가질 수 있으며, 그 뒤로 링크 레이어 페이로드가 위치할 수 있다. 여기서, PC 필드, HM 필드, LF 필드는 각각 0, 1, 0 의 값을 가질 수 있다.
세번째 실시예(t59030)는 긴 싱글 패킷이 인캡슐레이션된 경우에 있어서, 레이블 필드가 더 위치하는 경우를 도시하였다. 전술한 긴 싱글 패킷이 인캡슐레이션된 경우와 동일하나, LF 필드는 1 값을 가지며, 그 뒤로 레이블 필드가 위치할 수 있다.
도 60 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
첫번째 실시예(t60010)는 분할된 세그먼트 중 첫번째 세그먼트를 포함하는 링크 레이어 패킷 구조를 도시하였다. 전술한 바와 같이, Packet_Type 필드, PC 필드, S/C 필드가 위치하고 그 뒤로 길이 ID 필드와 세그먼트 시퀀스 넘버 필드가 위치할 수 있다. 여기서, PC 필드, S/C 필드, 세그먼트 시퀀스 넘버 필드는 각각, 0, 0, 0000 의 값을 가질 수 있다. 첫번째 세그먼트가 포함되었으므로, 첫 세그먼트 길이 필드가 위치할 수 있다. 이 필드는 전술한 바와 같이 첫번째 세그먼트의 길이를 직접 지시할 수 있다. 그 뒤로 LF 필드가 위치할 수 있다.
두번째 실시예(t60020)는 분할된 세그먼트 중, 첫 또는 마지막 세그먼트가 아닌 중간 세그먼트를 포함하는 링크 레이어 패킷 구조를 도시하였다. 마찬가지로 Packet_Type 필드, PC 필드, S/C 필드가 위치하고 그 뒤로 길이 ID 필드와 세그먼트 시퀀스 넘버 필드가 위치할 수 있다. 여기서, PC 필드, S/C 필드는 각각, 0, 0 의 값을 가질 수 있다. 첫번째 세그먼트가 포함되지 않았으므로 LI 필드가 위치하게 되며 마지막 세그먼트가 포함되지 않았으므로 그 값은 0 이 될 수 있다. 그 뒤로 세그먼트 길이 ID 필드가 위치할 수 있다.
세번째 실시예(t60030)는 분할된 세그먼트 중, 마지막 세그먼트를 포함하는 링크 레이어 패킷 구조를 도시하였다. 마찬가지로 Packet_Type 필드, PC 필드, S/C 필드가 위치하고 그 뒤로 길이 ID 필드와 세그먼트 시퀀스 넘버 필드가 위치할 수 있다. 여기서, PC 필드, S/C 필드는 각각, 0, 0 의 값을 가질 수 있다. 첫번째 세그먼트가 포함되지 않았으므로 LI 필드가 위치하게 되며 마지막 세그먼트가 포함되었으므로 그 값은 1 이 될 수 있다. 그 뒤로 세그먼트 길이 ID 필드가 위치할 수 있다.
네번째 실시예(t60040)는 분할된 세그먼트 중 첫번째 세그먼트를 포함하는 링크 레이어 패킷 구조에 있어서 LF 필드가 1 인 경우를 도시하였다. 첫번째 실시예와 같으나, LF 필드의 값에 따라 레이블 필드가 더 추가될 수 있다.
도 61 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를, 도표로 도시한 도면이다.
하나의 인풋 패킷이 총 8 개로 분할된 경우를 상정하였다. 이 세그먼트들을 가지는 모든 링크 레이어 패킷에 대하여, Packet_Type 필드는 같은 값을 가진다. 하나의 인풋 패킷으로부터 파생되었기 때문이다. PC 필드, S/C 필드는 전술한 정의대로 1, 0 의 값을 가진다. 세그먼트 ID 필드는, 역시 하나의 인풋 패킷으로부터 파생되었기 때문에 같은 값을 가진다. 세그먼트 시퀀스 넘버 필드는 각 세그먼트들의 순서를 나타낼 수 있다. 실시예에 따라 3 비트의 세그먼트 시퀀스 넘버 필드도 가능하다.
첫번째 세그먼트를 가지는 링크 레이어 패킷은 첫 세그먼트 길이 필드가 존재하여 그 페이로드의 길이를 지시할 수 있다. 이 경우 LI 필드와 세그먼트 길이 ID 필드는 존재하지 않을 수 있다.
첫번째 세그먼트가 아닌 세그먼트들을 가지는 링크 레이어 패킷은, 페이로드의 길이를 직접 지시하는 길이 필드는 존재하지 않고, LI 필드와 세그먼트 길이 ID 필드를 가질 수 있다. 세그먼트 길이 ID 필드는 전술한 지정된 길이 ID 들 중 하나를 선택하여 값을 가지게 되고, 지정된 값에 따라 세그먼트의 길이를 지시할 수 있다. LI 필드는 마지막 세그먼트가 아닌 경우에는 0, 마지막 세그먼트인 경우에는 1 의 값을 가질 수 있다.
도 62 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
첫번째 실시예(t62010)는, 짧은 인풋 패킷들이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시하였다. 마찬가지로 Packet_Type 필드, PC 필드, S/C 필드가 위치하고, 그 뒤로 카운트 필드와 LM 필드가 더 위치할 수 있다. 전술한 정의에 따라, PC 필드, S/C 필드, LM 필드들은 각각 1, 1, 0 의 값을 가질 수 있다.
그 뒤로 11 비트의 길이 필드들이 차례로 위치할 수 있다. 각 연쇄된 짧은 인풋 패킷들의 길이를 하나씩 지시하는 길이 필드들은, 대응되는 인풋 패킷들의 순서와 같게 차례로 위치될 수 있다. 마지막 길이 필드까지 채워졌을 때, 8 비트를 채우지 못하고 남는 부분은 패딩(P)으로 채워질 수 있다. 이 후, 각 연쇄된 인풋 패킷들이 위치할 수 있다.
두번째 실시예(t62020)는, 긴 인풋 패킷들이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시하였다. 마찬가지로 Packet_Type 필드, PC 필드, S/C 필드가 위치하고, 그 뒤로 카운트 필드와 LM 필드가 더 위치할 수 있다. 전술한 정의에 따라, PC 필드, S/C 필드, LM 필드들은 각각 1, 1, 1 의 값을 가질 수 있다.
그 뒤로 2 바이트의 길이 필드들이 차례로 위치할 수 있다. 각 연쇄된 긴 인풋 패킷들의 길이를 하나씩 지시하는 길이 필드들은, 대응되는 인풋 패킷들의 순서와 같게 차례로 위치될 수 있다. 이 후, 각 연쇄된 인풋 패킷들이 위치할 수 있다.
도 63 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 온전한 하나의 인풋 패킷이 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
첫번째 실시예(t63010)와 두번째 실시예(t63020)는, 전술한 싱글 패킷 인캡슐레이션에 있어서의 링크 레이어 패킷 헤더 구조와 같을 수 있다. 단, 긴 인풋 패킷을 가지는 경우에 대해서, 첫번째 실시예에서는 2 바이트의 길이 비트가 포함되는 것으로 표현되었고, 두번째 실시예에서는 11 비트의 길이 비트와 5 비트의 추가 길이 비트가 포함되는 것으로 표현되었다. 이 경우 각 길이 비트는 길이를 나타내는 LSB 파트와 MSB 파트를 의미할 수 있다. 또한, 총 2 바이트의 길이 비트 이후에는 리저브드 비트를 가지는 것으로 되어 있는데, 마지막 비트는 전술한 바와 같이 LF 필드로 활용될 수 있다.
세번재 실시예(t63030)는, 전술한 싱글 패킷 인캡슐레이션에 있어서의 링크 레이어 패킷 헤더 구조와 유사하다. 짧은 인풋 패킷이 포함되는 경우는 전술한 싱글 패킷 인캡슐레이션에 있어서의 링크 레이어 패킷 헤더 구조와 같다. 긴 인풋 패킷이 포함되는 경우에는 5 비트의 추가 길이 필드 대신에 길이 확장 필드(Length extension) 이 위치할 수 있다.
길이 확장 필드는 길이 표시의 확장을 표현하는 필드일 수 있다. 길이 확장 필드는 패킷의 구조에 따라 차지하는 비트수가 변경될 수 있다. 여기서는 설명의 편의를 위해 2 비트의 길이 확장 필드를 상정하여 설명한다. 예를 들어, 길이 확장 필드가 사용되지 않는 경우, 즉 HM = 0 인 경우에는 짧은 인풋 패킷이 인캡슐레이션된 경우이며, 11 비트의 길이 필드는 0-2047 바이트 사이의 페이로드 길이를 지시할 수 있다. 길이 확장 필드가 사용되는 경우, 길이 확장 필드의 값은 페이로드 길이를 지시함에 있어 일종의 오프셋으로 작용할 수 있다. 확장 길이 필드가 00 의 값을 가지는 경우, 11 비트의 길이 필드가 지시하는 값은 2048-4095 바이트 사이의 페이로드 길이를 의미하게 된다. 마찬가지로 확장 길이 필드가 01, 10, 11 의 값을 가지는 경우, 11 비트의 길이 필드가 지시하는 값은 각각 4096-6143, 6144-8191, 8192-10239 바이트 사이의 페이로드 길이를 의미하게 된다. 예를 들어, 11 비트의 길이 필드가 "1 바이트의 페이로드 길이"를 지시하는 값을 가지고 확장 길이 필드가 00 의 값을 가진다면, 이는 페이로드 길이가 2049 바이트라는 의미이다. 또한 예를 들어, 11 비트의 길이 필드가 "1 바이트의 페이로드 길이"를 지시하는 값을 가지고 확장 길이 필드가 01 의 값을 가진다면, 이는 페이로드 길이가 4097 바이트라는 의미이다. 이를 통해 긴 싱글 패킷의 인캡슐레이션에도 그 길이가 지시될 수 있다.
네번째 실시예(t63040)는, 전술한 싱글 패킷 인캡슐레이션에 있어서의 링크 레이어 패킷 헤더 구조와 같을 수 있다. 2 바이트의 길이 필드는 11 비트의 길이 필드와 추가적인 5 비트의 길이 필드로 치환될 수 있다. 이 경우 각 길이 비트는 길이를 나타내는 LSB 파트와 MSB 파트를 의미할 수 있다. 또한, LF 필드 값에 따라 레이블 필드가 더 위치할 수 있다. 레이블 필드의 위치는 실시예에 따라 변경될 수 있다.
도 64 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에 있어서, 그 헤더의 길이들을 도표로 도시한 도면이다.
짧은 인풋 패킷이 싱글 패킷 인캡슐레이션되는 경우에 있어서, PC 필드와 HM 필드는 각각 0, 0 의 값을 가질 수 있다. 11 비트의 길이 필드에 의해 총 헤더 길이는 2 바이트가 될 수 있다. 여기서 x 는 해당 비트에 어떤 값이 와도 상관없다는 것을 의미한다. 예를 들어, 11 비트의 길이 필드는 페이로드의 길이에 따라 정해지는 값이므로, 헤더 길이와는 무관하므로 11 개의 x (xxxxxxxxxxx) 로 표현되었다.
긴 인풋 패킷이 싱글 패킷 인캡슐레이션되는 경우에 있어서, PC 필드와 HM 필드는 각각 0, 1 의 값을 가질 수 있다. 이 후, 11 비트의 길이 필드, 5 비트의 추가 길이 필드 등의 필드들이 더 추가되어 총 헤더 길이는 3 바이트가 될 수 있다.
분할되는 경우에 있어서 각 링크 레이어 패킷의 PC 필드와 S/C 필드는 각각 1, 0 의 값을 가질 수 있다. 첫번째 세그먼트를 포함하는 링크 레이어 패킷은 0000 의 세그먼트 시퀀스 넘버 필드를 가질 수 있다. 본 실시예에서 LF 필드는 0 일 수 있다. 이 경우 총 헤더 길이는 3 바이트가 될 수 있다. 첫번째 세그먼트가 아닌 세그먼트를 포함하는 링크 레이어 패킷은 4 비트의 세그먼트 시퀀스 넘버 필드와, 이를 뒤 따르는 LI 필드를 가질 수 있다. 이 경우에 있어서는 총 헤더 길이는 2 바이트가 될 수 있다.
짧은 인풋 패킷이 연쇄되는 경우에 있어서, PC 필드와 S/C 필드는 각각 1, 1 의 값을 가질 수 있다. 카운트 필드는 n 개의 패킷이 인캡슐레이션되었음을 지시할 수 있으며, 이 경우 LM 필드는 0 의 값을 가질 수 있다. 총 헤더 길이는 n 개의 11 비트 길이 필드가 사용되고, 헤더의 앞부분에 사용된 1 바이트가 있으므로 11n/8 + 1 바이트로 표시될 수 있다. 단, 바이트 얼라인을 위하여 P 비트 길이의 패딩 비트가 추가될 필요가 있을 수 있고, 이 때 헤더의 길이는 ((11n+P)/8+1) 바이트로 표시될 수 있다.
긴 인풋 패킷이 연쇄되는 경우에 있어서, PC 필드와 S/C 필드는 각각 1, 1 의 값을 가질 수 있다. 카운트 필드는 n 개의 패킷이 인캡슐레이션되었음을 지시할 수 있으며, 이 경우 LM 필드는 1 의 값을 가질 수 있다. 총 헤더 길이는 n 개의 2 바이트 길이 필드가 사용되고, 헤더의 앞부분에 사용된 1 바이트가 있으므로 2n + 1 바이트로 표시될 수 있다.
도 65 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t65010)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 분할된 경우의 구조와 같을 수 있다. Packet_Type 필드, PC 필드와 S/C 필드가 차례로 위치하고, 세그먼트 ID 필드, 세그먼트 시퀀스 넘버 필드가 위치할 수 있다. PC 필드와 SC 필드는 각각 1, 0 의 값을 가질 수 있다. 첫번째 세그먼트의 경우 첫 세그먼트 길이 필드를 가질 수 있다. 첫 세그먼트 길이 필드 뒤의 1 비트는 리저브드 비트일 수도 있고, 전술한 바와 같이 LF 필드가 위치할 수도 있다. 첫번째 세그먼트가 아닌 경우에는 LI 필드와 세그먼트 길이 ID 필드가 위치할 수 있다.
이를 표로 나타내는 경우(t65020), 총 5 개로 분할된 세그먼트들에 대하여, Packet_Type 필드는 동일한 값을 가지고, PC 필드, SC 필드는 각각 1, 0 의 값을 가질 수 있다. 세그먼트 ID 필드 역시 동일한 값을 가질 수 있다. 세그먼트 시퀀스 넘버는 각 세그먼트들의 순서를 나타내는 값을 가질 수 있다. 첫번째 세그먼트의 경우에는 첫 세그먼트 길이 필드로 길이가 지시되며, LI 필드는 존재하지 않을 수 있다. 첫번째 세그먼트가 아닌 경우에는 세그먼트 길이 ID 필드를 이용하여 길이가 지시되며 LI 필드는 마지막 세그먼트인지에 따라 0 또는 1 의 값을 가질 수 있다.
도 66 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t66010)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 분할된 경우의 구조와 유사하다. 단, 첫번째 세그먼트가 아닌 세그먼트들을 가지는 링크 레이어 패킷들에 대해서 그 헤더 구조가 변경될 수 있다. 이 경우 LI 필드 이후에 세그먼트 길이 ID 필드 대신에 세그먼트 길이 필드가 위치할 수 있다. 세그먼트 길이 필드는 해당 링크 레이어 패킷이 가지는 세그먼트의 길이를 직접 지시하는 필드일 수 있다. 실시예에 따라 세그먼트 길이 필드는 11 비트의 길이를 가질 수 있다. 이 경우 첫 세그먼트 길이 필드 역시 단순히 세그먼트 길이 필드로 불릴 수도 있다.
이를 표로 나타내는 경우(t66020), 총 5 개로 분할된 세그먼트들에 대하여, Packet_Type 필드는 동일한 값을 가지고, PC 필드, SC 필드는 각각 1, 0 의 값을 가질 수 있다. 세그먼트 ID 필드 역시 동일한 값을 가질 수 있다. 세그먼트 시퀀스 넘버는 각 세그먼트들의 순서를 나타내는 값을 가질 수 있다. 첫번째 세그먼트인지 여부에 상관없이, 링크 레이어 페이로드의 길이는 세그먼트 길이 필드에 의해 지시될 수 있다. LI 필드는 첫번째 세그먼트의 경우에는 존재하지 않을 수 있으나, 첫번째 세그먼트가 아닌 경우에는 LI 필드가 존재할 수 있다. LI 필드는 마지막 세그먼트인지에 따라 0 또는 1 의 값을 가질 수 있다.
도 67 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t67010)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 분할된 경우의 구조와 유사하다. 단, 첫번째 세그먼트가 아닌 세그먼트들을 가지는 링크 레이어 패킷들에 대해서 그 헤더 구조가 변경될 수 있다. 이 경우 LI 필드는 세그먼트 길이 필드 이후에 위치할 수 있다. 세그먼트 길이 필드에 대해서는 전술한 바와 같으며, 이 경우 첫 세그먼트 길이 필드 역시 단순히 세그먼트 길이 필드로 불릴 수도 있다.
이를 표로 나타내는 경우(t67020), 총 5 개로 분할된 세그먼트들에 대하여, Packet_Type 필드는 동일한 값을 가지고, PC 필드, SC 필드는 각각 1, 0 의 값을 가질 수 있다. 세그먼트 ID 필드 역시 동일한 값을 가질 수 있다. 세그먼트 시퀀스 넘버는 각 세그먼트들의 순서를 나타내는 값을 가질 수 있다. 첫번째 세그먼트인지 여부에 상관없이, 링크 레이어 페이로드의 길이는 세그먼트 길이 필드에 의해 지시될 수 있다. LI 필드는 첫번째 세그먼트의 경우에는 존재하지 않을 수 있으나, 첫번째 세그먼트가 아닌 경우에는 LI 필드가 존재할 수 있다. LI 필드는 마지막 세그먼트인지에 따라 0 또는 1 의 값을 가질 수 있다.
도 68 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 인풋 패킷이 분할된 세그먼트 하나가 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t68010)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 분할된 경우의 구조와 유사하다. 단, 이 경우, 첫번째 세그먼트인지 여부에 무관하게 통일된 헤더 구조가 사용될 수 있다. 세그먼트 시퀀스 넘버 필드까지의 구조는 전술한 바와 같다. 그 이후에 첫번째 세그먼트인지와 상관없이 LI 필드가 오고, 그 이후에 해당 링크 레이어 패킷의 페이로드 길이를 지시하는 세그먼트 길이 필드가 위치할 수 있다. 세그먼트 길이 필드에 대해서는 전술한 바와 같다. 본 실시예에서 세그먼트 ID 필드는 생략될 수 있으며, 세그먼트 길이 필드가 SC 필드 직후에 위치될 수 있다. 또한, LI 필드 뒤에 전술한 SIF 필드가 위치할 수 있다.
이를 표로 나타내는 경우(t68020), 총 5 개로 분할된 세그먼트들에 대하여, Packet_Type 필드는 동일한 값을 가지고, PC 필드, SC 필드는 각각 1, 0 의 값을 가질 수 있다. 세그먼트 ID 필드 역시 동일한 값을 가질 수 있다. 세그먼트 시퀀스 넘버는 각 세그먼트들의 순서를 나타내는 값을 가질 수 있다. 첫번째 세그먼트인지 여부에 상관없이, LI 필드가 존재하며, LI 필드는 마지막 세그먼트인지에 따라 0 또는 1 의 값을 가질 수 있다. 각 링크 레이어 페이로드의 길이는 첫번째 세그먼트인지 여부에 상관없이, 세그먼트 길이 필드에 의해 지시될 수 있다.
도 69 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t69010)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 연쇄된 경우의 구조와 같을 수 있다. Packet_Type 필드, PC 필드와 S/C 필드가 차례로 위치하고, 카운트 필드와 LM 필드가 위치할 수 있다. PC 필드와 SC 필드는 각각 1, 1 의 값을 가질 수 있다. LM 필드 값에 따라, 짧은 패킷이 인캡슐레이션된 경우에는 11 비트의 길이 필드들이 연쇄된 개수만큼 위치할 수 있다. 긴 패킷이 인캡슐레이션된 경우에는 2 바이트의 길이 필드들이 연쇄된 개수만큼 위치할 수 있다.
이를 연쇄된 인풋 패킷 개수에 따라 표로 나타낼 수 있다(t69020). 카운트 필드 값이 00 인 경우, 2 개의 인풋 패킷이 연쇄되었으며 길이 필드 2개가 사용되어 22 비트가 사용되고, 패딩 2 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 4 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.0 바이트일 수 있다.
카운트 필드 값이 01, 10, 11 인 경우, 각각 3, 4, 5 개의 인풋 패킷이 연쇄되었으며 길이 필드가 각각 3, 4, 5 개가 사용되어 각각 33, 44, 55 비트가 사용되고, 패딩은 각각 7, 4, 1 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 각각 6, 7, 8 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 각각 2.0, 1.75, 1.60 바이트일 수 있다.
도 70 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 복수개의 인풋 패킷이 연쇄되어 링크 레이어 페이로드에 포함된 경우를 도시한 도면이다.
도시된 실시예(t70010, t70020)는 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조에서 연쇄된 경우의 구조와 유사할 수 있다. 단, 이 경우 전술한 구조에서 LM 필드가 생략될 수 있다. Packet_Type 필드, PC 필드와 S/C 필드가 차례로 위치하고, 카운트 필드가 위치할 수 있다. PC 필드와 SC 필드는 각각 1, 1 의 값을 가질 수 있다.
도시된 실시예(t70010) 의 경우, 11 비트의 길이 필드들이 연쇄된 개수만큼 위치할 수 있다. 이 때 11 비트로 표현될 수 있는 짧은 인풋 패킷에 대해서는 11 비트의 길이 필드로 그 길이가 표시된다. 11 비트로 표현될 수 있는 길이보다 큰 길이의 인풋 패킷의 경우에는 연쇄가 사용되는 것이 아니라, 전술한 싱글 패킷 인캡슐레이션 또는 분할(segmentation)이 활용될 수 있다. 즉, 11 비트로 표현될 수 있는 크기를 기준으로 연쇄가 사용될 것인지 또는 싱글 패킷/분할이 사용될 것인지가 이미 지정된 경우에 사용될 수 있는 링크 레이어 헤더 구조이다.
도시된 실시예(t70020) 의 경우, 2 바이트의 길이 필드들이 연쇄된 개수만큼 위치할 수 있다. 2 바이트로 표현할 수 있는 길이를 가지는 모든 패킷들에 대해 연쇄를 지원하는 링크 레이어 헤더 구조이다.
이 실시예들을 연쇄된 인풋 패킷 개수에 따라 표로 나타낼 수 있다(t70030, t70040). 이 표에 대한 설명은 전술한 바와 같다.
전술한 실시예(t70010) 에 대한 표(t70030)에 대하여, 예를 들어 카운트 필드 값이 000 인 경우, 2 개의 인풋 패킷이 연쇄되었으며 길이 필드 2개가 사용되어 22 비트가 사용되고, 패딩 2 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 4 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.0 바이트일 수 있다. 또한, 카운트 필드 값이 001 인 경우, 3 개의 인풋 패킷이 연쇄되었으며 길이 필드 3개가 사용되어 33 비트가 사용되고, 패딩 7 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 6 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.0 바이트일 수 있다.
전술한 실시예(t70020) 에 대한 표(t70040)에 대하여, 예를 들어 카운트 필드 값이 000 인 경우, 2 개의 인풋 패킷이 연쇄되었으며 길이 필드 2개가 사용되어 4 바이트가 사용될 수 있다. 따라서, 총 헤더 길이는 5 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.50 바이트일 수 있다. 또한, 카운트 필드 값이 001 인 경우, 3 개의 인풋 패킷이 연쇄되었으며 길이 필드 3개가 사용되어 6 바이트가 사용될 수 있다. 따라서, 총 헤더 길이는 7 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.33 바이트일 수 있다. 이 경우, 패딩 비트는 필요하지 않을 수 있다.
도 71 은 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 워드(word) 단위의 길이 표시를 사용하는 경우에 있어서의 링크 레이어 패킷 구조를 도시한 도면이다.
상위 레이어의 패킷의 길이가 워드(word) 단위로 생성되는 경우, 길이 필드의 표시를 바이트 단위로 하지 않고 워드 단위로 표시할 수 있다. 즉, 인풋 패킷이 4 바이트 단위의 길이를 가지는 경우, 링크 레이어 헤더가 더 최적화될 수 있다. 워드 단위로 길이를 표시함으로써, 전술한 각 길이 필드들이 차지하는 크기가 더 작아질 수 있기 때문이다.
워드 단위로 길이 표시를 하는 경우에 있어서의 링크 레이어 헤더 구조는, 전술한 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조와 유사하다. 각 필드들의 위치나 구성, 동작은 전술한 바와 같다. 단, 각각의 길이 필드들의 크기는 더 작아진다.
싱글 패킷 인캡슐레이션에 있어서(t71010), 페이로드의 길이를 지시하는 필드가 2 비트 줄어들 수 있다. 11 비트의 길이 필드는 9 비트로 줄어들게 되고 2 비트는 추후 활용을 위해 남겨둘 수 있다(Reserved). 또한 긴 인풋 패킷이 사용되는 경우에 있어서도 총 16 비트의 길이 필드가 14 비트로 줄어둘 수 있다. 즉, MSB 로 활용되던 길이 필드가 줄어들 수 있다. 9 비트의 길이 필드를 이용하여 2044 바이트(511 워드)까지의 인풋 패킷 길이를 지시할 수 있고, 총 14 비트의 길이 필드를 이용하여 64k 바이트(65532 바이트, 16383 워드)까지의 인풋 패킷 길이를 지시할 수 있다. 2 비트는 역시 추후 활용을 위해 남겨둘 수 있다. 이 남겨진 비트들은 전술한 옵셔널 헤더의 존부를 지시하는 지시자(HEF 필드)로서 사용될 수도 있다.
분할이나 연쇄의 경우에 있어서도(t71020, t71030), 마찬가지로 길이 필드들이 최적화될 수 있다. 11 비트의 세그먼트 길이 필드 내지 첫 세그먼트 길이 필드는 9 비트로 줄어들 수 있다. 또한, 각 세그먼트들의 길이를 지시하던 11 비트의 길이 필드들과 2 바이트의 길이 필드들 역시, 각각 9 비트 14 비트로 줄어들 수 있다. 이 경우 바이트 얼라인을 위하여 패딩 비트가 추가될 수 있다.
이러한 최적화 방안은 본 발명에서 설명되는 링크 레이어 패킷 구조에 모두 적용될 수 있다.
도 72 는 본 발명의 또 다른 실시예에 따른 링크 레이어 패킷의 헤더 구조 중, 워드(word) 단위의 길이 표시를 사용하는 경우를 인풋 패킷 개수에 따라 도표로 도시한 도면이다.
첫번째 표(t72010)는, 연쇄가 사용되는 경우에 있어 짧은 인풋 패킷을 연쇄하는 경우를 나타내었다. 카운트 필드 값이 00 인 경우, 2 개의 인풋 패킷이 연쇄되었으며 길이 필드 2개가 사용되어 18 비트가 사용되고, 패딩 6 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 4 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.0 바이트일 수 있다.
카운트 필드 값이 01, 10, 11 인 경우, 각각 3, 4, 5 개의 인풋 패킷이 연쇄되었으며 길이 필드가 각각 3, 4, 5 개가 사용되어 각각 27, 36, 45 비트가 사용되고, 패딩은 각각 5, 4, 3 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 각각 5, 6, 7 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 각각 1.67, 1.50, 1.40 바이트일 수 있다.
두번째 표(t72020)는, 연쇄가 사용되는 경우에 있어 긴 인풋 패킷을 연쇄하는 경우를 나타내었다. 카운트 필드 값이 00 인 경우, 2 개의 인풋 패킷이 연쇄되었으며 길이 필드 2개가 사용되어 28 비트가 사용되고, 패딩 4 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 5 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 2.50 바이트일 수 있다. 워드 단위의 길이 표시를 사용하는 경우 긴 인풋 패킷을 연쇄하는 경우라도 패딩 비트가 필요할 수 있다.
카운트 필드 값이 01, 10, 11 인 경우, 각각 3, 4, 5 개의 인풋 패킷이 연쇄되었으며 길이 필드가 각각 3, 4, 5 개가 사용되어 각각 42, 56, 70 비트가 사용되고, 패딩은 각각 6, 0, 2 비트가 바이트 얼라인을 위해 사용될 수 있다. 따라서, 총 헤더 길이는 각각 7, 8, 10 바이트이며, 하나의 인풋 패킷을 위한 헤더 부분은 각각 2.33, 2.00, 2.00 바이트일 수 있다.
도 73은 본 발명의 링크 레이어 패킷의 구조를 나타낸 도면이다.
본 발명의 일 실시예에 따른 링크 레이어 패킷은, 고정 헤더 (Fixed Header) 및/또는 가변 길이 헤더 (Variable Header) 를 포함할 수 있다.
고정 헤더는 type 엘레먼트, PC 엘레먼트, LM 엘레먼트 및/또는 E 엘레먼트를 포함할 수 있다.
가변 길이 헤더는, 패킷 구성 파트 (Packet Configuration Part), 길이 파트 (Length Part) 및/또는 확장 헤더 (Extension Header) 를 포함할 수 있다.
Type 엘레먼트는 입력 패킷의 프로토콜 타입을 가리키는 정보를 포함한다. 여기서 입력 패킷은 링크 레이어의 상위 계층에서 처리된 패킷을 가리킨다. Type 엘레먼트에 대한 보다 상세한 내용은, 후술한다.
PC 엘레먼트는 패킷의 구성 (Packet Configuration) 을 식별한다. PC 엘레먼트는 입력 패킷이 링크 레이어에서 어떠한 형태로 처리되는지 나타내는 정보를 포함할 수 있다. PC 엘레먼트는 입력 패킷이 어떠한 형태로 링크 레이어 패킷의 페이로드에 포함되는지를 식별하는 정보를 포함할 수 있다.
예를 들면, PC (Packet Configuration) 엘레먼트의 값이 ‘00’ 인 경우, 하나의 입력 패킷이 링크 레이어 패킷에 포함됨을 나타낼 수 있다. 이 경우, 패킷 구성 파트 (Packet Configuration Part)는 링크 레이어 패킷에 포함되지 않을 수 있다.
예를 들어, PC 엘레먼트의 값이 ‘01’ 인 경우, 하나의 입력 패킷이 하나 이상의 세그먼트 (segment) 로 나뉘어, 하나의 세그먼트가 하나의 링크 레이어 패킷에 포함됨을 나타낼 수 있다. 이 경우, 패킷 구성 파트 (Packet Configuration Part)는 링크 레이어 패킷에 포함될 수 있고, 패킷 구성 파트 (Packet Configuration Part)는 고정 헤더 뒤에 위치할 수 있다. 이때, 패킷 구성 파트 (Packet Configuration Part)는 입력 패킷의 세그멘테이션 (segmentation) 관련 정보를 포함할 수 있다. 세그멘테이션 관련 정보는 전술한 내용으로, 설명을 대체한다.
예를 들어, PC 엘레먼트의 값이 ‘10’ 인 경우, 하나 이상의 입력 패킷이 하나의 링크 레이어 패킷에 포함됨을 나타낼 수 있다. 이 경우, 패킷 구성 파트 (Packet Configuration Part)는 링크 레이어 패킷에 포함될 수 있고, 패킷 구성 파트 (Packet Configuration Part)는 고정 헤더 뒤에 위치할 수 있다. 이때, 패킷 구성 파트 (Packet Configuration Part)는 입력 패킷의 컨케이트네이션 (Concatenation) 관련 정보를 포함할 수 있다. 컨케이트네이션 관련 정보는 전술한 내용으로, 설명을 대체한다.
예를 들어, PC 엘레먼트의 값 중, ‘11’ 은 다른 형태의 패킷의 구성을 가리키기 위하여, 예약될 수 있다.
LM (Lenth Mode) 엘레먼트는 링크 레이어 패킷 (또는 링크 레이어 패킷의 페이로드) 의 길이를 식별하는 방법을 가리킨다. LM 엘레먼트는 길이 파트에 포함되는 정보의 형태를 식별할 수 있다.
예를 들어, LM 엘레먼트의 값이 ‘00’ 인 경우, 길이 파트에는 링크 레이어 패킷 (또는 링크 레이어 패킷의 페이로드) 의 길이를 가리키는 필드 (field) 가 길이 파트에 포함되지 않음을 나타낼 수 있다. 수신기가 링크 레이어 패킷의 페이로드로부터 길이 정보를 추출할 수 있거나, 링크 레이어 패킷의 페이로드가 고정된 길이를 가지는 경우는, LM 엘레먼트의 값이 ‘00’을 가질 수 있다.
예를 들어, LM 엘레먼트의 값이 ‘01’ 인 경우, 길이 파트에는 링크 레이어 패킷 (또는 링크 레이어 패킷의 페이로드) 의 길이를 가리키는 필드 (field) 가 Lentgh ID 형태로 포함됨을 나타낼 수 있다. Length ID 는 그 값으로, 링크 레이어 패킷의 페이로드의 길이를 가리킬 수 있다. 보다 상세한 설명은 후술한다.
예를 들어, LM 엘레먼트의 값이 ‘10’ 인 경우, 길이 파트에는 링크 레이어 패킷 (또는 링크 레이어 패킷의 페이로드) 의 길이를 가리키는 필드 (field) 가 Short packet length 형태로 포함됨을 나타낼 수 있다. Short packet length 형태는 짧은 길이를 가리키는 목적으로 사용될 수 있다. 예를 들어, Short packet length 형태의 길이를 가리키는 필드에는 11비트가 할당될 수 있고, 이 경우, 길이를 가리키는 필드는 2047 바이트의 길이까지 표시할 수 있다.
예를 들어, LM 엘레먼트의 값이 ‘11’ 인 경우, 길이 파트에는 링크 레이어 패킷 (또는 링크 레이어 패킷의 페이로드) 의 길이를 가리키는 필드 (field) 가 Long packet length 형태로 포함됨을 나타낼 수 있다. Long packet length 형태는 긴 길이를 가리키는 목적으로 사용될 수 있다. 예를 들어, Long packet length 형태의 길이를 가리키는 필드에는 2바이트가 할당될 수 있고, 이 경우, 길이를 가리키는 필드는 65535 바이트의 길이까지 표시할 수 있다.
E 엘레먼트는 확장 헤더가 링크 레이어 패킷에 존재하는지 여부를 식별한다.
예를 들어, E 엘레먼트의 값이 ‘0’ 인 경우, 추가되는 확장 헤더 부분이 없음을 나타낼 수 있다.
예를 들어, E 엘레먼트의 값이 ‘1’ 인 경우, 고정 헤더가 가지는 값에 따라, 가변 길이 헤더 뒤에 확장 헤더가 존재함을 나타낼 수 있다. 확장 헤더의 구성은 패킷의 사용 형태에 따라, 달라질 수 있다.
링크 레이어 패킷의 헤더의 구조를 보면, 방송 시스템 (또는 수신기) 는 PC 엘레먼트를 통하여, 가변 길이 헤더에 포함될 수 있는 패킷 구성 파트에 대한 정보를 획득할 수 있고, LM 엘레먼트를 통하여, 가변 길이 페더에 포함될 수 있는 길이 파트에 대한 정보를 획득할 수 있고, E 엘레먼트를 통하여, 가변 길이 헤더에 포함될 수 있는 확장 헤더에 대한 정보를 획득할 수 있다. 따라서, 수신기에서는 고정 헤더만을 획득하더라고, 링크 레이어 패킷에 포함되는 헤더의 구조를 알 수 있어, 링크 레이어 패킷에 대한 처리 속도를 높일 수 있는 효과가 있다.
도 74는 본 발명의 일 실시예에 따른, Type 엘레먼트와 Length ID 필드의 값에 따른 정의를 나타낸 도면이다.
도면의 (a)에 도시된 바와 같이, Type 엘레먼트는 그 값에 따라, 입력 패킷이 따르는 프로토콜을 식별하거나, 입력 패킷의 타입을 식별할 수 있다.
도면의 (b)에 도시된 바와 같이, Length ID 필드는 그 값에 따라, 링크 레이어 패킷의 길이를 식별할 수 있다. Length ID 필드를 이용하여, 길이를 식별하는 경우, Length ID 필드에 보다 적은 비트 (bit) 를 할당하더라도, 보다 다양한 길이를 식별할 수 있는 효과가 있다. 따라서, Length ID 필드를 이용하면, 링크 레이어 패킷의 헤더의 길이는 줄어들지만, 다양한 길이를 식별할 수 있는 효과가 있다.
도 75는 본 발명의 일 실시예에 따른, 고정 헤더 및/또는 가변 길이 헤더의 다양한 조합을 나타낸 도면이다.
전술한 고정 헤더에 포함될 수 있는 엘레먼트 (또는 필드)는 도시된 바와 같이, 조합 1 (Combination #1) 부터 조합 7 (Combination #7)과 같은 형태의 조합에 따른 순서로, 고정 헤더에 포함될 수 있다.
각 조합에 따라, 가변 길이 헤더에 포함될 수 있는, 패킷 구성 파트, 길이 파트 및/또는 확장 헤더의 순서도 변경될 수 있다.
도 76은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘00’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
전술한 바와 같이 PC 엘레먼트의 값이 ‘00’ 인 경우, 링크 레이어 패킷의 페이로드에는 하나의 입력 패킷 (링크 레이어의 상위 레이어의 패킷) 이 포함됨을 나타낸다.
이 경우, 가변 길이 헤더는 존재하지 않거나, 길이 파트를 포함할 수 있다. LM 엘레먼트의 값에 따라, 길이를 식별하는 다양한 형태의 정보가, 길이 파트에 포함될 수 있다. 포함되는 정보의 형태는 전술한 바와 같다.
길이 파트가 존재하는 경우, 길이 파트의 전체 길이는 고정된 길이를 가질 수 있다. 이 경우, LM 엘레먼트의 값에 따라, 길이 파트에 포함되는 길이를 식별하는 정보의 크기가 다를 수 있다. 길이를 식별하는 정보가 포함되고 남는 영역은, 예약된 (reserved) 영역으로 취급될 수 있고, 이 영역에는 추가의 시그널링 정보가 포함될 수 있다.
도 77은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘01’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
전술한 바와 같이 PC 엘레먼트의 값이 ‘01’ 인 경우, 하나의 입력 패킷이 하나 이상의 세그먼트로 나뉘고, 링크 레이어 패킷의 페이로드에는 하나의 세그먼트가 포함됨을 나타낸다.
이 경우, 가변 길이 헤더는 존재하지 않거나, 길이 파트를 포함할 수 있다. LM 엘레먼트의 값에 따라, 길이를 식별하는 다양한 형태의 정보가, 길이 파트에 포함될 수 있다. 포함되는 정보의 형태는 전술한 바와 같다.
길이 파트가 존재하는 경우, 길이 파트의 전체 길이는 고정된 길이를 가질 수 있다. 이 경우, LM 엘레먼트의 값에 따라, 길이 파트에 포함되는 길이를 식별하는 정보의 크기가 다를 수 있다. 길이를 식별하는 정보가 포함되고 남는 영역은, 예약된 (reserved) 영역으로 취급될 수 있고, 이 영역에는 추가의 시그널링 정보가 포함될 수 있다.
또한, PC 엘레먼트의 값이 ‘01’ 인 경우, 링크 레이어 패킷의 헤더는 패킷 구성 파트를 포함할 수 있다.
패킷 구성 파트는, Seg_ID 필드, Seg_SN 필드 및/또는 LI 필드를 포함할 수 있다.
Seg_ID 필드는 하나의 입력 패킷에 포함되는 세그먼트들 중에서, 특정 세그먼트를 식별하는 정보를 포함한다.
Seg_SN 필드는 하나의 입력 패킷 내에서, 세그먼트의 순서 (sequence number)를 나타내는 정보이다.
LI 필드는, 세그먼트가 하나의 입력 패킷 내에서 마지막 세그먼트인지 여부를 식별하는 정보를 포함한다.
도 78은 본 발명의 일 실시예에 따른, PC 엘레먼트의 값이 ‘10’ 일 때의 링크 레이어 패킷의 헤더를 나타낸 도면이다.
전술한 바와 같이 PC 엘레먼트의 값이 ‘10’ 인 경우, 하나 이상의 입력 패킷이 링크 레이어 패킷의 페이로드에 포함됨을 나타낸다.
이 경우, 패킷 구성 파트는 Count 필드를 포함할 수 있다. Count 필드는 링크 레이어 패킷의 페이로드에 포함되는 입력 패킷의 개수를 나타낼 수 있다.
길이 파트는, LM 엘레먼트의 값에 따라, 다양한 형태의 길이 정보를 포함할 수 있는데, 이 경우, 길이 파트에는 하나 이상의 길이 정보가 포함될 수 있다. 즉, 복수의 길이 정보의 각각은, 링크 레이어 패킷의 페이로드에 포함되는 복수의 입력 패킷의 각각의 길이를 식별할 수 있다.
복수의 길이 정보가 포함되는 경우, 길이 정보가 포함되는 순서는, 복수의 입력 패킷이 링크 레이어 패킷의 페이로드 내에서 전송되는 순서에 따라 결정될 수 있다. 즉, 길이 파트 내에서 첫번째에 위치하는 길이 정보는, 페이로드에서 첫번째로 위치하는 입력 패킷의 길이를 나타내고, 길이 파트에서 n 번째에 위치하는 길이 정보는, 페이로드에서 n 번째 위치하는 입력 패킷의 길이를 나타낼 수 있다.
도 79는 본 발명의 일 실시예에 따른, 제 1 버전 (version) 의 링크 레이어 패킷의 구조를 나타낸 도면이다.
도면을 참조하면, 링크 레이어 패킷에 포함되는 각각의 엘레먼트 또는 필드의 값에 따라, 다양한 형태의 링크 레이어 패킷의 헤더 구조가 존재할 수 있음을 알 수 있다. 각각의 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 80은 본 발명의 다른 실시예에 따른, 제 2 버전 (version) 의 링크 레이어 패킷의 구조를 나타낸 도면이다.
도면을 참조하면, 링크 레이어 패킷에 포함되는 각각의 엘레먼트 또는 필드의 값에 따라, 다양한 형태의 링크 레이어 패킷의 헤더 구조가 존재할 수 있음을 알 수 있다. 각각의 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
다양한 형태의 링크 레이어 패킷 (또는 링크 레이어 패킷 헤더) 의 구조가 도시되어 있으나, 제 1 버전의 링크 레이어 패킷과 제 2 버전의 링크 레이어 패킷은, 2 바이트의 헤더를 가지는 가지는 것으로 가정될 수 있다.
또한, 도시된 링크 레이어 패킷의 구조에 따르면, 패킷의 대부분을 차지하는 default protocol 에 대한 인캡슐레이션 (encapsulation) 에 대하여는 최소한의 지시 필드 (indication field) 를 이용하여 시그널링이 수행될 수 있다.
또한, 도시된 링크 레이어 패킷의 구조에 따르면, IP 패킷의 길이가 최대 64 kB (65535 바이트)까지 지원할 수 있으므로, 링크 레이어에서도 최대 64 kB까지의 IP 패킷을 처리할 수 있도록 시그널링될 수 있다.
또한, 도시된 링크 레이어 패킷의 구조에 따르면, 모든 경우의 수에 대하여, 패킷의 처리에 대한 정확한 정보를 제공할 수 있도록, 확장 헤더를 링크 레이어 패킷에 포함시킬 수 있다. 또한, 링크 레이어 패킷은, 확장 헤더의 존재를 식별할 수 있도록 헤더 확장 플래그 (flag) 를 포함할 수 있다.
링크 레이어 패킷의 헤더에 포함되는 모든 엘레먼트 및/또는 필드는, 헤더 내에서 맵핑되는 순서가 변경될 수 있다, 맵핑되는 순서의 변경은, 도시된 바와 같은 실시예 들이 있을 수 있다.
도시된 제 1 버전의 링크 레이어 패킷 및/또는 제 2 버전의 링크 레이어 패킷은 T 엘레먼트, PC 엘레먼트, S/C 엘레먼트, E 엘레먼트, Length 엘레먼트 및/또는 S 엘레먼트를 포함할 수 있다. 여기서 엘레먼트는 필드와 동일을 의미로 사용될 수도 있다.
T 엘레먼트는 링크 레이어 패킷의 페이로드를 구성하는 패킷이 default protocol을 따르는지 여부를 식별할 수 있다. 예를 들면, T 엘레먼트의 값이 ‘0’ 인 경우, 페이로드에 포함되는 입력 패킷이 default protocol을 따르는 것을 나타낼 수 있다. IP를 기반으로 하는 방송 시스템에서는, default protocol 을 따르는 패킷은 IP 패킷에 해당될 수 있다. T 엘레먼트의 값이 ‘1’ 인 경우, 패킷이 default protocol 을 따르지 않는 패킷임을 나타낼 수 있다. 이 경우, 별도의 필드 또는 엘레먼트를 통하여, 입력 패킷이 따르는 구체적인 프로토콜을 표시해 줄 수 있다.
PC (Packrt Configuration) 엘레먼트는 링크 레이어 패킷의 페이로드의 구성을 가리킨다. 예를 들어, PC 엘레먼트의 값이 ‘0’ 인 경우, 하나의 패킷이 페이로드에 포함됨을 가르킬 수 있다. 이 경우, 확장 헤더의 존재 유무를 가리키는 E 엘레먼트 (또는 필드)가 헤더에 포함될 수 있다. PC 엘레먼트의 값이 ‘1’ 인 경우, 하나의 입력 패킷이 복수의 세그먼트로 나뉘고, 그 중 하나의 세그먼트가 페이로드에 포함되는 Segmentation, 또는 하나 이상의 입력 패킷이 페이로드에 포함되는 Concatenation 중 어느 하나가 수행되었음을 나타낼 수 있다. 이 경우, 헤더는 segmentation이 되었는지 혹은 concatenation이 되었는지를 식별하는 정보를 더 포함할 수 있다.
S/C 엘레먼트는 링크 레이어 패킷의 페이로드에서, 입력 패킷에 대한 segmentation이 있었는지 혹은 concatenation이 있었는지를 가리킬 수 있다. 예를 들면, S/C 엘레먼트의 값이 ‘0’ 인 경우, segmentation 이 수행되었음을 나타낼 수 있다. S/C 엘레먼트의 값이 ‘1’ 인 경우, concatenation이 수행되었음을 나타낼 수 있다.
E 엘레먼트는 확장 헤더가 존재하는지 여부를 식별한다. 예를 들면, E 엘레먼트의 값이 ‘0’ 인 경우, 확장 헤더가 존재하지 않음을 나타낼 수 있다. E 엘레먼트으 값이 ‘1’ 인 경우, 확장 헤더가 존재함을 나타낼 수 있다. 확장 헤더의 길이, 확장 헤더에 포함되는 필드의 구성은, 패킷의 사용 용도에 따라 달라질 수 있다.
Length 엘레먼트는 페이로드의 길이를 나타낼 수 있다. Length 엘레먼트에는 13 비트가 할당될 수 있으며, 이 경우, Length 엘레먼트는 최대 8191 바이트의 길이를 나타낼 수 있다.
S 엘레먼트는 페이로드에 포함되는 데이터의 타입을 표시할 수 있다. 예를 들면, S 엘레먼트의 값이 ‘0’ 인 경우, 페이로드에 포함되는 패킷은, 방송 데이터를 포함하는 데이터 패킷에 해당될 수 있다. 이 경우, 데이터 패킷의 타입은 별도의 필드 또는 엘레먼트로 식별될 수 있다. S 엘레먼트의 값이 ‘1’ 인 경우, 페이로드에 포함되는 패킷은, 시그널링 정보를 포함하는 시그널링 패킷임을 나타낼 수 있다.
도 81은 본 발명의 일 실시예에 따른, 페이로드에 포함되는 패킷의 타입을 식별하는 조합을 나타내는 도면이다.
본 발명의 일 실시예에 따르면, 도시된 표와 같이, T 엘레먼트, S 엘레먼트, 및/또는 Packet Type 엘레먼트 (Type 엘레먼트)의 조합으로, 다양한 입력 패킷을 식별할 수 있다.
T 엘레먼트의 값이 ‘0’ 인 경우, 전술한 바와 같이, default protocol 인 IP 를 따르는, IPv4 패킷 또는 IPv6 패킷이 입력 패킷임을 나타낼 수 있다. 이 경우, IP의 버전이 4 또는 6 인지의 구분은, 페이로드에 포함되는 첫 n 비트 (예를 들면, n=4) 를 이용하여 식별될 수 있다. T 엘레먼트의 값이 ‘1’ 인 경우, 뒤 따르는 S 엘레먼트 및/또는 Packet Type 엘레먼트의 조합으로 입력 패킷의 타입이 식별될 수 있다.
S 엘레먼트의 값이 ‘0’ 인 경우, 페이로드가 방송 데이터를 포함하는 데이터 패킷을 포함함을 나타낼 수 있다. S 엘레먼트의 값이 ‘1’ 인 경우, 페이로드가 시그널링 정보를 포함하는 시그널링 패킷을 포함함을 나타낼 수 있다.
S 엘레먼트가 ‘0’ 인 경우, Packet Type 엘레먼트는, 그 값에 따라, 입력 패킷이 압축 IP 패킷 (Compressed IP 패킷 ? RoHC가 적용된 패킷), MPEG2-TS, 또는 Extenstion 에 해당되는지를 나타낼 수 있다. 여기서 Extenstion은 위에서 언급되지 않은 다른 종류의 패킷을 가리킬 수 있다. S 엘레먼트가 ‘1’ 인 경우, Packet Type 엘레먼트는, 그 값에 따라 L2 (Layer 2 또는 링크 레이어)의 시그널링의 타입을 식별할 수 있다. L2 시그널링은, 채널 스캔 및 서비스 획득을 위한 시그널링, 긴급 경보 (Emergency Alert) 를 위한 시그널링, 헤더 압축을 위한 시그널링 및/또는 복수의 시그널링이 함께 포함됨을 나타낼 수 있다.
도 82는 본 발명의 일 실시예에 따른, 세그멘테이션 (segmentation) 및/또는 컨케이트네이션 (Concatenation) 을 시그널링하기 위하여 각 엘레먼트 또느 필드에 할당되는 데이터의 크기를 나타내는 도면이다.
도면에서 (a)는, 11 비트가 Length indication 을 위하여 할당되는 경우, 헤더에 대한 오버헤드 (overhead) 를 고려하지 않고, 최대 64kB의 입력 패킷을 지원하는 경우에 있어서, 각 필드 또는 엘레먼트에 할당되는 비트의 수를 나타낸다.
링크 레이어 패킷의 페이로드에, 입력 패킷이 세그멘테이션 또는 컨케이트네이션에 의하여 포함되는 경우, 바이트 정렬 (byte align) 을 위하여, 링크 레이어 패킷 헤더에는, 2 바이트의 헤더가 추가될 수 있다.
도면에서 (b)는, 11 비트가 length indication 을 위하여 할당되는 경우에 있어서, 1 바이트의 오버헤드가 사용되는 경우, 각 엘레먼트 또는 필드에 할당되는 비트의 수를 나타낸다. 1 바이트의 헤더가 추가되면, 링크 레이어 프로토콜은, 최대 16 kB까지의 입력 패킷을 지원할 수 있다.
도면에서 (c) 는, 13 비트가 length indication 을 위하여 할당되는 경우에 있어서, 1 바이트의 오버헤드가 사용되는 경우, 각 엘레먼트 또는 필드에 할당되는 비트의 수를 나타낸다. 이 경우, 링크 레이어 프로토콜은 64 KB 까지의 입력 패킷을 지원하면서도, 1 바이트의 헤더만이 링크 레이어 패킷의 헤더에 추가된다.
도 83은 본 발명의 일 실시예에 따른, 하나의 입력 패킷이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
전술한 PC 엘레먼트의 값이 ‘0’ 일때, T 엘레먼트 및/또는 E 엘레먼트의 값에 따라, 헤더 구조는 도시된 바와 같이 바뀔 수 있다.
본 실시예는 확장 헤더가 존재하는 경우, 그 크기가 1 바이트 인 경우를 나타낸다.
각각의 헤더 구조에 포함되는 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 84는 본 발명의 일 실시예에 따른, 입력 패킷의 세그먼트가 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
전술한 T 엘레먼트의 값이 ‘0’ 이고, PC 엘레먼트의 값이 ‘1’ 이고, S/C 엘레먼트의 값이 ‘1’ 인 경우, E 엘레먼트의 값에 따라, 헤더 구조는 도시된 바와 같이 바뀔 수 있다.
본 실시예는 확장 헤더가 존재하는 경우, 그 크기가 1 바이트 인 경우를 나타낸다.
본 실시예는 IP 패킷이 링크 레이어 패킷에 포함되는 경우에 있어서, 헤더의 구조를 나타낸다.
각각의 헤더 구조에 포함되는 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 85는 본 발명의 일 실시예에 따른, 입력 패킷의 세그먼트가 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
전술한 T 엘레먼트의 값이 ‘1’ 이고, PC 엘레먼트의 값이 ‘1’ 이고, S/C 엘레먼트의 값이 ‘1’ 인 경우, E 엘레먼트의 값에 따라, 헤더 구조는 도시된 바와 같이 바뀔 수 있다.
본 실시예는 확장 헤더가 존재하는 경우, 그 크기가 1 바이트 인 경우를 나타낸다.
본 실시예는 IP 패킷이 아닌 다른 종류의 입력 패킷이 링크 레이어 패킷에 포함되는 경우에 있어서, 헤더의 구조를 나타낸다. 입력 패킷의 종류는 전술한 바와 같이, S 엘레먼트 및/또는 Packet Type 엘레먼트 (Type 엘레먼트)에 의하여 식별될 수 있다.
각각의 헤더 구조에 포함되는 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 86은 본 발명의 일 실시예에 따른, 두 개 이상의 입력 패킷들이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
전술한 T 엘레먼트의 값이 ‘0’ 이고, PC 엘레먼트의 값이 ‘1’ 이고, S/C 엘레먼트의 값이 ‘1’ 인 경우, E 엘레먼트의 값에 따라, 헤더 구조는 도시된 바와 같이 바뀔 수 있다.
본 실시예는 확장 헤더가 존재하는 경우, 그 크기가 1 바이트 인 경우를 나타낸다.
본 실시예는 IP 패킷이 입력 패킷으로 링크 레이어 패킷에 포함되는 경우에 있어서, 헤더의 구조를 나타낸다.
각각의 헤더 구조에 포함되는 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 87은 본 발명의 일 실시예에 따른, 두개 이상의 입력 패킷들이 링크 레이어 패킷의 페이로드에 포함되는 경우의 링크 레이어 패킷의 헤더 구조를 나타낸 도면이다.
전술한 T 엘레먼트의 값이 ‘1’ 이고, PC 엘레먼트의 값이 ‘1’ 이고, S/C 엘레먼트의 값이 ‘1’ 인 경우, E 엘레먼트의 값에 따라, 헤더 구조는 도시된 바와 같이 바뀔 수 있다.
본 실시예는 확장 헤더가 존재하는 경우, 그 크기가 1 바이트 인 경우를 나타낸다.
본 실시예는 IP 패킷이 아닌 다른 종류의 입력 패킷이 링크 레이어 패킷에 포함되는 경우에 있어서, 헤더의 구조를 나타낸다. 입력 패킷의 종류는 전술한 바와 같이, S 엘레먼트 및/또는 Packet Type 엘레먼트 (Type 엘레먼트)에 의하여 식별될 수 있다.
각각의 헤더 구조에 포함되는 엘레먼트 또는 필드에 대한 설명은, 전술한 설명으로 대체한다.
도 88은 본 발명의 일 실시예에 따른, 방송 신호 전송 방법을 나타낸 순서도이다.
방송 송신기는 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성한다 (JS88010).
방송 송신기는 제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성한다 (JS88020). 여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함할 수 있다. 여기서, 상기 헤더는 상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보, 및 상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보를 포함할 수 있다.
방송 송신기는 상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성한다 (JS88030).;
도 89는 본 발명의 일 실시예에 따른 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은, 방송 송신기 (J89100) 및/또는 방송 수신기 (J89200)을 포함할 수 있다.
방송 송신기 (J89100)은 제 1 프로토콜 프로세서 (J89110), 제 2 프로토콜 프로세서 (J89120) 및/또는 방송 신호 생성기 (J89130)을 포함할 수 있다.
방송 수신기 (J89200)는 방송 신호 수신부 (J89210), 제 2 프로토콜 파서 (J89220) 및/또는 제 1 프로토콜 파서 (J89230)을 포함할 수 있다.
제 1 프로토콜 프로세서 (J89110)는 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성한다.
제 2 프로토콜 프로세서 (J89120)는 제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성한다. 여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함할 수 있다. 여기서, 상기 헤더는 상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보, 및 상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보를 포함할 수 있다.
방송 신호 생성기 (J89130)는 상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성한다.
제 1 프로토콜 프로세서 (J89110) 와 제 2 프로토콜 프로세서 (J89120)는 하나의 프로세서 형태로 구현될 수 있다. 방송 송신기 (J89100) 는 일반적인 방송 송신기에 포함되는 다른 장치 또는 모듈을 더 포함할 수 있다.
방송 신호 수신부 (J89210) 는 방송 신호를 수신한다. 방송 신호는 하나 이상의 링크 레이어 패킷들을 포함한다.
제 2 프로토콜 파서 (J89220)는 제 2 프로토콜에 따라, 링크 레이어 패킷들을 파싱 (parsing) 또는 디코딩한다. 제 2 프로토콜 파서 (J89220)는 제 2 프로토콜에 따라, 링크 레이어 패킷들을 파싱하여 하나 이상의 입력 패킷을 추출한다.
제 1 프로토콜 파서 (J89230)는 제 1 프로토콜에 따라, 하나 이상의 입력 패킷을 파싱 또는 디코딩한다.
제 2 프로토콜 파서 (J89220)와 제 2 프로토콜 파서 (J89220)는 하나의 프로세서 형태로 구현될 수 있다.
도시되진 않았으나, 방송 수신기 (J89200) 는 하나 이상의 입력 패킷들을 처리하여, 방송 서비스/프로그램을 시청자에게 표출할 수 있다. 이 과정에서, 전술한 시그널링 정보들의 전부 또는 일부가 방송 수신기에 의하여 사용될 수 있고, 방송 수신기가 시그널링 정보를 사용하는 과정은, 전술한 설명으로 대체한다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (15)

  1. 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성하는 단계;
    제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성하는 단계,
    여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함하고,
    여기서, 상기 헤더는:
    상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보 , 및
    상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보, 를 포함하며; 및
    상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성하는 단계;
    를 포함하는 방송 신호 전송 방법.
  2. 제 1 항에 있어서,
    상기 페이로드 구성 정보가, 상기 페이로드가 하나의 입력 패킷을 포함함을 가리키는 경우,
    상기 헤더는, 확장 헤더가 상기 헤더에 포함되는지 여부를 식별하는 헤더 확장 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 방법.
  3. 제 1 항에 있어서,
    상기 페이로드 구성 정보가, 상기 페이로드가, 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함함을 가리키는 경우,
    상기 헤더는, 상기 페이로드가 상기 하나를 초과하는 입력 패킷들을 포함하는지, 또는 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함하는지 여부를 식별하는 S/C 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 방법.
  4. 제 3 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우,
    상기 헤더는, 상기 하나의 입력 패킷 내에서 상기 세그먼트의 순서를 식별하는 세그먼트 시퀀스 번호 정보 를 더 포함하는 것을 특징으로 하는 특징으로 하는 방송 신호 전송 방법.
  5. 제 4 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우,
    상기 헤더는, 상기 하나의 입력 패킷 내에서, 상기 세그먼트가 마지막 세그먼트인지 여부를 식별하는 마지막 세그먼트 식별 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 방법.
  6. 제 3 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나를 초과하는 입력 패킷들을 포함함을 가리키는 경우,
    상기 헤더는, 상기 링크 레이어 패킷에 포함되는 입력 패킷들의 개수를 식별하는 카운트 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 방법.
  7. 제 1 항에 있어서, 상기 헤더는,
    상기 페이로드의 길이를 식별하는 길이 정보를 더 포함하고 ,
    여기서 상기 길이 정보는, 길이 식별자 형태로 제공되고,
    상기 길이 식별자에 할당되는 값에 대응되는 페이로드의 길이는, 방송 시스템 내의 규약에 의하여 미리 정해진 것임을 특징으로 하는 방송 신호 전송 방법.
  8. 제 1 항에 있어서, 상기 헤더는,
    상기 페이로드에 포함되는 상위 계층의 패킷이 디폴트 (default) 프로토콜을 따르는 패킷인지 여부를 식별하는 패킷 타입 플래그 정보, 및
    상기 페이로드에 포함되는 상위 계층의 패킷이 전송하는 데이터가 방송 데이터에 해당되는지, 또는 시그널링 정보에 해당되는지를 식별하는 데이터 식별 정보,
    를 포함하고,
    상기 패킷 타입 플래그 정보와 상기 데이터 식별 정보의 조합은, 상기 페이로드에 포함되는 데이터를 식별하는데 사용되는 것을 특징으로 하는 방송 신호 전송 방법.
  9. 제 1 프로토콜에 따라, 하나 이상의 입력 패킷들을 생성하는 제 1 프로토콜 프로세서;
    제 2 프로토콜에 따라, 상기 하나 이상의 입력 패킷들을 포함하는 하나 이상의 링크 레이어 패킷들을 생성하는 제 2 프로토콜 프로세서,
    여기서, 상기 하나 이상의 링크 레이어 패킷들 각각은, 헤더 및 페이로드를 포함하고,
    여기서, 상기 헤더는:
    상기 입력 패킷들의 종류를 식별하는 패킷 타입 정보 , 및
    상기 페이로드가 하나의 입력 패킷을 포함하는지, 혹은 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함하는지를 식별하는 페이로드 구성 정보 , 를 포함하며; 및
    상기 하나 이상의 링크 레이어 패킷들을 포함하는 방송 신호를 생성하는 방송 신호 생성기;
    를 포함하는 방송 신호 전송 장치.
  10. 제 9 항에 있어서,
    상기 페이로드 구성 정보가, 상기 페이로드가 하나의 입력 패킷을 포함함을 가리키는 경우,
    상기 헤더는, 확장 헤더가 상기 헤더에 포함되는지 여부를 식별하는 헤더 확장 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 장치.
  11. 제 9 항에 있어서,
    상기 페이로드 구성 정보가, 상기 페이로드가, 하나를 초과하는 입력 패킷들 또는 하나의 입력 패킷의 일부를 포함함을 가리키는 경우,
    상기 헤더는, 상기 페이로드가 상기 하나를 초과하는 입력 패킷들을 포함하는지, 또는 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함하는지 여부를 식별하는 S/C 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 장치.
  12. 제 11 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우,
    상기 헤더는, 상기 하나의 입력 패킷 내에서 상기 세그먼트의 순서를 식별하는 세그먼트 시퀀스 번호 정보 를 더 포함하는 것을 특징으로 하는 특징으로 하는 방송 신호 전송 장치.
  13. 제 12 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나의 입력 패킷의 일부 데이터를 포함하는 세그먼트를 포함함을 식별하는 경우,
    상기 헤더는, 상기 하나의 입력 패킷 내에서, 상기 세그먼트가 마지막 세그먼트인지 여부를 식별하는 마지막 세그먼트 식별 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 장치.
  14. 제 11 항에 있어서,
    상기 S/C 정보가, 상기 페이로드가 하나를 초과하는 입력 패킷들을 포함함을 가리키는 경우,
    상기 헤더는, 상기 링크 레이어 패킷에 포함되는 입력 패킷들의 개수를 식별하는 카운트 정보 를 더 포함하는 것을 특징으로 하는 방송 신호 전송 장치.
  15. 제 9 항에 있어서, 상기 헤더는,
    상기 페이로드의 길이를 식별하는 길이 정보를 더 포함하고 ,
    여기서 상기 길이 정보는, 길이 식별자 형태로 제공되고,
    상기 길이 식별자에 할당되는 값에 대응되는 페이로드의 길이는, 방송 시스템 내의 규약에 의하여 미리 정해진 것임을 특징으로 하는 방송 신호 전송 장치.
KR1020167019489A 2014-11-04 2015-11-04 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 KR101804926B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462075167P 2014-11-04 2014-11-04
US62/075,167 2014-11-04
US201462082084P 2014-11-19 2014-11-19
US62/082,084 2014-11-19
PCT/KR2015/011768 WO2016072729A1 (ko) 2014-11-04 2015-11-04 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Publications (2)

Publication Number Publication Date
KR20160102477A true KR20160102477A (ko) 2016-08-30
KR101804926B1 KR101804926B1 (ko) 2017-12-05

Family

ID=55909381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167019489A KR101804926B1 (ko) 2014-11-04 2015-11-04 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (3)

Country Link
US (3) US10498649B2 (ko)
KR (1) KR101804926B1 (ko)
WO (1) WO2016072729A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692057B2 (ja) * 2014-12-10 2020-05-13 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置及び受信装置
US9819512B2 (en) 2016-01-06 2017-11-14 Cisco Technology, Inc. Network service header (NSH) metadata-based end-to-end multimedia session identification and multimedia service optimization
US10382481B2 (en) * 2017-08-18 2019-08-13 eSentire, Inc. System and method to spoof a TCP reset for an out-of-band security device
US20220174134A1 (en) * 2020-12-02 2022-06-02 Semiconductor Components Industries, Llc Abbreviated header communication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2089999B1 (en) * 2006-10-03 2019-05-01 ViaSat, Inc. Packet reformatting for downstream links
KR100881188B1 (ko) 2007-02-26 2009-02-05 삼성전자주식회사 디지털 방송 수신기에서 상위 레이어의 전 처리를 통한수신 성능 향상 방법 및 그에 따른 장치
MX2009004942A (es) * 2007-05-14 2009-06-03 Samsung Electronics Co Ltd Metodo y aparato para transmitir radiodifusion, metodo y aparato para recibir radiodifusion.
KR101405970B1 (ko) * 2007-06-28 2014-06-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8359614B2 (en) * 2008-05-16 2013-01-22 Sony Computer Entertainment America Llc Channel hopping scheme for update of data for multiple services across multiple digital broadcast channels
US8009567B2 (en) * 2009-02-05 2011-08-30 Cisco Technology, Inc. System and method for improved data transmission reliability over a network
KR20120084237A (ko) 2011-01-19 2012-07-27 삼성전자주식회사 엠엠티(mmt)에서 엠엠티 인캡슐레이터를 전송하는 방법
ES2747916T3 (es) * 2012-10-17 2020-03-12 Sony Corp Dispositivo de procesamiento de datos, método de procesamiento de datos y programa
KR101439329B1 (ko) * 2012-10-30 2014-09-11 주식회사 케이티 Iptv 방송 시청을 위한 무선 공유기 및 시청 방법
US9916560B2 (en) * 2013-06-28 2018-03-13 Wal-Mart Stores, Inc. Inventory tracking
KR102284042B1 (ko) * 2013-09-04 2021-07-30 삼성전자주식회사 송신 장치, 수신 장치 및 그 신호 처리 방법

Also Published As

Publication number Publication date
US20200067833A1 (en) 2020-02-27
KR101804926B1 (ko) 2017-12-05
US20210281512A1 (en) 2021-09-09
US20170171070A1 (en) 2017-06-15
WO2016072729A1 (ko) 2016-05-12
US10498649B2 (en) 2019-12-03
US11606293B2 (en) 2023-03-14
US11032195B2 (en) 2021-06-08

Similar Documents

Publication Publication Date Title
KR101823486B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101799278B1 (ko) 방송 신호 송신 방법, 방송 신호 송신 장치, 방송 신호 수신 방법 및 방송 신호 수신 장치
KR101801587B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101837485B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10856021B2 (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
US11606293B2 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
KR101823482B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101792519B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Legal Events

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