KR102001067B1 - 방송 신호 송신을 위한 다중화 방법 및 그 장치 - Google Patents

방송 신호 송신을 위한 다중화 방법 및 그 장치 Download PDF

Info

Publication number
KR102001067B1
KR102001067B1 KR1020170183053A KR20170183053A KR102001067B1 KR 102001067 B1 KR102001067 B1 KR 102001067B1 KR 1020170183053 A KR1020170183053 A KR 1020170183053A KR 20170183053 A KR20170183053 A KR 20170183053A KR 102001067 B1 KR102001067 B1 KR 102001067B1
Authority
KR
South Korea
Prior art keywords
output
stream
packets
packet
multiplexing
Prior art date
Application number
KR1020170183053A
Other languages
English (en)
Other versions
KR20190080539A (ko
Inventor
장현식
황주연
Original Assignee
주식회사 디에스브로드캐스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디에스브로드캐스트 filed Critical 주식회사 디에스브로드캐스트
Priority to KR1020170183053A priority Critical patent/KR102001067B1/ko
Priority to PCT/KR2018/003059 priority patent/WO2019132119A1/ko
Priority to US16/032,983 priority patent/US10700799B2/en
Priority to EP18186170.9A priority patent/EP3506642A1/en
Publication of KR20190080539A publication Critical patent/KR20190080539A/ko
Application granted granted Critical
Publication of KR102001067B1 publication Critical patent/KR102001067B1/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/2368Multiplexing of audio and video streams
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방송 신호 송신을 위한 다중화 방법 및 그 장치가 개시된다. 일 실시예에 따른 제1 기본 스트림 및 제2 기본 스트림을 기초로 출력 스트림을 생성하는 스트림 생성 장치의 스트림 생성 방법은, 제1 기본 스트림을 기초로 제1 출력 패킷들을 획득하는 단계, 제2 기본 스트림을 기초로 제2 출력 패킷들을 획득하는 단계 및 상기 제1 출력 패킷들 및 제2 출력 패킷들을 다중화하여 출력 스트림을 제공하는 단계를 포함하되, 상기 출력 스트림을 제공하는 단계는, 상기 제공되는 출력 스트림으로 인하여 상기 스트림 생성 장치에 오류가 발생되었다는 것이 오인되지 않도록 상기 출력 스트림에 포함되는 Null 패킷들을 분산하는 것을 특징으로 할 수 있다.

Description

방송 신호 송신을 위한 다중화 방법 및 그 장치{THE METHOD AND APPARATUS FOR MULTIPLEXING BROADCAST SIGNAL TRANSMISSION}
아래의 실시예들은 방송 신호 송신을 위한 다중화 방법 및 그 장치에 관한 것이다.
세계적으로 아날로그 방송에서 디지털 방송으로의 전환이 거의 마무리되어감에 따라, Post-HD 시대에 UHDTV(Ultra High Definition TV) 등 실감의 대용량 방송 및 방송 통신 융합 환경에 대비한 새로운 차기 방송 표준에 관한 연구의 필요성이 날로 높아져 가고 있다. 이러한 가운데 ATSC (Advanced Television Systems Committee), DVB(Digital Video Broadcasting), EBU (European Broadcasting Union), NHK, ETRI (Electronics and Telecommunications Research Institute) 등 14개 기관이 2011년 11월 FoBTV (Future of Broadcast TV)를 결성하여, 브로드밴드 에코시스템 기반 방송의 역할, 차세대 공중파 방송 시스템의 특성, 스펙트럼 스퀴즈 등 미래 방송 시스템에 대한 논의를 시작한 상태이다. 또한 고도화 추세에 있는 이동통신 기술과 더불어 방송의 디지털 전환이 완료되고 있는 시점에서, 고도화된 차세대 방송 기술에 대한 기술 선점을 위해 유럽에서 DVB 2.0 시스템을, 미국에서는 ATSC 3.0 시스템을, 일본에선 ISDB(Integrated Services Digital Broadcasting)- Tmm (Terrestrial mobile multi-media) 시스템에 관한 기술개발을 이미 추진하고있는 실정이며, 이에 국내에서도 관련 미래 방송 기술에 대한 원천 기술 및 신규 서비스를 위한 장비 개발에 대한 연구개발이 필요한 상황이다.
본 발명의 일 과제는 방송 시스템에서 오류가 발생되지 않도록 스트림 제공장치가 출력 패킷을 다중화하는 방법을 제공하는 것이다.
본 발명의 다른 일 과제는 ATSC 3.0 방송시스템에 사용가능한 출력 스트림을 생성하는 방법을 제공하는 것이다.
본 발명의 또 다른 일 과제는 UHD 방송 시스템에 사용가능한 출력 스트림을 생성하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따른 제1 기본 스트림 및 제2 기본 스트림을 기초로 출력 스트림을 생성하는 스트림 생성 장치의 스트림 생성 방법은, 제1 기본 스트림을 기초로 제1 출력 패킷들을 획득하는 단계; 제2 기본 스트림을 기초로 제2 출력 패킷들을 획득하는 단계; 및 상기 제1 출력 패킷들 및 제2 출력 패킷들을 다중화하여 출력 스트림을 제공하는 단계를 포함하되, 상기 출력 스트림을 제공하는 단계는, 상기 제공되는 출력 스트림으로 인하여 상기 스트림 생성 장치에 오류가 발생되었다는 것이 오인되지 않도록 상기 출력 스트림에 포함되는 Null 패킷들을 분산하는 것을 특징으로 할 수 있다.
본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 의하면, 방송 시스템에서 오류가 발생되지 않도록 출력 패킷을 다중화하여 출력 스트림을 제공할 수 있다.
또한, 본 발명에 의하면, ATSC 3.0 방송시스템에 사용가능한 출력 스트림을 제공할 수 있다.
또한, 본 발명에 의하면, UHD 방송 시스템에 사용가능한 출력 스트림을 제공할 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 방송 시스템을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 송신 시스템을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 스트림 제공부를 나타낸 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 스트림 제공장치를 나타낸 블록도이다.
도 5는 본 발명의 실시예에 따른 스트림 생성부를 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 제1 스트림 생성부를 나타낸 블록도이다.
도 7은 본 발명의 실시예에 따른 PES 패킷 및 TS 패킷을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 제2 스트림 생성부를 나타낸 블록도이다.
도 9는 본 발명의 실시예에 따른 제2a 스트림 생성부를 나타낸 블록도이다.
도 10은 본 발명의 실시예에 따른 제2b 스트림 생성부를 나타낸 블록도이다.
도 11은 본 발명의 다른 실시예에 따른 스트림 생성부를 나타낸 블록도이다.
도 12는 출력 스트림에 포함된 출력 패킷의 비트수를 설명하기 위한 도면이다.
도 13은 본 발명의 실시예에 따른 출력 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 14는 본 발명의 실시예에 따른 다중화 시각의 삽입을 설명하기 위한 도면이다.
도 15는 본 발명의 실시예에 따른 다중화를 설명하기 위한 도면이다.
도 16은 본 발명의 다른 실시예에 따른 다중화를 설명하기 위한 도면이다.
도 17은 본 발명의 실시예에 따른 복수의 출력 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 18은 본 발명의 실시예에 따른 복수의 출력 패킷의 다중화를 설명하기 위한 도면이다.
도 19는 본 발명의 실시예에 따른 TS 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 20은 본 발명의 실시예에 따른 A3 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 21은 본 발명의 실시예에 따른 다중화 시각의 설정을 설명하기 위한 도면이다.
도 22는 본 발명의 다른 실시예에 따른 다중화 시각의 설정을 설명하기 위한 도면이다.
도 23은 본 발명의 실시예에 따른 우선 순위를 고려한 다중화 방법을 나타낸 동작 흐름도이다.
도 24는 본 발명의 또 다른 실시예에 따른 다중화를 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명은 방송 신호 송신을 위한 다중화 방법 및 그 장치를 제공한다. 본 발명의 일 실시예에 따른 방송 신호는 방송 서비스를 위해 제공되며, 방송 서비스는 지상파 방송 서비스, IPTV 방송 서비스, 위성 방송 서비스, 모바일 방송 서비스, HD(High Definition) TV 서비스, FHD(Full High Definition) TV 서비스, UHD(Ultra High Definition) TV 서비스 등을 포함할 수 있다. 또한, 본 발명의 일 실시예에 따른 방송 서비스에 이에 한정되는 것은 아니며, 본 발명의 방송 신호에 의해 제공될 수 있는 모든 방송 서비스는 본 발명의 방송 서비스에 적용될 수 있다. 예를 들어, 본 발명의 방송 서비스는 VR 방송 서비스, 360도 VR 방송 서비스 및 3D 방송 서비스를 포함할 수도 있다.
또한, 본 발명의 실시예에서 방송 신호를 제공하기 위한 스트림은 MPEG-2(moving pictures exports group-2) TS(transport stream) 또는 ROUTE(Real-time Object delivery over Unidirectional Transport) 또는 MMTP(MPEG Media Transport Protocol)가 될 수 있다. ROUTE 및 MMTP는 현재 ATSC 3.0에서 표준화 진행 중인 방송망 전송 스트림 다중화 규격을 나타낸다. 또한, 인터넷 망으로 전송되는 전송 스트림은 MPEG-DASH(Dynamic Adaptive Streaming over HTTP) 규격을 따른다. 그러나 본 발명은 반드시 이에 한정되는 것은 아니다.
도 1은 일 실시예에 따른 방송 시스템을 나타낸 블록도이다.
도 1을 참조하면, 방송 시스템(100)은 송신 시스템(110) 및 수신 시스템(120)를 포함할 수 있다.
송신 시스템(110)는 예를 들어, 텔레비전 프로그램 등의 서비스의 송신(디지털 방송이나 데이터 전송)을 행한다. 즉, 송신 시스템(110)은 예를 들어 텔레비전 프로그램 등의 서비스를 구성하는 컴포넌트로서의 영상이나 음성의 데이터 등의 송신의 대상인 대상 데이터의 스트림을, 방송 신호로서, 전송로를 통하여 송신(전송)한다. 여기서, 전송로는 RF(Radio Frequency) 방식, 네트워크 방식 등 방송 신호가 전달될 수 있는 다양한 방식으로 구성될 수 있다.
또한, 일 실시예에서, 송신 시스템(110)는 방송국에서의 방송신호 생성 및 전송에 이용될 수 있으며, 이 경우, 방송 신호는 방송 시스템의 운용 규칙(operational regulations)에 의해 정의된 주파수 대역 내의 주파수와, 방송 시스템이 운용되는 영역/나라의 법규 등을 이용하여 송신될 수 있다.
또한, 본 발명의 실시예에서 수신 시스템(120)는 송신 시스템(110)로부터 전송로를 통하여 송신되어 오는 방송 신호를 수신하고, 수신된 방송신호를 복호화하여 원래의 스트림으로 복원하여 출력할 수 있다. 예를 들어, 수신 시스템(120)는 복호화 장치 및 영상 출력 장치를 포함할 수 있고, 영상 출력 장치는 복호화 장치로부터 출력 신호를 수신하고, 출력 신호에 따라 텔레비전 프로그램 등의 서비스를 구성하는 영상이나 음성의 데이터를 출력할 수 있다.
본 발명의 일 실시예에서, 수신 시스템(120)은 브로드캐스트(broadcast) 또는 브로드밴드(broadband)의 방식으로 송신 시스템(110)으로부터 방송신호를 수신할 수 있다. 여기서, 브로드밴드는 양방향 IP 접속을 활용한 A/V 컨텐츠의 스트리밍(streaming) 또는 다운로딩(downloading)을 위한 주파수 대역으로 사용하는 방식이며, 브로드캐스트는 DVB-T(Digital Video Broadcasting-Terrestrial), DVB-S(Satellite), DVB-C(Cable) 등과 같은 클래시컬한 일방향 전송 방식을 의미할 수 있다.
일 실시예에서, 수신 시스템(120)은 브로드캐스트 네트워크를 통해 방송신호를 획득할 수 있고, 상기 방송신호는 선형 A/V 컨텐츠, 비실시간 A/V 컨텐츠, 어플리케이션 데이터 및 어플리케이션 시그널링(signalling) 정보 등을 포함할 수 있다.
또한, 수신 시스템(120)은 브로드밴드 네트워크를 통해 방송신호를 획득할 수 있고, 상기 방송신호는 어플리케이션 데이터, 비선형 A/V 컨텐츠등을 포함할 수 있다. 여기서, 비선형 A/V 컨텐츠는 Streaming on Demand와 같은 사용자가 자유롭게 컨텐츠의 시청 시간 또는 컨텐츠 내 재생 시점을 지정할 수 있는 컨텐츠며, 선형 A/V 컨텐츠는 제공자가 제공하는 특정 시간에만 시청이 가능한 푸시(push) 형태의 컨텐츠를 의미할 수 있다.
또한, 본 발명의 실시예에 따른 방송 시스템(1000)은 ATSC(Advanced Television Systems Committee standards) 규격에 준거한 데이터 전송 이외에, DVB(Digital Video Broadcasting) 규격이나 ISDB(Integrated Services Digital Broadcasting) 규격 등에 준거한 데이터 전송, 기타의 데이터 전송에 적용할 수 있다. 이하에서는, 설명의 편의를 위하여, ATSC 3.0 기반 방송 시스템을 일 예로서 설명하기로 한다. 그러나, 본 발명은 ATSC 3.0에 한정되는 것은 아니며 다른 시스템들에도 적용 가능하다.
도 2는 본 발명의 실시예에 따른 송신 시스템을 나타낸 블록도이다.
도 2를 참조하면, 송신 시스템(110)은 스트림 제공장치(1000), 게이트웨이(2000) 및 송신기(3000)를 포함할 수 있다. 도 2에서 표현되지는 않았지만, 송신 시스템(110)은 스튜디오(연주소) 및 송신소로 구성될 수 있고, 이 경우, 스튜디오(연주소)에는 스트림 제공장치(1000) 및 게이트웨이(2000)가 포함되고, 송신소에는 송신기(3000)가 포함될 수 있다.
본 발명의 일 실시예에서, 스트림 제공장치(1000)는 방송신호를 외부로부터 소스 방송 신호를 입력받고, 소스 방송 신호를 소정의 규칙에 따라 변환하여 변환된 데이터를 스트림 형태로 게이트웨이(2000)에 제공하는 장치를 의미할 수 있다. 일 실시예에서, 스트림 제공장치(1000)는 인코더로 표현될 수 있다. 스트림 제공장치(1000)가 외부로부터 입력받는 소스 방송 신호는 소스 비디오 신호 및 소스 오디오 신호를 포함할 수 있다. 여기서, 소스 비디오/오디오 신호는 아날로그 또는 디지털 데이터를 포함할 수 있다. 또한, 소스 비디오 신호는 SD(Standard Definition, 720*480 해상도), HD(High Definition, 1280*720 해상도), FHD(Full HD, 1920*1080 해상도), QHD(Quad HD, 2560*1440 해상도) 및 UHD(Ultra HD, 3840*2160 해상도) 방송 신호일 수 있다. 여기서, UHD 방송 신호는 차세대 방송영상으로 불리는 기술로, UHD 영상은 일반적으로 가로와 세로 픽셀 수가 4000(4k 3840*2160)∼8000급(8k 7680*4320)에 육박할 수 있다. 화면 해상도는 픽셀로 불리는 화소 수가 좌우한다고 볼 때 UHD 영상은 4k 기준으로 HD(2k 1920x1080)와 비교해 4배나 더 선명할 수 있다. 8k에 비교하면 선명도 면에서 16배까지 차이가 날 수 있다. 화면 주사율, 즉 초당 프레임 수에서도 HD가 30㎐인데 반해 60㎐로 1초당 화면 60장을 전송해 훨씬 자연스러우면서 역동적인 화면을 즐길 수 있다.
또한, 소스 비디오 신호 및 소스 오디오 신호는 하나의 신호 형태로 결합되어 스트림 제공장치(1000)에 입력될 수도 있고, 서로 별개의 신호로 입력될 수도 있다.
또한, 스트림 제공장치(1000)는 소스 방송 신호를 카메라로부터 획득할 수 있고 미리 저장된 저장소로부터 획득할 수도 있다. 또한, 스트림 제공장치(1000)는 해상도를 업 스케일링(up scaling) 또는 다운 스케일링(down scaling)하는 컨버터(예를 들어, HD-UHD 업컨버터)로부터 해상도가 변환된 소스 비디오 신호를 획득할 수도 있다.
또한, 스트림 제공장치(1000)는 소스 방송신호를 인코딩하여 기본 스트림을 생성하고, 기본 스트림에 각종 부가 데이터를 다중화하고, 동기화하여 출력 스트림을 생성하고, 출력 스트림을 게이트웨이(2000)에 제공할 수 있다. 스트림 제공장치(1000)에 대해서는 도 3 및 도 4에서 보다 자세하게 설명한다.
또한, 도 2에 표현되지는 않았지만, 송신 시스템(110)에서 스트림 제공장치(1000)는 복수개로 구성될 수 있다. 이 경우, 송신 시스템(110)은 재다중화기(Re-Multiplexer)를 포함할 수 있다. 재다중화기는 복수의 스트림 제공장치(1000)로부터 전달받은 출력 스트림을 다중화하고, 다중화된 스트림을 게이트웨이(2000)에 제공할 수 있다.
게이트웨이(2000)는 스트림 제공장치(1000)로부터 획득한 출력 스트림을 출력 신호로 변환하고, 출력 신호를 송신기(3000)에 제공할 수 있다. 이 때, 게이트웨이(2000)는 출력 신호를 마이크로웨이브망이나 유선 IP망을 통해서 송신기(3000)에 전달할 수 있다. 또한, 일 실시예에서, 출력 신호는 IP 패킷으로 구성될 수 있다. 또한, 도 2에서 표현되지는 않았지만, 송신 시스템(110)은 시그널링 서버를 포함할 수 있고, 게이트웨이(2000)는 시그널링 서버로부터 시그널링 정보를 획득하고, 출력 신호에 시그널링 정보를 포함할 수 있다.
송신기(3000)는 게이트웨이(2000)로부터 획득한 출력 신호를 RF 변환하여 증폭하고 증폭된 RF 신호를 소정의 대역으로 할당된 채널을 통해 전송할 수 있다. 일 실시예에서, 송신기(3000)는 익사이터(Exciter), HPA(High Power Amplifier), 마스크 필터 및 안테나를 포함할 수 있다. 익사이터는 게이트웨이(2000)로부터 획득한 출력 신호를 RF 송신신호로 변환하고, HPA는 RF 송신 신호의 파워를 증폭하고, 마스크 필터는 RF 송신신호의 인접대역 간섭을 방지할 수 있으며, 안테나는 RF 송신신호를 수신 시스템(120)에 전송할 수 있다.
본 발명의 실시예에서, 수신 시스템(120)의 복호화 장치는 스트림 제공 장치(1000)의 출력 스트림을 복호화하여 영상 출력 장치에서 이해할 수 있는 포맷으로 변환할 수 있다.
이하에서는, 설명의 편의를 위하여 스트림 제공 장치(1000)와 복호화 장치 사이에 존재하는 구성들을 생략하고, 송신 시스템(110)과 수신 시스템(120) 사이의 방송 신호 송수신 동작을, 스트림 제공 장치(1000)에서 출력 스트림을 전송하고 복호화 장치에서 출력 스트림을 수신하는 것으로 표현한다. 그러나, 설명의 편의를 위한 것일 뿐, 전술한 바와 같이 스트림 제공 장치(1000)와 복호화 장치 사이에는 복수의 장치가 존재하고, 상기 출력 스트림은 스트림 제공 장치(1000)로부터 상기 복수의 장치를 거쳐 복호화 장치에 도달하는 것은 자명한 사실이다.
도 3은 본 발명의 실시예에 따른 스트림 제공부를 나타낸 블록도이다.
도 3을 참조하면, 스트림 제공장치(1000)는 입력부(1100), 비디오 부호화부(1200), 오디오 부호화부(1300), 스트림 생성부(1400), 출력부(1500) 및 제어부(1600)를 포함할 수 있다.
입력부(1100)는 외부로부터 소스 방송 신호를 획득할 수 있다. 전술한 바와 같이, 입력부(1100)에 입력받는 소스 비디오 신호는 SD, HD, FHD, QHD 및 UHD 해상도를 갖는 방송신호일 수 있다. 또한, 소스 비디오 신호 및 소스 오디오 신호는 하나의 신호 형태로 결합되어 스트림 제공장치(1000)에 입력될 수도 있고, 서로 별개의 신호로 입력될 수도 있다.
또한, 본 발명의 실시예에서, 입력부(1100)는 프로세서 형태로 구현될 수 있다.
비디오 부호화부(1200)는 소스 비디오 신호를 부호화(인코딩)하여 유효한 비트 스트림을 생성할 수 있다. 일 실시예에서, 비디오 부호화부(1200)에서 출력되는 비트 스트림은 기본 스트림(Elementary Stream, ES)으로 표현될 수 있다. 일 실시예에서, 기본 스트림은 오디오, 비디오, 메타 테이터 등 한 종류의 데이터로만 구성될 수 있으며, 그 포맷은 부호화에 사용된 압축 기술에 따라 달라질 수 있다.
본 발명의 실시예에서, 비디오 부호화부(1200)는 미리 정해진 동영상 압축 기술(코덱)에 따라 소스 비디오 신호를 부호화할 수 있다. 예를 들어, 비디오 부호화부(1200)는 H.261, MPEG-1, H.262/MPEG-2, H.263/MPEG-3, MPEG-4, H.264/AVC, H.265/HEVC 등 다양한 압축 기술에 따라 소스 비디오 신호를 부호화할 수 있다. 물론, 전술한 동영상 압축기술 외에도 소스 비디오 신호를 부호화할 수 있는 동영상 압축기술 역시 본 발명에 적용될 수 있다.
본 발명의 실시예에서, 비디오 부호화부(1200)는 억세스 유닛(Access Unit, AU)을 기본 단위로 부호화를 수행할 수 있다. 여기서, 억세스 유닛은 재생하고자 하는 단위의 부호화의 형태(coded representation)을 나타내는 것으로, 비디오의 경우 억세스 단위는 한 픽쳐(picture)의 모든 코딩된 데이터와 스터핑(stuffing) 부분을 나타낼 수 있다.
물론, 본 발명의 실시예가 이에 한정되는 것은 아니며, 비디오 부호화부(1200)는 하나의 억세스 유닛이 아닌 복수의 억세스 유닛을 기본단위로 부호화를 수행할 수도 있다.
일 실시예에서, 비디오 부호화부(1200)는 소스 비디오 신호를 억세스 유닛에 따라 부호화를 수행한 후 기본 스트림을 생성할 수 있다.
또한, 보다 구체적인 실시예로써, 비디오 부호화부(1200)가 H.264/AVC 또는 H.265/HEVC의 압축 기술로 소스 비디오 신호를 부호화하는 경우, 비디오 부호화부(1200)는 입력부(1100)로부터 획득한 픽처를 부호화하여 NAL(Network Abstraction Layer) 유닛을 생성하고, NAL 유닛을 결합하여 기본 스트림을 생성할 수 있다. 여기서, NAL 유닛은 부호화된 비트스트림을 네트워크 친화적인 형식으로 작성된 구문 구조(syntax structure)로써, 하나의 픽쳐당 하나의 NAL 유닛 또는 복수의 NAL 유닛으로 구성될 수 있다.
본 발명의 몇몇 실시예에서, 비디오 부호화부(1200)는 소정의 비트레이트(bitrate)에 따라 기본 스트림을 생성할 수 있다. 예를 들어, 비트레이트가 10Mbps인 경우, 비디오 부호화부(1200)는 초당 10*10^6 비트의 기본 스트림을 생성할 수 있다. 일 실시예에서, 제어부(1600)는 비디오 부호화부(1200)의 비트스트림을 설정할 수 있다. 일 예로, 제어부(1600)는 스트림 제공장치(1600)에서 제공되는 출력 스트림의 비트량이 소정 기준보다 많을 경우(예를 들어, 복호화 장치의 버퍼에 소정 기준보다 많은 비트량이 비트스트림이 누적되는 경우), 복호화 장치의 버퍼에 오버플로(overflow)가 발생되지 않도록 비디오 부호화부(1200)의 비트 스트림을 조정할 수 있다. 다른 일 예로, 제어부(1600)는 스트림 제공장치(1600)에서 제공되는 출력 스트림의 비트량이 소정 기준보다 적을 경우(예를 들어, 복호화 장치의 버퍼에 소정 기준보다 적은 비트량이 비트스트림이 누적되는 경우), 복호화 장치의 버퍼에 언더플로(underflow)가 발생되지 않도록 비디오 부호화부(1200)의 비트 스트림을 조정할 수 있다.
이와 같이, 제어부(1600)는 복호화 장치에서의 버퍼의 크기 및 버퍼 사용량을 고려하여 비트레이트를 조정할 수 있고, 이러한 비트레이트의 조정을 위하여, 스트림 제공 장치(1000)는 복호화 장치에서의 버퍼에 대응하는 가상의 버퍼를 더 포함할 수 있다. 제어부(1600)는 가상의 버퍼를 참조하여 복호화 장치의 버퍼에서 오버플로/언더플로가 발생하는지 여부를 판단할 수 있다.
오디오 부호화부(1300)는 소스 오디오 신호를 부호화(인코딩)하여 유효한 비트 스트림을 생성할 수 있다. 일 실시예에서, 비디오 부호화부(1200)와 마찬가지로, 오디오 부호화부(1200)에서 출력되는 비트 스트림 역시 기본 스트림(Elementary Stream, ES)로 표현될 수 있다. 또한, 실시예에서, 기본 스트림의 포맷은 부호화에 사용된 압축 기술에 따라 달라질 수 있다.
본 발명의 실시예에서, 오디오 부호화부(1300)는 미리 정해진 오디오 압축 기술(코덱)에 따라 소스 오디오 신호를 부호화할 수 있다. 예를 들어, 오디오 부호화부(1300)는 Dolby AC-4, AC-3, MPEG-H, AAC, OGG, MP3, WMA, AMR-WB, OPUS, FLAC 등 다양한 압축 기술에 따라 소스 오디오 신호를 부호화할 수 있다. 물론, 전술한 오디오 압축기술 외에도 소스 오디오 신호를 부호화할 수 있는 오디오 압축기술 역시 본 발명에 적용될 수 있다.
본 발명의 실시예에서, 오디오 부호화부(1300)는 억세스 유닛(Access Unut, AU)을 기본 단위로 부호화를 수행할 수 있다. 소스 방송 신호가 오디오 신호인 경우, 억세스 유닛은 한 오디오 프레임(frame)의 모든 코딩된 데이터를 나타낼 수 있다. 물론, 본 발명의 실시예가 이에 한정되는 것은 아니며, 오디오 부호화부(1300)는 하나의 억세스 유닛이 아닌 복수의 억세스 유닛을 기본단위로 부호화를 수행할 수도 있다.
본 발명의 몇몇 실시에에서, 오디오 부호화부(1300)는 소정의 비트레이트(bitrate)에 따라 기본 스트림을 생성할 수 있다. 예를 들어, 비트레이트가 128 kbps인 경우, 오디오 부호화부(1300)는 초당 128*10^3 비트의 기본 스트림을 생성할 수 있다. 또한, 비디오 부호화부(1200)에서와 마찬가지로, 제어부(1600)는 오디오 부호화부(1300)의 비트스트림을 설정할 수 있다. 오디오 부호화부(1300)의 비트스트림 설정에 대해서는 비디오 부호화부(1200)에서 설명된 내용이 적용 가능하므로, 상세한 설명은 생략한다.
또한, 도 3에서 표현되지는 않았지만, 스트림 제공 장치(1000)는 데이터 부호화부를 포함할 수 있다. 데이터 부호화부는 메타 데이터를 부호화하는데, 여기서, 메타 데이터는 복호화 장치에서 비디오 정보 및 오디오 정보를 성공적으로 재현하기 위해 필요한 정보를 나타낼 수 있다. 예를 들어, 메타 데이터는 기본 스트림이 복호화되는 시간에 대한 정보 및/또는 기본 스트림이 재생되는 시간에 대한 정보를 포함할 수 있다.
데이터 부호화부는 메타 데이터를 기본 스트림으로 생성할 수 있고, 이는 메타 데이터 기본 스트림으로 표현될 수 있다.
스트림 생성부(1400)는 비디오 부호화부(1200)에서 생성된 기본 스트림(이하, 비디오 기본 스트림이라고 표현함) 및 오디오 부호화부(1300)에서 생성된 기본 스트림(이하, 오디오 기본 스트림이라고 표현함)을 출력 패킷으로 패킷화화고, 출력 패킷들을 다중화하여 출력 스트림을 생성할 수 있다. 즉, 스트림 생성부(1400)는 비디오 기본 스트림 및 오디오 기본 스트림을 하나의 스트림으로 구성할 수 있다. 여기서, 하나의 스트림으로 생성되는 비디오 기본 스트림 및 오디오 기본 스트림은 하나의 프로그램을 구성하는 비디오 정보 및 오디오 정보일 수 있다. 이에 따라, 스트림 생성부(1400)는 복호화 장치에서 재생되는 비디오와 오디오가 어긋나지 않도록 비디오 기본 스트림 및 오디오 기본 스트림의 동기를 맞춰서 다중화를 수행할 수 있다.
또한, 스트림 생성부(1400)는 전술한 데이터 부호화부에서 생성되는 메타 데이터 기본 스트림을 비디오 기본 스트림 및 오디오 기본 스트림과 함께 출력 패킷화 한 후 다중화하여 출력 스트림을 생성할 수 있다.
일 실시예에서, 스트림 생성부(1400)는 기본 스트림을 미리 정해진 패킷으로 패키타이징(packetizing)하고, 생성된 패킷들을 소정의 규칙에 따라 조합하여 출력 스트림을 생성할 수 있다. 스트림 생성부(1400)의 동작에 대해서는 도 5 내지 도 11에서 보다 상세하게 설명한다.
출력부(1500)는 스트림 생성부(1400)에서 생성된 출력 스트림을 외부로 출력할 수 있다. 일 실시예에서, 출력부(1500)는 ASI(비동기 직렬 인터페이스, Asynchronous Serial Interface) 방식을 통해 출력 스트림을 출력할 수도 있고, IP 방식을 통해 출력 스트림을 출력할 수 있다. 이 외에도, 출력부(1500)는 다양한 인터페이스를 통해 출력 스트림을 출력할 수 있다.
제어부(1600)는 스트림 제공장치(1000)의 전반적인 동작을 총괄할 수 있다. 이에 따라, 제어부(1600)는 스트림 제공장치(1000)에 포함된 구성들(1100, 1200, 1300, 1400, 1500)를 제어할 수 있다. 특히, 제어부(1600)는, 스트림 제공장치(1000)에 설치되어 있는 운영체제, 다양한 프로그램들에 따라서 스트림 제공장치(1000)의 동작을 제어할 수도 있다.
이하에서, 운영체제(OS)는, 스트림 제공장치(1000) 전체의 동작 상태를 감시, 감독하고 자원들을 관리하며 각종 입출력 장치(예를 들어, 사용자 입력부(1100) 및 출력부(1500) 등)를 제어하며, 중앙처리장치(예를 들어, 제어부(150))의 스케줄링과 작업관리, 기억장치(예를 들어, 메모리)의 관리 등의 기능을 수행할 수 있다. 즉, 운영체제는, 상기 스트림 제공장치(1000)의 전반적인 동작을 제어하기 위한 다양한 기능들을 제공하며, 한편, 다양한 어플리케이션들이 상기 스트림 제공장치(1000)에 설치되어 동작할 수 있도록 하기 위한 기본적인 플랫폼을 제공할 수 있다.
또한, 상기 프로그램은 상기 스트림 제공장치(1000)에 특정한 기능을 수행하기 위한 프로그램 코드들을 포함할 수 있다.
전술한 운영체제 및 프로그램은 소프트웨어의 형태로 구현될 수 있고, 소프트웨어 형태로 구현된 운영체제 및/또는 어플리케이션은 메모리부에 저장되어 있다가, 필요에 따라, 제어부(1600)를 통해, 필요한 기능들을 스트림 제공장치(1000)에 제공할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 스트림 제공장치를 나타낸 블록도이다.
도 4의 스트림 제공부는 도 3에 설명된 스트림 제공장치(1000)를 하드웨어적으로 구분하여 구성한 실시예이다.
도 4를 참조하면, 스트림 제공부(1000)는 입력부(1100), 비디오 부호화부(1200), 오디오 부호화부(1300), 스트림 생성부(1400)를 포함할 수 있다.
일 실시예에서, 입력부(1100) 및 비디오 부호화부(1200)는 하나의 SoC로 구성될 수 있으며, 오디오 부호화부(1300) 및 스트림 생성부(1400)는 하나의 프로세서(1020)로 구성될 수 있다. 물론, 실시예에 따라, 입력부(1100) 및 비디오 부호화부(1200)가 하나의 SoC로 구성되지 않고, 오디오 부호화부(1300) 및 스트림 생성부(1400)가 하나의 프로세서(1020)로 구성되지 않을 수 있다.입력부(1100)는 다양한 해상도를 갖는 소스 방송 신호를 획득할 수 있다. 예를 들어, 입력부는 12G/3G-SDI 리시버(1110) 및 3G-SDI 리시버(1120, 1130, 1140)를 포함할 수 있다. 이 때, 소스 방송 신호가 UHD 영상인 경우, 입력부는 소스 방송 신호를 12G SDI 리시버(1110)를 통해 획득할 수도 있고, 4개의 3G-SDI 리시버(1110, 1120, 1130, 1140)를 통해 획득할 수도 있다.
또한, 스트림 제공부(1000)는 오디오 캡쳐부(1310)를 더 포함할 수 있다. 일 실시예에서, 오디오 캡쳐부(1310)는 입력부를 통해 획득한 소스 방송 신호로부터 소스 오디오 신호를 캡쳐하여 오디오 부호화부(1300)에 제공할 수 있다.
또한, 비디오 부호화부(1200)는 입력부(1100)로부터 소스 비디오 신호를 획득하여 소스 비디오 신호에 대해 비디오 기본 스트림을 생성할 수 있으며, 오디오 부호화부(1300)는 비디오 캡쳐부(1310)로부터 획득한 소스 오디오 신호를 부호화하여 오디오 기본 스트림을 생성할 수 있다.
스트림 생성부(1400)는 비디오 부호화부(1200)로부터 비디오 기본 스트림을 획득하고, 오디오 부호화부(1300)로부터 오디오 기본 스트림을 획득하고, 획득한 비디오 기본 스트림 및 오디오 기본 스트림을 패킷화 및 다중화하여 출력 스트림을 생성할 수 있다. 일 예로, 스트림 생성부(1400)는 PCIe(PCI 익스프레스)를 통해 비디오 부호화부(1200)로부터 비디오 기본 스트림을 획득할 수 있다.
스트림 생성부(1400)는 출력 스트림을 출력부(1500)에 제공할 수 있고, 출력부(1500)는 출력 스트림을 외부로 출력할 수 있다.
도 5는 본 발명의 실시예에 따른 스트림 생성부를 나타낸 블록도이다.
도 5를 참조하면, 스트림 생성부(1400)는 제1 스트림 생성부(1410) 및 제2 스트림 생성부(1420)를 포함할 수 있다. 또한, 제2 스트림 생성부(1420)는 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440)를 포함할 수 있다. 도 5에서는 스트림 생성부(1400)이 제1 스트림 생성부(1410) 및 제2 스트림 생성부(1420)를 포함하는 것으로 표현되었지만, 본 발명이 이에 한정되는 것은 아니며, 스트림 생성부(1400) 및 제1 스트림 생성부(1410)만을 포함하거나, 제2 스트림 생성부(1420) 만을 포함할 수도 있다. 또한, 도5 에서는 제2 스트림 생성부(1420)가 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440)를 포함하는 것으로 표현되었지만, 본 발명이 이에 한정되는 것은 아니고, 제2 스트림 생성부(1420)는 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440) 중 하나만을 포함하거나 여러 개의 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440)를 포함할 수도 있다.
스트림 생성부(1400)는 비디오 부호화부(1200) 및 오디오 부호화부(1300)로부터 획득한 기본 스트림들을 패킷화하여 출력 패킷을 생성하고, 생성된 출력 패킷들을 다중화하여 출력 스트림을 생성할 수 있다. 이 때, 스트림 생성부(1400)는 전송 프로토콜에 따라 서로 다른 종류의 출력 스트림을 생성할 수 있다.
본 발명의 실시예에서, 제1 스트림 생성부(1410)는 MPEG-2 프로토콜에 따른 전송 스트림(Transport Stream, TS)을 생성할 수 있다. 또한, 제2 스트림 생성부(1420)는 ATSC 3.0 방송 시스템에서 사용될 수 있는 ATSC 3.0용 전송 스트림(이하, A3 스트림으로 표현함)을 생성할 수 있다. 구체적으로, 제2a 스트림 생성부(1430)는 ROUTE 패킷들로 구성된 ROUTE 스트림을 생성하고, 제2b 스트림 생성부(1430)는 MMTP 패킷들로 구성된 MMTP 스트림을 생성할 수 있다. 이하에서는, 설명의 편의상 ROUTE 패킷 및 MMTP 패킷을 통칭하여 A3 패킷(ATSC 3.0용 전용 패킷을 나타냄)으로 표현하고, ROUTE 스트림 및 MMTP 스트림을 통칭하여 A3 스트림으로 표현한다. 그러나, 이는 설명의 편의를 위한 것일 뿐, ROUTE 패킷과 MMTP 패킷은 구분되어야 하고, ROUTE 스트림과 MMTP 스트림은 구분되어야 할 것이다.
도 6은 본 발명의 실시예에 따른 제1 스트림 생성부를 나타낸 블록도이다.
도 6을 참조하면, 제1 스트림 생성부(1410)는 PES/TS 패킷화부(1411) 및 제1 다중화부(1414)를 포함할 수 있다.
PES/TS 패킷화부(1411)는 비디오 부호화부(1200)로부터 획득한 비디오 기본 스트림 및 오디오 부호화부(1300)로부터 획득한 오디오 기본 스트림을 PES 패킷으로 패킷화한 후, PES 패킷을 TS 패킷으로 패킷화할 수 있다. 도 6의 예에서, 전술한 출력 패킷은 상기 TS 패킷이 될 수 있다.
또한, 제1 다중화부(1410)는 PES/TS 패킷화부(1411)에서 생성된 TS 패킷을 다중화하여 출력 스트림을 생성할 수 있다. 이하에서, 상기 출력 스트림은 전송 스트림으로 표현될 수 있다.
구체적으로, PES/TS 패킷화부(1411)는 제1 PES/TS 패킷화부(1412) 및 제2 PES/TS 패킷화부(1413)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니고, 구성예에 따라, 제1 PES/TS 패킷화부(1412) 및 제2 PES/TS 패킷화부(1413)는 구분되지 않고 하나의 PES/TS 패킷화부로 구성될 수도 있다.
본 발명의 실시예에서, PES/TS 패킷화부(1411)는 기본 스트림을 PES 패킷으로 패킷화할 수 있다. PES 패킷은 기본 스트림의 데이터들을 운반하기 위해 사용되어지는 데이터 구조를 나타낼 수 있다. 실시예에 따라, 기본 스트림의 하나의 억세스 유닛은 하나의 PES 패킷에 포함될 수도 있고, 복수의 PES 패킷에 포함될 수도 있다. 일 예로, 하나의 억세스 유닛이 복수의 PES 패킷에 포함될 경우, 상기 복수의 PES 패킷은 PES 스트림으로 표현될 수 있다. 물론, 실시예에 따라, 기본 스트림의 복수의 억세스 유닛이 하나의 PES 패킷에 포함될 수도 있다.
PES 패킷은 PES 패킷 헤더 및 페이로드로 구성될 수 있다. 페이로드에는 기본 스트림이 수납될 수 있고, PES 패킷 헤더에는 해당 PES 패킷을 식별하는 식별정보 및 페이로드에 저장된 기본 스트림과 관련있는 정보들이 포함될 수 있다. 예를 들어, PES 패킷 헤더에는 디코딩 타임 스탬프(Decoding Time Stamp, DTS) 및 프리젠테이션 타임 스탬프(Presentation Time Stamp, PTS)가 포함될 수 있다. 디코딩 타임 스탬프는 PES 패킷의 페이로드에 포함된 억세스 유닛이 복호화 장치에서 복호화되는 시간 정보를 나타내며, 프리젠테이션 타임 스탬프는 PES 패킷의 페이로드에 포함된 억세스 유닛이 복호화 장치에서 재생되는 시간 정보를 나타낼 수 있다. 또한, PES 패킷의 길이는 미리 정해질 수도 있고, 기본 스트림의 길이에 따라 가변적일 수도 있다.
또한, 본 발명의 실시예에서, PES/TS 패킷화부(1411)는 생성된 PES 패킷을 TS 패킷으로 패킷화할 수 있다. 여기서, TS 패킷은 기본 스트림을 전송 에러가 존재하는 채널로 전송하기 위하여 정해진 일정한 형식의 패킷을 의미하는 것으로, TS 패킷의 길이는 188바이트로 고정될 수 있다. 이에 따라, PES 패킷은 하나 또는 복수의 TS 패킷에 분산되어 포함될 수 있다. 또한, 본 발명의 실시예에서, 하나의 TS 패킷은 하나의 PES 패킷의 적어도 일부를 삽입할 수 있고, 하나의 TS 패킷에는 복수의 PES 패킷이 삽입되지 않을 수 있다. 이에 따라. 하나의 TS 패킷에는 하나의 억세스 유닛에 대한 정보가 포함될 뿐 복수의 억세스 유닛에 대한 정보가 포함되지 않을 수 있다
TS 패킷은 TS 패킷 헤더, TS 패킷 적응 필드 및 페이로드로 구성될 수 있다. 일 실시예에서, TS 패킷 헤더 및 TS 패킷 적응 필드는 TS 패킷 헤더부로 표현될 수도 있다.
페이로드에는 PES 패킷이 수납될 수 있고, TS 패킷 헤더에는 해당 TS 패킷을 나타내는 정보 및 페이로드에 저장된 PES 패킷과 관련있는 정보들이 포함될 수 있다. 예를 들어, TS 패킷 헤더에는 해당 TS 패킷을 식별하는 식별정보(Packet ID, PID). 해당 TS 패킷의 시작을 나타내는 싱크 정보(Sync byte), 해당 패킷에 에러가 발생되었는지 여부를 나타내는 정보(Transport error indicator), 페이로드에 포함된 데이터가 전체 데이터에서 어느 부분을 포함하는지 나타내는 정보(Payload unit start indicator), 해당 TS 패킷의 우선순위를 나타내는 정보(Transport priority indicator)를 포함할 수 있다. 그리고, TS 패킷 헤더의 길이는 4바이트가 될 수 있다.
또한, TS 패킷 적응 필드는 시간 정보와 같은 부가정보를 포함할 수 있다. 예를 들어, TS 패킷 적응 필드는 스트림 제공 장치(1000)와 복호화 장치의 시간을 맞추기 위한 시간 기준값을 나타내는 PCR(Program Clock Reference) 정보를 포함할 수 있다.
또한, TS 패킷 적응 필드는 모든 TS 패킷마다 반드시 제공될 필요는 없으며, 일부 TS 패킷은 TS 패킷 적응 필드를 포함하지 않을 수 있다. 이에 따라, PCR 정보 역시 모든 TS 패킷에 포함되는 것이 아니라, 소정의 주기에 따라 일부 TS 패킷에 포함될 수 있다.
TS 패킷 적응 필드 및 페이로드를 합친 길이는 184 바이트가 될 수 있다. 즉, TS 패킷은 4바이트의 TS 패킷 헤더 및 184 바이트의 TS 패킷 적응 필드 및/또는 페이로드로 구성될 수 있다.
페이로드는 PES 패킷을 수용할 수 있으나 수용되는 PES 패킷의 길이가 페이로드의 길이보다 짧을 수도 있다. 이 경우, TS 패킷의 길이는 188바이트로 고정되어 있으므로, PES 패킷을 페이로드에 수용하고 남는 부분에 대해서는 Null data를 삽입할 수 있다. 이와 같이, 페이로드의 남는 부분에 Null data를 삽입하는 것을 스터핑(stuffing)이라고 표현할 수 있다.
도 7의 예에서, 제1 기본 스트림(710)은 제1 억세스 유닛을 포함하고, 제2 기본 스트림(750)은 제2 억세스 유닛을 포함할 수 있다. PES/TS 패킷화부(1411)는 제1 기본 스트림(710)을 패키타이징하여 제1 PES 패킷(720)을 생성하고, 제2 기본 스트림(750)을 패키타이징하여 제2 PES 패킷(760)을 생성할 수 있다. 이 때, 제1 기본 스트림(710)이 제2 기본 스트림(720)보다 크기가 큼에 따라, 제1 PES 패킷(720) 역시 제2 PES 패킷(760)의 크기보다 클 수 있다. 도 7의 실시예에서, 제1 PES 패킷(720)은 PES 패킷 헤더의 길이가 6바이트이고, 페이로드의 크기가 522 바이트일 수 있으며, 제2 PES 패킷(760)은 PES 패킷 헤더의 길이가 6바이트이고, 페이로드의 크기가 156 바이트일 수 있다.
또한, PES/TS 패킷화부(1411)는 제1 PES 패킷(720)을 패킷타이징하여 제1 TS 패킷(731) 내지 제3 TS 패킷(733)을 생성할 수 있고, 제2 PES 패킷(760)을 패킷타이징하여 제4 TS 패킷(771) 을 생성할 수 있다. 그리고, 제1 TS 패킷(731) 내지 제4 TS 패킷(771) 중 적어도 하나의 패킷에는 TS 패킷 적응필드가 포함될 수 있으나, 도 7의 실시예에서는 설명의 편의를 위해 생략한다.
제1 PES 패킷(720)이 제1 억세스 유닛에 대한 데이터를 포함하고 있으므로, TS 패킷(731) 내지 제3 TS 패킷(733)의 페이로드에는 제1 억세스 유닛에 대한 데이터가 포함되고, 제4 TS 패킷(771)에는 제2 억세스 유닛에 대한 데이터가 포함될 수 있다. 또한, 제1 PES 패킷(720)의 페이로드의 길이가 522바이트이므로, 제1 TS 패킷(731) 및 제2 TS 패킷(732)의 페이로드의 크기는 184 바이트가 되지만, 제3 TS 패킷(733)의 페이로드 중 제1 PES 패킷(720)에 대한 데이터의 크기는 160 바이트가 될 수 있다. 이 경우, 페이로드의 나머지 24바이트는 Null data가 될 수 있다.
또한, 제2 PES패킷(760)의 페이로드의 크기가 156 바이트이므로, 제4 TS 패킷(771)의 페이로드 중 제2 PES 패킷(760)에 대한 데이터의 크기는 150 바이트가 될 수 있다. 이 경우, 페이로드의 나머지 28바이트는 Null data가 될 수 있다.
본 발명의 몇몇 실시예에서, 제1 PES/TS 패킷화부(1412)는 비디오 부호화부(1200)로부터 비디오 기본 스트림을 획득하고, 비디오 기본 스트림을 PES 패킷으로 패킷화하고, PES 패킷을 TS 패킷으로 패킷화할 수 있다. 여기서, 비디오 기본 스트림에 대한 TS 패킷을 비디오 TS 패킷으로 표현할 수 있다.
또한, 제2 PES/TS 패킷화부(1413)는 오디오 부호화부(1300)로부터 오디오 기본 스트림을 획득하고, 오디오 기본 스트림을 PES 패킷으로 패킷화하고, PES 패킷을 TS 패킷으로 패킷화할 수 있다. 여기서, 오디오 기본 스트림에 대한 TS 패킷을 오디오 TS 패킷으로 표현할 수 있다.
또한, 도 6에는 표현하지 않았지만, PES/TS 패킷화부(1411)는 제3 PES/TS 패킷화부를 포함할 수 있고, 제3 PES/TS 패킷화부는 전술한 메타 데이터 기본 스트림을 PES 패킷으로 패킷화하고, PES 패킷을 TS 패킷으로 패킷화할 수 있다. 여기서, 메타 데이터 기본 스트림에 대한 TS 패킷을 메타 데이터 TS 패킷으로 표현할 수 있다.
또한, 제1 다중화부(1414)는 제1 스트림 생성부(1411)에서 생성된 TS패킷을 다중화하여 출력 스트림을 생성할 수 있다. 예를 들어, 제1 다중화부(1414)는 제1 PES/TS 패킷화부(1412)로부터의 비디오 TS 패킷 및 제2 PES/TS 패킷화부(1413)로부터의 오디오 TS 패킷을 다중화하여 출력 스트림을 생성할 수 있다. 또한, 제1 다중화부(1414)는 비디오 TS 패킷 및 오디오 TS 패킷 뿐만 아니라 메타 데이터 TS 패킷을 함께 다중화하여 출력 스트림을 생성할 수 있다.
제1 다중화부(1414)는 생성된 출력 스트림을 출력부(1500)에 제공할 수 있다.
또한, 제1 다중화부(1414)는 소정의 비트레이트에 따라 TS 패킷들을 다중화할 수 있다. 예를 들어, 비트레이트가 11Mbps인 경우, 제1 다중화부(1414)는 초당 11*10^6 비트의 출력 스트림을 생성할 수 있다. 일 실시예에서, 제어부(1600)는 제1 다중화부(1414)의 출력 스트림을 설정할 수 있다. 일 예로, 제어부(1600)는 스트림 제공장치(1600)에서 제공되는 출력 스트림의 비트량이 소정 기준보다 많거나 적을 경우, 복호화 장치의 버퍼에 오버플로 또는 언더플로가 발생되지 않도록 제1 다중화부(1414)의 비트레이트, 즉, 출력 스트림의 비트레이트를 조정할 수 있다. 또한, 제어부(1600)는 도 3에서 전술한 가상의 버퍼를 이용하여 출력 스트림의 비트레이트를 제어할 수 있다.
도 8은 본 발명의 실시예에 따른 제2 스트림 생성부를 나타낸 블록도이다.
도 8을 참조하면, 제2 스트림 생성부(1420)는 전처리부(1450), 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440)를 포함할 수 있다.
전처리부(1450)는 제2a 스트림 생성부(1430) 및 제2b 스트림 생성부(1440)에서 출력 스트림을 생성하기 위해 필요한 데이터를 제공할 수 있다.
보다 구체적으로, ATSC 3.0에서는 방송 서비스를 위한 전송 프로토콜로서, 방송망 전송을 위해서는 UDP/IP 기반의 ROUTE(Real-Time Object Delivery over Unidirectional Transport)와 MMTP(MPEG Media Transport Protocol)에 대해 정의하고 있고, 통신망 전송을 위해서는 TCP/IP 기반의 HTTP 프로토콜을 이용하도록 하고 있다.
본 발명의 스트림 제공장치(1000)는 이러한 ATSC 3.0의 방송 서비스를 제공하기 위하여 A3 스트림을 제공하고, 보다 자세하게는, 제2a 스트림 생성부(1430)에서 ROUTE 스트림을 제공하고, 제2b 스트림 생성부(1440)에서 MMTP 스트림을 제공할 수 있다.
또한, 제2a 스트림 생성부(1430)에서는 DASH(Dynamic Adaptive Streaming over HTTP) 세그먼트를 이용하여 ROUTE 스트림을 생성하고, 제2b 스트림 생성부(1440)에서는 MPU(Media Processing Unit)를 이용하여 MMTP 스트림을 생성할 수 있다. 이와 같이, 제2 스트림 생성부(1420)에서 A3 스트림을 원활하게 생성하도록 전처리부(1450)에서는 DASH 세그먼트 및/또는 MPU를 제공할 수 있다.
본 발명의 실시예에서, DASH 세그먼트 및 MPU는 ISO 기반 미디어 파일 포맷(ISO based media file format;ISOBMFF)(이하, ISOBMFF 파일)을 기초로 생성될 수 있다. 여기서, ISO 기반 미디어 파일 포맷은 비디오나 오디오와 같은 시간 기반 멀티미디어 파일(time-based multimedia files)을 위한 데이터 구조를 정의하는 포맷을 나타낼 수 있다. 본 발명의 실시예에서, 전처리부(1450)는 비디오 복호화부(1200)로부터의 비디오 기본 스트림, 오디오 복호화부(1300)로부터의 오디오 기본 스트림 및/또는 메타 데이터 복호화부로부터의 메타 데이터 기본 스트림을 ISOBMFF 파일로 생성할 수 있다. 일 예로, ISOBMFF 파일을 기반으로 MP4 파일이 생성될 수 있다.
본 발명의 실시예에서, ISOBMFF 파일은 파일 타입(file type: 'ftyp') 박스, 무비(movie: 'moov') 박스, 무비 프래그먼트(movie fragment: 'moof') 박스 및 미디어 데이터(mdat) 박스를 포함할 수 있다. 파일 타입(ftyp) 박스는 파일 타입, 파일 버전, 및 호환성 정보를 포함할 수 있으며, 무비(moov) 박스는 미디어 데이터를 설명하는 메타데이터를 포함할 수 있고, 미디어 데이터(mdat) 박스는 실제의 미디어 데이터(비디오 기본 스트림, 오디오 기본 스트림)를 포함하며, 무비 프래그먼트(moof) 박스는 대응하는 미디어 데이터(mdat) 정보에 대한 메타데이터를 포함할 수 있다. 일 예로, 무비 프래그먼트(moof) 박스는 대응하는 미디어 데이터의 복호화 시간에 대한 정보(BMDT, BaseMediaDecodeTime)를 포함할 수 있다. 또한, 무비 프래그먼트(moof) 박스는 대응하는 미디어 데이터의 길이에 대한 정보를 나타내는 CTO(Composition Time Offset)를 포함할 수 있다. 또한, 무비 프래그먼트(moof) 박스는 대응하는 미디어 데이터의 재생 시간에 대한 정보를 포함할 수도 있다.
본 발명의 몇몇 실시예에서, 전처리부(1450)는 제2a 스트림 생성부(1430)에 제공하기 위한 DASH 세그먼트를 생성할 수 있다.
일 실시예에서, 전처리부(1450)는 하나 혹은 그 이상의 억세스 유닛들에 대한 부호화된 미디어 데이터를 포함하는 미디어 세그먼트들을 DASH 세그먼트로 생성할 있다. 구체적으로, 일 실시예에서, DASH 세그먼트들은 초기화 세그먼트(Initialization Segment) 와 하나 혹은 그 이상의 미디어 세그먼트들로 구성될 수 있다. 초기화 세그먼트는 미디어 세그먼트들에 포함된 미디어 데이터를 재생하기 위하여 필요한 정보로서, 파일 타입(ftyp) 박스와 무비(moov) 박스를 포함할 수 있다.
미디어 세그먼트들은 실제 미디어 데이터를 담은 미디어 데이터(mdat) 박스를 포함하고 있으며, 미디어 데이터(mdat) 박스에 관련되는 하나 이상의 완전한 (whole self-contained) 무비 프래그먼트(moof) 박스를 포함할 수 있다. 또한 미디어 세그먼트는 세그먼트 타입(segment type: 'styp') 박스를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 전처리부(1450)는 제2b 스트림 생성부(1440)에 제공하기 위한 MPU를 생성할 수 있다. 여기서, MPU는 ISOBMFF을 따르는 물리적 파일로, 독립적인 재생이 가능할 수 있다. 이에 따라, MPU에는 복호화에 필요한 초기화 정보 및 메타데이터를 포함할 수 있다.
일 실시예에서, MPU는 ISOBMFF에 따라, 파일 타입(ftyp) 박스, 무비(moov) 박스, 미디어 데이터(mdat) 박스 및 미디어 데이터(mdat) 박스와 관련된 무비 프래그먼트(moof) 박스를 포함할 수 있다.
또한, 제2a 스트림 생성부(1430)는 전처리부(1450)로부터 획득한 DASH 세그먼트를 이용하여 ROUTE 패킷을 생성하고, ROUTE 패킷을 기초로 ROUTE 스트림을 생성할 수 있다. 제2b 생성부(1440)는 전처리부(1450)로부터 획득한 MPU를 이용하여 MMTP 패킷을 생성하고, MMTP 패킷을 기초로 MMTP 스트림을 생성할 수 있다.
도 9는 본 발명의 실시예에 따른 제2a 스트림 생성부를 나타낸 블록도이다.
도 9를 참조하면, 제2a 스트림 생성부(1430)는 ROUTE 패킷화부(1431) 및 제2a 다중화부(1434)를 포함할 수 있다.
ROUTE 패킷화부(1431)는 전처리부(1450)로부터 획득한 비디오 기본 스트림 기반의 DASH 세그먼트 및 오디오 기본 스트림 기반의 DASH 세그먼트를 ROUTE 패킷으로 패킷화할 수 있다.
또한, 제2a 다중화부(1434)는 ROUTE 패킷화부(1431)에서 생성된 ROUTE 패킷을 다중화하여 출력 스트림을 생성할 수 있다. 여기서, 출력 패킷은 ROUTE 패킷을 의미할 수 있고, 출력 스트림은 ROUTE 스트림을 의미할 수 있다.
구체적으로, ROUTE 패킷화부(1431)는 제1 ROUTE 패킷화부(1432) 및 제2 ROUTE 패킷화부(1433)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니고, 구성예에 따라, 제1 ROUTE 패킷화부(1432) 및 제2 ROUTE 패킷화부(1433)는 구분되지 않고 하나의 ROUTE 패킷화부로 구성될 수도 있다.
일 실시예에서, ROUTE 패킷은 LCT(Layered Coding Transport)로 표현될 수 있다. ROUTE 패킷은 ROUTE 패킷 헤더 및 페이로드로 구성될 수 있다. 페이로드에는 기본 스트림이 수납될 수 있고, ROUTE 패킷 헤더에는 해당 ROUTE 패킷을 식별하는 식별정보 및 페이로드에 포함된 데이터와 관련된 정보들이 포함될 수 있다.
일 예로, ROUTE 패킷 헤더에는 페이로드에 포함된 억세스 유닛이 복호화 장치에서 복호화되는 시간에 대한 정보 및 페이로드에 포함된 억세스 유닛이 복호화 장치에서 재생되는 시간에 대한 정보를 포함할 수 있다.
또한, 경우에 따라, 페이로드에는 기본 스트림에 대응되는 정보가 포함될 수도 있고, 기본 스트림에 대응되는 정보 외의 다른 정보가 포함될 수도 있고, 상기 다른 정보만이 포함될 수도 있다. 예를 들어, 제1 ROUTE 패킷의 페이로드에는 ISOBMFF의 파일 타입(ftyp) 박스 및 무비(moov) 박스에 대한 데이터가 포함될 수 있고, 제2 ROUTE 패킷의 페이로드에는 무비 프래그먼트(moof) 박스 및 미디어 데이터(mdat) 박스에 대한 데이터가 포함될 수 있고, 제3 ROUTE 패킷의 페이로드에는 미디어 데이터(mdat) 박스에 대한 데이터가 포함될 수 있다. 또한, ROUTE 패킷의 길이는 미리 정해질 수도 있고, 가변적일 수도 있다.
본 발명의 몇몇 실시예에서, 제1 ROUTE 패킷화부(1432)는 전처리부(1450)로부터 비디오 기본 스트림에 대한 DASH 세그먼트를 획득하고, 상기 DASH 세그먼트를 기초로 ROUTE 패킷을 생성할 수 있다.
또한, 제2 ROUTE 패킷화부(1433)는 전처리부(1450)로부터 오디오 기본 스트림에 대한 DASH 세그먼트를 획득하고, 상기 DASH 세그먼트를 기초로 ROUTE 패킷을 생성할 수 있다.
또한, 제2a 다중화부(1434)는 제1 ROUTE 패킷화부(1432) 및 제2 ROUTE 패킷화부(1443)에서 생성된 ROUTE 패킷들을 다중화하여 출력 스트림을 생성하고, 생성된 출력 스트림을 출력부(1500)에 제공할 수 있다.
또한, 제2a 다중화부(1434)는 소정의 비트레이트에 따라 ROUTE 패킷들을 다중화할 수 있다.
또한, 제어부(1600)는 스트림 제공장치(1600)에서 제공되는 출력 스트림의 비트량이 소정 기준보다 많거나 적을 경우, 복호화 장치의 버퍼에 오버플로 또는 언더플로가 발생되지 않도록 제2a 다중화부(1434)의 비트레이트, 즉, 출력 스트림의 비트레이트를 조정할 수 있다.
도 10은 본 발명의 실시예에 따른 제2b 스트림 생성부를 나타낸 블록도이다.
도 10을 참조하면, 제2b 스트림 생성부(1440)는 MMTP 패킷화부(1441) 및 제2b 다중화부(1444)를 포함할 수 있다.
MMTP 패킷화부(1441)는 전처리부(1450)로부터 획득한 비디오 기본 스트림 기반의 MPU 및 오디오 기본 스트림 기반의 MPU를 MMTP 패킷으로 패킷화할 수 있다.
또한, 제2b 다중화부(1444)는 MMTP 패킷화부(1441)에서 생성된 MMTP 패킷을 다중화하여 출력 스트림을 생성할 수 있다. 여기서, 출력 패킷은 MMTP 패킷을 의미할 수 있고, 출력 스트림은 MMTP 스트림을 의미할 수 있다.
구체적으로, MMTP 패킷화부(1441)는 제1 MMTP 패킷화부(1442) 및 제2 MMTP 패킷화부(1443)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니고, 구성예에 따라, 제1 MMTP 패킷화부(1442) 및 제2 MMTP 패킷화부(1443)는 구분되지 않고 하나의 MMTP 패킷화부로 구성될 수도 있다.
일 실시예에서, MMTP 패킷은 MMTP 패킷 헤더 및 페이로드로 구성될 수 있다. 페이로드에는 기본 스트림이 수납될 수 있고, MMTP 패킷 헤더에는 해당 MMTP 패킷을 식별하는 식별정보 및 페이로드에 포함된 데이터와 관련된 정보들이 포함될 수 있다.
일 예로, MMTP 패킷 헤더에는 페이로드에 포함된 억세스 유닛이 복호화 장치에서 순차적으로 정렬할 수 있는 패킷 시퀀스 번호 등에 대한 정보를 포함할 수 있다.
또한, 경우에 따라, 페이로드에는 기본 스트림에 대응되는 정보가 포함될 수도 있고, 기본 스트림에 대응되는 정보 외의 다른 정보가 포함될 수도 있고, 상기 다른 정보만이 포함될 수도 있다. 예를 들어, 제1 MMTP 패킷의 페이로드에는 ISOBMFF의 파일 타입(ftyp) 박스 및 무비(moov) 박스에 대한 데이터가 포함될 수 있고, 제2 MMTP 패킷의 페이로드에는 무비 프래그먼트(moof) 박스가 포함될 수 있고, 제3 MMTP 패킷의 페이로드에는 미디어 데이터(mdat) 박스에 대한 데이터가 포함될 수 있다. 또한, MMTP 패킷의 길이는 미리 정해질 수도 있고, 가변적일 수도 있다. 예를 들어, MMTP 패킷의 길이는 20바이트 내지 1500바이트로 생성될 수 있다.
본 발명의 몇몇 실시예에서, 제1 MMTP 패킷화부(1442)는 전처리부(1450)로부터 비디오 기본 스트림에 대한 MPU를 획득하고, 상기 MPU를 기초로 MMTP 패킷을 생성할 수 있다.
또한, 제2 MMTP 패킷화부(1443)는 전처리부(1450)로부터 오디오 기본 스트림에 대한 MPU를 획득하고, 상기 MPU를 기초로 MMTP 패킷을 생성할 수 있다.
또한, 제2b 다중화부(1444)는 제1 MMTP 패킷화부(1442) 및 제2 MMTP 패킷화부(1443)에서 생성된 MMTP 패킷들을 다중화하여 출력 스트림을 생성하고, 출력 스트림을 출력부(1500)에 제공할 수 있다.
또한, 제2a 다중화부(1434)는 소정의 비트레이트에 따라 MMTP 패킷들을 다중화할 수 있다.
또한, 제어부(1600)는 스트림 제공장치(1600)에서 제공되는 출력 스트림의 비트량이 소정 기준보다 많거나 적을 경우, 복호화 장치의 버퍼에 오버플로 또는 언더플로가 발생되지 않도록 제2b 다중화부(1444)의 비트레이트, 즉, 출력 스트림의 비트레이트를 조정할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 스트림 생성부를 나타낸 블록도이다.
도 11을 참조하면, 스트림 생성부(1400)는 패킷화부(1470) 및 다중화부(1480)를 포함할 수 있다. 패킷화부(1470)는 비디오 부호화부(1200)로부터 획득하는 비디오 기본 스트림 및 오디오 부호화부(1300)로부터 획득하는 오디오 기본 스트림을 출력 패킷으로 패킷화하는 구성으로, 도 6, 도 9 및 도 10에서 전술한 PES/TS 패킷화부(1411), ROUTE 패킷화부(1431) 및 MMTP 패킷화부(1441) 중 적어도 하나를 나타낼 수 있다. 또한. 다중화부(1480)는 패킷화부(1470)에서 생성된 출력 패킷을 다중화하여 출력 스트림을 생성하는 구성으로, 도 6, 도 9 및 도 10에서 전술한 제1 다중화부(1414), 제2a 다중화부(1434) 및 제2b 다중화부(1444) 중 적어도 하나를 나타낼 수 있다.
패킷화부(1470)는 비디오 부호화부(1200)로부터 L 비트레이트로 비디오 기본 스트림을 획득하고, 오디오 부호화부(1300)로부터 M 비트레이트로 오디오 기본 스트림을 획득할 수 있다. 즉, 비디오 부호화부(1200)는 소스 비디오 신호를 부호화하여 L 비트레이트(이하, 비디오 ES 비트레이트라고 표현함)로 비디오 기본 스트림을 패킷화부(1470)에 제공하고, 오디오 부호화부(1300)는 소스 오디오 신호를 부호화하여 M 비트레이트(이하, 오디오 ES 비트레이트라고 표현함)로 오디오 기본 스트림을 패킷화부(1470)에 제공할 수 있다.
패킷화부(1470)는 획득한 비디오 기본 스트림 및 오디오 기본 스트림에 대해 패킷화를 진행하여 출력 패킷들을 생성하고, 생성된 비디오 출력 패킷 및 오디오 출력 패킷을 다중화부(1480)에 제공할 수 있다.
다중화부(1480)는 패킷화부(1470)로부터 비디오 출력 패킷 및 오디오 출력 패킷을 획득하고, 획득한 비디오 출력 패킷 및 오디오 출력 패킷을 다중화할 수 있다. 일 실시예에서, 패킷화부(1470)에서 생성된 비디오 출력 패킷 및 오디오 출력 패킷은 스트림 생성 장치(1000)내에 포함된 출력 패킷 버퍼에 저장될 수 있고, 다중화부(1480)는 출력 패킷 버퍼로부터 비디오 출력 패킷 및 오디오 출력 패킷을 리드할 수 있다.
또한, 본 발명의 몇몇 실시예에서, 다중화부(1480)는 출력 스트림을 N 비트레이트(이하, 출력 비트레이트로 표현함)로 출력할 수 있다. 일 실시예에서, 출력 비트레이트의 값은 비디오 ES 비트레이트 및 오디오 ES 비트레이트를 합한 값 이상일 수 있다. 이는, 스트림 생성부(1400)가 비디오 ES 비트레이트로 입력받는 비디오 기본 스트림 및 오디오 ES 비트레이트로 입력받는 오디오 기본 스트림을 안정적으로 출력하기 위함일 수 있다. 만약, 출력 비트레이트의 값이 비디오 ES 입력 비트레이트 및 오디오 ES 입력 비트레이트를 합한 값보다 작을 경우, 다중화부(1480)는 소정의 시간동안 비디오 부호화부(1200) 및 오디오 부호화부(1300)로부터 획득한 기본 스트림을 동일한 시간동안 출력 스트림의 형태로 출력할 수 없게 된다. 즉, 다중화부(1480)의 출력 스트림의 출력에 있어서 지연이 발생되게 되고, 이에 따라, 복호화 장치에서 역시 상기 기본 스트림의 복호화에 지연이 발생될 수 있다. 따라서, 다중화부(1480)에서의 출력 비트레이트는 비디오 ES 비트레이트 및 오디오 ES 비트레이트 이상일 수 있다.
이 때, 출력 비트레이트의 값이 비디오 ES 비트레이트 및 오디오 ES 비트레이트를 합한 값(이하, ES 비트레이트의 값) 이상임에 따라, 출력 스트림에는 출력 비트레이트의 값과 ES 비트레이트의 값의 차이만큼 Null 패킷이 포함될 수 있다. 예를 들어, 출력 비트레이트가 11Mbps이고, ES 비트레이트가 10.1Mbps인 경우, 1초를 기준으로, 출력 스트림의 비트수는 11*10^6 개이고, 출력 스트림내에서, 출력 패킷은 10.1*10^6개가 포함되고, Null 패킷은 0.9*10^6개가 포함될 수 있다.
그러나, 경우에 따라, 출력 스트림 내에서 Null 패킷이 집중될 수 있다. 도 12의 예를 참고하면, 도 12는 출력 패킷의 비트수를 나타내는 것으로, 그래프의 x축은 시간을 나타내고, y축은 비트수를 나타낼 수 있다. 출력 스트림은 출력 비트레이트에 따라 출력될 수 있다. 그러나, 출력 패킷의 경우, 다중화부(1480)에서 다중화가 어떠한 방식으로 진행되냐에 따라, 선(1210)과 같이 출력 패킷의 최대 비트수와 최소 비트수의 차이가 소정의 임계값 이내일 수도 있고, 선(1220)과 같이 출력 패킷의 최대 비트수와 최소 비트수의 차이가 상기 소정의 임계값보다 클 수 있다. 즉, 도 12의 예에서, 선(1210)의 경우에는 Null 패킷이 출력 스트림에 분산되어 위치함에 따라 출력 패킷의 최대 비트수와 최소 비트수의 차이가 소정의 임계값 이내가 될 수 있는 반면, 선(1220)의 경우에는 Null 패킷이 출력 스트림에 한곳에 집중되어 위치함에 따라 출력 패킷의 최대 비트수와 최소 비트수의 차이가 소정의 임계값보다 커지게 될 수 있다.
그러나, 경우에 따라, 출력 패킷의 최대 비트수와 최소 비트수의 차이가 소정의 임계값보다 커지게 되는 경우, 송신 시스템(110) 내에서 스위칭(절체)가 발생될 수 있다. 구체적으로, 도 2의 송신 시스템(110)에서는 스트림 제공장치(1000)가 하나로 표현되었지만, 일 실시예에서, 송신 시스템(110)에서 스트림 제공 장치(100)는 두 개 이상 포함될 수 있다. 이 경우, 복수의 스트림 제공장치중 메인 스트림 제공장치는 게이트웨이(2000)에 출력 스트림을 제공할 수 있고, 나머지 스트림 제공장치는 메인 스트림 제공장치에 오류가 발생되는 것을 대비하여 예비적으로 사용될 수 있다. 이 때, 메인 스트림 제공장치에서 출력되는 출력 스트림에 Null 패킷이 소정의 임계값 이상 발생되는 경우, 송신 시스템(110)은 메인 스트림 제공장치에 오류가 발생된 것으로 판단될 수 있다. 이 경우, 메인 스트림 제공장치에서 오류가 발생되지 않았음에도 불구하고 송신 시스템(110)은 메인 스트림 제공장치에 오류가 발생된 것으로 판단하여, 상기 나머지 스트림 제공장치를 메인 스트림 제공장치로 스위칭할 수 있다. 이러한 스트림 제공장치의 불필요한 스위칭을 방지하기 위하여 본 발명의 스트림 제공장치(1000)는 Null 패킷이 집중되지 않고 분산된 출력 스트림을 제공할 수 있다.
도 13은 본 발명의 실시예에 따른 출력 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 13을 참조하면, 스트림 생성부(1400)는 출력 패킷들을 획득할 수 있다(S1310). 일 예로, 패킷화부(1470)는 비디오 복호화부(1200)로부터 비디오 기본 스트림을 획득하고, 비디오 기본 스트림을 패킷화하여 비디오 출력 패킷을 생성할 수 있다. 또한, 패킷화부(1470)는 오디오 복호화부(1300)로부터 오디오 기본 스트림을 획득하고, 오디오 기본 스트림을 패킷화하여 오디오 출력 패킷을 생성할 수 있다. 여기서, 비디오 출력 패킷 및 오디오 출력 패킷은 제1 스트림 생성부(1410)에서 생성되는 TS 패킷일 수도 있고, 제2 스트림 생성부(1420)에서 생성되는 A3 패킷일 수도 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 출력 패킷들에 다중화 시각을 부여할 수 있다(S1320). 여기서, 다중화 시각은 스트림 생성부(1400) 내부에서 출력 패킷들의 다중화를 위해 부여되는 시각정보를 나타낼 수 있다. 이러한 다중화 시각은 각 출력 패킷마다 설정될 수 있다. 예를 들어, 패킷화부(1470)가 비디오 출력 패킷들을 획득하는 경우, 스트림 생성부(1400)는 각 비디오 출력 패킷마다 서로 다른 다중화 시각을 부여할 수 있다.
또한, 출력 패킷들에 부여되는 다중화 시각의 데이터 형태는 다양할 수 있다. 예를 들어, 다중화 시각은 임의의 숫자로 설정될 수도 있고, 스트림 생성장치(1000)의 클록을 기초로 설정될 수도 있고, 스트림 생성장치(1000) 및 부호화 장치에서 사용되는 상대시간 정보를 기반으로 설정될 수도 있고, 절대 시간 정보를 기반으로 설정될 수도 있다. 이 외에도, 다중화 시각은 각 출력 패킷을 구분할 수 있는 다양한 데이터 형식으로 설정될 수도 있다.
또한, 스트림 생성부(1400)는 패킷화부(1470)에서 출력 패킷이 생성되는 시간 또는 순서, 다중화부(1480)에서 출력 패킷이 리드되는 시간 또는 순서, 출력 패킷의 크기, 출력 패킷에 포함되는 억세스 유닛의 크기, 출력 패킷에 포함되는 억세스 유닛의 종류, 복호화 장치에서의 버퍼의 크기 등 다양한 기준에 따라 다중화 시각을 생성할 수 있다. 또한, 스트림 생성부(1400)는 출력 패킷을 구분할 수 있는 다양한 기준을 기초로 각 출력 패킷에 대한 다중화 시각을 설정할 수 있다.
예를 들어, 스트림 생성부(1400)는 다중화부(1480)에서 출력 패킷이 리드되는 시간 또는 순서를 기준으로 출력패킷에 다중화 시각을 설정할 수 있다. 또한, 패킷화부(1470)가 기본 스트림을 출력 패킷으로 패킷화하는 시간을 고려하지 않을 경우, 스트림 생성부(1400)는 패킷화부(1470)에서 기본스트림을 획득하는 시간 또는 순서를 기준으로 출력 패킷에 다중화 시각을 설정할 수 있다. 다중화 시각의 설정에 대해서는 도 21 및 도 22에서 보다 상세하게 설명한다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 출력 패킷에 다중화 시각을 삽입할 수 있다. 이 때, 스트림 생성부(1400)는 출력 패킷에 추가 필드를 부가하고, 추가 헤더에 다중화 시각을 삽입할 수 있다.
도 14의 예를 참조하면, 도 14는 본 발명의 실시예에 따른 다중화 시각의 삽입을 설명하기 위한 도면이다. 도 14의 예에서, (a)는 출력 패킷 #1 및 출력 패킷 #2를 나타낸다. 출력 패킷 #1 및 출력 패킷 #2는 모두 헤더 및 페이로드의 형태로 구성될 수 있다.
또한, (b)는 출력 패킷 #1 및 출력 패킷 #2에 추가 필드가 부가된 형태를 나타낼 수 있다. (b)에서 스트림 생성부(1400)는 각 출력 패킷에 다중화 시각을 삽입하기 위하여 각 출력 패킷에 추가 필드를 부가하고, 부가되는 추가 필드에 다중화 시각을 삽입할 수 있다. 일 실시예에서, 추가 필드는 추가헤더의 형태로 각 출력 패킷의 헤더의 상단에 부가될 수 있다. 다만, 이에 한정되는 것은 아니며, 추가 필드는 각 출력 패킷의 하단 또는 각 출력 패킷의 중단에 삽입될 수도 있다. 또한, 추가 필드는 복수의 필드로 구성될 수 있고, 다중화 시각 외에 다른 정보도 추가 필드에 삽입될 수 있다. 또한, 추가 필드는 고정된 크기를 가질 수 있는데, 일 예로 추가 필드는 20바이트의 크기를 가질 수도 있다. 또한, 실시예에 따라 추가 필드의 크기는 가변적일 수도 있다. 예를 들어, 추가 필드의 크기는 출력 패킷의 종류에 따라 서로 다른 크기로 설정될 수도 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 다중화 시각에 따라 출력 패킷들을 다중화할 수 있다(S1330). 구체적으로, 스트림 생성부(1400)는 다중화를 위한 기준 시각 및 출력 패킷들의 다중화 시각을 비교하여 출력 패킷을 다중화할 수 있다. 여기서, 다중화를 위한 기준 시각은 스트림 생성부(1400)가 출력 스트림에 출력 패킷들을 삽입하기 위한 기준이 되는 시각을 의미할 수 있다. 일 실시예에서, 스트림 생성부(1400)는 출력 비트레이트를 기초로 출력 패킷의 종류를 고려하여 다중화를 위한 기준 시각을 설정할 수 있다. 예를 들어, 스트림 생성부(1400)는 아래의 수학식 1에 따라 다중화를 위한 기준 시각을 설정할 수 있다.
[수학식 1]
tmux _ref = 1/OPtot _ num = OPsize / OSbitrate
여기서, tmux _ref는 다중화를 위한 기준 시각을 나타내고, OPtot _ num은 1초당 출력 스트림에 삽입되는 패킷의 수를 나타내고, OPsize는 출력 패킷의 크기를 나타내고, OSbitrate는 출력스트림의 비트레이트를 나타낼 수 있다.
예를 들어, 출력 스트림의 출력 비트레이트가 11Mbps이고, 출력 패킷의 크기가 188byte인 경우, 다중화를 위한 기준 시각은 137μsec 가 될 수 있다. 즉, 137μsec마다 출력 스트림에 출력 패킷이 삽입될 수 있다.
또한, 본 발명의 실시예에서, 스트림 생성부(1400)는 다중화를 위한 기준 시각과 각 출력 패킷의 다중화 시각을 비교하여 출력 스트림을 생성할 수 있다. 예를 들어, 출력 패킷 #1의 다중화 시각이 제1 기준시각 이하일 경우, 스트림 생성부(1400)는 제1 기준시각과 대응되는 위치에 출력 패킷 #1을 출력 스트림에 포함시킬 수 있다. 또한, 출력 패킷 #2의 다중화 시각이 제1 기준 시각보다 크고 제2 기준시각 이하일 경우, 스트림 생성부(1400)는 제2 기준시각과 대응되는 위치에 출력 패킷 #2을 출력 스트림에 포함시킬 수 있다. 또한, 출력 패킷 #3의 다중화 시각이 제2 기준시각 및 제3 기준시각보다 크고 제4 기준 시각 이하인 경우, 스트림 생성부(1400)는 제3 기준시각과 대응되는 위치에 Null 패킷을 삽입하고, 제4 기준시각과 대응되는 위치에 출력 패킷 #3을 출력 스트림에 포함시킬 수 있다.
구체적인 예로서, 도 15를 참고하면, 도 15는 본 발명의 실시예에 따른 다중화를 설명하기 위한 도면이다.
도 15의 예에서, 스트림 생성부(1400)는 ES 비트레이트에 따라 소정 시간동안 5개의 출력 패킷을 획득할 수 있으며, 스트림 생성부(1400)는 130을 주기로 5개의 출력 패킷에 다중화 시각을 설정할 수 있다.
또한, 도 15의 예에서, 스트림 생성부(1400)는 100을 주기로 다중화를 위한 기준시각을 설정할 수 있다.
일 실시예에서, 다중화 시각이 적용되지 않고 5개의 출력 패킷에 대해 다중화가 수행될 경우, 5개의 출력 패킷이 출력 스트림에 연속하여 삽입될 수 있고, 이로 인해 출력 스트림에서 Null 패킷들이 5개의 출력 패킷에 뒤따라 연속하여 위치할 수 있다.
반면, 스트림 생성부(1400)는 5개의 출력 패킷의 다중화 시각을 고려하여 다중화를 수행할 수 있다. 이 경우, 출력 패킷 #4의 다중화 시각이 390이고, 출력 패킷 #5의 다중화 시각이 520로 설정되어 있으므로, 기준시각 400 및 기준시각 500 사이의 다중화 시각을 갖는 출력 패킷이 존재하지 않을 수 있다. 이에 따라, 스트림 생성부(1400)는 출력 스트림에서 기준시각 400에 대응하는 위치에 Null 패킷을 삽입할 수 있고, 기준시각 500에 대응하는 위치에 출력 패킷 #5을 삽입할 수 있다. 따라서, 출력 스트림에서 출력 패킷 #4과 출력 패킷 #5 사이에 Null 패킷이 존재할 수 있고, 이로 인해, 출력 스트림에서 Null 패킷이 분산될 수 있다. 이와 같이, 출력 스트림에서 Null 패킷이 분산됨에 따라, 별다른 오류없이 메인 스트림 제공장치가 예비 스트림 제공장치로 교체되는 스위칭 현상의 발생이 방지될 수 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 기준 시간에 따라 출력 스트림에서 출력 패킷 및 Null 패킷을 서로 다른 위치에 삽입할 수 있다. 구체적인 예로서, 도 16을 참고하면, 도 16은 본 발명의 다른 실시예에 따른 다중화를 설명하기 위한 도면이다. 도 16의 예에서는, 도 15의 예와 같이 스트림 생성부(1400)는 ES 비트레이트에 따라 소정 시간동안 5개의 출력 패킷을 획득할 수 있으며, 스트림 생성부(1400)는 130을 주기로 5개의 출력 패킷에 다중화 시각을 설정할 수 있다. 그러나, 도 16의 예에서, 스트림 생성부(1400)는 도 15와 달리 80을 주기로 기준시각을 설정할 수 있다. 이 경우, 출력 패킷 #2의 다중화 시각이 130이고, 출력 패킷 #3의 다중화 시각이 260로 설정되어 있으므로, 기준시각 160 및 기준시각 240 사이의 다중화 시각을 갖는 출력 패킷이 존재하지 않을 수 있다. 이에 따라, 스트림 생성부(1400)는 출력 스트림에서 기준시각 160에 대응하는 위치에 Null 패킷을 삽입할 수 있고, 기준시각 240에 대응하는 위치에 출력 패킷 #3을 삽입할 수 있다. 즉, 도 15의 예와 비교했을 때, 도 15의 예에서는 출력 패킷 #4와 출력 패킷 #5 사이에 Null 패킷이 삽입된 반면, 도 16의 예에서는 출력 패킷 #2와 출력 패킷 #3 사이에 Null 패킷이 삽입될 수 있다. 즉, 기준시간이 어떠한 값으로 설정되었는지에 따라 출력 스트림의 출력 패킷들 및 Null 패킷들의 시퀀싱(또는, 오더링(ordering)으로 표현함)이 상이할 수 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 출력 패킷들을 다중화 할 때, 출력 패킷에 부가된 추가 필드들을 제거한 후 출력 패킷들에 대한 다중화를 수행할 수 있다. 구체적인 예로서, 도 14의 (c)를 참조하면, 출력 패킷 #1 및 출력 패킷 #2가 다중화되어 출력 스트림이 될 경우, 각 출력 패킷들에 부가되는 추가필드들은 출력 스트림에서 제거될 수 있다. 즉, 스트림 생성부(1400)는 추가 필드들로부터 각 출력 패킷의 다중화 시각을 획득하고, 획득된 다중화 시각을 이용하여 출력 패킷을 다중화할 수 있다. 이 때, 스트림 생성부(1400)는 출력 패킷을 다중화할 때 각 출력 패킷에 부가된 추가 필드를 제거하고, 추가 필드가 제거된 출력 패킷들을 다중화 시각을 이용하여 다중화할 수 있다.
도 17은 본 발명의 실시예에 따른 복수의 출력 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 17을 참조하면, 스트림 생성부(1400)는 제1 출력 패킷들 및 제2 출력 패킷들을 획득할 수 있다(S1710). 일 예로, 패킷화부(1470)는 비디오 복호화부(1200)로부터 비디오 기본 스트림을 획득하고, 비디오 기본 스트림을 패킷화하여 비디오 출력 패킷들을 생성할 수 있다. 이 때, 비디오 출력 패킷들은 제1 출력 패킷들로 나타낼 수 있다. 또한, 패킷화부(1470)는 오디오 복호화부(1300)로부터 오디오 기본 스트림을 획득하고, 오디오 기본 스트림을 패킷화하여 오디오 출력 패킷을 생성할 수 있다. 이 때, 비디오 출력 패킷들은 제2 출력 패킷들로 나타낼 수 있다. 물론, 제1 출력 패킷들 및 제2 출력 패킷들은 제1 스트림 생성부(1410)에서 생성되는 TS 패킷일 수도 있고, 제2 스트림 생성부(1420)에서 생성되는 A3 패킷일 수도 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 제1 출력 패킷들 및 제2 출력 패킷들에 다중화 시각을 부여할 수 있다(S1720). 일 실시예에서, 제1 출력 패킷들 및 제2 출력 패킷들이 생성되는 시간 또는 순서, 다중화부(1480)에서 제1 출력 패킷들 및 제2 출력 패킷들이 리드되는 시간 또는 순서 등은 서로 상이할 수 있다. 이에 따라, 스트림 생성부(1400)는 서로 다른 기준으로 제1 출력 패킷들 및 제2 출력 패킷들에 다중화 시간을 설정할 수 있다.
단계 S1720에 대해서는 도 13의 단계 S1320에서 설명된 내용이 그대로 적용될 수 있으므로, 자세한 설명은 생략한다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 다중화 시각에 따라 제1 출력 패킷들 및 제2 출력 패킷들을 다중화할 수 있다(S1730).
구체적인 예로서, 도 18을 참고하면, 도 18은 본 발명의 실시예에 따른 복수의 출력 패킷의 다중화를 설명하기 위한 도면이다.
도 18의 예에서, 스트림 생성부(1400)는 비디오 ES 비트레이트에 따라 소정 시간동안 3개의 비디오 출력 패킷(이하, 제1 출력 패킷)을 획득할 수 있고, 오디오 ES 비트레이트에 따라 소정 시간동안 2개의 오디오 출력 패킷(이하, 제2 출력 패킷)을 획득할 수 있다. 스트림 생성부(1400)는 제1 출력 패킷들에 대해서는 320을 주기로 다중화 시각을 설정할 수 있고, 제2 출력 패킷들에 대해서는 410을 주기로 다중화 시각을 설정할 수 있다. 또한, 도 18의 예에서, 스트림 생성부(1400)는 100을 주기로 다중화를 위한 기준시각을 설정할 수 있다.
일 실시예에서, 다중화 시각이 적용되지 않고 제1 출력 패킷들 및 제2 출력 패킷들에 대해 다중화가 수행될 경우, 제1 출력 패킷들 및 제2 출력 패킷들이 출력 스트림에 연속하여 삽입될 수 있고, 이로 인해 출력 스트림에서 Null 패킷들이 제1 출력 패킷들 및 제2 출력 패킷들에 뒤따라 연속하여 위치할 수 있다.
반면, 스트림 생성부(1400)는 제1 출력 패킷들 및 제2 출력 패킷들의 다중화 시각을 고려하여 다중화를 수행할 수 있다.
제1 출력 패킷 #1과 제2 출력 패킷 #1의 다중화 시각은 모두 0일 수 있다. 이 경우, 제1 출력 패킷 #1과 제2 출력 패킷 #1은 기준 시각 0 및 기준 시각 100에 대응되는 위치에 삽입되는 위치에 따라 상이할 수 있다. 이 때, 스트림 생성부(400)는 제1 출력 패킷 #1 및 제2 출력 패킷 #1 중 우선순위가 높은 출력 패킷을 기준 시각 0에 대응하는 위치에 삽입시킬 수 있다. 출력 패킷간의 우선순위에 대해서는 도 23 및 도 24에서 보다 상세하게 설명한다
또한, 제1 출력 패킷들 및 제2 출력 패킷들 모두 기준 시각 200 및 기준 시각 300 사이의 다중화 시각을 갖는 출력패킷을 포함하지 않을 수 있다. 이에 따라, 스트림 생성부(1400)는 기준 시각 200에 대응하는 위치에 Null 패킷을 삽입할 수 있다. 마찬가지로, 기준 시각 500 및 기준 시각 600 사이의 다중화 시각을 갖는 출력패킷은 존재하지 않음에 따라, 스트림 생성부(1400)는 기준 시각 500에 대응하는 위치에 Null 패킷을 삽입할 수 있다.
따라서, 출력 스트림에서 제2 출력패킷 #1과 제1 출력패킷 #2 사이 및 제2 출력패킷 #2와 제1 출력패킷 #3 사이에 Null 패킷이 존재할 수 있고, 이로 인해, 출력 스트림에서 Null 패킷이 분산될 수 있다. 이와 같이, 출력 스트림에서 Null 패킷이 분산됨에 따라, 별다른 오류없이 메인 스트림 제공장치가 예비 스트림 제공장치로 교체되는 스위칭 현상의 발생이 방지될 수 있다.
단계 S1730에 대해서는 도 13의 단계 S1330에서 설명된 내용이 그대로 적용될 수 있으므로, 보다 자세한 설명은 생략한다.
또한, 단계 S1710 내지 S1730에서는 제1 출력 패킷들 및 제2 출력 패킷들에 대해 설명하였지만, 본 발명은 이에 한정되는 것은 아니고, 제1 출력 패킷 및 제2 출력 패킷외에 다른 복수의 패킷들에 대해서도 단계 S1710 내지 S1730가 적용될 수 있다. 예를 들어, 스트림 생성부(1400)는 S1710에서 복수의 비디오 출력 패킷 및 복수의 오디오 출력 패킷(또는, 복수의 비디오 출력 패킷, 복수의 오디오 출력 패킷 및 복수의 데이터 출력 패킷, 여기서 데이터 출력 패킷은 데이터 기본 스트림을 출력 패킷으로 패킷화 한 것을 의미함)을 획득하고, S1720에서 획득한 복수의 비디오 출력 패킷 및 복수의 오디오 출력 패킷에 다중화 시각을 부여하고, S1730에서 다중화 시각에 따라 복수의 비디오 출력 패킷 및 복수의 오디오 출력 패킷을 다중화할 수 있다.
도 19는 본 발명의 실시예에 따른 TS 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 19를 참조하면, 스트림 생성부(1400)는 기본 스트림을 획득할 수 있다(S1910).
또한, 스트림 생성부(1400)는 기본 스트림을 TS 패킷들로 패킷화할 수 있다(S1920).
또한, 스트림 생성부(1400)는 TS 패킷들에 다중화 시각을 부여할 수 있다(S1930).
또한, 스트림 생성부(1400)는 다중화 시각에 따라 TS 패킷들을 다중화하여 출력 스트림을 생성할 수 있다(S1940)
단계 S1910 내지 단계 S1940에 대해서는 도 5 내지 도 7, 도 11, 도 13 내지 도 18에서 설명한 사항이 그대로 적용될 수 있으므로, 자세한 설명은 생략한다.
도 20은 본 발명의 실시예에 따른 A3 패킷의 다중화 방법을 나타낸 동작 흐름도이다.
도 20을 참조하면, 스트림 생성부(1400)는 기본 스트림을 획득할 수 있다(S2010).
또한, 스트림 생성부(1400)는 기본 스트림을 A3 패킷들로 패킷화할 수 있다(S2020). 일 실시예에서, 스트림 생성부(1400)는 기본 스트림을 ISOBMFF 포맷으로 변환하고, 변환된 ISOBMFF 포맷을 기초로 A3 패킷들을 생성할 수 있다. 또한, A3 패킷들은 ROUTE 패킷들 및/또는 MMTP 패킷들을 포함할 수 있다.
또한, 스트림 생성부(1400)는 A3 패킷들에 다중화 시각을 부여할 수 있다(S2030).
또한, 스트림 생성부(1400)는 다중화 시각에 따라 A3 패킷들을 다중화하여 출력 스트림을 생성할 수 있다(S2040)
단계 S1910 내지 단계 S1940에 대해서는 도 5, 도 8 내지 도 11, 도 13 내지 도 18에서 설명한 사항이 그대로 적용될 수 있으므로, 자세한 설명은 생략한다.
도 21은 본 발명의 실시예에 따른 다중화 시각의 설정을 설명하기 위한 도면이다.
도 21을 참조하면, 스트림 생성부(1400)는 비디오 복호화부(1200) 또는 오디오 복호화부(1300)로부터 ES 비트레이트에 따라 기본 스트림을 생성할 수 있다.
본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 ES 스트림 및 출력 패킷의 종류를 고려하여 다중화 시각을 설정할 수 있다. 예를 들어, 스트림 생성부(1400)는 아래의 수학식 2에 따라 출력 패킷들에 다중화 시간을 설정할 수 있다.
[수학식 2]
tmux _time = OPacc _bit / ESbitrate
여기서, tmux _time은 출력 패킷의 다중화 시각을 나타내고, OPacc _bit는 출력패킷들의 누적 발생 비트수를 나타내고, ESbitrate는 ES 비트레이트를 나타낼 수 있다.
예를 들어, 도 21의 예와 같이, 출력 패킷 #1 내지 출력 패킷 #3의 크기가 200바이트이고, ES 비트레이트가 10Mbps일 경우, 출력 패킷 #1의 다중화 시각은 0, 출력 패킷 #2의 다중화 시각은 160μsec, 출력 패킷 #3의 다중화 시각은 320μsec으로 설정될 수 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 ES 스트림 및 출력 패킷에 포함된 억세스 유닛의 크기를 고려하여 다중화 시각을 설정할 수 있다. 예를 들어, 스트림 생성부(1400)는 아래의 수학식 3에 따라 출력 패킷들에 다중화 시간을 설정할 수 있다.
[수학식 3]
tmux _time = AUacc _bit / ESbitrate
여기서, tmux _time은 출력 패킷의 다중화 시각을 나타내고, AUacc _bit는 출력패킷에 포함된 억세스 유닛의 누적 발생 비트수를 나타내고, ESbitrate는 ES 비트레이트를 나타낼 수 있다.
예를 들어, 도 21의 예와 같이, 출력 패킷 #1의 억세스 유닛의 크기는 100바이트인 반면, 출력 패킷 #2 및 출력 패킷 #3의 억세스 유닛의 크기는 180바이트일 수 있다. 또한, ES 비트레이트가 10Mbps일 경우, 출력 패킷 #1의 다중화 시각은 0, 출력 패킷 #2의 다중화 시각은 80μsec, 출력 패킷 #3의 다중화 시각은 224μsec으로 설정될 수 있다.
도 22는 본 발명의 다른 실시예에 따른 다중화 시각의 설정을 설명하기 위한 도면이다.
도 22를 참조하면, 스트림 생성부(1400)는 억세스 유닛의 종류에 따라 다중화 시각을 다르게 설정할 수 있다.
본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 출력 패킷에 비디오 억세스 유닛이 포함되는 경우, 출력 패킷에 포함된 비디오 억세스 유닛이 발생되는 시간을 기준으로 다중화 시각을 설정할 수 있다.
예를 들어, 스트림 생성부(1400)는 아래의 수학식 4에 따라 출력 패킷들에 다중화 시간을 설정할 수 있다.
[수학식 4]
tV_mux _time = V_AUacc _bit / V_ESbitrate + V_AUdelay
여기서, tV_ mux _time은 비디오 억세스 유닛을 포함하는 비디오 출력 패킷의 다중화 시각을 나타내고, V_AUacc _bit는 출력패킷에 포함된 비디오 억세스 유닛의 누적 발생 비트수를 나타내고, V_ESbitrate는 비디오 ES 비트레이트를 나타낼 수 있다. 또한, 스트림 생성부(1400)는 V_AUdelay를 추가적으로 고려할 수 있다. 여기서, V_AUdelay는 최초 비디오 억세스 유닛 지연시간, 즉, 스트림 생성부(1400)가 비디오 억세스 유닛을 최초로 획득한 시간을 나타낼 수 있다.
도 22의 예에서, V_AUdelay는 t1일 수 있고, 스트림 생성부(1400)는 시점 t1부터 비디오 출력 패킷들에 다중화 시각을 설정하여 다중화를 수행할 수 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 출력 패킷에 오디오 억세스 유닛이 포함되는 경우, 출력 패킷에 포함된 오디오 억세스 유닛이 발생되는 시간뿐 아니라, 복호화 장치에서 비디오 억세스 유닛이 처리되는 시간을 고려하여 오디오 억세스 유닛의 다중화 시각을 설정할 수 있다.
예를 들어, 스트림 생성부(1400)는 아래의 수학식 5에 따라 출력 패킷들에 다중화 시간을 설정할 수 있다.
[수학식 5]
tA_mux _time = A_AUacc _bit / A_ESbitrate + V_AUdelay + (V_AU_ pts - V_AU_ dts) + V_AU_Buffer_delay - A_Buffering
여기서, tA _ mux _time은 오디오 억세스 유닛을 포함하는 오디오 출력 패킷의 다중화 시각을 나타내고, A_AUacc _bit는 출력패킷에 포함된 오디오 억세스 유닛의 누적 발생 비트수를 나타내고, A_ESbitrate는 오디오 ES 비트레이트를 나타낼 수 있다. 또한, V_AUdelay는 최초 비디오 억세스 유닛 지연시간을 나타낼 수 있다. 또한, 스트림 생성부(1400)는 V_AU_ pts - V_AU_ dts 및 V_AU_Buffer_ delay 를 추가적으로 고려할 수 있다. 여기서, V_AU_ pts는 최초 비디오 억세스 유닛의 재생시간을 나타내고, V_AU_ dts는 최초 비디오 억세스 유닛의 복호화 시간을 나타내고, V_AU_Buffer_delay는 비디오 억세스 유닛이 복호화 장치의 버퍼에서 지연되는 시간을 나타낼 수 있다. 여기서, V_AU_Buffer_delay는 CPB(Coded Picture Buffer) delay 또는 VBV(Video Buffering Verifier) delay를 포함할 수 있다.
이와 같이, 스트림 생성부(1400)가 비디오 억세스 유닛의 재생 시간, 복호화 시간 및 버퍼 지연 시간을 고려하는 것은 비디오 억세스 유닛과 오디오 억세스 유닛의 동기를 위한 것으로, 비디오 억세스 유닛의 크기가 오디오 억세스 유닛의 크기보다 상당히 크고, 오디오 억세스 유닛에 비해 비디오 억세스 유닛의 복호화 시간 및 버퍼 지연 시간이 길다는 점을 고려한 것일 수 있다. 또한, 수학식 5에서는 표현되지 않았지만, 스트림 재생부(1400)는 비디오 억세스 유닛의 리오더링(reordering) 시간을 추가적으로 고려할 수 있다.
또한, 스트림 생성부(1400)는 오디오 출력 패킷의 다중화 시각에 있어서 오디오 버퍼링 시간을 나타내는 A_Buffering을 추가적으로 고려할 수 있다. 즉, 스트림 생성부(1400)는 비디오 억세스 유닛의 재생 시점보다 오디오 버퍼링 시간만큼 앞선 시점부터 오디오 출력 패킷의 다중화 시각을 설정하여 오디오 출력 패킷의 다중화를 수행할 수 있다. 다시 말해, 도 22의 예에 있어서, 스트림 생성부(1400)는 시점 t2에서 오디오 출력 패킷들을 획득할 수 있지만, 위 수학식 5를 반영하여 시점 t2가 아니라, 시점 t3부터 다중화를 수행할 수 있다.
도 23은 본 발명의 실시예에 따른 우선 순위를 고려한 다중화 방법을 나타낸 동작 흐름도이다.
도 23을 참조하면, 스트림 생성부(1400)는 전술한 도 17의 단계 S1730에서, 제1 출력 패킷 및 제2 출력 패킷의 우선순위를 결정할 수 있다(S2310). 구체적으로, 스트림 생성부(1400)는 제1 출력 패킷 및 제2 출력 패킷의 다중화 시각이 동일하거나, 제1 출력 패킷 및 제2 출력 패킷의 다중화 시각이 다르더라도 대응되는 다중화를 위한 기준시각이 동일한 경우, 제1 출력 패킷 및 제2 출력 패킷의 우선순위를 확인할 수 있다.
일 실시예에서, 스트림 생성부(1400)는 출력 패킷에 포함된 데이터의 종류에 따라 제1 출력 패킷 및 제2 출력 패킷의 우선순위를 결정할 수 있다. 예를 들어, 제1 출력 패킷에는 비디오 억세스 유닛이 포함되고, 제2 출력 패킷에는 비디오 억세스 유닛과 관련된 메타 데이터(예를 들어, TS 패킷의 경우 PSI 정보)가 포함된 경우, 스트림 생성부(1400)는 제2 출력 패킷의 우선순위를 높게 결정할 수 있다.
또한, 다른 예로서, 제1 출력 패킷에는 비디오 억세스 유닛이 포함되고, 제2 출력 패킷에는 오디오 억세스 유닛이 포함되는 경우, 스트림 생성부(1400)는 오디오 억세스 유닛이 포함된 제2 출력 패킷의 우선순위를 높게 결정할 수 있다. 다만, 이는 예시일 뿐, 실시예에 따라, 스트림 생성부(1400)는 비디오 억세스 유닛을 포함하는 제1 출력 패킷의 우선순위를 높게 결정할 수 있다.
또한, 일 실시예에서, 제1 출력 패킷 및 제2 출력 패킷의 다중화 시각이 다르고 대응되는 다중화를 위한 기준시각이 동일한 경우, 다중화 시각이 앞선 패킷을 우선순위가 높은 패킷으로 결정할 수도 있다.
이외에도, 스트림 생성부(1400)는 다양한 기준에 따라 제1 출력 패킷 및 제2 출력 패킷의 우선순위를 결정할 수 있다.
또한, 본 발명의 몇몇 실시예에서, 스트림 생성부(1400)는 결정된 우선순위에 따라 제1 출력 패킷 및 제2 출력 패킷을 다중화할 수 있다(S2320). 예를 들어, 제1 출력 패킷보다 제2 출력 패킷의 우선순위가 높은 것으로 결정된 경우, 스트림 생성부(1400)는 제2 출력 패킷을 우선적으로 출력 스트림에 포함시킬 수 있다.
구체적인 예로서, 도 24는 본 발명의 또 다른 실시예에 따른 다중화를 설명하기 위한 도면이다.
도 24를 참조하면, 제1 출력 패킷 내지 제3 출력 패킷은 헤더 및 페이로드로 구성될 수 있다. 이 때, 제1 출력 패킷의 페이로드는 비디오 억세스 유닛 및 비디오 억세스 유닛에 대한 메타데이터를 포함하고, 제2 출력 패킷의 페이로드는 비디오 억세스 유닛을 포함하고, 제3 출력 패킷의 페이로드는 오디오 억세스 유닛을 포함할 수 있다. 이 때, 제1 출력 패킷 내지 제3 출력 패킷의 다중화 시각은 200μsec로 동일할 수 있다. 이 경우, 스트림 생성부(1400)는 메타데이터를 포함하는 제1 출력 패킷의 우선순위를 가장 높게 결정할 수 있다. 또한, 스트림 생성부(1400)는 비디오 억세스 유닛을 포함하는 제2 출력 패킷을 오디오 억세스 유닛을 포함하는 제3 출력 패킷보다 우선순위를 높게 결정할 수 있다. 이 경우, 스트림 생성부(1400)는 제1 출력 패킷, 제2 출력 패킷 및 제3 출력 패킷의 시퀀스로 출력 스트림을 구성할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (18)

  1. 제1 기본 스트림 및 제2 기본 스트림을 기초로 출력 스트림을 생성하는 스트림 생성 장치의 스트림 생성 방법에 있어서,
    제1 기본 스트림을 기초로 제1 출력 패킷들을 획득하는 단계;
    제2 기본 스트림을 기초로 제2 출력 패킷들을 획득하는 단계; 및
    상기 제1 출력 패킷들 및 제2 출력 패킷들을 다중화하여 출력 스트림을 제공하는 단계를 포함하되,
    상기 출력 스트림을 제공하는 단계는,
    상기 제공되는 출력 스트림에 포함된 소정 개수 이상 연속된 Null 패킷들로 인하여 상기 스트림 생성 장치에 오류가 발생되었다는 것이 오인되지 않도록 상기 Null 패킷들을 분산하는 것을 특징으로 하는,
    스트림 생성 방법.
  2. 제1항에 있어서,
    상기 제1 기본 스트림은 비디오 기본 스트림을 포함하고,
    상기 제2 기본 스트림은 오디오 기본 스트림을 포함하고,
    상기 제1 기본 스트림은 비디오 부호화부로부터 제1 기본 스트림 비트레이트로 획득하는 단계; 및
    상기 제2 기본 스트림은 오디오 부호화부로부터 제2 기본 스트림 비트레이트로 획득하는 단계
    를 더 포함하는,
    스트림 생성 방법.
  3. 제2항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    출력 비트레이트로 상기 출력 스트림을 제공하되,
    상기 출력 비트레이트는 상기 제1 기본 스트림 비트레이트 및 상기 제2 기본 스트림 비트레이트의 합 이상인 것을 특징으로 하는,
    스트림 생성 방법.
  4. 제3항에 있어서,
    상기 출력 스트림에 포함되는 상기 Null 패킷들의 총 개수는,
    상기 출력 비트레이트에서 상기 제1 기본 스트림 비트레이트와 상기 제2 기본 스트림 비트레이트를 뺀 나머지 비트레이트의 값과 대응되고,
    상기 출력 스트림을 제공하는 단계는,
    상기 출력 스트림에 포함되는 총 Null 패킷들 중 소장 개수 이상의 상기 Null 패킷들이 연속되지 않도록, 상기 출력 스트림에 포함되는 상기 제1 출력 패킷들, 상기 제2 출력 패킷들 및 상기 Null 패킷들을 시퀀싱하는 것을 특징으로 하는,
    스트림 생성 방법.
  5. 제3항에 있어서,
    상기 제1 기본 스트림 비트레이트를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계; 및
    상기 제2 기본 스트림 비트레이트를 기초로 상기 제2 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계를 더 포함하고,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들에 부여된 다중화 시각 및 상기 제2 출력 패킷들에 부여된 다중화 시각을 기초로 상기 출력 스트림에 상기 제1 출력 패킷들 및 상기 제2 출력 패킷들을 시퀀싱하는 것을 특징으로 하는,
    스트림 생성 방법.
  6. 제5항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들에 부여된 다중화 시각 및 상기 제2 출력 패킷들에 부여된 다중화 시각을 기초로 상기 제1 출력 패킷들 및 상기 제2 출력 패킷들을 상기 출력 스트림으로 구성하되, 상기 출력 스트림에서 상기 제1 출력 패킷들 및 상기 제2 출력 패킷들이 위치하지 않는 나머지 영역에 상기 Null 패킷을 위치시키는 것을 특징으로 하는,
    스트림 생성 방법.
  7. 제5항에 있어서,
    상기 출력 비트레이트를 기초로 상기 출력 스트림의 다중화를 위한 기준 시각들을 설정하는 단계
    를 더 포함하고,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들에 부여된 다중화 시각 및 상기 제2 출력 패킷들에 부여된 다중화 시각을 상기 기준 시각들과 비교하여 상기 출력 스트림에 상기 제1 출력 패킷들 및 상기 제2 출력 패킷들을 시퀀싱하는 것을 특징으로 하는,
    스트림 생성 방법.
  8. 제7항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들 중 n번째 제1 출력 패킷의 다중화 시각이 상기 기준 시각들 중 제1 기준 시각과 대응되고, 상기 제2 출력 패킷들 중 m번째 제2 출력 패킷의 다중화 시각이 상기 제1 기준 시각과 대응되지 않는 경우,
    상기 출력 스트림에서 상기 제1 기준 시각과 대응되는 위치에 상기 n번째 제1 출력 패킷을 삽입하는 것을 특징으로 하는,
    스트림 생성 방법.
  9. 제7항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들 중 n번째 제1 출력 패킷의 다중화 시각이 상기 기준 시각들 중 제1 기준 시각과 대응되지 않고, 상기 제2 출력 패킷들 중 m번째 제2 출력 패킷의 다중화 시각이 상기 제1 기준 시각과 대응되는 경우,
    상기 출력 스트림에서 상기 제1 기준 시각과 대응되는 위치에 상기 Null 패킷을 위치하는 것을 특징으로 하는,
    스트림 생성 방법.
  10. 제7항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들 중 n번째 제1 출력 패킷의 다중화 시각이 상기 기준 시각들 중 제1 기준 시각보다 앞서고, 상기 제2 출력 패킷들 중 m번째 제2 출력 패킷의 다중화 시각이 상기 제1 기준 시각보다 앞선 경우,
    상기 n번째 제1 출력 패킷 및 상기 m번째 제2 출력 패킷의 우선순위를 판단하고, 상기 제1 기준 시각과 대응되는 위치에 상기 우선순위가 높은 출력 패킷을 위치시키는 것을 특징으로 하는,
    스트림 생성 방법.
  11. 제10항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 n번째 제1 출력 패킷의 다중화 시각 및 상기 m번째 제2 출력 패킷의 다중화 시각 중 앞선 다중화 시각을 갖는 출력 패킷을 우선순위가 높은 출력 패킷으로 결정하는 것을 특징으로 하는,
    스트림 생성 방법.
  12. 제10항에 있어서,
    상기 출력 스트림을 제공하는 단계는,
    상기 n번째 제1 출력 패킷 및 상기 m번째 제2 출력 패킷에 포함된 억세스 유닛의 종류를 기초로 상기 우선순위를 결정하는 것을 특징으로 하는,
    스트림 생성 방법.
  13. 제5항에 있어서,
    상기 제1 기본 스트림 비트레이트를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계는,
    상기 제1 출력 패킷들에 포함된 억세스 유닛의 크기를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 것을 특징으로 하는,
    스트림 생성 방법.
  14. 제5항에 있어서,
    상기 제1 기본 스트림 비트레이트를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계는,
    상기 제1 출력 패킷들의 크기를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 것을 특징으로 하는,
    스트림 생성 방법.
  15. 제1항에 있어서,
    상기 제1 기본 스트림 비트레이트를 기초로 상기 제1 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계는,
    상기 제1 출력 패킷들에 상기 다중화 시각에 대한 정보가 포함된 추가 필드를 부가하는 단계를 포함하고,
    상기 제2 기본 스트림 비트레이트를 기초로 상기 제2 출력 패킷들에 서로 다른 다중화 시각을 부여하는 단계는,
    상기 제2 출력 패킷들에 상기 다중화 시각에 대한 정보가 포함된 추가 필드를 부가하는 단계를 포함하고,
    상기 출력 스트림을 제공하는 단계는,
    상기 제1 출력 패킷들에 부여된 다중화 시각 및 상기 제2 출력 패킷들에 부여된 다중화 시각을 기초로 상기 출력 스트림에 상기 제1 출력 패킷들 및 상기 제2 출력 패킷들을 시퀀싱하되, 상기 제1 출력 패킷들에 부가된 추가필드 및 상기 제2 출력 패킷들에 부가된 추가필드를 제거하는 것을 특징으로 하는,
    스트림 생성 방법.
  16. 제1 시점에 제1 시간구간동안 제1 출력 패킷들 및 제2 출력 패킷들을 획득하는 단계;
    제2 시점에 상기 제1 시간구간동안 제3 출력 패킷들 및 제4 출력 패킷들을 획득하는 단계;
    상기 제1 시점과 대응되는 시점에 제1 출력 패킷들 및 제2 출력 패킷들을 다중화하여 제1 출력 스트림을 생성하는 단계; 및
    상기 제2 시점과 대응되는 시점에 제3 출력 패킷들 및 제4 출력 패킷들을 다중화하여 제2 출력 스트림을 생성하는 단계
    를 포함하되,
    상기 제1 출력 패킷들 및 상기 제3 출력 패킷들은 비디오 억세스 유닛을 기반으로 생성되고,
    상기 제2 출력 패킷들 및 상기 제4 출력 패킷들은 오디오 억세스 유닛을 기반으로 생성되고,
    상기 제2 출력 패킷들과 상기 제4 출력 패킷들의 패킷수가 동일하되, 상기 제1 출력 패킷들과 상기 제3 출력 패킷들의 패킷수가 소정 개수이상 차이나는 경우,
    상기 제1 출력 스트림에서의 상기 제2 출력 패킷들의 위치와 상기 제2 출력 스트림에서의 상기 제4 출력 패킷들의 위치가 상이한 것을 특징으로 하는,
    스트림 제공 방법.
  17. 제1 기본 스트림 및 제2 기본 스트림을 기초로 출력 스트림을 생성하는 스트림 생성 장치에 있어서,
    상기 스트림 생성장치는 제어부를 포함하고,
    상기 제어부는,
    제1 기본 스트림을 기초로 제1 출력 패킷들을 획득하고,
    제2 기본 스트림을 기초로 제2 출력 패킷들을 획득하고,
    상기 제1 출력 패킷들 및 제2 출력 패킷들을 다중화하여 출력 스트림을 제공하되,
    상기 제공되는 출력 스트림에 포함된 소정 개수 이상 연속된 Null 패킷들로 인하여 상기 스트림 생성 장치에 오류가 발생되었다는 것이 오인되지 않도록 상기 Null 패킷들을 분산하는 것을 특징으로 하는,
    스트림 생성 장치.
  18. 제8항에 있어서,
    상기 n번째 제1 출력 패킷의 다중화 시각은 상기 제1 기준 시각 및 상기 제1 기준시각보다 늦은 제2 기준 시각의 사이에 위치하고,
    상기 m번째 제2 출력 패킷의 다중화 시각은 상기 제2 기준시각보다 늦은,
    스트림 생성 방법.
