KR102357137B1 - 이미지 처리 방법, 단말기, 및 서버 - Google Patents

이미지 처리 방법, 단말기, 및 서버 Download PDF

Info

Publication number
KR102357137B1
KR102357137B1 KR1020207001630A KR20207001630A KR102357137B1 KR 102357137 B1 KR102357137 B1 KR 102357137B1 KR 1020207001630 A KR1020207001630 A KR 1020207001630A KR 20207001630 A KR20207001630 A KR 20207001630A KR 102357137 B1 KR102357137 B1 KR 102357137B1
Authority
KR
South Korea
Prior art keywords
sub
region
image
division
latitude
Prior art date
Application number
KR1020207001630A
Other languages
English (en)
Other versions
KR20200019718A (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 KR20200019718A publication Critical patent/KR20200019718A/ko
Application granted granted Critical
Publication of KR102357137B1 publication Critical patent/KR102357137B1/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/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/234363Processing 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 altering the spatial resolution, e.g. for clients with a lower screen resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/067Reshaping or unfolding 3D tree structures onto 2D planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • 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/162User input
    • 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]
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Instructional Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 출원의 실시예들은 이미지가 이미지 샘플링에서 경도-위도 맵을 사용하여 균일하게 분할될 때 야기되는 인코딩 및 송신 동안 낮은 인코딩 효율 및 대역폭 낭비의 문제들을 해결하기 위한, 미디어 표준들 및 미디어 애플리케이션 기술들의 분야에 관한, 이미지 처리 방법, 단말기, 및 서버를 제공한다. 본 방법은: 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 경도-위도 맵 또는 구 맵의 서브-영역들을 획득하는 단계 -수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 획득된 서브-영역들의 이미지들을 인코딩하는 단계를 포함한다. 본 출원의 실시예들은 이미지의 타일 방식(tile-wise) 인코딩 및 송신에 사용된다.

Description

