KR101819524B1 - 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법 - Google Patents

트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법 Download PDF

Info

Publication number
KR101819524B1
KR101819524B1 KR1020167014993A KR20167014993A KR101819524B1 KR 101819524 B1 KR101819524 B1 KR 101819524B1 KR 1020167014993 A KR1020167014993 A KR 1020167014993A KR 20167014993 A KR20167014993 A KR 20167014993A KR 101819524 B1 KR101819524 B1 KR 101819524B1
Authority
KR
South Korea
Prior art keywords
temporal
information
picture
trick play
present
Prior art date
Application number
KR1020167014993A
Other languages
English (en)
Other versions
KR20160086863A (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 KR20160086863A publication Critical patent/KR20160086863A/ko
Application granted granted Critical
Publication of KR101819524B1 publication Critical patent/KR101819524B1/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/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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Abstract

본 발명은 신호 송수신 장치 및 신호 송수신 방법에 관한 것이다. 본 발명의 일 실시예는, 비디오 데이터를 인코딩하는 단계 (S110); 상기 인코딩한 비디오 데이터를 포함하는 파일 포맷으로 인코딩하는 단계 (S120), 여기서 상기 파일 포맷은 트릭 플레이를 위한 프리 필터링 정보를 포함하고, 상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 단계(S130)를 포함하는 신호 송신 방법을 제공한다. 본 발명의 실시예에 따르면, 인코딩된 스트림에 대해 트릭 플레이를 보다 효율적으로 제공할 수 있다.

Description

트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법 {SIGNAL TRANSMISSION AND RECEPTION APPARATUS AND SIGNAL TRANSMISSION AND RECEPTION METHOD FOR PROVIDING TRICK PLAY SERVICE}
본 발명은 신호 송수신 장치 및 신호 송수신 방법에 관한 것이다.
디지털 기술 및 통신 기술의 발전으로 방송, 영화뿐만 아니라 인터넷 및 개인 미디어 등의 다양한 영역에서 오디오/비디오 중심의 멀티미디어 컨텐츠 보급 및 수요가 급속도로 확대되고 있다. 나아가 방송 및 영화를 통하여 입체감을 제공하는 실감미디어에 대한 소비자 요구가 증가되고 있다. 또한, 디스플레이 기술의 발전과 더불어 가정에서의 TV 화면이 대형화 됨에 따라 HD급 이상의 고화질에 실감나는 컨텐츠를 즐기고자 하는 소비가 증가되고 있다. 3DTV와 더불어 UHDTV (Ultra High Definition TV)와 같은 실감방송이 차세대 방송 서비스로 관심을 받고 있으며, 특히 UHD (Ultra High Definition) 방송 서비스에 대한 논의가 증가되고 있는 추세이다.
UHD 방송 컨텐츠는 SD 또는 HD 방송 컨텐츠보다 고화질의 컨텐츠를 제공하므로 전송해야 하는 데이터량이 비교적 많다. 따라서, 이러한 고화질의 컨텐츠를 효율적으로 전송하기 위해 새로운 데이터 압축 방법들이 개발되고 있다. 최근 기존 H.264/AVC 압축 방법에 비해 발전된 HEVC 압축 방법이 상용화되고 있으므로 HEVC에 의해 인코딩된 컨텐츠 데이터를 활용하는 방법에 대한 연구가 필요하다.
기존의 인코딩된 컨텐츠에 대해 트릭 플레이(trick play)가 가능했는데, 여기서 트릭 플레이란 일정 시간 뒤의 영상을 재생할 수 있는 기능인 random access 및 2 배속, 4 배속 등과 같은 배속 기능을 제공하는 서비스를 의미한다.
기존에 AVC 스트림을 기반으로 한 미디어 서비스에 대해 트릭 플레이 기능을 제공하였는데 예를 들어 기존의 CFF(Common File Format) medial file format 에 대해 H.264/AVC 인코딩된 컨텐츠의 트릭 플레이가 가능하였다.
기존 수신 장치는 트릭 플레이로 배속 재생 시 고화질의 콘텐츠 (e.g. UHD 4K, 8K 등)의 경우 비디오 디코더 입력 이전의 시스템 레벨에서 트릭 플레이를 위한 고속 처리 속도가 나오지 않을 수 있는 문제점이 있었다. 기존 수신 장치 내 비디오 디코더는 각 픽쳐의 정보에 대한 정보를 알 수 없어 수신기 내부에서 발생할 수 있는 최대 비트 레잇 범위 내에서 원활한 배속 재생 기능을 수행하지 못할 수도 있다.
따라서, 수신 장치와 외부 저장 장치 또는 서버 간에 비디오 데이터를 송수신할 경우 비디오 디코더에서 비디오 데이터가 복호되기 이전에 각 픽쳐를 필터링하지 못하는 문제점이 있다.
본 발명의 목적은, 인코딩된 스트림에 대해 트릭 플레이를 보다 효율적으로 제공할 수 있는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 다른 목적은, 표준화된 인코딩 방식에 따른 스트림, 예를 들어 AVC 또는 HEVC 스트림의 트릭 플레이를 위한 시그널링 정보를 송수신할 수 있는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 다른 목적은, 인코딩된 스트림을 트릭 플레이를 시그널링할 경우 확장 가능한 방식을 제공할 수 있는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 다른 목적은, HEVC 인코딩된 컨텐츠에 대한 트릭 플레이 방식과 호환되면서도 더 효율적인 트릭 플레이가 가능하도록 하는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 다른 목적은, HEVC 기반으로 한 방송 컨텐츠의 트릭 플레이를 위하여 방송 신호를 송수신하는 방법 및/또는 장치를 제공하고 HEVC 스트림에 적합한 파일 포맷을 정의하여 보다 효율적으로 트릭 플레이를 제공하는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 다른 목적은, 사용자에게 최대 배속 정보를 제공할 수 있는 시그널링 방법을 제공하고, HEVC의 temporal scalability를 이용하여 트릭 플레이를 제공하는 신호 송수신 방법 및 신호 송수신 장치를 제공하는 것이다.
본 발명의 일 실시예는, 비디오 데이터를 인코딩하는 단계, 상기 인코딩한 비디오 데이터를 포함하는 파일 포맷으로 인코딩하는 단계, 여기서 상기 파일 포맷은 트릭 플레이를 위한 프리 필터링 정보를 포함하고, 상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 단계를 포함하는 신호 송신 방법을 제공한다.
상기 프리 필터링 정보는 상기 인코딩된 비디오 데이터의 픽쳐 또는 샘플에 대한 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함할 수 있다.
상기 파일 포맷은, Base Media File Format 또는 Common File Format을 포함하고, 상기 프리 필터링 정보는, 상기 Base Media File Format 또는 Common File Format에 포함되는 박스 정보에 포함될 수 있다.
상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 단계는, 최대 템포럴 식별 정보 값을 가지는 PVR 어시스트 정보를 포함하고 비디오 스트림을 생성하는 단계; 및 상기 비디오 스트림을 전송하는 단계를 포함할 수 있다.
다른 일 실시예로서, 본 발명의 실시예는 인코딩된 비디오 데이터를 포함한 파일 포맷 형식의 데이터를 수신하는 단계, 상기 수신된 데이터를 파싱하는 단계, 여기서 상기 상기 포맷 형식의 데이터로부터 프리 필터링 정보를 얻고, 상기 인코딩된 비디오 데이터의 픽쳐들을 필터링하고, 및 상기 필터링되어 전달된 비디오데이터를 디코딩하여 트릭 플레이를 수행하는 단계;를 포함하는 신호 수신 방법을 제공한다.
다른 일 실시예로서, 본 발명의 실시예는 비디오 데이터를 인코딩하는 비디오인코더; 상기 인코딩한 비디오 데이터를 포함하는 파일 포맷으로 인코딩하는 파일포맷변환부, 여기서 상기 파일 포맷은 트릭 플레이를 위한 프리 필터링 정보를 포함하고, 상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 전송부를 포함하는 신호 송신 장치를 제공한다.
다른 일 실시예로서, 본 발명의 실시예는 인코딩된 비디오 데이터를 포함한 파일 포맷 형식의 데이터를 수신하는 수신부; 상기 수신된 파일 포맷 형식의 데이터를 파싱하는 콘텐츠 파서, 여기서 상기 파일 포맷 형식의 데이터로부터 프리 필터링 정보를 얻고, 상기 인코딩된 비디오 데이터의 픽쳐들을 필터링하고, 및 상기 필터링되어 전달된 비디오데이터를 디코딩하는 비디오디코더;를 포함하는 신호 수신 장치를 제공한다.
다른 일 실시예로서, 본 발명의 실시예는 비디오 데이터를 인코딩하여 비디오 스트림을 생성하는 단계, 여기서, 상기 비디오 스트림은 상기 비디오 스트림의 최대 템포럴 식별 정보 값을 가지는 PVR 어시스트 정보를 포함하고; 상기 생성된 비디오 스트림을 전송하는 단계;를 포함하는 신호 송신 방법을 제공한다.
다른 일 실시예로서, 본 발명의 실시예는 수신한 신호를 역다중화하여 비디오 스트림을 추출하는 역다중화부; 여기서, 상기 비디오 스트림은 상기 비디오 스트림의 최대 템포럴 식별 정보 값을 가지는 PVR 어시스트 정보를 포함하고; 및 상기 PVR 어시스트 정보를 기초로 하여 상기 추출된 비디오 스트림을 디코딩하고 상기 비디오 데이터의 트릭 플레이를 수행하는 비디오디코더; 를 포함하는 신호 수신 장치를 제공한다.
본 발명의 실시예에 따르면, 인코딩된 스트림에 대해 트릭 플레이를 보다 효율적으로 제공할 수 있다.
본 발명의 실시예에 따르면, 표준화된 인코딩 방식에 따른 스트림, 예를 들어 AVC 또는 HEVC 스트림의 트릭 플레이를 위한 시그널링 정보를 송수신할 수 있다.
본 발명의 실시예에 따르면 인코딩된 스트림을 트릭 플레이를 시그널링할 경우 확장가능한 방식을 제공할 수 있다.
본 발명의 실시예에 따르면 HEVC 인코딩된 컨텐츠에 대한 트릭 플레이 방식과 호환되면서도 더 효율적인 트릭 플레이가 가능하도록 할 수 있다. .
본 발명의 실시예에 따르면 HEVC 기반으로 한 방송 컨텐츠의 트릭 플레이를 위하여 방송 신호를 송수신하는 방법 및/또는 장치를 제공하고 HEVC 스트림에 적합한 파일 포맷을 정의하여 보다 효율적으로 트릭 플레이를 제공할 수 있다.
본 발명의 실시예에 따르면 사용자에게 최대 배속 정보를 제공할 수 있는 시그널링 방법을 제공하고, HEVC의 temporal scalability를 이용하여 트릭 플레이를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 트릭 플레이를 위한 시그널링 방법을 시나리오에 따라 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 HEVC 기반의 스트림을 지원하기 위한 Common File Format (CFF) box structure를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 “hvcn” 박스의 syntax를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 Common_Metadata에 포함된 HDR (High Dynamic Range)를 지원하는 element를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 HEVC 스트림의 경우 random access를 위한 picture type을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따라 closed GOP인 경우 트릭 플레이의 방법을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따라 open GOP이고 GOP가 decodable leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따라 open GOP이고 GOP가 decodable leading picture 및 skipped leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따라 open GOP이고 GOP가 skipped leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 11은 본 발명의 또 다른 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box에 포함된 pic_type에 대한 설명을 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따라 pic_type에 leading picture 관련된 내용이 포함되어 있지 않는 경우, max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 14은 본 발명의 또 다른 일 실시예에 따라 pic_type에 leading picture 관련된 내용이 포함되어 있지 않는 경우, max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 temporal scalability를 지원하는 HEVC 스트림의 구성을 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 최대 배속을 제한하여 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 17은 본 발명의 또 다른 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 최대 배속을 제한하여 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 18은 본 발명의 일 실시예에 따른 temporal sub-layer picture type이 TSA인 경우 frame rate의 변경 방법을 나타낸 도면이다.
도 19는 본 발명의 일 실시예에 따른 temporal sub-layer picture type이 STSA인 경우 frame rate의 변경 방법을 나타낸 도면이다.
도 20은 본 발명의 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 고배속의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 3)
도 21은 본 발명의 또 다른 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 고배속의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
도 22는 본 발명의 일 실시예에 따른 temporal id와 tier를 이용한 트릭 플레이의 방법을 나타낸 도면이다.
도 23는 본 발명의 일 실시예에 따라, 기존의 tier 개념에 따른 트릭 플레이 방법을 나타낸 도면이다.
도 24은 본 발명의 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑하는 방법에 따른 트릭 플레이 방법을 나타낸 도면이다.
도 25은 본 발명의 또 다른 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑하는 방법에 따른 트릭 플레이 방법을 나타낸 도면이다.
도 26은 본 발명의 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑한 결과를 나타낸 도면이다.
도 27는 본 발명의 또 다른 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑한 결과를 나타낸 도면이다.
도 28은 본 발명의 일 실시예에 따라, 하나의 temporal id를 여러 개의 tier에 매핑하는 방법에 따른 트릭 플레이의 방법을 나타낸 도면이다.
도 29은 본 발명의 일 실시예에 따른 tempora id와 tier의 매핑을 위한 정보를 포함한 TS packter의 adaptation field의 구성을 나타낸 도면이다.
도 30는 본 발명의 일 실시예에 따른 HEVC_temporal_id_tier_mapping_info의 구성을 나타낸 도면이다.
도 31은 본 발명의 일 실시예에 따른 HEVC_temporal_id_tier_mapping_info에 포함된 trick_play_speed 필드의 구성을 나타낸 도면이다.
도 32는 본 발명의 일 실시예에 따른 PVR_assist_information의 구성을 나타낸 도면이다.
도 33는 본 발명의 일 실시예에 따른 temporal id frame work가 추가된 PVR_assist_information의 구성을 나타낸 도면이다.
도 34은 본 발명의 또 다른 일 실시예에 따른 temporal id frame work가 추가된 PVR_assist_information의 구성을 나타낸 도면이다.
도 35은 본 발명의 일 실시예에 따른 temporal id를 이용한 트릭 플레이를 지원하기 위한 PVR_assist_information의 구성을 나타낸 도면이다.
도 36은 본 발명의 일 실시예에 따른 수신 장치를 나타낸 도면이다.
도 37는 본 발명의 일 실시예에 따른 tier framework와 HEVC temporal sub-layer을 비교한 도면이다.
도 38은 본 발명의 또 다른 일 실시예에 따른 PVR_assist_information의 구성을 나타낸 도면이다.
도 39은 본 발명의 일 실시예에 따른 HEVC temporal sub-layer를 이용한 트릭 플레이 방법을 나타낸 도면이다.
도 40는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 도면이다.
도 41은 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 42는 본 발명에 따른 신호 송수신 방법의 다른 일 실시예를 개시한 도면이다.
도 43은 본 발명의 실시예를 기술하기 위해 랜덤 액세스 포인트(random access point)와 GOP(Group of Picture) 의 구성 예를 나타낸 도면이다.
도 44는 수신 장치의 일 예로서, 디코딩 순서에 따라 GOP 내 픽쳐들을 디코딩하는 방법을 예시한 도면이다.
도 45는 본 발명의 실시예로서, GOP 메타데이터를 이용하여 트릭 플레이를 수행하도록 하는 실시예를 예시한 도면이다.
도 46은 위에서 예시한 프리필터링 정보의 예를 개시한 도면이다.
도 47은 예시한 프리필터링 정보의 예를 포함할 수 있는 파일 전송 박스의 일 예를 개시한 도면이다.
도 48은 위에서 예시한 프리필터링 정보의 예를 포함할 수 있는 파일 전송 박스의 다른 일 예를 개시한 도면이다.
도 49는 본 발명에 따른 신호 송신 장치의 일 실시예를 예시한 도면이다.
발명의 실시를 위한 최선의 형태
본 발명의 이해와 설명의 편의를 위하여, 용어 및 약어에 대하여 아래와 같이 정의한다.
HEVC (High Efficiency Video Coding)은 기존 H.265/AVC 기술과 비교하여 약 2배 높은 압축률을 가지면서 동일한 비디오 품질을 제공하는 고효율 비디오 코딩 표준이다.
temporal scalability은 시간적 스케일러빌리티를 의미하며 같은 공간 해상도에서 프레임 주파수가 다른 것들을 부호화하는 방법을 의미한다.
트릭 플레이란 일정 시간 뒤의 영상을 플레이할 수 있는 ramdom access가 가능하고 배속 기능을 제공하는 기능을 의미한다.
Open GOP는 하나의 GOP내의 picture를 encoding할 때, 해당하는 GOP 이전에 위치한 picture를 reference picture로 이용해 encoding할 수 있는 구조를 의미한다. 즉, leading picture를 포함하는 GOP를 의미한다.
Closed GOP는 하나의 GOP내의 picture를 encoding할 때, 해당하는 GOP 내의 picture만을 reference picture로 사용하는 구조를 의미한다. 즉, Open GOP에서와는 달리 leading picture를 포함하지 않는다.
leading picture는 HEVC에서 IRAP보다 디코딩 순서는 느리지만 재생 순서는 빠른 픽처를 의미한다.
temporal id는 HEVC에서 temporal scalability를 지원하기 위하여 도입된 용어이고, NAL_unit_header의 nuh_temporal_id_plus1에 의하여 시그널링될 수 있다.
tier는 AVC 스트림 또는 mpeg-2 스트림에서 트릭 플레이를 지원하기 위하여 도입된 용어이고, TS packet내에 adaptation field에 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 트릭 플레이 방법을 시나리오에 따라 나타낸 도면이다.
본 발명의 일 실시예에 따르면, HEVC의 temporal scalability의 사용 여부에 따라 트릭 플레이를 위한 시그널링 방법이 정의될 수 있다.
본 발명의 일 실시예에 따른 비디오 스트림이 temporal scalability를 제공하지 않는 스트림인 경우 즉, 비디오 스트림이 temporal_id가 0인 픽처만 포함하는 경우에서 Closed GOP이면 비디오 스트림이 leading picture를 포함하지 않으므로, CFF media file format에 정의된 dependency_level 및 pic_type를 시그널링함으로써 트릭 플레이가 제공될 수 있다. (시나리오 1-1) 반면, Open GOP이면, pic_type에 leading picture type을 포함시키고 dependency_level를 시그널링함으로써 트릭 플레이가 제공될 수 있다. (시나리오 1-2)
본 발명의 일 실시예에 따른 비디오 스트림이 temporal scalability 기반의 스트림인 경우 즉, 비디오 스트림이 temporal_id가 0보다 큰 픽처를 포함하는 경우 dependency_level, pic_type 및 temporal_sub_layer_pic_type을 시그널링함으로써 트릭플레이가 제공될 수 있다. 보다 구체적으로, 스트림에 포함된 temporal_id를 통하여 지원 가능한 배속 level을 시그널링함으로써 트릭 플레이가 제공될 수 있다. (시나리오 2) 또한, 시나리오 2와 마찬가지로 temporal_id를 통하여 지원 가능한 배속 level을 시그널링하고 추가적으로 temporal_id가 0인 픽처들을 이용함으로써 배속을 위한 추가 서비스가 제공될 수 있다. (시나리오 3)
이 도면에 도시된 박스는 비디오 스트림을 구성하는 픽처를 나타내며 박스 안에 기술된 T_ID는 temporal scalability를 지원하기 위한 temporal_id를 의미할 수 있다.
도 2는 본 발명의 일 실시예에 따른 HEVC 기반의 스트림을 지원하기 위한 Common File Format (CFF) box structure를 나타낸 도면이다.
이 도면에서 "NL0", "NL1" 및 "NL2"는 CFF box들의 포함관계를 나타내고 "Format Req."는 해당 박스의 존재 여부 및 개수를 나타내고 "Specification"은 해당 박스가 정의되어 있는 표준서의 부분을 나타내고 "Description"은 해당 박스에 대한 설명을 나타낼 수 있다. "Format Req."가 "+"이면 해당 박스가 하나 이상 존재한다는 것을 의미하고 "0/1"이면 해당 박스가 존재하거나 존재하지 않음을 의미하고 "1"이면 해당 박스가 존재함을 의미하고 "0"이면 해당 박스가 존재하지 않음을 의미할 수 있다.
이 도면은 본 발명의 일 실시예에 따른 CFF box structure로서 기존의 CFF에 HEVC를 위한 새로운 trick play box를 추가한 것이다. 또한, 본 발명의 일 실시예에 따른 CFF box structure는 HEVC 기반의 nal unit을 지원하기 위해 "hvcn"로 약칭되는 storage box를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 "hvcn" 박스의 syntax를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, CFF box structure는 "hvcn"로 약칭되는 nal unit storage box를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 트릭 플레이를 위해서 코덱 별로 nal unit storage box가 정의될 수 있다.
본 발명의 일 실시예에 따르면, 트릭 플레이를 위해서 코덱 별로 nal unit storage box를 정의하지 않고 기존의 "trick" 박스 내부에 기존의 AVC trick box와 별도로 HEVC trick box가 정의될 수 있다. 또한, "trick" 박스의 플래그에 따라 AVC 또는 HEVC trick play가 선택될 수 있다.
이 도면에서 HEVCConfig는 HEVC의 SPS (Sequence Parameter Set) 및 PPS (Picture Parameter Set)를 포함할 수 있고 SPS의 VUI 파라미터 등의 비디오 정보를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 Common_Metadata에 포함된 HDR (High Dynamic Range)를 지원하는 element를 나타낸 도면이다.
본 발명의 일 실시예에 따른 xml 박스에서 참조하고 있는 Common_Metadata는 HighDynamicRange 엘레먼트를 포함할 수 있다.
본 발명의 일 실시예에 따른 HighDynamicRange 엘레먼트는 xml 스키마에 따라 문자열 값을 가질 수 있고 HighDynamicRange 엘레먼트는 한 개 존재하거나 존재하지 않을 수 있다.
본 발명의 일 실시예에 따른 HighDynamicRange 엘레먼트는 최소 및/또는 최대 밝기 값 (min.luminance and/or max.luminance)을 나타낼 수 있다.
본 발명의 일 실시예에 따른 HighDynamicRange 엘레먼트는 최소 및/또는 최대 밝기 값으로 구분되는 profile 값을 나타낼 수 있다. 예를 들면, HighDynamicRange 엘레먼트는 Conventional capacity (min: 0.1cd/m2, max: 100cd/m2), Mid capacity (min: 0.001cd/m2, max: 1000cd/m2) 또는 High capacity (min: 0.0001cd/m2, max: 10000cd/m2)를 나타낼 수 있다.
도 5는 본 발명의 일 실시예에 따른 HEVC 스트림의 경우 random access를 위한 picture type을 나타낸 도면이다.
이 도면은 HEVC NAL unit type 중, random access 및 트릭 플레이의 수행을 위해 기본이 될 수 있는 픽처의 종류를 나타낸 도면이다.
이 도면에서 음영으로 표시된 picture type (TSA, STSA)은 temporal ID가 0보다 큰 스트림이 포함되는 경우 즉, temporal scalability가 제공되는 경우에 트릭 플레이를 위해 사용될 수 있는 HEVC temporal sub-layer picture type을 나타낼 수 있다. 상술한 음영으로 표시된 picture type은 본 발명의 일 실시예에 따른 시나리오 2 및 3에서 이용될 수 있다.
본 발명의 일 실시예에 따르면 random access point pictures는 IDR (Instantaneous Decoding Refresh), BLA (Broken Link Access) 및/또는 CRA (Clean Random Access)를 포함할 수 있고, leading picture는 RADL (Random Access Decodable Leading Picture) 및/또는 RASL (Random Access Skipped Leading Picture)를 포함할 수 있고, temporal sub-layer access pictures는 TSA (Temporal Sub-layer Access) 및/또는 STSA (Step-wise Temporal Sub-layer Access)를 포함할 수 있다.
IDR (Instantaneous Decoding Refresh) 픽처는 관련된 leading picture를 갖는 경우 및/또는 관련된 leading picture를 갖지 않는 경우를 포함할 수 있다.
BLA (Broken Link Access) 픽처는 관련된 RADL 픽처는 갖지만 관련된 RASL 픽처는 갖지 않는 경우 및/또는 관련된 leading picture를 갖지 않는 경우를 포함할 수 있다.
CRA (Clean Random Access) 픽처는 관련된 leading picture를 갖는 경우를 포함할 수 있다.
TSA (Temporal Sub-layer Access) 픽처는 같은 sub-layer에서 참조되지 않는 경우 및/또는 같은 sub-layer에서 참조되는 경우를 포함할 수 있다.
STSA (Step-wise Temporal Sub-layer Access) 픽처는 같은 sub-layer에서 참조되지 않는 경우 및/또는 같은 sub-layer에서 참조되는 경우를 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따라 closed GOP인 경우 트릭 플레이의 방법을 나타낸 도면이다. (시나리오 1-1)
이 도면은 비디오 스트림 내에 최대 temporal_id 값이 0이고 closed GOP인 경우에 트릭 플레이를 수행하는 방법을 나타낸 도면이다. 여기서, GOP는 Group Of Picture의 약칭으로서 random access를 가능하게 하기 위한 부호화된 픽처들의 집합을 나타낸다. 여기서, closed GOP는 leading picture를 포함하지 않는 GOP를 의미하고, open GOP는 leading picture를 포함하는 GOP를 의미할 수 있다. 여기서, leading picture란 HEVC에서 IRAP (Intra Random Access Point, AVC codec에서 random access point와 동일한 개념) 보다 디코딩 순서는 느리지만 디스플레이 순서는 빠른 픽처를 나타낼 수 있다.
이 도면에서, 하나의 네모 박스는 하나의 픽처를 나타낼 수 있다. 여기서, 픽처는 프레임 및/또는 화상과 동일한 의미로 사용될 수 있다.
이 도면에서, I1부터 P9까지의 픽처 집합은 하나의 GOP를 나타낼 수 있다. 여기서, I 픽처는 MPEG 부호화 신호에서 사용되는 3가지 픽처 형식중 하나로서 하나의 완전한 픽처를 구성하기 위한 모든 데이터를 포함할 수 있다. 즉, I 픽처는 다른 픽처를 참조하지 않을 수 있다. P 픽처는 현재의 픽처와 재생 순서상 그 앞의 픽처간의 차이를 관찰하여 만들어진 예측정보와 실제 정보와의 차이 값만을 포함할 수 있다. 즉, P 픽처는 재생 순서상 현재의 픽처 앞에 존재하는 픽처를 참조할 수 있다. B 픽처는 현재의 픽처, 재생 순서상 현재의 픽처 앞에 존재하는 픽처 및 현재의 픽처 뒤에 존재하는 픽처간의 차이를 관찰하여 만들어진 예측정보만을 포함할 수 있다. 즉, B 픽처는 현재의 픽처 앞 및 뒤에 존재하는 픽처를 참조할 수 있다. 이 도면에서 도시된 화살표는 픽처들 간에 참조 여부를 나타낼 수 있다. 예를 들어, B3 픽처는 완전한 화상을 만들기 위하여 I1 픽처 및 B5 픽처를 참조할 수 있고, P9 픽처는 I1 픽처를 참조할 수 있다.
이 도면에서, 네모 안의 숫자는 각 픽처의 dependency_level을 나타낼 수 있다. 예를 들어, 첫 번째 픽처는 dependency_level이 1인 픽처를 나타내고, 두 번째 픽처는 dependency_level이 5인 픽처를 나타내고, 세 번째 픽처는 dependency_level이 4인 픽처를 나타낼 수 있다.
본 발명의 일 실시예에 따르면, 2배속 트릭 플레이는 dependency_level 값으로 1 내지 4를 갖는 픽처들을 디코딩함으로써 수행할 수 있다. 4배속 트릭 플레이는 dependency_level 값으로 1 내지 3을 갖는 픽처들을 디코딩함으로써 수행할 수 있다. 8배속 트릭 플레이는 dependency_level 값으로 1 내지 2를 갖는 픽처들을 디코딩함으로써 수행할 수 있다. 16배속 트릭 플레이는 dependency_level 값으로 1을 갖는 픽처들을 디코딩함으로써 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따라 open GOP이고 GOP가 decodable leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다. (시나리오 1-2)
첫 번째 도면은 비디오 스트림을 이루는 픽처들의 디코딩 순서를 나타낸 도면이고, 두 번째 도면은 정상배속 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이고, 세 번째 도면은 2배속 트릭 플레이 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이다.
두 번째 도면에서, 표시된 B0부터 B6까지의 픽처들이 decodable leading picture를 나타낼 수 있다.
이 도면에서, GOP에 포함된 leading picture는 decodable leading picture이기 때문에 두 번째 도면에 도시된 바와 같이 화살표 부분부터 디스플레이 될 수 있고, 세 번째 도면에 도시된 바와 같이 트릭 플레이가 수행될 수 있다. 여기서, 2배속 트릭 플레이가 수행되는 경우 각 픽처의 dependency_level에 따라 도면에 표시된 바와 같이 B1, B3, B5, RAP 및 B1 픽처가 디스플레이될 수 있다. 여기서, decodable leading picture는 RADL (Random Access Decodable Leading Picture)을 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따라 open GOP이고 GOP가 decodable leading picture 및 skipped leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다. (시나리오 1-2)
첫 번째 도면은 비디오 스트림을 이루는 픽처들의 디코딩 순서를 나타낸 도면이고, 두 번째 도면은 정상배속 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이고, 세 번째 도면은 2배속 트릭 플레이 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이다.
두 번째 및 세 번째 도면에서, 표시된 B0부터 B2까지의 픽처들이 skipped leading picture를 나타낼 수 있고, 표시된 B3부터 B6까지의 픽처들이 decodable leading picture를 나타낼 수 있다.
이 도면에서, skipped leading picture는 디스플레이될 수 없고, 트릭 플레이가 수행될 수 없다. 따라서, 두 번째 도면에 도시된 바와 같이 B3 픽처부터 디스플레이될 수 있고, 세 번째 도면에 도시된 바와 같이 B3 픽처부터 트릭 플레이가 수행될 수 있다. 여기서, 2배속 트릭 플레이가 수행되는 경우 각 픽처의 dependency_level에 따라 도면에 표시된 바와 같이 B3, B5, RAP 및 B1 픽처가 디스플레이될 수 있다. 여기서, decodable leading picture는 RADL (Random Access Decodable Leading Picture)을 포함할 수 있고, skipped leading picture는 RASL (Random Access Skipped Leading Picture)를 포함할 수 있다.
도 9는 본 발명의 일 실시예에 따라 open GOP이고 GOP가 skipped leading picture를 포함하는 경우 트릭 플레이의 방법을 나타낸 도면이다. (시나리오 1-2)
첫 번째 도면은 비디오 스트림을 이루는 픽처들의 디코딩 순서를 나타낸 도면이고, 두 번째 도면은 정상배속 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이고, 세 번째 도면은 2배속 트릭 플레이 시 비디오 스트림을 이루는 픽처들의 디스플레이 순서를 나타낸 도면이다.
두 번째 및 세 번째 도면에서, 표시된 B0부터 B6까지의 픽처들이 skipped leading picture를 나타낼 수 있다.
이 도면에서, skipped leading picture는 디스플레이될 수 없고, 트릭 플레이가 수행될 수 없다. 따라서, 두 번째 도면에서 RAP부터 디스플레이될 수 있고, 2배속 트릭 플레이가 수행되는 경우 세 번째 도면에 도시된 바와 같이 RAP 및 B1 픽처가 디스플레이될 수 있다. 여기서, skipped leading picture는 RASL (Random Access Skipped Leading Picture)를 포함할 수 있다.
도 10은 본 발명의 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 1-2)
이 도면은, 스트림 내의 최대 temporal_id가 0인 스트림을 트릭 플레이 하기 위하여 trick play box의 시그널링 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, "trikhvc"라는 새로운 박스가 정의될 수 있다. 본 발명의 일 실시예에 따른 trikhvc 박스는 sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드 및/또는 dependency_level 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. pic_type 필드는 4비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 6비트의 값을 나타낼 수 있다.
도 11은 본 발명의 또 다른 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 1-2)
이 도면은, 스트림 내의 최대 temporal_id가 0인 스트림을 트릭 플레이 하기 위하여 trick play box의 시그널링 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 기존에 정의된 "trik"이라는 박스를 이용하여 HEVC 스트림의 트릭 플레이가 수행될 수 있다. 본 발명의 일 실시예에 따르면, flag를 이용하여 AVC 또는 HEVC 트릭 플레이가 선택될 수 있다.
본 발명의 일 실시예에 따른 trik 박스는 flag를 이용해 video codec에 맞게 stream을 분리해서 시그널링 할 수 있다. 또한, sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드 및/또는 dependency_level 필드를 포함할 수 있다.
본 발명의 일 실시예에 따른 flag 값이 0인 경우, trik 박스는 H.264/AVC trick play를 시그널링할 수 있고, flag 값이 1인 경우, trik 박스는 HEVC trick play를 시그널링할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. 본 발명의 일 실시예에 따른 flag 값이 0인 경우, pic_type 필드는 2비트의 값을 나타낼 수 있고, flag 값이 1인 경우, 4비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 6비트의 값을 나타낼 수 있다.
도 12는 본 발명의 일 실시예에 따라 max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box에 포함된 pic_type에 대한 설명을 나타낸 도면이다.
본 발명의 일 실시예에 따른 pic_type은 0 내지 15의 값을 가질 수 있다.
pic_type이 0인 경우, pic_type은 관련된 leading picture를 갖지 않는 IDR 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 IDR_N_LP을 나타낼 수 있다.
pic_type이 1인 경우, pic_type은 관련된 decodable leading picture를 갖는 IDR 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 IDR_W_RADL을 나타낼 수 있다.
pic_type이 2인 경우, pic_type은 관련된 leading picture를 갖는 BLA 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 BLA_N_LP을 나타낼 수 있다.
pic_type이 3인 경우, pic_type은 관련된 RADL 픽처를 갖지만 관련된 RASL 픽처를 갖지 않는 BLA 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 BLA_W_RADL을 나타낼 수 있다.
pic_type이 4인 경우, pic_type은 관련된 RADL 픽처 및 RASL 픽처를 갖는 BLA 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 BLA_W_LP을 나타낼 수 있다.
pic_type이 5인 경우, pic_type은 관련된 leading picture를 갖는 CRA 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 CRA_NUT을 나타낼 수 있다.
pic_type이 7인 경우, pic_type은 RADL (Random Access Decodable Leading Picture) 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 RADL_N 또는 RADL_R을 나타낼 수 있다.
pic_type이 8인 경우, pic_type은 RASL (Random Access Skipped Leading Picture) 픽처를 나타낼 수 있다. 이 경우, nal_unit_type은 RASL_N 또는 RASL_R을 나타낼 수 있다.
pic_type이 9인 경우, pic_type은 정해지지 않은 I 픽처를 나타낼 수 있다.
pic_type 10은 unknown 값에 해당할 수 있다.
pic_type 11 내지 15는 reserved 값에 해당할 수 있다.
도 13은 본 발명의 일 실시예에 따라 pic_type에 leading picture 관련된 내용이 포함되어 있지 않는 경우, max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 1-1)
이 도면은, 스트림 내의 최대 temporal_id가 0인 스트림을 트릭 플레이 하기 위하여 trick play box의 시그널링 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, "trikhvc"라는 새로운 박스가 정의될 수 있다. 본 발명의 일 실시예에 따른 trikhvc 박스는 sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드 및/또는 dependency_level 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. pic_type 필드는 3비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 5비트의 값을 나타낼 수 있다.
도 14는 본 발명의 또 다른 일 실시예에 따라 pic_type에 leading picture 관련된 내용이 포함되어 있지 않는 경우, max_temporal_id가 0인 HEVC 스트림의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 1-1)
이 도면은, 스트림 내의 최대 temporal_id가 0인 스트림을 트릭 플레이 하기 위하여 trick play box의 시그널링 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 기존에 정의된 "trik"이라는 박스를 이용하여 HEVC 스트림의 트릭 플레이가 수행될 수 있다. 본 발명의 일 실시예에 따르면, flag를 이용하여 AVC 또는 HEVC 트릭 플레이가 선택될 수 있다.
본 발명의 일 실시예에 따른 trik 박스는 falg, sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드 및/또는 dependency_level 필드를 포함할 수 있다.
본 발명의 일 실시예에 따른 flag 값이 0인 경우, trik 박스는 H.264/AVC trick play를 시그널링할 수 있고, flag 값이 1인 경우, trik 박스는 HEVC trick play를 시그널링할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. 본 발명의 일 실시예에 따른 flag 값이 0인 경우, pic_type 필드는 2비트의 값을 나타낼 수 있고, flag 값이 1인 경우, 3비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. 본 발명의 일 실시예에 따른 flag 값이 0인 경우, dependency_level 필드는 6비트의 값을 나타낼 수 있고, flag 값이 1인 경우, 5비트의 값을 나타낼 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 트릭 플레이를 수행할 때 leading picture는 디스플레이되지 않는다는 제약이 포함되는 경우, pic_type은 아래와 같이 구성될 수 있다. pic_type이 0인 경우, pic_type은 해당 샘플이 unknown 샘플임을 나타낼 수 있고, pic_type이 1인 경우, pic_type은 해당 샘플이 IDR 샘플임을 나타낼 수 있고, pic_type이 2인 경우, pic_type은 해당 샘플이 CRA 샘플임을 나타낼 수 있고, pic_type이 3인 경우, pic_type은 해당 샘플이 BLA 샘플임을 나타낼 수 있고, pic_type이 4인 경우, pic_type은 해당 샘플이 unconstrained I 샘플임을 나타낼 수 있다. 이 경우, HEVC 스트림에 대한 pic_type 및/또는 dependency_level 필드에 할당되는 비트 수가 줄어들 수 있다. 여기서, 샘플은 픽처와 동일한 의미를 나타낼 수 있다.
도 15는 본 발명의 일 실시예에 따른 temporal scalability를 지원하는 HEVC 스트림의 구성을 나타낸 도면이다.
이 도면에서, 네모 박스는 스트림에 포함되는 픽처를 나타낼 수 있고, T_ID는 temporal id를 나타낼 수 있다.
도 16은 본 발명의 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 최대 배속을 제한하여 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 2)
이 도면은 max_temporal_id가 0보다 큰 즉, temporal scalability를 지원하는 HEVC 스트림에서 트릭 플레이를 지원하기 위하여 최대로 지원할 수 있는 배속을 제한할 수 있도록 시그널링하는 방법을 나타낸 도면이다. 예를 들어, 최대 temporal_id가 2일 경우, 최대 4배속까지만 제공될 수 있다.
본 발명의 일 실시예에 따르면, "trikhvc"라는 새로운 박스가 정의될 수 있다. 본 발명의 일 실시예에 따른 trikhvc 박스는 sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드, temporal_sub_layer_pic_type 필드, max_temporal_id 필드, temporal_id 필드, constraint_trick_play_mode 필드 및/또는 next_temporal_id 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. pic_type 필드는 4비트의 값을 나타낼 수 있다.
temporal_sub_layer_pic_type 필드는 해당 픽처가 TSA (Temporal Sub-layer Access) 픽처인지 STSA (Step-wise Temporal Sub-layer Access) 픽처인지를 나타낼 수 있다. temporal_sub_layer_pic_type이 1이면, temporal_sub_layer_pic_type은 해당 픽처가 TSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 2이면, temporal_sub_layer_pic_type은 해당 픽처가 STSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 3이면, temporal_sub_layer_pic_type은 해당 픽처가 unknown 픽처임을 나타낼 수 있다. HEVC는 temporal scalability를 제공하고 적응적으로 frame rate를 변경할 수 있도록 temporal_sub_layer_access_picture를 구분할 수 있다. 즉, HEVC는 temporal_id가 0이 아닌 layer에서 TSA 픽처 및 STSA 픽처를 기반으로 다이나믹하게 frame rate를 변경시킬 수 있다. TSA와 STSA는 fram rate를 어떻게 및 얼마나 변경할 수 있는지에 대해서 차이가 존재할 수 있다. 즉, TSA와 STSA는 한번에 몇 개의 temporal_id를 건너뛸 수 있는지에 대해서 차이가 존재할 수 있다. 예를 들면, temporal_id가 0인 경우 frame rate는 15p이고, temporal_id가 1인 경우 frame rate는 30p이고, temporal_id가 2인 경우 (max_temporal_id) frame rate는 60p라면, TSA는 temporal_id가 0인 레이어에서 temporal_id가 2인 레이어로 바로 접근할 수 있으므로 방송 시스템은 frame rate가 15p인 서비스를 제공하다가 60p인 서비스를 제공하는 것으로 바로 변경할 수 있다. 반면, STSA는 단계적 접근만을 할 수 있으므로 temporal_id가 0인 레이어에서 temporal_id가 1인 레이어로 먼저 접근하고 그 후에 temporal_id가 2인 레이어로 접근할 수 있다. 따라서, 이 경우 방송 시스템은 점차적으로 frame rate가 15p인 서비스를 제공하다가 30p인 서비스를 제공하고 최종적으로 60p인 서비스를 제공할 수 있다.
max_temporal_id 필드는 스트림에 포함된 최대 temporal_id 값을 나타낼 수 있다.
temporal_id 필드는 HEVC의 nuh_temporal_id_plus1 값을 이용하여 계산된 temporal id 값을 나타낼 수 있다. temporal_id 필드가 가지는 값은 nuh_temporal_id_plus1 값에서 1을 뺀 값을 나타낼 수 있다.
constraint_trick_play_mode 필드는 최대로 제공될 수 있는 배속 정보를 나타낼 수 있다. max_temporal_id 값을 이용하여 max_trick_play_mode (최대로 제공될 수 있는 배속) = 2^(max_temporal_id)이라는 식을 통하여, 본 발명은 최대로 제공 가능한 배속을 시그널링할 수 있다. 예를 들어, 최대 temporal id가 2인 경우 본 발명은 2^2인 4배속을 최대로 제공할 수 있다. 본 발명의 일 실시예에 따르면, 본 발명은 max_trick_play_mode를 상술한 식을 통하여 계산된 값보다 작은 값으로 할당하는 제한을 둘 수 있다. 예를 들어, max_trick_play_mode의 값이 1이면 2배속, 2이면 4배속, 3이면 8배속, 4이면 16배속을 나타낼 수 있다. 여기서, constraint_trick_play_mode는 max_trick_play_mode와 동일한 의미를 가질 수 있다. 본 발명의 일 실시예에는 max_trick_play_mode보다 빠른 배속은 지원할 수 없고, max_trick_play_mode와 동일한 배속 수는 지원할 수 있다. 또한, 본 발명의 일 실시예는 계산된 max_trick_play_mode 값보다 작은 값으로 할당하는 constraint를 signaling 할 수도 있다.
next_temporal_id 필드는 temporal_sub_layer_pic_type에 따라 최대로 변경 가능한 frame rate를 알려주기 위하여, 이동 가능한 temporal_id를 나타낼 수 있다. 예를 들어, max_temporal_id가 2인 스트림에서, temporal_id가 0인 픽처만을 디스플레이하는 4배속의 트릭 플레이를 제공하다가 정상배속 (1배속)으로 되돌리고자 할 때, temporal_sub_layer_pic_type이 TSA이면 next_temporal_id는 max_temporal_id 값을 가질 수 있다. 반면, STSA이면 next_temporal_id는 temporal_id 값에서 1을 더한 값을 가질 수 있다.
도 17은 본 발명의 또 다른 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 최대 배속을 제한하여 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 2)
이 도면은 max_temporal_id가 0보다 큰 즉, temporal scalability를 지원하는 HEVC 스트림에서 트릭 플레이를 지원하기 위하여 최대로 지원할 수 있는 배속을 제한할 수 있도록 시그널링하는 방법을 나타낸 도면이다. 예를 들어, 최대 temporal_id가 2일 경우, 최대 4배속까지만 제공될 수 있다.
본 발명의 일 실시예에 따르면, 기존에 정의된 "trik"이라는 박스를 이용하여 HEVC 스트림의 트릭 플레이가 수행될 수 있다. 본 발명의 일 실시예에 따르면, flag를 이용하여 AVC 또는 HEVC 트릭 플레이가 선택될 수 있다.
본 발명의 일 실시예에 따른 trik 박스는 flag, sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드, dependency_level 필드, temporal_sub_layer_pic_type 필드, max_temporal_id 필드, temporal_id 필드, constraint_trick_play_mode 필드 및/또는 next_temporal_id 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. 본 발명의 일 실시예에 따른 flag 값이 0인 경우, pic_type 필드는 2비트의 값을 나타낼 수 있고, flag 값이 1인 경우, 4비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 6비트의 값을 나타낼 수 있다.
temporal_sub_layer_pic_type 필드는 해당 픽처가 TSA (Temporal Sub-layer Access) 픽처인지 STSA (Step-wise Temporal Sub-layer Access) 픽처인지를 나타낼 수 있다. temporal_sub_layer_pic_type이 1이면, temporal_sub_layer_pic_type은 해당 픽처가 TSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 2이면, temporal_sub_layer_pic_type은 해당 픽처가 STSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 3이면, temporal_sub_layer_pic_type은 해당 픽처가 unknown 픽처임을 나타낼 수 있다. HEVC는 temporal scalability를 제공하고 적응적으로 frame rate를 변경할 수 있도록 temporal_sub_layer_access_picture를 구분할 수 있다. 즉, HEVC는 temporal_id가 0이 아닌 layer에서 TSA 픽처 및 STSA 픽처를 기반으로 다이나믹하게 frame rate를 변경시킬 수 있다. TSA와 STSA는 fram rate를 어떻게 및 얼마나 변경할 수 있는지에 대해서 차이가 존재할 수 있다. 즉, TSA와 STSA는 한번에 몇 개의 tempora_id를 건너뛸 수 있는지에 대해서 차이가 존재할 수 있다. 예를 들면, temporal_id가 0인 경우 frame rate는 15p이고, temporal_id가 1인 경우 frame rate는 30p이고, temporal_id가 2인 경우 (max_temporal_id) frame rate는 60p라면, TSA는 temporal_id가 0인 레이어에서 temporal_id가 2인 레이어로 바로 접근할 수 있으므로 방송 시스템은 frame rate가 15p인 서비스를 제공하다가 60p인 서비스를 제공하는 것으로 바로 변경할 수 있다. 반면, STSA는 단계적 접근만을 할 수 있으므로 temporal_id가 0인 레이어에서 temporal_id가 1인 레이어로 먼저 접근하고 그 후에 temporal_id가 2인 레이어로 접근할 수 있다. 따라서, 이 경우 방송 시스템은 점차적으로 frame rate가 15p인 서비스를 제공하다가 30p인 서비스를 제공하고 최종적으로 60p인 서비스를 제공할 수 있다.
max_temporal_id 필드는 스트림에 포함된 최대 temporal_id 값을 나타낼 수 있다.
temporal_id 필드는 HEVC의 nuh_temporal_id_plus1 값을 이용하여 계산된 temporal id 값을 나타낼 수 있다. temporal_id 필드가 가지는 값은 nuh_temporal_id_plus1 값에서 1을 뺀 값을 나타낼 수 있다.
constraint_trick_play_mode 필드는 최대로 제공될 수 있는 배속 정보를 나타낼 수 있다. max_temporal_id 값을 이용하여 max_trick_play_mode (최대로 제공될 수 있는 배속) = 2^(max_temporal_id)이라는 식을 통하여, 본 발명은 최대로 제공 가능한 배속을 시그널링할 수 있다. 예를 들어, 최대 temporal id가 2인 경우 본 발명은 2^2인 4배속을 최대로 제공할 수 있다. 본 발명의 일 실시예에 따르면, 본 발명은 max_trick_play_mode를 상술한 식을 통하여 계산된 값보다 작은 값으로 할당하는 제한을 둘 수 있다. 예를 들어, max_trick_play_mode의 값이 1이면 2배속, 2이면 4배속, 3이면 8배속, 4이면 16배속을 나타낼 수 있다. 여기서, constraint_trick_play_mode는 max_trick_play_mode와 동일한 의미를 가질 수 있다.
next_temporal_id 필드는 temporal_sub_layer_pic_type에 따라 최대로 변경 가능한 frame rate를 알려주기 위하여, 이동 가능한 temporal_id를 나타낼 수 있다. 예를 들어, max_temporal_id가 2인 스트림에서, temporal_id가 0인 픽처만을 디스플레이하는 4배속의 트릭 플레이를 제공하다가 정상배속 (1배속)으로 되돌리고자 할 때, temporal_sub_layer_pic_type이 TSA이면 next_temporal_id는 max_temporal_id 값을 가질 수 있다. 반면, STSA이면 next_temporal_id는 temporal_id 값에서 1을 더한 값을 가질 수 있다.
도 18은 본 발명의 일 실시예에 따른 temporal sub-layer picture type이 TSA인 경우 frame rate의 변경 방법을 나타낸 도면이다.
이 도면에서 도시된 바와 같이, temporal sub-layer picture type이 TSA인 경우 수신측은 temporal_id가 0인 레이어의 스트림만을 디스플레이하다가 즉, 4배속으로 트릭 플레이를 수행하다가 바로 1배속 (정상배속)으로 디스플레이할 수 있다.
이 도면에서 도시된 바와 같이, temporal sub-layer picture type이 TSA인 경우 수신측은 temporal_id가 0인 픽처를 디코딩 및 디스플레이하다가 바로 temporal_id가 2인 픽처를 디코딩 및 디스플레이할 수 있다.
도 19는 본 발명의 일 실시예에 따른 temporal sub-layer picture type이 STSA인 경우 frame rate의 변경 방법을 나타낸 도면이다. (시나리오 3)
이 도면에서 도시된 바와 같이, temporal sub-layer picture type이 STSA인 경우 수신측은 temporal_id가 0인 레이어의 스트림만을 디스플레이하다가 즉, 4배속으로 트릭 플레이를 수행하다가 바로 1배속 (정상배속)으로 디스플레이할 수 없고, 중간에 2배속으로 디스플레이하는 과정을 거친 후 1배속으로 디스플레이할 수 있다. 따라서, 본 발명의 일 실시예에 따른 temporal sub-layer picture type이 STSA인 경우에는 변환이 가능한 배속수에 대한 제한을 알려주는 방법이 필요할 수 있다. 즉, next_temporal_id를 시그널링해주는 것이 필요할 수 있다.
이 도면에서 도시된 바와 같이, temporal sub-layer picture type이 STSA이고 4배속으로 디스플레이하다가 1배속으로 디스플레이하고자 할 경우 수신측은 temporal_id가 0인 픽처를 디코딩 및 디스플레이하다가 바로 temporal_id가 2인 픽처를 디코딩 및 디스플레이할 수 없고, temporal_id가 1인 픽처를 디코딩 및 디스플레이한 후 temporal_id가 2인 픽처를 디코딩 및 디스플레이할 수 있다.
도 20은 본 발명의 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 고배속의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다. (시나리오 3)
본 발명의 일 실시예에 따르면, "trikhvc"라는 새로운 박스가 정의될 수 있다. 본 발명의 일 실시예에 따른 trikhvc 박스는 sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드, temporal_sub_layer_pic_type 필드, max_temporal_id 필드, temporal_id 필드, next_temporal_id 필드 및/또는 dependency_level 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. pic_type 필드는 4비트의 값을 나타낼 수 있다.
temporal_sub_layer_pic_type 필드는 해당 픽처가 TSA (Temporal Sub-layer Access) 픽처인지 STSA (Step-wise Temporal Sub-layer Access) 픽처인지를 나타낼 수 있다. temporal_sub_layer_pic_type이 1이면, temporal_sub_layer_pic_type은 해당 픽처가 TSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 2이면, temporal_sub_layer_pic_type은 해당 픽처가 STSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 3이면, temporal_sub_layer_pic_type은 해당 픽처가 unknown 픽처임을 나타낼 수 있다. HEVC는 temporal scalability를 제공하고 적응적으로 frame rate를 변경할 수 있도록 temporal_sub_layer_access_picture를 구분할 수 있다. 즉, HEVC는 temporal_id가 0이 아닌 layer에서 TSA 픽처 및 STSA 픽처를 기반으로 다이나믹하게 frame rate를 변경시킬 수 있다. TSA와 STSA는 fram rate를 어떻게 및 얼마나 변경할 수 있는지에 대해서 차이가 존재할 수 있다. 즉, TSA와 STSA는 한번에 몇 개의 tempora_id를 건너뛸 수 있는지에 대해서 차이가 존재할 수 있다. 예를 들면, temporal_id가 0인 경우 frame rate는 15p이고, temporal_id가 1인 경우 frame rate는 30p이고, temporal_id가 2인 경우 (max_temporal_id) frame rate는 60p라면, TSA는 temporal_id가 0인 레이어에서 temporal_id가 2인 레이어로 바로 접근할 수 있으므로 방송 시스템은 frame rate가 15p인 서비스를 제공하다가 60p인 서비스를 제공하는 것으로 바로 변경할 수 있다. 반면, STSA는 단계적 접근만을 할 수 있으므로 temporal_id가 0인 레이어에서 temporal_id가 1인 레이어로 먼저 접근하고 그 후에 temporal_id가 2인 레이어로 접근할 수 있다. 따라서, 이 경우 방송 시스템은 점차적으로 frame rate가 15p인 서비스를 제공하다가 30p인 서비스를 제공하고 최종적으로 60p인 서비스를 제공할 수 있다.
max_temporal_id 필드는 스트림에 포함된 최대 temporal_id 값을 나타낼 수 있다.
temporal_id 필드는 HEVC의 nuh_temporal_id_plus1 값을 이용하여 계산된 temporal id 값을 나타낼 수 있다. temporal_id 필드가 가지는 값은 nuh_temporal_id_plus1 값에서 1을 뺀 값을 나타낼 수 있다.
next_temporal_id 필드는 temporal_sub_layer_pic_type에 따라 최대로 변경 가능한 frame rate를 알려주기 위하여, 이동 가능한 temporal_id를 나타낼 수 있다. 예를 들어, max_temporal_id가 2인 스트림에서, temporal_id가 0인 픽처만을 디스플레이하는 4배속의 트릭 플레이를 제공하다가 정상배속 (1배속)으로 되돌리고자 할 때, temporal_sub_layer_pic_type이 TSA이면 next_temporal_id는 max_temporal_id 값을 가질 수 있다. 반면, STSA이면 next_temporal_id는 temporal_id 값에서 1을 더한 값을 가질 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 6비트의 값을 나타낼 수 있다.
본 발명의 일 실시예에 따르면, 이 도면에 도시된 trick play box는 트릭 플레이에서 지원가능한 최대 배속을 나타내는 max_trick_play_mode 필드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, max_temporal_id가 2인 경우 2배속 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0 및 1인 픽처만을 디코딩할 수 있다. 또한, 4배속 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0인 픽처만을 디코딩 및 디스플레이할 수 있다. 또한, 4배속보다 고배속의 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0인 픽처들 중에서 dependency_level에 따라서 픽처들을 분류하고 해당하는 dependency_level을 갖는 픽처만을 디코딩 및 디스플레이함으로써 4배속보다 고배속의 트릭 플레이 서비스를 제공할 수 있다.
도 21은 본 발명의 또 다른 일 실시예에 따라 temporal scalability를 지원하는 HEVC 스트림에서 고배속의 트릭 플레이를 지원하기 위한 trick play box의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 기존에 정의된 "trik"이라는 박스를 이용하여 HEVC 스트림의 트릭 플레이가 수행될 수 있다. 본 발명의 일 실시예에 따르면, flag를 이용하여 AVC 또는 HEVC 트릭 플레이가 선택될 수 있다.
본 발명의 일 실시예에 따른 trik 박스는 flag, sample_count 값만큼 반복되는 for 루프 내에 pic_type 필드, dependency_level 필드, temporal_sub_layer_pic_type 필드, max_temporal_id 필드, temporal_id 필드 및/또는 next_temporal_id 필드를 포함할 수 있다.
sample_count는 스트림에 포함된 픽처의 총 개수를 의미할 수 있다. 여기서, 하나의 sample은 하나의 picture를 의미할 수 있다.
pic_type 필드는 HEVC의 NAL_unit_type에서 정의된 픽처의 종류를 나타낼 수 있다. 트릭 플레이에 이용될 수 있는 일부 NAL_unit_type은 본 발명의 일 실시예에 따른 pic_type으로 선택되어 사용될 수 있다. 본 발명의 일 실시예에 따른 flag 값이 0인 경우, pic_type 필드는 2비트의 값을 나타낼 수 있고, flag 값이 1인 경우, 4비트의 값을 나타낼 수 있다.
dependency_level 필드는 해당 픽처의 dependency level을 나타낼 수 있다. 본 발명의 일 실시예에 따른 dependency_level은 트릭 플레이를 수행하는 경우에 이용될 수 있다. dependency_level 필드는 기존 AVC의 trick play box에서 사용되었던 dependency_level 필드와 동일할 수 있다. 예를 들어, dependency_level이 3인 샘플을 포함하여 트릭 플레이를 수행한다는 것은 dependency_level이 1, 2 또는 3에 해당하는 샘플만을 디코딩하고 디스플레이한다는 것을 의미할 수 있다. 따라서, dependency_level은 트릭 플레이를 수행하는데 있어서 버려도 되는 layer의 level을 의미할 수 있다. leading picture가 존재하는 경우에도 decodable leading picture는 dependency_level을 가지며, 수신측은 기존에 트릭 플레이 방법과 동일하게 해당되지 않는 픽처를 건너뛰면서 해당되는 픽처만을 디코딩하고 디스플레이할 수 있다. dependency_level 필드는 6비트의 값을 나타낼 수 있다.
temporal_sub_layer_pic_type 필드는 해당 픽처가 TSA (Temporal Sub-layer Access) 픽처인지 STSA (Step-wise Temporal Sub-layer Access) 픽처인지를 나타낼 수 있다. temporal_sub_layer_pic_type이 1이면, temporal_sub_layer_pic_type은 해당 픽처가 TSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 2이면, temporal_sub_layer_pic_type은 해당 픽처가 STSA 픽처임을 나타낼 수 있고, temporal_sub_layer_pic_type이 3이면, temporal_sub_layer_pic_type은 해당 픽처가 unknown 픽처임을 나타낼 수 있다. HEVC는 temporal scalability를 제공하고 적응적으로 frame rate를 변경할 수 있도록 temporal_sub_layer_access_picture를 구분할 수 있다. 즉, HEVC는 temporal_id가 0이 아닌 layer에서 TSA 픽처 및 STSA 픽처를 기반으로 다이나믹하게 frame rate를 변경시킬 수 있다. TSA와 STSA는 fram rate를 어떻게 및 얼마나 변경할 수 있는지에 대해서 차이가 존재할 수 있다. 즉, TSA와 STSA는 한번에 몇 개의 tempora_id를 건너뛸 수 있는지에 대해서 차이가 존재할 수 있다. 예를 들면, temporal_id가 0인 경우 frame rate는 15p이고, temporal_id가 1인 경우 frame rate는 30p이고, temporal_id가 2인 경우 (max_temporal_id) frame rate는 60p라면, TSA는 temporal_id가 0인 레이어에서 temporal_id가 2인 레이어로 바로 접근할 수 있으므로 방송 시스템은 frame rate가 15p인 서비스를 제공하다가 60p인 서비스를 제공하는 것으로 바로 변경할 수 있다. 반면, STSA는 단계적 접근만을 할 수 있으므로 temporal_id가 0인 레이어에서 temporal_id가 1인 레이어로 먼저 접근하고 그 후에 temporal_id가 2인 레이어로 접근할 수 있다. 따라서, 이 경우 방송 시스템은 점차적으로 frame rate가 15p인 서비스를 제공하다가 30p인 서비스를 제공하고 최종적으로 60p인 서비스를 제공할 수 있다.
max_temporal_id 필드는 스트림에 포함된 최대 temporal_id 값을 나타낼 수 있다.
temporal_id 필드는 HEVC의 nuh_temporal_id_plus1 값을 이용하여 계산된 temporal id 값을 나타낼 수 있다. temporal_id 필드가 가지는 값은 nuh_temporal_id_plus1 값에서 1을 뺀 값을 나타낼 수 있다.
next_temporal_id 필드는 temporal_sub_layer_pic_type에 따라 최대로 변경 가능한 frame rate를 알려주기 위하여, 이동 가능한 temporal_id를 나타낼 수 있다. 예를 들어, max_temporal_id가 2인 스트림에서, temporal_id가 0인 픽처만을 디스플레이하는 4배속의 트릭 플레이를 제공하다가 정상배속 (1배속)으로 되돌리고자 할 때, temporal_sub_layer_pic_type이 TSA이면 next_temporal_id는 max_temporal_id 값을 가질 수 있다. 반면, STSA이면 next_temporal_id는 temporal_id 값에서 1을 더한 값을 가질 수 있다.
본 발명의 일 실시예에 따르면, 이 도면에 도시된 trick play box는 트릭 플레이에서 지원가능한 최대 배속을 나타내는 max_trick_play_mode 필드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, max_temporal_id가 2인 경우 2배속 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0 및 1인 픽처만을 디코딩할 수 있다. 또한, 4배속 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0인 픽처만을 디코딩 및 디스플레이할 수 있다. 또한, 4배속보다 고배속의 트릭 플레이 서비스를 제공하기 위하여 수신측은 temporal_id가 0인 픽처들 중에서 dependency_level에 따라서 픽처들을 분류하고 해당하는 dependency_level을 갖는 픽처만을 디코딩 및 디스플레이함으로써 4배속보다 고배속의 트릭 플레이 서비스를 제공할 수 있다.
도 22는 본 발명의 일 실시예에 따른 temporal id와 tier를 복합적으로 이용한 트릭 플레이의 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따르면 tier 값은 temporal id가 0인 픽처에 대해서만 할당될 수 있다.
이 도면에서 도시된 바와 같이, 본 발명의 일 실시예에 따른 수신기는 temporal id가 0, 1, 2 또는 3인 픽처들을 디코딩 및 디스플레이함으로써 정상배속의 트릭 플레이를 수행할 수 있고, temporal id가 0, 1 또는 2인 픽처들을 디코딩 및 디스플레이함으로써 2배속의 트릭 플레이를 수행할 수 있고, temporal id가 0 또는 1인 픽처들을 디코딩 및 디스플레이함으로써 4배속의 트릭 플레이를 수행할 수 있고, temporal id가 0인 픽처들을 모두 디코딩 및 디스플레이함으로써 8배속의 트릭 플레이를 수행할 수 있다. 본 발명은 temporal id가 0인 픽처에 대해서 각기 다른 tier 값을 할당함으로써 8배속보다 더 빠른 트릭 플레이를 수행할 수 있다.
본 발명의 일 실시예에 따르면, 트릭 플레이를 제공하기 위하여 다음과 같은 방법이 이용될 수 있다. PVR_assist_info descriptor를 이용하기 위해서 tier와 temporal id를 매핑함으로써 트릭 플레이가 제공될 수 있다. (시나리오 A) PVR_assist_info descriptor에 temporal id를 이용한 트릭 플레이를 포함함으로써 트릭 플레이가 제공될 수 있다. (시나리오 B) NAL_unit_header의 nuh_temporal_id_plus1 정보를 파싱하여 실제 트릭 플레이를 위해 필요한 패킷만 선택함으로써 트릭 플레이가 제공될 수 있다. (시나리오 C)
본 발명의 일 실시예에 따른 temporal sub-layer 또는 temporal id는 HEVC에서 temporal scalability를 지원하기 위하여 도입된 용어이고, NAL_unit_header의 nuh_temporal_id_plus1에 의하여 시그널링될 수 있다.
본 발명의 일 실시예에 따른 tier는 AVC 스트림 또는 mpeg-2 스트림에서 트릭 플레이를 지원하기 위하여 도입된 용어이고, TS packet내에 adaptation field에 포함될 수 있다.
도 23는 본 발명의 일 실시예에 따라, 기존의 tier 개념에 따른 트릭 플레이 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따른 기존의 tier는 layer간 dependency를 나타낼 수 있다.
이 도면에 도시된 바와 같이, temporal id가 3인 픽처들은 tier값으로 6을 가질 수 있고, temporal id가 2인 픽처들은 tier값으로 4를 가질 수 있고, temporal id가 1인 픽처들은 tier값으로 3을 가질 수 있고, temporal id가 0인 픽처들 중에서 I 픽처는 tier값으로 1을 가질 수 있고 P 픽처는 tier값으로 2를 가질 수 있다. 즉, temporal id가 0인 픽처들은 같은 temporal id를 갖지만 서로 다른 tier값을 가질 수 있다.
본 발명의 일 실시예에 따르면, max_temporal_id를 갖는 즉, dependency_level이 가장 높은 픽처들은 tier 값으로 6 또는 7을 가질 수 있다. 그리고, 그 이외의 temporal_id를 갖는 픽처들은 tier 값으로 1 내지 5를 가질 수 있다. 이 때, temporal_id가 0인 레이어에 해당하는 픽처들은 픽처의 타입에 따라 tier 값으로 1 또는 2 값을 가질 수 있다.
도 24은 본 발명의 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑하는 방법에 따른 트릭 플레이 방법을 나타낸 도면이다. (시나리오 A-a)
본 발명의 일 실시예에 따르면, temporal id는 포함하지만 tier 정보는 포함하지 않는 HEVC 스트림을 기반으로 트릭 플레이를 제공하기 위해서 temporal id와 tier를 매핑하는 방법이 사용될 수 있다. (시나리오 A)
본 발명의 일 실시예에 따른 트릭 플레이를 제공하기 위해서 하나의 temporal id를 하나의 tier에 1:1로 매핑하는 방법이 사용될 수 있고, (시나리오 A-a) 하나의 temporal id를 여러 개의 tier에 매핑하는 방법이 사용될 수 있다. (시나리오 A-b)
본 발명의 일 실시예는 상술한 시나리오 A-a 및 시나리오 A-b에 있어서, 기존의 tier가 갖는 의미와 무관하게 temporal id의 값을 그대로 tier에 1:1로 매핑시킬 수 있다.
본 발명의 또 다른 일 실시예는 상술한 시나리오 A-a 및 시나리오 A-b에 있어서, temporal id의 값을 tier에 1:1로 매핑시키되 tier 6,7은 discardable picture라는 기존 tier의 의미를 그대로 유지하여 maximum temporal id는 tier 6 또는 7에 매핑시킬 수 있다.
상술한 시나리오 A에 따르면, 기존의 PVR_assist_info descriptor의 대부분을 그대로 이용할 수 있다는 장점이 있을 수 있다. 다만, 본 발명의 일 실시예는 HEVC 스트림을 기반으로 하기 때문에 PVR_assist_info descriptor에 포함된 일부 필드는 수정될 필요가 있다. 예를 들어, PVR_assist_info descriptor에 포함된 PVR_assist_tier_m_cumulative_frames 필드는 PVR_assist_tier_m 필드를 통하여 tier 1로부터 1.28초당 추출 가능한 최소 프레임의 수의 값을 전달할 수 있다 (This field conveys the value of the intended minimum number of extractable frames per 1.28 sec. from tier 1 through "PVR_assist_teir_m")고 새로 정의될 수 있다.
이 도면은 본 발명의 일 실시예인 시나리오 A-a에 따른 트릭 플레이 방법을 나타낸 도면이다.
이 도면에 도시된 바와 같이, temporal id가 3인 픽처들은 tier 4에 매핑될 수 있고, temporal id가 2인 픽처들은 tier 3에 매핑될 수 있고, temporal id가 1인 픽처들은 tier 2에 매핑될 수 있고, temporal id가 0인 픽처들은 tier 1에 매핑될 수 있다.
본 발명의 일 실시예인 시나리오 A는 8배속 이상의 트릭 플레이를 제공할 수 없다.
도 25은 본 발명의 또 다른 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑하는 방법에 따른 트릭 플레이 방법을 나타낸 도면이다. (시나리오 A-a)
본 발명의 일 실시예는 이전 도면과 다르게 temporal id의 값을 tier에 1:1로 매핑시키되 tier 6,7은 discardable picture라는 기존 tier의 의미를 그대로 유지하여 maximum temporal id는 tier 6 또는 7에 매핑시킬 수 있다.
이 도면에 도시된 바와 같이, temporal id가 3인 픽처들은 tier 6에 매핑될 수 있고, temporal id가 2인 픽처들은 tier 3에 매핑될 수 있고, temporal id가 1인 픽처들은 tier 2에 매핑될 수 있고, temporal id가 0인 픽처들은 tier 1에 매핑될 수 있다.
이 도면이 이전 도면과 다른 점은 maximum temporal id인 temporal id 3에 해당하는 픽처들을 tier 6에 매핑하였다는 점일 수 있다.
도 26은 본 발명의 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑한 결과를 나타낸 도면이다.
이 도면은 본 발명의 일 실시예에 따른 시나리오 A-a 에 있어서, 기존의 tier가 갖는 의미와 무관하게 temporal id의 값을 그대로 tier에 1:1로 매핑한 결과를 나타낸 도면이다.
이 도면에 도시된 nuh_temporal_id plus1 필드는 NAL_unit_header에 포함된 필드로서 temporal id에 1을 더한 값을 나타낼 수 있다. 예를 들면, nuh_temporal_id plus1 필드 값이 1이면 temporal id는 0이 될 수 있다. 따라서, 이 도면에 도시된 바와 같이 temporal id가 0인 픽처들은 tier 1에 매핑될 수 있고, temporal id가 1인 픽처들은 tier 2에 매핑될 수 있고, temporal id가 2인 픽처들은 tier 3에 매핑될 수 있고, temporal id가 3인 픽처들은 tier 4에 매핑될 수 있다.
본 발명의 일 실시예에 따르면, temporal id와 매핑한 새로운 tier는 기존에 사용되던 tier의 의미와 다를 수 있다. 기존의 tier 6 및 7은 discardable picture를 의미했었고 tier 7은 reference로 사용되지 않는 픽처를 의미했었다. 하지만, 매핑을 통하여 새롭게 정의되는 tier는 기존의 tier 6 및 7이 가지고 있던 의미를 갖고 있지 않을 수 있다.
본 발명의 일 실시예는 temporal sub-layer와 tier가 동일한 숫자를 갖도록 매핑할 수 있고 트릭 플레이를 수행하는데 상술한 매핑 정보를 이용할 수 있다.
도 27는 본 발명의 또 다른 일 실시예에 따라, 하나의 temporal id를 하나의 tier에 1:1로 매핑한 결과를 나타낸 도면이다.
이 도면은 본 발명의 또 다른 일 실시예에 따른 시나리오 A-a에 있어서, temporal id의 값을 tier에 1:1로 매핑시키되 tier 6,7은 discardable picture라는 기존 tier의 의미를 그대로 유지하여 maximum temporal id는 tier 6 또는 7에 매핑한 결과를 나타낸 도면이다.
이 도면에 도시된 nuh_temporal_id plus1 필드는 NAL_unit_header에 포함된 필드로서 temporal id에 1을 더한 값을 나타낼 수 있다. 예를 들면, nuh_temporal_id plus1 필드 값이 1이면 temporal id는 0이 될 수 있다. 따라서, 이 도면에 도시된 바와 같이 temporal id가 0인 픽처들은 tier 1에 매핑될 수 있고, temporal id가 1인 픽처들은 tier 2에 매핑될 수 있고, temporal id가 2인 픽처들은 tier 3에 매핑될 수 있고, temporal id가 3인 픽처들은 tier 6에 매핑될 수 있다.
본 발명의 일 실시예에 따르면, temporal id와 매핑한 새로운 tier는 기존에 사용되던 tier의 의미와 동일할 수 있다. tier 6 및 7은 discardable picture를 의미할 수 있고 tier 6은 reference로 사용되는 픽처를 의미하고 tier 7은 reference로 사용되지 않는 픽처를 의미할 수 있다. 따라서, 상술한 바와 같이 nuh_temporal_id plus1가 4인 픽처들은 tier 6으로 매핑될 수 있다. 여기서, reference로 사용되지 않는 픽처들인 경우에는 tier 7로 매핑될 수 있다.
도 28은 본 발명의 일 실시예에 따라, 하나의 temporal id를 여러 개의 tier에 매핑하는 방법에 따른 트릭 플레이의 방법을 나타낸 도면이다. (시나리오 A-b)
이 도면에 도시된 바와 같이, maximum temporal id인 temporal id가 1인 픽처들은 tier 4 또는 6에 매핑될 수 있고 temporal id가 0인 나머지 5개의 픽처들은 tier 0 내지 3에 매핑될 수 있다.
본 발명의 일 실시예에 따르면, temporal id와 매핑한 새로운 tier는 기존에 사용되던 tier의 의미와 다를 수 있다. 기존의 tier 6 및 7은 discardable picture를 의미했었고 tier 7은 reference로 사용되지 않는 픽처를 의미했었다. 하지만, 매핑을 통하여 새롭게 정의되는 tier는 기존의 tier 6 및 7이 가지고 있던 의미를 갖고 있지 않을 수 있다. 따라서, 이 도면에 도시된 바와 같이, temporal id가 1인 픽처들은 tier 4에 매핑될 수 있다. (28010)
본 발명의 또 다른 일 실시예에 따르면, temporal id와 매핑한 새로운 tier는 기존에 사용되던 tier의 의미와 동일할 수 있다. tier 6 및 7은 discardable picture를 의미할 수 있고 tier 6은 reference로 사용되는 픽처를 의미하고 tier 7은 reference로 사용되지 않는 픽처를 의미할 수 있다. 따라서, 이 도면에 도시된 바와 같이, temporal id가 1인 픽처들은 tier 6에 매핑될 수 있다. (28020)
도 29은 본 발명의 일 실시예에 따른 temporal id와 tier의 매핑을 위한 정보를 포함한 TS packet의 adaptation field의 구성을 나타낸 도면이다.
본 발명의 일 실시예는 tier 및 nuh_temporal_id_plus1의 값을 트릭 플레이를 위한 속도 정보와 매핑하는 디스크립터를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 기존 트릭 플레이를 위한 정보는 TS 패킷의 adaptation field에 포함되었으므로, temporal id를 포함하는 HEVC 스트림의 트릭 플레이를 위한 정보인 HEVC_temporal_id_tier_mapping_info도 상술한 adaptation field에 포함될 수 있다.
이 도면은 TS packet의 adaptation field에 포함된 data field의 구성을 나타낸 도면이다.
이 도면에 도시된 바와 같이, data_field_tag가 0x00이면 해당 data field는 reserved임을 나타낼 수 있고, 0x01이면 해당 data field는 Announcement switching data field임을 나타낼 수 있고, 0x02이면 AU_information에 대한 data field임을 나타낼 수 있고, 0x03이면 PVR_assist_information에 대한 data field임을 나타낼 수 있고, 0x04이면 TSAP time line을 나타내는 data field임을 나타낼 수 있고, 0x05이면 HEVC_temporal_id_tier_mapping_info에 대한 data field임을 나타낼 수 있다.
본 발명의 일 실시예는 HEVC_temporal_id_tier_mapping_info 디스크립터를 이용하여 temporal id에 tier 값을 매핑하고 PVR_assist_information 디스크립터를 이용하여 tier 기반으로 트릭 플레이를 제공할 수 있다.
도 30는 본 발명의 일 실시예에 따른 HEVC_temporal_id_tier_mapping_info의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 HEVC_temporal_id_tier_mapping_info는 included_temporal_id_flag 필드, temporal_sub_layer_dependency_flag 필드, max_temporal_id_plus1 필드, temporal_id_plus1 필드, curr_tier_num 필드 및/또는 trick_play_speed 필드를 포함할 수 있다.
included_temporal_id_flag 필드는 temporal id를 이용해서 인코딩했는지 여부를 시그널링할 수 있다.
temporal_sub_layer_dependency_flag 필드는 temporal sub-layer 간에 dependency 여부를 나타낼 수 있다. 즉, temporal_sub_layer_dependency_flag 필드는 하위 temporal sub-layer 픽처가 상위 temporal sub-layer 픽처를 참조하지 않는 경우 1을 갖는다.
max_temporal_id_plus1 필드는 최대 temporal id 값을 나타낼 수 있으며 max_temporal_id_plus1 필드가 나타내는 값은 temporal id에 1을 더한 값이다.
temporal_id_plus1 필드는 NAL unit header에 포함된 nuh_temporal_id_plus1이 나타내는 값과 동일한 값을 가질 수 있다.
curr_tier_num 필드는 temporal_id_plus1과 매핑되는 tier 값을 나타낼 수 있다.
trick_play_speed 필드는 temporal id 값에 따라 최대로 제공 가능한 트릭 플레이 속도를 나타낼 수 있다.
if(max_temporal_id_plus1>1) 조건문은 max_temporal_id_plus1이 1보다 큰 경우를 나타낼 수 있다. 즉, temporal scalability가 사용된 스트림임을 나타낼 수 있고, 이 경우 temporal id를 이용하여 트릭 플레이를 제공할 수 있으므로, 본 발명의 일 실시예는 기존의 PVR_assist_information을 이용하기 위해 temporal id를 tier에 매핑시킬 수 있다.
본 발명의 또 다른 일 실시예는 temporal_id_plus1 필드를 for루프 안에 curr_tier_num 필드 및 trick_play_speed 필드와 동일한 레벨에 위치시키고 각 temporal_id에 따른 tier 넘버와 트릭 플레이를 위한 속도를 시그널링할 수 있다. 본 발명의 일 실시예는 상술한 HEVC_temporal_id_tier_mapping_info를 포함한 디스크립터를 이용하여 look up table을 생성할 수 있고 상술한 look up table을 이용하여 PVR_assist_information의 tier 관련 정보를 temporal_id로 해석하여 사용할 수 있다.
본 발명의 또 다른 일 실시예는 상술한 HEVC_temporal_id_tier_mapping_info에서 for 루프를 삭제하고 temporal_id_plus1 필드가 위치한 레벨에 curr_tier_num 필드 및 trick_play_speed 필드를 위치시킬 수 있다. 본 발명의 일 실시예는 상술한 HEVC_temporal_id_tier_mapping_info를 포함한 디스크립터를 각 픽처마다 시그널링할 수 있다.
도 31은 본 발명의 일 실시예에 따른 HEVC_temporal_id_tier_mapping_info에 포함된 trick_play_speed 필드의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 trick_play_speed 필드가 0이면 제공 가능한 트릭 플레이의 배속은 1배속일 수 있고, 1이면 제공 가능한 트릭 플레이의 배속은 2배속일 수 있고, 2이면 제공 가능한 트릭 플레이의 배속은 4배속일 수 있고, 3이면 제공 가능한 트릭 플레이의 배속은 8배속일 수 있고, 4이면 제공 가능한 트릭 플레이의 배속은 16배속일 수 있고, 5이면 제공 가능한 트릭 플레이의 배속은 32배속일 수 있고, 6이면 제공 가능한 트릭 플레이의 배속은 64배속일 수 있다.
도 32는 본 발명의 일 실시예에 따른 PVR_assist_information의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 PVR_assist_information은 data_field_tag 필드, data_field_length 필드, PVR_assist_tier_pic_num 필드, PVR_assist_block_trick_mode_present_flag 필드, PVR_assist_pic_struct_present_flag 필드, PVR_assist_tier_next_pic_in_tier_present_flag 필드, PVR_assist_substream_info_present_flag 필드, PVR_assist_extension_present_flag 필드, PVR_assist_segmentation_info_present_flag 필드, PVR_assist_tier_m_cumulative_frames_present_flag 필드, PVR_assist_tier_n_mmco_present_flag 필드, PVR_assist_reserved_0 필드, PVR_assist_seg_id 필드, PVR_assist_prg_id 필드, PVR_assist_seg_start_flag 필드, PVR_assist_seg_end_flag 필드, PVR_assist_prg_start_flag 필드, PVR_assist_prg_stop_flag 필드, PVR_assist_scene_change_flag 필드, PVR_assist_tier_m 필드, PVR_assist_tier_m_cumulative_frames 필드 및/또는 PVR_assist_tier_n_mmco 필드를 포함할 수 있다.
data_field_tag 필드는 해당 데이터 필드가 PVR_assist_information임을 나타낼 수 있다. data_field_tag 필드는 0x03을 가질 수 있다.
data_field_length 필드는 data_field_tag 필드 및 data_field_length 필드를 제외한 PVR_assist_information의 길이를 나타낼 수 있다.
PVR_assist_tier_pic_num 필드는 PVR_assist_information와 관련된 픽처의 티어 넘버를 나타낼 수 있다. 최소 티어 넘버는 0일 수 있고, 최대 티어 넘버는 7일 수 있다. 티어 넘버 0은 앞으로 사용을 위해 남겨둘 수 있다. 본 발명의 일 실시예에 따르면 HEVC인 경우, HEVC RAP 픽처의 티어 넘버는 0일 수 있고 HEVC RAP 픽처가 아닌 다른 모든 픽처의 티어 넘버는 temporal id에 1을 더한 값일 수 있다. 본 발명의 일 실시예에 따르면, 이 필드는 비디오 스트림에 포함되는 픽처의 티어 넘버를 나타낼 수 있고, 티어 넘버 정보라고 명명될 수 있다. 여기서, 티어 넘버는 템포럴 서브 레이어를 시그널링하기 위해 사용될 수 있다. PVR_assist_tier_pic_num는 티어 넘버 정보로 명명될 수 있다.
PVR_assist_block_trick_mode_present_flag 필드는 이전의 RAP 픽처에서 이 필드의 값이 1인 경우에 RAP가 아닌 픽처에서 1 값을 가질 수 있다.
PVR_assist_pic_struct_present_flag 필드는 비디오 스트림이 AVC 또는 HEVC 스트림이고 PVR_assist_pict_struct 필드가 존재하는 경우에 1 값을 가질 수 있다.
PVR_assist_tier_next_pic_in_tier_present_flag 필드는 PVR_assist_tier_next_pic_in_tier 필드가 존재하는 경우에 1 값을 가질 수 있다.
PVR_assist_substream_info_present_flag 필드는 PVR_assist_substream_info 필드가 존재하는 경우에 1 값을 가질 수 있다.
PVR_assist_extension_present_flag 필드는 PVR_assist_segmentation_info_present_flag 필드, PVR_assist_tier_m_cumulative_frames_present_flag 필드, PVR_assist_tier_n_mmco_present_flag 필드 및 PVR_assist_temporal_id_info_present_flag 필드 중 어느 하나의 값이 1인 경우에 1 값을 가질 수 있다.
PVR_assist_segmentation_info_present_flag 필드는 PVR_assist_segmentation_info 필드가 존재하는 경우에 1 값을 가질 수 있다.
PVR_assist_tier_m_cumulative_frames_present_flag 필드는 PVR_assist_tier_m 필드 및 PVR_assist_tier_m_cumulative_frames 필드가 존재하는 경우에 1 값을 가질 수 있다. HEVC인 경우, 이 필드는 0 값을 갖는 것이 권장될 수 있다.
PVR_assist_tier_n_mmco_present_flag 필드는 PVR_assist_tier_n_mmco 필드가 존재하는 경우에 1 값을 가질 수 있다. HEVC인 경우, 이 필드는 0 값을 가질 수 있다.
PVR_assist_seg_id 필드는 픽처가 속해있는 세그먼트의 id를 전달할 수 있다.
PVR_assist_prg_id 필드는 픽처가 속해있는 프로그램의 id를 전달할 수 있다.
PVR_assist_seg_start_flag 필드는 하나의 세그먼트 안에서 첫 번째 재생 순서를 갖는 픽처인 경우 1 값을 가질 수 있다.
PVR_assist_seg_end_flag 필드는 하나의 세그먼트 안에서 마지막 재생 순서를 갖는 픽처인 경우 1 값을 가질 수 있다.
PVR_assist_prg_start_flag 필드는 하나의 프로그램 안에서 첫 번째 재생 순서를 갖는 픽처인 경우 1 값을 가질 수 있다.
PVR_assist_prg_stop_flag 필드는 하나의 프로그램 안에서 마지막 재생 순서를 갖는 픽처인 경우 1 값을 가질 수 있다.
PVR_assist_scene_change_flag 필드는 새로운 장면의 재생 순서상 첫 번째 픽처인 경우 1 값을 가질 수 있다.
PVR_assist_tier_m 필드는 PVR_assist_tier_m_cumulative_frames 필드와 관련된 티어 넘버를 나타낼 수 있다. HEVC인 경우, 이 필드는 존재하지 않을 수 있다.
PVR_assist_tier_m_cumulative_frames 필드는 PVR_assist_tier_m 필드를 통하여 tier 1로부터 초당 추출 가능한 최소 프레임의 수의 값을 전달할 수 있다.
PVR_assist_tier_n_mmco 필드는 트릭 플레이를 수행하는 동안 디코더에 의해 무시될 수 있는 MMCOs 아래의 최소 티어 넘버를 나타낼 수 있다. HEVC인 경우, 이 필드는 존재하지 않을 수 있다.
본 발명의 일 실시예에 따른 PVR_assist_information는 PVR_assist_tier_next_pic_tier 필드를 더 포함할 수 있다. PVR_assist_tier_next_pic_tier 필드는 PVR_assist_tier_pic_num 필드가 나타내는 값과 동일한 티어 넘버를 갖는 픽처들 중 디코딩 순서상 다음 순서 픽처의 상대적인 위치를 나타낼 수 있고, 티어 넥스트 픽처 정보라고 명명될 수 있다.
본 발명의 일 실시예에 따른 PVR_assist_information는 비디오 데이터의 트릭 플레이를 수행하기 위한 메타데이터를 포함하고, PVR 어시스트 정보라고 명명될 수 있다.
도 33는 본 발명의 일 실시예에 따른 temporal id frame work가 추가된 PVR_assist_information의 구성을 나타낸 도면이다. (시나리오 B-a-a)
본 발명의 일 실시예는 TS packet의 adaptation 필드에 포함되는 기존 PVR_assist_information에 temporal id를 이용한 트릭 플레이를 포함하는 방법을 제공할 수 있다. 즉, 본 발명의 일 실시예는 temporal id frame work를 제공할 수 있다.
본 발명의 일 실시예는 temporal id 기반의 temporal scalability를 지원하기 위하여 기존의 PVR_assist_tier_pic_num과 함께 PVR_assist_temporal_id_plus1을 시그널링할 수 있다.
본 발명의 일 실시예에 따르면, PVR_assist_information는 PVR_assist_information의 구성을 나타낸 이전 도면에서 전술한 모든 필드, PVR_assist_temporal_id_plus1 필드, PVR_assist_temporal_id_info_present_flag 필드 및/또는 PVR_assist_max_temporal_id_plus1 필드를 포함할 수 있다.
이 도면에서 PVR_assist_information의 구성을 나타낸 이전 도면에서 전술한 필드와 동일한 명칭을 갖는 필드는 이전 도면에서 전술한 의미와 동일한 의미를 가질 수 있다.
PVR_assist_temporal_id_plus1 필드는 현재 프레임의 temporal id 값을 나타내고, 실제적으로 NAL unit header에 포함된 nuh_temporal_id_plus1 값과 동일한 값을 나타낼 수 있다.
PVR_assist_temporal_id_info_present_flag 필드는 temporal id 관련된 정보를 포함하는지 여부를 나타낼 수 있다. 이 필드는 PVR_assist_max_temporal_id_plus1 필드가 존재하면 1 값을 나타낼 수 있다. 이 플드는 RAP 픽처마다 제공될 수 있다.
PVR_assist_max_temporal_id_plus1 필드는 최대 temporal id 값을 나타내고 실제적으로, temporal id 최대값에 1을 더한 값을 나타낼 수 있다. 이 필드는 0 내지 6 중 어느 하나의 값을 가질 수 있다. 이 필드는 트릭 플레이의 속도에 대한 정보를 제공하는데 사용될 수 있다.
본 발명의 일 실시예에 따르면, 트릭 플레이의 배속수는 PVR_assist_max_temporal_id_plus1 필드와 PVR_assist_temporal_id_plus1 필드의 값을 이용하여 계산될 수 있다.
도 34은 본 발명의 또 다른 일 실시예에 따른 temporal id frame work가 추가된 PVR_assist_information의 구성을 나타낸 도면이다. (시나리오 B-a-b)
본 발명의 일 실시예는 TS packet의 adaptation 필드에 포함되는 기존 PVR_assist_information에 temporal id를 이용한 트릭 플레이를 포함하는 방법을 제공할 수 있다. 즉, 본 발명의 일 실시예는 temporal id frame work를 제공할 수 있다.
본 발명의 일 실시예는 PVR_assist_tier_pic_num 필드를 그대로 사용하고 PVR_assist_tier_pic_num 필드에 PVR_assist_temporal_id_plus1의 의미를 담을 수 있다. 또한, PVR_assist_tier_pic_num_to_temporal_id_flag 필드를 이용하여 tier의 의미가 변경되었음을 알려줄 수 있다.
본 발명의 일 실시예에 따르면, PVR_assist_information는 PVR_assist_information의 구성을 나타낸 이전 도면에서 전술한 모든 필드, PVR_assist_tier_pic_num_to_temporal_id_flag 필드, PVR_assist_temporal_id_info_present_flag 필드 및/또는 PVR_assist_max_temporal_id_plus1 필드를 포함할 수 있다.
이 도면에서 PVR_assist_information의 구성을 나타낸 이전 도면에서 전술한 필드와 동일한 명칭을 갖는 필드는 이전 도면에서 전술한 의미와 동일한 의미를 가질 수 있다. 다만, PVR_assist_tier_pic_num 필드는 본 발명의 일 실시예에 따라 temporal id frame work에 그대로 이용될 수 있다. 즉, PVR_assist_tier_pic_num 필드는 현재 프레임의 temporal id 값을 나타내고, 실제적으로 NAL unit header에 포함된 nuh_temporal_id_plus1 값과 동일한 값을 가질 수 있다.
PVR_assist_tier_pic_num_to_temporal_id_flag 필드는 PVR_assist_tier_pic_num 필드를 temporal id를 나타내는 필드로 사용했다면 1 값을 가질 수 있다.
PVR_assist_temporal_id_info_present_flag 필드는 temporal id 관련된 정보를 포함하는지 여부를 나타낼 수 있다.
PVR_assist_max_temporal_id_plus1 필드는 최대 temporal id 값을 나타내고 실제적으로, temporal id 최대값에 1을 더한 값을 나타낼 수 있다.
본 발명의 일 실시예에 따르면, 트릭 플레이의 배속수는 PVR_assist_max_temporal_id_plus1 필드와 PVR_assist_temporal_id_plus1 필드의 의미를 갖는 PVR_assist_tier_pic_num 필드 값을 이용하여 계산될 수 있다.
본 발명의 또 다른 일 실시예는 PVR_assist_framework라는 2비트 이상의 필드를 PVR_assist_information에 추가하여 PVR을 제공하는 framework의 종류를 구분할 수 있다. 본 발명의 일 실시예는 기존의 tier, substream framework 및 temporal id framework를 구분할 수 있다. 이 경우, 기존에 PVR_assist_information에 포함된 플래그 값들은 사용되지 않을 수 있고 본 발명의 일 실시예는 각 framework에 해당하는 태그 값을 대신하여 조건문을 구성할 수 있다.
도 35은 본 발명의 일 실시예에 따른 temporal id를 이용한 트릭 플레이를 지원하기 위한 PVR_assist_information의 구성을 나타낸 도면이다. (시나리오 B-b)
본 발명의 일 실시예에 따른 PVR_assist_information는 data_field_tag 필드, data_field_length 필드, PVR_assist_temporal_id_plus1 필드, PVR_assist_substream_info_present_flag 필드, PVR_assist_extension_present_flag 필드, PVR_assist_temporal_id_present_flag 필드, PVR_assist_temporal_sub_layer_dependency_flag 필드, PVR_assist_max_temporal_id_plus1 필드, PVR_assist_curr_tier_num 필드 및/또는 PVR_assist_trick_play_speed 필드를 포함할 수 있다.
data_field_tag 필드는 해당 데이터 필드가 PVR_assist_information임을 나타낼 수 있다. data_field_tag 필드는 0x03을 가질 수 있다.
data_field_length 필드는 data_field_tag 필드 및 data_field_length 필드를 제외한 PVR_assist_information의 길이를 나타낼 수 있다.
PVR_assist_temporal_id_plus1 필드는 현재 프레임의 temporal id 값을 나타내고, 실제적으로 NAL unit header에 포함된 nuh_temporal_id_plus1 값과 동일한 값을 나타낼 수 있다.
PVR_assist_substream_info_present_flag 필드는 PVR_assist_substream_info 필드가 존재하는 경우에 1 값을 가질 수 있다.
PVR_assist_extension_present_flag 필드는 PVR_assist_segmentation_info_present_flag 필드, PVR_assist_tier_m_cumulative_frames_present_flag 필드 및 PVR_assist_tier_n_mmco_present_flag 필드 중 어느 하나의 값이 1인 경우에 1 값을 가질 수 있다.
PVR_assist_temporal_id_info_present_flag 필드는 temporal id 관련된 정보를 포함하는지 여부를 나타낼 수 있다.
PVR_assist_temporal_sub_layer_dependency_flag 필드는 temporal sub-layer 간에 dependency 여부를 나타낼 수 있다. 즉, temporal_sub_layer_dependency_flag 필드는 하위 temporal sub-layer 픽처가 상위 temporal sub-layer 픽처를 참조하지 않는 경우 1을 갖는다.
PVR_assist_max_temporal_id_plus1 필드는 최대 temporal id 값을 나타내고 실제적으로, temporal id 최대값에 1을 더한 값을 나타낼 수 있다.
PVR_assist_curr_tier_num 필드는 temporal_id_plus1에 해당하는 tier 값을 나타낼 수 있다.
trick_play_speed 필드는 temporal id 값에 따라 최대로 제공 가능한 트릭 플레이 속도를 나타낼 수 있다.
if(PVR_assist_max_temporal_id_plus1>1) 조건문은 PVR_assist_max_temporal_id_plus1이 1보다 큰 경우를 나타낼 수 있다. 즉, temporal scalability가 사용된 스트림임을 나타낼 수 있고, 이 경우 temporal id를 이용하여 트릭 플레이를 제공할 수 있다.
본 발명의 또 다른 일 실시예는 PVR_assist_temporal_id_plus1 필드를 for루프 안에 PVR_assist_curr_tier_num 필드 및 PVR_assist_trick_play_speed 필드와 동일한 레벨에 위치시키고 각 temporal_id에 따른 tier 넘버와 트릭 플레이를 위한 속도를 시그널링할 수 있다.
본 발명의 또 다른 일 실시예는 기존의 PVR_assist_tier_pic_num 필드를 그대로 두고 상술한 필드 값을 PVR_assist_temporal_id_plus1 필드 값을 나타내도록 변경하여 사용할 수 있다. 이 경우, PVR_assist_tier_pic_num_to_temporal_id_flag 필드를 이용하여 PVR_assist_tier_pic_num 필드의 의미가 변경되었다는 것을 시그널링할 필요가 있다.
본 발명의 또 다른 일 실시예는 tier 없이 temporal id만을 이용하여 트릭 플레이를 제공할 수 있다. 즉, NAL_unit_header의 nuh_temporal_id_plus1 정보를 파싱하여 실제 트릭 플레이를 위해 필요한 패킷만 선택함으로써 트릭 플레이가 제공될 수 있다. (시나리오 C) 예를 들어, temporal id가 0부터 3까지 구성된 스트림을 2배속으로 플레이하고자 할 경우, 본 발명의 일 실시예는 nuh_temporal_id_plus1 값이 1, 2 또는 3인 TS packet만을 system decoder로 전달함으로써 2배속 트릭 플레이를 제공할 수 있다.
도 36은 본 발명의 일 실시예에 따른 수신 장치를 나타낸 도면이다.
본 발명의 일 실시예에 따른 수신 장치는 수신부 (Tuner; 36010), 복조부 (Demodulator; 36020), 트릭 플레이 수행부 (Trick play; 36030), 시스템 디코더/ 역다중화부 (System decoder and Demux; 36040) 및/또는 비디오 디코더 (Video decoder; 36050)를 포함할 수 있다.
수신부 (Tuner; 36010)는 방송망, 케이블망 및/또는 인터넷망을 통하여 전송되는 방송 신호를 수신할 수 있다.
복조부 (Demodulator; 36020)는 변조 기법에 따라 변조된 방송 신호를 복조할 수 있다.
트릭 플레이 수행부 (Trick play; 36030)는 각 시나리오에 따른 방법에 의하여 트릭 플레이를 위한 TS packet을 선별할 수 있다. 본 발명의 일 실시예에 따른, 시나리오 1, 2 및 3에 대한 상세한 설명은 전술하였다.
시스템 디코더/ 역다중화부 (System decoder and Demux; 36040)는 시스템 정보를 디코딩할 수 있고 다중화된 방송 신호를 단위 스트림 별로 분리할 수 있다. 역다중화부는 수신한 방송 신호를 역다중화하여 비디오 스트림을 추출할 수 있다.
비디오 디코더 (Video decoder; 36050)는 비디오 스트림을 디코딩할 수 있다. 비디오 디코더는 시스템 디코더 및 트릭 플레이 수행부를 포함할 수 있고, 비디오 디코더는 PVR 어시스트 정보를 기초로 하여 트릭 플레이를 위해 선별된 비디오 스트림을 디코딩함으로써 비디오 데이터의 트릭 플레이를 수행할 수 있다. 비디오 디코더는 PVR 어시스트 정보에 포함된 템포럴 식별 정보 및 최대 템포럴 식별 정보를 기초로 하여 트릭 플레이를 수행할 수 있다.
도 37는 본 발명의 일 실시예에 따른 tier framework와 HEVC temporal sub-layer을 비교한 도면이다.
본 발명의 일 실시예에 따른 HEVC temporal sub-layer의 계층 구조는 tier system framework와 유사하다. 본 발명의 일 실시예에 따른 temporal id는 tier 넘버에 매칭될 수 있다. 본 발명의 일 실시예에 따른 HEVC temporal sub-layer는 tier system framework와 비슷한 방법에 의하여 PVR을 지원할 수 있다.
본 발명의 일 실시예에 따른 HEVC compliant 인코더/디코더는 HEVC temporal sub-layer를 지원할 수 있다. 본 발명의 일 실시예에 따른 temporal id는 HEVC로 인코딩된 스트림에 존재할 수 있다. 스트림이 temporal sub-layer 구조에 의하여 인코딩된 경우, 트릭 플레이를 위한 어떠한 특별한 인코딩 구조도 필요하지 않을 수 있다. 따라서, 본 발명의 일 실시예에 따른 HEVC temporal sub-layer는 트릭 플레이를 지원하는 경우에 인코딩 부담을 줄일 수 있다.
이 도면에 도시된 바와 같이, tier framework에서 tier 7은 참조되지 않는 discardable 픽처를 의미했고, tier 6는 참조되는 discardable 픽처를 의미했다. 하지만, 본 발명의 일 실시예에 따른 HEVC temporal sub-layer는 참조되는 픽처인지 아닌지를 구분하지 않을 수 있다. tier framework에서 tier 1은 RAP 픽처를 나타내고, tier 2는 P 픽처를 나타냈다. 하지만, 본 발명의 일 실시예에 따른 HEVC temporal sub-layer에서 temporal id 0은 IRAP 픽처를 포함하는 I 픽처, P 픽처 및 B 픽처를 모두 나타낼 수 있다.
본 발명의 일 실시예에 따르면 다른 서브 레이어들이 temporal id 6와 7에 지정될 수 있다. 따라서, tier 넘버 6 및 7과 비교해보면, 본 발명의 일 실시예에 따라 temporal id를 이용하는 경우 추가적인 배속을 지원할 수 있다.
본 발명의 일 실시예에 따르면 더 빠른 배속을 지원하기 위하여 temporal id가 0인 베이스 서브 레이어에서 프레임 구분이 필요할 수 있다.
도 38은 본 발명의 또 다른 일 실시예에 따른 PVR_assist_information의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 디코딩 과정 전에 억세스 유닛 (access units; AUs)을 필터링하기 위하여 비디오 레벨에 주어진 temporal id는 시스템 레벨에서 시그널링될 수 있다.
본 발명의 일 실시예에 따르면, temporal id가 0인 베이스 서브 레이어에서 보다 높은 배속을 지원하기 위하여 intra 프레임이 시그널링될 수 있다.
본 발명의 일 실시예에 따른 PVR_assist_information는 data_field_tag 필드, data_field_length 필드, PVR_assist_temporal_id_plus1 필드, PVR_assist_temporal_id_info_present_flag 필드, PVR_assist_intra_picture_flag 필드, PVR_assist_max_temporal_id_plus1 필드, PVR_assist_PB_numbers_in_temporalid_zero 필드, PVR_assist_reserved_0 필드 및/또는 PVR_assist_reserved_byte 필드를 포함할 수 있다.
data_field_tag 필드는 해당 데이터 필드가 PVR_assist_information임을 나타낼 수 있다. data_field_tag 필드는 0x03을 가질 수 있다.
data_field_length 필드는 data_field_tag 필드 및 data_field_length 필드를 제외한 PVR_assist_information의 길이를 나타낼 수 있다.
PVR_assist_temporal_id_plus1 필드는 픽처의 temporal id를 나타낼 수 있다. 실제적으로, temporal id는 이 필드에서 1을 뺀 값을 가질 수 있다. 이 필드의 최소 값은 1이고, 최대 값은 7을 가질 수 있다. HEVC 스트림의 경우, 이 필드의 값은 nuh_temporal_id_plus1 값과 동일한 값을 가질 수 있다.
PVR_assist_temporal_id_info_present_flag 필드는 PVR_assist_max_temporal_id_plus1 필드가 존재하면 1 값을 가질 수 있다. 이 필드는 RAP 픽처에 해당하는 픽처에서만 제공될 수 있다.
PVR_assist_intra_picture_flag 필드는 현재 억세스 유닛이 intra 픽처이면 1 값을 가질 수 있다.
PVR_assist_max_temporal_id_plus1 필드는 최대 temporal id를 나타낼 수 있다. 실제적으로, 최대 temporal id는 이 필드에서 1을 뺀 값을 나타낼 수 있다. 이 필드는 1에서 7까지의 값을 가질 수 있다.
PVR_assist_PB_numbers_in_temporalID_zero 필드는 temporal id가 0인 베이스 서브 레이어에서 intra 프레임들 사이에 존재하는 intra 프레임이 아닌 프레임의 개수를 나타낼 수 있다. 이 필드는 트릭 플레이의 속도를 추측하는데 사용될 수 있다.
PVR_assist_reserved_0 필드는 추후 사용을 위해 남겨진 필드이다.
PVR_assist_reserved_byte 필드는 추후 사용을 위해 남겨진 필드를 나타낼 수 있다.
도 39은 본 발명의 일 실시예에 따른 HEVC temporal sub-layer를 이용한 트릭 플레이 방법을 나타낸 도면이다.
이 도면에서 첫 번째 그림 (39010)은 하나의 GOP에 해당하는 픽처들을 재생 순서에 따라 정렬해 놓은 그림이다. 첫 번째 그림에서 I는 I 픽처를 나타낼 수 있고, B는 B 픽처를 나타낼 수 있고 P는 P 픽처를 나타낼 수 있다. 또한, 픽처의 종류를 나타내는 알파벳 밑의 숫자는 재생 순서를 나타낼 수 있다. 첫 번째 그림에서 화살표는 픽처들간에 참조 관계를 나타낼 수 있다.
이 도면에서 두 번째 그림 (39020)은 본 발명의 일 실시예에 따른 HEVC temporal sub-layer를 이용하여 트릭 플레이를 제공하는 방법을 나타낸 그림이다. 네모 박스 하나는 하나의 픽처를 나타낼 수 있다. 네모 안의 숫자는 temporal id를 나타낼 수 있다. 네모 안의 x표시는 트릭 플레이 시 디코딩 및 재생되는 픽처를 나타낼 수 있다. 두 번째 그림에 도시된 바와 같이 2 배속부터 8 배속 트릭 플레이까지는 HEVC temporal sub-layer에 의하여 제공될 수 있다.
이 도면에서 세 번째 그림 (39030)은 본 발명의 일 실시예에 따른 base sub-layer 시그널링을 이용하여 트릭 플레이를 제공하는 방법을 나타낸 그림이다. 본 발명의 일 실시예는 intra 픽처만을 디코딩 및 재생함으로써 12 배속, 24 배속 및 48 배속의 트릭 플레이를 제공할 수 있다.
도 40는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 도면이다.
본 발명의 일 실시예는 다음과 같은 과정에 의하여 방송 신호를 송신할 수 있다. 먼저, 본 발명의 일 실시예는 비디오 데이터를 인코딩하여 비디오 스트림을 생성할 수 있다. (S40010) 여기서, 비디오 스트림은 AVC 또는 HEVC 코덱에 의하여 인코딩될 수 있다. 여기서, 비디오 스트림은 비디오 스트림의 최대 템포럴 식별 정보 값을 가지는 PVR 어시스트 정보를 포함할 수 있다. 최대 템포럴 식별 정보는 max_temporal_id 또는 PVR_assist_max_temporal_id로 명명될 수 있다. 최대 템포럴 식별 정보에 대한 상세한 설명은 도 30, 33, 34, 35, 38에서 전술하였다. PVR 어시스트 정보는 수신기 또는 PVR 장치에서 비디오 데이터의 트릭 플레이를 수행하는데 필요한 정보를 의미할 수 있다. PVR 어시스트 정보에 대한 상세한 설명은 도 34에서 전술하였다. 다음으로, 본 발명의 일 실시예는 생성된 비디오 스트림을 포함하는 방송 신호를 생성할 수 있다. (S40020) 여기서, 비디오 스트림은 비디오 단위 스트림, 비디오 단위 스트림이 패킷화된 PES 스트림 또는 TS 패킷을 포함하는 트랜스포트 스트림을 의미할 수 있다. 생성된 비디오 스트림을 여러 가지의 변조 방식을 이용하여 변조함으로써 방송 신호를 생성할 수 있다. 다음으로, 본 발명의 일 실시예는 생성된 방송 신호를 전송할 수 있다. (S40030) 여기서, 본 발명의 일 실시예는 생성된 방송 신호를 지상파 방송망, 케이블망 및 인터넷망 중 적어도 어느 하나를 통하여 전송할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 비디오 스트림은 어댑테이션 필드를 포함하고, 어댑테이션 필드는 PVR 어시스트 정보를 포함할 수 있다. 여기서, 어댑테이션 필드는 TS 패킷의 헤더와 페이로드 사이에 존재하는 필드로서 데이터를 포함할 수 있다. 본 발명의 일 실시예에 따른 비디오 스트림은 수개의 TS 패킷을 포함하는 스트림을 의미할 수 있다. 따라서, 본 발명의 일 실시예에 따른 비디오 스트림은 어댑테이션 필드를 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 어댑테이션 필드는 프라이빗 데이터 바이트 필드를 포함할 수 있고, 프라이빗 데이터 바이트 필드는 PVR 어시스트 정보를 포함할 수 있다. 여기서, 프라이빗 데이터 바이트 필드는 어댑테이션 필드에 포함되고, 수 개의 데이터 필드를 포함할 수 있다. 상술한 수 개의 데이터 필드 중 하나의 데이터 필드는 PVR 어시스트 정보를 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 비디오 스트림은 하나 이상의 템포럴 서브 레이어를 포함할 수 있고, 여기서 템포럴 서브 레이어는 픽처들의 집합을 나타낼 수 있다. 본 발명의 일 실시예에 따른 인코딩된 비디오 데이터를 포함하는 NAL 유닛의 헤더는 템포럴 식별 플러스 정보를 포함할 수 있다. 여기서 템포럴 식별 플러스 정보는 템포럴 식별 정보에 1을 더한 값을 나타낼 수 있고, 템포럴 식별 정보는 템포럴 서브 레이어를 식별하는 정보를 포함할 수 있다. 본 발명의 일 실시예에 따른 템포럴 식별 플러스 정보는 템포럴 서브 레이어를 식별하기 위해 사용될 수 있다. 템포럴 서브 레이어는 temporal sub-layer로, 템포럴 식별 정보는 temporal id로, 템포럴 식별 플러스 정보는 nuh_temporal_id_plus1으로 명명될 수 있다.
본 발명의 또 다른 일 실시예에 따르면, PVR 어시스트 정보는 비디오 스트림의 최대 템포럴 식별 정보 값을 나타내는 최대 템포럴 식별 정보를 포함할 수 있다. HEVC로 인코딩된 비디오 스트림은 여러 개의 템포럴 서브 레이어를 가질 수 있고 각 템포럴 서브 레이어는 템포럴 식별 정보에 의해 식별될 수 있다. 본 발명의 일 실시예에 따른 최대 템포럴 식별 정보는 여러 개의 템포럴 서브 레이어 중에 최대 템포럴 식별 정보를 갖는 템포럴 서브 레이어의 템포럴 식별 정보를 의미할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 최대 템포럴 식별 정보는 0 내지 6 중 어느 하나의 값을 가질 수 있다. 따라서, 본 발명의 또 다른 일 실시예에 따라 템포럴 식별 정보 값이 tier 넘버와 일대일 매칭되는 경우 기존에 정의되어 있던 tier 넘버의 범위 내에서 매칭될 수 있다. 기존에 tier 넘버는 0부터 7까지 정의되어 있다.
본 발명의 또 다른 일 실시예에 따르면, 최대 템포럴 식별 정보는 트릭 플레이의 속도에 대한 정보를 제공하는데 사용될 수 있다. 최대 템포럴 식별 정보는 트릭 플레이의 최대 배속에 대한 정보를 시그널링할 수 있다. 본 발명의 일 실시예는 각 템포럴 식별 정보에 해당하는 트릭 플레이 배속을 시그널링할 수 있다. 최대 템포럴 식별 정보를 시그널링함으로써, 본 발명의 일 실시예는 사용자에게 서비스가 가능한 최대 배속 정보를 알려줄 수 있으며 사용자의 요청을 받아 트릭 플레이의 배속을 결정하여 결정된 배속을 제공할 수 있다. 이에 대한 상세한 설명은 도 33, 38에서 전술하였다.
본 발명의 또 다른 일 실시예에 따르면, PVR 어시스트 정보는 최대 템포럴 식별 정보의 포함 여부를 나타내는 템포럴 식별 플래그 정보를 포함할 수 있고 여기서, 템포럴 식별 플래그 정보는 최소한 RAP 마다는 제공될 수 있다. 템포럴 식별 플래그 정보는 PVR_assist_temporal_id_info_present_flag로 명명될 수 있다. 템포럴 식별 플래그 정보는 PVR 어시스트 정보 내에 최대 템포럴 식별 정보가 포함되어 있으면 1 값을 가질 수 있다. AVC 스트림인 경우, 템포럴 식별 플래그 정보는 0 값을 가질 수 있다. 본 발명의 일 실시예는 템포럴 식별 플래그 정보를 RAP 마다 제공함으로써 최대 템포럴 식별 정보를 RAP 마다 시그널링할 수 있다. 이에 따라, 본 발명의 일 실시예는 트릭 플레이의 최대 배속 정보를 RAP 마다 시그널링할 수 있다. 이에 대한 상세한 설명은 도 32, 38에서 전술하였다.
도 41은 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치 (41010)는 수신부 (41020), 역다중화부 (41030) 및/또는 디코더 (41040)을 포함할 수 있다.
수신부는 방송 신호를 수신할 수 있다.
역다중화부는 수신한 방송 신호를 역다중화하여 비디오 스트림을 추출할 수 있다. 여기서, 비디오 스트림은 비디오 스트림의 최대 템포럴 식별 정보 값을 가지는 PVR 어시스트 정보를 포함할 수 있다.
디코더는 상술한 PVR 어시스트 정보를 기초로 하여 추출된 비디오 스트림을 디코딩하고 비디오 데이터의 트릭 플레이를 수행할 수 있다.
이 도면에 도시된, 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구성 중 도 36에 도시된 방송 신호 수신 장치의 구성과 동일한 명칭을 가진 구성은 도 36에 도시된 방송 신호 수신 장치의 구성과 동일한 기능을 수행할 수 있다.
이 도면에 도시된, 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구성 중 도 40에 도시된 방송 신호 송신 방법의 과정과 대응되는 구성은 도 40에 도시된 방송 신호 송신 방법의 과정과 대응되는 기능을 수행할 수 있다.
이하에서는, 위와 같이 신호 전송을 위한 PES 레벨 이외에 비디오 데이터 레벨에서 트릭 플레이를 효율적으로 할 수 있는 실시예를 개시한다.
위에서 개시한 실시예에 따르면, 비디오 전송 단계에서 비디오 트릭 플레이를 효율적으로 수행할 수 있도록 트릭 플레이에 대한 정보를 송수신할 수 있다.
그러나 위의 개시한 실시예와 별개로 또는 위에서 개시한 실시예에 추가하여 비디오 데이터 레벨에서 트릭 플레이를 위한 정보를 미리 시그널링하도록 하면 비디오 디코더가 미리 트릭 플레이에 대한 정보를 얻고 트릭 플레이를 효율적으로 수행할 수 있다.
이하 본 발명의 용이하게 설명할 수 있는 실시예를 도면을 참조하여 설명한다.
도 42는 본 발명에 따른 신호 송수신 방법의 일 실시예를 예시한 도면이다.
비디오 소스 데이터를 인코딩한다(S110).
비디오 소스 데이터를 인코딩하는 방식으로 AVC 나 HEVC를 사용할 수 있다.
예를 들어 HEVC 인코딩된 비디오 스트림은 그 비디오 데이터의 픽쳐 정보를 가지는 SEI (Supplemental Enhancement Information) 메시지(message)를 포함할 수 있다.
HEVC인코딩된 비디오 데이터 스트림의 트릭 플레이를 위해 HEVC 비디오 데이터의 SEI 메시지에 GOP(Group of Picture) 메타데이터를 포함할 수 있다. HEVC 비디오 데이터는 코딩 슬라이스 세그먼트 NAL(Network Abstraction Layer) 유닛 또는 그 서브 유닛을 포함하는 VCL 데이터 (video coding layer (VCL) NAL unit)을 전송할 수 있는데, SEI 메시지가 GOP 메타데이터를 포함하면 VCL 데이터 이전에 픽쳐에 대한 정보를 시그널링할 수 있어 효율적인 트릭 플레이가 가능하다.
SEI 메시지 내 GOP 메타데이터는 총 GOP 개수, GOP 사이즈, GOP를 구성하는 각 picture의 picture type, 템퍼럴 아이디(temporal ID) 및 템퍼럴 서브 레이어 픽쳐 정보(temporal sub-layer의 picture type) 등을 포함할 수 있다.
SEI 메시지(message)에 GOP 메타데이터를 포함한 비디오를 전송한다(S120).
이와 같이 전송한 비디오 데이터를 수신하여 플레이하는 경우 다음과 같은 방법을 사용할 수 있다.
인코딩된 비디오 데이터를 수신한다(S210).
수신한 비디오의 SEI 메시지를 파싱하여 GOP(Group of Picture) 메타데이터를 얻는다(S220). 이 경우 비디오의 SEI 메시지의 GOP(Group of Picture) 메타데이터로부터 비디오 데이터의 총 GOP 개수, GOP 사이즈, GOP를 구성하는 각 picture의 picture type, 템퍼럴 아이디(temporal ID) 및 템퍼럴 서브 레이어 픽쳐 정보(temporal sub-layer의 picture type) 등을 얻을 수 있다.
SEI 메시지를 파싱하여 얻은 GOP(Group of Picture) 메타데이터를 이용하여 인코딩된 비디오 소스 데이터를 디코딩한다(S230). 이 경우 SEI 메시지의 GOP(Group of Picture) 메타데이터를 이용하여, 비디오 소스 데이터의 픽쳐를 필터링하여 필터링된 픽쳐 들을 이용하여 트릭 플레이를 수행할 수 있다. 이와 같이 비디오의 SEI 메시지에 포함된 GOP(Group of Picture) 메타데이터의 픽쳐 정보와 인코딩된 비디오 데이터의 픽쳐의 포인터(또는 비디오 인덱스)를 이용하면 효율적인 트릭 플레이를 수행할 수 있다. 즉, 비디오 디코더는, 비디오 파서가 SEI 메시지를 파싱하여 얻은 메타데이터를 이용하여 비디오 소스의 픽쳐 포인터를 이용하여 필터링된 픽쳐를 디코딩하기 때문에 트릭 플레이를 효율적으로 수행할 수 있다.
도 43은 본 발명의 실시예에 따라 비디오 데이터를 인코딩할 경우 GOP (Group of Picture)를 구조를 예시한 도면이다. 이 도면을 참조하여 본 발명의 일 실시예를 설명하면 다음과 같다.
비디오 소스 데이터를 인코딩하여 출력할 경우, GOP 단위로 비디오 데이터를 전송할 수 있다.
이 예는 GOP 단위로 전송되는 비디오 데이터의 일 예인데 이 도면의 최상위에 GOP-1, GOP, GOP+1은 각각 시간 순서에 따른 GOP가 전송되는 것을 나타내고, 이 도면은 NAL unit header의 최대 temporal_id 가 2이고, GOP 사이즈가 24인 경우를 나타낸다.
GOP는 하나 이상의 타입의 픽쳐의 집합을 나타내는데, GOP는 I, P, B 의 여러 개의 픽쳐 타입을 포함할 수 있다.
이 도면에서 GOP 내의 픽쳐 타입과 디스플레이 순서를 함께 표시하여 디스플레이되는 픽쳐의 순서를 I1, B2, B3, B4, P5, B6, B7, P9, B10, B11, B12..로 예시하였다.
그러나 비디오 인코딩의 참조 관계로 인해 GOP 내의 디코딩 순서는 I1, P5, B3, B2, B4, P9, B7, B6..의 예시한 바와 같이 디스플레이 순서와는 다른 순서를 갖는다.
코딩된 슬라이스 세그먼트가 IRAP (intra random access point) 픽쳐에 포함될 경우, Temporal_Id는 0의 값을 갖는다. 이 예에서 I1, P5, P9, P13, P17, P21은 Temporal_Id가 0의 값을 갖는다.
B3, B7, B11, B15, B19, B23은 디코딩 순서에서 Temporal_Id가 0인 픽쳐들만 이용하는 픽쳐들로서, Temporal_Id가 1의 값을 갖는다.
그리고, B2, B4, B6, B8, B10, B12, B14, B16, B18, B20, B22 및 B24은 의 디코딩 순서에서 Temporal_Id가 0과 1인 픽쳐들을 이용하는 픽쳐들로서 Temporal_Id가 2의 값을 갖는다.
본 발명의 실시예에서 GOP를 구성하는 각 픽쳐는 각각의 temporal ID, picture type, 템퍼럴 서브 레이어 픽쳐 타입 정보(temporal_sub_layer_picture_type) 및 dependency level 정보를 포함할 수 있는데, 비디오 스트림을 구성하는 전체 GOP의 개수와 GOP의 각 picture의 정보를 SEI message를 통해 우선적으로 시그널링 할 수 있다. 이에 대해 상술하면 다음과 같다.
도 44는 본 발명의 실시예에 따라 송수신되는 비디오 데이터의 신택스의 일 예를 예시한 도면이다.
본 발명의 실시예에 따라 인코딩된 비디오 데이터, 특히 HEVC를 이용하여 인코딩된 비디오 데이터의 SEI 메시지에 GOP의 metadata 정보가 포함될 수 있다.
예를 들어 SEI 메시지의 payloadType 이 특정 payladType 인 경우 (payloadType = = xxx), SEI 메시지는 트릭 플레이 서비스를 위한 GOP 메타데이터 정보(trickplay_service_GOP_metadata_info (payloadSize))를 포함할 수 있다. 이 정보는 비디오 엘레먼트의 SEI 메시지 중 SEI RBSP (raw byte sequence payload)에 포함될 수 있다.
수신기의 디코더 내에 비디오 파서는, 비디오 데이터의 HEVC NAL unit을 파싱(parsing)하였을 때 nal_unit_type 값이 SEI 데이터에 해당하는 값이고 payloadType이 특정 값인 경우 비디오 데이터의 SEI message내에서 트릭플레이 서비스를 위한 GOP 메타데이터 정보(tricklplay_service_GOP_metadata_info) 를 얻을 수 있다 이 때, payloadType은 0보다 큰 정수 값을 가질 수 있다.
수신기의 디코더의 비디오 파서는 트릭플레이 서비스를 위한 GOP 메타데이터 정보(tricklplay_service_GOP_metadata_info() )를 디코딩하여 비디오 데이터의 트릭플레이를 위한 GOP의 metadata 정보를 획득할 수 있다. 도 42는 본 발명에 따른 신호 송수신 방법의 다른 일 실시예를 개시한다.
비디오 데이터를 인코딩한다(S110).
비디오 데이터를 인코딩하는 방식으로 AVC 나 HEVC를 사용할 수 있다.
인코딩한 비디오 데이터를 포함하는 파일 포맷을 인코딩한다(S120).
예를 들어 인코딩된 파일 포맷은 Base Media File Format 또는 Common File Format 와 같은 형식을 따를 수 있다. 인코딩된 파일 포맷은 트릭 플레이에 필요한 픽쳐 정보를 가지는 프리 필터링 정보를 포함할 수 있는데 이에 대해서는 도 46 내지 도 48에서 예시한다.
예를 들어 프리 필터링 정보는 비디오데이터에 포함된 픽쳐(또는 샘플)에 대한 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함할 수 있다. 따라서, 파일 포맷이 전송될 경우, 시스템 레벨에서 트릭 플레이에 필요한 픽쳐를 필터링할 수 있는 정보를 전송할 수 있다. 만약 수신 장치가 이를 이용하여 비디오데이터에 포함된 픽쳐들을 필터링하고, 트릭플레이에 포함된 픽쳐들만 디코딩한다면 트릭 플레임에 따른 픽쳐들의 고속 전송이 불필요하므로 시스템 성능을 높일 수 있다.
상기 인코딩된 파일 포맷을 포함하는 데이터를 전송한다(S130).
데이터를 전송하기 위해 서버에 저장하거나 스트리밍으로 전송할 수 있다. PES 형식으로 데이터를 전송할 경우, 트릭 플레이를 효율적으로 구현하기 위해 도 1 내지 도 41에서 예시한 바와 같이 PES 패킷은 PES 레벨의 정보를 포함할 수 있다.
이와 같이 전송한 비디오 데이터를 수신하여 플레이하는 경우 다음과 같은 방법을 사용할 수 있다.
인코딩된 비디오 데이터를 포함한 파일 포맷 형식의 데이터를 수신한다(S210). 수신된 데이터는 수신 장치에 임시 저장할 수 있다. PES 형식으로 데이터를 수신할 경우, 트릭 플레이를 효율적으로 구현하기 위해 도 1 내지 도 41에서 예시한 바와 같이 PES 패킷은 PES 레벨의 정보를 포함할 수 있다.
상기 수신된 데이터를 파싱한다(S220).
수신된 데이터에 포함된 파일 포맷 형식의 데이터는 Base Media File Format 또는 Common File Format 와 같은 형식을 따를 수 있다. 수신된 데이터를 파싱할 경우 예를 들어 Base Media File Format 또는 Common File Format 와 같은 movie box (‘moov’) 또는 movie fragment box (‘moof’)의 박스 정보로부터 인코딩된 비디오데이터에 대한 프리 필터링 정보를 얻을 수 있다 프리 필터링 정보는 픽쳐(또는 샘플)에 대한 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)를 포함할 수 있다.
따라서, 파일 포맷 형식의 데이터로부터 프리 필터링 정보를 얻고, 상기 인코딩된 비디오 데이터의 픽쳐들을 필터링할 수 있다. 그리고 인코딩된 비디오 데이터를 고속으로 배속할 경우, 시스템 레벨에서 프리 필터링 정보를 이용하여 인코딩된 비디오 데이터의 픽쳐들을 필터링하여 비디오디코더로 전달할 수 있다.
프리 필터링 정보를 이용해 필터링된 비디오데이터를 디코딩하여 트릭 플레이를 수행한다(S230).
따라서, 시스템 레벨에서 프리 필터링 정보를 이용하여 비디오 디코딩 시에 트릭 플레이를 효율적으로 수행할 수 있다.
도 43은 본 발명의 실시예를 기술하기 위해 랜덤 액세스 포인트(random access point)와 GOP(Group of Picture) 의 구성 예를 나타낸 도면이다.
비디오 소스 데이터를 인코딩하여 출력할 경우, GOP 단위로 비디오 데이터를 전송할 수 있다.
이 예는 GOP 단위로 전송되는 비디오 데이터의 일 예인데 이 도면의 최상위에 GOP-1, GOP, GOP+1은 각각 시간 순서에 따라 GOP들이 전송되는 예을 나타내고, 이 도면은 Temporal_id 가 0, 1, 2, 3의 네 가지에 해당하는 경우를 나타낸 것이다. 그리고, 괄호안이 숫자는 각 픽처에 해당하는 Temporal ID를 의미한다. RAP 또는 GOP 구성은 비디오 데이터의 인코딩 방식에 따라 달라질 수 있다.
GOP는 하나 이상의 타입의 픽쳐의 집합을 나타내는데, GOP는 I, P, B 의 여러 개의 픽쳐 타입을 포함할 수 있다.
이 도면에서 GOP-1, GOP, GOP+1은 각각 RAP 를 포함할 수도 있고, 그렇지 않을 수도 있다. 이 예는 GOP들 내의 픽쳐 타입과 디스플레이 순서를 함께 표시하여 디스플레이되는 픽쳐의 순서를 I1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22, B23, B24, I25로 예시하였다.
그러나 비디오 인코딩의 참조 관계로 인해 GOP 들내의 디코딩 순서는 I1, B9, P5, B3, B2, B4, B7, B6, B8, B17, B13, B11, B10, B12, B15, B16, B14, B16, I25, B21, B19, B18, B20, B23, B22, B24의 순으로 디코딩되고, 이 디코딩 순서는 디스플레이 순서와는 다른 순서를 갖는다. 이 도면에서 괄호() 안의 숫자는 해당 temporal ID를 의미한다.
코딩된 슬라이스 세그먼트가 IRAP (intra random access point) 픽쳐에 포함될 경우, Temporal_Id는 0의 값을 갖는다. 이 예에서 I1, B9, B17, I25은 Temporal_Id가 0의 값을 갖는다.
이 예에서 B5, B13, B21은 Temporal_Id가 1인 픽쳐이고, B3, B7, B11, B15, B19, B23은 Temporal_Id가 2인 픽쳐이고, B2, B4, B6, B8, B10, B12, B14, B16, B18, B20, B22, B24는 Temporal_Id가 2인 픽쳐이다.
여기서 GOP-1는 I1, B2, B3, B4, B5, B6, B7, B8의 픽쳐를 가지고 있고, GOP는 B9, B10, B11, B12, B13, B14, B15, B16의 픽쳐를 포함하고 있고, GOP+1는 B17, B18, B19, B20, B21, B22, B23, B24의 픽쳐를 가지고 있다고 가정한다. 이 예에서 I1 및 I25는 RAP이고, Temporal_Id가 0인 픽쳐임을 나타내었다. RAP와 GOP 구성은 encoding 방법에 따라 달라질 수 있다.
본 발명의 일 실시예에 따라 8배속의 트릭 플레이는 Temporal_Id가 0인 픽쳐를 이용할 수 있다. 이 경우 GOP 마다 Temporal_Id가 0인 1개의 픽쳐를 이용하여 트릭 플레임를 수행할 수 있다. 4배속의 트릭 플레이는 Temporal_Id가 0, 1인 픽쳐를 이용할 수 있다. 2배속의 트릭 플레이는 Temporal_Id가 0, 1, 2인 픽쳐를 이용할 수 있고, 1배속의 트릭 플레이는 Temporal_Id가 0, 1, 2, 3인 픽쳐를 이용할 수 있다. 본 발명의 일 실시예는 트릭플레이에 필요한 픽쳐에 대한 정보를 픽쳐를 디코딩하기 이전의 시스템 레벨에서 이용하여 트릭플레이에 필요한 픽쳐들만 디코딩하도록 하여 트릭 플레이에 대한 시스템 성능을 높일 수 있다.
도 44는 수신 장치의 일 예로서, 디코딩 순서에 따라 GOP 내 픽쳐들을 디코딩하는 방법을 예시한 도면이다.
수신 장치(Receiver)는 파일 컨트롤 모듈(410), 콘텐츠 파서(420) 및 비디오디코더(430)를 포함할 수 있다. 그리고 수신 장치는 암호화 모듈(405)과 비디오 프로세싱부(435)를 추가로 포함할 수도 있다.
외부저장장치(external storage) 또는 외부 서버(external server)는 위예서 예시한 GOP 구조를 포함하는 비디오 데이터를 수신 장치는 제공할 수 있다. 수신 장치는 외부저장장치(external storage)로부터 파일 형식의 비디오 데이터(HD 또는 4K, 8K UHD 비디오데이터)를 읽거나 또는 외부 서버(external server)로부터 스트리밍 형식의 비디오 데이터를 수신할 수 있다. 비디오 데이터는 위에서 예시한 GOP 구조를 포함할 수 있다.
파일 컨트롤 모듈(410)는 외부저장장치(external storage) 또는 외부 서버(external server)로부터 읽거나 수신한 비디오 데이터 파일 또는 스트리밍 데이터를 임시 저장할 수 있다. 이 경우 파일 컨트롤 모듈(410)는 수신되는 스트리밍을 제어할 수 있고, 버퍼를 이용해 비디오 데이터의 임시 저장을 제어할 수 있다.
암호화 모듈(405)은 파일 컨트롤 모듈(410)에 저장하는 파일 또는 스트리밍 데이터가 암호화된 경우 암호화된 데이터를 복호할 수 있다.
콘텐츠 파서 (420)는 파일 컨트롤 모듈(410)이 임시저장하는 비디오 데이터를 파싱하거나 역다중화하고, 파싱하거나 역다중화된 비디오 데이터를 비디오디코더 (430)에 전달할 수 있다.
UHD 콘텐츠와 같은 고화질 비디오 데이터의 경우 트릭 플레임의 배속 기능을 이용하면, 정상 배속 스트림의 2배, 4배, 8배의 속도로 스트림을 전송해야 하므로. 비디오 데이터의 전송 속도는 비디오디코더까지 전달되는 최대 전송 비트레잇을 넘을 수 있다. 따라서, 이런 경우 비디오 데이터의 트릭 플레이가 정상적으로 수행되기 어려워 수신 장치의 비디오 디코딩 플레이 성능이 저하될 우려가 있다.
비디오 프로세싱부(435)는 비디오디코더(430)가 복호한 비디오 데이터에 대해 스케일링 등의 후처리를 수행하여 콘텐츠 화질이 더욱 자연스럽게 표출될 수 있도록 할 수 있다.
수신되는 비디오데이터는 파일 형식을 포함한 PES 형식으로 수신될 수도 있다. 이 경우 도 1 내지 도 41에서 예시한 바와 같이 PES 레벨의 정보를 이용하여 트릭 플레이를 수행할 수도 있다.
도 45는 본 발명의 실시예로서, GOP 메타데이터를 이용하여 트릭 플레이를 수행하도록 하는 실시예를 예시한 도면이다. 위에서 예시한 도면과 동일한 GOP 구조를 가진 비디오 데이터와 동일한 환경에서 트릭플레이를 수행하는 경우, 시스템 레벨에서 정보를 이용하여 고속 배속 기능을 구현할 수 있는 실시예를 개시하면 다음과 같다.
수신 장치(Receiver)의 일 실시예는 파일 컨트롤 모듈(410), 콘텐츠 파서(420) 및 비디오디코더(430)를 포함할 수 있다. 그리고 수신 장치 의 일 실시예는 암호화 모듈(405)와 비디오 프로세싱부(435)를 추가로 포함할 수 있다.
위예서 설명한 바와 같이 이 실시예의 콘텐츠 파서(420)는 파일 컨트롤 모듈(410)이 임시저장하는 비디오 데이터를 파싱하거나 역다중화하고, 파싱하거나 역다중화된 비디오 데이터를 비디오디코더 (430)에 전달할 수 있다. 이 경우 콘텐츠 파서(420)는 수신 데이터를 디멀티플레싱하여 콘텐츠의 파싱 정보 또는 시그널링 정보를 미리 얻을 수 있다. 이 경우 콘텐츠 파서(420)는 트릭 플레이를 위한 픽쳐를 미리 필터링을 할 수 있는 프리필터링정보를 얻고,, 고속 배속 기능에 필요한 픽쳐들만 비디오디코더(430)에 전달할 수 있다.
프리필터링 정보는 GOP의 시작 또는 끝 포인트 정보, GOP 픽쳐타입, 또는 참조(reference) 여부에 대한 정보를 포함할 수 있다. 콘텐츠 파서(420)는 프리필터링 정보를 포함하는 픽쳐들의 메타데이터를 이용하여 고속 배속 시에 재생에 필요한 GOP의 픽쳐만을 우선적으로 필터링한 후 필터링된 픽쳐들만 비디오디코더(430)로 전송한다.
따라서, 비디오디코더(430)가 고속 배속 기능을 수행할 경우, 프리필터링된 픽쳐만을 복호하여 최대 전송 비트레잇의 한계가 있더라도 시스템 성능에 무리가 되지 않도록 트릭 플레이를 수행할 수 있다
이하에서는 위에서 예시한 프리필터링 정보의 상세한 예를 기술한다.
도 46은 위에서 예시한 프리필터링 정보의 예를 개시한다. 도 46에서 예시한 프리필터링 정보의 예는 HEVC와 같은 인코딩 방식에 의한 비디오데이터가 GOP 내에 여러 개의 픽쳐를 포함하는 구조를 포함할 경우, 고속 배속 기능을 위해 필요한 기능을 예시한 도면이다.
먼저 샘플 카운트 정보(sample_count)는 비디오데이터에 포함되는 픽쳐의 번호에 해당하는 번호이다.
전송단위타입정보(NAL_unit _type)는 예를 들어 AVC 또는 HEVC 코덱에서 정의될 수 있는 NAL_unit_type에 대응될 수 있다.
참조여부정보(Ref/Non-Ref picture)는 픽쳐가 디코딩될 경우 다른 픽쳐를 참조해야 하는지에 대한 정보를 나타낸다.
그리고, 템포럴아이디정보(Temporal ID)는 HEVC에서 nuh_temporal_id_plus1을 이용해 계산된 temporalID (즉, temporalId = nuh_temporal_id_plus1 ? 1)와 동일한 값을 가질 수 있다.
본 발명의 실시예는 코딩된 비디오 데이터에 포함될 수 있는 이와 같은 정보를 비디오데이터 레벨이 아닌 시스템 레벨에서 전송하여 트릭 플레이를 수행하도록 할 수 있다. 이 도면에서 개시한 프리필터링 정보의 예가 포함될 수 있는 구체적인 정보를 개시하면 다음과 같다.
도 47은 예시한 프리필터링 정보의 예를 포함할 수 있는 파일 전송 박스의 일 예를 개시한 도면이다. 예를 들어 예시한 박스는 Base Media File Format 또는 Common File Format 등이 정의하는 형식에 따라 전송될 수 있다.
예를 들어 프리필터링 정보의 예는 Common File Format (CFF)의 경우 movie box (‘moov’) 또는 movie fragment box (‘moof’) 내에 포함되어 전송될 수 있다. 이 실시예에서 개시한 신규박스의 명칭은 예시적은 것으로 변경이 가능한다.
예를 들어 movie box (‘moov’)는 프레젠테이션을 위한 메타데이터를 정의하는 서브 박스들을 포함할 수 있다.
예시한 파일 포맷의 박스 정보(‘gsin’ box)의 구조를 설명하면 다음과 같다.
해당 박스 정보는 위에서 개시한 샘플 카운트 정보(sample_count)를 포함하고, 각 샘플 카운트에 따라 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)를 포함할 수 있다.
구체적인 프리 필터링 프로세스를 설명하면 다음과 같다.
비디오데이터가 BMFF 또는 CFF의 movie box 또는 movie fragment box의 형식에 포함되어 전송될 경우, movie box 또는 movie fragment box는 예시한 박스 정보(‘gsin’ box)를 포함할 수 있다.
수신 장치는 파일 포맷 형식으로 전송되는 비디오데이터를 읽을 경우, 예시한 파일 포맷 형식으로부터 비디오데이터에 포함된 픽쳐(또는 샘플)에 대한 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)를 추출하여 저정할 수 있다. 이러한 정보는 시스템 레벨에서 파일 컨트롤 모듈이 파일 포맷으로부터 추출하여 저장할 수 있다.
그리고, 고속 배속 기능을 수행해야 할 경우, 비디오디코더가 비디오데이터를 복호하기 이전에 시스템 레벨에서 콘텐츠 파서가 위의 프리 필터링 정보를 이용하여 비디오데이터를 필터링한다. 비디오데이터를 필터링할 경우, 콘텐츠 파서는 비디오데이터에 포함된 각 픽쳐들의 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)를 이용하여 배속 재생에 필요하지 않은 픽쳐들이나 참조에 필요없는 픽쳐들을 미리 필터링하여 비디오디코더로 전달할 수 있다.
따라서, 고속 재생에 불필요한 픽쳐들을 시스템 레벨에서 미리 필터링되고, 비디오디코더는 필터링이후에 픽쳐들만 수신하여 복호하여, 비디오디코더 이전의 시스템 레벨에서 비디오데이터를 고속으로 전달 및 처리해야 하는 과정이 줄어들 수 있고, 이로 인해 수신 장치 전체의 성능이 저하하는 문제를 해결할 수 있다.
도 48은 위에서 예시한 프리필터링 정보의 예를 포함할 수 있는 파일 전송 박스의 다른 일 예를 개시한 도면이다. 예를 들어 이 도면에서 예시한 박스정보(‘trik’ box)는, Base Media File Format 또는 Common File Format 의 movie box (‘moov’) 또는 movie fragment box (‘moof’)에 포함되어 전송될 수 있다.
여기서, 샘플 카운트 정보(sample_count)는 비디오데이터에 포함되는 픽쳐의 번호를 나타낸다.
만약 고속 배속이 불필요하거나 필터링이 필요없는 경우라면(flags = 0, 확인필요), 콘텐츠 파서는 시스템레벨에서 파일 포맷으로부터 픽쳐타입정보(pic_type)와 디펜던시레벨정보(dependency_level)을 얻을 수 있다.
픽쳐타입정보(pic_type)는 HEVC의 NAL_unit_type 중, 트릭플레이에 이용될 수 있는 일부 nal_unit_type을 선택하여 pic_type으로 구성할 수 있다
예를 들어, 픽쳐타입정보(pic_type)의 값에 따라 픽쳐타입정보(pic_type)는, 관련된 leading picture를 갖지 않는 IDR 픽처(HEVC의 IDR_N_LP), 관련된 decodable leading picture를 갖는 IDR 픽처(HEVC의 IDR_N_LP), 관련된 leading picture를 갖는 BLA 픽처(HEVC의 IDR_W_RADL) 등을 나타낼 수 있다. 또는 픽쳐타입정보(pic_type)의 값에 따라 픽쳐타입정보(pic_type)는, 관련된 RADL 픽처를 갖지만 관련된 RASL 픽처를 갖지 않는 BLA 픽처(HEVC의 BLA_W_RADL), 관련된 RADL 픽처 및 RASL 픽처를 갖는 BLA 픽처(HEVC의 BLA_W_LP), 관련된 leading picture를 갖는 CRA 픽처(HEVC의 CRA_NUT), RADL (Random Access Decodable Leading Picture) 픽처(HEVC의 RADL_R), RASL (Random Access Skipped Leading Picture) 픽처(HEVC의 RASL_N 또는 RASL_R), pic_type은 정해지지 않은 I 픽처(HEVC의 IDR_N_LP), unknown 값 등을 나타낼 수 있다.
디펜던시레벨정보(dependency_level)는 GOP 내 각 picture 의 의존도의 크기를 나타내는 정보를 나타내는데 이에 대한 값을 예시하면 다음과 같다. 예를 들어 디펜던시레벨정보(dependency_level)는 비디오 샘플의 dependency_level이 알려지지 않았음을 나타내거나, 비디오 샘플이 이 값보다 큰 dependency_level 필드를 가진 비디오 샘플에 의존하지 않는다는 것을 나타낼 수 있다(This sample does not depend on samples with a greater dependency_level values than this one).
만약 고속 배속이 수행되거나 필터링이 필요한 경우라면(flags 0이 아님 확인필요), 콘텐츠 파서는 시스템레벨에서 파일 포맷으로부터 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type), 최대템퍼럴아이디정보 (max_temporal_ID), 템퍼럴아이디정보 (temporal_ID) 등의 정보를 얻을 수 있다.
템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type) 는 Temporal ID를 가지는 픽쳐들 중 어댑티브(adaptive)하게 변경할 수 있는 서브 레이어 픽쳐 타입을 구분하는 정보이다.
최대템퍼럴아이디정보 (max_temporal_ID)는 비디오 스트림에 포함된 최대 temporal_id 값을 나타낼 수 있다.
템퍼럴아이디정보 (temporal_ID)는 설명한 바와 같이 HEVC에서 nuh_temporal_id_plus1을 이용해 계산된 정보이다.
템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)가 TSA 또는 STAS를 나타내는지 여부에 따라, 다음템퍼럴아이디정보(next_temporal_id)을 각각 얻을 수 있다.
만약 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)가 TSA를 나타내면, 다음템퍼럴아이디정보(next_temporal_id)는 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)에 따라 최대로 변경 가능한 frame rate를 알려주기 위하여, 이동 가능한 템퍼럴아이디정보 (temporal_ID)를 나타낼 수 있다.
예를 들어, 최대템퍼럴아이디정보 (max_temporal_ID)가 2인 스트림에서, 템퍼럴아이디정보가 0인 픽처만을 디스플레이하는 4배속의 트릭 플레이를 제공하다가 정상배속 (1배속)으로 되돌리고자 할 때, 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)가 TSA이면 다음템퍼럴아이디정보(next_temporal_id)는 최대템퍼럴아이디정보 (max_temporal_ID)값을 가질 수 있다.
반면, 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)가 STSA이면 다음템퍼럴아이디정보(next_temporal_id)는 템퍼럴아이디정보 (temporal_ID)값에서 1을 더한 값을 가질 수 있다.
그리고, 템퍼럴 서비스 레이어 픽쳐 타입 정보 (temporal_sub_layer_pic_type)가 TSA 또는 STAS 가 아닌 경우 예시한 박스정보(‘trik’ box)는 디펜던시레벨정보(dependency_level)을 가질 수 있다.
파일 컨트롤 모듈은 비디오데이터를 전송하는 파일 포맷의 형식, 예를 들어 BMFF 또는 CFF의 movie box 또는 movie fragment box가 여기서 예시한 박스 정보(trick play box)를 포함할 경우 이 박스 정보로부터 각 픽쳐 또는 샘플로부터 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)를 추출하여 저장할 수 있다.
그리고, 수신장치가 고속 배속 기능을 수행할 경우, 비디오디코더가 비디오데이터를 복호하기 이전에 콘텐츠 파서는 시스템 레벨에서 위의 프리 필터링 정보를 이용하여 비디오데이터를 필터링한다.
수신 장치의 콘텐츠 파서는 트릭 플레이로 비디오데이터가 재생될 경우 시스템 레벨에서 각 픽쳐의 템퍼럴아이디정보 (temporal_ID)와 전송단위타입정보(NAL_unit _type)를 이용하여 원하는 배속 재생에 필요하지 않은 픽쳐들이나 참조시에 필요하지 않은 픽쳐(non-reference picture)를 미리 필터링한다. 콘텐츠 파서는 예시한 박스 정보를 이용하여 비디오를 구성하는 각 픽쳐 또는 샘플별로 픽쳐타입정보(pic_type)와 템포럴아이디정보(temporal ID)를 부여하여 비디오디코더 이전에 시스템레벨에서 각 픽쳐를 필터링 할 수 있다.
따라서, 비디오디코더는 콘텐츠 파서로부터 트릭 플레이에 필요한 픽쳐들만 전달받고, 이를 이용하여 트릭 플레이를 위한 픽쳐들만을 디코딩할 수 있다.
따라서, 고속 재생에 불필요한 픽쳐들을 시스템 레벨에서 미리 필터링하여 비디오디코더 이전의 비디오데이터를 고속으로 전달 및 처리로 인해 수신 장치 전체의 성능이 저하하는 문제를 해결할 수 있다.
따라서, 본 발명의 실시예에 따르면 트릭 플레이 시에 시스템레벨에서 비디오데이터에 포함되는 모든 픽쳐를 고속으로 전달하여 시스템 성능이 떨어지는 문제점을 해결할 수 있다
도 49는 본 발명에 따른 신호 송신 장치의 일 실시예를 예시한 도면이다. 이 도면을 참조하여 본 발명에 따른 신호 송신 장치의 일 실시예의 동작을 설명하면 다음과 같다.
본 발명에 따른 신호 송신 장치의 일 실시예는 비디오인코더(510), 파일포맷변환부(520) 및 비디오전송부(530)를 포함한다.
비디오인코더(510)는 비디오 데이터를 인코딩한다. 비디오인코더(510)는 비디오 소스 데이터를 인코딩하는 방식으로 AVC 나 HEVC를 이용할 수 있다.
파일포맷변환부(520)는 인코딩한 비디오 데이터를 포함하는 파일 포맷을 인코딩한다. 인코딩된 파일 포맷은 Base Media File Format 또는 Common File Format 와 같은 형식을 따를 수 있다. 인코딩된 파일 포맷은 트릭 플레이에 필요한 픽쳐 정보를 가지는 프리 필터링 정보를 포함할 수 있는데 이에 대해서는 도 46 내지 도 48에서 예시하였다.
예를 들어 프리 필터링 정보는 비디오데이터에 포함된 픽쳐(또는 샘플)에 대한 전송단위타입정보(NAL_unit _type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함할 수 있다. 따라서, 파일 포맷이 전송될 경우, 시스템 레벨에서 트릭 플레이에 필요한 픽쳐를 필터링할 수 있는 정보를 전송할 수 있다. 만약 수신 장치가 이를 이용하여 비디오데이터에 포함된 픽쳐들을 필터링하고, 트릭플레이에 포함된 픽쳐들만 디코딩한다면 트릭 플레임에 따른 픽쳐들의 고속 전송이 불필요하므로 시스템 성능을 높일 수 있다.
인코딩된 비디오 데이터를 포함하는 파일 포맷을 서버에 저장하거나 스트리밍으로 전송한다(S130).
비디오를 전송할 경우, 트릭 플레이를 효율적으로 구현하기 위해 도 1 내지 도 41에서 예시한 바와 같이 PES 레벨에서의 정보를 포함할 수 있다.
본 발명의 실시예에 따르면, 표준화된 인코딩 방식에 따른 스트림, 예를 들어 AVC 또는 HEVC 스트림의 트릭 플레이를 위한 시그널링 정보를 시스템 레벨에서 송수신할 수 있다. 본 발명의 실시예에 따르면 인코딩된 스트림을 트릭 플레이를 시그널링할 경우 확장가능한 방식을 제공할 수 있다. 그리고, HEVC 인코딩된 컨텐츠에 대한 트릭 플레이 방식과 호환되면서도 더 효율적인 트릭 플레이가 가능하도록 할 수 있다.
개시한 실시예에 따르면 HEVC 스트림을 트릭 플레이(trick play)할 경우 시스템 레벨에서 각 픽쳐의 정보를 알 수 있기 때문에 배속 재생 시에 비디오 디코더에 불필요한 프레임을 보내지 않아 내부에서 발생하는 시간 지연과 병목 (bottleneck)현상을 줄일 수 있다.
발명의 실시를 위한 형태
발명의 실시를 위한 형태는 위의 발명의 실시를 위한 최선의 형태에서 함께 기술되었다.
본원 발명은 방송 및 비디오 신호 처리 분야에서 사용 가능하고 반복 가능성이 있는 산업상 이용가능성이 있다.

Claims (12)

  1. 비디오 데이터를 인코딩하는 단계;
    상기 인코딩한 비디오 데이터를 포함하는 파일 포맷으로 인코딩하는 단계, 여기서 상기 파일 포맷은 트릭 플레이를 위한 프리 필터링 정보를 포함하고,
    상기 프리 필터링 정보는, 상기 파일 포맷에 포함되는 박스 정보에 포함되고,
    상기 프리 필터링 정보는, 상기 인코딩된 비디오 데이터의 픽쳐에 대한 전송단위타입정보(NAL_unit_type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함하고; 및
    상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 단계;를 포함하는 신호 송신 방법.
  2. 제 1항에 있어서,
    상기 비디오 데이터는 최대 템포럴 식별 정보 값과, 상기 비디오 데이터의 픽쳐에 대한 티어 넘버(tier number)를 나타내는 티어 넘버 정보를 포함하는 PVR 어시스트 정보를 포함하는 신호 송신 방법.
  3. 제 1항에 있어서,
    상기 파일 포맷은, Base Media File Format 또는 Common File Format을 포함하는 신호 송신 방법.
  4. 제 2항에 있어서,
    상기 PVR 어시스트 정보는, 상기 비디오 데이터의 픽쳐에 대한 템포럴아이디정보를 더 포함하는 신호 송신 방법.
  5. 인코딩된 비디오 데이터를 포함한 파일 포맷 형식의 데이터를 수신하는 단계;
    상기 수신된 데이터를 파싱하는 단계, 여기서 상기 상기 포맷 형식의 데이터로부터 프리 필터링 정보를 얻고, 상기 인코딩된 비디오 데이터의 픽쳐들을 필터링하고,
    상기 프리 필터링 정보는, 상기 파일 포맷에 포함되는 박스 정보에 포함되고,
    상기 프리 필터링 정보는, 상기 인코딩된 비디오 데이터의 픽쳐에 대한 전송단위타입정보(NAL_unit_type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함하고; 및
    상기 필터링되어 전달된 비디오데이터를 디코딩하여 트릭 플레이를 수행하는 단계;를 포함하는 신호 수신 방법.
  6. 제 5항에 있어서,
    상기 비디오 데이터는 최대 템포럴 식별 정보 값과, 상기 비디오 데이터의 픽쳐에 대한 티어 넘버(tier number)를 나타내는 티어 넘버 정보를 포함하는 PVR 어시스트 정보를 포함하는 신호 수신 방법.
  7. 제 5항에 있어서,
    상기 파일 포맷은, Base Media File Format 또는 Common File Format을 포함하는 신호 수신 방법.
  8. 제 6항에 있어서,
    상기 PVR 어시스트 정보는, 상기 비디오 데이터의 픽쳐에 대한 템포럴아이디정보를 더 포함하는 신호 수신 방법.
  9. 비디오 데이터를 인코딩하는 비디오인코더;
    상기 인코딩한 비디오 데이터를 포함하는 파일 포맷으로 인코딩하는 파일포맷변환부, 여기서 상기 파일 포맷은 트릭 플레이를 위한 프리 필터링 정보를 포함하고,
    상기 프리 필터링 정보는, 상기 파일 포맷에 포함되는 박스 정보에 포함되고,
    상기 프리 필터링 정보는, 상기 인코딩된 비디오 데이터의 픽쳐에 대한 전송단위타입정보(NAL_unit_type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함하고; 및
    상기 인코딩된 파일 포맷을 포함하는 데이터를 전송하는 전송부를 포함하는 신호 송신 장치.
  10. 인코딩된 비디오 데이터를 포함한 파일 포맷 형식의 데이터를 수신하는 수신부;
    상기 수신된 파일 포맷 형식의 데이터를 파싱하는 콘텐츠 파서,
    상기 콘텐츠 파서는, 상기 파일 포맷 형식의 데이터로부터 프리 필터링 정보를 얻고,
    상기 프리 필터링 정보는, 상기 파일 포맷에 포함되는 박스 정보에 포함되고,
    상기 프리 필터링 정보는, 상기 인코딩된 비디오 데이터의 픽쳐에 대한 전송단위타입정보(NAL_unit_type) 및 템포럴아이디정보(Temporal ID)의 정보를 포함하고,
    상기 콘텐츠 파서는, 상기 프리 필터링 정보를 이용하여 상기 인코딩된 비디오 데이터의 픽쳐들을 필터링하고; 및
    상기 필터링되어 전달된 비디오데이터를 디코딩하는 비디오디코더;를 포함하는 신호 수신 장치.
  11. 삭제
  12. 삭제
KR1020167014993A 2014-02-03 2015-02-02 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법 KR101819524B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461935293P 2014-02-03 2014-02-03
US61/935,293 2014-02-03
US201461954615P 2014-03-18 2014-03-18
US61/954,615 2014-03-18
US201461970910P 2014-03-27 2014-03-27
US61/970,910 2014-03-27
PCT/KR2015/001068 WO2015115869A1 (ko) 2014-02-03 2015-02-02 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법

Publications (2)

Publication Number Publication Date
KR20160086863A KR20160086863A (ko) 2016-07-20
KR101819524B1 true KR101819524B1 (ko) 2018-01-17

Family

ID=53757372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167014993A KR101819524B1 (ko) 2014-02-03 2015-02-02 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법

Country Status (4)

Country Link
US (1) US10194182B2 (ko)
KR (1) KR101819524B1 (ko)
CN (1) CN105960804B (ko)
WO (1) WO2015115869A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10390047B2 (en) * 2015-01-09 2019-08-20 Sony Corporation Image processing apparatus and image processing method for controlling the granularity in trick play
WO2016127141A1 (en) * 2015-02-05 2016-08-11 Cisco Technology, Inc. Method and system for processing hevc coded video in broadcast and streaming applications
WO2016161268A1 (en) * 2015-04-01 2016-10-06 Enanta Pharmaceuticals, Inc. Hepatitis b antviral agents
EP4258673A3 (en) 2015-10-07 2023-12-13 Panasonic Intellectual Property Management Co., Ltd. Video transmission method, video reception method, video transmission device, and video reception device
KR102413839B1 (ko) * 2017-11-15 2022-06-28 삼성전자 주식회사 컨텐츠 제공장치, 그 제어방법 및 기록매체
CN111131874B (zh) * 2018-11-01 2021-03-16 珠海格力电器股份有限公司 一种解决h.265码流随机接入点播放卡顿的方法、设备及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323822A1 (en) 2008-06-25 2009-12-31 Rodriguez Arturo A Support for blocking trick mode operations
WO2012050405A2 (ko) 2010-10-16 2012-04-19 엘지전자 주식회사 디지털 수신기 및 디지털 수신기에서의 3d 컨텐트 처리방법
WO2013137697A1 (ko) 2012-03-16 2013-09-19 엘지전자 주식회사 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
WO2013187698A1 (ko) * 2012-06-12 2013-12-19 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130209063A1 (en) 2010-08-17 2013-08-15 Lg Electronics Inc. Digital receiver and content processing method in digital receiver
WO2013100641A1 (ko) * 2011-12-27 2013-07-04 엘지전자 주식회사 입체영상 디스플레이가 가능한 디지털 방송 수신방법 및 수신장치
KR20130129080A (ko) * 2012-05-17 2013-11-27 삼성전자주식회사 기록 매체, 기록 매체에 기록된 데이터에 대한 트릭 플레이를 수행하는 기록 매체 재생 장치 및 그 트릭 플레이 방법
US9313486B2 (en) * 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9627001B2 (en) * 2013-08-28 2017-04-18 Cisco Technology, Inc. Support for trick modes in HEVC streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323822A1 (en) 2008-06-25 2009-12-31 Rodriguez Arturo A Support for blocking trick mode operations
WO2012050405A2 (ko) 2010-10-16 2012-04-19 엘지전자 주식회사 디지털 수신기 및 디지털 수신기에서의 3d 컨텐트 처리방법
WO2013137697A1 (ko) 2012-03-16 2013-09-19 엘지전자 주식회사 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
WO2013187698A1 (ko) * 2012-06-12 2013-12-19 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치

Also Published As

Publication number Publication date
US10194182B2 (en) 2019-01-29
US20160323609A1 (en) 2016-11-03
CN105960804B (zh) 2019-10-08
CN105960804A (zh) 2016-09-21
KR20160086863A (ko) 2016-07-20
WO2015115869A1 (ko) 2015-08-06

Similar Documents

Publication Publication Date Title
KR102182166B1 (ko) 트릭 플레이 서비스 제공을 위한 방송 신호 송수신 방법 및 장치
KR101819524B1 (ko) 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법
KR102037009B1 (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
JP5542912B2 (ja) メディア・コンテナ・ファイル管理
KR101792518B1 (ko) 트릭 플레이 서비스 제공을 위한 신호 송수신 장치 및 신호 송수신 방법
US11638066B2 (en) Method, device and computer program for encapsulating media data into a media file
US10999605B2 (en) Signaling of important video information in file formats
US20160099988A1 (en) Indicating Bit Stream Subsets
CN108141614A (zh) 信号传送传输流中的高动态范围和宽色域内容
KR101781886B1 (ko) 디지털 방송 시스템에서 트릭 플레이 서비스를 제공하기 위한 방송 신호 송수신 방법 및 장치
KR101809969B1 (ko) Hevc 스트림의 트릭 플레이 서비스 제공을 위한 방송 신호 송수신 방법 및 장치

Legal Events

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