KR20180004029A - 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치 - Google Patents

고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치 Download PDF

Info

Publication number
KR20180004029A
KR20180004029A KR1020170084093A KR20170084093A KR20180004029A KR 20180004029 A KR20180004029 A KR 20180004029A KR 1020170084093 A KR1020170084093 A KR 1020170084093A KR 20170084093 A KR20170084093 A KR 20170084093A KR 20180004029 A KR20180004029 A KR 20180004029A
Authority
KR
South Korea
Prior art keywords
image
tile
encoded data
tiles
region
Prior art date
Application number
KR1020170084093A
Other languages
English (en)
Other versions
KR101915037B1 (ko
Inventor
임정연
신재섭
류성걸
손세훈
김형덕
이선영
Original Assignee
에스케이텔레콤 주식회사
주식회사 픽스트리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사, 주식회사 픽스트리 filed Critical 에스케이텔레콤 주식회사
Priority to US16/313,623 priority Critical patent/US10743000B2/en
Priority to PCT/KR2017/007028 priority patent/WO2018004317A1/ko
Publication of KR20180004029A publication Critical patent/KR20180004029A/ko
Application granted granted Critical
Publication of KR101915037B1 publication Critical patent/KR101915037B1/ko
Priority to US16/506,217 priority patent/US10893278B2/en

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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • H04N13/0011
    • H04N13/0048
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치를 개시한다.
본 발명에 따른 실시예에 의하면, 대용량의 고해상도 영상 컨텐츠를 효율적으로 전송하기 위하여, 하나의 영상을 영역별로 다른 화질로 부호화함으로써 영상 비트스트림을 생성하는 방법 및 장치를 제공하는 데 주된 목적이 있다.

Description

고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치{Method and Apparatus for Generating Video Bit Stream for Streaming High Resolution Video}
본 발명에 따른 실시예는 대용량의 고해상도 영상 컨텐츠를 효율적으로 스트리밍하기 위하여 영상을 영역별로 차등적 비트레이트로 압축함으로써 영상 비트스트림을 생성하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
종래의 영상 컨텐츠 스트리밍 기술 중 적응적 비트레이트 스트리밍(ABS: Adaptive Bit rate Streaming)에서 부호화 장치는 서비스 별로 요청된 비트레이트(Bit rate)에 상응하도록 영상 컨텐츠를 부호화하여 컨텐츠 전송 네트워크(CDN: Contents Delivery Network)의 스트리밍 서버에게 전송한다. 스트리밍 서버는 사용자 단말장치 및 네트워크 환경에 적합하게 영상 컨텐츠를 전송하기 위하여 하나의 영상 컨텐츠에 대해 비트레이트가 다른 여러 품질로 부호화된 복수 개의 파일을 준비한다.
스트리밍 서버는 일정 시간 간격으로 가변적인 사용자 환경에 따라 다르게 요청되는 비트레이트의 파일을 사용자 단말장치로 스트리밍한다. 예를 들어, 사용자 단말장치는 HD(High Definition)급의 2 Mbps, SD(Standard Definition)급의 1 Mbps 및 LD(Low Definition)급의 0.5 Mbps로 부호화된 비트스트림들 중에서 사용자 환경에 적합한 비트스트림을 1초 단위로 수신하여 재생할 수 있다.
VR(Virtual Reality) 컨텐츠와 같이 고품질의 화질을 요구하는 컨텐츠의 경우, 방대한 데이터량으로 인해 많은 하드웨어 리소스를 필요로 한다. 이러한 대용량 컨텐츠를 스트리밍하기 위해 종래 기술을 이용하는 경우, 동일한 컨텐츠를 여러 가지 품질로 부호화하기 때문에 데이터량이 추가적으로 증가하게 된다. 이에 따라 스트리밍 서버에는 매우 큰 용량의 저장 공간이 요구된다. 따라서, 대용량의 영상 컨텐츠를 효율적으로 스트리밍하기 위해 데이터량을 줄이는 방법이 필요하다.
본 발명의 실시예들은 대용량의 고해상도 영상 컨텐츠를 효율적으로 전송하기 위하여, 하나의 영상을 영역별로 서로 다른 화질로 부호화함으로써 영상 비트스트림을 생성하는 방법 및 장치를 제공하는 데 주된 목적이 있다.
본 발명의 실시예에 의하면, 고해상도 영상 스트리밍을 위한 영상 추출 병합 장치에 있어서, 입력 영상에 대하여 서로 다른 비트레이트로 각각 부호화된 복수의 부호화 데이터를 수신하는 부호화 데이터 수신부; 및 상기 입력 영상에서 상기 입력 영상의 복수의 영역들을 그 중요도에 따라 구분하고, 상기 복수의 영역들 각각에 대하여 상기 복수의 부호화 데이터 중 상기 영역들 각각의 중요도에 상응하는 서로 다른 비트레이트를 갖는 부호화 데이터로부터 해당 영역의 데이터를 추출하고, 복수의 영역에 대응하여 각각 추출된 부호화 데이터를 서로 병합하여 혼합 영상 스트림을 생성하는 영상 생성부를 포함하는 것을 특징으로 하는 영상 추출 병합 장치를 제공한다.
본 발명의 일 실시예에 의하면, 고해상도 영상 스트리밍을 위한 영상 스트리밍 장치에 있어서, 입력 영상을 구성하는 복수의 영역들의 중요도에 따라서 상기 복수의 영역 별로 서로 다른 비트레이트로 각각 부호화된 데이터를 포함하는 복수개의 혼합 영상 스트림을 수신하는 다채널 스트림 수신부; 상기 입력 영상에 대한 중요위치 정보를 획득하여 상기 복수의 혼합 영상 스트림 중 상기 중요위치 정보에 부합하는 혼합 영상 스트림을 선택하고, 선택된 혼합 영상 스트림을 전송하는 비트스트림 선택부; 및 상기 중요위치 정보를 사용자 단말장치로부터 수신하는 단말 요청 수신부를 포함하는 것을 특징으로 하는 영상 스트리밍 장치를 제공한다.
본 발명의 일 실시 예에 의하면, 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법에 있어서, 입력 영상에 대하여 서로 다른 비트레이트로 각각 부호화된 복수의 부호화 데이터를 수신하는 과정; 상기 입력 영상에서 상기 입력 영상의 복수의 영역들을 그 중요도에 따라 구분하는 과정; 상기 복수의 영역들 각각에 대하여 상기 복수의 부호화 데이터 중 상기 영역들 각각의 중요도에 상응하는 서로 다른 비트레이트를 갖는 부호화 데이터로부터 해당 영역의 데이터를 추출하는 과정; 및 복수의 영역에 대응하여 각각 추출된 부호화 데이터를 서로 병합하여 혼합 영상 스트림을 생성하는 과정을 포함하는 것을 특징으로 하는 영상 비트스트림 생성방법을 제공한다.
본 발명의 일 실시예에 의하면, 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법에 있어서, 입력 영상을 구성하는 복수의 영역들의 중요도에 따라 상기 복수의 영역 별로 서로 다른 비트레이트로 각각 부호화된 데이터를 포함하는 복수개의 혼합 영상 스트림을 획득하는 과정; 상기 입력 영상에 대한 중요위치 정보를 획득하는 과정; 및 상기 복수의 혼합 영상 스트림 중 상기 중요위치 정보에 부합하는 혼합 영상 스트림을 선택하고, 선택된 혼합 영상 스트림을 전송하는 과정을 포함하는 것을 특징으로 하는 영상 비트스트림 생성방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 하나의 영상을 영역별로 다른 화질로 부호화함으로써 대용량의 고해상도 영상 컨텐츠를 효율적으로 전송할 수 있는 영상 비트스트림을 생성하는 방법 및 장치를 제공하는 효과가 있다.
본 발명의 실시예에 의하면, 4K UHD(4K Ultra High Definition) 및 8K UHD 등과 같은 초고화질 영상 컨텐츠를 전송함에 있어 사용자 단말장치(예: VR)의 사용자의 시점에 근거하여 사용자가 시청하는 영역(시야 내 영역)과 사용자가 시청하지 않는 영역(시야 외 영역)의 비트레이트에 차등을 둠으로써 백그라운드로 재생되는 영역의 데이터량을 절감하고 버퍼링을 최소화할 수 있는 효과가 있다.
본 발명의 실시예에 의하면, VR(Virtual Reality) 컨텐츠 등과 같은 해상도가 큰 개인형 영상 컨텐츠 전송에 있어서, 사용자의 시청 영역(또는 시점)이 변경됨에 따라 사용자의 시야에 해당하는 영역을 저품질 영상에서 고품질 영상으로 빠르게 전환하여 제공할 수 있는 효과가 있다.
본 발명의 실시예에 의하면, 영상 컨텐츠의 렌더링 시 하드웨어 리소스 사용량을 절감함으로써 VR 컨텐츠와 같은 초고화질 영상 컨텐츠 제공을 위한 하드웨어에 요구되는 성능(또는 사양)의 수준을 낮출 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 영상 비트스트림 생성 시스템의 개략적인 구성도이다.
도 2a는 하나의 타일을 인터 예측(inter prediction) 하는 경우 같은 픽처 내의 다른 타일을 참조하는 것이 가능한 경우를 도시한 도면이고, 도 2b는 하나의 타일을 inter prediction 하는 경우 같은 픽처 내에서 해당 타일이 속해 있는 특정 영역 내의 다른 타일만 참조가 가능한 경우를 도시한 도면이다.
도 3은 하나의 영상에 포함되는 타일 세트에서 타일 index 및 display 영역을 예시한 도면이다.
도 4는 본 발명의 실시예에 따른 영상 추출 병합 장치의 구성도이다.
도 5a 및 도 5b는 중요위치 정보를 기반으로 자유롭게 타일을 추출하고 병합하기 위하여 인접한 타일을 참조하지 않고 영상 내 모든 타일들을 독립적으로 부호화한 경우를 예시한 도면이다.
도 6a 내지 6d는 도 5a 및 5b의 부호화 데이터를 근거로 한 본 발명의 실시예에 따른 영상 비트스트림 구조의 개념도이다.
도 7a 내지 7d는 도 5a 및 5b의 부호화 데이터를 근거로 한 본 발명의 다른 실시예에 따른 영상 비트스트림 구조의 개념도이다.
도 8a 및 8b는 입력 영상소스에서 검출된 하나 이상의 객체 위치를 이용하여 중요영역을 설정한 경우를 나타낸다. 전술한 바와 같이 검출된 객체 수에 따라 중요영역은 복수 개로 설정될 수 있다.
도 9a 내지 9d는 본 발명의 다른 실시예에 따른 입력 영상소스에 대한 부호화 데이터의 개념도이다.
도 10a 내지 10d는 도 9a 내지 9d의 부호화 데이터를 근거로 한 본 발명의 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
도 11a 내지 11d는 도 9a 내지 9d의 부호화 데이터를 근거로 한 본 발명의 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
도 12a 내지 12d는 본 발명의 또 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
도 13은 독립 타일로 구성된 고화질 부호화 데이터와 비독립 타일로 구성된 고화질 부호화 데이터를 각각 생성하고, 이 두 부호화 데이터를 이용하여 영상을 추출 및 병합하는 과정을 예시한 도면이다.
도 14는 병합된 혼합 영상 스트림의 타일 구성이 5번 타일은 비독립 타일로 구성된 부호화 데이터2에서 추출하고, 그 이외 모든 타일은 독립 타일로 구성된 부호화 데이터1에서 추출한 것을 예시한 도면이다.
도 15a는 독립 타일로 구성된 영상이고 도 15b는 비독립 타일로 구성된 영상을 예시한 도면이다.
도 16a는 360도 구(sphere) 상의 시점(view point) 영역(혹은 display 영역)을 그림으로 표현한 도면이고, 도 16b는 360도 구 상의 좌표를 도시한 도면이다.
도 17a는 Sphere 상의 display 영역을 도시한 도면이고, 도 17b는 도 17a에 상응하는 equi-rectangular 이미지 내 영역을 예시한 도면이다.
도 18은 equi-rectangular 상의 display 되는 영상과 영상 내에 포함되는 타일을 표시한 도면이다.
도 19는 본 실시예에 따른 스트림 전달 장치(140)를 도시한 블록도이다.
도 20은 본 실시예에 따른 사용자 단말장치(150)를 도시한 블록도이다.
도 21은 본 발명의 실시예에 따른 혼합 영상 스트림 생성방법의 흐름도이다.
도 22는 본 발명의 다른 실시예에 따른 혼합 영상 스트림 생성방법의 흐름도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명을 설명함에 있어, '...부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 영상 비트스트림 생성 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 영상 비트스트림 생성 시스템(100)은 영상 스티칭 장치(110), 부호화 장치(120), 영상 추출 병합 장치(130), 스트림 전달 장치(140) 및 사용자 단말장치(150)를 포함한다. 도 1에는 영상 스티칭 장치(110), 부호화 장치(120), 영상 추출 병합 장치(130) 및 스트림 전달 장치(140)가 별개의 장치로 존재하는 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니며 각각의 기능을 모두 포함하는 하나의 통합된 장치 또는 복수의 일부 기능들이 하나로 통합된 형태로 구현될 수도 있다.
영상 스티칭 장치(110)는 여러 대의 카메라로부터 출력된 복수개의 영상을 전달받아 복수개의 영상을 서로 동기화하고 하나의 픽처로 스티칭하여 스티칭된 픽처를 부호화 장치(120)로 전송한다.
부호화 장치(120)는 영상 스티칭 장치(110)로부터 스티칭되어 입력된 하나의 영상소스(Video Source, 즉, 픽처)를 서로 다른 비트레이트로 각각 부호화하여 서로 다른 비트레이트를 갖는 복수의 영상 스트림을 생성한다. 즉, 상대적인 고화질(High Bit Rates)부터 상대적인 저화질(Low Bit Rates)까지 복수의 화질로 스티칭된 입력 픽처를 부호화할 수 있다. 여기서, 하나의 영상 스트림은 상대적인 고화질(High Bit Rates) 및 상대적인 저화질(Low Bit Rates)을 포함하는 복수의 화질 중에서 어느 하나의 화질로 입력 영상소스가 부호화된 것이다. 이하, 부호화 장치(120)에 의해 생성된 영상 스트림을 부호화 데이터라고도 칭한다.
영상 추출 병합 장치(130)는 하나의 영상이 서로 다른 화질로 각각 부호화된 여러 부호화 데이터를 부호화 장치(120)로부터 수신하여 한 영상 내 서로 다른 영역에 해당하는 서로 다른 부호화 데이터를 추출하고, 추출된 서로 다른 영역의 부호화 데이터를 병합하여 영상 내의 서로 다른 영역에 따라 서로 다른 화질을 갖는 혼합 영상 스트림을 출력한다. 또한, 영상 추출 병합 장치(130)는 복수의 중요영역에 대한 정보를 획득하여 중요영역의 위치에 따라 서로 다른 화질 프로파일을 각각 갖는 복수의 혼합 영상 스트림을 생성하여 출력한다.
부호화 장치(120)는 하나의 입력 영상소스(즉, 픽처)를 복수 개의 타일(tile)들 또는 슬라이스(slice)들로 분할하거나, 복수 개의 타일들 및 각 타일별로 복수개의 슬라이스들로 분할하거나, 복수 개의 슬라이스 및 각 슬라이스별로 복수개의 타일들로 분할하여 병렬 처리할 수 있다. 예를 들어, 부호화 장치(120)는 하나의 영상 소스(픽처)에 대하여 상대적 고화질(High Bit Rates), 하나 이상의 중간화질 및 상대적 저화질(Low Bit Rates)로 각각 부호화하여 복수의 부호화 데이터를 생성할 수 있다. 여기서, 하나의 영상 소스에 대하여 두가지 화질로 각각 부호화하는 경우 이외에도 실시예에 따라서는 서로 다른 세가지 화질로 각각 부호화할 수도 있다. 하나의 영상소스를 부호화하여 서로 다른 화질을 갖는 복수개의 부호화 데이터를 생성한 경우에, 생성된 복수개의 부호화 데이터들은 서로 동일한 타일 구조로 형성된다.
여기서, 타일은 최대 부호화 단위인 코딩 트리 블록(CTB: Coding Tree Block)들의 집합으로서 데이터 처리 단위를 의미하며 타일 내에는 가로 m개 및 세로 n개의 코딩트리 블록이 존재한다(단, m 및 n은 서로 같을 수도 있고 서로 다를 수도 있음). 슬라이스는 슬라이스 경계를 기준으로 분리된 적어도 하나 이상의 최대 부호화 단위를 포함하는 데이터 처리 단위를 의미한다. 타일 및 슬라이스는 영상 압축의 기본 단위인 복수의 코딩 트리 블록으로 구성된다.
도 2a는 하나의 타일을 inter prediction 하는 경우 참조 픽처 내의 자기 자신 이외의 다른 타일을 참조하는 것이 가능한 경우를 도시한 도면이고, 도 2b는 하나의 타일을 inter prediction 시 참조 픽처 내에서 해당 타일이 속해 있는 특정 영역 내의 다른 타일만 참조가 가능한 경우를 도시한 도면이다.
HEVC에서 타일은 인터 예측 시 참조 픽처 내의 자기 자신 이외의 다른 타일을 참조할 수도 있지만, 영상 내 특정 영역의 병합과 추출을 위해 inter prediction 시 참조 픽처 내의 다른 어떠한 타일도 참조하지 못하도록 부호화 장치(120)에서 설정할 수 있다.
도 2a의 HEVC로부 부호화된 픽처 내의 타일 구조에서 점선은 인접 타일 간의 참조가 가능하도록 설정된 것을 의미하며, 도 2b에서, 실선은 픽처 내에서 다른 영역의 타일을 서로 참조하지 못하도록 설정한 영역 간의 경계를 나타낸 것이다. 부호화 장치(120)는 부호화 데이터와 함께 해당하는 SEI(supplemental enhancement information)라는 부가정보를 영상 추출 병합 장치(130)에게 전달하며, SEI에는 부호화된 픽처 내의 타일 구조에 대한 정보가 포함된다.
또한, 영상 추출 병합 장치(130)는 영역별로 해당하는 화질로 각각 부호화된 혼합 영상 스트림 단위마다 SEI(supplemental enhancement information)에 부가정보를 수정하여 스트림 전달 장치(140)에게 전송할 수 있다. 이를 위해 영상 추출 병합 장치(130)에서 픽처 내 타일 구성에 대한 부가정보(SEI)를 생성 또는 수정하여 혼합 영상 스트림과 함께 비트스트림에 삽입할 수 있다. 영상 추출 병합 장치(130)에서 생성하는 부가 정보는 픽처 내에서 디스플레이 영역(즉, 중요 영역)에 포함된 타일 집합(tile set)의 개수, 위치 및 구성 정보 중 적어도 하나를 포함할 수 있으며, 구성정보에는 중요 영역의 형태를 포함할 수 있다.
이를 신택스로 표현하면 [표 1]과 같다. [표 1]에 나타낸 바와 같이, 픽처 내에서 중요영역의 타일 집합(tile set)에 포함된 타일 중 최좌측 상단 위치의 타일 인덱스 값(topleft_tile_idx) 및 최우측 하단 위치의 타일 인덱스 값(bottomright_tile_idx)을 포함하는 신택스로서 해당 중요 영역을 표시할 수 있다.
Figure pat00001
또한, 픽처 내에서 중요 영역이 여러 개인 경우 또는 하나의 중요영역이 다수개의 타일집합으로 구성된 경우, 해당하는 다수 개의 타일집합(tile set)을 표현하기 위해 Tile set의 개수(num_tile_set_minus1), 다수 개의 타일집합 내의 각 tile set의 id(tile_set_id[i]) 및 각 tile set의 id 별 위치 정보((topleft_tile_idx[i], bottomright_tile_idx[i])를 신택스 정보에 추가할 수 있으며, 다수 개의 tile set을 표현한 신택스는 [표 2]와 같다.
Figure pat00002
도 3은 하나의 픽처에 포함되는 복수의 타일에 대하여 각 타일의 index 및 display 영역을 예시한 도면이다.
예를 들어 [표 2]의 신택스를 사용하는 경우, 하나의 픽처 내에 중요 영역에 해당하는 하나의 tile set(타일 5, 6, 9, 10)이 설정되고 그 위치 및 구성이 도 3과 같다면, 타일 셋의 개수를 나타내는 신택스인 num_tile_set_minus1 신택스는 "0" 값을 갖게 되며, 해당 타일 셋의 식별자를 나타내는 신택스인 tile_set_id 신택스도 "0", topleft_tile_idx 신택스는 중요영역 최좌측 상단 타일의 인덱스를 나타내는 "5"에 해당하고, bottomright_tile_idx 신택스는 중요영역 최우측 하단 타일의 인덱스를 나타내는 "10"에 해당한다.
구체적으로, 타일 구조는 복수 개의 코딩 트리 블록을 포함하는 직사각형 형태의 구조이고, 슬라이스 구조는 코딩 트리 블록의 인코딩 순서에 의해 코딩 트리 블록을 일정 갯수 묶어 놓은 구조이다. 타일 및 슬라이스를 동시에 사용하여 입력 영상을 여러 가지 형태로 분할할 수 있으며, 이는 HEVC(High Efficiency Video Coding)의 인코딩(edcoding)과 디코딩(decoding)을 하기 위한 데이터 구조가 된다. 각 타일 구조는 CTB의 행렬(matrix) 형태이다. 예를 들어, 어느 한 타일 구조는 CTB의 3x3 행렬 또는 4x3 형태일 수 있으며, 이에 한정되지 않고 한 타일 구조는 다양한 크기의 CTB 행렬일 수 있음은 물론이다.
부호화 장치(120)는 하나의 입력 영상소스를 고화질부터 저화질까지 복수의 화질로 각각 부호화할 때, 복수의 화질 각각의 부호화 데이터에서 각 타일의 위치 및 해당 위치별로 타일의 크기를 서로 동일하게 설정한다. 그리고 타일의 크기 및 위치에 관한 정보, 즉, 타일의 구조와 관련된 정보들을 입력 영상소스의 헤더 정보에 기록한다. 타일의 구조와 관련된 정보들은 비디오 파라미터 셋(VPS: Video Parameter Set), 시퀀스 파라미터 셋(SPS: Sequence Parameter Set), 픽쳐 파라미터 셋(PPS: Picture Parameter Set) 또는 이들의 확장 데이터에 포함되거나, SEI(Supplemental Enhancement Information)에 포함될 수 있다. 실시예에 따라 비디오 파라미터 셋의 활용 정보(VPS Video Usability Information, VPS_VUI) 데이터에 포함될 수도 있다.
예를 들어, 픽처 내의 모든 타일이 가로축 및 세로축 각각에 대해 서로 동일한 크기로 분할되었다면, 부호화 장치(120)는 가로축 및 세로축을 기준으로 픽처 내에서 분할된 타일의 개수 정보를 입력 영상소스의 타일 관련 헤더 정보에 기록하면 된다. 타일이 가로축 및 세로축 각각에 대해 서로 동일한 크기로 분할되지 않은 경우에는 가로축 및 세로축을 기준으로 픽처 내에서 분할된 타일의 개수 정보 및 타일의 크기(폭 및 높이) 정보를 추가해야 한다.
이러한 실시예는 [표 3]의 신택스(syntax)를 이용하여 수행될 수 있다.
tiles_enabled_flag u(1)
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1 ue(v)
num _tile_rows_ minus1 ue(v)
uniform_spacing_flag u(1)
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ] ue(v)
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ] ue(v)
}
...
[표 3]은 타일 구조와 관련된 정보들을 입력 영상소스의 헤더 정보에 포함하는 실시예를 나타내는 신택스 리스트의 일부분이다. 'tiles_enabled_flag'는 타일 사용 여부를 나타내는 플래그로서, 관련된 픽쳐가 복수의 타일을 포함하는지 여부를 나타낸다. 예를 들어, 'tiles_enabled_flag'가 PPS 레벨에 포함되는 경우, 이 플래그는 해당 PPS를 참조하는 각 픽쳐가 복수의 타일을 포함하는지 여부를 나타낼 수 있다. 만약 'tiles_enabled_flag' 값이 1일 경우, 해당 PPS를 참조하는 각 픽쳐는 복수의 타일을 포함할 수 있다. 그러나 'tiles_enabled_flag' 값이 0일 경우, 해당 PPS를 참조하는 각 픽쳐는 1 개의 타일만을 포함할 수 있다.
'num_tile_columns_minus1'은 한 픽처 내에 존재하는 타일의 열 개수 정보를 나타내는 플래그이고, 'num_tile_rows_minus1'은 한 픽처 내에 존재하는 타일의 행 개수 정보를 나타내는 플래그이다. 'num_tile_columns_minus1' 및 'num_tile_rows_minus1' 은 각각 픽쳐를 분할하는 타일의 열 및 행의 개수를 나타낸다. 예를 들어, 'tiles_structure_aligned_flag'가 1일 경우, 상기 'num_tile_columns_minus1' 및 'num_tile_rows_minus1'은 각각 직접 참조 레이어의 'num_tile_columns_minus1' 및 'num_tile_rows_minus1'을 참조하여 해당 값들과 동일한 값을 갖도록 유추될 수 있다.
'uniform_spacing_flag'는 타일 경계의 간격이 균일한지 여부를 나타내는 플래그로서, 픽쳐 전체에 걸쳐서 타일의 가로 크기 및 타일의 세로 크기가 균일한지 여부를 나타낸다. 이 플래그 값이 1일 경우 픽처 내의 각 타일의 가로 크기와 각 타일의 세로 크기가 균일하게 분포되어 있음을 나타낸다. 이 플래그 값이 0일 경우에는 타일의 가로 크기 및 타일의 세로 크기가 균일하지 않음을 나타내며, 각 타일의 열의 너비 및 각 행의 높이는 각각 '타일 열의 너비 정보' (column_width_minus1[i]) 및 '타일 행의 높이 정보' (row_heignt_minus1[i])를 통해 직접 시그널링 될 수 있다.
'column_width_minus1[i]'는 타일 열의 너비 정보로서, i 번째 타일 열의 너비를 나타내며, 'row_height_minus1[i]'는 타일 행의 높이 정보로서, i 번째 타일 행의 높이를 나타낸다. 이때, 'column_width_minus1[i]' 및 'row_heignt_minus1[i]'의 값은 CTU 단위로 표현될 수 있다.
예를 들어, 'tiles_structure_aligned_flag'가 1이고 'uniform_spacing_flag'가 0일 경우, 'column_width_minus1[i]' 및 'row_heignt_minus1[i]'는 각각 직접 참조 레이어의 정보로부터 유추될 수 있다. 즉, 현재의 'column_width_minus1[i]'는 직접 참조 레이어의 'column_width_minus1[i]' 값에, 현재 레이어와 직접 참조 레이어 간의 픽쳐 너비 비율을 스케일링하여 획득될 수 있다. 마찬가지로, 현재의 'row_heignt_minus1[i]'는 직접 참조 레이어의 'row_heignt_minus1[i]' 값에, 현재 레이어와 직접 참조 레이어 간의 픽쳐 높이 비율을 스케일링하여 획득될 수 있다.
부호화 장치(120)는 실시예에 따라서 타일 구조 또는 슬라이스 구조를 이용하거나 타일 및 슬라이스를 혼합한 구조를 이용하여 픽처를 부호화할 수 있다. 다만, 설명의 편의를 위하여 이하, 타일 구조를 이용하여 픽처를 부호화하는 것을 예로 들어 설명한다.
부호화 장치(120)는 하나의 입력 영상소스를 복수 개의 타일로 분할하여 부호화할 때, 복수 개의 타일 각각을 독립적으로 부호화할지 혹은 부호화시 타일 사이에 상관관계를 갖도록 허용할 지를 결정할 수 있다.
여기서 독립적으로 부호화한다는 것은 예측 부호화(prediction) 및 필터링(de-blocking filter) 시에 서로 다른 타일 간의 상관관계가 없이 부호화함을 의미한다. 즉, 픽처 내의 타일들이 독립적으로 부호화되는 경우, 인트라 예측 시에 같은 픽처 내의 인접한 다른 타일을 참조하지 않으며, 또한 인터 예측 시에 참조 픽처를 참조하는 경우에도 현재 타일의 위치와 동일한 위치의 타일만 참조하고 현재 타일의 위치와 다른 타일은 참조하지 않도록 설정되며, 또한, 타일을 부호화한 후 복원이 완료된 경우에는 타일 경계(boundary)에서 다른 타일 간의 필터링을 실시하지 않는다.
부호화 장치(120)는 각 타일을 독립적으로 부호화하기 위해 각 타일의 예측 부호화(inter prediction) 시에 참조 픽처 내의 인접한 주변 타일들을 참조하지 않을 수 있으며, 이 경우, 해당 타일 경계 영역에 대한 필터링 기능을 비활성화하여 부호화한다. 예를 들어 고화질 부호화 데이터 및 저화질 부호화 데이터에 대해서 모든 타일들 각각에 대해 inter prediction 시 참조 픽처 내의 자기 자신 이외의 다른 타일을 참조하지 않도록 설정(즉, 독립 타일로서 설정) 하여 인코딩을 할 수도 있다.
부호화 장치(120)는 입력 영상을 이용하여 독립 타일형 고화질 부호화 데이터 및 비독립 타일형 고화질 부호화 데이터를 각각 생성할 수도 있다.
독립 타일형 고화질 부호화 데이터는 부호화 데이터 내의 모든 타일(즉, 독립 타일)의 인터 예측 시에 주변 타일을 참조하지 않도록 설정되어 인코딩된 부호화 데이터이다. 여기서 주변 타일을 참조하지 않는다는 것은 자기 자신의 타일 이외에는 참조하지 않는다는 것을 의미한다.
비독립 타일형 고화질 부호화 데이터는, 부호화되어 생성되는 모든 타일(즉, 비독립 타일)들 각각에 포함되는 블록들의 inter prediction 시에 참조 픽처 내의 다른 타일의 화소 데이터와 다른 타일의 부호화 정보 중 적어도 하나의 참조가 허용되도록 인코딩된 것이다.
이하의 설명에서 타일 사이에서 참조가 가능하다는 의미는 참조 픽처 내에서 현재 픽처 내의 타일의 위치와 동일한 위치의 타일 이외의 타일의 정보들도 참조 가능하다는 의미를 포함한다. 또한, 타일 사이에서 참조가 가능하지 않다는 의미는 참조 픽처 내에서 현재 픽처 내의 타일의 위치와 동일한 위치의 타일 이외의 타일의 정보는 참조 가능하지 않다는 의미를 포함한다.
또는 동일 화질로 표현되는 특정 영역에 대응되는 타일 셋(Tile Set) 내에서 타일끼리 서로 참조가 가능하고 특정 영역 내의 타일들은 특정 영역 바깥 부분에 대응되는 타일 셋을 참조 못하도록 부호화할 수 있다. 또한, 타일 경계 영역에 대한 필터링 기능은 영상소스 헤더 정보(PPS) 및 슬라이스 헤더 정보에 의하여 활성화 또는 비활성화될 수 있다. 영상소스 헤더 내의 필터링 기능의 활성 또는 비활성 상태를 나타내는 정보는 타일 및 슬라이스 별로 각각 지정될 수 있다.
이를 위하여 영상소스 헤더 정보에는 예를 들어, 'loop_filter_across_tiles_enabled_flag' 및 'pps_loop_filter_across_slices_enabled_flag'가 이용될 수 있고, 슬라이스 헤더 정보에는 예를 들어, [표 4]와 같이 slice_loop_filter_across_slices_enabled_flag와 같은 신택스를 이용하여 슬라이스 사이의 필터링 기능의 활성화 상태를 나타내는 정보로서 이용될 수 있다.
if( pps_loop_filter_across_slices_enabled_flag &&
( slice_sao_luma_flag || slice_sao_chroma_flag ||
!slice_deblocking_filter_disabled_flag ) )
slice_loop_filter_across_slices_enabled_flag u(1)
'loop_filter_across_tiles_enabled_flag'는 타일 간 루프 필터링 적용 여부를 나타내는 플래그로서, 해당 픽쳐에서 타일 경계를 가로지르는 인-루프(in-loop) 필터링이 수행될 수 있는지 여부를 나타낸다. 인-루프 필터는 복원된 픽쳐에 적용하는 필터로서, 영상 재생 장치로의 출력 또는 복호 픽쳐 버퍼에 삽입되는 픽쳐를 생성하기 위하여 사용된다. 디블록킹(deblocking) 필터 및 SAO(Sample Adaptive Offset) 필터가 인-루프 필터에 포함된다.
예를 들어, 'loop_filter_across_tiles_enabled_flag'가 PPS 레벨에 포함되는 경우, 'loop_filter_across_tiles_enabled_flag'는 해당 PPS를 참조하는 픽쳐들에서 타일 경계를 가로지르는 인-루프 필터링이 수행될 수 있는지 여부를 나타낼 수 있다. 이 플래그 값이 1일 경우, 해당 PPS를 참조하는 픽쳐들에서 타일 경계를 가로지르는 인-루프 필터링이 수행될 수 있다. 그러나 플래그 값이 0일 경우에는, 해당 PPS를 참조하는 픽쳐들에서 타일 경계를 가로지르는 인-루프 필터링이 수행되지 않는다.
'slice_loop_filter_across_slices_enabled_flag'는 현재 슬라이스의 좌측 경계 및 상단 경계를 가로지르는 인-루프 필터링이 수행될 수 있는지 여부를 나타내는 플래그이다. 이 플래그 값이 1일 경우, 현재 슬라이스의 좌측 경계 및 상단 경계를 가로지르는 인-루프 필터링이 각각 수행될 수 있다. 그러나 플래그 값이 0일 경우에는, 현재 슬라이스의 좌측 경계 및 상단 경계를 가로지르는 인-루프 필터링이 수행될 수 없다. 'slice_loop_filter_across_slices_enabled_flag'가 비트스트림에 존재하지 않은 경우에는 'pps_loop_filter_across_slices_enabled_flag'와 동일한 것으로 추정한다.
부호화 장치(120)는 미리 정해진 다수 개의 화질들(Bit Rates)로 입력 소스를 각각 부호화하여 미리 정해진 화질들 개수만큼의 스트림을 생성할 수 있다. 이 때, 화질은 양자화 과정에서 사용되는 파라미터인 Qp(Quantization Parameter) 값에 의해 결정된다. 고화질로 부호화하기 위해서는 낮은 Qp 값(예를 들어, Qp=12)으로, 저화질로 부호화하기 위해서는 높은 Qp 값(예를 들어, Qp=25)으로 설정된다.
Qp 값은 영상소스(picture), 슬라이스(slice), 또는 코딩 유닛(CU: Coding Unit) 등 다양한 크기의 영상단위 별로 설정될 수 있다. 즉, 영상소스 별로 다른 Qp값을 사용하여 부호화하거나, 슬라이스 별로 다른 Qp 값을 사용하여 부호화하거나 슬라이스 별로 다른 Qp 값을 사용하여 부호화하는 것이 가능하다.
예를 들어, 영상소스 헤더에 초기 Qp 값을 설정하고, 설정된 영상소스 헤더를 사용하는 슬라이스의 Qp 값을 변경하는 경우에는 초기 Qp 값에 대해 변경하고자 하는 Qp 값의 차이값(slice Qp delta 값)을 슬라이스 단위로 지정하면 된다. 또한, 코딩 유닛 별로 Qp 값을 변경하려면, 초기 Qp 값에 대한 변경하고자 하는 Qp 값의 차이값(cu Qp delta 값)을 코딩 유닛 별로 지정하면 된다. 예컨대, 영상소스 헤더에 초기 Qp 값을 26으로 설정하고, 설정된 영상소스 헤더를 사용하는 슬라이스의 slice Qp delta 값을 +2로 설정하면, 최종적으로 해당 슬라이스를 위한 Qp 값은 28이 된다.
부호화 장치(120)가 슬라이스 단위로 Qp 값을 설정하여 입력 영상소스를 복수의 화질로 각각 부호화하는 경우, 타일과 슬라이스가 서로 동일하도록 픽처 구조를 설정하고 픽처 내의 각 타일에 상응하는 슬라이스 헤더 정보의 slice Qp delta 값을 조절하여 여러 개의 화질로 각각 입력 영상소스를 부호화할 수 있다.
예를 들어, 영상소스 헤더에 초기 Qp 값을 26으로 설정한 경우, 영상소스를 고화질로 부호화할 때에는 슬라이스의 slice Qp delta 값을 -10으로 설정함으로써 최종 Qp 값 16으로서 타일을 고화질로 부호화할 수 있다. 영상소스를 저화질로 부호화할 때에는 슬라이스의 slice Qp delta 값을 +10으로 설정하여, 최종 Qp 값 36으로서 타일을 저화질로 부호화할 수 있다. 또한, 이와 같이 고화질 부호화 데이터의 생성 또는 저화질 부호화 데이터의 생성에 의한 부호화 데이터의 화질 조절은 코딩 유닛 단위로도 가능하다.
부호화 장치(120)는 영상소스에 대한 초기 Qp 값은 영상소스 헤더 정보에, 슬라이스에 대한 slice Qp delta 값은 슬라이스 헤더 정보에, 코딩 유닛에 대한 cu Qp delta 값은 코딩 유닛 헤더 정보에 기록할 수 있다.
예를 들어 영상소스 헤더 정보에 픽쳐 레벨의 초기 Qp 값을 나타내는 신택스(init_qp_minus26)를 포함시키고, 슬라이스 헤더 정보에 'init_qp_minus26'과 슬라이스 레벨의 초기 Qp 값 사이의 차이값을 나타내는 신택스(slice_qp_delta)를 포함시키며, 코딩 유닛 헤더 정보에 코딩 유닛 레벨에서 Qp 값과 Qp의 예측값 사이의 차이값을 나타내는 신택스(cu_qp_delta)의 크기 정보(cu_qp_delta_abs) 및 부호 정보(cu_qp_delta_sign)를 포함시킬 수 있다. 본 실시예에 따른 코딩 유닛 헤더 정보에 부가되는 Qp 관련 신택스들은 [표 5]와 같다.
if( cu_qp_delta_enabled_flag && !IsCuQpDeltaCoded ) {
cu_ qp _delta_abs ae(v)
if( cu_qp_delta_abs )
cu_ qp _delta_sign_flag ae(v)
}
부호화 데이터는 별도로 지정된 저장 장치(미도시)에 저장될 수도 있고 곧바로 영상 추출 병합 장치(130)로 전송될 수도 있다.
본 발명의 실시예에 따른 영상 추출 병합 장치(130)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 테블렛, 개인 휴대 단말기(PDA: Personal Digital Assistant), 게임 콘솔, 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV, 미디어 플레이어 등과 같은 사용자 단말장치일 수 있다. 본 발명의 실시예에 따른 영상 추출 병합 장치(130)는 응용 서버와 서비스 서버 등 서버 단말장치일 수 있다.
본 발명의 실시예에 따른 영상 추출 병합 장치(130)는 (i) 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ii) 영상을 부호화 또는 복호화하거나, 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, (iii) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(application specific integrated circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.
영상 추출 병합 장치(130)는 저장 장치(미도시) 또는 부호화 장치(120)로부터 수신한 복수의 부호화 데이터들(예컨대, 고화질 부호화 데이터 및 저화질 부호화 데이터)과, 외부 장치(예컨대, 사용자 단말장치)로부터 획득한 중요 위치 정보 또는 기 설정된 중요위치 정보를 이용하여 혼합 영상 스트림을 생성하여 출력한다. 구체적으로, 중요위치 정보에 근거하여 픽처 내에서 중요위치에 해당하는 영역은 고화질의 부호화 데이터로부터 추출하고, 중요위치 이외의 영역은 저화질의 부호화 데이터로부터 추출하고, 추출된 각각의 영역에 해당하는 화질의 부호화 데이터를 병합함으로써 하나의 중요위치 정보에 대응되는 혼합 영상 스트림을 생성한다. 생성된 혼합 영상 스트림은 스트림 전달 장치(140)에게 전송될 수 있으며 스트림 전달 장치(140)는 영상 스트리밍 서버로서 구현될 수 있다. 본 실시예에 따른 혼합 영상 스트림에 대한 구체적인 설명은 다른 도면을 참조하여 후술한다.
스트림 전달 장치(140)에서 하나의 혼합 영상 스트림을 스트리밍하는 방식은 푸쉬(Push) 방식 및 풀(Pull) 방식이 있을 수 있다.
예를 들어, 푸쉬 방식의 경우에는 스트림 전달 장치(140)는 사용자의 시점(view point) 위치에 따라 해당하는 혼합 영상 스트림을 선택하여 사용자 단말장치(150)로 전송할 수 있다.
풀 방식의 경우에는 대표적으로 DASH(Dynamic Adaptive Streaming over HTTP)를 들 수 있는데 스트림 전달 장치(140)가 혼합 영상 스트림을 전송할 때 멀티미디어 프리젠테이션 디스크립션(Multimedia Presentation Description: MPD)을 정의하여 사용자 단말장치(150)에게 전달하고, 사용자 단말장치(150)는 전달받은 멀티미디어 프리젠테이션 디스크립션(MPD)을 기반으로 네트워크 환경 및 단말장치 사양에 따라 적응적 스트리밍(Adaptive Streaming)을 할 수 있다.
멀티미디어 프리젠테이션 디스크립션 정보는 제공 가능한 컨텐츠, 컨텐츠의 비트레이트 정보 및 대체 가능한 비트레이트 정보, 해당 컨텐츠의 URL addresses 등의 정보를 담고 있는 매니페스트(Manifest) 파일로, 하나의 컨텐츠에 대해 단말, 네트워크 환경 등에 맞게 QoS를 제공할 수 있도록 해상도, 비트레이트에 따라 다른 정의를 내리는 프로파일 정보로 해당 프로파일별 영상의 url을 정의한다.
사용자 단말장치(150) 내의 영상 플레이어는 단말 스펙, 네트워크 환경에 맞춰 Representation으로 정의된 프로파일 중 하나를 골라 재생할 수 있다. 이와 같이 사용되는MPD의 예는 아래와 같다.
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:mpeg:DASH:schema:MPD:2011"
xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
profiles="urn:mpeg:dash:profile:isoff-main:2011"
type="static"
mediaPresentationDuration="PT0H9M56.46S"
minBufferTime="PT15.0S">
<BaseURL>http://www.test.com /bunny_15s/</BaseURL>
<Period start="PT0S">
<AdaptationSet bitstreamSwitching="true">
<Representation id="0" codecs="avc1" mimeType="video/mp4" width="320" height="240" startWithSAP="1" bandwidth="45351">
<SegmentBase>
<Initialization sourceURL="bunny_15s_50kbit/bunny_50kbit_dash.mp4"/>
</SegmentBase>
<SegmentList duration="15">
<SegmentURL media="bunny_15s_50kbit/bunny_15s1.m4s"/>
<SegmentURL media="bunny_15s_50kbit/bunny_15s2.m4s"/>
<!-- ... -->
<SegmentURL media="bunny_15s_50kbit/bunny_15s39.m4s"/>
<SegmentURL media="bunny_15s_50kbit/bunny_15s40.m4s"/>
</SegmentList>
</Representation>
<Representation id="1" codecs="avc1" mimeType="video/mp4" width="320" height="240" startWithSAP="1" bandwidth="88563">
<SegmentBase>
<Initialization sourceURL="bunny_15s_100kbit/bunny_100kbit_dash.mp4"/>
</SegmentBase>
<SegmentList duration="15">
<SegmentURL media="bunny_15s_100kbit/bunny_15s1.m4s"/>
<SegmentURL media="bunny_15s_100kbit/bunny_15s2.m4s"/>
<!-- ... -->
<SegmentURL media="bunny_15s_100kbit/bunny_15s39.m4s"/>
<SegmentURL media="bunny_15s_100kbit/bunny_15s40.m4s"/>
</SegmentList>
</Representation>
<!-- ... -->
</AdaptationSet>
</Period>
</MPD>
스트림 전달 장치(140)는 사용자의 시점 위치에 따라 중요영역을 결정하고, 고화질 영역 및 저화질 영역이 혼합된 영상 스트림을 풀 방식으로 사용자 단말장치(150)에게 전송하는 경우, DASH 규격에서 지원하는 AdaptationSet(전송할 수 있는 파일에 대해서 기술하는 정보)의 Viewpoint 엘리먼트(위치에 대한 정보)에 view value 및 Representation의 ID를 추가하여 시청자의 시청 위치가 변경될 경우 변경된 해당 위치에 고화질 데이터가 위치하도록 혼합 영상 스트림이 스위칭될 수 있도록 정의할 수 있다.
<AdaptationSet mimeType="video/mp4" codecs="avc1.640828">
<Viewpoint schemeIdUri="urn:mpeg:dash:mvv:2014" value="0"/>
<Role schemeIdUri="urn:mpeg:dash:v+d:2014" value="t"/>
<Representation bandwidth="128000" avgPSNR="34.1" avgSSIM="0.959">
<SegmentList duration="1">
<Initialization sourceURL="oblivion_128_t0_init.mp4"/>
<SegmentURL media="oblivion_128_t0_seg1.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
풀 방식을 제공하기 위해 스트림 전달 장치(140)는 사용자의 시점 위치에 따라서 적응적으로 스트리밍하는 데에 필요한 복수의 혼합 영상 스트림을 미리 생성하여 사용자 단말장치(150)에게 전송하고, 사용자 단말장치(150)는 시점 정보를 기반으로 스트림 전달 장치(140)에게 시청하고자 하는 영역 요청 정보(즉, 중요 영역을 나타내는 정보)를 전달하여 요청한 영역이 고화질로 추출/병합된 혼합 영상 스트림을 전송받을 수 있다. 여기서, 시청하고자 하는 영역 요청 정보는 시청하고자 하는 위치가 고화질로 추출/병합된 스트림을 받기 위한 정보로서 픽처 내의 타일의 위치를 나타내기 위한 타일 id, 시청 중인 초첨 좌표 값 등이 포함된 정보를 의미할 수 있다.
본 실시예에 따른 영상 추출 병합 장치(130)는 별도의 서버(예를 들어 스트림 전달 장치(140))나 사용자 단말장치(150)에 구현될 수 있다.
영상 추출 병합 장치(130)가 별도의 서버에 구현되는 경우, 스트림 전달 장치(140) 전에 위치할 수 있고, 영상 추출 병합 장치(130)는 시청 위치(즉, 중요 위치) 별로 각각 추출 및 병합된 복수의 혼합 영상 스트림을 스트림 전달 장치(140)에게 전달하고, 스트림 전달 장치(140)는 사용자 단말장치(150)가 시청 위치를 스트림 전달 장치(140)에게 전송한 경우, 사용자가 요청한 시청 위치에 맞는 혼합 영상 스트림을 선택하여 전송한다.
영상 추출 병합 장치(130)가 사용자 단말장치(150)에 구현되는 경우에는 사용자 단말장치(150)가 부호화 장치(120)로부터 복수의 부호화 데이터들을 모두 수신하여 이들로부터 영상을 추출하여 병합할 수 있다.
중요위치 정보는 고해상도 영상을 효율적으로 부호화하기 위해 고려하는 정보로서 인간의 시각특성을 반영하기 위한 정보이다. 일반적으로 고해상도 영상을 시청하는 사용자는 영상 전체를 보기보다는 영상 내에서 제한된 범위의 특정 위치에 초점을 맞추고 영상을 시청한다. 따라서, 처리해야 할 데이터량이 방대한 고해상도 영상에 있어서 영상 전체를 고화질로 부호화하는 것이 아니라 사용자의 시점이 머무르는 영역만을 고화질로 부호화하고 나머지 영역은 저화질로 부호화함으로써 고해상도 영상 스트리밍을 위한 데이터 처리량을 줄일 수 있다.
중요위치 정보는, 예를 들어, 사용자의 시점 위치에 대한 정보를 의미할 수 있다. 또한, 사용자의 시점은 대부분 입력 영상 내에 존재하는 객체를 향하므로 객체의 위치에 대한 정보 역시 중요위치 정보가 될 수 있다.
이하, 도 4를 참조하여 본 발명의 실시예에 따른 영상 추출 병합 장치(130)에 대하여 구체적으로 설명한다.
도 4는 본 발명의 실시예에 따른 영상 추출 병합 장치의 구성도이다. 도 4를 참조하면, 본 발명의 실시예에 따른 영상 추출 병합 장치(130)는 부호화 데이터 수신부(410), 입력 스트림 동기화부(420), 문맥 파싱부(430), 영상 생성부(440) 및 다채널 스트림 전송부(450)를 포함한다. 도 4에서는 각각의 구성요소가 별개로 존재하는 것으로 도시되어 있으나 반드시 이에 한정되는 것은 아니며 각각의 기능을 모두 포함하는 프로세서에 의해 구현될 수도 있다.
부호화 데이터 수신부(410)는 입력 영상소스가 서로 다른 비트레이트로 각각 부호화된 복수의 부호화 데이터를 수신한다. 예를 들어, 부호화 데이터 수신부(410)는 하나의 영상 소스에 대하여 저화질, 즉, 낮은 비트레이트(예: 5 Mbps)로 부호화된 부호화 데이터 및 동일한 영상 소스에 대하여 고화질, 즉, 높은 비트레이트(예: 25 Mbps)로 부호화된 부호화 데이터를 각각 수신할 수 있다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 하나의 입력 영상소스에 대한 부호화 데이터의 개념도이다.
본 발명의 실시예에 따른 부호화 데이터는 복수의 타일 또는 슬라이스로 구성될 수 있다. 도 5a 및 도 5b는 하나의 입력 영상소스를 각각 16개의 타일로 분할하여 각각 5 Mbps 및 25 Mbps로 각각 부호화한 부호화 데이터들을 예시한다. 각각의 부호화 데이터를 구성하는 복수개의 직사각형 형태는 각각 타일을 의미한다. 도 5a 및 도 5b에서는 복수의 타일들의 크기가 서로 동일한 것으로 도시되어 있으나, 이에 한정되지 않고 타일들 각각의 크기가 서로 다른 것이 포함되도록 구성될 수도 있으며, 이러한 사항은 도 6a 내지 도 12d에 대하여도 동일하게 적용된다.
도 5a 및 도 5b는 중요위치 정보를 기반으로 자유롭게 타일을 추출하고 병합하기 위하여 인접한 타일을 참조하지 않고 영상 내 모든 타일들을 독립적으로 부호화한 경우를 예시한 도면이며, 하나(도 5a)는 저화질로 다른 하나(도 5b)는 고화질로 부호화한 데이터를 예시한 것이다.
도 5a 및 도 5b와 달리 실시예에 따라 하나의 입력 영상소스가 3가지 이상의 비트레이트(예: 저화질, 하나 이상의 일반화질 및 고화질 등)로 각각 부호화되는 경우도 있다. 다만, 명확한 설명을 위하여, 이하에서는 입력 영상소스가 저화질 및 고화질의 2가지 비트레이트(5 Mbps 및 25 Mbps)로 각각 부호화된 경우를 예로 들어 설명한다.
입력 스트림 동기화부(420)는 부호화 데이터의 추출 및 병합을 영상 시퀀스 상의 동일한 시간 위치에서 시작할 수 있도록 각 부호화 데이터의 I 프레임을 찾아 개별 부호화 데이터의 프레임 입력 순서를 서로 동기화시켜 영상 시퀀스 상에서 부호화 데이터 간에 내용이 서로 어긋나지 않도록 한다.
문맥 파싱부(430)는 부호화된 스트림에서 픽처 내 타일 구조 및 개수, 타일의 크기, 독립 타일/비독립 타일인지 여부 등을 파싱(parsing)할 수 있다. 파싱된 정보를 통해 중요영역의 추출 형태, 크기 등을 결정하여 여러 화질의 스트림을 추출하여 다양한 형태로 병합할 수 있도록 정보를 제공한다. 예를 들어, 타일의 구조와 개수, 크기에 따라 영상 내 중요영역으로서 추출될 영역의 형태 및 크기를 결정할 수 있으며 중요영역으로서 추출될 영역의 형태는 사각형, 마름모 등 타일 세트로 구성할 수 있는 다양한 형태가 될 수 있다. 또한, 사용자 단말장치(150)가 네트워크로부터 사용 가능한 전송 비트레이트, 영상 내 중요도 위치에 따라 추출될 중요 영역의 개수와 각 중요 영역의 크기를 정할 수 있다. 또한 360 VR 영상의 경우, 위(천장)와 아래(바닥) 부분은 시청 중요도가 떨어지므로, 해당 영역은 독립 타일 보다는 비독립 타일로 정의할 수도 있다.
영상 생성부(440)는 입력 영상에서 입력 영상의 복수의 영역들을 그 중요도에 따라 구분하고, 복수의 영역들 각각에 대하여 복수의 부호화 데이터 중 해당 영역들 각각의 중요도에 상응하는 서로 다른 비트레이트를 갖는 부호화 데이터로부터 해당 영역의 데이터를 추출하고, 복수의 영역에 대응하여 각각 추출된 부호화 데이터를 서로 병합하여 혼합 영상 스트림을 생성한다.
영상 생성부(440)는, 중요도에 따라 결정되는 중요영역의 위치에 따라, 서로 다른 조합의 타일 데이터를 갖는 복수개의 혼합 영상 스트림을 생성한다.
영상 생성부 (440)는 입력 영상소스에서 중요도가 가장 높은 중요영역을 설정하고 중요도에 따라 입력 영상소스를 복수의 영역들로 구분한다. 여기서, 중요영역은 가장 높은 비트레이트로 부호화된 부호화 데이터로부터 추출될 영역을 의미한다. 중요도는 전술한 중요위치 정보로부터 결정될 수 있으며, 하나의 입력 영상소스에서 사용자의 시점 위치(또는, 입력 영상소스 내 객체 위치)에 가까운 영역일수록 중요도가 높은 것으로 설정될 수 있다.
또한, 영상 영역은 시청이 자주 이루어지는 위치(중요영역에 해당)와 자주 이루어지지 않는 위치로 구분될 수도 있다. 구체적으로, 영상 생성부(440)는 사용자 단말장치(150)로부터 입력 영상소스에 대한 사용자의 시점 위치를 획득하여 사용자의 시점 위치로부터 일정 범위 내에 포함되는 하나 이상의 영역을 중요영역으로 설정하고, 사용자의 시점 위치로부터 떨어진 거리에 근거하여 복수의 영역들로 구분할 수 있다.
사용자의 시점 위치를 기반으로 중요영역을 설정하는 경우, 영상 생성부 (440)는 주기적으로 사용자의 시점 위치를 사용자 단말장치(150)로부터 획득하여 기 획득된 시점 위치와 비교하여 새로 획득된 시점위치가 기 획득된 시점 위치로부터 이동이 있는지 여부를 확인하고, 시점 위치의 이동이 있는 경우에 이를 반영하여 중요영역을 새롭게 설정할 수 있다.
또한, 영상 생성부(440)는 주기적으로 사용자의 시점 위치를 획득하여 영상을 디코딩할 사용자 단말장치(150)의 디코더 성능에 따라 시점 위치에 해당되는 영역의 고화질 영역만 추출하여 다른 영역의 화질과의 병합 없이 전송할 수도 있다.
예를 들어 VR 영상의 경우, 2D 영상을 구체(sphere)의 3D로 변환하여 프로젝션한다. 원래의 해상도가 2160p로 생성된 VR 영상의 경우, 2160p VR 디코딩이 불가능한 단말이 있을 수 있으므로, 중요 영역으로 설정된 1080p 영역만 고화질로 부호화된 스트림에서 추출하여 전송할 수 있다.
이러한 경우, 사용자 단말장치(150)에서는 원래 영상의 해상도(2160p)에 맞게 VR 렌더링을 하되 전송된 일부 영역(1080p)만 프로젝션하여 재생할 수 있으며, 이를 위해 스트림 전달장치(140)에서는, 재생될 영상이 전체 영역인지 혹은 일부 영역인지에 대한 flag와, 단말 상의 플레이어의 전체 영역에 해당하는 해상도, 일부 영역에 해당하는 영상 데이터만 사용자 단말장치(150)에게 전달될 경우에 해당하는 일부 영역의 해상도 정보도 함께 제공할 수 있다.
또한, 영상 생성부 (440)는 영상에서 하나 이상의 객체 위치를 획득하여 하나 이상의 객체의 위치로부터 일정 범위 내에 포함되는 하나 이상의 영역을 중요영역으로 설정하고, 하나 이상의 객체의 위치로부터 떨어진 거리에 근거하여 픽처 내에서 복수의 영역들을 구분할 수도 있다. 여기서, 객체의 위치는 본 발명의 실시예에 따른 영상 추출 병합 장치(130) 혹은 사용자 단말장치(150)에 구현된 객체 검출(Object Detection) 및 추적(tracking), 시청자의 시야 방향 추적(eye tracking) 알고리즘에 의해 획득되거나, 객체를 검출한 외부 장치(미도시)로부터 획득될 수도 있다.
객체 위치를 기반으로 중요영역을 설정하는 경우에는 입력 영상소스에 포함된 객체가 복수일 수 있으므로 중요영역 역시 복수 개가 설정될 수 있다.
입력 영상소스에 중요영역을 설정함에 있어 사용자의 시점 위치 및 객체 위치 외에도 입력 영상소스의 특성에 따라 추가적으로 고려해야 할 사항이 있다. 예를 들어, 입력 영상소스가 360도 동영상인 경우, 중요영역이 영상 내의 어느 부분에 위치하느냐에 따라 다른 영역을 중요영역으로 추가 설정하거나 기 설정된 중요영역을 축소해야 할 수 있다.
구체적으로 설명하면, 360도 동영상은 재생 시 이미지의 양단이 접하는 것처럼 보일 수 있는 특징이 있다. 즉, 이미지의 상측 양단끼리 접하거나 하측 양단끼리 접해보일 수 있다. 이는 다수의 카메라에서 촬영된 영상을 하나로 합치는 스티칭(Stitching) 과정에서 이미지가 왜곡(Warping)되기 때문이다.
따라서, 영상 생성부 (440)는, 중요영역으로 설정된 영역이 입력 영상소스의 상측 일단 영역을 포함하는 경우 입력 영상소스의 상측 타단 영역도 중요영역으로 설정할 수 있으며, 중요영역으로 설정된 영역이 입력 영상소스의 하측 일단 영역을 포함하는 경우, 입력 영상소스의 하측 타단 영역도 중요영역으로 설정할 수 있다.
전술한 스티칭 과정에 의해 360도 동영상에 있어서 이미지 왜곡(Warping)은 이미지의 중심부보다는 이미지의 상단 영역과 하단 영역에 더 많이 발생하며, 이미지의 상단 영역과 하단 영역에 정보의 중복성(Redundancy)이 발생한다. 또한, 일반적으로 360도 동영상의 상단 영역 및 하단 영역은 일반적으로 각각 하늘과 지면으로 표시되기 때문에 이미지의 중심 영역의 중요도가 이미지의 상단 영역 및 하단 영역보다 높은 경우가 많다.
따라서, 영상 생성부 (440)는 중요도가 가장 높은 영역이 입력 영상소스의 상단 영역 또는 하단 영역(최상단 타일에 해당하는 영역 또는 최하단 타일에 해당하는 영역)을 포함하는 경우, 해당하는 최상단 영역 또는 최하단 영역을 중요영역에서 제외하고 중요도가 가장 높은 나머지 영역을 중요영역으로 설정할 수 있다.
영상 생성부 (440)에 의해 구분된 복수의 영역들에 각각 속하는 타일들의 개수는 타일의 크기 및 중요영역의 위치에 따라 달라질 수 있다. 즉, 중요영역으로 설정되어 고화질 영상으로부터 추출되는 영역에 포함되는 타일들의 개수는 가변적이다.
영상 생성부 (440)는 복수의 영역들 각각에 대하여 복수의 부호화 데이터 중 복수의 영역들 각각의 중요도에 상응하는 비트레이트를 갖는 서로 다른 부호화 데이터로부터 추출하고, 추출된 영역들을 병합하여 입력 영상소스에 대응하는 혼합 영상 스트림을 생성할 수 있으며, 이와 같이 생성된 혼합 영상 스트림은 하나의 중요도 프로파일에 해당한다.
영상 생성부 (440)는 부호화를 위한 복수의 데이터 처리 단위(즉, 타일 및 슬라이스)로 분할되는 입력 영상소스의 헤더 정보에 데이터 처리 단위의 크기 및 위치 정보, 초기 Qp 값, 및 복수의 데이터 처리 단위 간 필터링 적용 여부에 대한 정보를 포함시킬 수 있다. 또한, 입력 영상소스의 복수의 영역들 중 데이터 처리 단위가 포함되는 영역의 중요도에 상응하는 Qp 값을 데이터 처리 단위의 헤더 정보에 포함시킬 수 있다.
본 실시예에 따른 입력 영상소스에 대응하는 부호화 데이터의 구조는 입력 영상소스 헤더 정보, 타일의 헤더 정보, 부호화 데이터 정보 순서로 구성될 수 있으며, 래스터 스캔(Raster Scan) 순서로 영상소스 내 모든 타일의 헤더 정보 및 부호화된 영상소스 정보가 순차적으로 구성될 수 있다.
여기서, 입력 영상소스의 헤더는 타일의 크기 및 위치에 관한 정보, 초기 Qp 값 및 필터링의 활성/비활성 정보를 포함할 수 있다. 각 타일은 각각 해당하는 중요도에 따라 부호화되며, 각 타일의 헤더는 해당 중요도에 상응하는 정보(즉, Qp delta 값)을 포함하고, 부호화 데이터는 해당 중요도에 따라 부호화된 정보를 포함한다. 이미 전송된 헤더 정보를 참조하는 경우에는 입력영상 소스의 헤더 정보가 생략될 수도 있다.
구체적으로, 영상 생성부 (440)는 복수의 영역들 중 중요영역은, 복수의 부호화 데이터 중 비트레이트가 가장 높은 부호화 데이터로부터 추출하고, 복수의 영역들 중 중요도가 낮은 영역일수록 비트레이트가 낮은 부호화 데이터로부터 추출할 수 있다.
영상 생성부 (440)는 중요영역이 실시간으로 이동될 수 있음을 고려하여 중요영역의 인접 영역까지도 복수의 부호화 데이터 중 비트레이트가 가장 높은 부호화 데이터로부터 추출할 수 있다.
도 6a 내지 6d는 도 5a 및 5b의 부호화 데이터를 근거로 한 본 발명의 실시예에 따른 혼합 영상 비트스트림 구조의 개념도이다.
도 6a 내지 6d를 참조하면, 영상 생성부 (440)는 영상의 중요영역에 대한 정보에 따라 저화질(예: 5 Mbps) 영역 및 고화질(예: 25 Mbps) 영역이 병합되어 부호화된 구조로 입력 영상소스에 대응하는 혼합 영상 스트림을 생성할 수 있다.
도 6a, 6b, 6c 및 6d에 도시된 타일 구조에 따른 영상 전체의 평균 부호화율은 각각 10 Mbps, 12 Mbps, 12 Mbps, 및 16 Mbps로 계산될 수 있다. 영상 내의 모든 타일들을 25 Mbps의 비트레이트로 부호화하는 경우에 비하여 대략 50 % 정도의 비트레이트 감소를 예상할 수 있다.
도 6a 내지 6d에서 굵은 선으로 표시된 직사각형은 영상 내 중요위치를 나타낸다. 여기서, 중요위치는 사용자의 시점 위치 및 입력 영상소스에서 검출된 객체 위치와 같이 중요도가 높은 영역의 위치를 나타낸다. 이는 도 7a 내지 도 12d에 대하여도 동일하게 적용된다.
도 6a와 같이 중요위치의 경계가 타일의 경계와 일치하는 경우, 중요위치에 포함된 타일들이 중요영역으로 설정될 수 있고, 도 6b, 6c 및 6d와 같이 중요위치의 경계가 타일의 경계와 일치하지 않는 부분이 존재하는 경우, 중요위치에 일부라도 포함되는 타일들을 모두 중요영역으로 설정할 수도 있다.
중요영역을 구성하는 타일들은 도 5b와 같은 고화질로 부호화된 부호화 데이터로부터 추출되고, 중요영역 이외의 영역을 구성하는 타일들은 도 5a와 같은 저화질로 부호화된 부호화 데이터로부터 추출되어 최종적으로 하나의 혼합 영상 비트스트림으로 병합될 수 있다. 실시예에 따라서 혼합 영상 스트림의 구조는 3가지 이상의 다양한 비트레이트를 갖는 부호화 데이터의 타일들로 구성될 수도 있다.
도 7a 내지 7d는 도 5a 및 5b의 부호화 데이터를 근거로 한 본 발명의 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
구체적으로, 도 7a 내지 7d는 전술한 360도 동영상의 특징을 고려하여 설정된 중요영역에 근거하여 생성된 혼합 영상 스트림의 구조를 나타낸다. 도 7a 내지 7d에 도시된 타일 구조에 따른 영상 전체의 평균 부호화율은 각각 14 Mbps, 12 Mbps, 12 Mbps 및 9 Mbps로 계산될 수 있다. 도 7a 내지 7d의 경우는, 도 6a 및 6b에서와 마찬가지로 모든 타일들을 25 Mbps의 비트레이트로 부호화하는 경우에 비하여 대략 50 % 정도의 비트레이트 감소를 예상할 수 있다.
도 7a는 중요영역이 영상의 최하측 일단 영역을 포함하는 경우 영상의 최하측 타단 영역도 중요영역으로 설정된 경우를 나타낸다. 이는 360도 동영상이 스티칭 과정에서 왜곡(Warping)되는 것을 고려한 것이다.
도 7b 및 7c는 360도 동영상의 상단 영역 및 하단 영역에 스티칭에 의한 정보의 중복성(Redundacy)이 발생할 수 있음을 고려하여, 중요위치임에도 불구하고 영상의 최상단 및 최하단에 존재하는 타일들을 중요영역에서 제외한 경우를 도시한다.
도 7d는 도 7a 내지 도 7c에 각각 적용된 타일 구성 방식이 모두 적용된 경우로서, 도 7a와 같은 영상에서 영상의 최하단에 존재하는 타일들을 중요영역에서 제외한 경우를 도시한다.
도 8a 및 8b는 도 5a 및 5b의 부호화 데이터를 근거로 한 본 발명의 또 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
구체적으로, 도 8a 및 8b는 입력 영상에서 검출된 하나 이상의 객체 위치를 이용하여 중요영역을 설정한 경우를 나타낸다. 전술한 바와 같이 검출된 객체 수에 따라 중요영역은 복수 개로 설정될 수 있다.
도 9a 내지 9d는 본 발명의 다른 실시예에 따른 입력 영상소스에 대한 부호화 데이터의 개념도이다.
도 9에 도시한 바와 같이, 부호화 장치(120)가 생성 가능한 복수의 부호화 데이터로서, 서로 인접한 타일 또는 슬라이스의 정보를 참조하여 부호화된 데이터들로 구성된 제1 부호화 데이터 그룹(예: 도 9c 및 9d), 및 서로 인접한 타일 또는 슬라이스의 정보를 참조하지 않고 독립적으로 부호화된 데이터들로 구성된 제2 부호화 데이터 그룹(예: 9a 및 9b)을 포함할 수 있다.
도 9에서, 타일들 사이의 실선은 인접한 두 타일 간의 인터 예측(Inter Prediction) 시 서로 참조하지 않도록 설정되어 서로 상관관계가 없음을 의미한다. 즉, 어느 하나의 타일에 대한 인터 예측 시 다른 타일을 참고하지 않으므로 각각의 타일이 독립적임을 나타낸다. 타일들 사이의 점선은 인접한 두 타일 간의 인터 예측 시 서로 상관관계가 있음을 의미한다. 즉, 어느 하나의 타일에 대한 인터 예측 시 다른 타일을 참고하여 부호화할 수 있도록 설정되므로 각각의 타일이 비독립적임을 나타낸다.
도 13은 독립 타일로 구성된 고화질 부호화 데이터와 비독립 타일로 구성된 고화질 부호화 데이터를 각각 생성하고, 이 두 부호화 데이터를 이용하여 영상을 추출 및 병합하는 과정을 예시한 도면이다.
도 13에 도시한 바와 같이, 부호화 장치(120)는 하나의 영상 소스에 대하여 독립 타일로 구성된 부호화 데이터1과 비독립 타일로 구성된 부호화 데이터2로 각각 부호화 한다.
독립 타일로 구성된 부호화 데이터1은 부호화 데이터1 내 모든 타일이 다른 타일을 참조하지 않도록 설정된 부호화 데이터를 의미한다. 비독립 타일로 구성된 부호화 데이터2는 해당 부호화 데이터2 내 모든 타일이 다른 타일을 참조하여 부호화하는 것이 허용된 부호화 데이터를 의미한다. 여기서, 비독립 타일이 자신이 아닌 다른 타일을 참조할 경우, 참조되는 타일은 독립 타일로서 부호화된 부호화 스트림(즉, 부호화 데이터1)으로부터 복원된 영상 내의 타일을 참조한다. 이 경우,영상 추출 병합 장치(130)는 중요영역에 따라 부호화 데이터1 및 부호화 데이터2에서 각기 다른 영역의 부호화 데이터를 추출하고 이와 같이 추출된 서로 다른 영역의 부호화 데이터를 병합하여 혼합 영상 스트림을 생성할 수 있다.
도 14는 병합된 혼합 영상 스트림의 타일 구성이 5번 타일은 비독립 타일로 구성된 부호화 데이터2에서 추출하고, 그 이외 모든 타일은 독립 타일로 구성된 부호화 데이터1에서 추출한 것을 예시한 도면이다.
도 14에 도시한 바와 같이, 해당 5번 타일은 비독립 타일로서 inter prediction 시에 다른 타일(즉, 독립 타일)을 참조하게 된다. 만약, 5번 타일이 참조하는 다른 위치의 타일이 비독립 타일이라면, 도 14에서처럼 영상 추출 병합 후에는 참조하는 비독립 타일에 대한 정보가 존재하지 않아 정상적인 예측 과정을 수행할 수 없다. 따라서, 비독립 타일이 자신이 아닌 다른 타일을 참조할 경우, 참조되는 타일은 반드시 독립 타일로 부호화 및 복호화된 타일이 되도록 하여야 한다.
영상 추출 병합 장치(130)가 혼합 영상 스트림을 생성하는 경우, 혼합 영상 스트림 내부의 특정 위치의 타일 영역을 위하여 추출한 부호화 데이터에서 인터 예측을 수행할 때 참조되는 타일의 특성에 따라 해당 특정 위치의 타일 영역에 해당하는 데이터를 다른 부호화 데이터로부터 추출할 수도 있다.
예컨대, 만일, 혼합 영상 스트림에 포함하고자 하는 특정 위치의 타일 영역에 비독립 타일에 해당하는 부호화 데이터로부터 추출하는 경우, 해당 비독립 타일이 자신이 아닌 다른 비독립 타일을 참조하는 것으로 확인된 경우, 영상 추출 병합 장치(130)는 해당 비독립 타일의 위치의 데이터를 비독립 타일 대신에 독립 타일에 해당하는 부호화 데이터로부터 추출할 수도 있다. 즉, 영상 추출 병합 장치(130)는 독립 타일을 참조하도록 비독립 타일을 구성할 수 없는 경우에는, 혼합 영상 스트림 내의 모든 타일을 독립타일로 구성한다.
도 15a는 독립 타일로 구성된 영상이고 도 15b는 비독립 타일로 구성된 영상을 예시한 도면이다.
도 16a는 360도 구(sphere) 상의 시점(view point) 영역(혹은 display 영역)을 그림으로 표현한 도면이고, 도 16b는 360도 구 상의 좌표를 도시한 도면이다.
360도 구 상의 시점 영역을 2D 이미지 내 영역에 매핑 시키기 위해, 360도 구 상의 한 점을 2D 이미지 내의 한 점 (x, y)으로 매핑시킬 수 있다. 그 매핑 관계는 수학식 1과 같고, 수학식 1에서 사용되는 파라미터를 360도 구에서 표현하면 도 16b와 같다(수학식 1은 3D coordinates to 2D coordinates 변환 방법 중 하나임). 도 16b를 살펴보면, 3D 상의 한 점(S1)의 좌표값을 표현하기 위해 4개의 파라미터가 사용된다. 해당 4개의 파라미터 값을 이용하여 해당 3D 한 점을 2D 이미지 상의 한 점으로 좌표값 변환할 수 있다.
[수학식 1]
x = (λ - λ0)cosφ1
y = (φ - φ1)
여기서,
λ : 프로젝트에서 위치의 경도(the longitude of the location to project)
φ : 프로젝트에서 위치의 위도 (the latitude of the location to project)
φ1 : 표준 평행선(the standard parallels (north and south of the equator))
λ0 : 이미지의 중심 자오선(the central meridian of the image)
x : 이미지에 프로젝션된 위치의 수평 좌표(the horizontal coordinate of the projected location on the image)
y : 이미지에 프로젝션된 위치의 수직 좌표(the vertical coordinate of the projected location on the image)
도 17a는 Sphere 상의 display 영역을 도시한 도면이고, 도 17b는 도 17a에 상응하는 equi-rectangular 이미지 내 영역을 예시한 도면이다.
3D 상의 시점 정보로부터 얻어진 display 영역 내 모든 좌표값을 2D로 변환하는 대표적인 방법인 equi-rectangular 방법으로 이미지 상의 좌표값으로 변환하면, 도 17b의 이미지 상의 짙은 실선 모양의 영역을 획득할 수 있다. 도 17b는 sphere 상의 일정 영역에 상응하는 이미지 상의 특정 영역에 대한 일례를 보여준다. 3D 시점 영역에 해당하는 이미지 상의 특정 영역이 3D 이미지 내의 어느 부분인지에 따라 2D로 변환된 이미지 상의 특정 영역의 모양이 달라진다. 예를 들어, 3D 시점에 해당하는 이미지 상의 영역이 sphere 상에서 최상단(top) 혹은 최하단(bottom)에 해당하는 영역이면 도 17b의 2D 이미지 상의 대응 영역의 모양이 많이 달라진다.
영상 추출 병합 장치(130)는 시점 정보를 이용하여 영상 이미지 상의 특정 영역을 선택하고 해당 특정 영역을 포함하는 다수의 타일을 선택하여 혼합 영상 스트림을 재구성할 수 있다. 영상 추출 병합 장치(130)에 입력되는 시점 정보는 3D 좌표 정보일 수도 있고, 이미 매핑된 2D 좌표 정보일 수도 있다.
도 17a와 같은 display 영역(3D 시점 영역, 즉 중요 영역)에 대응하여 도 15a 및 도 15b와 같은 부호화 데이터로부터 해당하는 중요 영역에 대응하는 타일의 부호화 데이터를 추출함으로써 혼합 영상 스트림을 구성할 수 있으며, 예를 들어 도 18과 같은 혼합 영상 스트림을 얻을 수 있다.
도 18은 equi-rectangular 상의 중요 영역의 영상과 전체 영상 내에 포함되는 타일을 표시한 도면이다. 전체 영상 내의 다수 개의 타일 중에서 중요 영역에 대응되는 타일은 도 18에 도시한 바와 같이 9개가 된다.
영상 추출 병합 장치(130)는 display 영역 정보와 타일의 구성 정보를 안다면, display 영역을 포함한 타일의 위치 및 구성 정보를 알 수 있다. 또한, 영상 추출 병합 장치(130)는 display 영역에 해당하는 9개의 타일(이미지 상의 대응 영역) 중 display 영역의 경계(boundary) 부분에 존재하는 타일은 독립 타일로, display 영역 내에 포함되지만 경계(boundary) 부분에 위치하지 않는 타일인 중심 타일은 비독립 타일로 구성할 수도 있다.
영상 추출 병합 장치(130)는 전체 영상의 디코딩을 위해 도 18과 같이 독립 타일 및 비독립 타일을 혼합하여 한 장의 이미지를 위한 모든 타일 을 포함한 혼합 영상 스트림을 구성할 수도 있고, 부분 디코딩을 목적으로 display 영역에 해당하는 9개의 타일 이외의 타일은 포함하지 않는 혼합 영상 스트림을 구성하여 스트림 전달장치(140)로 전송할 수도 있다.
도 13에서 디코더(1350)는 재구성된 비트스트림을 복호화한다.
영상 내의 타일들이 서로 독립적인 경우, 단순하게 타일들을 구성할 수 있는 장점이 있으나 압축 성능이 낮아지고 타일의 경계부분에서 이질감이 나타날 수 있는 문제점이 있다. 이러한 문제점은 하나의 영상을 구성하는 타일들의 일부를 비독립적으로 구성함으로써 보완될 수 있다. 이를 위해 영상 추출 병합 장치(130)가 타일 구성에 대한 부가 정보(SEI)를 생성하여 비트스트림에 삽입할 수 있다.
영상 추출 병합 장치(130)는 [표 1] 및 [표 2]의 신택스 값을 구하여 부가 정보 (SEI)를 생성한 후, 설정된 중요영역에 대응되는 혼합 영상 스트림에 삽입한다.
디코더(1350)는 해당 혼합 영상 스트림으로부터 SEI 정보를 읽어 영상 내에서 display 영역에 대한 타일의 위치 및 구성 정보를 획득하여 전체 영상을 디코딩할 수 있으며, display 영역만 포함하는 혼합 영상 스트림이 전송된 경우에는 display 영역에 대해서만 부분적인 디코딩(partial decoding)을 수행할 수도 있다.
본 건에 포함된 모든 시나리오에서 수신단 측에서 시점 정보를 획득할 수 없는 경우를 대비하여 송신단 측 인코더는 기설정된 초기 디스플레이 위치(default initial display position)을 지정할 수 있다. 인코더는 초기 display 위치 정보를 SEI를 포함한 header 정보에 추가할 수 있다. 초기 Display 위치 정보는 이미지 상의 좌표값으로서 [표 6]의 신택스와 같다. 또한 초기 display 위치 정보는 도 3과 같은 부호화 데이터에 포함되는 tile set을 위한 [표 1] 및 [표 2]의 신택스와 동일한 형태일 수 있다.
u_ pos
v_ pos
영상 추출 병합 장치(130)는 사용자의 시점(viewpoint) 정보가 입력되지 않는 경우, 인코더가 보낸 부가 정보 (default initial display position)를 토대로 혼합 영상 스트림을 재구성할 수 있다. 또한, 영상 추출 병합 장치(130)는 정상적으로 시점(viewpoint) 정보가 입력이 되면, 입력된 시점(viewpoint) 정보를 토대로 혼합 영상 스트림을 재구성하게 된다.
영상 추출 병합 장치(130)는 입력된 시점(viewpoint) 정보를 통해 display 영역에 해당하는 타일을 구성할 때, 일반적으로 입력된 시점좌표에 해당하는 타일과 그 타일에 접하는 타일들을 display 영역으로서 설정함으로써 최소 개수의 타일로 해당 영역을 구성할 수 있다. 또한, 영상 추출 병합 장치(130)는 사용자의 시점(viewpoint) 이동을 고려하여 입력된 시점좌표에 해당하는 타일과 그 타일에 접하는 타일 영역보다 더 확장된 영역에 해당하는 타일을 구성할 수 있다. 이때, 확장 정도는 scaling factor를 사용할 수 있다. 예를 들어, scaling factor가 1.5인 경우 기존의 display 영역보다 1.5배 확장된 영역을 display 영역으로 설정할 수 있다. 또한, 영상 추출 병합 장치(130)는 offset을 사용하여 확장 영역을 구성할 수 있다. 예를 들어, offset이 100으로 설정된 경우, 기존의 display 영역 가로축 및 세로축의 길이에 100을 더한 값만큼 확장하여 확장된 display 영역으로 설정할 수도 있다. 해당 offset은 가로축 및 세로축에 대하여 각각 지정할 수도 있다.
도 10a 내지 10d는 도 9a 내지 9d의 부호화 데이터를 근거로 한 본 발명의 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
도 10a 내지 10d에 도시된 타일 구조에 따른 영상 전체의 부호화율은 각각 10 Mbps, 11 Mbps, 11 Mbps 및 12 Mbps로 계산될 수 있다. 모든 타일들을 25 Mbps로 부호화한 경우에 비하여 약 50 % 정도로 비트레이트가 감소한 것을 알 수 있다.
도 10a 내지 10d에 도시된 바와 같이, 영상 생성부(440)는 중요영역과 중요영역 이외의 영역 사이의 경계에 인접한 영역은 제2 부호화 데이터 그룹(예: 도 9a, 도 9b)에 속한 부호화 데이터 중 해당 영역의 중요도에 상응하는 비트레이트를 갖는 부호화 데이터로부터 추출할 수 있다. 예컨대, 고화질 영역과 저화질 영역 사이의 경계에 존재하는 타일들은 독립 타일들로 구성될 수 있다.
중요영역과 중요영역 이외의 영역 사이의 경계에 인접하지 않은 영역은 제1 부호화 데이터 그룹(예: 도 9c, 9d)에 속한 부호화 데이터 중 해당 영역의 중요도에 상응하는 비트레이트를 갖는 부호화 데이터로부터 추출할 수 있다. 예컨대, 고화질 영역과 저화질 영역 사이의 경계 외에 존재하는 타일들은 비독립적인 타일들로 구성될 수 있다. 이로써, 압축 성능을 높일 수 있는 효과가 있다.
도 11a 내지 11d는 도 9a 내지 9d의 부호화 데이터를 근거로 한 본 발명의 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
구체적으로, 도 11a 내지 11d는 전술한 360도 동영상의 특징을 고려하여 설정된 중요영역에 근거하여 생성된 혼합 영상 스트림의 구조를 나타낸다. 도 11a 내지 11d에 도시된 타일 구조에 따른 영상 전체의 부호화율은 각각 12 Mbps, 11 Mbps, 10 Mbps 및 8 Mbps로 계산될 수 있다. 모든 타일들을 25 Mbps로 부호화한 경우에 비하여 약 50 % 정도로 비트레이트가 감소한 것을 알 수 있다.
도 10a 내지 10d 및 도 11a 내지 11d와 같이 타일들을 구성하는 경우, 압축 성능을 향상시킬 수 있으나, 서로 다른 화질을 갖는 타일들 간의 경계에서 발생하는 이질감 문제는 여전히 존재할 수 있다.
이에 따라, 본 발명의 또 다른 실시예에 따른 영상 생성부(440)는 영상 내의 기 설정된 중요위치에 따라 미리 고화질 영역에 해당하는 타일 및 저화질 영역에 해당하는 타일들을 구성하여 부호화하여 혼합 영상 스트림을 생성한다. 또한, 영상 생성부(440)는 다양한 위치의 기설정된 중요위치에 따라 각각 해당하는 고화질 영역에 해당하는 타일 및 저화질 영역에 해당하는 타일들을 구성하여 혼합 영상 스트림을 생성하며, 다채널 스트림 전송부(450)는 다양한 위치의 기설정된 중요위치를 기반으로 하는 다양한 형태의 혼합 영상 스트림을 스트림 전달 장치(140)에게 전송한다. 스트림 전달 장치(140)는 사용자 단말장치(150) 등으로부터 실제 중요위치에 대한 정보를 획득하여 이에 부합하는 혼합 영상 스트림을 다양한 형태의 혼합 영상 스트림 중에서 선택하여 사용자 단말장치(150)에게 전송한다.
구체적으로, 본 실시예에 따른 부호화 데이터 수신부(410)는 입력 영상에 해당하는 복수의 영역들의 중요도에 따라서 영역 별로 서로 다른 비트레이트로 각각 부호화된 입력 영상소스에 대한 복수의 부호화 데이터를 부호화 장치(120)로부터 수신한다.
본 실시예에 따른 스트림 전달 장치(140)는 외부 장치(미도시)로부터 입력 영상소스에 대한 중요위치 정보를 수신하여 복수의 혼합 영상 스트림 중 해당 중요위치 정보에 부합하는 혼합 영상 스트림을 생성한다.
본 실시예에서 영상 추출 병합 장치(130)는, 기 설정된 소정 개수의 중요위치를 복수개 미리 구성하여, 기 설정된 중요위치 별로 각각 다르게 구성된 복수의 혼합 영상 스트림을 생성하며, 스트림 전달 장치(140)는 생성된 복수의 혼합 영상 스트림 중에서 실제 중요위치(즉, 중요위치 정보)에 부합하는 혼합 영상 스트림을 선택하여 사용자 단말장치(150)로 전송한다.
중요위치 정보는 입력 영상소스에 대한 사용자의 시점 위치 및 입력 영상소스에서 검출된 하나 이상의 객체 위치 중 적어도 하나를 포함할 수 있다.
기 설정된 소정 개수의 중요위치는 입력 영상소스를 구성하는 타일 또는 슬라이스의 크기, 타일 또는 슬라이스의 개수 및 입력 영상소스의 해상도 중 적어도 하나를 고려하여 설정될 수 있다.
도 12a 내지 12d는 본 발명의 또 다른 실시예에 따른 혼합 영상 스트림 구조의 개념도이다.
도 12a 내지 12d에 표시된 중요위치는 기 설정된 중요위치로서, 16개의 동일한 크기의 타일들로 구성되는 입력 영상픽처를 가로축을 기준으로 4개의 타일들로 구성되는 경우, 사용자의 시점이 위치할 수 있는 4가지 경우를 나타낸다. 도 12a 내지 12d를 참조하면, 부호화 데이터들을 구성하는 타일들은 모두 비독립적인 타일들로 구성될 수 있으며, 이는 타일들 간의 이질감 문제를 해결하기 위함이다.
또 다른 방법은 타일을 사용하지 않고, 입력 소스를 하나의 부호화 단위로 설정하여 도 12a 내지 12d에 표시된 중요영역 별로 부호화 데이터를 별도로 생성할 수도 있다. 즉, 중요영역의 위치 별로 미리 지정된 개수만큼의 부호화 데이터를 각각 별도로 생성할 수도 있다. 예를 들어, 미리 설정된 가능한 중요영역의 위치에 따른 개수가 16개라면, 16개의 부호화 데이터를 미리 설정된 중요영역에 맞춰서 생성한다.
도 12a 내지 12d에 도시된 타일 구조에 따른 혼합 영상 스트림의 부호화율은 각각 12 Mbps, 12 Mbps, 12 Mbps 및 12 Mbps로 계산될 수 있다. 모든 타일들을 25 Mbps로 부호화한 경우에 비하여 약 50 % 정도로 비트레이트가 감소되는 것을 예상할 수 있다.
도 19는 본 실시예에 따른 스트림 전달 장치(140)를 도시한 블록도이다.
본 실시예에 따른 스트림 전달 장치(140)는 다채널 스트림 수신부(1910), 비트스트림 선택부(1920), 및 단말 요청 수신부(1930)를 포함한다.
다채널 스트림 수신부(1910)는 타일 기반으로 중요도에 따라 다양한 프로파일로 생성된 여러 채널의 혼합 영상 스트림을 각각 수신한다.
비트스트림 선택부(1920)는 사용자 단말장치(150)으로부터 중요위치 정보를 수신하고, 중요위치 정보에 대응하는 위치, 네트워크 QoS, 사용자 단말장치(150)의 전파세기 등 사용자 단말장치(150)의 조건에 따라 해당하는 혼합 영상 스트림을 선택하고 사용자 단말장치(150)에게 전송한다.
단말 요청 수신부(1930)는 사용자 단말장치(150)의 조건(중요위치, 네트워크 QoS, 사용자 단말장치(150)의 전파세기 등)을 수신한다.
본 실시예의 단말 요청 수신부(1930)는 외부 장치(미도시)로부터 입력 영상소스에 대한 중요위치 정보를 수신하여, 비트스트림 선택부(1920)는 기 설정된 중요위치에 근거하여 부호화된 소정 개수의 부호화 데이터들(예: 도 12a 내지 12d) 중에서 수신한 중요위치 정보와 부합하는 부호화 데이터를 선택한다.
예를 들어, 단말 요청 수신부(1930)가 외부 장치(미도시)로부터 수신한 입력 영상소스에 대한 중요위치 정보가 도 12a에 표시된 중요위치와 부합한다면 비트스트림 선택부(1920)는 중요 위치 정보에 대응하는 혼합 영상 스트림으로서 도 12a에 도시된 혼합 영상 스트림을 선택하게 된다.
비트스트림 선택부(1920)는 영상 추출 병합 장치(130)로부터 전달된 다양한 버전의 스트림을 받아 풀(pull) 방식 또는 푸시(push) 방식으로 제공할 수 있다.
푸시(push) 방식의 경우 사용자 단말장치(150)가 요청한 영역 또는 주요 오브젝트를 중심으로 타일별 화질을 결정하거나 혹은 주요 영역을 고정하여 고정된 주요 영역을 중심으로 타일별 화질을 미리 결정하여 전송할 수 있다.
풀(pull) 방식의 경우, 기 설정된 MPD(Media Presentation Description)과 같은 메타 정보를 사용자 단말장치(150)로 먼저 보내면 사용자 단말장치(150)가 메타 정보에서 시청하고자 하는 위치와 매핑하여 매팅된 결과에 해당하는 혼합 영상 스트림에 해당하는 url을 스트림 전달 장치(140)에게 요청할 수 있다. 비트스트림 선택부(1920)는 사용자 단말장치(150)로부터 영상 url을 수신하면 해당하는 혼합 영상 스트림을 복수의 혼합 영상 스트림 중에서 선택하여 사용자 단말장치(150)에게 전송한다.
도 20은 본 실시예에 따른 사용자 단말장치(150)를 도시한 블록도이다.
본 실시예에 따른 사용자 단말장치(150)는 영역 설정 요청부(2010), 영상 스트림 수신부(2020) 및 영상 재생부(2030)을 포함한다. 영역 설정 요청부(2010)는 자이로 센서 등 위치를 파악할 수 있는 정보로부터 시청 위치를 파악하고 해당 위치 정보를 스트림 전달 장치(140)에게 전송하거나 혹은 미리 약속된 스트림의 ID를 스트림 전달 장치(140)에게 전송하여 해당 혼합 영상 스트림을 요청하거나, 또한 기 설정된 MPD 정보를 통해 시선의 좌표가 어느 스트림에 해당되는 지를 파악하여 해당 혼합 영상 스트림의 url을 전송하여 직접적으로 해당 혼합 영상 스트림을 요청할 수 있다. 예를 들어 MPD 정보에서 고화질 영역에 대한 정보(영역의 크기, 시작 위치(x, y) 또는 타일의 크기, 타일의 개수 등)를 통해 중요영역의 범위를 알아낼 수 있으며, 시청자의 위치가 움직일 때 마다 해당 중요영역에 대응하는 url의 혼합 영상 스트림을 요청할 수 있다.
영상 스트림 수신부(2020)는 스트림 전달 장치(140)에게 전송한 영역 설정 요청에 상응하는 혼합 영상 스트림을 스트림 전달 장치(140)로부터 수신한다.
영상 재생부(2030)는 수신된 혼합 영상 스트림을 복호화하여 재생한다.
이하, 도 21 및 도 22를 참조하여 본 발명의 실시예에 따른 영상 비트스트림 생성방법에 대하여 설명한다.
도 21은 본 발명의 실시예에 따른 영상 비트스트림 생성방법의 흐름도이다.
고해상도 영상 스트리밍을 위한 혼합 영상 스트림을 생성하기 위하여, 하나의 입력 영상소스에 대하여 서로 다른 비트 레이트로 각각 부호화된 복수의 부호화 데이터를 획득한다(S2110). 예를 들어, 저화질 즉, 낮은 비트레이트(예: 5 Mbps)로 부호화된 부호화 데이터 및 고화질 즉, 높은 비트레이트(예: 25 Mbps)로 부호화된 부호화 데이터를 생성할 수 있다. 과정 S2110은 부호화 장치(120)의 동작에 대응되므로 구체적인 예시에 대한 설명은 생략한다.
과정 S2120에서는 입력 영상소스에서 중요도가 가장 높은 중요영역을 설정하고 중요도에 따라 입력 영상소스를 복수의 영역들로 구분한다. 여기서, 중요영역은 가장 높은 비트레이트로 부호화된 부호화 데이터로부터 추출될 영역을 의미한다. 중요도는 전술한 중요위치 정보로부터 결정될 수 있으며, 하나의 입력 영상소스에서 사용자의 시점 위치(또는, 입력 영상소스 내 객체 위치)에 가까운 영역일수록 중요도가 높은 것으로 볼 수 있다.
구체적으로, 과정 S2120에서는 입력 영상소스에 대한 사용자의 시점 위치 후보를 획득하여 사용자의 시점 위치 후보로부터 일정 범위 내에 포함되는 하나 이상의 영역을 중요영역으로 설정하고, 사용자의 시점 위치 후보로부터 떨어진 거리에 근거하여 복수의 영역들을 구분할 수 있다.
사용자의 시점 위치 후보를 기반으로 중요영역을 설정하는 경우에는, 주기적으로 사용자의 시점 위치를 획득하여 기 획득된 시점 위치의 이동이 있는지 여부를 확인하고, 이동이 있는 경우에 이를 반영하여 중요영역을 새롭게 설정할 수 있다.
또한, 과정 S2120에서는 입력 영상소스에서 검출된 하나 이상의 객체 위치를 획득하여 하나 이상의 객체의 위치로부터 일정 범위 내에 포함되는 하나 이상의 영역을 중요영역으로 설정하고, 하나 이상의 객체의 위치로부터 떨어진 거리에 근거하여 복수의 영역들을 구분할 수도 있다. 여기서, 객체의 위치는 객체 검출(Object Detection) 알고리즘에 의해 획득된 객체위치 후보일 수 있다.
객체 위치를 기반으로 중요영역을 설정하는 경우에는 입력 영상소스에 포함된 객체가 복수일 수 있으므로 중요영역 역시 복수 개가 설정될 수 있다.
중요영역을 설정함에 있어 사용자의 시점 위치 및 객체 위치 외에도 입력 영상소스의 특성에 따라 추가적으로 고려해야 할 사항이 있다. 예를 들어, 입력 영상소스가 360도 동영상인 경우, 중요영역이 영상 내의 어느 부분에 위치하느냐에 따라 다른 영역을 중요영역으로 추가 설정하거나 기 설정된 중요영역을 축소해야 할 수 있다.
구체적으로 설명하면, 360도 동영상은 재생 시 이미지의 양단이 접하는 것처럼 보일 수 있는 특징이 있다. 즉, 이미지의 상측 양단끼리 접하거나 하측 양단끼리 접해보일 수 있다. 이는 다수의 카메라에서 촬영된 영상을 하나로 합치는 스티칭(Stitching) 과정에서 이미지가 왜곡(Warping)되기 때문이다.
따라서, 과정 S2120에서는 중요영역으로 설정된 영역이 입력 영상소스의 상측 일단 영역 또는 하측 일단 영역을 포함하는 경우, 입력 영상소스의 상측 타단 영역 또는 하측 타단 영역도 중요영역으로 설정할 수 있다. 전술한 스티칭 과정에 의해 360도 동영상에 있어서 이미지 왜곡(Warping)은 이미지의 중심부보다는 상단 영역과 하단 영역에 더 많이 발생하며, 상단 영역과 하단 영역에 정보의 중복성(Redundancy)이 발생한다. 또한, 일반적으로 360도 동영상의 상단 영역은 및 하단 영역은 각각 하늘과 지면으로 표시되기 때문에 중심 영역의 중요도가 상단 영역 및 하단 영역보다 높은 경우가 많다.
따라서, 과정 S2120에서는 중요도가 가장 높은 영역이 입력 영상소스의 상단 영역 및 하단 영역 중 하나 이상을 포함하는 경우, 중요도가 가장 높은 영역 중 상단 영역 및 하단 영역을 제외한 나머지 영역을 중요영역으로 설정할 수 있다.
과정 S2120에서 구분된 복수의 영역들에 속하는 타일들의 개수는 타일의 크기 및 중요영역의 위치에 따라 달라질 수 있다.
본 실시예의 방법에 따르면, 과정 S2110 및 과정 S2120을 수행한 뒤, 복수의 부호화 데이터 중 복수의 영역들 각각의 중요도에 상응하는 비트레이트를 갖는 부호화 데이터로부터 추출한다(S2130).
구체적으로, 과정 S2130에서는 복수의 영역들 중 중요영역은 복수의 부호화 데이터 중 비트레이트가 가장 높은 부호화 데이터로부터 추출하고, 복수의 영역들 중 중요도가 낮은 영역일수록 비트레이트가 낮은 부호화 데이터로부터 추출할 수 있다.
과정 S2130에서는 중요영역이 실시간으로 이동할 수 있음을 고려하여 중요영역의 인접 영역까지도 복수의 부호화 데이터 중 비트레이트가 가장 높은 부호화 데이터로부터 추출할 수 있다.
과정 S2140에서는 추출된 영역들을 병합하여 중요영역에 대응하는 혼합 영상 스트림을 생성한다.
과정 S2120 내지 과정 S2140은 본 발명의 실시예에 따른 영상 추출 병합 장치(130)의 동작에 대응되므로 구체적인 예시에 대한 설명은 생략한다.
도 22는 본 발명의 다른 실시예에 따른 혼합 영상 스트림 선택방법의 흐름도이다.
본 실시예의 방법에 따르면, 입력 영상소스를 구성하는 복수의 영역들의 중요도에 따라 복수의 영역 별로 서로 다른 비트레이트로 부호화된 부호화 데이터를 획득하고(S2210), 단말로부터 중요위치 정보를 획득한다(S2220).
과정 S2210 및 과정 S2220에서 획득한 부호화 데이터들 및 중요위치 정보를 이용하여 과정 S2230에서는, 중요위치 정보에 근거하여 복수의 부호화 데이터 중 중요위치 정보에 부합하는 혼합 영상 스트림을 선택한다.
본 실시예에 따르면, 복수의 영역들이 기 설정된 소정 개수의 중요위치 별로 미리 구성되어 있으므로 중요영역을 별도로 설정할 필요 없이, 기 설정된 중요위치 별로 다르게 구성된 입력 영상소스 각각을 부호화한 부호화 데이터들로부터 실제 중요위치(즉, 중요위치 정보)에 부합하는 혼합 영상 스트림을 선택함으로써 사용자 단말장치(150)에게 전송할 수 있다.
중요위치 정보는 입력 영상소스에 대한 사용자의 시점 위치 및 입력 영상소스에서 검출된 하나 이상의 객체 위치 중 적어도 하나를 포함할 수 있다.
기 설정된 소정 개수의 중요위치는 입력 영상소스를 구성하는 타일 또는 슬라이스의 크기, 타일 또는 슬라이스의 개수 및 입력 영상소스의 해상도 중 적어도 하나를 고려하여 설정될 수 있다.
과정 S2210은 본 발명의 실시예에 따른 부호화 데이터 수신부(410) 동작에 대응되고, 과정 S2220 및 과정 S2230은 영상 생성부(440)의 동작에 대응되므로 구체적인 예시에 대한 설명은 생략한다.
도 21 및 도 22에서는 과정 S2110 내지 과정 S2140과, 과정 S2210 내지 과정 S2230을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 21 및 도 22에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 21 및 도 22는 시계열적인 순서로 한정되는 것은 아니다. 전술한 바와 같이 도 21 및 도 22에 기재된 본 실시예에 따른 영상 비트스트림 생성방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 비트스트림 생성방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 실시예는 고해상도 영상 컨텐츠의 스트리밍을 위한 영상 부호화 분야에 적용되어, 스트리밍 시 처리할 데이터량을 줄임으로써 효율적으로 영상을 압축할 수 있는 효과를 발생하는 유용한 발명이다.
100: 영상 비트스트림 생성 시스템
110: 영상 스티칭 장치
120: 부호화 장치
130: 영상 추출 병합 장치
140: 스트림 전달 장치
150: 사용자 단말장치
410: 부호화 데이터 수신부
420: 입력 스트림 동기화부
430: 문맥 파싱부
440: 영상 생성부
450: 다채널 스트림 전송부
1910: 다채널 스트림 수신부
1920: 비트스트림 선택부
1930: 단말요청 수신부
2010: 영역설정 요청부
2020: 영상스트림 수신부
2030: 영상 재생부

Claims (17)

  1. 고해상도 영상 스트리밍을 위한 영상 추출 병합 장치에 있어서,
    입력 영상에 대하여 서로 다른 비트레이트로 각각 부호화된 복수의 부호화 데이터를 수신하는 부호화 데이터 수신부; 및
    상기 입력 영상에서 상기 입력 영상의 복수의 영역들을 그 중요도에 따라 구분하고, 상기 복수의 영역들 각각에 대하여 상기 복수의 부호화 데이터 중 상기 영역들 각각의 중요도에 상응하는 서로 다른 비트레이트를 갖는 부호화 데이터로부터 해당 영역의 데이터를 추출하고, 복수의 영역에 대응하여 각각 추출된 부호화 데이터를 서로 병합하여 혼합 영상 스트림을 생성하는 영상 생성부
    를 포함하는 것을 특징으로 하는 영상 추출 병합 장치.
  2. 제1항에 있어서,
    상기 영상 생성부는,
    상기 입력 영상 내에서 상기 중요도에 대응되는 타일 영역의 위치를 나타내는 정보를 생성하는 것을 특징으로 하는 영상 추출 병합 장치.
  3. 제1항에 있어서,
    상기 영상 생성부는,
    각 영역별로, 상기 각 영역 내의 타일을 인터예측 부호화하는 경우 상기 각 영역 내에서 다른 타일을 참조하는지 여부를 나타내는 정보를 생성하는 것을 특징으로 하는 영상 추출 병합 장치.
  4. 제1항에 있어서,
    상기 영상 생성부는,
    상기 입력 영상이 3D 영상을 2D로 매핑한 영상인 경우에, 상기 중요도에 따라 중요영역으로 설정된 영역이 상기 입력 영상의 최상측 또는 최하측의 일단 영역을 포함하는 경우, 상기 입력 영상의 최상측 또는 최하측의 타단 영역도 각각 중요영역으로 추가 설정하는 것을 특징으로 하는 영상 추출 병합 장치.
  5. 제1항에 있어서,
    상기 영상 생성부는,
    상기 입력 영상이 3D 영상을 2D로 매핑한 영상인 경우에, 상기 입력 영상 내에서 중요도가 가장 높은 중요영역이 상기 입력 영상의 최상단 영역 및 최하단 영역 중 하나 이상의 영역을 포함하는 경우, 상기 하나 이상의 영역을 상기 중요영역에서 제외하는 것을 특징으로 하는 영상 추출 병합 장치.
  6. 제1항에 있어서,
    상기 영상 생성부는, 상기 입력 영상소스로부터 상기 서로 다른 비트레이트를 갖는 부호화 데이터를 생성함에 있어서, 하나의 비트레이트의 부호화 데이터에 대응하여 제1 부호화 데이터 및 제2 부호화 데이터를 각각 생성하며,
    상기 제1 부호화 데이터는 그 내부의 타일이 인터 예측을 수행할 때 주변의 다른 타일을 참조하지 않도록 설정된 부호화 데이터이고, 상기 제2 부호화 데이터는 그 내부의 타일이 인터 예측을 수행할 때 주변의 다른 타일을 참조하는 것이 허용된 부호화 데이터인 것을 특징으로 하는 영상 추출 병합 장치.
  7. 제6항에 있어서,
    상기 영상 생성부는,
    상기 중요도에 따라 결정되는 중요영역과 상기 중요영역 이외의 영역 사이의 경계에 인접한 영역의 타일의 데이터는 상기 제1 부호화 데이터로부터 추출하고,
    상기 경계에 인접하지 않은 영역의 타일의 데이터는 상기 제2 부호화 데이터로부터 추출하는 것을 특징으로 하는 영상 추출 병합 장치.
  8. 제1항에 있어서, 상기 영상 생성부는,
    상기 중요도에 따라 결정되는 중요영역의 위치에 따라, 서로 다른 조합의 타일 데이터를 갖는 복수개의 혼합 영상 스트림을 생성하는 것을 특징으로 하는 영상 추출 병합 장치.
  9. 제8항에 있어서, 상기 중요도에 대한 정보는,
    상기 입력 영상의 하나 이상의 객체 위치로부터 획득되는 것을 특징으로 하는 영상 추출 병합 장치.
  10. 제8항에 있어서,
    상기 중요도에 대한 정보는 기설정된 복수개의 중요영역의 위치에 대응하여 결정되는 것을 특징으로 하는 영상 추출 병합 장치.
  11. 제1항에 있어서, 상기 영상 생성부는,
    상기 혼합 영상 스트림을 생성하는 경우, 상기 혼합 영상 스트림 내부의 특정 위치의 타일 영역을 위하여 추출한 부호화 데이터에서 인터 예측을 수행할 때 참조되는 타일의 특성에 따라 해당 특정 위치의 타일 영역에 해당하는 데이터를 다른 부호화 데이터로부터 추출하는 것을 특징으로 하는 영상 추출 병합 장치.
  12. 제1항에 있어서,
    상기 비트스트림 생성부는,
    상기 입력 영상소스가 분할되는 복수의 데이터 처리 단위 간 필터링 적용 여부에 대한 정보를 상기 부호화 데이터에 포함시키는 것을 특징으로 하는 영상 추출 병합 장치.
  13. 제1항에 있어서,
    상기 비트스트림 생성부는,
    상기 복수의 영역들에 포함되는 영역의 중요도에 상응하는 양자화 파라미터 값을 상기 부호화 데이터에 포함시키는 것을 특징으로 하는 영상 추출 병합 장치.
  14. 고해상도 영상 스트리밍을 위한 영상 스트리밍 장치에 있어서,
    입력 영상을 구성하는 복수의 영역들의 중요도에 따라서 상기 복수의 영역 별로 서로 다른 비트레이트로 각각 부호화된 데이터를 포함하는 복수개의 혼합 영상 스트림을 수신하는 다채널 스트림 수신부;
    상기 입력 영상에 대한 중요위치 정보를 획득하여 상기 복수의 혼합 영상 스트림 중 상기 중요위치 정보에 부합하는 혼합 영상 스트림을 선택하고, 선택된 혼합 영상 스트림을 전송하는 비트스트림 선택부; 및
    상기 중요위치 정보를 사용자 단말장치로부터 수신하는 단말 요청 수신부
    를 포함하는 것을 특징으로 하는 영상 스트리밍 장치.
  15. 제14항에 있어서,
    상기 복수의 영역들은 상기 복수개의 혼합 영상 스트림마다 서로 다르게 구성되는 것을 특징으로 하는 영상 스트리밍 장치.
  16. 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법에 있어서,
    입력 영상에 대하여 서로 다른 비트레이트로 각각 부호화된 복수의 부호화 데이터를 수신하는 과정;
    상기 입력 영상에서 상기 입력 영상의 복수의 영역들을 그 중요도에 따라 구분하는 과정;
    상기 복수의 영역들 각각에 대하여 상기 복수의 부호화 데이터 중 상기 영역들 각각의 중요도에 상응하는 서로 다른 비트레이트를 갖는 부호화 데이터로부터 해당 영역의 데이터를 추출하는 과정; 및
    복수의 영역에 대응하여 각각 추출된 부호화 데이터를 서로 병합하여 혼합 영상 스트림을 생성하는 과정
    을 포함하는 것을 특징으로 하는 영상 비트스트림 생성방법.
  17. 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법에 있어서,
    입력 영상을 구성하는 복수의 영역들의 중요도에 따라 상기 복수의 영역 별로 서로 다른 비트레이트로 각각 부호화된 데이터를 포함하는 복수개의 혼합 영상 스트림을 획득하는 과정;
    상기 입력 영상에 대한 중요위치 정보를 획득하는 과정; 및
    상기 복수의 혼합 영상 스트림 중 상기 중요위치 정보에 부합하는 혼합 영상 스트림을 선택하고, 선택된 혼합 영상 스트림을 전송하는 과정
    을 포함하는 것을 특징으로 하는 영상 비트스트림 생성방법.
KR1020170084093A 2016-07-01 2017-07-03 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치 KR101915037B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/313,623 US10743000B2 (en) 2016-07-01 2017-07-03 Video bitstream generation method and device for high-resolution video streaming
PCT/KR2017/007028 WO2018004317A1 (ko) 2016-07-01 2017-07-03 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치
US16/506,217 US10893278B2 (en) 2016-07-01 2019-07-09 Video bitstream generation method and device for high-resolution video streaming

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160083471 2016-07-01
KR20160083471 2016-07-01

Publications (2)

Publication Number Publication Date
KR20180004029A true KR20180004029A (ko) 2018-01-10
KR101915037B1 KR101915037B1 (ko) 2018-11-06

Family

ID=60998872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170084093A KR101915037B1 (ko) 2016-07-01 2017-07-03 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치

Country Status (3)

Country Link
US (2) US10743000B2 (ko)
KR (1) KR101915037B1 (ko)
CN (1) CN109417642B (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019139424A1 (ko) 2018-01-11 2019-07-18 주식회사 엘지화학 리튬 전극을 포함하는 리튬 금속 이차전지의 제조방법
WO2019199025A1 (ko) * 2018-04-09 2019-10-17 에스케이텔레콤 주식회사 영상을 부호화/복호화하는 방법 및 그 장치
KR20190118524A (ko) * 2018-04-10 2019-10-18 에스케이텔레콤 주식회사 레벨 설정 방법 및 이를 이용한 영상 복호화 장치
KR20200063779A (ko) * 2018-11-28 2020-06-05 주식회사 카이 영상을 처리하는 방법, 영상을 재생하는 방법 및 그 장치들
WO2020189817A1 (ko) * 2019-03-19 2020-09-24 전자부품연구원 타일 기반 스트리밍을 위한 분할영상 분산 디코딩 방법 및 시스템
KR20200139557A (ko) * 2019-06-04 2020-12-14 에스케이텔레콤 주식회사 멀티뷰 제공을 위한 스트리밍 플레이어 장치 및 그 방법
WO2021107624A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 픽처의 분할 구조에 기반한 영상/비디오 코딩 방법 및 장치
WO2021107623A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 인코딩/디코딩 방법 및 장치
WO2021107621A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 슬라이스 및 타일 구성
WO2021107622A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
KR20210115710A (ko) * 2020-03-16 2021-09-27 주식회사 카이 영상 처리 방법, 영상 재생 방법 및 그 장치들
US11509937B2 (en) 2018-04-09 2022-11-22 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images
KR101967819B1 (ko) * 2017-11-02 2019-04-10 주식회사 코난테크놀로지 타일 영상 기반 다중 재생을 위한 영상 처리장치 및 그 타일 영상 구성방법
US11037271B2 (en) * 2018-08-07 2021-06-15 Qualcomm Incorporated Dynamic rendering for foveated rendering
US11310516B2 (en) * 2018-12-21 2022-04-19 Hulu, LLC Adaptive bitrate algorithm with cross-user based viewport prediction for 360-degree video streaming
WO2020141904A1 (ko) * 2019-01-02 2020-07-09 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
EP3769522A4 (en) 2019-01-16 2021-01-27 Telefonaktiebolaget LM Ericsson (publ) VIDEO ENCODING WITH EQUAL TILE DISTRIBUTION WITH REMAINING
US11310560B2 (en) 2019-05-17 2022-04-19 Samsung Electronics Co., Ltd. Bitstream merger and extractor
CN110636294B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频解码方法及装置,视频编码方法及装置
CN111131879A (zh) * 2019-12-30 2020-05-08 歌尔股份有限公司 视频数据播放方法、装置及计算机可读存储介质
KR102356037B1 (ko) * 2020-10-14 2022-02-07 성균관대학교산학협력단 다시점 360도 영상 스트리밍 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2822330B1 (fr) 2001-03-14 2003-05-02 Thomson Multimedia Sa Procede de codage par blocs, de type mpeg, dans lequel on affecte une resolution a chaque bloc
KR20060007765A (ko) 2004-07-21 2006-01-26 삼성전자주식회사 영상 압축/복원 방법 및 장치
KR100739686B1 (ko) 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
WO2006016782A1 (en) 2004-08-13 2006-02-16 Industry Academic Cooperation Foundation Kyunghee University Method and apparatus to encode image, and method and apparatus to decode image data
CN101547365B (zh) * 2009-05-08 2011-07-20 北京北纬通信科技股份有限公司 保证特定区域显示质量的视频编码的方法和装置
KR20120059214A (ko) 2010-11-30 2012-06-08 고려대학교 산학협력단 적응적 관심 영역을 적용한 비디오 스트리밍을 제공하는 비디오 코덱 장치 및 그 방법
CN110868588B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和计算机可读记录介质
CN103907350B (zh) * 2012-09-29 2018-02-23 华为技术有限公司 视频编码及解码方法、装置及系统
CN103929640B (zh) * 2013-01-15 2018-03-06 英特尔公司 用于管理视频流播的技术
KR102290091B1 (ko) * 2013-10-14 2021-08-18 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
WO2015056941A1 (ko) 2013-10-14 2015-04-23 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
US9699437B2 (en) * 2014-03-03 2017-07-04 Nextvr Inc. Methods and apparatus for streaming content

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019139424A1 (ko) 2018-01-11 2019-07-18 주식회사 엘지화학 리튬 전극을 포함하는 리튬 금속 이차전지의 제조방법
WO2019199025A1 (ko) * 2018-04-09 2019-10-17 에스케이텔레콤 주식회사 영상을 부호화/복호화하는 방법 및 그 장치
US11902590B2 (en) 2018-04-09 2024-02-13 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
US11792436B2 (en) 2018-04-09 2023-10-17 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
US11778238B2 (en) 2018-04-09 2023-10-03 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
US11778239B2 (en) 2018-04-09 2023-10-03 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
US11509937B2 (en) 2018-04-09 2022-11-22 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
KR20190118524A (ko) * 2018-04-10 2019-10-18 에스케이텔레콤 주식회사 레벨 설정 방법 및 이를 이용한 영상 복호화 장치
JP2022510193A (ja) * 2018-11-28 2022-01-26 カイ インコーポレイテッド 映像を処理する方法、映像を再生する方法及びその装置
KR20200063779A (ko) * 2018-11-28 2020-06-05 주식회사 카이 영상을 처리하는 방법, 영상을 재생하는 방법 및 그 장치들
KR20200111410A (ko) * 2019-03-19 2020-09-29 한국전자기술연구원 타일 기반 스트리밍을 위한 분할영상 분산 디코딩 방법 및 시스템
WO2020189817A1 (ko) * 2019-03-19 2020-09-24 전자부품연구원 타일 기반 스트리밍을 위한 분할영상 분산 디코딩 방법 및 시스템
KR20210087918A (ko) * 2019-06-04 2021-07-13 에스케이텔레콤 주식회사 멀티뷰 제공을 위한 스트리밍 플레이어 장치 및 그 방법
KR20200139557A (ko) * 2019-06-04 2020-12-14 에스케이텔레콤 주식회사 멀티뷰 제공을 위한 스트리밍 플레이어 장치 및 그 방법
WO2021107622A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
WO2021107621A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 슬라이스 및 타일 구성
WO2021107623A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 인코딩/디코딩 방법 및 장치
WO2021107624A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 픽처의 분할 구조에 기반한 영상/비디오 코딩 방법 및 장치
US11956450B2 (en) 2019-11-28 2024-04-09 Lg Electronics Inc. Slice and tile configuration for image/video coding
KR20210115710A (ko) * 2020-03-16 2021-09-27 주식회사 카이 영상 처리 방법, 영상 재생 방법 및 그 장치들

Also Published As

Publication number Publication date
US20190238860A1 (en) 2019-08-01
KR101915037B1 (ko) 2018-11-06
US10893278B2 (en) 2021-01-12
CN109417642A (zh) 2019-03-01
US10743000B2 (en) 2020-08-11
US20190335182A1 (en) 2019-10-31
CN109417642B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
KR101915037B1 (ko) 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치
US20180176468A1 (en) Preferred rendering of signalled regions-of-interest or viewports in virtual reality video
RU2650181C2 (ru) Устройство обработки информации и способ
CN113498606A (zh) 用于视频编码和解码的装置、方法和计算机程序
US9749587B2 (en) Method and apparatus for generating combined video stream for multiple images
US9723321B2 (en) Method and apparatus for coding video stream according to inter-layer prediction of multi-view video, and method and apparatus for decoding video stream according to inter-layer prediction of multi view video
WO2015152608A2 (ko) 서브블록 기반 예측을 수행하는 인터 레이어 비디오 복호화 방법 및 그 장치 및 서브블록 기반 예측을 수행하는 인터 레이어 비디오 부호화 방법 및 그 장치
CN114342402A (zh) 信息处理装置、信息处理方法、再现处理装置和再现处理方法
US11259049B2 (en) Area-based processing method and apparatus for 360-degree video
US20180176559A1 (en) Method for performing filtering at partition boundary of block related to 3d image
CN113574873A (zh) 图块和子图像分割
US11388437B2 (en) View-position and angle dependent processing of point cloud data
US20160227248A1 (en) Method and apparatus for encoding scalable video for encoding auxiliary picture, method and apparatus for decoding scalable video for decoding auxiliary picture
KR20220114088A (ko) 비디오 인코딩 및 비디오 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 제품
CN112236997A (zh) 视频压缩中帧内预测的参考样本填充和过滤
US10375412B2 (en) Multi-layer video encoding method and apparatus, and multi-layer video decoding method and apparatus
KR20230004341A (ko) 픽처-인-픽처 영역에서의 비디오 데이터 유닛의 시그널링 대체
JP2023549185A (ja) ビデオ復号のための方法、装置及びコンピュータプログラム
CN116325759A (zh) 用于处理媒体文件的方法及其设备
CN112135151A (zh) 视频解码方法、系统、计算机设备和存储介质
US20220343545A1 (en) Method and apparatus for immersive video encoding and decoding
KR100780844B1 (ko) 다시점 화상 복호화기, 다시점 화상 데이터 처리 시스템,다시점 화상 데이터 처리 방법 및 이를 수행하는프로그램을 기록한 기록매체
CN116724555A (zh) 媒体文件处理方法及其装置
CN116210225A (zh) 生成媒体文件的方法及设备
CN116210223A (zh) 媒体文件处理方法及其装置

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