이미지 처리 방법, 단말기, 및 서버
본 출원은 2017년 7월 31일자로 중국 특허청에 출원되고 발명의 명칭이 "IMAGE PROCESSING METHOD, TERMINAL, AND SERVER" 인 중국 특허 출원 제201710645108.X호에 대한 우선권을 주장하며, 그 전체가 본 명세서에 참조로 포함된다.
본 출원은 미디어 표준들 및 미디어 애플리케이션 기술들의 분야에 관한 것으로, 특히 이미지 처리 방법, 단말기, 및 서버에 관한 것이다.
비디오 애플리케이션에서, 가상 현실(virtual reality, VR)/360-도 파노라마 비디오가 등장하여, 사람들에게 새로운 시청 방식 및 시각적 경험을 제공하고, 또한 새로운 기술적 도전이 제기되었다. 360-도 파노라마 비디오는 다중 각도 재생을 지원하기 위해 복수의 각도에서 물체 상의 복수의 카메라에 의해 촬영된다. 비디오의 이미지 신호는 구형 신호(spherical signal)로서 가상화될 수 있다. 도 1에 도시된 바와 같이, 구(sphere) 내의 상이한 위치들의 구형 이미지 신호들은 상이한 시각 콘텐츠를 나타낼 수 있다. 그러나, 가상 구형 이미지 신호는 사람의 눈에 의해 보여질 수 없다. 따라서, 3차원 구형 이미지 신호는 2차원 평면 이미지 신호로서 표현될 필요가 있고, 예를 들어, 경도-위도 맵 또는 큐브와 같은 표현 형태로 표현된다. 이러한 표현 형태들에서, 구형 이미지 신호는 구형 이미지 신호가 사람 눈에 의해 직접 보여질 수 있는 이미지 신호가 되도록, 매핑 방식으로 2차원 이미지에 실제로 매핑된다. 가장 빈번하게 사용되는 직접 이미지 포맷은 경도-위도 맵이다. 이미지를 수집하는 방식은 다음과 같다: 구형 이미지 신호는 경도 각도에 따라 수평 방향으로 균일하게 샘플링되고, 위도 각도에 따라 수직 방향으로 균일하게 샘플링된다. 지구의 구형 이미지 신호가 예로서 사용되고, 그것의 2차원 매핑 이미지가 도 2에 도시되어 있다.
VR 애플리케이션에서, 구형 이미지 신호는 360-도 파노라마 이미지이고, 사람 눈의 시각 범위는 대개 약 120도이다. 따라서, 사람 눈의 시각으로부터 보이는 유효 구형 신호는 파노라마 신호의 약 22%이다. VR 단말 디바이스(예를 들어, VR 안경)는 더 나은 사용자 시청 경험을 획득하기 위해 약 90도 내지 110도 사이의 단일 시각을 지원할 수 있다. 그러나, 사용자가 이미지를 시청할 때, 단일 시각에서의 이미지 콘텐츠 정보는 전체 파노라마 이미지의 작은 부분을 차지하고, 시각 외부의 이미지 정보는 사용자에 의해 사용되지 않는다. 모든 파노라마 이미지가 송신되면, 불필요한 대역폭 낭비가 야기된다. 따라서, 파노라마 비디오의 뷰포트 의존적 비디오 코딩(viewport dependent video coding, VDC) 인코딩 및 송신 기술에서, 전체 비디오의 이미지들이 분할되고, 송신될 필요가 있는 이미지 서브-영역이 사용자의 현재 시각에 따라 선택되고, 그에 의해 대역폭을 절약한다.
전술한 파노라마 비디오 VR 인코딩 및 송신 기술은 2가지 타입: (1) 타일 방식(tile-wise) 인코딩 및 송신 방식을 독립적으로 사용하고; (2) 파노라마 이미지 인코딩 및 타일 방식 인코딩 및 송신 방식의 하이브리드 인코딩 및 송신을 수행하는 것을 포함할 수 있다. 타일 방식 인코딩 및 송신 방식에서, 이미지 시퀀스는 일부 이미지 서브-영역들로 분할되고, 모든 서브-영역은 하나 이상의 비트스트림을 생성하기 위해 개별적으로 인코딩된다. 경도-위도 맵을 균일하게 분할하는 방식은 경도-위도 맵을 폭 방향 및 높이 방향으로 복수의 타일로 균일하게 분할하는 것을 포함한다. 사용자가 클라이언트 상에서 시각의 이미지를 시청할 때, 클라이언트는 사용자의 시각 위치에 기초하여 이미지 상의 시각의 커버리지 범위를 계산하고, 그 범위에 기초하여, 이미지에 타일의 위치 및 크기를 포함하는, 이미지에 대해 송신될 필요가 있는 타일 정보를 획득하고, 서버로부터, 송신을 위해 타일들에 대응하는 비트스트림들을 요청하여, 클라이언트 상에 현재 시각을 렌더링하고 디스플레이한다. 그러나, 경도-위도 맵이 분할을 위해 사용될 때, 적도 근처의 이미지의 샘플링 레이트는 비교적 높고, 2개의 극 근처의 이미지의 샘플링 레이트는 비교적 낮다. 다시 말해서, 적도 근처의 이미지의 픽셀 리던던시는 비교적 낮고, 2개의 극 근처의 이미지의 픽셀 리던던시는 비교적 높고, 더 높은 위도는 더 높은 리던던시를 표시한다. 경도-위도 맵이 균일한 분할을 위해 사용되는 경우, 상이한 위도들에서의 경도-위도 맵의 픽셀 리던던시 문제가 고려되지 않고, 각각의 이미지 블록은 동일한 조건 하에서 동일한 해상도에서의 송신을 위해 인코딩되어, 인코딩 효율이 낮고, 비교적 큰 송신 대역폭 낭비도 야기된다.
본 출원의 실시예들은 이미지 샘플링에서 경도-위도 맵을 사용함으로써 이미지가 균일하게 분할될 때 야기되는 인코딩 및 송신 동안 낮은 인코딩 효율 및 대역폭 낭비의 문제들을 해결하기 위한 이미지 처리 방법, 단말기, 및 서버를 제공한다.
제1 양태에 따르면, 이미지 처리 방법이 제공되고, 여기서 본 방법은 서버에 적용되고, 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 경도-위도 맵 또는 구 맵의 서브-영역들을 획득하는 단계 -수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 획득된 서브-영역들의 이미지들을 인코딩하는 단계를 포함한다. 이러한 방식으로, 경도-위도 맵이 동일한 분할 간격에서 균일하게 분할되는 종래 기술과 비교할 때, 균일한 분할 동안의 세심한 분할의 특성은 낮은 인코딩 효율을 야기하고, 인코딩 후의 송신 동안 큰 대역폭을 차지하는 문제가 야기된다. 본 출원에서, 상이한 위도들에서의 적어도 2개의 수직 분할 간격들에 기초하여 수직 분할을 수행함으로써 종래 기술에서의 균일하고 세심한 분할의 특성이 회피된다. 본 출원에서, 수직 분할은 복수의 수직 분할 간격에서 수행될 수 있어서, 이미지의 복수 크기의 서브-영역들이 존재하게 된다. 더 큰 분할 간격은 더 큰 서브-영역을 표시한다. 인코딩 동안 인코딩 효율이 개선되고, 인코딩 후에, 서버가 비트스트림을 단말기에 송신할 때 차지하는 대역폭이 감소된다.
가능한 설계에서, 수직 분할의 분할 위치가 위도에 의해 결정되는 것은: 수직 분할의 분할 위치의 더 높은 위도가 더 큰 수직 분할 간격을 표시하는 것을 포함한다. 이러한 방식으로, 서브-영역들이 위치되는 위도들이 상이하기 때문에, 더 높은 위도는 더 큰 서브-영역을 표시한다. 거친 분할은 인코딩 및 송신 효율을 개선할 수 있고, 송신 대역폭을 감소시킬 수 있다.
가능한 설계에서, 획득된 서브-영역들의 이미지들을 인코딩하는 단계 전에, 본 방법은: 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계를 추가로 포함하고, 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하고; 획득된 서브-영역들의 이미지들을 인코딩하는 단계는: 샘플링된 서브-영역들의 이미지들을 인코딩하는 단계를 포함한다. 경도-위도 맵에서, 적도 근처의 이미지의 픽셀 리던던시가 비교적 낮고, 2개의 극 근처의 이미지의 픽셀 리던던시가 비교적 높기 때문에, 각각의 서브-영역이 동일한 해상도로 인코딩되어 송신되면, 송신 대역폭은 크게 낭비된다. 또한, 디코딩 단의 픽셀 리던던시는 높고, 그 결과, 디코딩 단은 높은 디코딩 능력을 요구하고, 디코딩 속도는 낮다. 그러나, 본 출원에서, 수평 샘플링은 인코딩 전에 수행될 수 있고, 수평 샘플링이 수행될 때, 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시한다. 다시 말해서, 수평 방향에서 높은 위도의 서브-영역에 대해 다운샘플링이 수행되는데, 즉, 압축 샘플링이 수행되어, 인코딩 전의 높은 위도의 서브-영역에서 송신되는 이미지의 픽셀 리던던시가 감소될 수 있고, 그에 의해 대역폭을 감소시킬 수 있다. 또한, 다운샘플링은 인코딩 및 송신될 필요가 있는 픽셀 값을 감소시켜, 디코딩 능력에 대한 디코딩 단의 요건이 감소된다. 디코딩 복잡성이 감소되고, 이에 의해 디코딩 속도가 향상된다.
가능한 설계에서, 획득된 서브-영역들의 이미지들을 인코딩하는 단계 전에, 본 방법은: 서브-영역의 이미지를 제2 샘플링 간격에서 수직 방향으로 샘플링하는 단계를 추가로 포함한다. 제2 샘플링 간격은 샘플링 전의 서브-영역의 간격과 동일할 수 있는데, 즉, 원래의 샘플링은 수직 방향으로 유지되거나, 샘플링 전의 서브-영역의 간격보다 작을 수 있는데, 즉 다운샘플링이 전체 수직 방향으로 수행된다. 마찬가지로, 인코딩 및 송신의 대역폭이 비교적 작을 수 있고, 디코딩 단의 디코딩 복잡도가 감소되고, 디코딩 속도가 향상된다.
가능한 설계에서, 서브-영역이 처리될 이미지의 구 맵 상에서 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계 전에, 본 방법은: 서브-영역의 이미지를 미리 설정된 크기에 기초하여 2차원 평면 이미지에 매핑하는 단계를 추가로 포함하고; 및 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계는: 서브-영역의 이미지가 매핑되는 2차원 평면 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계를 포함한다. 다시 말해서, 서버가 촬영 디바이스로부터 구 맵을 수집하면, 서버는 먼저 구 맵의 서브-영역의 이미지를 2차원 경도-위도 맵에 매핑하고, 그 후 경도-위도 맵에 대한 다운샘플링을 수행할 수 있다. 이 경우, 서버는 촬영 디바이스로부터 구형 신호를 직접 수집하고, 서버는 구 맵을 서브-영역들로 직접 분할하고, 그 후 구 맵의 서브-영역들을 경도-위도 맵에 매핑하고, 그 후 경도-위도 맵에 대한 다운샘플링을 수행한다고 가정된다.
가능한 설계에서, 샘플링된 서브-영역들의 이미지들을 인코딩하는 단계 전에, 본 방법은: 조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되도록, 샘플링된 서브-영역들의 위치들을 조정하는 단계를 추가로 포함한다. 이러한 방식으로, 서브-영역들은 서버 및 단말기가 각각의 서브-영역의 수에 기초하여 각각의 서브-영역을 송신 및 처리하도록, 스플라이싱된 이미지에 순차적으로 번호가 매겨질 수 있다.
가능한 설계에서, 샘플링된 서브-영역들의 이미지들을 인코딩하는 단계는: 스플라이싱된 이미지의 타일(tile)을 인코딩하는 단계를 포함한다. 이러한 방식으로, 단일 비트스트림이 저장을 위해 생성될 수 있거나, 단일 비트스트림이 분할되어 저장을 위한 복수의 서브-영역들을 획득한다.
가능한 설계에서, 획득된 서브-영역들의 이미지들을 인코딩하는 단계 후에, 본 방법은: 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 독립적으로 캡슐화하고, 서브-영역들의 위치 정보를 인코딩하는 단계를 추가로 포함하고, 여기서 모든 서브-영역의 인코딩된 위치 정보 및 모든 서브-영역의 비트스트림들은 동일한 트랙에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보 및 비트스트림이 상기 위치 정보의 트랙 및 상기 비트스트림의 트랙에 각각 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 MPD(media presentation description)에 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 개인 파일에 존재하고, 개인 파일의 어드레스가 MPD에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보가 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 존재한다.
가능한 설계에서, 서브-영역이 처리될 이미지의 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 경도-위도 맵을 형성하고, 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 샘플링된 경도-위도 맵에서의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함하거나; 서브-영역이 처리될 이미지의 구 맵(sphere map)에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 구 맵을 형성하고, 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 샘플링된 구 맵의 이미지 내의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함한다. 이러한 방식으로, 단말기는 재생 및 디스플레이 동안 서브-영역의 위치 및 크기에 기초하여 이미지를 렌더링하고 제시할 수 있다.
가능한 설계에서, 개인 파일은 사용자 시점과 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계를 나타내는데 사용되는 정보를 추가로 포함할 수 있다. 단말기가 사용자 시점을 결정할 때, 단말기는 대응관계에 기초하여, 서브-영역의 비트스트림에 기초하여 디코딩 디스플레이를 수행하기 위해, 시점의 시각에 의해 커버되는 서브-영역을 직접 결정할 수 있고, 그에 의해 디코딩 동안의 단말기의 디코딩 속도를 향상시킨다.
가능한 설계에서, 개인 파일은 사용자의 시각에 의해 커버되는 서브-영역 내에 바람직하게 디스플레이될 필요가 있는 서브-영역들의 수량을 표현하는데 사용되는 정보, 바람직하게 디스플레이될 필요가 있는 서브-영역의 수에 관한 정보, 두번째로 디스플레이되는 서브-영역의 수에 관한 정보, 및 디스플레이되지 않은 서브-영역의 수에 관한 정보를 추가로 포함한다. 이러한 방식으로, 모든 서브-영역의 모든 비트스트림이 일부 이유들(예를 들어, 불안정한 네트워크)로 인해 획득될 수 없거나 획득될 필요가 없는 경우, 시점에 가까운 서브-영역의 이미지는 바람직하게 디스플레이를 위해 바람직하게 획득될 수 있고, 바람직하게 디스플레이되지 않는 서브-영역의 이미지 데이터는 폐기된다.
가능한 설계에서, 경도-위도 맵은 왼쪽 눈에 대응하는 경도-위도 맵 및 오른쪽 눈에 대응하는 경도-위도 맵을 포함하고; 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계 전에, 본 방법은: 오른쪽 눈에 대응하는 경도-위도 맵으로부터 왼쪽 눈에 대응하는 경도-위도 맵을 분할하는 단계를 추가로 포함하고; 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계는: 왼쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하고, 오른쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계를 포함한다. 이러한 방식으로, 3D 비디오 이미지는 또한 본 출원에서의 서브-영역 분할 방식으로 분할되어, 대역폭을 감소시키고 인코딩 및 송신의 효율을 향상시킬 수 있다.
가능한 설계에서, 본 방법은 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 단말기에 전송하는 단계; 또는 단말기에 의해 전송된 시각 정보를 수신하고, 시각 정보에 기초하여, 시각 정보에 대응하는 서브-영역을 획득하고, 시각 정보에 대응하는 서브-영역의 비트스트림을 단말기에 전송하는 단계; 또는 단말기에 의해 전송되는 서브-영역의 수를 수신하고, 서브-영역의 수에 대응하는 비트스트림을 단말기에 전송하는 단계를 추가로 포함한다. 다시 말해서, 단말기는 서브-영역의 이미지에 대응하는 요구된 비트스트림을 국부적으로 획득할 수 있거나, 서버가 시각 정보에 기초하여 서브-영역을 결정한 후에 서브-영역에 대응하는 비트스트림을 단말기에 전송할 수 있다. 대안적으로, 서버는 단말기가 요구된 서브-영역의 수를 결정한 후에 통지되고, 서버는 서브-영역에 대응하는 비트스트림을 단말기에 전송함으로써, 서버의 컴퓨팅 부하를 감소시킨다.
가능한 설계에서, 경도-위도 맵은 360-도 파노라마 비디오 이미지의 경도-위도 맵, 또는 360-도 파노라마 비디오 이미지의 경도-위도 맵의 일부이거나; 구 맵은 360-도 파노라마 비디오 이미지의 구 맵, 또는 360-도 파노라마 비디오 이미지의 구 맵의 일부이다. 다시 말해서, 본 출원에서의 서브-영역 분할 방식은 또한 180-도 절반-파노라마 비디오 이미지의 분할에 적용될 수 있고, 그에 의해 180-도 절반-파노라마 비디오 이미지의 송신 동안 대역폭을 감소시키고, 인코딩 및 송신 효율을 향상시킨다.
제2 양태에 따르면, 이미지 처리 방법이 제공되고, 본 방법은 단말기에 적용되고, 파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계; 각각의 서브-영역의 결정된 위치 정보에 기초하여, 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 결정하는 단계; 서브-영역의 제1 샘플링 간격을 결정하는 단계; 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보에 기초하여, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하는 단계; 비트스트림을 디코딩하여 현재 시각에 의해 커버되는 서브-영역의 이미지를 획득하는 단계; 및 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보 및 제1 샘플링 간격에 기초하여 디코딩된 이미지를 재샘플링하고, 재샘플링된 이미지를 재생하는 단계를 포함한다. 따라서, 샘플링 간격은 서브-영역의 위치에 따라 변할 수 있고, 서브-영역이 균일한 분할을 통해 획득되는 종래 기술에서의 것과 유사하지 않다. 디코딩 동안, 이미지는 지정된 샘플링 간격에 기초하여 디코딩되고 디스플레이된다. 본 출원에서, 단말기는 디스플레이를 위한 상이한 샘플링 간격들에 기초하여 이미지를 재샘플링하여, 디코딩 단의 이미지의 디스플레이 속도를 향상시킬 수 있다.
가능한 설계에서, 파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계는: 서버에 의해 전송된 제1 정보를 수신하는 단계 -제1 정보는 파노라마 이미지의 각각의 서브-영역 및 각각의 서브-영역의 비트스트림의 트랙을 포함하고, 트랙은 파노라마 이미지의 모든 서브-영역의 위치 정보를 포함함-; 및 트랙에 기초하여 파노라마 이미지 내의 각각의 서브-영역의 위치 정보를 획득하는 단계를 포함한다.
가능한 설계에서, 파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계는: 서버에 의해 전송되는 MPD(media presentation description)을 수신하는 단계 -MPD는 각각의 서브-영역의 위치 정보를 포함하거나, MPD는 개인 파일의 어드레스를 포함하고, 개인 파일은 각각의 서브-영역의 위치 정보를 포함함-; 및 MPD를 파싱하여 각각의 서브-영역의 위치 정보를 획득하는 단계를 포함한다.
가능한 설계에서, 서브-영역의 위치 정보는 서브-영역에 대응하는 비트스트림의 SEI(supplemental enhancement information)에 존재한다.
가능한 설계에서, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하는 단계는: 단말기의 메모리로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하는 단계; 또는 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하도록 요청하는 단계를 포함한다.
가능한 설계에서, 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하도록 요청하는 단계는: 현재 시각을 표시하는 정보를 서버에 전송하고, 현재 시각에 의해 커버되는 서브-영역에 대응하고 서버에 의해 전송되는 비트스트림을 수신하는 단계; 또는 단말기 및 서버에 의해 미리 설정된 프로토콜에 따라 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하는 단계를 포함하고, 프로토콜에는 시각과 시각에 의해 커버되는 서브-영역 사이의 대응관계를 포함시켜서, 서버로부터 단말기에 의해, 서브-영역에 대응하는 비트스트림을 획득하는 속도가 대응관계에 기초하여 향상될 수 있게 한다.
가능한 설계에서, 서브-영역의 제1 샘플링 간격을 결정하는 단계는: 미리 설정된 샘플링 간격을 제1 샘플링 간격으로서 결정하는 단계; 또는 서버로부터 제1 샘플링 간격을 수신하는 단계; 또는 서버로부터 수신되는 각각의 서브-영역의 위치 정보에 기초하여 제1 샘플링 간격을 획득하는 단계를 포함한다. 다시 말해서, 각각의 서브-영역의 위치 정보가 서로 상이할 때, 대응하는 제1 샘플링 간격도 서로 상이하다.
제3 양태에 따르면, 이미지 처리 방법이 제공되고, 본 방법은 서버에 적용되고, 파노라마 이미지의 경도-위도 맵 또는 구 맵(sphere map)의 서브-영역들의 이미지들에 대응하는 비트스트림들을 저장하는 단계 -서브-영역은 파노라마 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 서브-영역들의 이미지들에 대응하고 단말기에 의해 요구되는 저장된 비트스트림들에서 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 단말기에 전송하는 단계를 포함한다. 이러한 방식으로, 각각의 서브-영역의 이미지에 대응하고 서버에 의해 저장되는 비트스트림이 단말기에 송신될 때, 본 출원에서, 종래 기술에서의 균일하고 세심한 분할의 특성이 상이한 위도들에서의 적어도 2개의 수직 분할 간격에 기초하여 수직 분할을 수행하는 방식으로 회피될 수 있기 때문에, 본 출원에서, 수직 분할은 복수의 수직 분할 간격들로 수행될 수 있어서, 이미지의 서브-영역들의 복수의 크기가 존재하게 된다. 더 큰 분할 간격은 더 큰 서브-영역을 표시한다. 인코딩 동안 인코딩 효율이 개선되고, 인코딩 후에, 서버가 비트스트림을 단말기에 송신할 때 차지하는 대역폭이 감소된다.
가능한 설계에서, 인코딩되기 전에, 서브-영역에 대응하고 서버에 저장되는 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링되고, 여기서 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하거나, 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링된다.
제4 양태에 따르면, 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 경도-위도 맵 또는 구 맵의 서브-영역들을 획득하도록 구성되는 분할 유닛 -수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 획득된 서브-영역들의 이미지들을 인코딩하도록 구성되는 인코딩 유닛을 포함하는 서버가 제공된다.
가능한 설계에서, 수직 분할의 분할 위치가 위도에 의해 결정되는 것은: 수직 분할의 분할 위치의 더 높은 위도가 더 큰 수직 분할 간격을 표시하는 것을 포함한다.
가능한 설계에서, 서버는 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하도록 구성되는 샘플링 유닛을 추가로 포함하고, 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하고; 인코딩 유닛은 샘플링된 서브-영역들의 이미지들을 인코딩하도록 구성된다.
가능한 설계에서, 샘플링 유닛은 서브-영역의 이미지를 제2 샘플링 간격에서 수직 방향으로 샘플링하도록 추가로 구성된다.
가능한 설계에서, 샘플링 유닛은: 서브-영역의 이미지를 미리 설정된 크기에 기초하여 2차원 평면 이미지에 매핑하고; 서브-영역의 이미지가 매핑되는 2차원 평면 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하도록 추가로 구성된다.
가능한 설계에서, 서버는 조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되도록, 샘플링된 서브-영역들의 위치들을 조정하도록 구성되는 스플라이싱 유닛을 추가로 포함한다.
가능한 설계에서, 인코딩 유닛은 스플라이싱된 이미지의 타일(tile)을 인코딩하도록 구성된다.
가능한 설계에서, 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 독립적으로 캡슐화하고, 서브-영역들의 위치 정보를 인코딩하도록 구성되는 캡슐화 유닛이 추가로 포함되고, 여기서 모든 서브-영역의 인코딩된 위치 정보 및 모든 서브-영역의 비트스트림들은 동일한 트랙에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보 및 비트스트림이 위치 정보의 트랙 및 비트스트림의 트랙에 각각 존재하거나; 모든 서브-영역의 인코딩된 위치 정보가 MPD(media presentation description)에 존재하거나; 모든 서브-영역의 인코딩된 위치 정보가 개인 파일에 존재하고, 개인 파일의 어드레스가 MPD에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보가 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 존재한다.
가능한 설계에서, 서브-영역이 처리될 이미지의 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 경도-위도 맵을 형성하고, 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 샘플링된 경도-위도 맵에서의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함하거나; 서브-영역이 처리될 이미지의 구 맵(sphere map)에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 구 맵을 형성하고, 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 샘플링된 구 맵의 이미지 내의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함한다.
가능한 설계에서, 개인 파일은 사용자 시점과 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계를 나타내는데 사용되는 정보를 추가로 포함할 수 있다.
가능한 설계에서, 개인 파일은 사용자의 시각에 의해 커버되는 서브-영역 내에 바람직하게 디스플레이될 필요가 있는 서브-영역들의 수량을 표현하는데 사용되는 정보, 바람직하게 디스플레이될 필요가 있는 서브-영역의 수에 관한 정보, 두번째로 디스플레이되는 서브-영역의 수에 관한 정보, 및 디스플레이되지 않은 서브-영역의 수에 관한 정보를 추가로 포함한다.
가능한 설계에서, 경도-위도 맵은 왼쪽 눈에 대응하는 경도-위도 맵 및 오른쪽 눈에 대응하는 경도-위도 맵을 포함하고; 분할 유닛은 오른쪽 눈에 대응하는 경도-위도 맵으로부터 왼쪽 눈에 대응하는 상기 경도-위도 맵을 분리하도록 구성되고; 분할 유닛은 왼쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하고, 오른쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하도록 구성된다.
가능한 설계에서, 서버는 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 단말기에 전송하거나; 단말기에 의해 전송된 시각 정보를 수신하고, 시각 정보에 기초하여, 시각 정보에 대응하는 서브-영역을 획득하고, 시각 정보에 대응하는 서브-영역의 비트스트림을 단말기에 전송하거나; 단말기에 의해 전송되는 서브-영역의 수를 수신하고, 서브-영역의 수에 대응하는 비트스트림을 단말기에 전송하도록 구성되는 송신 유닛을 추가로 포함한다.
가능한 설계에서, 경도-위도 맵은 360-도 파노라마 비디오 이미지의 경도-위도 맵, 또는 360-도 파노라마 비디오 이미지의 경도-위도 맵의 일부이거나; 구 맵은 360-도 파노라마 비디오 이미지의 구 맵, 또는 360-도 파노라마 비디오 이미지의 구 맵의 일부이다.
제5 양태에 따르면, 파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하도록 구성되는 획득 유닛 -획득 유닛은 각각의 서브-영역의 결정된 위치 정보에 기초하여, 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 결정하고; 서브-영역의 제1 샘플링 간격을 결정하도록 추가로 구성되고; 획득 유닛은 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보에 기초하여, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하도록 추가로 구성됨-; 비트스트림을 디코딩하여 현재 시각에 의해 커버되는 서브-영역의 이미지를 획득하도록 구성되는 디코딩 유닛; 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보 및 제1 샘플링 간격에 기초하여 디코딩된 이미지를 재샘플링하도록 구성되는 재샘플링 유닛; 및 상기 재샘플링된 이미지를 재생하도록 구성되는 재생 유닛을 포함하는 단말기가 제공된다.
가능한 설계에서, 획득 유닛은: 서버에 의해 전송된 제1 정보를 수신하도록 구성되고, 제1 정보는 파노라마 이미지의 각각의 서브-영역 및 각각의 서브-영역의 비트스트림의 트랙을 포함하고, 트랙은 파노라마 이미지의 모든 서브-영역의 위치 정보를 포함하고; 획득 유닛은 트랙에 기초하여 파노라마 이미지 내의 각각의 서브-영역의 위치 정보를 획득하도록 추가로 구성된다.
가능한 설계에서, 획득 유닛은: 서버에 의해 전송되는 MPD(media presentation description) -MPD는 각각의 서브-영역의 위치 정보를 포함하거나, MPD는 개인 파일의 어드레스를 포함하고, 개인 파일은 각각의 서브-영역의 위치 정보를 포함함-을 수신하고; MPD를 파싱하여 각각의 서브-영역의 위치 정보를 획득하도록 구성된다.
가능한 설계에서, 서브-영역의 위치 정보는 서브-영역에 대응하는 비트스트림의 SEI(supplemental enhancement information)에 존재한다.
가능한 설계에서, 획득 유닛은: 단말기의 메모리로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하거나; 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득할 수 있게 요청하도록 구성된다.
가능한 설계에서, 획득 유닛은: 현재 시각을 표시하는 정보를 상기 서버에 전송하고, 현재 시각에 의해 커버되는 서브-영역에 대응하고 서버에 의해 전송되는 비트스트림을 수신하거나; 단말기 및 서버에 의해 미리 설정된 프로토콜에 따라 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하도록 구성되고, 프로토콜은 시각과 시각에 의해 커버되는 서브-영역 사이의 대응관계를 포함한다.
가능한 설계에서, 획득 유닛은: 미리 설정된 샘플링 간격을 제1 샘플링 간격으로서 결정하거나; 서버로부터 제1 샘플링 간격을 수신하도록 구성된다.
제6 양태에 따르면, 서버가 제공되고, 이 서버는 파노라마 이미지의 경도-위도 맵 또는 구 맵의 서브-영역들의 이미지들에 대응하는 비트스트림들을 저장하도록 구성되는 저장 유닛 -서브-영역은 파노라마 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 서브-영역들의 이미지들에 대응하고 단말기에 의해 요구되는 저장된 비트스트림들에서 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 단말기에 전송하도록 구성되는 송신 유닛을 포함한다.
가능한 설계에서, 인코딩되기 전에, 서브-영역에 대응하고 서버에 저장되는 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링되고, 여기서 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하거나, 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링된다. 다시 말해서, 수평 방향에서 높은 위도의 서브-영역에 대해 다운샘플링이 수행되는데, 즉, 압축 샘플링이 수행되어, 인코딩 전의 높은 위도의 서브-영역에서 송신되는 이미지의 픽셀 리던던시가 감소될 수 있고, 그에 의해 대역폭을 감소시킬 수 있다. 또한, 다운샘플링은 인코딩 및 송신될 필요가 있는 픽셀 값을 감소시켜, 디코딩 능력에 대한 디코딩 단의 요건이 감소된다. 디코딩 복잡성이 감소되고, 이에 의해 디코딩 속도가 향상된다.
다른 양태에서, 본 출원의 실시예는 전술한 서버에 의해 사용되는 컴퓨터 소프트웨어 명령어들을 저장하도록 구성되는 컴퓨터 저장 매체를 제공한다. 컴퓨터 저장 매체는 전술한 양태들을 실행하도록 설계된 프로그램을 포함한다.
다른 양태에서, 본 출원의 실시예는 전술한 단말기에 의해 사용되는 컴퓨터 소프트웨어 명령어들을 저장하도록 구성되는 컴퓨터 저장 매체를 제공한다. 컴퓨터 저장 매체는 전술한 양태들을 실행하도록 설계된 프로그램을 포함한다.
또 다른 양태에 따르면, 본 출원의 실시예는 명령어를 포함하는 컴퓨터 프로그램 제품을 제공한다. 명령어가 컴퓨터 상에서 실행될 때, 컴퓨터는 전술한 양태들에서의 방법들을 수행한다.
본 출원의 실시예들은, 이미지 처리 방법, 단말기, 및 서버를 제공하고, 여기서 본 방법은 처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 경도-위도 맵 또는 구 맵의 서브-영역들을 획득하는 단계 -수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리임-; 및 획득된 서브-영역들의 이미지들을 인코딩하는 단계를 포함한다. 이러한 방식으로, 경도-위도 맵이 동일한 분할 간격에서 균일하게 분할되는 종래 기술과 비교할 때, 균일한 분할 동안의 세심한 분할의 특성은 낮은 인코딩 효율을 야기하고, 인코딩 후의 송신 동안 큰 대역폭을 차지하는 문제가 야기된다. 본 출원에서, 상이한 위도들에서의 적어도 2개의 수직 분할 간격들에 기초하여 수직 분할을 수행함으로써 종래 기술에서의 균일하고 세심한 분할의 특성이 회피된다. 본 출원에서, 수직 분할은 복수의 수직 분할 간격에서 수행될 수 있어서, 이미지의 복수 크기의 서브-영역들이 존재하게 된다. 더 큰 분할 간격은 더 큰 서브-영역을 표시한다. 인코딩 동안 인코딩 효율이 개선되고, 인코딩 후에, 서버가 비트스트림을 단말기에 송신할 때 차지하는 대역폭이 감소된다.
도 1은 본 출원의 실시예에 따른 360-도 파노라마 이미지 신호의 개략도이고;
도 2는 본 출원의 실시예에 따라 360-도 파노라마 이미지 신호를 경도-위도 맵으로 변환한 개략도이고;
도 3은 본 출원의 실시예에 따른 네트워크 아키텍처의 개략도이고;
도 4는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이고;
도 5는 본 출원의 실시예에 따라 경도-위도 맵을 42개의 서브-영역으로 분할한 개략도이고;
도 6은 본 출원의 실시예에 따라 경도-위도 맵을 50개의 서브-영역으로 분할한 개략도이고;
도 7은 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이고;
도 8은 본 출원의 실시예에 따른 경도-위도 맵의 시점 영역의 개략도이고;
도 9는 본 출원의 실시예에 따라 시각에 의해 커버되는 서브-영역의 개략도이고;
도 10은 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이고;
도 11은 본 출원의 실시예에 따른 단말기의 디코딩 디스플레이 프로세스의 개략도이고;
도 12는 본 출원의 실시예에 따른 3D 경도-위도 맵의 서브-영역 분할의 개략도이고;
도 13은 본 출원의 실시예에 따른 180° 절반-파노라마 비디오 경도-위도 맵의 수평 분할 방식의 개략도이고;
도 14는 본 출원의 실시예에 따른 3D 180° 절반-파노라마 비디오 경도-위도 맵의 서브-영역 분할 방식의 개략도이고;
도 15는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이고;
도 16은 본 출원의 실시예에 따라 구 파노라마 신호(sphere panorama signal)를 분할하여 이미지 서브-영역을 획득하는 방법의 개략도이고;
도 17a는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이고;
도 17은 본 출원의 실시예에 따른 서버의 개략적인 구조도이고;
도 18은 본 출원의 실시예에 따른 서버의 개략적인 구조도이고;
도 19는 본 출원의 실시예에 따른 서버의 개략적인 구조도이고;
도 20은 본 출원의 실시예에 따른 단말기의 개략적인 구조도이고;
도 21은 본 출원의 실시예에 따른 단말기의 개략적인 구조도이고;
도 22는 본 출원의 실시예에 따른 단말기의 개략적인 구조도이고;
도 23은 본 출원의 실시예에 따른 서버의 개략적인 구조도이고;
도 24는 본 출원의 실시예에 따른 서버의 개략적인 구조도이며;
도 25는 본 출원의 실시예에 따른 서버의 개략적인 구조도이다.
이해의 용이성을 위해, 다음과 같이 나타낸, 본 출원과 관련된 일부 개념들의 예시적인 설명들은 참조를 위해 제공된다:
파노라마 비디오: 360-도 파노라마 비디오 또는 360 비디오라고도 지칭되는 VR 파노라마 비디오는 360-도 전역 방식(all-round manner)으로 복수의 카메라를 사용하여 촬영되는 비디오이다. 비디오를 시청할 때, 사용자는 비디오의 방향을 의도적으로 조정할 수 있다.
3D 파노라마 비디오: 3D 포맷의 VR 파노라마 비디오. 비디오는 2개의 360-도 파노라마 비디오를 포함한다. 하나는 왼쪽 눈에 사용되고, 다른 하나는 오른쪽 눈에 사용된다. 2개의 비디오는 동일한 프레임에서 왼쪽 눈 및 오른쪽 눈에 대해 디스플레이되는 콘텐츠에 일부 차이를 가지며, 따라서 사용자는 시청 동안 3D 효과를 가질 수 있다.
경도-위도 맵: 동일한 경도 간격 및 동일한 위도 간격에서 구형 신호를 균일하게 샘플링하고 매핑하는 것에 의해 획득되고 저장 및 송신에 사용될 수 있는, 정방형 투영(Equirectangular Projection, ERP), 파노라마 이미지 포맷, 2차원 파노라마 이미지. 이미지의 수평 좌표 및 수직 좌표는 위도 및 경도를 사용하여 각각 표현될 수 있다. 폭 방향은 360°의 스팬을 갖는 경도에 의해 표현될 수 있고, 높이 방향은 180°의 스팬을 갖는 위도에 의해 표현될 수 있다.
비디오 디코딩(video decoding): 특정 신택스 규칙 및 처리 방법에 따라 비디오 비트스트림을 재구성 이미지로 복원하는 처리 프로세스.
비디오 인코딩(video encoding): 이미지 시퀀스를 비트스트림으로 압축하는 처리 프로세스.
비디오 코딩(video coding): 비디오 인코딩 및 비디오 디코딩의 일반 명칭. 비디오 코딩의 변환된 중국어 용어는 비디오 인코딩의 용어와 동일하다.
타일: 비디오 인코딩 표준, 즉 고효율 비디오 코딩(High Efficiency Video Coding, HEVC)으로 인코딩될 이미지를 분할함으로써 획득된 블록 인코딩 영역. 이미지의 한 프레임은 복수의 타일로 분할될 수 있고, 복수의 타일은 이미지의 프레임을 형성한다. 각각의 타일은 독립적으로 인코딩될 수 있다. 본 출원의 타일은 모션-제약 타일 세트(motion-constrained tile set, MCTS) 기술을 사용하는 타일일 수 있다.
MCTS는 모션-제한 타일 세트이고, 타일에 대한 인코딩 기술이다. 본 기술은 인코딩 동안 타일 내부의 모션 벡터를 제한하기에, 이미지 시퀀스 내의 동일한 위치에서의 타일은 시간 도메인에서의 타일의 영역 위치 밖의 이미지 픽셀을 참조하지 않고, 따라서 시간 도메인에서의 각각의 타일은 독립적으로 디코딩될 수 있다.
서브-픽처(sub-picture)는 전체 이미지를 분할함으로써 획득되는 원래 이미지의 일부이다. 본 출원에서의 서브-픽처는 형상이 정사각형인 서브-픽처일 수 있다.
이미지 서브-영역: 본 출원에서의 이미지 서브-영역은 타일 또는 서브-픽처의 일반 명칭으로서 사용될 수 있고, 줄여서 서브-영역으로서 지칭될 수 있다.
VDC는 시각-기반 비디오 인코딩이고, 파노라마 비디오 인코딩을 위한 인코딩 및 송신 기술, 즉, 단말기 상의 사용자의 시각에 기초한 인코딩 및 송신을 위한 방법이다.
타일 방식 인코딩은 비디오 인코딩 방식이고, 이미지 시퀀스가 복수의 이미지 서브-영역들로 분할되고, 모든 서브-영역이 하나 이상의 비트스트림을 생성하도록 개별적으로 인코딩되는 프로세스이다. 본 출원에서의 타일 방식 인코딩은 VDC에서의 타일 방식 인코딩일 수 있다.
트랙은 국제 표준 기구(International Standards Organization, ISO) 베이스 미디어 파일 포맷(ISO base media file format, ISOBMFF)에 기초하여 캡슐화 방식으로 시간 속성을 갖고 있는 일련의 샘플들이다. 예를 들어, 비디오 트랙, 즉, 비디오 샘플은 각각의 프레임이 비디오 인코더에 의해 인코딩된 후에 생성된 비트스트림이고, 모든 비디오 샘플은 ISOBMFF의 사양에 따라 샘플들을 생성하도록 캡슐화된다.
박스는 "박스(box)"로서 번역될 수 있고, 표준의 객체-지향 빌딩 블록이고, 고유 타입 식별자 및 길이에 의해 정의된다. 박스는 일부 사양들에서 "원자(atom)"로서 지칭될 수 있고, MP4의 제1 정의를 포함한다. 박스는 ISOBMFF 파일의 기본 단위이고, 박스는 다른 박스들을 포함할 수 있다.
보충 향상 정보(supplemental enhancement information, SEI)는 비디오 인코딩 및 디코딩 표준들(h.264, h.265)에 정의되어 있는 네트워크 액세스 유닛(Network Access Layer Unit, NALU)의 유형이다.
MPD는 표준 ISO/IEC 23009-1에 명시된 문서이며, 문서는 클라이언트에 의해 구성된 하이퍼텍스트 송신 프로토콜(HyperText Transfer Protocol, HTTP)-URL(Uniform Resource Locator)의 메타데이터를 포함한다. MPD는 하나 이상의 기간(period) 요소들을 포함한다. 각각의 기간 요소는 하나 이상의 적응 세트(adaptationset)를 포함한다. 각각의 적응 세트는 하나 이상의 표현(representation)을 포함하고, 각각의 표현은 하나 이상의 세그먼트를 포함한다. 클라이언트는 MPD 내의 정보에 기초하여 표현을 선택하고, 세그먼트의 HTTP-URL을 구성한다.
ISO 기본 미디어 파일 포맷은 일련의 박스들을 포함한다. 박스 내에는 다른 박스들이 포함될 수 있다. 이러한 박스들은 메타데이터 박스 및 미디어 데이터 박스를 포함하고, 메타데이터 박스(moov box)는 메타데이터를 포함하고, 미디어 데이터 박스(mdat box)는 미디어 데이터를 포함한다. 메타데이터 박스 및 미디어 데이터 박스는 동일한 파일 내에 있을 수 있거나, 상이한 파일들 내에 있을 수 있다.
본 출원의 실시예들은 파노라마 비디오 또는 파노라마 비디오의 일부를 인코딩하기 전의 처리, 및 인코딩된 비트스트림이 캡슐화되는 프로세스에 적용할 수 있고, 서버 및 단말기 양쪽 모두에서의 대응하는 동작 및 처리를 포함할 수 있다.
도 3에 도시된 바와 같이, 본 출원에서의 네트워크 아키텍처는 서버(31) 및 단말기(32)를 포함할 수 있다. 촬영 디바이스(33)는 또한 서버(31)와 통신할 수 있고, 촬영 디바이스는 360-도 파노라마 비디오를 촬영하고, 비디오를 서버(31)에 송신하도록 구성될 수 있다. 서버는 파노라마 비디오에 대한 프리-인코딩 처리를 수행하고, 이어서 인코딩 또는 트랜스코딩 동작을 수행하고, 이후 인코딩된 비트스트림을 송신가능 파일로 캡슐화하고, 그 파일을 단말기 또는 콘텐츠 분배 네트워크에 송신할 수 있다. 서버는 단말기에 의해 피드백된 정보(예를 들어, 사용자의 시각)에 기초하여, 신호 송신을 위해 송신될 필요가 있는 콘텐츠를 추가로 선택할 수 있다. 단말기(32)는 VR 안경, 모바일 폰, 태블릿 컴퓨터, 텔레비전, 또는 컴퓨터와 같은 네트워크에 접속될 수 있는 전자 디바이스일 수 있다. 단말기(32)는 서버(31)에 의해 전송된 데이터를 수신하고, 디코딩 후에 비트스트림 역캡슐화 및 디스플레이를 수행하고, 기타 등등일 수 있다.
이미지가 경도-위도 맵에 기초하여 균일하게 분할될 때 야기되는, 인코딩 및 송신의 대역폭이 낭비되고 디코딩 능력 및 디코딩 단의 속도가 제한되는 문제점들을 해결하기 위해, 본 출원은 이미지 처리 방법을 제공한다. 본 방법은 이미지들의 복수의 서브-영역들에 기초한 경도-위도 맵 타일 방식 분할 및 처리 방법, 및 대응하는 인코딩, 송신, 및 디코딩 디스플레이 모드일 수 있다. 본 출원의 이 실시예에서, 경도-위도 맵의 수평 경도 범위는 0 내지 360°로 결정되고, 수직 위도 범위는 -90° 내지 90°이다. 음수는 남쪽 위도를 나타내고, 양수는 북쪽 위도를 나타낸다. 도 4에 도시된 바와 같이, 본 방법은 하기의 단계들을 포함할 수 있다.
인코딩 전의 처리:
401. 서버는 처리될 이미지의 경도-위도 맵에 대해 수평 분할을 수행하고, 여기서 수평 분할의 분할 위치는 미리 설정된 위도이다.
이미지는 비디오의 복수의 시퀀스 이미지일 수 있다.
예를 들어, 촬영 디바이스에 의해 수집된 비디오에 기초하여, 서버는 비디오의 경도-위도 맵을 획득한다. 도 5의 (a)에 도시된 바와 같이, 서버는 경도-위도 맵을 수평으로 분할하기 위해, 경도-위도 맵의 수직 방향으로 위도 -60°, 위도 -30°, 위도 0°, 위도 30°, 및 위도 60°에서 위도의 라인들을 개별적으로 드로잉한다. 도 5의 (a)에서, X는 위도 값을 표현하는데 사용되고, 위도 값은 경도-위도 맵의 적도에서 0°이다. 북쪽 위도 90°와 남쪽 위도 90°사이에서, 경도-위도 맵은 북쪽 위도 30° 및 북쪽 위도 60°로 수평으로 분할되고, 30°의 수평 분할 간격으로 남쪽 위도 -60°와 남쪽 위도 -30°로 수평으로 분할된다. 분할 간격은 또한 분할 단계로서 이해될 수 있다.
402. 서버는 처리될 이미지의 경도-위도 맵에 대해 수직 분할을 수행하고, 여기서 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 경도-위도 맵의 각각의 서브-영역을 획득하기 위한, 수직 분할의 인접 분할 위치들 사이의 거리이다.
가능한 구현에서, 수직 분할이 수행되는 경우, 상이한 위도들 사이의 수직 분할 간격들은 경도-위도 맵의 남쪽 위도에서 상이할 수 있고, 남쪽 위도와 대응하는 북쪽 위도 사이의 수직 분할 간격들은 동일할 수 있다. 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하거나, 수직 분할 간격들은 상이한 위도들 사이에서 동일하다.
예를 들어, 수평 분할의 분할 위치에 대해, 남쪽 위도에서의 -90° 내지 -60°의 위도 범위에서의 그리고 북쪽 위도에서의 60° 내지 90°의 위도 범위에서의 서브-픽처에 대해, 120°의 경도는 서브-픽처를 수직으로 분할하여 3개의 서브-영역들을 획득하기 위해 수직 분할 간격으로서 사용될 수 있고; -60° 내지 -30°의 위도 범위에서의 그리고 30° 내지 60°의 위도 범위에서의 서브-픽처에 대해, 60°의 경도는 서브-픽처를 수직으로 분할하여 6개의 서브-영역들을 획득하기 위해 수직 분할 간격으로서 사용되고; -30° 내지 0°의 위도 범위에서의 그리고 0° 내지 30°의 위도 범위에서의 서브-픽처에 대해, 30°의 경도는 서브-픽처를 수직으로 분할하여 12개의 서브-영역들을 획득하기 위해 수직 분할 간격으로서 사용된다. 이러한 방식으로, 도 5의 (a)에 도시된 바와 같이, 전체 경도-위도 맵의 서브-영역 분할이 완료된 후에 총 42개의 서브-영역들이 획득된다. 수직 분할 간격은 120°의 경도, 60°의 경도, 및 30°의 경도를 포함한다.
다른 가능한 구현에서, 서브-픽처가 분할되는 전술한 방식과 달리, 경도-위도 맵은 50개의 서브-영역들로 분할될 수 있다. 예를 들어, -90° 내지 -60° 및 60° 내지 90°의 위도 범위에서의 서브-픽처에 대해, 수직 분할이 수행되지 않고, 단일 서브-영역이 유지되고; -60° 내지 -30° 및 30° 내지 60°의 위도 범위에서의 서브-픽처에 대해, 30°의 경도는 서브-픽처를 수직으로 분할하여 12개의 서브-영역들을 획득하기 위해 수직 분할 간격으로서 사용되고; -30° 내지 0° 및 0° 내지 30°의 위도 범위에서의 서브-픽처에 대해, 30°의 경도는 서브-픽처를 수직으로 분할하여 12개의 서브-영역들을 획득하기 위해 수직 분할 간격으로서 사용된다. 이러한 방식으로, 총 50개의 서브-영역들은 도 6의 (a)에 도시된 바와 같이, 전체 경도-위도 맵이 분할된 후에 획득된다. 분할 단계는 30°의 경도 및 0°의 경도를 포함한다. 분할 단계가 0°일 때, 이것은 서브-픽처에 대해 수직 분할이 수행되지 않는다는 것을 나타낸다.
403. 서버는 획득된 서브-영역들의 이미지들을 인코딩한다.
따라서, 낮은 인코딩 효율을 야기하는 균일하고 세심한 분할의 특성, 및 인코딩된 후의 송신 동안의 큰 대역폭을 차지하는 문제는 본 출원에서 상이한 위도들 사이의 적어도 2가지 타입의 수직 분할 간격에 기초하여 수직 분할을 수행함으로써 회피될 수 있다. 경도-위도 맵은 복수의 수직 분할 간격에 기초하여 분할될 수 있어서, 복수의 크기의 서브-영역이 존재하게 되고, 더 큰 수직 분할 간격은 더 큰 서브-영역을 표시하게 된다. 예를 들어, 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격 및 더 큰 서브-영역을 표시한다. 인코딩 동안 인코딩 효율이 향상되고, 인코딩 후에 비트스트림을 단말기에 송신하는 서버가 차지하는 대역폭이 감소된다.
또한, 경도-위도 맵을 균일하게 분할하는 기존 방식에서, 디코딩 단에 대해, 즉, 단말기에 대해, 단말기에 의해 획득되는 여분의 픽셀들의 수량이 비교적 크고, 최대 디코딩 능력에 대한 단말기의 요건도 증가하고, 디코딩 속도에 대해 큰 도전이 존재한다. 이러한 문제에 대해, 본 출원에서, 불균일 분할이 수행된 후에, 즉 다운샘플링 후에 획득된 서브-영역에서의 픽셀에 대해 리던던시 제거(de-redundancy)가 수행될 수 있다. 이 경우, 인코딩 및 송신될 필요가 있는 화소들이 감소되고, 디코딩 단에 의해 요구되는 최대 디코딩 능력이 감소되고, 디코딩 복잡도가 감소되어, 디코더의 디코딩 속도가 향상된다. 따라서, 도 7에 도시된 바와 같이, 단계 403 전에, 본 출원의 구현 방법은 다음의 단계들을 추가로 포함할 수 있다.
404. 서버는 서브-영역의 이미지에 대해 원래의 샘플링을 수직 방향으로 수행하거나, 서브-영역의 이미지를 제2 샘플링 간격에서 수직 방향으로 샘플링한다.
예를 들어, 도 5의 (a) 또는 도 6의 (a)에 도시된 경도-위도 맵을 분할함으로써 획득된 각각의 서브-영역에 대해, 원래의 샘플링은 각각의 서브-영역의 이미지를 수직 방향으로 변경하지 않은 채 유지하고, 스케일링 처리를 수행하지 않거나, 처리를 수행하지 않는 것으로 이해될 수 있다. 샘플링은 제2 샘플링 간격에서 수행된다. 예를 들어, 각각의 전체 서브-영역에 대해 수직 방향으로 다운샘플링이 수행된다. 이것은 또한 서브-영역의 주어진 높이에 기초하여 수직 방향으로 샘플링이 수행되는 것으로서 이해될 수 있다.
405. 서버는 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하고, 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시한다.
제1 샘플링 간격 및 제2 샘플링 간격은 서버 측에 미리 설정될 수 있고, 제1 샘플링 간격과 제2 샘플링 간격은 동일하거나 상이할 수 있다. 제1 샘플링 간격은 스케일링 계수의 역수로서 이해될 수 있는데, 즉, 하나의 픽셀을 복수의 픽셀로부터 샘플링하여, 스케일링된 이미지를 획득한다.
예를 들어, 도 5의 (a)에 도시된 경도-위도 맵에 대해, 다운샘플링은 -90° 내지 -60°의 위도 범위에서의 그리고 60° 내지 90°의 위도 범위에서의 서브-픽처에 대해 수평으로 수행되고, 제1 샘플링 간격은 4이고, 즉 하나의 픽셀은 4개의 픽셀마다 샘플링되고, 스케일링 계수는 1/4이고; 다운샘플링은 또한 -60° 내지 -30°의 위도 범위에서의 그리고 30° 내지 60°의 위도 범위에서의 서브-픽처에 대해 수평으로 수행되고, 스케일링 계수는 1/2이고; -30° 내지 0°의 위도 범위에서의 그리고 0° 내지 30°의 위도 범위에서의 서브-픽처에 대해서는, 수평 스케일링이 수행되지 않는다. 최종적으로 획득된 샘플링된 이미지가 도 5의 (b)에 도시되어 있다. 도 5의 (b)는 도 5의 (a)에 대해 수직 방향 대신에 수평 방향으로만 다운샘플링이 수행된 후에 획득된 이미지라는 점에 유의해야 한다. 이 예에서, 제1 샘플링 간격은 수평 샘플링 동안의 위도에 비례한다. 다시 말해서, 북쪽 위도 이미지에 대한 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시한다. 유사하게, 남쪽 위도 이미지에 대한 더 높은 위도는 더 큰 제1 샘플링 간격을 표시한다. 남쪽 위도 이미지 및 북쪽 위도 이미지의 경우, 동일한 위도에 대응하는 샘플링 간격들은 동일하다.
다른 예에서, 도 6의 (a)에 도시된 경도-위도 맵의 경우, 다운샘플링이 수직 방향으로 수행되는 도 5의 (b)의 개략도와 비교하여, 위도 맵에 대해 분할 및 스케일링을 수행한 후에 획득되는 서브-영역들의 크기들은 상이한 위도들 사이에서 불균일할 수 있다. 이러한 방식으로, 도 5의 (b)에서의 스케일링된 서브-영역들의 크기들이 동일하다는 한계가 깨질 수 있고, 따라서 인코딩 및 송신 동안의 서버의 인코딩 및 송신 효율이 향상된다. 구체적으로, 도 6의 (a)에 도시된 경도-위도 맵의 경우, -90° 내지-60°의 위도 범위에서의 그리고 60° 내지 90°의 위도 범위에서의 서브-픽처는 샘플링 간격에서 수평 방향으로 다운샘플링이 수행되는 수직 방향에서 변하지 않고, 스케일링 계수는 1/4이고; -60° 내지 -30°의 위도 범위에서의 그리고 30° 내지 60°의 위도 범위에서의 서브-픽처는 다운샘플링이 수평 방향으로 수행되는 수직 방향에서 변하지 않고, 스케일링 계수는 7/12이고; -30° 내지 0°의 위도 범위에서의 그리고 0° 내지 30°의 위도 범위에서의 서브-픽처에 대해, 스케일링이 수행되지 않으며, 즉 수직 방향 또는 수평 방향에서의 스케일링이 수행되지 않고, 최종적으로 획득된 스케일링된 이미지가 도 6의 (b)에 도시되어 있다.
선택적으로, 스케일링된 경도-위도 맵은 도 5의 (b) 및 도 6의 (b)에 도시된 바와 같이 불규칙적이다. 따라서, 본 출원에서, 스케일링된 서브-영역이 재배치되고 결합되어 미리 설정된 이미지를 형성할 수 있다. 따라서, 본 방법은 다음의 단계들을 추가로 포함할 수 있다.
406. 서버는 샘플링된 서브-영역들의 위치들을 조정하여, 조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되게 한다.
예를 들어, 도 5의 (b)에 도시된 경도-위도 맵에 대해, 위치-조정된 이미지가 도 5의 (c)에 도시될 수 있다.
단계 403은 다음 단계로 대체될 수 있다:
407. 서버는 샘플링된 서브-영역들의 이미지들을 인코딩한다.
예를 들어, 분할 및 스케일링이 서브-영역들에 대해 수행된 후에 획득되는 도 5의 (b)에서의 42개의 서브-영역에서, 또는 도 5의 (c)에서의 재조합된 42개의 서브-영역에서, 각각의 서브-영역이 인코딩될 수 있다. 2개의 인코딩 방식들이 있을 수 있다: (1) 서브-픽처 인코딩 방식, 즉, 42개의 서브-비트스트림을 생성하기 위해 각각의 서브-픽처 시퀀스를 개별적으로 인코딩하는 것, 즉, 각각의 서브-픽처는 하나의 비트스트림에 대응한다. 서브-픽처는 전술한 서브-영역일 수 있는데, 즉, 42개의 서브-영역을 개별적으로 인코딩하여 각각의 서브-영역에 대응하는 비트스트림을 획득한다. (2) 전체 이미지에 대해 타일(tile) 모드 인코딩을 수행한다. 저장을 위한 전체 이미지의 단일 비트스트림을 생성하기 위해 인코딩 동안 MCTS 기술이 사용될 수 있거나, 저장을 위해 단일 비트스트림을 분할하여 42개의 서브-비트스트림들을 획득한다. 본 명세서에서의 전체 이미지는 도 5의 (b)에 도시된 바와 같이, 소스 경도-위도 맵이 샘플링되고 스케일링된 후에 획득되는 이미지일 수 있거나, 도 5의 (c)에 도시된 바와 같이, 샘플링되고 스케일링되는 이미지를 재조합한 후에 획득되는 정규 이미지일 수 있다.
이미지를 인코딩한 후에, 서버는 각각의 인코딩된 서브-영역의 비트스트림을 추가로 캡슐화할 필요가 있다. 따라서, 방식은 다음의 단계들을 추가로 포함할 수 있다.
408. 서버는 각각의 인코딩된 서브-영역의 이미지에 대응하는 비트스트림을 독립적으로 캡슐화하고, 각각의 서브-영역의 위치 정보를 인코딩한다.
서버는 모든 서브-영역의 비트스트림들을 하나의 트랙, 즉, 트랙으로 캡슐화할 수 있다. 예를 들어, 비트스트림들은 타일 트랙으로 캡슐화되거나, 비트스트림들에 대응하는 트랙들로 각각 캡슐화될 수 있다. 서브-영역의 위치 정보는 서브-영역 분할 방식의 설명 정보로서 이해될 수 있고, 모든 서브-영역의 인코딩된 위치 정보 및 모든 서브-영역의 비트스트림들은 동일한 트랙에 존재할 수 있거나; 각각의 서브-영역의 인코딩된 위치 정보 및 비트스트림이 위치 정보의 트랙 및 비트스트림의 트랙에 각각 존재하거나; 모든 서브-영역의 인코딩된 위치 정보가 MPD(media presentation description)에 존재하거나; 모든 서브-영역의 인코딩된 위치 정보가 개인 파일에 존재할 수 있고, 개인 파일의 어드레스가 MPD에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보가 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 존재한다. 서브-영역의 위치 정보의 저장 방식은 본 출원에서 제한되지 않는다.
서브-영역이 처리될 이미지의 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 경도-위도 맵을 형성하고, 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 샘플링된 경도-위도 맵에서의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 경도-위도 맵에서의 서브-영역의 위치 및 크기, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함한다. 크기는 폭 및 높이를 포함할 수 있다.
다음은 전술한 서브-영역의 위치 정보의 다양한 저장 방식들을 개별적으로 설명한다.
방식 1: 하나의 트랙에 모든 서브-영역의 위치 정보가 저장된다. 모든 서브-영역 분할 방식의 설명 정보는 스플라이싱된 이미지의 트랙에 추가될 수 있다. 예를 들어, 다음의 신택스는 스플라이싱된 이미지의 트랙의 moov 박스에 추가된다:
aligned(8) class RectRegionPacking(i) {
unsigned int(16) proj_reg_width[i];
unsigned int(16) proj_reg_height[i];
unsigned int(16) proj_reg_top[i];
unsigned int(16) proj_reg_left[i];
unsigned int(3) transform_type[i];
bit(5) reserved = 0;
unsigned int(16) packed_reg_width[i];
unsigned int(16) packed_reg_height[i];
unsigned int(16) packed_reg_top[i];
unsigned int(16) packed_reg_left[i];
}
RectRegionPacking(i)는 i번째 서브-영역의 분할 정보를 기술한다.
proj_reg_width[i] 및 proj_reg_height[i]는 소스 이미지의 샘플링된 이미지 내의 i번째 서브-영역의 대응하는 폭 및 대응하는 높이, 즉, 샘플링 전의 경도-위도 맵(예를 들어, 도 5의 (a)), 예를 들어, 도 5의 (a) 및 도 5의 (b)에 있는 서브-영역의 대응하는 폭 및 대응하는 높이를 기술한다. 예를 들어, 3840의 폭 및 1920의 높이를 갖는 경도-위도 맵의 경우, 소스 이미지에서 도 5의 (b)의 좌측 상단 코너에서의 제1 서브-영역의 폭 및 높이는 (1280, 320)이다.
proj_reg_top[i] 및 proj_reg_left[i]는 소스 이미지의 샘플링된 이미지 내의 i번째 서브-영역의 좌측 상단 코너에 있는 픽셀의 대응하는 위치, 예를 들어, 도 5의 (a) 및 도 5의 (b)에 있는 서브-영역의 좌측 상단 포인트의 대응하는 위치를 기술한다. 예를 들어, 소스 이미지에서 도 5의 (b)의 좌측 상단 코너에 있는 제1 서브-영역의 위치는 (0, 0)이다. 위치는 소스 이미지의 좌측 상단 코너를 좌표(0, 0)로서 사용함으로써 획득된다.
transform_type[i]는 샘플링된 이미지 내의 i번째 서브-영역이 소스 이미지 내의 대응하는 위치로부터 변환되는 것을 기술한다. 예를 들어, i번째 서브-영역은 소스 이미지 내의 대응하는 영역에 대해 다음과 같은 동작들을 수행함으로써 획득된다: 90도 유지/회전/180도 회전/270도 회전/수평 미러링 후에 90도 수평 미러링/회전/수평 미러링 후에 180도 회전/수평 미러링 후에 270도 회전.
packed_reg_width[i] 및 packed_reg_height[i]는 결합된 정규 이미지의 샘플링된 이미지에 있는 i번째 서브-영역의 폭 및 높이, 즉, 도 5의 (c)에서의 서브-영역의 폭 및 높이를 기술한다. 예를 들어, 도 5의 (b)에서의 좌측 상단 코너의 제1 서브-영역의 폭 및 높이는 결합된 정규 이미지에서의 (320, 320)이다. 단계 406이 수행되지 않을 때, 서브-영역들이 조합된 후에 획득되는 이미지는 도 5에서 (b)이고, 폭 및 높이는 도 5의 (b)에서의 폭 및 높이라는 점에 유의해야 한다.
packed_reg_top[i] 및 packed_reg_left[i]는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 샘플링된 이미지 내의 i번째 서브-영역의 좌측 상단 코너, 즉, 도 5의 (c)의 각각의 서브-영역의 좌측 상단 포인트에 있는 픽셀의 상대적 위치를 기술한다. 단계 406이 수행되지 않을 때, 서브-영역들이 결합된 후에 획득되는 이미지는 도 5에서 (b)이고, 위치는 도 5의 (b)에서의 위치라는 점에 유의해야 한다.
방식 2: 각각의 서브-영역의 위치 정보가 서브-영역에 대응하는 트랙에 저장될 때, 대응하는 서브-영역 분할 방식은 타일 트랙에 기술될 수 있다. 구체적으로, 다음의 신택스는 타일 트랙 내의 moov 박스에 추가될 수 있다:
aligned(8) class SubPictureCompositionBox extends TrackGroupTypeBox ('spco') {
unsigned int(16) track_x;
unsigned int(16) track_y;
unsigned int(16) track_width;
unsigned int(16) track_height;
unsigned int(16) composition_width;
unsigned int(16) composition_height;
unsigned int(16) proj_tile_x;
unsigned int(16) proj_tile_y;
unsigned int(16) proj_tile_width;
unsigned int(16) proj_tile_height;
unsigned int(16) proj_width;
unsigned int(16) proj_height;
}
track_x 및 track_y는 서브-영역들이 결합된 후에 획득되는 정규 이미지에서의 현재 트랙의 서브-영역의 좌측 상단 코너에 있는 픽셀의 위치, 즉 도 5의 (c)에서의 현재 서브-영역의 좌측 상단 포인트를 기술한다.
track_width 및 track_height는 서브-영역들이 결합된 후에 획득되는 정규 이미지에서의 현재 트랙의 서브-영역의 폭 및 높이, 즉, 도 5의 (c)에서의 현재 서브-영역의 폭 및 높이를 기술한다.
composition_width 및 composition_height는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 폭 및 높이, 즉 도 5의 (c)에서의 이미지의 폭 및 높이를 기술한다.
proj_tile_x 및 proj_tile_y는 소스 이미지에서의 현재 트랙의 서브-영역의 좌측 상단 코너, 즉, 도 5의 (a)에서의 현재 서브-영역의 좌측 상단 포인트에 있는 픽셀의 위치를 기술한다.
proj_tile_width 및 proj_tile_height는 소스 이미지에서의 현재 트랙의 서브-영역의 폭 및 높이, 즉, 도 5의 (a)에서의 현재 서브-영역의 폭 및 높이를 기술한다.
proj_width 및 proj_height는 소스 이미지의 폭 및 높이, 즉 도 5의 (a)에서의 이미지의 폭 및 높이를 기술한다.
방식 3: 모든 서브-영역의 위치 정보가 MPD에 저장되는데, 즉 서브-영역 분할 방식이 MPD에 기술된다.
MPD에서의 신택스는 다음과 같을 수 있다:
<?xml version="1.0" encoding="UTF-8"?>
<MPD
xmlns="urn:mpeg:dash:schema:mpd:2011"
type="static"
mediaPresentationDuration="PT10S"
minBufferTime="PT1S"
profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
<Period>
<!-- source image description -->
<AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:dash:srd:2014" value="0,0,0,3840,1920,3840,1920"/>
<Representation mimeType="video/mp4" codecs="avc1.42c00d" width="3840" height="1920" bandwidth="79707" startWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:OmvProjection" value="0 "/>
<BaseURL> src.mp4</BaseURL>
<SegmentBase indexRangeExact="true" indexRange="837-988"/>
</Representation>
</AdaptationSet>
<!-- Tile 1 -->
<AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:dash:srd:2014" value="0,0,0,1280,320,3840,1920"/>
<Representation mimeType="video/mp4" codecs="avc1.42c00d" width="1280" height="320" bandwidth="79707" startWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:OmvProjection" value="0 "/>
<BaseURL> tile1.mp4</BaseURL>
<SegmentBase indexRangeExact="true" indexRange="837-988"/>
</Representation>
</AdaptationSet>
<!-- Tile 2 -->
<AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:dash:srd:2014" value="0,1280,0,1280,320,3840,1920"/>
<Representation mimeType="video/mp4" codecs="avc1.42c00d" width="1280" height="320" bandwidth="79707" startWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:OmvProjection" value="0 "/>
<BaseURL> tile2.mp4</BaseURL>
<SegmentBase indexRangeExact="true" indexRange="837-988"/>
</Representation>
</AdaptationSet>
...
</Period>
</MPD>
방식 3의 신택스에서, <value="0,1280,0,1280,320,3840,1920"/>의 시맨틱은 다음과 같다: 첫번째 0은 소스 식별자를 나타내고, 동일 소스 식별자는 동일 소스, 즉 동일 소스 이미지를 나타내고; "1280,0"은 소스 이미지의 현재 표현에서의 서브-영역의 좌측 상단 위치의 좌표를 나타내고; "1280,320"은 현재 표현에서의 서브-영역의 폭 및 높이를 나타내고; "3840,1920"은 소스 이미지의 폭 및 높이를 나타낸다.
전술한 MPD에서, 2D 이미지는 소스 비디오 이미지 내의 서브-영역에 대응하는 비트스트림에 있는 이미지의 위치를 기술하는데 사용된다. 선택적으로, 소스 이미지 내의 서브-영역의 위치는 구형 좌표를 사용하여 표현될 수 있다. 예를 들어, 전술한 값의 정보는 구형 정보, 예를 들어, 값= "0,0,30,0,120,30"으로 변환된다. 특정 시맨틱은 다음과 같다: 첫번째 0은 소스 식별자를 나타내고, 동일 소스 식별자 값은 동일 소스를 나타내고; "0,30,0"은 구(sphere) 상의 서브-영역에 대응하는 영역의 중심 포인트의 좌표(요 각도(yaw angle), 피치 각도, 및 회전 각도)를 나타내고; "120,30"은 서브-영역의 폭 각도 및 높이 각도를 나타낸다.
방식 4: 모든 서브-영역의 위치 정보가 개인 파일에 저장되고, 개인 파일의 어드레스가 MPD에 저장된다. 다시 말해서, 서브-영역 분할의 설명 정보를 저장하는 개인 파일의 어드레스는 MPD 내의 파일 링크를 명시함으로써 MPD 내에 기입된다.
신택스는 다음과 같을 수 있다:
<?xml version="1.0" encoding="UTF-8"?>
<MPD
xmlns="urn:mpeg:dash:schema:mpd:2011"
type="static"
mediaPresentationDuration="PT10S"
minBufferTime="PT1S"
profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
<Period>
<AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:dash:tile:2014" value="tile_info.dat"/>
<Representation mimeType="video/mp4" codecs="avc1.42c00d" width="3840" height="1920" bandwidth="79707" startWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:OmvProjection" value="0 "/>
<BaseURL> src.mp4</BaseURL>
<SegmentBase indexRangeExact="true" indexRange="837-988"/>
</Representation>
</AdaptationSet>
...
</Period>
</MPD>
방식 4에서, 서브-영역의 분할 정보는 개인 파일 tile_info.dat에 저장된다. 파일에 저장된 서브-영역 분할 정보의 데이터는 사용자에 의해 지정될 수 있고, 이는 본 명세서에서 제한되지 않는다. 예를 들어, 저장된 콘텐츠는 다음 방식들 중 하나로 저장될 수 있다:
(file<tile_info.dat>content)
unsigned int(16) tile_num;
unsigned int(32) pic_width;
unsigned int(32) pic_height;
unsigned int(32) comp_width;
unsigned int(32) comp_height;
unsigned int(32) tile_pic_width[];
unsigned int(32) tile_pic_height[];
unsigned int(32) tile_comp_width[];
unsigned int(32) tile_comp_height[];
전술한 데이터는 다음의 의미를 표시한다:
tile_num은 분할된 서브-영역들의 수량을 나타낸다.
pic_width는 소스 이미지의 폭, 즉 도 5의 (a)에서의 이미지의 폭을 나타낸다.
pic_height는 소스 이미지의 높이, 즉 도 5의 (a)에서의 이미지의 높이를 나타낸다.
comp_width는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 폭, 즉 도 5의 (c)에서의 이미지의 폭을 나타낸다.
comp_height는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 높이, 즉 도 5의 (c)에서의 이미지의 높이를 나타낸다.
tile_pic_width[]는 소스 이미지 내의 각각의 서브-영역의 폭을 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
tile_pic_height[]는 소스 이미지 내의 각각의 서브-영역의 높이를 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
tile_comp_width[]는 서브-영역들이 결합된 후에 획득되는 정규 이미지 내의 각각의 서브-영역의 폭을 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
tile_comp_height[]는 서브-영역들이 결합된 후에 획득되는 정규 이미지 내의 각각의 서브-영역의 높이를 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
방식 4에서, 새로운 EssentialProperty attribute Tile@value을 지정함으로써 개인 파일의 URL(Uniform Resource Locator)이 MPD 내에 기입된다. Tile@value 속성 설명은 표 1에 도시될 수 있다. 단말기가 비디오 콘텐츠를 요청할 때, 요소를 파싱함으로써 개인 파일이 획득되어, 서브-영역 분할 방식 및 위치와 같은 정보를 획득한다.
표 1 "urn:mpeg:dash:tile:2014"에서의 Tile@value 속성 설명
Tile@value 설명
정보 타일들의 정보를 지정한다
방식 5: 각각의 서브-영역의 위치 정보는 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 저장되는데, 즉, 서브-영역의 위치 정보를 비트스트림의 SEI내에 기입함으로써 서브-영역을 송신하는 분할 방식으로 저장된다. 이미지 내의 서브-영역의 분할 정보에 기초하여, SEI 신택스 요소의 설정이 표 2에 도시될 수 있다.
표 2 서브-영역 분할 정보에 기초한 SEI 신택스 요소
Figure 112020005448311-pct00001
표 2에서, 새로운 타입155는 현재 비트스트림이 서브-영역 비트스트림이고, 정보 tile_wise_mapping_info(payloadSize)가 추가되는 것을 표시하는 SEI 타입에 추가되고, 포함된 신택스 요소 의미는 다음과 같다:
src_pic_width는 소스 이미지의 폭, 즉 도 5의 (a)에서의 이미지의 폭을 나타낸다.
src_pic_height는 소스 이미지의 높이, 즉 도 5의 (a)에서의 이미지의 높이를 나타낸다.
src_tile_x는 소스 이미지 상의 현재 서브-영역의 좌측 상단 코너의 수평 좌표, 즉 도 5의 (a)에서의 현재 서브-영역의 수평 좌표를 나타낸다.
src_tile_y는 소스 이미지 상의 현재 서브-영역의 좌측 상단 코너의 수직 좌표, 즉 도 5의 (a)에서의 현재 서브-영역의 수직 좌표를 나타낸다.
src_tile_width는 소스 이미지 상의 현재 서브-영역의 폭을 나타낸다.
src_tile_height는 소스 이미지 상의 현재 서브-영역의 높이를 나타낸다.
packed_pic_width는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 폭, 즉 도 5의 (c)에서의 이미지의 폭을 나타낸다.
packed_pic_height는 서브-영역들이 결합된 후에 획득되는 정규 이미지의 높이, 즉 도 5의 (c)에서의 이미지의 높이를 나타낸다.
packed_tile_x는 결합된 정규 이미지 상의 현재 서브-영역의 좌측 상단 코너의 수평 좌표, 즉 도 5의 (c)에서의 현재 서브-영역의 수평 좌표를 나타낸다.
packed_tile_y는 결합된 정규 이미지 상의 현재 서브-영역의 좌측 상단 코너의 수직 좌표, 즉, 도 5의 (c)에서의 현재 서브-영역의 수직 좌표를 나타낸다.
packed_tile_width는 결합된 정규 이미지 상의 현재 서브-영역의 폭을 나타낸다.
packed_tile_height는 결합된 정규 이미지 상의 현재 서브-영역의 높이를 나타낸다.
또한, 전술한 방식 4는 본 출원에서 확장될 수 있고, MPD에서, 서브-영역의 위치 정보를 저장하는 개인 파일의 URL은 새로운 요소를 사용하여 지정될 수 있다.
확장 방식 4: MPD 내의 파일 링크를 지정함으로써 서브-영역 분할 정보를 저장하는 개인 파일의 어드레스가 MPD 내에 기입된다. 신택스는 다음과 같을 수 있다:
<?xml version="1.0" encoding="UTF-8"?>
<MPD
xmlns="urn:mpeg:dash:schema:mpd:2011"
type="static"
mediaPresentationDuration="PT10S"
minBufferTime="PT1S"
profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
<Period>
<AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:dash:srd:2014" value="0,1,1,0"/>
<Representation mimeType="video/mp4" codecs="avc1.42c00d" width="3840" height="1920" bandwidth="79707" startWithSAP="1">
<UserdataList>
<UserdataURL dat="tile_info.dat" />
</UserdataList>
</Representation>
</AdaptationSet>
...
</Period>
</MPD>
확장 방식 4에서, 서브-영역의 위치 정보가 개인 파일 tile_info.dat에 저장되고, UserdataURL 요소를 포함하는 신택스 요소 <UserdataList>(표 3 참조)가 추가되고, 개인 파일이 MPD 내에 기입된다. 단말기가 비디오 콘텐츠를 요청할 때, <UserdataList>를 파싱함으로써 개인 파일이 획득되어, 서브-영역 분할 방식 및 위치와 같은 정보를 획득한다.
표 3 신택스 요소 ExtentdataList의 설명
요소 또는 속성 명칭 사용 설명
UserdataList 사용자 데이터 정보를 지정한다
UserdataURL 0 ... N 사용자 데이터 URL을 지정한다
전술한 방식 4에서의 서브-영역 분할 방식의 설명 정보는 확장될 수 있다. 이 확장은 송신된 개인 파일 tile_info.dat의 콘텐츠에 대한 것이고, 사용자의 시각과 요구되는 서브-영역 사이의 관계 표가 추가되어, 단말기는 대응하는 서브-영역 비트스트림을 더 신속하게 요청할 수 있다. 다시 말해서, 개인 파일은 사용자 시점과 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계를 표현하는데 사용되는 정보를 추가로 포함할 수 있다.
이 예에서, 개인 파일 tile_info.dat에 대해, 서브-영역 분할 정보 콘텐츠는 변경되지 않은 채로 유지되고, 사용자의 시각과 요구되는 서브-영역 사이의 관계 표 및 사용자 시점과 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계가 추가된다. 예를 들어, 저장된 콘텐츠는 다음과 같은 방식들 중 하나에 있을 수 있다:
(file<tile_info.dat>content)
unsigned int(16) tile_num;
unsigned int(32) pic_width;
unsigned int(32) pic_height;
unsigned int(32) comp_width;
unsigned int(32) comp_height;
unsigned int(32) tile_pic_width[];
unsigned int(32) tile_pic_height[];
unsigned int(32) tile_comp_width[];
unsigned int(32) tile_comp_height[];
unsigned int(16) deg_step_latitude;
unsigned int(16) deg_step_longitude;
unsigned int(32) view_tile_num;
unsigned int(16) viewport_table[][];
방식 4와 비교하여, 추가된 데이터는 각각 deg_step_latitude, deg_step_longitude, view_tile_num, and viewport_table[][]이고, 그 데이터의 의미는 다음과 같다:
deg_step_latitude는 위도 방향으로 분할된 시점 영역의 단계를 나타내고, 단계는 -90° 내지 90°의 위도 범위를 복수의 시점 영역으로 분할한다. 시점 영역은 경도-위도 맵 상의 시점의 영역 범위이다. 동일한 시점 영역에서, 단말기에 의해 획득되고 시점 영역을 커버하는 이미지의 서브-영역 비트스트림들은 동일하다. 도 8에 도시된 바와 같이, 전체 경도-위도 맵은 9개의 시점 영역으로 분할된다. 시점 1과 시점 2 양쪽 모두는 제5 시점 영역에 속하고, 시점 영역 5의 중심에서의 시점은 도 8에 표시되어 있다. 시점 영역 5의 범위 내의 모든 시점에 대해, 대응하는 시각 커버리지 범위는 중심 시점에 대응하는 시각에 의해 커버되는 범위로서 계산된다.
deg_step_longitude는 위도 방향으로 분할된 시점 영역의 단계를 나타내고, 단계는 0° 내지 360°의 경도 범위를 복수의 시점 영역으로 분할한다. deg_step_latitude 및 deg_step_longitude 둘 다는 시점 영역들의 수량을 결정한다.
view_tile_num는 단일 시각이 변할 때 커버될 수 있는 서브-영역들의 최대 수량을 나타낸다.
viewport_table[][]는 시점 영역과 시점 영역에 의해 커버되는 이미지 서브-영역의 수 사이의 관계 표를 저장하는데 사용되는 어레이이다. 표 내의 데이터의 총량은 view_tile_num이 승산된 시점 영역들의 수량이어야 한다.
데이터 표 viewport_table[][]의 예시적인 저장 방식은 다음과 같다:
viewport_table[100][18] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 19, 0, 0, 0, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 18, 21, 0, 0, 0, 0, 0,
...
5, 6, 7, 13, 14, 15, 16, 25, 26, 27, 28, 35, 36, 37, 0, 0, 0, 0,
...
}
표 내의 시점 영역들의 수량은 100이고, view_tile_num=18이다. 데이터 표의 각각의 행에서의 18개의 숫자는 시점의 시각에 의해 커버되는 서브-영역들의 수를 나타낸다. 숫자 0은 18개 미만의 서브-영역들이 시각을 커버할 수 있고, 빈 값이 0으로 채워진다는 것을 표시한다. 예를 들어, 도 9에 도시된 시점은 0°의 위도 및 150°의 경도를 갖는 시각에 위치되고, 커버된 서브-영역들은 5, 6, 7, 13, 14, 15, 16, 25, 26, 27, 28, 35, 36, 37로 번호가 매겨지고, 데이터 표 내의 값들은 5, 6, 7, 13, 14, 15, 16, 25, 26, 27, 28, 35, 36, 37, 0, 0, 0, 0으로 표현된다. 이러한 방식으로, 이러한 값들을 획득한 후에, 단말기는 단지 현재 시점에 기초하여 대응하는 표에서의 서브-영역들의 수들을 찾기만 하면 되고, 대응관계에 따라, 프레젠테이션을 디코딩을 위해 이들 번호에 대응하는 서브-영역 비트스트림들을 계산없이 직접 요청할 수 있고, 그에 의해 단말기의 처리 속도를 가속화한다.
전술한 개인 파일이 사용자 시점과 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계를 포함하는 것에 기초하여, 본 출원의 이 실시예에서, 시각 최적화를 위해 제시되는 플래그 데이터가 전술한 개인 파일 tile_info.dat에 추가될 수 있다. 이에 대응하여, 데이터 표 viewport_table[][] 내의 데이터의 배열은 최적화된 형태로 발생할 수 있다. 다시 말해서, 현재 시점에 더 가까운 서브-영역은 현재 시점에 대응하는 행의 전방 위치에 서브-영역의 수가 나타난다는 것을 표시한다.
이 예에서, 개인 파일은 사용자의 시각에 의해 커버되는 서브-영역 내에 바람직하게 디스플레이될 필요가 있는 서브-영역들의 수량을 표현하는데 사용되는 정보, 바람직하게 디스플레이될 필요가 있는 서브-영역의 수에 관한 정보, 두번째로 디스플레이되는 서브-영역의 수에 관한 정보, 및 디스플레이되지 않은 서브-영역의 수에 관한 정보를 추가로 포함한다. 개인 파일 tile_info.dat에 대해, 저장된 콘텐츠는 다음과 같은 방식들 중 하나에 있을 수 있다:
(file<tile_info.dat>content)
unsigned int(16) tile_num;
unsigned int(32) pic_width;
unsigned int(32) pic_height;
unsigned int(32) comp_width;
unsigned int(32) comp_height;
unsigned int(32) tile_pic_width[];
unsigned int(32) tile_pic_height[];
unsigned int(32) tile_comp_width[];
unsigned int(32) tile_comp_height[];
unsigned int(16) deg_step_latitude;
unsigned int(16) deg_step_longitude;
unsigned int(32) view_tile_num;
unsigned int(16) priority_view_tile_num;
unsigned int(16) viewport_table[][];
새롭게 추가된 데이터는 priority_view_tile_num이고, 데이터의 의미는 현재 시점에서 바람직하게 디스플레이될 필요가 있는 서브-영역들의 수량이다. 이에 대응하여, 표 viewport_table[][] 내의 데이터 배열이 수정되고, 현재 시점에 가까운 서브-영역은 다음과 같이 도시된, 현재 시점에 대응하는 행 전에 배치된다:
viewport_table[100][18] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 19, 0, 0, 0, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 18, 21, 0, 0, 0, 0, 0,
...
14, 15, 26, 27, 13, 6, 16, 28, 36, 25, 5, 7, 35, 37, 0, 0, 0, 0,
...
}
표에 도시된 바와 같이, 도 9에 도시된 0°의 위도 및 150°의 경도를 갖는 시각에 위치된 시점에 대응하여, 표 내의 데이터는 14, 15, 26, 27, 13, 6, 16, 28, 36, 25, 5, 7, 35, 37, 0, 0, 0, 0으로 변경되고, 시점에 비교적 가까운 서브-영역들의 숫자들: 14, 15, 26, 27은 전방에 배치되고, 시점으로부터 비교적 멀리 떨어진 서브-영역들의 숫자들: 13, 6, 16, 28, 36, 25는 중간에 배치되고, 가장 먼 서브-영역들의 숫자들: 5, 7, 35, 37은 뒤에 배치된다. 시점에 가까운 서브-영역은 바람직하게 디스플레이되고, 시점으로부터 비교적 멀리 떨어진 서브-영역은 바람직하게 디스플레이되지 않고, 두번째로 디스플레이될 수 있다. 전술한 동작의 이점은 모든 서브-영역의 모든 비트스트림이 일부 이유들(예를 들어, 불안정한 네트워크)로 인해 획득될 수 없거나 획득될 필요가 없을 때, 시점에 가까운 서브-영역이 바람직하게 디스플레이를 위해 바람직하게 획득될 수 있고, 바람직하게 디스플레이되지 않는 서브-영역의 이미지 데이터가 폐기된다는 것이다.
전술한 서버가 프리-인코딩 처리, 인코딩, 및 캡슐화를 수행한 후에, 단말기는 디스플레이를 디코딩하기 위한 캡슐화된 비트스트림을 획득할 수 있다. 따라서, 도 10에 도시된 바와 같이, 본 출원의 이 실시예에서의 방법은 다음의 단계들을 추가로 포함할 수 있다.
101. 단말기는 파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정한다.
가능한 구현에서, 단말기는 서버에 의해 전송된 제1 정보를 수신할 수 있고, 제1 정보는 파노라마 이미지의 각각의 서브-영역 및 각각의 서브-영역의 비트스트림의 트랙을 포함하고, 트랙은 파노라마 이미지의 모든 서브-영역의 위치 정보를 포함한다. 단말기는 트랙에 기초하여 파싱을 통해 파노라마 이미지 내의 각각의 서브-영역의 위치 정보를 획득한다. 트랙은 전술한 방식 1의 결합된 이미지의 트랙일 수 있고, 단말기는 결합된 이미지의 트랙 내의 RectRegionPacking(i)에 정의된 신택스를 파싱함으로써 모든 서브-영역의 위치 정보를 파싱할 수 있다.
대안적으로, 서브-영역의 위치 정보에 대해, 단말기는 서브-영역의 위치 정보가 저장되는 전술한 방식 2에 따라, 각각의 서브-영역에 대응하는 트랙, 즉 타일 트랙에서의 각각의 서브-영역의 위치 정보를 저장할 수 있다. 단말기는 각각의 타일 트랙에서 SubPictureCompositionBox에 정의된 영역을 파싱함으로써 현재 서브-영역의 위치 정보를 획득할 수 있다.
대안적으로, 단말기는 서버에 의해 전송된 MPD를 수신할 수 있고, 여기서 MPD는 각각의 서브-영역의 위치 정보를 포함하거나, MPD는 개인 파일의 어드레스를 포함하고, 개인 파일은 각각의 서브-영역의 위치 정보를 포함한다. 단말기는 MPD를 파싱하여 각각의 서브-영역의 위치 정보를 획득한다.
대안적으로, 단말기는 먼저 각각의 서브-영역에 대응하는 비트스트림을 획득할 수 있고, 서브-영역의 위치 정보는 서브-영역에 대응하는 SEI 내에 존재한다. 다시 말해서, 서브-영역의 요구되는 비트스트림을 요청할 때, 단말기는 비트스트림의 SEI에 기초하여 서브-영역의 위치 정보를 획득할 수 있다.
102. 단말기는 각각의 서브-영역의 결정된 위치 정보에 기초하여, 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 결정한다.
예를 들어, 단말기는 시각과 시각에 의해 커버되는 서브-영역의 위치 정보 사이의 매칭 관계에 따라 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 획득할 수 있다.
103. 단말기는 서브-영역의 제1 샘플링 간격을 결정한다.
단말기는 미리 설정된 샘플링 간격을 제1 샘플링 간격으로서 결정할 수 있거나, 단말기는 서버로부터 제1 샘플링 간격을 수신하거나, 단말기는 서버로부터 수신되는 각각의 서브-영역의 위치 정보에 기초하여 제1 샘플링 간격을 획득할 수 있다. 다시 말해서, 각각의 서브-영역에 대응하는 제1 샘플링 간격을 획득하기 위해, 각각의 서브-영역의 위치 정보와 제1 샘플링 간격 사이에 미리 설정된 계산 규칙이 존재할 수 있다. 계산 규칙은 소스 이미지 내의 서브-영역의 위치 정보에서의 크기 대 결합된 이미지 내의 서브-영역의 위치 정보에서의 크기의 비율, 즉, 제1 샘플링 간격일 수 있다.
104. 단말기는 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보에 기초하여, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득한다.
모든 서브-영역의 비트스트림들이 단말기에서 국부적으로 저장되는 경우, 단말기는 단말기의 메모리로부터, 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 직접 획득할 수 있다.
대안적으로, 단말기는 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득하도록 요청한다. 예를 들어, 단말기는 현재 시각 각도를 표시하는 정보를 서버에 전송할 수 있다. 서버는 현재 시각 및 현재 시각에 의해 커버될 수 있는 서브-영역의 위치 정보에 기초하여, 현재 시각에 의해 커버되는 서브-영역을 획득한 다음, 현재 시각에 의해 커버되는 서브-영역에 대응하고 단말기에 의해 요구되는 비트스트림을 단말기에 전송할 수 있다. 예를 들어, 서버는 송신될 서브-영역 비트스트림이 결합된 후에 획득된 비트스트림을 단말기에 전송할 수 있다. 대안적으로, 현재 시각 및 현재 시각에 의해 커버되는 서브-영역의 위치 정보에 기초하여, 현재 시각에 의해 커버되는 서브-영역을 획득한 후에, 단말기는 현재 시각에 의해 커버되는 서브-영역의 수를 서버에 전송할 수 있고, 서버는 그 수에 기초하여, 단말기에 의해 요구되는 서브-영역의 비트스트림을 단말기에 전송할 수 있다. 대안적으로, 단말기는 단말기 및 서버에 의해 미리 설정된 프로토콜에 따라 서버로부터, 현재 시각에 의해 커버되는 서브-영역에 대응하는 비트스트림을 획득할 수 있고, 프로토콜은 시각과 시각에 의해 커버되는 서브-영역 사이의 대응관계를 포함한다. 단말기가 요구되는 비트스트림을 획득하는 방식은 본 출원에서 제한되지 않는다.
105. 단말기는 비트스트림을 디코딩하여 현재 시각에 의해 커버되는 서브-영역의 이미지를 획득한다.
서버가 경도-위도 맵에 대해 수평 분할, 수직 분할, 및 수직 다운샘플링 처리를 수행하기 때문에, 즉, 서브-영역에서의 픽셀에 대해 리던던시 제거 처리를 수행함으로써, 송신될 서브-영역의 픽셀 리던던시가 감소되고 픽셀 값이 감소된다. 디코더의 경우, 현재 시각에 의해 커버되는 서브-영역의 비트스트림이 획득될 때, 디코딩 능력에 대한 요건이 감소될 수 있고 디코딩의 복잡성이 감소되어, 디코딩 속도가 향상된다.
106. 단말기는 현재 시각에 의해 커버되는 서브-영역의 결정된 위치 정보 및 제1 샘플링 간격에 기초하여 디코딩된 이미지를 재샘플링한다.
107. 단말기는 재샘플링된 이미지를 재생한다.
도 11에 도시된 바와 같이, 사용자가 디스플레이하도록 요청하는 시각에 대응하는 서브-영역이 도 11의 (d)에 도시되어 있다고 가정한다. 도 11의 (b)에 도시된 바와 같은 계산을 통해 획득된 요구되는 서브-영역에 기초하여, 단말기는 서브-영역의 수와 비트스트림 사이의 대응관계에 기초하여, 도 11의 (c)에 도시된 바와 같이 1, 3, 4, 5, 6, 15, 19, 20, 21, 22, 23, 24, 34, 35, 36 및 37로 번호가 매겨진 서브-비트스트림들을 포함하는, 요구되는 서브-영역에 대응하는 비트스트림을 획득할 수 있다. 또한, 서브-비트스트림들을 디코딩한 후에, 단말기는 위치 정보 및 제1 샘플링 간격에 기초하여 디코딩된 이미지를 재샘플링하고, 도 11의 (d)에 도시된 바와 같이 재샘플링된 이미지를 재생할 수 있다.
전술한 프리-인코딩 처리, 인코딩, 및 단말기 부분은 2D 경도-위도 맵이 사용되는 예를 사용하여 설명된다. 본 출원의 이러한 실시예는 3D 경도-위도 맵의 인코딩 및 송신 프로세스를 위해 추가로 사용될 수 있고, 3D 경도-위도 맵의 시퀀스의 신호들의 2개의 채널들은 개별적으로 처리될 수 있다. 3D 시각 효과가 제시될 필요가 있을 때, 서버와 통신하는 촬영 디바이스는 2개의 그룹을 포함할 수 있는데, 촬영 디바이스들 중 하나의 그룹은 왼쪽 눈의 파노라마 비디오를 획득하도록 구성되고, 촬영 디바이스들 중 다른 그룹은 오른쪽 눈의 파노라마 비디오를 획득하도록 구성된다는 점이 이해될 수 있다. 이러한 방식으로, 3D 경도-위도 맵의 서브-영역 분할이 도 12에 도시될 수 있다. 왼쪽 눈의 경도-위도 맵은 도 12의 상반부이고, 오른쪽 눈의 경도-위도 맵은 도 12의 하반부이다. 왼쪽 눈에 대응하는 경도-위도 맵은 오른쪽 눈에 대응하는 경도-위도 맵으로 스플라이싱되어, 하나의 경도-위도 맵이 될 수 있거나, 서로로부터 분리되어 2개의 경도-위도 맵이 될 수 있다. 서버는 오른쪽 눈에 대응하는 경도-위도 맵으로부터 왼쪽 눈에 대응하는 경도-위도 맵을 분리하여, 왼쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하고, 오른쪽 눈에 대응하는 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행할 수 있다.
3D 경도-위도 맵에서, 왼쪽 눈 경도-위도 맵의 수평 분할에 대해서는, 단계 401의 구현을 참조하고; 오른쪽 눈 경도-위도 맵의 수평 분할에 대해서도 단계 401의 구현을 참조한다. 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
3D 경도-위도 맵에서, 왼쪽 눈 경도-위도 맵의 수직 분할에 대해서는, 단계 402의 구현을 참조하고; 오른쪽 눈 경도-위도 맵의 수직 분할에 대해서도 단계 402의 구현을 참조한다. 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
3D 경도-위도 맵에서, 왼쪽 눈 경도-위도 맵의 각각의 서브-영역의 샘플링에 대해서는, 단계 404 및 단계 405의 구현들을 참조하고; 오른쪽 눈 경도-위도 맵의 각각의 서브-영역의 샘플링에 대해서도 단계 404 및 단계 405의 구현들을 참조한다. 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
따라서, 42개의 서브-영역은 왼쪽 눈 경도-위도 맵에서 최종적으로 획득되고, 42개의 서브-영역은 오른쪽 눈 경도-위도 맵에서 획득되어, 총 84개의 서브-영역이 획득된다.
3D 경도-위도 맵에서, 분할 및 샘플링 후에 획득된 이미지 내의 각각의 서브-영역을 인코딩하기 위한 복수의 방식이 존재할 수 있고, 3개의 가능한 방식이 본 명세서에서 열거된다. 제1 방식에서, 각각의 서브-영역은 원래의 이미지로부터 분할된 하나의 서브-픽처로서 사용되고, 각각의 서브-픽처 시퀀스는 독립적으로 인코딩되어 84개의 서브-비트스트림을 생성한다. 제2 방식에서, 분할된 서브-영역 모드 인코딩(HEVC 표준에 의해 지원됨)은 전체 이미지에 대해 수행되어 저장을 위한 단일 비트스트림을 생성하거나, 단일 비트스트림을 분할하여 저장을 위한 84개의 서브-비트스트림들을 획득한다. 제3 방식에서, 왼쪽 눈 경도-위도 맵 및 오른쪽 눈 경도-위도 맵의 동일한 위치 내의 서브-영역들은 서브-영역들의 하나의 그룹으로서 사용되고, 이미지 스플라이싱이 수행된 후에, 왼쪽 눈 경도-위도 맵과 오른쪽 눈 경도-위도 맵은 개별적으로 인코딩되어 42개의 서브-비트스트림을 생성한다.
캡슐화 프로세스에 대해서는, 전술한 방식 1 내지 방식 5를 참조한다. 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
3D 경도-위도 맵 비디오의 경우, 단말기가 비디오 콘텐츠를 디코딩하는 프로세스와 2D 경도-위도 맵에서의 프로세스 사이의 차이는 다음과 같다: 본 명세서에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보는 왼쪽 눈 이미지 서브-영역의 위치 정보 및 오른쪽 눈 이미지 서브-영역의 위치 정보를 포함한다.
현재 시각에 의해 커버되는 서브-영역의 비트스트림들은 왼쪽 눈 경도-위도 맵에서의 서브-영역들의 비트스트림들 및 오른쪽 눈 경도-위도 맵에서의 서브-영역들의 비트스트림들을 포함한다. 현재 시각의 값은 왼쪽 눈의 시점 값 또는 오른쪽 눈의 시점 값일 수 있다. 이것은 본 명세서에서 제한되지 않는다. 재샘플링 동안, 현재 시각에서 왼쪽 눈에 의해 커버되는 서브-영역의 이미지가 재샘플링되고, 현재 시각에서 오른쪽 눈에 의해 커버되는 서브-영역의 이미지가 재샘플링되어, 요구되는 왼쪽 눈 서브-영역 및 요구되는 오른쪽 눈 서브-영역이 렌더링되고 디스플레이된다.
전술한 방법 프로세스는 360-도 파노라마 비디오 이미지의 경도-위도 맵, 또는 360-도 파노라마 비디오 이미지의 경도-위도 맵의 일부에 추가로 적용될 수 있다. 예를 들어, 경도-위도 맵의 분할 방식은 180° 절반-파노라마 비디오 이미지의 경도-위도 맵의 분할에 추가로 적용될 수 있다. 180° 절반-파노라마 비디오는 경도 범위가 180°이고 360-도 파노라마 비디오의 콘텐츠의 절반을 포함하는 파노라마 비디오이다.
도 13의 (a)에 도시된 바와 같이, 180° 절반-파노라마 비디오의 경도-위도 맵의 수평 분할 방식에 대해서는, 전술한 단계 401을 참조한다. 수직 분할의 경우, 전술한 단계 402의 가능한 구현과는 상이하게, -90° 내지 -60°의 위도 범위 내의 서브-픽처 및 60° 내지 90°의 위도 범위 내의 서브-픽처는 수직으로 분할되지 않아서 단일 서브-영역을 유지할 수 있고; -60° 내지 -30°의 위도 범위 내의 서브-픽처 및 30° 내지 60°의 위도 범위 내의 서브-픽처의 경우, 서브-픽처는 60°의 경도를 수직 분할 간격으로서 사용하여 수직으로 분할함으로써 3개의 서브-영역을 획득하고; -30° 내지 0°의 위도 범위 내의 서브-픽처 및 0° 내지 30°의 위도 범위 내의 서브-픽처의 경우, 서브-픽처는 30°의 경도를 수직 분할 간격으로서 사용하여 수직으로 분할함으로써 6개의 서브-영역을 획득한다. 이러한 방식으로, 전체 180° 절반-파노라마 비디오의 경도-위도 맵의 서브-영역 분할이 완료되고, 총 20개의 서브-영역이 획득된다.
180° 절반-파노라마 비디오의 경도-위도 맵의 서브-영역은 또한 다운샘플링되고 인코딩될 수 있으며, 이는 단계 404의 전술한 구현에서의 것과 동일할 수 있다. 단계 405의 전술한 구현과의 차이는 다음과 같을 수 있다: 도 13에서의 (a)는 예로서 사용되고, -90° 내지 -60°의 위도 범위 내의 그리고 60° 내지 90°의 위도 범위 내의 서브-픽처에 대해서는, 수직 방향 대신에 수평 방향으로 다운샘플링이 수행되고, 스케일링 계수는 1/6이고; -60° 내지 -30°의 위도 범위 내의 그리고 30° 내지 60°의 위도 범위 내의 서브-픽처에 대해서는, 유사하게, 수직 방향 대신에 수평 방향으로 다운샘플링이 수행되고, 스케일링 계수는 1/2이고; -30° 내지 0°의 위도 범위 내의 그리고 0° 내지 30°의 위도 범위 내의 서브-픽처에 대해서는, 스케일링이 수행되지 않는다. 최종적으로 획득된 스케일링된 이미지가 도 13의 (b)에 도시되어 있다.
180° 절반-파노라마 비디오의 경도-위도 맵의 전술한 서브-영역 분할 방식은 또한 3D 180° 절반-파노라마 비디오의 경도-위도 맵의 서브-영역 분할에 적용될 수 있다. 360° 파노라마 비디오의 것과 유사하게, 3D 180° 절반-파노라마 비디오의 경도-위도 맵은 또한 왼쪽 눈의 180° 절반-파노라마 비디오의 경도-위도 맵 및 오른쪽 눈의 180° 절반-파노라마 비디오의 경도-위도 맵을 포함한다. 왼쪽 눈의 경도-위도 맵 및 오른쪽 눈의 경도-위도 맵은 함께 스플라이싱될 수 있다. 도 14에 도시된 바와 같이, 왼쪽 눈의 경도-위도 맵은 도 14의 좌측 절반 부분이고, 오른쪽 눈의 경도-위도 맵은 도 14의 우측 절반 부분이다. 서버는 먼저 도 14에 점선으로 도시된 바와 같이, 오른쪽 눈의 경도-위도 맵으로부터 왼쪽 눈의 경도-위도 맵을 분리할 수 있다. 다음으로, 왼쪽 눈의 경도-위도 맵은 180° 절반-파노라마 비디오의 경도-위도 맵의 분할 방식에 따라 분할되고, 오른쪽 눈의 경도-위도 맵은 또한 180° 절반-파노라마 비디오의 경도-위도 맵의 분할 방식에 따라 분할되어, 왼쪽 눈의 경도-위도 맵에 대응하는 20개의 서브-영역, 및 오른쪽 눈의 경도-위도 맵에 대응하는 20개의 서브-영역, 총 40개의 서브-영역을 최종적으로 획득한다.
전술한 프로세스에서, 서버는 촬영 디바이스에 의해 촬영된 비디오 신호에 기초하여, 파노라마 비디오 또는 절반-파노라마 비디오에 대응하는 경도-위도 맵을 획득할 수 있다. 본 출원의 이 실시예에서, 서버는 구형 파노라마 신호를 직접 분할하여 이미지 서브-영역들을 획득하기 위한 방법을 추가로 제공할 수 있다. 소스 이미지가 구형 신호 맵이거나 구 맵이라고 지칭되기 때문에, 비트스트림 캡슐화 방식 및 서브-영역 분할 방식도 변경된다. 이 실시예에서, 구형 영역에서의 신호 위치는 위도 및 경도를 사용하여 지정되고, 여기서 지정된 경도 범위는 0 내지 360°이고, 위도 범위는 -90° 내지 90°이다(음수는 남쪽 위도를 나타내고, 양수는 북쪽 위도를 나타낸다).
따라서, 본 출원의 실시예들은 이미지 처리 방법을 제공한다. 도 15에 도시된 바와 같이, 본 방법은 하기 단계들을 포함한다.
1501. 서버는 처리될 이미지의 구 맵에 대해 수평 분할을 수행하고, 여기서 수평 분할의 분할 위치는 미리 설정된 위도이다.
예를 들어, 서버는 도 16의 (a)에 도시된 바와 같이, 구형 표면에서의 위도 -60°, 위도 -30°, 위도 0°, 위도 30°, 및 위도 60°에서 위도의 선들을 개별적으로 드로잉하여 구 맵을 수평으로 분할할 수 있다.
1502. 서버는 처리될 이미지의 구 맵에 대해 수직 분할을 수행하고, 여기서 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 경도-위도 맵의 각각의 서브-영역을 획득하기 위한, 수직 분할의 인접 분할 위치들 사이의 거리이다.
예를 들어, 구 맵에서, -90° 내지 -60°의 위도 범위 내의 그리고 60° 내지 90°의 위도 범위 내의 구형 영역의 경우, 120°의 경도가 수직 분할 간격으로서 사용되어 구 맵을 수직적으로 분할함으로써 3개의 구형 서브-영역을 획득할 수 있고; -60° 내지 -30° 의 위도 범위 내의 그리고 30° 내지 60°의 위도 범위 내의 구형 영역의 경우, 60°의 경도가 수직 분할 간격으로서 사용되어 구 맵을 수직적으로 분할함으로써 6개의 구형 서브-영역을 획득하고; -30° 내지 0°의 위도 범위 내의 그리고 0° 내지 30°의 위도 범위 내의 구형 영역의 경우, 30°의 경도가 수직 분할 간격으로서 사용되어 구 맵을 수직적으로 분할함으로써 12개의 구형 서브-영역을 획득한다. 이러한 방식으로, 전체 구 맵의 서브-영역 분할이 도 16의 (a)에 도시된 바와 같이 완료된 후에 총 42개의 서브-영역이 획득된다.
1503. 서버는 각각의 서브-영역의 이미지를 샘플링한다.
서버는 먼저 미리 설정된 크기에 기초하여 서브-영역의 이미지를 2차원 평면 이미지에 매핑하여, 제1 샘플링 간격 및 제2 샘플링 간격에서 경도-위도 맵의 각각의 서브-영역을 샘플링할 수 있다.
3차원 구 맵이 2차원 경도-위도 맵에 매핑되는 구현은: 수직 방향으로 미리 설정된 높이에서, 구 맵이 분할된 후에 획득되는 서브-영역의 이미지를 균일하게 샘플링하고, 수평 방향에서 미리 설정된 폭에서 서브-영역의 이미지를 균일하게 샘플링하는 것일 수 있다. 이어서, 균일한 샘플링이 수행된 후에 획득된 각각의 서브-영역의 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링될 수 있고, 서브-영역의 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링된다.
예를 들어, 구 맵 상의 서브-영역들에 대응하는 도 16의 (a)에서의 모든 서브-영역에 대해 이미지 신호 매핑이 수행되어, 구 맵 상의 각각의 서브-영역이 매핑된 이미지, 즉, 2차원 경도-위도 맵에서의 서브-영역에 대응하고, 경도-위도 맵에 대해 다운샘플링이 수행된다. 구형 신호를 서브-영역의 이미지에 매핑하기 위한 많은 방법이 있으며, 이것은 본 명세서에서 제한되지 않는다. 하나의 방식은 다음과 같을 수 있다: 위도 방향에서의 각각의 구형 서브-영역의 경우, 구형 신호는 도 16의 (b)에서의 서브-영역 내의 이미지의 미리 설정된 높이에 기초하여 균일하게 매핑되고, 균일한 매핑은 균일한 샘플링으로서 이해될 수 있다. 경도 방향에서, -90° 내지 -60°의 위도 범위 내의 그리고 60° 내지 90°의 위도 범위 내의 서브-구형 영역의 경우, 구형 신호는 위도 방향으로 샘플링 레이트의 1/4로 다운샘플링된 후에 매핑되고, 즉, 스케일링 계수는 1/4이고; -60° 내지 -30°의 위도 범위 내의 그리고 30° 내지 60°의 위도 범위 내의 서브-구형 영역의 경우, 구형 신호는 위도 방향으로 샘플링 레이트의 1/2로 다운샘플링된 후에 매핑되고, 즉, 스케일링 계수는 1/2이고; -30° 내지 0°의 위도 범위 내의 그리고 0° 내지 30°의 위도 범위 내의 서브-구형 영역의 경우, 구형 신호는 위도 방향으로 동일한 샘플링 레이트로 매핑되고, 즉 스케일링 계수는 1이다. 경도-위도 맵의 최종적으로 획득된 샘플링된 이미지가 도 16의 (b)에 도시되어 있다.
1504. 서버는 도 16의 (c)에 도시된 바와 같이, 조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되도록, 샘플링된 서브-영역들의 위치들을 조정한다. 단계 1504는 수행되지 않을 수 있다.
1505. 서버는 스플라이싱된 이미지의 타일(tile)을 인코딩한다.
단계 1505의 구현에 대해서는, 단계 407을 참조한다. 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
구 맵을 위한 이미지 처리 방법에서, 각각의 서브-영역의 비트스트림에 대한 캡슐화 방식은 전술한 단계 408에서의 것과 동일할 수 있고, 서브-영역의 위치 정보에 대한 다양한 저장 방식은 또한 단계 408에서의 것과 동일할 수 있다. 이와 달리, 서브-영역이 처리될 이미지의 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 샘플링된 서브-영역들은 샘플링된 구 맵을 형성한다. 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 샘플링된 구 맵의 이미지 내의 서브-영역의 위치 및 크기를 포함하거나; 위치 정보는 구 맵의 이미지 내의 서브-영역의 위치 및 위도-경도 범위, 및 스플라이싱된 이미지 내의 서브-영역의 위치 및 크기를 포함한다. 전술한 서브-영역 분할 방식 설명에 대해 수행되는 가변적 시맨틱 수정은 다음과 같다:
하기 시맨틱들은 방식 1로 수정된다:
proj_reg_width[i] 및 proj_reg_height[i]는 소스 이미지, 즉 구 맵에서의 i번째 서브-영역의 대응하는 위도-경도 범위, 즉, 도 16의 (b) 및 도 16의 (a)에 있는 서브-영역의 대응하는 위도-경도 범위를 기술한다. 예를 들어, 도 16에서의 (b)의 좌측 상단 코너의 제1 서브-영역의 위도-경도 범위는 소스 이미지에서의 (120°, 30°)이다.
proj_reg_top[i] 및 proj_reg_left[i]는 구 맵에서 i번째 서브-영역의 좌측 상단 코너에 있는 픽셀의 대응하는 위치를 기술한다. 경도 및 위도에 의해 표현되는 바와 같이, 위치는 도 16의 (b) 및 도 16의 (a)에 있는 서브-영역의 좌측 상단 포인트의 대응하는 위치이다. 예를 들어, 제1 서브-영역의 위치는 구 맵에서 (0°, 90°)이다.
하기 시맨틱들이 방식 2로 수정된다:
proj_tile_width 및 proj_tile_height는 구 맵에서의 현재 트랙의 위도-경도 범위, 즉, 도 16의 (a)에서의 현재 서브-영역의 위도-경도 범위를 기술한다.
proj_width 및 proj_height는 구 맵의 위도-경도 범위를 기술한다. 예를 들어, 360° 파노라마 구의 위도-경도 범위는 (360°, 180°)이다.
방식 4에서의 개인 파일 tile_info.dat의 콘텐츠의 경우, 시멘틱들은 다음과 같이 수정된다:
pic_width는 구 맵의 경도 범위를 나타낸다.
pic_height는 구 맵의 위도 범위를 나타낸다.
tile_pic_width[]는 구 맵에서의 각각의 서브-영역의 경도 범위를 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
tile_pic_height[]는 구 맵에서의 각각의 서브-영역의 위도 범위를 나타내는 어레이이고, 요소들의 수량은 tile_num 값이어야 한다.
하기 시맨틱들은 방식 5로 수정된다:
src_pic_width는 구 맵의 경도 범위, 즉, 도 16의 (a)에서의 구 맵의 경도 범위를 나타낸다.
src_pic_height는 구 맵의 위도 범위, 즉, 도 16의 (a)에서의 구 맵의 위도 범위를 나타낸다.
src_tile_width는 구 맵 상의 현재 서브-영역의 경도 범위를 나타낸다.
src_tile_height는 구 맵 상의 현재 서브-영역의 위도 범위를 나타낸다.
이러한 방식으로, 본 출원에서의 경도-위도 맵의 균일한 분할 방식과 비교하여, 이러한 불균일한 분할 방식 및 이미지 스케일링 방식에서, 이미지 리던던시가 감소되어, 타일 방식 인코딩 및 송신 효율이 크게 향상될 수 있다. 또한, 단말기 디코더에 의해 요구되는 최대 디코딩 능력도 감소되어, 더 높은 해상도를 갖는 소스 이미지가 기존의 디코딩 능력에서의 디스플레이를 위해 인코딩 및 송신될 수 있게 한다. 6×3의 균일한 분할이 예로서 사용되고, 송신될 필요가 있는 픽셀들의 비율은 최대 55.6%이다. 소스 이미지의 해상도가 4K(4096×2048)이면, 디코더의 디코딩 능력은 약 4K×1K에 도달할 필요가 있다. 그러나, 본 출원에서의 방법에서, 송신된 픽셀들의 비율은 최대 25%이다. 소스 이미지의 해상도가 4K(4096×2048)이면, 디코더의 디코딩 능력은 2K×1K에 도달할 필요가 있다. 또한, 성능은 디코딩 속도와 재생 속도를 향상시킨다. 본 출원의 해결책에서, 디코딩 및 재생 처리 효율은 균일한 분할 해결책에서의 것보다 더 높다.
본 출원의 실시예는 이미지 처리 방법을 추가로 제공하며, 여기서 본 방법은 도 17a에 도시된 바와 같이 서버에 적용되고, 다음의 단계들을 포함한다.
17A1. 서버는 파노라마 이미지의 경도-위도 맵 또는 구 맵의 서브-영역들의 이미지들에 대응하는 비트스트림들을 저장하고, 서브-영역은 파노라마 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 수평 분할의 분할 위치는 미리 설정된 위도이고, 수직 분할의 분할 위치는 위도에 의해 결정되고, 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 수직 분할 간격은 수직 분할의 인접 분할 위치들 사이의 거리이다.
17A2. 서버는 서브-영역들의 이미지들에 대응하고 단말기에 의해 요구되는 저장된 비트스트림들에서 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 단말기에 전송한다.
인코딩되기 전에, 서브-영역에 대응하고 서버에 저장되는 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링되고, 여기서 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하거나, 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링된다. 샘플링의 특정 구현에 대해서는, 전술한 실시예에서의 설명을 참조한다.
다시 말해서, 이 실시예에서의 서버는 전술한 실시예에서의 서버에 의해 처리되는, 각각의 서브-영역의 이미지에 대응하는 비트스트림을 저장할 수 있다. 이미지를 처리하기 위해 전술한 실시예에서의 서버에 의해 사용되는 서브-영역 분할 방식 및 샘플링 프로세스가 비트스트림 송신 동안 차지하는 대역폭을 감소시킬 수 있기 때문에, 디코딩 능력을 위한 디코딩 단의 요건이 감소되고, 디코딩 복잡도가 감소되어, 디코딩 속도가 향상된다. 이 실시예에서, 비트스트림 송신 동안 서버가 차지하는 대역폭은 종래 기술에서와 비교하여 감소되고, 단말기의 디코딩 속도가 향상된다.
전술한 내용은 네트워크 요소들 사이의 상호작용의 관점에서 본 출원의 실시예들에서 제공되는 해결책들을 주로 설명한다. 전술한 기능들을 구현하기 위해, 서버 및 단말기와 같은 네트워크 요소들 각각은 각각의 기능을 수행하기 위한 대응하는 하드웨어 구조 및/또는 소프트웨어 모듈을 포함한다는 점이 이해될 수 있다. 본 기술분야의 통상의 기술자는 본 명세서에서 개시되는 실시예들에서 설명되는 예들과 조합하여, 본 출원에서의 하드웨어 및 컴퓨터 소프트웨어의 조합 또는 하드웨어에 의해 유닛들 및 알고리즘 단계들이 구현될 수 있다는 것을 용이하게 알아야 한다. 기능이 컴퓨터 소프트웨어에 의해 구동되는 하드웨어 또는 하드웨어에 의해 수행되는지는 기술적 해결책들의 특정 애플리케이션들 및 설계 제약들에 의존한다. 본 기술분야의 통상의 기술자는 각각의 특정한 애플리케이션에 대해 설명되는 기능들을 구현하기 위해 상이한 방법들을 사용할 수 있지만, 이러한 구현이 본 출원의 범위를 벗어나는 것으로 고려되어서는 안 된다.
본 출원의 실시예들에서, 서버 및 단말기는 전술한 방법 예들에 기초하여 기능 모듈들로 분할될 수 있다. 예를 들어, 각각의 기능 모듈은 대응하는 기능에 대한 분할을 통해 획득될 수 있거나, 2개 이상의 기능들은 하나의 처리 모듈에 통합될 수 있다. 집적 모듈은 하드웨어의 형태로 구현될 수 있거나, 소프트웨어 기능 모듈의 형태로 구현될 수 있다. 본 출원의 이 실시예에서, 모듈 분할은 일례이고, 단지 논리적 기능 분할일 뿐이라는 점에 유의해야 한다. 실제 구현에서, 다른 분할 방식이 사용될 수 있다.
기능 모듈들이 대응하는 기능들에 기초하여 분할될 때, 도 17은 전술한 실시예에서의 서버의 가능한 개략적인 구조도를 도시한다. 서버(17)는 분할 유닛(1701), 인코딩 유닛(1702), 샘플링 유닛(1703), 스플라이싱 유닛(1704), 캡슐화 유닛(1705) 및 송신 유닛(1706)을 포함한다. 분할 유닛(1701)은 도 4에서의 단계 401 및 단계 402를 수행하기 위해 서버를 지원하도록 구성될 수 있고, 인코딩 유닛(1702)은 도 4에서의 단계 403 및 도 7에서의 단계 407을 수행하기 위해 서버를 지원하도록 구성될 수 있다. 샘플링 유닛(1703)은 도 7에서의 단계 404 및 단계 405를 수행하기 위해 서버를 지원하도록 구성될 수 있고, 스플라이싱 유닛(1704)은 도 7에서의 단계 406을 수행하기 위해 서버를 지원하도록 구성되고, 캡슐화 유닛(1705)은 도 7에서의 단계 408을 수행하도록 서버를 지원하도록 구성될 수 있다. 전술한 방법 실시예들에서의 단계들과 관련된 모든 콘텐츠는 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 세부 사항들은 본 명세서에서 설명되지 않는다.
통합된 유닛이 사용될 때, 도 18은 전술한 실시예에서의 서버의 가능한 개략적인 구조도이다. 서버(18)는 처리 모듈(1802) 및 통신 모듈(1803)을 포함한다. 처리 모듈(1802)은 서버의 액션을 제어하고 관리하도록 구성된다. 예를 들어, 처리 모듈(1802)은 도 4에서의 단계 401, 단계 402, 단계 403, 단계 404, 단계 405, 단계 406, 단계 407, 및 단계 408 및/또는 본 명세서에서 설명된 기술의 다른 프로세스를 수행하도록 구성된다. 통신 모듈(1803)은 서버와 다른 네트워크 엔티티 사이의 통신, 예를 들어, 서버와 단말기 사이의 통신을 지원하도록 구성된다. 서버는 서버의 프로그램 코드 및 데이터를 저장하도록 구성되는 저장 모듈(1801)을 추가로 포함할 수 있다.
처리 모듈(1802)은 프로세서 또는 제어기, 예컨대 중앙 처리 장치(Central Processing Unit, CPU), 범용 프로세서, 디지털 신호 프로세서(Digital Signal Processing, DSP), 주문형 집적 회로(Application-Specific Integrated Circuit, ASIC), 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array, FPGA), 또는 다른 프로그램가능 로직 디바이스, 트랜지스터 로직 디바이스, 하드웨어 컴포넌트, 또는 이들의 조합일 수 있다. 프로세서는 본 출원에 개시된 콘텐츠를 참조하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들을 구현 또는 실행할 수 있다. 프로세서는 컴퓨팅 기능을 구현하는 프로세서들의 조합, 예를 들어, 하나 이상의 마이크로프로세서의 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다. 통신 모듈(1803)은 송수신기, 송수신기 회로, 통신 인터페이스 등일 수 있다. 저장 모듈(1801)은 메모리일 수 있다.
처리 모듈(1802)이 프로세서일 때, 통신 모듈(1803)은 송수신기이고, 저장 모듈(1801)이 메모리일 때, 본 출원의 이 실시예에서의 서버는 도 19에 도시된 서버일 수 있다.
도 19에 도시된 바와 같이, 서버(19)는 프로세서(1912), 송수신기(1913), 메모리(1911) 및 버스(1914)를 포함한다. 송수신기(1913), 프로세서(1912), 및 메모리(1911)는 버스(1914)를 통해 서로 접속된다. 버스(1914)는 주변 컴포넌트 상호접속(Peripheral Component Interconnect, PCI) 버스, 확장된 산업 표준 아키텍처(Extended Industry Standard Architecture, EISA) 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위해, 단지 하나의 굵은 라인이 도 19에서 버스를 나타내기 위해 사용되지만, 이것은 단지 하나의 버스 또는 단지 하나의 타입의 버스만이 있다는 것을 의미하지는 않는다.
기능 모듈들이 대응하는 기능들에 기초하여 분할될 때, 도 20은 전술한 실시예에서의 단말기의 가능한 개략적인 구조도를 도시한다. 단말기(20)는 획득 유닛(2001), 디코딩 유닛(2002), 재샘플링 유닛(2003), 및 재생 유닛(2004)을 포함한다. 획득 유닛(2001)은 도 10에서의 단계 101, 단계 102, 단계 103, 및 단계 104를 수행하기 위해 단말기를 지원하도록 구성된다. 디코딩 유닛(2002)은 도 10에서의 단계 105를 수행하기 위해 단말기를 지원하도록 구성된다. 재샘플링 유닛(2003)은 도 10에서의 단계 106을 수행하기 위해 단말기를 지원하도록 구성된다. 재생 유닛(2004)은 도 10에서의 단계 107을 수행하기 위해 단말기를 지원하도록 구성된다. 전술한 방법 실시예들에서의 단계들과 관련된 모든 콘텐츠는 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 세부 사항들은 본 명세서에서 설명되지 않는다.
통합된 유닛이 사용될 때, 도 21은 전술한 실시예에서의 단말기의 가능한 개략적인 구조도이다. 단말기(21)는 처리 모듈(2102) 및 통신 모듈(2103)을 포함한다. 처리 모듈(2102)은 단말기의 액션을 제어하고 관리하도록 구성된다. 예를 들어, 처리 모듈(2102)은 도 10에서의 단계 101 내지 단계 106을 수행하기 위해 단말기를 지원하도록 구성되고/되거나, 본 명세서에서 설명된 기술의 다른 프로세스를 수행하도록 구성된다. 통신 모듈(2103)은 단말기와 다른 네트워크 엔티티 사이의 통신, 예를 들어, 단말기와 서버 사이의 통신을 지원하도록 구성된다. 단말기는 단말기의 프로그램 코드 및 데이터를 저장하도록 구성된 저장 모듈(2101)을 추가로 포함할 수 있고, 도 10에서의 단계 107을 수행하기 위해 단말기를 지원하도록 구성된 디스플레이 모듈(2104)을 추가로 포함할 수 있다.
처리 모듈(2102)은 프로세서 또는 제어기일 수 있고, 예를 들어, CPU, 범용 프로세서, DSP, ASIC, FPGA, 또는 다른 프로그램가능 로직 디바이스, 트랜지스터 로직 디바이스, 하드웨어 컴포넌트, 또는 이들의 임의의 조합일 수 있다. 프로세서는 본 출원에 개시된 콘텐츠를 참조하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들을 구현 또는 실행할 수 있다. 프로세서는 컴퓨팅 기능을 구현하는 프로세서들의 조합, 예를 들어, 하나 이상의 마이크로프로세서의 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다. 통신 모듈(2103)은 송수신기, 송수신기 회로, 통신 인터페이스 등일 수 있다. 저장 모듈(2101)은 메모리일 수 있다. 디스플레이 모듈(2104)은 디스플레이 등일 수 있다.
처리 모듈(2102)이 프로세서이고, 통신 모듈(2103)이 송수신기이고, 저장 모듈(2101)이 메모리이고, 디스플레이 모듈(2104)이 디스플레이일 때, 본 출원의 이 실시예에서의 단말기는 도 22에 도시된 단말기일 수 있다.
도 22에 도시된 바와 같이, 단말기(22)는 프로세서(2212), 송수신기(2213), 메모리(2211), 디스플레이(2215) 및 버스(2214)를 포함한다. 송수신기(2213), 프로세서(2212), 디스플레이(2215), 및 메모리(2211)는 버스(2214)를 통해 상호접속된다. 버스(2214)는 PCI 버스, EISA 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위해, 단지 하나의 굵은 라인이 도 22에서 버스를 나타내기 위해 사용되지만, 이것은 단지 하나의 버스 또는 단지 하나의 타입의 버스만이 있다는 것을 의미하지는 않는다.
기능 모듈들이 대응하는 기능들에 기초하여 분할될 때, 도 23은 전술한 실시예에서의 서버의 가능한 개략적인 구조도를 도시한다. 서버(23)는 저장 유닛(2301), 송신 유닛(2302)을 포함하고, 여기서 저장 유닛(2301)은 도 17a에서의 단계 17A1을 수행하기 위해 서버를 지원하도록 구성되고, 송신 유닛(2302)은 도 17a에서의 단계 17A2를 수행하기 위해 서버를 지원하도록 구성된다. 전술한 방법 실시예들에서의 단계들과 관련된 모든 콘텐츠는 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 세부 사항들은 본 명세서에서 설명되지 않는다.
통합된 유닛이 사용될 때, 도 24는 전술한 실시예에서의 서버의 가능한 개략적인 구조도이다. 서버(24)는 저장 모듈(2402) 및 통신 모듈(2403)을 포함한다. 저장 모듈(2402)은 서버의 프로그램 코드 및 데이터를 저장하도록 구성된다. 예를 들어, 프로그램은 도 17a에서의 단계 17A1을 수행하도록 구성되고, 통신 모듈(2403)은 도 17a에서의 단계 17A2를 수행하도록 구성된다.
통신 모듈(2403)이 송수신기이고, 저장 모듈(2401)이 메모리일 때, 본 출원의 이 실시예에서의 서버는 도 25에 도시된 단말기일 수 있다.
도 25에 도시된 바와 같이, 서버(25)는 송수신기(2511), 메모리(2512) 및 버스(2513)를 포함한다. 송수신기(2511) 및 메모리(2512)는 버스(2513)를 통해 상호접속된다. 버스(2513)는 PCI 버스, EISA 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위해, 단지 하나의 굵은 라인이 도 25에서 버스를 나타내기 위해 사용되지만, 이것은 단지 하나의 버스 또는 단지 하나의 타입의 버스만이 있다는 것을 의미하지는 않는다.
본 출원에 개시된 콘텐츠와 조합하여 설명된 방법 또는 알고리즘 단계들은 하드웨어에 의해 구현될 수 있거나, 소프트웨어 명령어를 실행함으로써 프로세서에 의해 구현될 수 있다. 소프트웨어 명령어는 대응하는 소프트웨어 모듈을 포함할 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리(Random Access Memory, RAM), 플래시 메모리, 판독 전용 메모리(Read Only Memory, ROM), 소거가능 프로그램가능 판독 전용 메모리(Erasable Programmable ROM, EPROM), 전기적으로 소거가능 프로그램가능 판독 전용 메모리(Electrically EPROM, EEPROM), 레지스터, 하드 디스크, 모바일 하드 디스크, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 또는 본 기술분야에 잘 알려진 임의의 다른 형식의 저장 매체에 저장될 수 있다. 예를 들어, 저장 매체가 프로세서에 결합되어, 프로세서는 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기입할 수 있다. 물론, 저장 매체는 프로세서의 컴포넌트일 수 있다. 프로세서 및 저장 매체는 ASIC 내에 위치할 수 있다. 또한, ASIC은 코어 네트워크 인터페이스 디바이스 내에 위치할 수 있다. 물론, 프로세서 및 저장 매체는 개별 컴포넌트들로서 코어 네트워크 인터페이스 디바이스에 존재할 수 있다.
본 기술분야의 통상의 기술자는 전술한 하나 이상의 예에서, 본 출원에서 설명된 기능들이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 구현될 수 있다는 것을 알아야 한다. 본 발명이 소프트웨어에 의해 구현될 때, 상술한 기능들은 컴퓨터 판독가능 매체에 저장되거나 컴퓨터 판독가능 매체에 하나 이상의 명령어 또는 코드로서 송신될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하며, 통신 매체는 컴퓨터 프로그램이 하나의 장소로부터 다른 장소로 송신될 수 있게 하는 임의의 매체를 포함한다. 저장 매체는 범용 또는 전용 컴퓨터가 액세스할 수 있는 임의의 가용 매체일 수 있다.
본 출원의 목적들, 기술적 해결책들, 및 이점들은 전술한 특정 실시예들에서 추가로 상세하게 설명된다. 전술한 설명들은 본 출원의 특정 실시예들일 뿐이고, 본 출원의 보호 범위를 제한하려는 의도는 아니라는 점이 이해되어야 한다. 본 출원의 기술적 해결책들에 기초하여 이루어지는 임의의 수정, 등가적 대체 또는 개선은 본 출원의 보호 범위 내에 있을 것이다.