KR1020170183053A 2017-12-28 2017-12-28 방송 신호 송신을 위한 다중화 방법 및 그 장치 KR102001067B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170183053A KR102001067B1 (ko) 2017-12-28 2017-12-28 방송 신호 송신을 위한 다중화 방법 및 그 장치
PCT/KR2018/003059 WO2019132119A1 (ko) 2017-12-28 2018-03-15 방송 신호 송신을 위한 다중화 방법 및 그 장치
US16/032,983 US10700799B2 (en) 2017-12-28 2018-07-11 Method and apparatus for broadcast signal transmission
EP18186170.9A EP3506642A1 (en) 2017-12-28 2018-07-27 The method and apparatus for broadcast signal transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170183053A KR102001067B1 (ko) 2017-12-28 2017-12-28 방송 신호 송신을 위한 다중화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190080539A KR20190080539A (ko) 2019-07-08
KR102001067B1 true KR102001067B1 (ko) 2019-07-23

Family

ID=67256306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170183053A KR102001067B1 (ko) 2017-12-28 2017-12-28 방송 신호 송신을 위한 다중화 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102001067B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850932B1 (ko) * 2001-06-11 2008-08-12 엘지전자 주식회사 디지털 전송 시스템 및 방법
KR100608061B1 (ko) * 2004-07-12 2006-08-02 삼성전자주식회사 전송 스트림 생성을 위한 다중화 방법 및 그 장치