Claims (46)

  1. 이미지 처리 방법으로서,
    상기 방법은 서버에 적용되고,
    처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 상기 경도-위도 맵 또는 상기 구 맵의 서브-영역들을 획득하는 단계 -상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리임-;
    상기 획득된 서브-영역들의 이미지들을 인코딩하는 단계; 및
    상기 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계 -상기 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시함-를 포함하고;
    상기 획득된 서브-영역들의 이미지들을 인코딩하는 단계는:
    샘플링된 서브-영역들의 이미지들을 인코딩하는 단계를 포함하는 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 획득된 서브-영역들의 이미지들을 인코딩하는 단계 전에, 상기 방법은:
    상기 서브-영역의 이미지를 제2 샘플링 간격에서 수직 방향으로 샘플링하는 단계를 추가로 포함하는 이미지 처리 방법.
  3. 제1항에 있어서,
    상기 서브-영역이 상기 처리될 이미지의 구 맵 상에서 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 상기 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계 전에, 상기 방법은:
    상기 서브-영역의 이미지를 미리 설정된 크기에 기초하여 2차원 평면 이미지에 매핑하는 단계를 추가로 포함하고;
    상기 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계는:
    상기 서브-영역의 이미지가 매핑되는 상기 2차원 평면 이미지를 상기 제1 샘플링 간격에서 수평 방향으로 샘플링하는 단계를 포함하는 이미지 처리 방법.
  4. 제1항에 있어서,
    샘플링된 서브-영역들의 이미지들을 인코딩하는 단계 전에, 상기 방법은:
    조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되도록, 상기 샘플링된 서브-영역들의 위치들을 조정하는 단계를 추가로 포함하는 이미지 처리 방법.
  5. 제4항에 있어서,
    상기 샘플링된 서브-영역들의 이미지들을 인코딩하는 단계는:
    상기 스플라이싱된 이미지의 타일(tile)을 인코딩하는 단계를 포함하는 이미지 처리 방법.
  6. 제4항에 있어서,
    상기 획득된 서브-영역들의 이미지들을 인코딩하는 단계 후에, 상기 방법은:
    상기 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 독립적으로 캡슐화하고, 상기 서브-영역들의 위치 정보를 인코딩하는 단계를 추가로 포함하고, 모든 상기 서브-영역들의 인코딩된 위치 정보 및 모든 상기 서브-영역의 비트스트림들이 동일한 트랙에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보 및 비트스트림이 상기 위치 정보의 트랙 및 상기 비트스트림의 트랙에 각각 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 MPD(media presentation description)에 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 개인 파일에 존재하고, 개인 파일의 어드레스가 MPD에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보가 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 존재하는 이미지 처리 방법.
  7. 제5항에 있어서,
    상기 서브-영역이 상기 처리될 이미지의 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 상기 샘플링된 서브-영역들은 샘플링된 경도-위도 맵을 형성하고, 위치 정보는 상기 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기, 및 상기 샘플링된 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 위치 정보는 상기 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기, 및 상기 스플라이싱된 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 서브-영역이 상기 처리될 이미지의 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 상기 샘플링된 서브-영역들은 샘플링된 구 맵을 형성하고, 상기 위치 정보는 상기 구 맵의 이미지 내의 상기 서브-영역의 위치 및 위도-경도 범위, 및 상기 샘플링된 구 맵의 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 위치 정보는 상기 구 맵의 이미지 내의 상기 서브-영역의 위치 및 위도-경도 범위, 및 상기 스플라이싱된 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하는 이미지 처리 방법.
  8. 제6항에 있어서,
    상기 개인 파일은 사용자 시점과 상기 사용자 시점의 시각(visual angle)에 의해 커버되는 서브-영역의 수 사이의 대응관계를 나타내는데 사용되는 정보를 추가로 포함하는 이미지 처리 방법.
  9. 제6항에 있어서,
    상기 개인 파일은 사용자의 시각에 의해 커버되는 서브-영역 내에 첫번째로 디스플레이될 필요가 있는 서브-영역들의 수량을 표현하는데 사용되는 정보, 첫번째로 디스플레이될 필요가 있는 상기 서브-영역의 수에 관한 정보, 두번째로 디스플레이되는 서브-영역의 수에 관한 정보, 및 디스플레이되지 않은 서브-영역의 수에 관한 정보를 추가로 포함하는 이미지 처리 방법.
  10. 제1항에 있어서,
    상기 경도-위도 맵은 왼쪽 눈에 대응하는 경도-위도 맵 및 오른쪽 눈에 대응하는 경도-위도 맵을 포함하고;
    처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계 전에, 상기 방법은:
    상기 오른쪽 눈에 대응하는 상기 경도-위도 맵으로부터 상기 왼쪽 눈에 대응하는 경도-위도 맵을 분리하는 단계를 추가로 포함하고,
    처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계는:
    상기 왼쪽 눈에 대응하는 상기 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하고, 상기 오른쪽 눈에 대응하는 상기 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하는 단계를 포함하는 이미지 처리 방법.
  11. 제7항에 있어서,
    상기 방법은:
    상기 서브-영역들의 상기 인코딩된 이미지들에 대응하는 비트스트림들을 단말기에 전송하는 단계; 또는
    상기 단말기에 의해 전송된 시각 정보를 수신하고, 상기 시각 정보에 기초하여, 상기 시각 정보에 대응하는 서브-영역을 획득하고, 상기 시각 정보에 대응하는 서브-영역의 비트스트림을 상기 단말기에 전송하는 단계; 또는
    상기 단말기에 의해 전송되는 서브-영역의 수를 수신하고, 상기 서브-영역의 수에 대응하는 비트스트림을 상기 단말기에 전송하는 단계를 추가로 포함하는 이미지 처리 방법.
  12. 제1항에 있어서,
    상기 경도-위도 맵은 360-도 파노라마 비디오 이미지의 경도-위도 맵, 또는 상기 360-도 파노라마 비디오 이미지의 경도-위도 맵의 일부이거나;
    상기 구 맵은 360-도 파노라마 비디오 이미지의 구 맵, 또는 상기 360-도 파노라마 비디오 이미지의 구 맵의 일부인 이미지 처리 방법.
  13. 이미지 처리 방법으로서,
    상기 방법은 단말기에 적용되고,
    파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계 - 상기 파노라마 이미지의 상기 서브-영역들은 상기 파노라마 이미지에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리임-;
    상기 각각의 서브-영역의 결정된 위치 정보에 기초하여, 상기 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 결정하는 단계;
    상기 서브-영역의 제1 샘플링 간격을 결정하는 단계 - 상기 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격에 대응함-;
    상기 현재 시각에 의해 커버되는 상기 서브-영역의 결정된 위치 정보에 기초하여, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하는 단계;
    상기 비트스트림을 디코딩하여 상기 현재 시각에 의해 커버되는 상기 서브-영역의 이미지를 획득하는 단계; 및
    상기 현재 시각에 의해 커버되는 상기 서브-영역의 결정된 위치 정보 및 상기 제1 샘플링 간격에 기초하여 상기 디코딩된 이미지를 재샘플링하고, 상기 재샘플링된 이미지를 재생하는 단계를 포함하는 이미지 처리 방법.
  14. 제13항에 있어서,
    파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계는:
    서버에 의해 전송된 제1 정보를 수신하는 단계 -상기 제1 정보는 상기 파노라마 이미지의 각각의 서브-영역 및 각각의 서브-영역의 비트스트림의 트랙을 포함하고, 상기 트랙은 상기 파노라마 이미지의 모든 서브-영역의 위치 정보를 포함함-; 및
    상기 트랙에 기초하여 상기 파노라마 이미지 내의 각각의 서브-영역의 위치 정보를 획득하는 단계를 포함하는 이미지 처리 방법.
  15. 제13항에 있어서,
    파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하는 단계는:
    서버에 의해 전송된 MPD(media presentation description)을 수신하는 단계 -상기 MPD는 각각의 서브-영역의 상기 위치 정보를 포함하거나, 상기 MPD는 개인 파일의 어드레스를 포함하고, 상기 개인 파일은 각각의 서브-영역의 상기 위치 정보를 포함함-; 및
    상기 MPD를 파싱하여 각각의 서브-영역의 상기 위치 정보를 획득하는 단계를 포함하는 이미지 처리 방법.
  16. 제13항에 있어서,
    상기 서브-영역의 위치 정보는 상기 서브-영역에 대응하는 비트스트림의 SEI(supplemental enhancement information)에 존재하는 이미지 처리 방법.
  17. 제13항에 있어서,
    상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하는 단계는:
    상기 단말기의 메모리로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하는 단계; 또는
    서버로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하도록 요청하는 단계를 포함하는 이미지 처리 방법.
  18. 제17항에 있어서,
    상기 서버로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하도록 요청하는 단계는:
    상기 현재 시각을 표시하는 정보를 상기 서버에 전송하고, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하고 상기 서버에 의해 전송되는 비트스트림을 수신하는 단계; 또는
    상기 단말기 및 상기 서버에 의해 미리 설정된 프로토콜에 따라 상기 서버로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하는 단계 -상기 프로토콜은 시각과 상기 시각에 의해 커버되는 서브-영역 사이의 대응관계를 포함함- 를 포함하는 이미지 처리 방법.
  19. 제14항에 있어서,
    상기 서브-영역의 제1 샘플링 간격을 결정하는 단계는:
    미리 설정된 샘플링 간격을 상기 제1 샘플링 간격으로서 결정하는 단계; 또는
    상기 제1 샘플링 간격을 상기 서버로부터 수신하는 단계; 또는
    상기 서버로부터 수신되는 각각의 서브-영역의 위치 정보에 기초하여 상기 제1 샘플링 간격을 획득하는 단계를 포함하는 이미지 처리 방법.
  20. 이미지 처리 방법으로서,
    상기 방법은 서버에 적용되고,
    파노라마 이미지의 경도-위도 맵 또는 구 맵의 서브-영역들의 이미지들에 대응하는 비트스트림들을 저장하는 단계 -상기 서브-영역은 상기 파노라마 이미지의 상기 경도-위도 맵 또는 상기 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리임-; 및
    상기 서브-영역들의 이미지들에 대응하고 단말기에 의해 요구되는 상기 저장된 비트스트림들에서 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 상기 단말기에 전송하는 단계를 포함하고,
    인코딩되기 전에, 상기 서브-영역에 대응하고 상기 서버에 저장되는 상기 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링되고, 상기 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하거나;
    상기 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링되는 이미지 처리 방법.
  21. 서버로서,
    처리될 이미지의 경도-위도 맵 또는 구 맵에 대해 수평 분할 및 수직 분할을 수행하여 상기 경도-위도 맵 또는 상기 구 맵의 서브-영역들을 획득하도록 구성되는 분할 유닛 -상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리임-;
    상기 획득된 서브-영역들의 이미지들을 인코딩하도록 구성되는 인코딩 유닛; 및
    상기 서브-영역의 이미지를 제1 샘플링 간격에서 수평 방향으로 샘플링하도록 구성되는 샘플링 유닛을 포함하고, 상기 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하고;
    상기 인코딩 유닛은:
    샘플링된 서브-영역들의 이미지들을 인코딩하도록 구성되는 서버.
  22. 제21항에 있어서,
    상기 샘플링 유닛은:
    상기 서브-영역의 이미지를 제2 샘플링 간격에서 수직 방향으로 샘플링하도록 추가로 구성되는 서버.
  23. 제21항에 있어서,
    상기 샘플링 유닛은:
    상기 서브-영역의 이미지를 미리 설정된 크기에 기초하여 2차원 평면 이미지에 매핑하고;
    상기 서브-영역의 이미지가 매핑되는 2차원 평면 이미지를 상기 제1 샘플링 간격에서 수평 방향으로 샘플링하도록 추가로 구성되는 서버.
  24. 제21항에 있어서,
    조정된 서브-영역들의 이미지들에 의해 스플라이싱된 이미지의 수평 에지 및 수직 에지가 각각 정렬되도록, 상기 샘플링된 서브-영역들의 위치들을 조정하도록 구성되는 스플라이싱 유닛을 추가로 포함하는 서버.
  25. 제24항에 있어서,
    상기 인코딩 유닛은: 상기 스플라이싱된 이미지의 타일(tile)을 인코딩하도록 구성되는 서버.
  26. 제24항에 있어서,
    상기 서브-영역들의 인코딩된 이미지들에 대응하는 비트스트림들을 독립적으로 캡슐화하고, 상기 서브-영역들의 위치 정보를 인코딩하도록 구성되는 캡슐화 유닛을 추가로 포함하고, 모든 상기 서브-영역들의 인코딩된 위치 정보 및 모든 상기 서브-영역의 비트스트림들이 동일한 트랙에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보 및 비트스트림이 상기 위치 정보의 트랙 및 상기 비트스트림의 트랙에 각각 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 MPD(media presentation description)에 존재하거나; 모든 상기 서브-영역의 인코딩된 위치 정보가 개인 파일에 존재하고, 상기 개인 파일의 어드레스가 MPD에 존재하거나; 각각의 서브-영역의 인코딩된 위치 정보가 각각의 서브-영역의 비트스트림의 SEI(supplemental enhancement information)에 존재하는 서버.
  27. 제25항에 있어서,
    상기 서브-영역이 상기 처리될 이미지의 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 상기 샘플링된 서브-영역들은 샘플링된 경도-위도 맵을 형성하고, 위치 정보는 상기 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기, 및 상기 샘플링된 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 위치 정보는 상기 경도-위도 맵에서의 상기 서브-영역의 위치 및 크기, 및 상기 스플라이싱된 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 서브-영역이 상기 처리될 이미지의 상기 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득될 때, 상기 샘플링된 서브-영역들은 샘플링된 구 맵을 형성하고, 상기 위치 정보는 상기 구 맵의 이미지 내의 상기 서브-영역의 위치 및 위도-경도 범위, 및 상기 샘플링된 구 맵의 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하거나; 상기 위치 정보는 상기 구 맵의 상기 이미지 내의 상기 서브-영역의 위치 및 위도-경도 범위, 및 상기 스플라이싱된 이미지 내의 상기 서브-영역의 위치 및 크기를 포함하는 서버.
  28. 제26항에 있어서,
    상기 개인 파일은 사용자 시점과 상기 사용자 시점의 시각에 의해 커버되는 서브-영역의 수 사이의 대응관계를 나타내는데 사용되는 정보를 추가로 포함하는 서버.
  29. 제26항에 있어서,
    상기 개인 파일은 사용자의 시각에 의해 커버되는 서브-영역 내에 첫번째로 디스플레이될 필요가 있는 서브-영역들의 수량을 표현하는데 사용되는 정보, 첫번째로 디스플레이될 필요가 있는 상기 서브-영역의 수에 관한 정보, 두번째로 디스플레이되는 서브-영역의 수에 관한 정보, 및 디스플레이되지 않은 서브-영역의 수에 관한 정보를 추가로 포함하는 서버.
  30. 제21항에 있어서,
    상기 경도-위도 맵은 왼쪽 눈에 대응하는 경도-위도 맵 및 오른쪽 눈에 대응하는 경도-위도 맵을 포함하고;
    상기 분할 유닛은:
    상기 오른쪽 눈에 대응하는 상기 경도-위도 맵으로부터 상기 왼쪽 눈에 대응하는 경도-위도 맵을 분리하고;
    상기 왼쪽 눈에 대응하는 상기 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하고, 상기 오른쪽 눈에 대응하는 상기 경도-위도 맵에 대해 수평 분할 및 수직 분할을 수행하도록 구성되는 서버.
  31. 제27항에 있어서,
    상기 서브-영역들의 상기 인코딩된 이미지들에 대응하는 비트스트림들을 단말기에 전송하거나;
    상기 단말기에 의해 전송된 시각 정보를 수신하고, 상기 시각 정보에 기초하여, 상기 시각 정보에 대응하는 서브-영역을 획득하고, 상기 시각 정보에 대응하는 서브-영역의 비트스트림을 상기 단말기에 전송하거나;
    상기 단말기에 의해 전송되는 서브-영역의 수를 수신하고, 상기 서브-영역의 수에 대응하는 비트스트림을 상기 단말기에 전송하도록 구성되는 송신 유닛을 추가로 포함하는 서버.
  32. 제21항에 있어서,
    상기 경도-위도 맵은 360-도 파노라마 비디오 이미지의 경도-위도 맵, 또는 상기 360-도 파노라마 비디오 이미지의 경도-위도 맵의 일부이거나;
    상기 구 맵은 360-도 파노라마 비디오 이미지의 구 맵, 또는 상기 360-도 파노라마 비디오 이미지의 구 맵의 일부인 서버.
  33. 단말기로서,
    파노라마 이미지의 각각의 서브-영역의 위치 정보를 결정하도록 구성되는 획득 유닛 - 상기 파노라마 이미지의 상기 서브-영역들은 상기 파노라마 이미지에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리이고,
    상기 획득 유닛은 상기 각각의 서브-영역의 결정된 위치 정보에 기초하여, 상기 파노라마 이미지에서 현재 시각에 의해 커버되는 서브-영역의 위치 정보를 결정하고; 상기 서브-영역의 제1 샘플링 간격을 결정하도록 추가로 구성되고, 상기 서브-영역에 대응하는 더 높은 위도가 더 큰 제1 샘플링 간격을 표시하고,
    상기 획득 유닛은 상기 현재 시각에 의해 커버되는 상기 서브-영역의 결정된 위치 정보에 기초하여, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하도록 추가로 구성됨-;
    상기 비트스트림을 디코딩하여 상기 현재 시각에 의해 커버되는 상기 서브-영역의 이미지를 획득하도록 구성되는 디코딩 유닛;
    상기 현재 시각에 의해 커버되는 상기 서브-영역의 결정된 위치 정보 및 상기 제1 샘플링 간격에 기초하여 상기 디코딩된 이미지를 재샘플링하도록 구성되는 재샘플링 유닛; 및
    상기 재샘플링된 이미지를 재생하도록 구성되는 재생 유닛을 포함하는 단말기.
  34. 제33항에 있어서,
    상기 획득 유닛은:
    서버에 의해 전송된 제1 정보 -상기 제1 정보는 상기 파노라마 이미지의 각각의 서브-영역 및 각각의 서브-영역의 비트스트림의 트랙을 포함하고, 상기 트랙은 상기 파노라마 이미지의 모든 서브-영역의 위치 정보를 포함함-를 수신하고;
    상기 트랙에 기초하여 상기 파노라마 이미지 내의 각각의 서브-영역의 위치 정보를 획득하도록 구성되는 단말기.
  35. 제33항에 있어서,
    상기 획득 유닛은:
    서버에 의해 전송된 MPD(media presentation description)을 수신하도록 구성되고, 상기 MPD는 각각의 서브-영역의 상기 위치 정보를 포함하거나, 상기 MPD는 개인 파일의 어드레스를 포함하고, 상기 개인 파일은 각각의 서브-영역의 상기 위치 정보를 포함하고;
    상기 획득 유닛은 상기 MPD를 파싱하여 각각의 서브-영역의 상기 위치 정보를 획득하도록 추가로 구성되는 단말기.
  36. 제33항에 있어서,
    상기 서브-영역의 위치 정보는 상기 서브-영역에 대응하는 비트스트림의 SEI(supplemental enhancement information)에 존재하는 단말기.
  37. 제33항에 있어서,
    상기 획득 유닛은:
    상기 단말기의 메모리로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하거나;
    서버로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하게 요청하도록 구성되는 단말기.
  38. 제37항에 있어서,
    상기 획득 유닛은:
    상기 현재 시각을 표시하는 정보를 상기 서버에 전송하고, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하고 상기 서버에 의해 전송되는 비트스트림을 수신하거나;
    상기 단말기 및 상기 서버에 의해 미리 설정된 프로토콜에 따라 상기 서버로부터, 상기 현재 시각에 의해 커버되는 상기 서브-영역에 대응하는 비트스트림을 획득하도록 구성되고, 상기 프로토콜은 시각과 상기 시각에 의해 커버되는 서브-영역 사이의 대응관계를 포함하는 단말기.
  39. 제34항에 있어서,
    상기 획득 유닛은:
    미리 설정된 샘플링 간격을 상기 제1 샘플링 간격으로서 결정하거나;
    상기 서버로부터 상기 제1 샘플링 간격을 수신하거나;
    상기 서버로부터 수신되는 각각의 서브-영역의 위치 정보에 기초하여 상기 제1 샘플링 간격을 획득하도록 구성되는 단말기.
  40. 서버로서,
    파노라마 이미지의 경도-위도 맵 또는 구 맵의 서브-영역들의 이미지들에 대응하는 비트스트림들을 저장하도록 구성되는 저장 유닛 -상기 서브-영역은 상기 파노라마 이미지의 상기 경도-위도 맵 또는 상기 구 맵에 대해 수평 분할 및 수직 분할을 수행함으로써 획득되고, 상기 수평 분할의 분할 위치는 미리 설정된 위도이고, 상기 수직 분할의 분할 위치의 더 높은 위도는 더 큰 수직 분할 간격을 표시하고, 상기 수평 분할의 인접 분할 위치들에 의해 형성되는 영역에는 적어도 2가지 타입의 수직 분할 간격이 있고, 상기 수직 분할 간격은 상기 수직 분할의 인접 분할 위치들 사이의 거리임-; 및
    상기 서브-영역들의 이미지들에 대응하고 단말기에 의해 요구되는 상기 저장된 비트스트림들에서 현재 시각에 의해 커버되는 서브-영역의 비트스트림을 상기 단말기에 전송하도록 구성되는 송신 유닛을 포함하고,
    인코딩되기 전에, 상기 서브-영역에 대응하고 상기 서버에 저장되는 상기 이미지는 제1 샘플링 간격에서 수평 방향으로 샘플링되고, 상기 서브-영역에 대응하는 더 높은 위도는 더 큰 제1 샘플링 간격을 표시하거나;
    상기 이미지는 제2 샘플링 간격에서 수직 방향으로 샘플링되는 서버.
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
KR1020207001630A 2017-07-31 2018-03-29 이미지 처리 방법, 단말기, 및 서버 KR102357137B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710645108.X 2017-07-31
CN201710645108.XA CN109327699B (zh) 2017-07-31 2017-07-31 一种图像的处理方法、终端和服务器
PCT/CN2018/081177 WO2019024521A1 (zh) 2017-07-31 2018-03-29 一种图像的处理方法、终端和服务器

Publications (2)

Publication Number Publication Date
KR20200019718A KR20200019718A (ko) 2020-02-24
KR102357137B1 true KR102357137B1 (ko) 2022-02-08

Family

ID=65232513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207001630A KR102357137B1 (ko) 2017-07-31 2018-03-29 이미지 처리 방법, 단말기, 및 서버

Country Status (12)

Country Link
US (1) US11032571B2 (ko)
EP (1) EP3633993A4 (ko)
JP (1) JP6984841B2 (ko)
KR (1) KR102357137B1 (ko)
CN (1) CN109327699B (ko)
AU (1) AU2018311589B2 (ko)
BR (1) BR112020002235A2 (ko)
CA (1) CA3069034C (ko)
PH (1) PH12020500047A1 (ko)
RU (1) RU2764462C2 (ko)
SG (1) SG11201913824XA (ko)
WO (1) WO2019024521A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
US11546402B2 (en) 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
US11991402B2 (en) 2019-03-26 2024-05-21 Interdigital Vc Holdings, Inc. System and method for multiplexed rendering of light fields
CN111813875B (zh) * 2019-04-11 2024-04-05 浙江宇视科技有限公司 地图点位信息处理方法、装置及服务器
US20220239947A1 (en) * 2019-05-23 2022-07-28 Vid Scale, Inc. Video-based point cloud streams
WO2021016176A1 (en) * 2019-07-23 2021-01-28 Pcms Holdings, Inc. System and method for adaptive lenslet light field transmission and rendering
CN111212267A (zh) * 2020-01-16 2020-05-29 聚好看科技股份有限公司 一种全景图像的分块方法及服务器
CN111314739B (zh) * 2020-02-17 2022-05-17 聚好看科技股份有限公司 一种图像处理方法、服务器及显示设备
CN113766272B (zh) * 2020-06-04 2023-02-10 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法
CN114760522A (zh) * 2020-12-29 2022-07-15 阿里巴巴集团控股有限公司 数据处理方法、装置和设备
CN113347403B (zh) * 2021-04-19 2023-10-27 浙江大学 一种图像处理方法及装置
CN113553452A (zh) * 2021-06-16 2021-10-26 浙江科技学院 一种基于虚拟现实的空间性域名处理方法及装置
CN113630622B (zh) * 2021-06-18 2024-04-26 中图云创智能科技(北京)有限公司 全景视频图像处理方法、服务端、目标设备、装置和***
CN114268835B (zh) * 2021-11-23 2022-11-01 北京航空航天大学 一种低传输流量的vr全景视频时空切片方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264259A1 (en) 2014-03-17 2015-09-17 Sony Computer Entertainment Europe Limited Image processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331869B1 (en) * 1998-08-07 2001-12-18 Be Here Corporation Method and apparatus for electronically distributing motion panoramic images
WO2010041999A1 (en) * 2008-10-07 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Media container file
US10334259B2 (en) * 2012-12-07 2019-06-25 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US10244253B2 (en) * 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
EP3092806A4 (en) * 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9628822B2 (en) * 2014-01-30 2017-04-18 Qualcomm Incorporated Low complexity sample adaptive offset encoding
US9699437B2 (en) * 2014-03-03 2017-07-04 Nextvr Inc. Methods and apparatus for streaming content
GB2525170A (en) * 2014-04-07 2015-10-21 Nokia Technologies Oy Stereo viewing
WO2016002496A1 (ja) * 2014-06-30 2016-01-07 ソニー株式会社 情報処理装置および方法
US10462480B2 (en) * 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
US10666979B2 (en) 2015-03-05 2020-05-26 Sony Corporation Image processing device and image processing method for encoding/decoding omnidirectional image divided vertically
WO2017116952A1 (en) * 2015-12-29 2017-07-06 Dolby Laboratories Licensing Corporation Viewport independent image coding and rendering
CN105872546B (zh) * 2016-06-13 2019-05-28 上海杰图软件技术有限公司 一种实现全景图像压缩存储的方法和***
CN106375760B (zh) * 2016-10-11 2019-04-19 上海国茂数字技术有限公司 一种全景视频多边形采样方法及装置
CN106530216B (zh) * 2016-11-05 2019-10-29 深圳岚锋创视网络科技有限公司 全景影像文件处理方法及***
CN106899840B (zh) * 2017-03-01 2018-06-05 北京大学深圳研究生院 全景图像映射方法
US10574886B2 (en) * 2017-11-02 2020-02-25 Thermal Imaging Radar, LLC Generating panoramic video for video management systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264259A1 (en) 2014-03-17 2015-09-17 Sony Computer Entertainment Europe Limited Image processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Van Der Auwere G et al: "AHG8:Equatorial cylindrical projection for 360 degree video", JVET-F0026-v2, 1 April 2017.