Also Published As

Publication number Publication date
KR20190080539A (ko) 2019-07-08

Similar Documents

Publication Publication Date Title
JP6961778B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US11095934B2 (en) Receiving device and receiving method
EP3013056B1 (en) Transmission method
EP3226566B1 (en) Transmission device, transmission method, reception device, and reception method
JP6302274B2 (ja) 送信装置及び受信装置
JP2017034664A (ja) 送信方法、受信方法、送信装置及び受信装置。
JP6440083B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US9854019B2 (en) Method and apparatus for modifying a stream of digital content
JP2016036130A (ja) 送信方法、受信方法、送信装置及び受信装置
WO2017022211A1 (ja) 送信方法、受信方法、送信装置及び受信装置
US10700799B2 (en) Method and apparatus for broadcast signal transmission
KR102001067B1 (ko) 방송 신호 송신을 위한 다중화 방법 및 그 장치
KR20170130883A (ko) 하이브리드 망 기반의 가상 현실 방송 서비스 방법 및 장치
KR102034373B1 (ko) 복호화를 수행하는 장치에서의 오류를 방지하기 위한 방송 송신용 데이터를 다중화하는 방법 및 그 장치
JP2010171799A (ja) デジタル放送の再多重システム、デジタル放送の再多重方法およびデジタル放送の再多重プログラム
KR102211539B1 (ko) 버퍼모델을 따르는 스트리밍을 위한 부가 정보 생성 방법 및 장치
KR20150057149A (ko) 재전송망에 기초한 3d 방송 서비스 제공 시스템 및 방법
JPWO2016006659A1 (ja) 送信装置、送信方法、受信装置および受信方法
JP7238066B2 (ja) 送信方法、受信方法、送信装置及び受信装置
KR102324504B1 (ko) 네트워크에서 콘텐트 송신 장치 및 방법
KR20170093637A (ko) 이종 네트워크 환경에서 미디어 전송 스트림 버퍼링 방법 및 이를 이용한 영상 수신 장치
KR101347827B1 (ko) Mpeg-ts 신호 처리부의 능동형 오디오 코덱 변경 방법 및 장치
JP2022090106A (ja) 復号装置
Yun et al. A hybrid architecture based on TS and HTTP for real-time 3D video transmission
KR20150045869A (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