Also Published As

Publication number Publication date
CA3069034A1 (en) 2019-02-07
EP3633993A1 (en) 2020-04-08
SG11201913824XA (en) 2020-01-30
AU2018311589A1 (en) 2020-02-20
WO2019024521A1 (zh) 2019-02-07
KR20200019718A (ko) 2020-02-24
JP6984841B2 (ja) 2021-12-22
PH12020500047A1 (en) 2020-09-28
RU2020108306A (ru) 2021-08-26
EP3633993A4 (en) 2020-06-24
AU2018311589B2 (en) 2022-12-22
CN109327699A (zh) 2019-02-12
RU2764462C2 (ru) 2022-01-17
CN109327699B (zh) 2021-07-16
RU2020108306A3 (ko) 2021-08-26
JP2020529149A (ja) 2020-10-01
US20200154138A1 (en) 2020-05-14
US11032571B2 (en) 2021-06-08
BR112020002235A2 (pt) 2020-07-28
CA3069034C (en) 2024-05-28

Similar Documents

Publication Publication Date Title
KR102357137B1 (ko) 이미지 처리 방법, 단말기, 및 서버
CN109691094B (zh) 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
US11284124B2 (en) Spatially tiled omnidirectional video streaming
US11457231B2 (en) Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
KR102559862B1 (ko) 미디어 콘텐츠 전송을 위한 방법, 디바이스, 및 컴퓨터 프로그램
US11049323B2 (en) Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling
CN110741649B (zh) 用于轨道合成的方法及装置
WO2019062613A1 (zh) 一种媒体信息的处理方法及装置
WO2020057249A1 (zh) 图像处理方法、装置、***、网络设备、终端及存储介质
CN113852829A (zh) 点云媒体文件的封装与解封装方法、装置及存储介质
WO2023061131A1 (zh) 媒体文件封装方法、装置、设备及存储介质
CN110637463B (zh) 360度视频处理方法
CN115567756A (zh) 基于视角的vr视频***和处理方法
KR20220160646A (ko) 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스
WO2023024841A1 (zh) 点云媒体文件的封装与解封装方法、装置及存储介质
WO2023016293A1 (zh) 自由视角视频的文件封装方法、装置、设备及存储介质
EP3873095A1 (en) An apparatus, a method and a computer program for omnidirectional video

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