KR20200069350A - 프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법 - Google Patents

프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법 Download PDF

Info

Publication number
KR20200069350A
KR20200069350A KR1020207013724A KR20207013724A KR20200069350A KR 20200069350 A KR20200069350 A KR 20200069350A KR 1020207013724 A KR1020207013724 A KR 1020207013724A KR 20207013724 A KR20207013724 A KR 20207013724A KR 20200069350 A KR20200069350 A KR 20200069350A
Authority
KR
South Korea
Prior art keywords
section
data
reconstructed image
image frame
switching point
Prior art date
Application number
KR1020207013724A
Other languages
English (en)
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 KR20200069350A publication Critical patent/KR20200069350A/ko

Links

Images

Classifications

    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/124Quantisation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

시스템 및 방법은 비디오 스트리밍에서 비트 스트림 스위칭을 지원할 수 있다. 분산형 IDR 화상 전송 기술은, 비트 스트림 스위칭을 수행하기 위해, 전송될 데이터 양의 증가로 인한 지연을 감소시키기 위해 사용될 수 있다. 추가적으로 또는 대안적으로, 프로그레시브 코드 스트림 스위칭 기술은 비트 스트림 스위칭이 발생하더라도 원활한 데이터 스트림 전송을 보장할 수 있다.

Description

프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법
저작권 고지
본 특허 문서의 공개의 일부에는 저작권 보호를 받는 자료가 포함되어 있다. 저작권 소유자는, 특허청 특허 파일 또는 기록에 나와있는 것과 같이, 특허 문서 또는 특허 공개에 의해 팩시밀리 재생산에 반대하지 않으며, 그렇지 않으면 모든 저작권을 보유한다.
개시된 실시 예는 일반적으로 비디오 프로세싱, 더욱 구체적으로, 그러나 비 배타적으로(not exclusively), 비디오 스트리밍, 인코딩 및 디코딩에 관한 것이다.
최근에는, 주로 다양한 유형의 휴대용, 핸드 헬드 또는 웨어러블 디바이스의 보급으로 인해 비디오 컨텐츠의 소비가 급증하고 있다. 예를 들어, 가상 현실(virtual reality, VR) 또는 증강 현실(augmented reality, AR) 기능은 다른 헤드 마운트 디바이스(head mount device, HMD)에 통합될 수 있다. 비디오 컨텐츠의 형태가 더욱 정교해짐에 따라, 비디오 컨텐츠의 저장 및 전송이 더욱 어려워지고 있다. 예를 들어, 비디오 저장 및 전송을 위한 대역폭을 감소시킬 필요가 있다. 이것이 본 발명의 실시 예들이 다루고자 하는 일반적인 영역이다.
비디오 스트리밍을 지원할 수 있는 시스템 및 방법이 본 명세서에서 설명된다. 분산형 IDR 화상 전송 기술은, 비디오 스트리밍에서 비트 스트림 스위칭을 수행하기 위해, 전송될 데이터 양의 증가에 의해 야기되는 지연을 감소시키기 위해 사용될 수 있다. 추가적으로 또는 대안적으로, 프로그레시브 코드 스트림 스위칭 기술은 비트 스트림 스위칭이 발생하더라도 원활한 데이터 스트림 전송을 보장할 수 있다.
비디오 스트리밍에서 비트 스트림 스위칭을 지원할 수 있는 시스템 및 방법이 또한 본 명세서에서 설명된다. 시스템은 이미지 프레임의 시퀀스에서 각각의 이미지 프레임을 복수의 섹션으로 분할하는 스킴(scheme)을 사용할 수 있고, 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함한다. 시스템은 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득할 수 있고, 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득할 수 있다. 또한, 시스템은 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정할 수 있고, 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정할 수 있다. 또한, 시스템은 인코딩된 데이터의 제1 세트로부터, 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 또한, 시스템은 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 그 후, 시스템은 선택된 인코딩된 데이터를 비트 스트림에 통합할 수 있다.
비디오 스트리밍을 지원할 수 있는 시스템 및 방법이 또한 본 명세서에서 설명된다. 시스템은 이미지 프레임의 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신할 수 있고, 이미지 프레임의 시퀀스의 각각의 이미지 프레임은 분할 스킴(partition scheme)에 기초하여 복수의 섹션으로 분할되고, 복수의 섹션은 적어도 제1 섹션과 제2 섹션을 포함한다. 시스템은 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성할 수 있고, 제1 재구성된 이미지 프레임은, 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제1 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성될 수 있고, 제2 섹션에 대한 제1 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성될 수 있다. 또한, 시스템은 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성할 수 있고, 제2 재구성된 이미지 프레임은, 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성된다.
도 1은 본 발명의 다양한 실시 예에 따른, 곡선 뷰(curved view) 비디오를 코딩/압축하는 것을 도시한다.
도 2는 본 발명의 다양한 실시 예에 따른, 3 차원 구형 뷰(spherical view)를 2 차원 평면에 매핑할 수 있는 예시적인 등변 투영(equirectangular projection)을 도시한다.
도 3은 본 발명의 다양한 실시 예에 따른, 3 차원 구형 뷰를 2 차원 레이아웃에 매핑하는 예시적인 입방체면(cubic face) 투영을 도시한다.
도 4는 본 발명의 다양한 실시 예에 따른, 곡선 뷰를 2 차원(two-dimensional, 2D) 이미지로 매핑하는 것을 도시한다.
도 5는 본 발명의 다양한 실시 예에 따른 예시적인 비디오 스트리밍 환경을 도시한다.
도 6은 본 발명의 다양한 실시 예에 따른, 타일(tile)에 기초한 예시적인 이미지 분할 스킴을 도시한다.
도 7은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍을 지원하는 이미지 프레임 시퀀스를 인코딩하는 것을 도시한다.
도 8은 본 발명의 다양한 실시 예에 따른, 타일을 이용한 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 것을 도시한다.
도 9는 본 발명의 다양한 실시 예에 따른, 타일을 이용한 비디오 스트리밍의 비트 스트림 스위칭을 도시한다.
도 10은 본 발명의 다양한 실시 예에 따른, 슬라이스에 기초한 예시적인 이미지 분할 스킴을 도시한다.
도 11은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍을 지원하는 이미지 프레임 시퀀스를 인코딩하는 것을 도시한다.
도 12는 본 발명의 다양한 실시 예에 따른, 슬라이스를 사용하여 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 것을 도시한다.
도 13은 본 발명의 다양한 실시 예에 따른, 슬라이스를 이용한 비디오 스트리밍의 비트 스트림 스위칭을 도시한다.
도 14는 본 발명의 다양한 실시 예에 따른, 비트 스트림 스위칭을 지원하는 예시적인 비디오 스트리밍 환경을 도시한다.
도 15는 본 발명의 다양한 실시 예에 따른, 타일에 기초하여 비디오 스트리밍에서 분산형 IDR 화상 전송을 지원하는 것을 도시한다.
도 16은 본 발명의 다양한 실시 예에 따른, 슬라이스에 기초하여 비디오 스트리밍에서 분산형 IDR 화상 전송을 지원하는 것을 도시한다.
도 17은 본 발명의 다양한 실시 예에 따른, 상이한 타일과 연관된 중요도 등급(importance rating)에 기초하여 IDR 화상 삽입 사이클(cycle)을 구성하는 것을 도시한다.
도 18 내지 도 19는 도 17(a)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 20 내지 도 21은 도 17(b)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 22는 본 발명의 다양한 실시 예에 따른, 상이한 슬라이스와 연관된 중요도 등급에 기초하여 IDR 화상 삽입 사이클을 구성하는 것을 도시한다.
도 23 내지 도 24는 도 22(a)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 25 내지 도 26은 도 22(b)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 27은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 흐름도를 도시한다.
도 28 내지 도 29는 도 17(a)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 30 내지 도 31은 도 17(b)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 32 내지 도 33은 도 22(a)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 34 내지 도 35는 도 22(b)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다.
도 36은 본 발명의 다양한 실시 예에 따른 비디오 스트리밍을 지원하는 흐름도를 도시한다.
도 37은 본 발명의 다양한 실시 예에 따른 이동 가능한 플랫폼 환경을 도시한다.
본 발명은 유사한 참조 번호가 유사한 요소를 지시하는 첨부 도면에서 제한으로서가 아니라 예로서 도시된다. 본 개시에서의 "하나(an)" 또는 "하나의(one)" 또는 "일부의(some)" 실시 예(들)에 대한 참조는 반드시 동일한 실시 예일 필요는 없고, 그러한 참조는 적어도 하나를 의미함을 알아야 한다.
본 발명의 다양한 실시 예에 따르면, 시스템 및 방법은 비디오 스트리밍에서 비트 스트림 스위칭을 지원할 수 있다. 시스템은 이미지 프레임의 시퀀스에서 각각의 이미지 프레임을 복수의 섹션으로 분할할 수 있고, 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함하고, 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득할 수 있고, 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득할 수 있다. 또한, 시스템은 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정할 수 있고, 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정할 수 있다. 또한, 시스템은 인코딩된 데이터의 제1 세트로부터, 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 또한, 시스템은 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 그 후, 시스템은 선택된 인코딩된 데이터를 비트 스트림에 통합할 수 있다.
본 발명의 다양한 실시 예에 따르면, 시스템 및 방법은 비디오 스트리밍을 지원할 수 있다. 시스템은 이미지 프레임의 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신할 수 있고, 이미지 프레임의 시퀀스의 각각의 이미지 프레임은 분할 스킴에 기초하여 복수의 섹션으로 분할되고, 복수의 섹션은 적어도 제1 섹션과 제2 섹션을 포함한다. 시스템은 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성할 수 있고, 제1 재구성된 이미지 프레임은, 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제1 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성될 수 있고, 제2 섹션에 대한 제1 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성될 수 있다. 또한, 시스템은 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성할 수 있고, 제2 재구성된 이미지 프레임은, 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성된다.
본 발명의 다양한 실시 예에 따르면, 비디오 스트리밍에서 비트 스트림 스위칭을 수행하기 위해 전송될 데이터의 양의 증가로 인한 지연을 감소시키기 위해 분산형 IDR 화상 전송 기술이 사용될 수 있다. 추가적으로 또는 대안적으로, 프로그레시브 코드 스트림 스위칭 기술은 비트 스트림 스위칭이 발생하더라도 원활한 데이터 스트림 전송을 보장할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 비디오를 코딩/압축하는 것을 도시한다. 도 1에 도시된 바와 같이, 곡선 뷰 비디오와 같은 파노라마 또는 와이드 뷰 비디오의 코딩/압축은 매핑(101), 예측(102), 변환(103), 양자화(104) 및 엔트로피 인코딩(105)과 같은 다수의 단계를 수반할 수 있다.
다양한 실시 예에 따라, 매핑 단계(101)에서, 시스템은 다양한 비디오 코딩/디코딩 기능을 활용하기 위해 비디오 시퀀스의 3 차원(three dimensional, 3D) 곡선 뷰를 2 차원(two-dimensional, 2D) 평면상에 투영할 수 있다. 시스템은 곡선 뷰 비디오(예를 들어, 구형 뷰 비디오(spherical view video))를 저장하고 송신하기 위해 2 차원 직사각형 이미지 포맷을 사용할 수 있다. 또한, 시스템은 디지털 이미지 프로세싱을 지원하고 코덱 동작을 수행하기 위해 2 차원 직사각형 이미지 포맷을 사용할 수 있다.
구형 뷰와 같은 곡선 뷰를 직사각형 이미지에 매핑하기 위해 상이한 접근법이 사용될 수 있다. 예를 들어, 구형 뷰는 등변 투영을 기반으로 사각형 이미지에 매핑될 수 있다. 일부 실시 예에서, 등변 투영은 경선(meridians)을 일정 간격의 수직 직선으로 매핑할 수 있고, 위도(latitude)의 원(circles)을 일정 간격의 수평 직선으로 매핑할 수 있다. 다르게는, 입방체면 투영을 기반으로 구형 뷰가 직사각형 이미지에 매핑될 수 있다. 입방체면 투영은 외접 입방체(circumscribed cube)를 기반으로 3D 구면(sphere surface)을 근사시킬 수 있다. 입방체의 6개의 면에 대한 3D 구면의 투영은 각각의 개별 투영의 상대 위치와 방위와 같은 입방체면 배열을 정의하는 상이한 입방체면 레이아웃을 사용하여 2D 이미지로 배열될 수 있다. 위에서 언급한 바와 같이, 등변 투영 및 입방체면 투영 외에, 3D 곡선 뷰를 2D 비디오로 매핑하기 위해 다른 투영 메커니즘이 이용될 수 있다. HEVC/H.265, H.264/AVC, AVS1-P2, AVS2-P2, VP8, VP9와 같이 일반적으로 사용되는 비디오 코덱 표준을 기반으로 2D 비디오가 압축, 인코딩 및 디코딩될 수 있다.
다양한 실시 예에 따라, 예측 단계(102)는 이미지의 중복 정보를 감소시키는 데 사용될 수 있다. 예측 단계(102)는 인트라 프레임 예측 및 인터 프레임 예측을 포함할 수 있다. 인트라 프레임 예측은 비디오 시퀀스의 다른 프레임과는 독립적으로, 현재 프레임 내에 포함된 정보만을 기반으로 수행될 수 있다. 인터 프레임 예측은 참조 프레임, 예를 들어 이전에 처리된 프레임을 기반으로 현재 프레임의 리던던시(redundancy)를 제거하는 것에 의해 수행될 수 있다.
예를 들어, 인터 프레임 예측을 위한 모션 추정을 수행하기 위해, 프레임은 다수의 이미지 블록들로 분할될 수 있다. 각각의 이미지 블록은 예를 들어, 블록 매칭 알고리즘을 기반으로 참조 프레임의 블록에 매칭될 수 있다. 일부 실시 예에서, 현재 프레임의 이미지 블록의 좌표로부터 참조 프레임의 매칭된 이미지 블록의 좌표까지의 오프셋을 나타내는 모션 벡터가 계산될 수 있다. 또한, 잔차(residuals), 즉 현재 프레임의 각각의 이미지 블록과 참조 프레임의 매칭된 블록 사이의 차이가 계산되고 그룹화될 수 있다.
또한, 프레임의 리던던시는 변환 단계(103)를 적용하는 것에 의해 제거될 수 있다. 변환 단계(103)에서, 시스템은 코딩 효율을 향상시키기 위해 잔차를 처리할 수 있다. 예를 들어, 변환 계수는 그룹화된 잔차에 변환 행렬 및 그 전치 행렬을 적용하는 것에 의해 생성될 수 있다. 이어서, 변환 계수는 양자화 단계(104)에서 양자화되고 엔트로피 인코딩 단계(105)에서 코딩될 수 있다. 그 다음, 엔트로피 인코딩 단계(105)로부터 생성된 정보를 포함하는 비트 스트림뿐만 아니라 다른 인코딩 정보(예를 들어, 인터 프레임 예측 모드, 모션 벡터)는 저장되어 디코더에 송신될 수 있다.
수신단에서, 디코더는 수신된 비트 스트림에 대해 역 처리(예를 들어, 엔트로피 디코딩, 역양자화 및 역변환)를 수행하여 잔차를 획득할 수 있다. 따라서, 이미지 프레임은 잔차 및 다른 수신된 디코딩 정보를 기반으로 디코딩될 수 있다. 그러면, 디코딩된 이미지는 곡선 뷰 비디오를 디스플레이하는데 사용될 수 있다.
도 2는 본 발명의 다양한 실시 예에 따라 3 차원 구형 뷰를 2 차원 평면에 매핑할 수 있는 예시적인 등변 투영(200)을 도시한다. 도 2에 도시된 바와 같이, 등변 투영을 사용하여, 구형 뷰(201)는 2 차원 직사각형 이미지(202)에 매핑될 수 있다. 다른 한편으로, 2 차원 직사각형 이미지(202)는 반대로 구형 뷰(201)로 매핑될 수 있다.
일부 실시 예에서, 매핑은 다음 식을 토대로 정의될 수 있다.
Figure pct00001
Figure pct00002
여기서, x는 2D 평면 좌표계에서의 수평 좌표를 나타내고, y는 2D 평면 좌표계(202)에서의 수직 좌표를 나타낸다.
Figure pct00003
는 중심 경선으로부터의 구(sphere)(201)의 경도를 나타내며,
Figure pct00004
는 표준 위선(standard parallels)으로부터 구의 위도를 나타낸다.
Figure pct00005
은 투영의 스케일(scale)이 참(true)인 표준 위선을 나타낸다. 일부 실시 예에서,
Figure pct00006
은 0으로 설정될 수 있고, 좌표계(202)의 점(0, 0)은 중심에 위치될 수 있다.
도 3은 본 발명의 다양한 실시 예에 따른, 3 차원 구형 뷰를 2 차원 레이아웃으로 매핑하는 예시적인 입방체면 투영을 도시한다. 본 발명의 다양한 실시 예에 따라, 도 3에 도시된 바와 같이, 입방체면 투영을 사용하여, 구형 뷰(301)는 2 차원 레이아웃(302)에 매핑될 수 있다. 한편, 2 차원 레이아웃(302)은 반대로 구형 뷰(301)로 매핑될 수 있다.
다양한 실시 예에 따라, 구면(301)에 대한 입방체면 투영은 입방체(310), 예를 들어, 구(301)의 외접 입방체를 기반으로 할 수 있다. 매핑 관계를 확인하기 위해, 구면 및 입방체면 각각에 대해 다수의 교점(intersection point) 쌍을 얻기 위해 구의 중심으로부터 광선 캐스팅(ray casting)이 수행될 수 있다.
도 3에 도시된 바와 같이, 구형 뷰를 저장하고 송신하기 위한 이미지 프레임은 입방체(310)의 6개의 입방체면, 예를 들어, 상부 입방체면(top cubic face), 하부 입방체면(bottom cubic face), 좌측 입방체면(left cubic face), 우측 입방체면(right cubic face), 정면 입방체면(front cubic face), 후면 입방체면(back cubic face)을 포함할 수 있다. 이러한 6개의 입방체면은 2D 평면에서 확장(또는 투영)될 수 있다.
입방체면 투영에 기반한 구형 뷰 또는 타원 뷰(ellipsoidal view)와 같은 곡선 뷰의 투영은 설명의 목적으로 제공되며, 본 개시의 범위를 제한하려는 의도가 아니라는 점에 유의해야 한다. 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 경우, 본 개시의 교시 하에서, 다양한 수정 및 변형이 수행될 수 있다. 본 개시에 속하는 투영을 위한 투영 포맷의 예시적인 실시 예는 8면체(octahedron), 12면체(dodecahedron), 20면체(icosahedron) 또는 임의의 다면체(polyhedron)를 포함할 수 있다. 예를 들어, 8개 면에 대한 투영은 8면체에 기반한 근사를 위해 생성될 수 있고, 이들 8개 면의 투영은 2D 평면상으로 확대 및/또는 투영될 수 있다. 다른 예에서, 12개 면의 투영은 12면체에 기반한 근사를 위해 생성될 수 있고, 12개 면의 투영은 2D 평면상으로 확대 및/또는 투영될 수 있다. 또 다른 예에서, 20개 면의 투영은 20면체에 기반한 근사를 위해 생성될 수 있고, 이들 20개 면의 투영은 2D 평면상으로 확대 및/또는 투영될 수 있다. 또 다른 예에서, 다면체의 다양한 면에 대한 타원 뷰의 투영이 타원 뷰의 근사를 위해 생성될 수 있고, 이들 20개 면의 투영이 2D 평면상으로 확대 및/또는 투영될 수 있다.
도 3에 도시된 입방체면 레이아웃에 대해, 상이한 입방체면은 상부 입방체면, 하부 입방체면, 좌측 입방체면, 우측 입방체면, 정면 입방체면 및 후면 입방체면과 같이 그의 상대적 위치를 이용하여 표시될 수 있다. 이러한 설명은 단지 예시의 목적으로 제공되며, 본 개시의 범위를 제한하려는 것은 아니다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 개시 내용의 교시 하에서 다양한 수정 및 변형이 수행될 수 있다.
다양한 실시 예에 따르면, 각 입방체면의 방위 또는 상대적 위치에 따라, 다양한 입방체면 간의 연속적인 관계(continuous relationship)가 상이한 연속성 관계(continuity relationship)를 사용하여 표현될 수 있다.
도 4는 본 발명의 다양한 실시 예에 따른 곡선 뷰를 2 차원(2D) 이미지로 매핑하는 것을 도시한다. 도 4에 도시된 바와 같이, 매핑(401)은 곡선 뷰(403)를 2D 이미지(404)에 대응시키기 위해 사용될 수 있다. 2D 이미지(404)는 다면체(예를 들어, 입방체)의 면 상에 투영된 곡선 뷰(403)의 일부를 포함하는 이미지 영역(411-412)의 세트를 포함한다.
다양한 실시 예에 따라, 이미지 영역의 세트는 곡선 뷰의 적어도 하나의 부분을 다면체 상의 다수의 면에 투영하는 것에 의해 획득될 수 있다. 예를 들어, 구형 뷰(403)는 구형 표면 또는 구형 표면의 일부로부터 입방체면의 세트로 투영될 수 있다. 유사한 방식으로, 곡선 뷰는 타원형 표면 또는 타원형 표면의 일부로부터 직사각형 입방체 표면의 세트로 투영될 수 있다.
또한, 곡선 뷰, 예를 들어, 구형 뷰(403)는 상이한 레이아웃를 기반으로 2 차원 직사각형 이미지(404)로 매핑될 수 있다. 도 4에 도시된 바와 같이, 이미지 영역(411-412)의 세트는 2D 이미지에서 이미지 영역(411-412)의 위치 및 방위와 같은 상대적인 위치 정보를 정의하는 레이아웃(402)을 기반으로 2D 이미지(4040)에 배열될 수 있다.
도 4에 도시된 바와 같이, 구형 뷰(403)는 모든 방향에서 연속적이다. 다양한 실시 예에 따라, 이미지 영역(411-412)의 세트는 곡선 뷰(403)의 적어도 일부분을 다면체 상의 다수의 면에 투영하는 것에 의해 획득될 수 있다. 연속 관계는 특정 매핑(401) 및 레이아웃(402)과 관련 있는 연속성 관계를 사용하여 표현될 수 있다. 기하학적 제한으로 인해, 2 차원 이미지(404)는 구형 뷰(403)에서 연속성을 완전히 보존하지 못할 수도 있다.
다양한 실시 예에 따라, 시스템은 구형 뷰 비디오를 인코딩/디코딩하는 효율을 향상시키기 위해, 이미지 영역(411-412) 세트 사이의 연속성을 제공하거나 보존하기 위한 패딩(padding) 방식을 사용할 수 있다.
다양한 실시 예에 따라, 다양한 매핑 메카니즘들이 곡선 뷰 예를 들어, 구형 뷰(403)를 2 차원 평면 뷰로 매핑하기 위해 사용될 수 있다(즉, 곡선 뷰 비디오는 2 차원 평면 비디오로 매핑될 수 있다). 구형 비디오 또는 부분 구형 비디오는 다수의 카메라 또는 어안(fisheye) 카메라와 같은 와이드 뷰 카메라에 의해 캡처될 수 있다. 2 차원 평면 비디오는 구형 매핑에 의해 획득될 수 있으며, 또한 부분 구형 매핑을 통해 획득될 수 있다. 매핑 방법은 360도 파노라마 비디오, 180도 파노라마 비디오, 또는 넓은 시야(field of view, FOV)를 갖는 비디오의 표현을 제공하도록 적용될 수 있다. 또한, HEVC/H.265, H.264/AVC, AVS1-P2, AVS2-P2, VP8 및 VP9와 같은 다양한 비디오 코덱 표준을 사용하여 매핑 방법에 의해 획득된 2 차원 평면 비디오가 인코딩되고 압축될 수 있다.
다양한 실시 예에 따라, 360도 파노라마 비디오 또는 더 큰 시야(FOV)를 갖는 비디오와 같은 파노라마 또는 와이드 뷰 비디오는 많은 양의 데이터를 포함할 수 있다. 또한, 그러한 비디오는 높은 코딩 품질로 인코딩될 필요가 있을 수 있으며, 고해상도로 제시될 필요가 있을 수도 있다. 따라서, 매핑 및 압축(예를 들어, 다양한 비디오 코덱 방법을 사용) 후에도, 압축된 데이터의 크기는 여전히 클 수 있다. 결과적으로, 파노라마 또는 와이드 뷰 비디오의 송신은 현재 네트워크 송신 조건에서 여전히 어려운 작업으로 남아 있다.
다양한 실시 예에 따라, 파노라마 또는 와이드 뷰 비디오를 인코딩하고 압축하기 위해 다양한 접근법이 사용될 수 있다. 예를 들어, 사용자가 만족스러운 주관적 감정으로 파노라마 또는 와이드 뷰 비디오를 보는 것을 보장하면서, 네트워크 대역폭의 소비를 감소시키기 위해 뷰포트(viewport)에 기반한 접근 방식이 사용될 수 있다. 여기서, 파노라마 또는 와이드 뷰 비디오는 인간 시력보다 넓은 시야를 커버할 수 있고, 뷰포트는 인간 시력의 주요 관점(main perspective)을 나타낼 수 있으며, 보다 주의를 요하는 것이 바람직하다. 반면에, 주변 시야(peripheral vision)를 통해서만 관찰되거나 사람이 관찰할 수 없는 뷰포트 외부의 영역은 덜 주의를 요한다.
도 5는 본 발명의 다양한 실시 예에 따른 예시적인 비디오 스트리밍 환경을 도시한다. 도 5에 도시된 바와 같이, 비디오(510), 예를 들어. 이미지 프레임(또는 화상)의 시퀀스를 포함할 수 있는 큰 시야(FOV)를 갖는 파노라마 또는 와이드 뷰 비디오는 비디오 스트리밍 환경에서 스트리밍 서버(501)로부터 사용자 장비(UE)(502)로 스트리밍될 수 있다.
서버 측에서, 인코더(508)는 비디오(510)의 이미지 프레임의 시퀀스를 인코딩할 수 있고, 인코딩된 데이터를 저장 장치(503)에 저장된 다양한 비트 스트림(504)에 통합할 수 있다.
다양한 실시 예에 따라, 스트리밍 컨트롤러(505)는 사용자 장비(UE)(502)에 대한 비디오(510)의 스트리밍을 제어할 수 있다. 일부 경우에, 스트리밍 컨트롤러(505)는 인코더 또는 인코더의 구성 요소일 수 있다. 일부 경우에, 스트리밍 컨트롤러(505)는 인코더 또는 인코더와 함께 기능을 포함할 수 있다. 예를 들어, 스트리밍 컨트롤러(505)는 사용자 장비(UE)(502)로부터 뷰포트 정보와 같은 사용자 정보(512)를 수신할 수 있다. 그러면, 스트리밍 컨트롤러(505)는 저장 장치(503)에 저장된 비트 스트림(504)을 기반으로 대응하는 비트 스트림(511)을 생성하고, 생성된 비트 스트림(511)을 사용자 장비(UE)(502)에 송신한다.
사용자 장비(UE) 측에서, 디코더(506)는 비디오(510) 내의 이미지 프레임의 시퀀스에 대한 이진 데이터를 포함하는 비트 스트림(511)을 획득할 수 있다. 그러면, 디코더(506)는 디코딩된 정보를 사용자에 의해 보여지기 위해 디스플레이(506)에 제공하기 전에, 이진 데이터를 디코딩할 수 있다. 반면에, 사용자 장비(UE)(502) 또는 사용자 장비(UE)(502)의 컴포넌트(예를 들어, 디스플레이(507))는 업데이트된 뷰포트 정보(예를 들어, 사용자의 시력이 주변으로 이동하는 경우)와 같은 업데이트된 사용자 정보를 획득하고, 이러한 업데이트된 사용자 정보를 스트리밍 서버(501)로 제공할 수 있다. 따라서, 스트리밍 컨트롤러(505)는 비트 스트림(511)을 재구성하여 사용자 장비(UE)(502)로 전송할 수 있다.
다양한 실시 예에 따라, 상이한 타입의 분할 스킴이 비디오(510)의 이미지 프레임들 각각을 복수의 섹션으로 분할하는데 사용될 수 있다. 예를 들어, 분할 스킴은 타일 또는 슬라이스 또는 비디오 인코딩 및 디코딩에 유용한 기타 형상 분할(geometry division)을 기반으로 할 수 있다. 다양한 일례에서, 비디오(510)의 이미지 프레임들 각각은 동일한 수의 섹션으로 분할될 수 있다. 또한, 상이한 이미지 프레임의 대응하는 섹션은 동일하거나 실질적으로 유사한 상대 위치에서 실질적으로 유사한 동일한 기하학적 크기로 위치될 수 있다(예를 들어, 비디오(510)의 이미지 프레임들 각각은 동일하거나 실질적으로 유사한 방식으로 분할될 수 있다).
다양한 실시 예에 따라, 이미지 프레임을 분할하는 복수의 섹션들 각각은 다중 레벨의 코딩 품질로 구성될 수 있다. 예를 들어, 서버 측에서, 이미지 프레임을 분할하는 복수의 섹션들 각각은 다중 레벨의 인코딩 품질로 구성될 수 있다. 사용자 장비(UE) 측에서, 이미지 프레임을 분할하는 복수의 섹션들 각각은 다중 레벨의 디코딩 품질로 구성될 수 있다.
다양한 실시 예에 따라, 비디오(510)의 이미지 프레임의 각각의 섹션에 대한 코딩 품질은 관심 영역(region of interest, ROI) 정보와 같은 사용자 선호도를 기반으로 결정될 수 있다. 선택적으로 또는 부가적으로, 이미지 프레임의 각각의 섹션에 대한 코딩 품질은 이미지 프레임에 대한 뷰포트의 위치를 지시할 수 있는 제1 이미지 프레임에 대한 뷰포트 정보를 기반으로 결정될 수 있다. 여기서, 뷰포트에 대응하는 이미지 프레임의 섹션은 뷰포트 외부에 있는 이미지 프레임의 다른 섹션에 대한 코딩 품질보다 높은 코딩 품질을 갖도록 구성될 수 있다.
도 5에 도시된 바와 같이, 서버 측에서, 비디오(510)의 이미지 프레임의 시퀀스에 대한 다수의 비트 스트림(504)이 저장 장치(503)에 저장될 수 있다. 일부 경우에, 저장된 비트 스트림들 각각은 이미지 프레임의 시퀀스의 특정 섹션에 대해 특정 코딩 품질을 가지는 인코딩된 데이터를 포함한다.
다양한 실시 예에 따라, 인코더(508)는 도 1에 도시된 인코딩 프로세스를 활용할 수 있다. 예를 들어, 예측 및 변환 단계와 같은 다양한 인코딩 단계를 공유하는 것에 의해, 인코더(508)는 상이한 코딩 품질을 사용하여 비디오(510)의 이미지 프레임의 시퀀스를 인코딩할 준비를 할 수 있다. 양자화 단계에서, 인코더(508)는 예측 및 변환 결과를 공유하면서 이미지 프레임의 시퀀스에 상이한 양자화 파라미터를 적용할 수 있다. 따라서, 인코더(508)는 상이한 코딩 품질을 갖는 이미지 프레임의 시퀀스에 대한 다중 비트 스트림을 획득할 수 있다.
도 6은 본 발명의 다양한 실시 예에 따른, 타일에 기반한 예시적인 이미지 분할 스킴(600)을 도시한다. 도 6의 (a) 및 도 6의 (b)에 도시된 바와 같이, 비디오에서 이미지 프레임(또는 화상)을 분할하기 위해 다수의 타일이 사용될 수 있다.
다양한 실시 예에 따라, 이미지 프레임에서의 직사각형 영역인 타일이 코딩에 사용될 수 있다. 예를 들어, 다양한 비디오 코덱 표준에서, 이미지 프레임은 수평 및 수직으로 타일로 분할될 수 있다. HEVC/H.265와 같은 일부 비디오 코딩 표준에서, 동일한 열(row)의 타일들의 높이는 균일할 것이 요구될 수 있고, 이미지 프레임의 타일의 폭은 균일할 것이 요구되지 않을 수 있다. 동일한 이미지 프레임에서 상이한 타일의 데이터는 (필터링 동작(operation)이 동일한 이미지의 상이한 타일 경계를 넘어서 수행될 수 있지만) 상호 참조(cross-referenced) 및 예측될 수 없다. 필터링 동작은 디블로킹(deblocking), 샘플 적응 오프셋(sample adaptive offset, SAO), 적응형 루프 필터(adaptive loop filter, ALF) 등을 포함할 수 있다.
도 6의 (a)에 도시된 예에서, 이미지는 9개의 섹션(또는 영역)으로 분할될 수 있다. 각각의 섹션은 상이한 품질로 인코딩될 수 있다. 다양한 일례에서, 코딩 품질은 양적으로 또는 질적으로 정의될 수 있다. 예를 들어, 코딩 품질은 "높음", "보통" 또는 "낮음" (각각 정량적 측정과 관련될 수 있음) 중 하나로 정의될 수 있다. 다르게는 또는 부가적으로, 코딩 품질은 숫자, 문자, 영숫자 문자열 또는 임의의 다른 적절한 표현으로 나타낼 수 있다. 다양한 일례에서, 코딩 품질은 다양한 코딩 객관적 측정치, 주관적 측정치 및 상이한 샘플링 비율(또는 해상도)를 나타낼 수 있다.
도 6의 (a)에 도시된 바와 같이, 타일 5, 즉 영역 (1,1)은 뷰포트에 의해 커버된다. 따라서, 타일 5는 "높은" 품질로 할당될 수 있다. 또한, 타일 2, 4, 6 및 8, 즉 영역 (1,1), (1,0), (2,1) 및 (1,2)는 뷰포트에 대응하는 영역(1,1)에 인접된다. 따라서, 이들 영역은 초점이 맞지 않더라도 이들 영역이 사람의 시력(즉, 주변 시야) 내에 있으므로 "중간" 품질로 인코딩될 수 있다. 또한, 타일 1, 3, 7 및 9, 즉 영역(0,0), (0,2), (2,0) 및 (2,2)은 뷰포트에서 더 멀리 떨어져 있으며 인간의 눈으로 관찰될 수 없다. 따라서 이러한 영역은 "낮음" 품질로 인코딩될 수 있다.
다르게는, 도 6의 (b)에 도시된 예에서, 이미지는 2개의 섹션 또는 영역으로 분할될 수 있다. 각각의 섹션은 상이한 품질로 인코딩될 수 있으며 코딩 품질은 "높음", "중간" 또는 "낮음" 중 하나로 정의될 수 있다. 도 6의 (b)에 도시된 바와 같이, 섹션 B(예를 들어, 타일)는 뷰포트에 의해 커버된다. 따라서, 섹션 B는 "높은" 품질로 할당될 수 있다. 또한, 섹션 B를 둘러싼 섹션 A에는 "낮음" 또는 "중간" 품질이 할당될 수 있다.
도 7은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍을 지원하기 위한 이미지 프레임 시퀀스를 인코딩하는 것을 도시한다. 도 7에 도시된 바와 같이, 이미지 시퀀스(701)는 서버(700)에서 비트 스트림(702)으로 인코딩 및 저장될 수 있다. 여기서, 각각의 비트 스트림은 서버 측상의 단일 섹션에 대해 특정 품질로 제공될 수 있다. 예를 들어, 저장된 비트 스트림(711)은 이미지 시퀀스에서 섹션 1에 대한 품질 A(예를 들어, "높음")를 갖는 인코딩된 데이터에 대응한다.
도 7에 도시된 바와 같이, 이미지 시퀀스(701)(즉, 비디오)의 이미지 프레임은 9개의 섹션으로 분할될 수 있는 반면, 각각의 섹션은 3가지 품질(예를 들어, A는 "높음", B는 "중간 "또는 C는 "낮음")로 인코딩될 수 있다. 예를 들어, 인코딩은 H.264/AVC, H.265/HEVC, AVS1-P2, AVS1-P2 등과 같은 다양한 비디오 코덱 표준을 기반으로 할 수 있다.
다양한 실시 예에 따르면, 각각의 비트 스트림은 독립적으로 디코딩될 수 있다. 예를 들어, 각각의 비트 스트림은 독립적 비디오 파라미터 세트(video parameter set, VPS) 정보, 독립적 시퀀스 헤더 정보, 독립적 시퀀스 파라미터 세트(sequence parameter set, SPS) 정보, 독립적 화상 헤더 정보 또는 별도의 화상 파라미터 세트(separate Picture Parameter Set, PPS) 파라미터를 포함할 수 있다.
도 8은 본 발명의 다양한 실시 예에 따른, 타일들을 사용하는 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 것을 도시한다. 도 8에 도시된 바와 같이, 타일 기반 분할 스킴(802)을 사용하여, 이미지 프레임의 시퀀스(801)의 이미지 프레임(811)은 다수의 타일(예를 들어, 타일 1-9)로 분할될 수 있다. 또한, 스트리밍 컨트롤러는 이미지 프레임(811)의 각각의 타일에 대한 인코딩 품질(803)을 결정할 수 있다. 또한, 스트리밍 컨트롤러는 서버의 저장된 비트 스트림으로부터 이미지의 각각의 타일에 대해 결정된 인코딩 품질을 갖는 인코딩된 데이터(804)를 획득할 수 있다. 그 다음, 스트리밍 컨트롤러는 제1 이미지 프레임의 복수의 섹션(예를 들어, 타일들)에 대한 인코딩된 데이터(804)를 미리 결정된 순서에 따라 송신을 위해 비트 스트림(805)에 통합(예를 들어, 캡슐화)할 수 있다. 일부 경우에, 미리 결정된 순서는 이미지 프레임의 시퀀스에서 각각의 특정 섹션(예를 들어, 타일)의 상대적 위치를 기반으로 구성될 수 있다.
다양한 실시 예에 따라, 스트리밍 컨트롤러는 사용자 장비(UE)의 뷰포트에 따라, 송신될 필요가 있는 이미지 프레임의 각각의 섹션(예를 들어, 타일)에 대해, 저장된 비트 스트림으로부터 인코딩된 데이터를 동적으로 선택할 수 있다.
도 9의 (a)를 참조하면, 타일 5는 시점(time point) T(N)에서의 뷰포트(821)에 대응한다. 따라서, 타일 5는 "높은" 품질(H)로 할당될 수 있다. 또한, 각각의 타일 2, 4, 6, 및 8에는 "중간" 품질(M)이 할당될 수 있으며, 타일 1, 3, 7 및 9의 각각에 "낮음" 품질(L)이 할당될 수 있다.
스트리밍 컨트롤러는 이미지 프레임(811)의 각각의 타일에 대응하는 인코딩 품질을 결정한 후, 서버의 대응하는 저장된 비트 스트림으로부터 이미지 프레임(811)의 각각의 타일에 대한 원하는 품질의 인코딩된 데이터를 획득할 수 있다. 예를 들어, 도 9의 (a)에 도시된 예에서, 스트리밍 컨트롤러는 높은 품질 비트 스트림(예를 들어, 도 7의 710)으로부터 타일 5에 대한 인코딩된 데이터를 획득할 수 있다. 또한, 스트리밍 컨트롤러는 중간 품질 비트 스트림(예를 들어, 도 7의 720)으로부터 타일 2, 4, 6 및 8에 대한 인코딩된 데이터를 획득할 수 있고, 스트리밍 컨트롤러는 낮은 품질의 비트 스트림(예를 들어, 도 7의 730)으로부터 타일 1, 3, 7 및 9에 대한 인코딩된 데이터를 획득할 수 있다.
그 다음, 스트리밍 컨트롤러는 상이한 타일들에 대해 획득된 인코딩된 데이터를 송신을 위해 비트 스트림(805)으로 캡슐화할 수 있다. 다양한 일례에서, 각각의 타일에 대한 인코딩된 데이터는 미리 결정된 순서에 따라 캡슐화될 수 있다. 예를 들어, 미리 결정된 순서는 이미지 프레임에서 왼쪽에서 오른쪽으로 그리고 위에서 아래로의 순서를 참조하는 래스터(raster) 스캔 순서를 기반으로 구성될 수 있다.
다양한 실시 예에 따라, 뷰포트에 기반한 비디오 스트리밍 접근법은 시청시 주관적인 경험을 고려하면서 파노라마 또는 와이드 뷰 비디오에 대해 송신된 데이터를 효과적으로 감소시킬 수 있다. 반면에, 뷰포트가 변화할 때, 즉 인간의 시력이 움직일 때, 뷰포트에 대응하는 이미지 섹션도 또한 변화할 수 있다.
다양한 실시 예에 따라, 스트리밍 컨트롤러는 비디오 스트리밍에서 송신을 위해 비트 스트림(805)을 생성하는데 사용되는 각각의 분할된 섹션에 대해 상이한 품질의 비트 스트림들 중에서 동적으로 스위칭할 수 있다. 예를 들어, 스트리밍 컨트롤러는 제2 이미지 프레임에 대한 나중(later) 시점에서 뷰포트 정보를 수신할 수 있다. 여기서, 제2 이미지 프레임에 대한 뷰포트 정보는 제2 이미지 프레임에 대한 뷰포트의 위치를 지시할 수 있다. 제2 이미지 프레임은 이미지 프레임의 시퀀스에서 제1 이미지 프레임을 뒤따르거나 따라가며(trails), 제1 이미지 프레임에 대한 뷰포트의 위치는 제2 이미지 프레임에 대한 뷰포트의 위치와 상이할 수 있다.
도 9의 (b)를 참조하면, 시점 T(M)에서, 뷰포트(822)는 타일 2로 시프트될 수 있다. 스트리밍 컨트롤러는 이미지 프레임의 각각의 타일에 대한 코딩 품질을 조정할 수 있다. 도 9의 (b)에 도시된 바와 같이, 타일 2는 "높은" 품질(H)로 할당된다. 또한, 타일 1, 3 및 5에는 "보통" 품질(M)이 할당될 수 있으며, 타일 4, 6, 7, 8 및 9에는 "낮음" 품질(L)이 할당될 수 있다.
따라서, 스트리밍 컨트롤러는 시점 T(M) 이후에 비트 스트림 스위칭을 수행할 수 있다. 이미지 프레임의 각각의 타일에 대한 인코딩 품질을 결정한 후에, 스트리밍 컨트롤러는 이미지 프레임의 각각의 타일에 대해 서버의 대응하는 저장된 비트 스트림으로부터 원하는 품질의 인코딩된 데이터를 획득할 수 있다. 도 9의 (b)에 도시된 예에서, 스트리밍 컨트롤러는 높은 품질 비트 스트림(예를 들어, 도 7의 710)으로부터 타일 2에 대한 인코딩된 데이터를 획득할 수 있다. 부가적으로, 스트리밍 컨트롤러는 중간 품질 비트 스트림(예를 들어, 도 7의 720)으로부터 타일 1, 3 및 5에 대한 인코딩된 데이터를 획득할 수 있고, 스트리밍 컨트롤러는 낮은 품질 비트 스트림(예를 들어, 도 7의 730)으로부터 타일 4, 6, 7, 8 및 9에 대한 인코딩된 데이터를 획득할 수 있다.
다양한 일례에서, 비트 스트림 스위칭은 랜덤 액세스 포인트에서 수행될 수 있다. 예를 들어, 랜덤 액세스 포인트는 순간 디코딩 리프레시(instantaneous decoding refresh, IDR) 화상, 클린 랜덤 액세스(clean random access, CRA) 화상, 시퀀스 헤더, 시퀀스 헤더+1 프레임 등일 수 있다.
도 9의 (b)에 도시된 바와 같이, 시점 T(M)에서 뷰포트의 위치를 변경한 후, 스트리밍 컨트롤러는 시점 T(M) 이후의 제1 랜덤 액세스 포인트에서 비트 스트림 스위칭을 수행할 수 있다. 예를 들어, 스트리밍 컨트롤러는, 제2 이미지 프레임이 비트 스트림의 인코딩된 데이터를 디코딩하기 위한 랜덤 액세스 포인트에 있다면, 제2 이미지 프레임에 대한 수신된 뷰포트 정보를 기반으로 제2 이미지 프레임의 각각의 섹션에 대한 인코딩 품질을 결정할 수 있다. 그렇지 않으면, 스트리밍 컨트롤러는, 제2 이미지 프레임이 비트 스트림의 인코딩된 데이터를 디코딩하기 위한 랜덤 액세스 포인트에 있지 않으면, 제1 이미지 프레임의 대응 섹션에 대한 인코딩 품질을 기반으로 제2 이미지 프레임의 각각의 섹션에 대한 인코딩 품질을 결정할 수 있다. 이러한 경우, 스트리밍 컨트롤러는 시점 T(M) 이후에 제1 랜덤 액세스 포인트까지 대기하고 비트 스트림 스위칭을 수행할 수 있다.
상기 방식을 사용하는 다양한 실시 예에 따라, 스트리밍 컨트롤러는 이미지 프레임의 상이한 섹션에 대해 상이한 품질을 갖는 인코딩된 데이터를 단일 비트 스트림(805)에 통합할 수 있다. 다수의 비트 스트림을 송신하는 것에 의존하는 접근법과는 달리, 위의 방식은 다중 채널 동기화 문제를 피할 수 있다. 따라서, 비디오 코드 스트림을 송신하기 위한 시스템 계층은 예를 들어 DASH(Http Dynamic Streaming Over Http), HLS(Http Live Streaming), MPEG TS(Transport Stream)의 시스템 프로토콜을 사용하여 동기화 동작을 수행할 필요가 없다. 부가적으로, 상기 방식은, 각각의 타일에 대한 인코딩된 데이터의 위치가 이미지 프레임의 각각의 타일의 상대적 위치에 따라 캡슐화되기 때문에, 사용자 장비에서 다중 채널로부터 데이터를 결합할 필요성을 회피할 수 있다.
부가적으로, 지시자(indicator)(812)가 제공되고 비트 스트림과 연관될 수 있다. 다양한 실시 예에 따라, 지시자(812)는 이미지 프레임의 시퀀스에서 각각의 이미지 프레임의 특정 섹션에 대한 인코딩 예측 의존성이 상기 특정 섹션 내에서 제약됨을 지시할 수 있다.
다양한 실시 예에서, 서버 측의 인코더 또는 스트리밍 컨트롤러에 의해 제공되는 지시자(812)는 디코더에 의해 수신된 지시자와 동일하거나 관련될 수 있다. 즉, 지시자는 인코딩 예측 의존성 및 디코딩 예측 의존성을 모두 지시할 수 있다.
도 10은 본 발명의 다양한 실시 예에 따른 슬라이스에 기반한 예시적인 이미지 분할 스킴을 도시한다. 도 10의 (a) 및 도 10의 (b)에 도시된 바와 같이, 다수의 슬라이스가 비디오의 이미지 프레임(또는 화상)을 분할하기 위해 사용될 수 있다.
다양한 실시 예에 따라, 슬라이스는 각각의 이미지 프레임에서, 독립적인 슬라이스 세그먼트(segment)로 시작하고 다음 독립 슬라이스 세그먼트에 선행하는 0개 또는 그보다 많은 후속하는 종속 슬라이스 세그먼트(subsequent dependent slice segment)를 포함하는 슬라이스 세그먼들의 시퀀스일 수 있다. 다르게는, 슬라이스는 코딩 블록들의 시퀀스 또는 코딩 블록 쌍들의 시퀀스일 수 있다.
다양한 일례에서, 슬라이스가 비디오 코딩을 위해 사용될 수 있다. 예를 들어, 이미지 프레임은 수평 방향으로 하나의 슬라이스만을 허용한다(즉, 분할이 수직 방향으로 수행될 수 없다). 동일한 이미지 프레임에서 상이한 슬라이스의 데이터는 (필터링 동작이 동일한 이미지의 상이한 타일 경계를 넘어서 수행될 수 있지만) 상호 참조 및 예측될 수 없다. 필터링 동작은 디블로킹, 샘플 적응 오프셋(SAO), 적응형 루프 필터(ALF) 등을 포함한다.
도 10의 (a)에 도시된 예에서, 이미지는 3개의 슬라이스(또는 영역)로 분할될 수 있다. 각각의 슬라이스는 상이한 품질로 인코딩될 수 있다. 다양한 일례에서, 코딩 품질은 양적으로 또는 질적으로 정의될 수 있다. 예를 들어, 코딩 품질은 "높음", "중간" 는 "낮음"(각각 정량적 측정치와 관련될 수 있음) 중 하나로 정의될 수 있다. 다르게는 또는 부가적으로, 코딩 품질은 숫자, 문자, 영숫자 문자열 또는 임의의 다른 적절한 표현으로 나타낼 수 있다. 다양한 일례에서, 코딩 품질은 다양한 코딩 객관적 측정치, 주관적 측정치 및 다른 샘플링 비율(또는 해상도)를 지칭할 수 있다.
도 10의 (a)에 도시된 바와 같이, 슬라이스 2, 즉 영역(1, 0)은 뷰포트에 의해 커버된다. 따라서, 슬라이스 2는 "높은" 품질로 할당될 수 있다. 또한, 슬라이스 2 및 3, 즉 영역(0, 0) 및 (2, 0)은 뷰포트에 대응하는 영역(1, 0)에 인접한다. 따라서 이러한 영역은 "중간" 품질로 인코딩될 수 있다.
다르게는, 도 10의 (b)에 도시된 예에서, 이미지는 2개의 섹션 또는 영역으로 분할될 수 있다. 각각의 섹션은 서로 상이한 품질로 인코딩되며, 코딩 품질은 "높음", "중간" 또는 "낮음" 중 하나로 정의될 수 있다. 도 10의 (b)에 도시된 바와 같이, 섹션 B(예를 들어, 슬라이스)는 뷰포트에 의해 커버된다. 따라서, 섹션 B는 "높은" 품질로 할당될 수 있다. 또한, 섹션 B를 둘러싼 섹션 A에는 "낮음" 또는 "중간" 품질이 할당될 수 있다.
도 11은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍을 지원하기 위한 이미지 프레임 시퀀스를 인코딩하는 것을 도시한다. 도 11에 도시된 바와 같이, 이미지 시퀀스(1101)는 서버(1100)에서 비트 스트림(1102)으로 인코딩되고 저장될 수 있다. 여기서, 각각의 비트 스트림은 서버 측상의 단일 섹션에 대해 특정 품질로 제공될 수 있다. 예를 들어, 저장된 비트 스트림(1111)은 이미지 시퀀스(1101)에서 섹션(1)에 대한 품질 A(예를 들어, "높음")를 갖는 인코딩된 데이터에 대응한다.
도 11에 도시된 바와 같이, 이미지 시퀀스(1101)(즉, 비디오)의 이미지 프레임은 3개의 섹션으로 분할될 수 있는 반면, 각각의 섹션은 3개의 품질(예를 들어, "높음", "중간" 또는 "낮음")로 인코딩될 수 있다. 예를 들어, 인코딩은 H.264/AVC, H.265/HEVC, AVS1-P2, AVS1-P2 등과 같은 다양한 비디오 코덱 표준을 기반으로 할 수 있다.
다양한 실시 예에 따르면, 각각의 비트 스트림은 독립적으로 디코딩될 수 있다. 예를 들어, 각각의 비트 스트림은 독립적 비디오 파라미터 세트(VPS) 정보, 독립적 시퀀스 헤더 정보, 독립적 시퀀스 파라미터 세트(SPS) 정보, 독립적 화상 헤더 정보 또는 별도의 화상 파라미터 세트(PPS) 파라미터를 포함할 수 있다.
도 12는 본 발명의 다양한 실시 예에 따른, 슬라이스를 사용하여 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 것을 도시한다. 도 12에 도시된 바와 같이, 슬라이스 기반 분할 스킴(1202)을 사용하여, 이미지 프레임의 시퀀스(1201)의 이미지 프레임(1211)은 다수의 슬라이스(예를 들어, 슬라이스 1 내지 3)로 분할될 수 있다. 또한, 스트리밍 컨트롤러는 이미지 프레임(1211)의 각 슬라이스에 대한 인코딩 품질(1203)을 결정할 수 있다. 또한, 스트리밍 컨트롤러는 서버의 저장된 비트 스트림으로부터 이미지의 각각의 타일에 대해 결정된 인코딩 품질을 갖는 인코딩된 데이터(1204)를 획득할 수 있다 그 다음, 스트리밍 컨트롤러는 제1 이미지 프레임의 복수의 섹션에 대한 인코딩된 데이터(1204)를 미리 결정된 순서에 따라 송신을 위해 비트 스트림(1205)에 통합(예를 들어, 캡슐화)할 수 있다. 일부 경우에, 미리 결정된 순서는 이미지 프레임의 시퀀스에서 각각의 특정 섹션(예를 들어, 슬라이스)의 상대적 위치를 기반으로 구성될 수 있다.
다양한 실시 예에 따라, 스트리밍 컨트롤러는 사용자 장비(UE)의 뷰포트에 따라, 송신될 필요가 있는 이미지 프레임의 각각의 섹션에 대해, 저장된 비트 스트림으로부터 인코딩된 데이터를 동적으로 선택할 수 있다.
도 13의 (a)를 참조하면, 슬라이스 2, 즉 슬라이스 (1, 0)는 시점 T(N)에서의 뷰포트(1211)에 대응한다. 따라서, 슬라이스 2는 "높은" 품질(H)로 할당될 수 있다. 또한, 슬라이스 1 및 3 각각은 "중간" 품질(M)로 할당될 수 있다.
이미지 프레임(1211)의 각각의 슬라이스에 대응하는 인코딩 품질을 결정한 후, 스트리밍 컨트롤러는 서버의 해당 저장된 비트 스트림으로부터 이미지 프레임(1211)의 각각 슬라이스에 대해 원하는 품질의 인코딩된 데이터를 획득할 수 있다. 예를 들어, 도 13의 (a)에 도시된 예에서, 스트리밍 컨트롤러는 높은 품질 비트 스트림(예를 들어, 도 11의 1110)으로부터 슬라이스 2에 대한 인코딩된 데이터를 획득할 수 있고, 스트리밍 컨트롤러는 중간 품질 비트 스트림(예를 들어, 도 11의 1120)으로부터 슬라이스 1, 3에 대한 인코딩된 데이터를 획득할 수 있다.
그 다음, 스트리밍 컨트롤러는 상이한 슬라이스들에 대해 획득된 인코딩된 데이터를 송신을 위해 비트 스트림(1205)으로 캡슐화할 수 있다. 다양한 일례에서, 각각의 슬라이스에 대한 인코딩된 데이터는 미리 결정된 순서에 따라 캡슐화될 수 있다. 예를 들어, 미리 결정된 순서는 래스터 스캔 순서를 기반으로 구성될 수 있는데, 래스터 스캔 순서는 이미지의 상부에서 하부로의 순서를 나타낸다.
다양한 실시 예에 따라, 뷰포트에 기반한 비디오 스트리밍 접근법은 시청시 주관적인 경험을 고려하면서 360도 비디오 또는 큰 FOV를 갖는 비디오에 대해 송신된 데이터를 효과적으로 감소시킬 수 있다. 반면에, 뷰포트가 변화할 때, 즉 인간의 시력이 움직일 때, 뷰포트에 대응하는 이미지 섹션도 또한 변화할 수 있다.
다양한 실시 예에 따라, 스트리밍 컨트롤러는 비디오 스트리밍에서 송신을 위해 비트 스트림(1205)을 생성하는데 사용되는 각각의 분할된 섹션에 대한 상이한 품질의 비트 스트림들 중에서 동적으로 할 수 있다. 예를 들어, 스트리밍 컨트롤러는 제2 이미지 프레임에 대한 뷰포트 정보를 수신할 수 있다. 여기서, 제2 이미지 프레임에 대한 뷰포트 정보는 제2 이미지 프레임에 대한 뷰포트의 위치를 지시할 수 있다. 제2 이미지 프레임은 이미지 프레임의 시퀀스에서 제1 이미지 프레임을 따라가고, 제1 이미지 프레임에 대한 뷰포트의 위치는 제2 이미지 프레임에 대한 뷰포트의 위치와 상이하다.
도 13의 (b)를 참조하면, 시점 T(M)에서, 뷰포트(1212)는 슬라이스 1, 즉 슬라이스 (0, 0)로 시프트될 수 있다. 스트리밍 컨트롤러는 이미지 프레임의 각각의 슬라이스에 대한 코딩 품질을 조정할 수 있다. 도 13의 (b)에 도시된 바와 같이, 슬라이스 1에 "높은" 품질(H)이 할당된다. 또한, 슬라이스 2에는 "중간" 품질(M)이 할당될 수 있으며, 슬라이스 3에는 "낮음" 품질(L)이 할당될 수 있다.
따라서, 스트리밍 컨트롤러는, 시점 T(M)에서 또는 그 이후에 비트 스트림 스위칭을 수행할 수 있다. 스트리밍 컨트롤러는 이미지 프레임의 각 슬라이스에 해당하는 인코딩 품질을 결정한 후, 서버의 해당 저장된 비트 스트림으로부터 이미지 프레임의 각각의 슬라이스에 대해 원하는 품질의 인코딩된 데이터를 획득할 수 있다. 예를 들어, 도 13의 (b)에 도시된 예에서, 스트리밍 컨트롤러는 높은 품질 비트 스트림(예를 들어, 도 11의 1110)으로부터 슬라이스 1에 대한 인코딩된 데이터를 획득할 수 있다. 또한, 스트리밍 컨트롤러는 중간 품질 비트 스트림(예를 들어, 도 11의 1120)으로부터 슬라이스 2에 대한 인코딩된 데이터를 획득할 수 있고, 스트리밍 컨트롤러는 낮은 품질 비트 스트림(예를 들어, 도 11의 1130)으로부터 슬라이스 3에 대한 인코딩된 데이터를 획득할 수 있다.
다양한 일례에서, 비트 스트림 스위칭은 랜덤 액세스 포인트에서 수행될 수 있다. 예를 들어, 랜덤 액세스 포인트는 순시 디코딩 리프레시(IDR) 화상, 클린 랜덤 액세스(CRA) 화상, 시퀀스 헤더, 시퀀스 헤더+1 프레임 등일 수 있다.
도 13의 (b)에 도시된 바와 같이, 시점 T(M)에서 뷰포트의 위치를 변경한 후, 스트리밍 컨트롤러는 시점 T(M) 이후의 제1 랜덤 액세스 포인트에서 비트 스트림 스위칭을 수행할 수 있다. 예를 들어, 스트리밍 컨트롤러는, 제2 이미지 프레임이 비트 스트림의 인코딩된 데이터를 디코딩하기 위한 랜덤 액세스 포인트이면, 제2 이미지 프레임에 대한 수신된 뷰포트 정보를 기반으로 제2 이미지 프레임의 각각의 섹션에 대한 인코딩 품질을 결정할 수 있다. 그렇지 않으면, 스트리밍 컨트롤러는, 제2 이미지 프레임이 비트 스트림의 인코딩된 데이터를 디코딩하기 위한 랜덤 액세스 포인트가 아니면, 제1 이미지 프레임의 대응 섹션에 대한 인코딩 품질을 기반으로 제2 이미지 프레임의 각각의 섹션에 대한 인코딩 품질을 결정할 수 있다. 이러한 경우, 스트리밍 컨트롤러는 시점 T(M) 이후에 제1 랜덤 액세스 포인트까지 대기하고 비트 스트림 스위칭을 수행할 수 있다.
상기 방식을 사용하는 다양한 실시 예에 따라, 스트리밍 컨트롤러는 이미지 프레임의 상이한 섹션에 대해 상이한 품질을 갖는 인코딩된 데이터를 단일 비트 스트림(1205)에 통합할 수 있다. 다중 비트 스트림을 송신하는 것에 의존하는 접근법과는 달리, 상기 방식은 다중-채널 동기화 문제를 회피한다. 따라서, 비디오 코드 스트림을 송신하기 위한 시스템 계층은 예를 들어 DASH(Http Dynamic Streaming over Http), HLS(Http Live Streaming), MPEG TS(Transport Stream)의 시스템 프로토콜을 사용하여 동기화 동작을 수행할 필요가 없다. 다르게는, 상기 기법은 각각의 타일에 대한 인코딩된 데이터의 위치가 이미지 프레임의 각각의 타일의 상대적 위치에 따라 캡슐화되므로 사용자 장비에서 다중 채널로부터 데이터를 결합하는 것을 회피할 수 있다.
또한, 지시자(1212)가 제공되어 비트 스트림과 연관될 수 있다. 다양한 실시 예에 따라, 지시자(1212)는 이미지 프레임의 시퀀스에서 각각의 이미지 프레임의 특정 섹션에 대한 인코딩 예측 의존성이 상기 특정 섹션 내에서 제약됨을 지시할 수 있다.
다양한 실시 예에서, 서버 측의 인코더 또는 스트리밍 컨트롤러에 의해 제공되는 표시자(1212)는 동일하거나, 디코더에 의해 수신된 표시자와 관련될 수 있으며, 즉, 표시자는 인코딩 및 디코딩 예측 의존성을 모두 나타낼 수 있다.
도 14는 본 발명의 다양한 실시 예에 따른, 비트 스트림 스위칭을 지원하는 예시적인 비디오 스트리밍 환경을 도시한다. 도 14에 도시된 바와 같이, 비디오(1410)는, 비디오 스트리밍 환경(1400)에서 서버 측(예를 들어, 스트리밍 서버(1401))에서 단말 측(예를 들어, 사용자 장비(UE)(1402))으로 스트리밍될 수 있다.
다양한 실시 예에 따르면, 서버 측에서, 인코더(1408)는 비디오(1410)에서 이미지 프레임의 시퀀스를 인코딩하고, 인코딩된 데이터와 함께 다양한 비트 스트림(1404)을 스토리지(1403)에 저장할 수 있다. 비디오(1410), 예를 들어, 파노라마 또는 와이드 뷰 비디오는, 큰 시야(FOV)를 갖는 이미지 프레임(또는 화상)의 시퀀스를 포함할 수 있다. 비디오(1410)의 개별 이미지 프레임을 복수의 섹션으로 분할하기 위해 상이한 유형의 분할 스킴이 사용될 수 있다. 예를 들어, 분할 스킴은 개별 이미지 프레임을 타일 또는 슬라이스, 또는 비디오 인코딩 및 디코딩에 유리한 다른 기하학적 분할로 분할할 수 있다. 다양한 경우에, 비디오(1410)의 개별 이미지 프레임은 동일하거나 실질적으로 유사한 방식으로 분할될 수 있다. 예를 들어, 비디오(1410)의 각각의 이미지 프레임은 동일한 수의 섹션으로 분할될 수 있다. 또한, 상이한 이미지 프레임에서 대응하는 섹션은 동일하거나 실질적으로 유사한 상대적인 위치에 위치할 수 있고, 동일하거나 실질적으로 유사한 기하학적 크기로 구성될 수 있다.
다양한 실시 예에 따르면, 이미지 프레임을 분할하는 복수의 섹션에 대한 개별 섹션은, 다중 레벨의 코딩 품질로 구성될 수 있다. 예를 들어, 서버 측에서, 이미지 프레임을 분할하는 복수의 섹션 각각은, 다중 레벨의 인코딩 품질로 구성될 수 있다. 사용자 장비(UE) 측에서, 이미지 프레임을 분할하는 복수의 섹션 각각은, 다중 레벨의 디코딩 품질로 구성될 수 있다. 다양한 실시 예에서, 인코딩 품질 및 디코딩 품질은 동일하거나, 관련된 미리 결정된 상관을 이용하여 구성될 수 있다. 다른 실시 예에서, 인코딩 품질 및 디코딩 품질은 개별적으로 그리고 독립적으로 구성될 수 있다.
다양한 실시 예에 따르면, 서버 측에서, 비디오(1410)의 이미지 프레임에서 개별 섹션에 대한 코딩 품질은, 관심 영역(ROI) 정보와 같은 사용자 선호도 정보에 기초하여 결정될 수 있다. 대안적으로 또는 부가적으로, 이미지 프레임의 개별 섹션에 대한 코딩 품질은, 이미지 프레임에서 뷰포트의 위치를 나타내는 정보와 같은 뷰포트 정보에 기초하여 결정될 수 있다. 다양한 실시 예에서, 뷰포트에 대응하는 이미지 프레임의 섹션은 뷰포트 외부에 위치하는 이미지 프레임의 다른 섹션보다 더 높은 레벨의 코딩 품질을 갖도록 구성될 수 있다.
다양한 실시 예에 따르면, 인코더(1408)는 도 1에 도시된 바와 같은 인코딩 프로세스를 이용할 수 있다. 예를 들어, 인코더(1408)는 비디오(1410)의 이미지 프레임의 시퀀스를 상이한 코딩 품질을 갖는 다중 비트 스트림으로 인코딩할 수 있다. 상이한 비트 스트림을 생성하기 위해 다중 인코딩 동작 사이에 다양한 인코딩 단계가 공유될 수 있다. 예를 들어, 인코더(1408)는, 상이한 코딩 품질을 갖는 다양한 비트 스트림을 생성하기 위해 상이한 양자화 단계(104)를 사용(예를 들어, 상이한 양자화 파라미터를 사용)하면서, 동일한 예측 단계(102) 및 변환 단계(103)를 사용할 수 있다.
도 14에 도시된 바와 같이, 서버 측에서, 비디오(1410)의 이미지 프레임의 시퀀스에 대한 복수의 비트 스트림(1404)이 스토리지(1403)에 저장될 수 있다. 다양한 경우에, 각각의 개별 저장된 비트 스트림은, 이미지 프레임의 시퀀스의 특정 섹션에 대한 특정 레벨의 코딩 품질을 갖는 인코딩된 데이터를 포함할 수 있다.
사용자 장비(UE) 측에서, 디코더(1406)는, 비디오(1410)의 이미지 프레임의 시퀀스에 대한 인코딩된 데이터를 포함하는 비트 스트림(1411)을 처리하기 위해 사용될 수 있다. 디코더(1406)는, 재구성된 이미지 프레임을 디스플레이(1407)에 제공하여 디스플레이하거나 사용자(예를 들어, 뷰어)에 의해 보여지도록 하기 전에, 비트 스트림(1411)에서 이진 데이터를 디코딩하고 그에 따라 이미지 프레임을 재구성할 수 있다. 한편, 사용자 장비(UE)(1402) 또는 사용자 장비(UE)(1402)의 컴포넌트(예를 들어, 디스플레이(1407))는 업데이트된 사용자 정보(예를 들어, 사용자의 시력이 이동할 때 업데이트된 뷰포트 정보)를 획득하고, 그러한 업데이트된 사용자 정보를 다시 스트리밍 서버(1401)에 제공할 수 있다. 따라서, 스트리밍 컨트롤러(1405)는 사용자 장비(UE)(1402)로 전송되는 비트 스트림(1411)을 재구성할 수 있다. 예를 들어, 스트리밍 컨트롤러(1405)는 비트 스트림 스위칭(1420)을 수행하여 비트 스트림(1411)을 재구성할 수 있다.
다양한 실시 예에 따르면, 스트리밍 컨트롤러(1405)는, 비디오(1410)를 사용자 장비(UE)(1402)에 스트리밍하는 것을 제어하는 것을 담당할 수 있다. 일부 경우에, 스트리밍 컨트롤러(1405)는 인코더 또는 인코더의 구성 요소일 수 있다. 일부 경우에, 스트리밍 컨트롤러(1405)는 인코더를 포함할 수 있거나 인코더와 함께 기능할 수 있다. 스트리밍 컨트롤러(1405)는 사용자 정보(1412), 예를 들어, 사용자 뷰잉(viewing) 포인트 정보를 사용자 장비(UE)(1402)로부터 수신할 수 있다. 예를 들어, 이러한 사용자 뷰잉 포인트 정보는, 사용자에 의한 뷰잉 영역을 나타내는 뷰포트 정보를 포함할 수 있다. 그 후, 스트리밍 컨트롤러(1405)는, 수신된 사용자 정보(1412)에 기초하여 비트 스트림(1411)을 생성(또는 다른 구성 요소로 하여금 생성하도록 지시)할 수 있다. 예를 들어, 비트 스트림(1411)은 스토리지(1403)에서 적절한 저장된 비트 스트림(1404)을 선택하고 결합하는 것에 기초하여 생성될 수 있다. 이어서, 비트 스트림(1411)은, 최적의 뷰잉 경험을 제공 및 달성하기 위해 사용자 장비(UE)(1402)로 전송될 수 있다.
다양한 실시 예에 따르면, 스트리밍 컨트롤러(1405)는 수신된 사용자 정보에 기초하여 비트 스트림 스위칭(1420)을 수행할 수 있다. 예를 들어, 뷰어(viewer)가 둘러 봄에 따라, 서버 측의 수신된 사용자 정보(1412)는 뷰포트의 변경을 나타낼 수 있다. 스트리밍 컨트롤러(1405)는 그에 따라 스트림(1411)에서 이미지의 각각의 섹션에 대해 원하는 코딩 품질을 결정할 수 있다. 그 후, 스트리밍 컨트롤러(1405)는, 저장부(1403)에 저장된 비트 스트림으로부터, 개별 이미지 프레임의 다양한 섹션에 대해 원하는 코딩 품질을 갖는 인코딩된 데이터를 획득(예를 들어, 선택)하고, 이들 획득한 정보를, UE(1402)에 전송되는 비트 스트림(1411)으로 통합할 수 있다.
다양한 실시 예에 따르면, 비트 스트림 스위칭(1420)이 수행되기 전의 이미지 프레임과, 비트 스트림 스위칭(1420)이 수행 된 후의 이미지 프레임 사이의 바람직하지 않은 코딩 의존성(예를 들어, 인터 프레임 코딩 의존성)을 제거하기 위해, 인코더(1408) 및 디코더(1406) 모두에서, 비트 스트림 스위칭(1420)은 미리 결정되거나 동적으로 결정된 다양한 스위칭 포인트에서 수행될 수 있다. 다양한 실시 예에서, 랜덤 액세스 포인트 화상에 대한 인코딩 및 디코딩은 일반적으로 다른 이미지 프레임에 의존하지 않기 때문에, 이들 스위칭 포인트는 다양한 코덱 표준에서 정의된 바와 같은 랜덤 액세스 포인트일 수 있다. 예를 들어, 랜덤 액세스 포인트 화상은 순간 디코딩 리프레시(IDR) 화상, 클린 랜덤 액세스(CRA) 화상, 시퀀스 헤더, 시퀀스 헤더+1 프레임 등일 수 있다.
다양한 실시 예에 따르면, 상기 스킴을 사용하여, 스트리밍 컨트롤러(1405)는 이미지 프레임의 상이한 섹션에 대한 인코딩된 데이터를 비트 스트림(1411)에 통합할 수 있다. 인코딩된 데이터는 상이한 코딩 품질로 구성될 수 있다(즉, 비트 스트림(1411)의 이미지 프레임에서 상이한 섹션은 상이한 레벨의 코딩 품질을 가질 수 있다). 다중 비트 스트림 전송에 의존하는 접근법과 달리, 상기 스킴은 다중 채널 동기화를 회피한다. 예를 들어, 비디오 스트림을 전송하기 위한 시스템 계층은, 예를 들어, DASH(Dynamic Adaptive Streaming over HTTP), HLS(HTTP Live Streaming), MPEG TS(Transport Stream)와 같은 다양한 시스템 프로토콜을 사용하여 동기화 동작을 수행할 필요가 없을 수 있다. . 추가적으로, 인코딩된 이미지 프레임에서 각각의 섹션에 대한 위치 정보는, 이미지 프레임에서 각각의 섹션의 상대적인 위치에 따라 캡슐화될 수 있다. 따라서, 상기 스킴은, UE(1402)에서 다중 채널로부터 인코딩된 데이터를 결합하는 단계를 회피할 수 있다.
다양한 실시 예에 따르면, 비트 스트림 스위칭(1420)은 랜덤 액세스 포인트에서 수행될 수 있다. 예를 들어, 시스템은 랜덤 액세스 포인트 이전의 사전 코딩 품질을 갖는 인코딩된 데이터를 선택하고, 랜덤 액세스 포인트 이후의 사후 코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 그 후, 시스템은 선택된 인코딩된 데이터(랜덤 액세스 포인트 이전의 사전 코딩 품질을 갖는 인코딩된 데이터 및 랜덤 액세스 포인트 이후의 사후 코딩 품질을 갖는 인코딩된 데이터를 포함함)를 사용자 장비(UE)(1402)로 전송되는 비트 스트림(1411)에 통합할 수 있다.
다양한 실시 예에 따르면, 랜덤 액세스 포인트는 순간 디코딩 리프레시(IDR) 화상을 삽입하기 위해 사용될 수 있다. 다양한 실시 예에서, IDR 화상은 인트라 프레임 예측에 기초하여 인코딩될 수 있다. 따라서, IDR 화상에 대한 인코딩된 데이터의 양은, 인터 프레임 예측을 사용하여 인코딩된 이미지 프레임(예를 들어, 삽입된 IDR 화상 이전 또는 이후에 있는 이미지 프레임)에 대한 인코딩된 데이터의 양보다 훨씬 더 클 수 있다. 더욱이, 예시적인 비트 스트림 스위칭 접근법은, 뷰잉 각도(viewing angle)에 따라 분할될 수 있는, 이미지 프레임 내의 모든 영역 또는 섹션이, 동시에 비트 스트림 스위칭을 수행하도록 요구할 수 있다(즉, 모든 영역 또는 섹션은, 뷰잉 포인트가 변함에 따라, 동시에 코딩하기 위한 인트라 프레임 예측에 의존할 수 있다). 결과적으로, 비트 스트림 스위칭을 수행하기 위해 요구되는 비트 스트림 데이터의 양은, 스위칭 직전의 비트 스트림 데이터의 양보다 실질적으로 더 클 수 있다. 많은 양의 스트림 데이터가 디스플레이로 전송될 필요가 있기 때문에, 예를 들어, 꾸준한(또는 일정한) 채널을 통해, IDR 화상을 표시하기 위해 상당한 지연이 발생할 수 있다. 따라서, 뷰어가 뷰잉 포인트를 변경한 후, 시스템이 우측 비트 스트림을 각각의 대응하는 뷰잉 포인트로 스위칭하기 위해 상당한 양의 시간이 걸릴 수 있으며, 이는 뷰잉 경험에 부정적인 영향을 미칠 수 있다.
또한, 뷰어가 뷰포인트를 변경한 후, 비트 스트림 스위칭(1420)은 비디오(1410)의 다음 IDR 화상이 도착할 때 수행될 수 있다. 서버 측에서, IDR 프레임은 주기적으로(예를 들어, 미리 구성된 또는 동적으로 결정된 시간 간격으로) 삽입되어, 언제든지 발생할 수 있는 뷰포인트 변화를 수용할 수 있다. 이러한 시간 간격은 전체 시스템 성능 및 사용자 뷰잉 경험에 상당한 영향을 미칠 수 있다. IDR 이미지 삽입 사이의 시간 간격이 짧으면, 비트 스트림 스위칭은 빈번하게 수행될 수 있다. 결과적으로, 압축된 비디오 코드 스트림은 비교적 큰 크기를 가질 수 있다. IDR 이미지 삽입 사이의 시간 간격이 길면, 압축된 비디오 코드 스트림의 데이터 양은 감소될 수 있지만, 사용자가 뷰포인트를 변경할 때, 대응하는 IDR 이미지 코드 스트림이 스위칭될 수 있을 때까지 상당한 지연을 야기할 수 있으며, 이는 사용자 환경에 부정적인 영향을 미칠 수 있다.
다양한 실시 예에 따르면, 분산형 IDR 화상 전송 기술은 지연을 감소시키기 위해 사용될 수 있으며, 이는 비트 스트림 스위칭을 수행함으로 인한 IDR 이미지를 전송하기 위한 데이터의 양의 증가에 의해 야기된다. 도 14에 도시된 바와 같이, 서버 측에서, 시스템은 분산형 IDR 이미지 전송 기술을 지원하기 위해 다양한 코딩 전략(1409)을 이용할 수 있다. 예를 들어, 인코더(1408)는 상이한 시점(또는 프레임)에서 IDR 화상의 상이한 영역 또는 섹션을 인코딩하도록 구성될 수 있어서, 전송되는 최대 데이터 양이 감소될 수 있다. 따라서, 시스템은 다양한 전송 병목 지점에서 상당한 지연을 줄일 수 있다. 또한, IDR 화상 삽입 사이클(또는 기간)은, 특정 뷰포인트의 대응하는 영역에 대해 생성된 데이터의 양을 더욱 감소시키기 위해, 상이한 영역의 중요도에 따라 구성될 수 있다. 또한 IDR 화상 삽입 사이클은, 비디오 제작자의 의도에 따라 정확하게 내용을 전달하기 위해, 사용자의 주의(즉, 뷰잉 포인트)를 끌도록 구성될 수 있다.
도 15는 본 발명의 다양한 실시 예에 따른, 타일에 기초한 비디오 스트리밍에서 분산형 IDR 화상 전송을 지원하는 것을 도시한다. 도 15에 도시된 바와 같이, 비디오 스트림 내의 개별 이미지 프레임(1520)은, 영역과 같은 복수의 섹션으로 분할될 수 있다. 예를 들어, 각각의 영역은 다양한 비디오 코덱 표준에 따라 하나 이상의 타일을 포함할 수 있다. 다양한 실시 예에서, 이미지 프레임(1520)의 각각의 영역은 상이한 코딩 품질을 갖는 다중 비트 스트림에 대응할 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(1510)은 상이한 영역에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 도 15에 도시된 바와 같이, 이미지 프레임(1520)의 상이한 영역은 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(1520)의 타일 1은 비트 스트림 그룹(1512)과 연관될 수 있고; 이미지 프레임(1520)의 타일 2는 비트 스트림 그룹(1511)과 연관될 수 있고; 이미지 프레임(1520)의 타일 5는 비트 스트림 그룹(1513)과 연관될 수 있다. 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(1511-1513)은, 상이한 코딩 품질, 예를 들어, 높음(C), 중간(B) 및 낮음(A)을 갖는 다양한 비트 스트림을 포함할 수 있다. 또한 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹들(1511-1513)은, 다양한 랜덤 액세스 포인트에서 주기적으로 삽입될 수 있는 IDR 화상을 포함할 수 있다.
다양한 실시 예에 따르면, 시스템은 상이한 영역에 대해 상이한 IDR 화상 삽입 사이클을 구성할 수 있다. 영역과 연관된 IDR 화상 삽입 사이클은, 미리 결정되거나 동적으로 결정될 수 있는 특정 간격으로, 대응하는 IDR 화상 부분을 삽입하도록 구성될 수 있다. 예를 들어, 타일 2에 대응하는 비트 스트림 그룹(1511)은 제1 간격(1521)을 사용하여 구성될 수 있고; 타일 1에 대응하는 비트 스트림 그룹(1512)은 제2 간격(1522)을 사용하여 구성될 수 있고; 타일 5에 대응하는 비트 스트림 그룹(1513)은 제3 간격(1523)을 사용하여 구성될 수 있다. 또한, 이미지 프레임(1520)에서 다양한 다른 영역에 대응하는 더 많은 비트 스트림 그룹이 존재할 수 있다.
다양한 실시 예에 따르면, 상이한 영역에 대한, 대응하는 IDR 화상 부분은 상이한 시점(또는 프레임)에 삽입되도록 구성될 수 있다. 도 15에 도시된 바와 같이, 상이한 영역에 대한 IDR 화상 삽입 사이클(1521-1523)은 상이하게(예를 들어, 서로 오프셋을 갖도록) 구성될 수 있어서, IDR 화상 삽입은 주어진 순간에 2 이상의 영역에 대해 수행될 수 있다 . 다시 말해서, 영역에 대한 비트 스트림 스위칭 동작이 수행될 때, 시스템은, 임의의 주어진 순간에, 특정 영역에 대응하는 IDR 화상의 일부만이 비트 스트림에서 전송될 수 있음을 보장할 수 있고, 다른 영역에 대응하는 스트림의 인코딩된 데이터는 비 IDR(non-IDR) 이미지(즉, 인터 프레임 예측을 사용하여 코딩된 이미지)의 일부이다. 따라서, 시스템은 병목 지점에서 전송되는 데이터의 양을 크게 줄일 수 있다.
도 16은 본 발명의 다양한 실시 예에 따른, 슬라이스에 기초하여 비디오 스트리밍에서 분산형 IDR 화상 전송을 지원하는 것을 도시한다. 도 16에 도시된 바와 같이, 비디오 스트림 내의 개별 이미지 프레임(1620)은, 영역과 같은 복수의 섹션으로 분할될 수 있다. 예를 들어, 각각의 영역은 다양한 비디오 코덱 표준에 따라 하나 이상의 슬라이스를 포함할 수 있다. 다양한 실시 예에서, 이미지 프레임(1620)의 각각의 영역은 상이한 코딩 품질을 갖는 다중 비트 스트림에 대응할 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(1610)은 상이한 영역에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 도 16에 도시된 바와 같이, 이미지 프레임(1620)의 상이한 영역은 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(1620)의 슬라이스 1은 비트 스트림 그룹(1611)과 연관될 수 있고; 이미지 프레임(1620)의 슬라이스 2는 비트 스트림 그룹(1612)과 연관될 수 있고; 이미지 프레임(1620)의 슬라이스 3은 비트 스트림 그룹(1613)과 연관될 수 있다. 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(1611-1613)은 상이한 코딩 품질, 예를 들어, 높음(C), 중간(B) 및 낮음(A)을 갖는 비트 스트림을 포함할 수 있다. 또한, 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(1611-1613)은, 다양한 랜덤 액세스 포인트에서 주기적으로 나타나는 IDR 화상을 포함(또는 IDR 화상으로 삽입)될 수 있다.
다양한 실시 예에 따르면, 시스템은 상이한 영역에 대해 상이한 IDR 화상 삽입 사이클을 구성할 수 있다. 특정 영역과 연관된 각각의 IDR 화상 삽입 사이클은 IDR 화상의 대응 부분을 삽입하기 위한 간격으로 구성될 수 있다. 도 16에 도시된 바와 같이, 슬라이스 1에 대응하는 비트 스트림 그룹(1611)은 제1 간격(1621)을 사용하여 구성될 수 있고; 슬라이스 2에 대응하는 비트 스트림 그룹(1612)은 제2 간격(1622)을 사용하여 구성될 수 있고; 슬라이스 3에 대응하는 비트 스트림 그룹(1613)은 제3 간격(1623)을 사용하여 구성될 수 있다. 또한, 이미지 프레임(1620)에는 다양한 다른 영역(도시되지 않음)에 대응하는 더 많은 비트 스트림 그룹이 존재할 수 있다.
다양한 실시 예에 따르면, 상이한 영역들에 대한 IDR 화상의 대응하는 부분의 삽입은, 상이한 시점(또는 프레임)에서 발생하도록 구성될 수 있다. 도 16에 도시된 바와 같이, 상이한 영역에 대한 IDR 화상 삽입 사이클(1621-1623)은 서로 오프셋되어, 주어진 순간에서 제한된 수의 영역(예를 들어, 하나 이하의 영역)에 대해 IDR 화상 삽입이 수행될 수 있다. 다시 말해서, 영역에 대한 비트 스트림 스위칭 동작이 수행될 때, 시스템은, 임의의 주어진 순간에, 특정 영역에 대응하는 IDR 화상의 일부만이 비트 스트림에서 전송될 수 있음을 보장할 수 있고, 다른 영역에 대응하는 스트림의 인코딩된 데이터는 비 IDR 이미지(즉, 인터 프레임 예측을 사용하여 코딩된 이미지)의 일부이다. 따라서, 시스템은 병목 지점에서 전송되는 데이터의 양을 크게 줄일 수 있다.
다양한 실시 예에 따르면, 프로그레시브 비트 스트림 스위칭 기술이 이용될 수 있다. 예를 들어, 프로그레시브 비트 스트림 스위칭 기술은 분산형 IDR 화상 전송 기술과 함께 사용될 수 있다. 시스템은 상이한 영역 사이에 최적의 대역폭 할당을 달성하기 위해, 상이한 영역에 대해 IDR 화상 삽입 사이클을 다르게 구성할 수 있다. 일 예에서, 상이한 영역에 상이한 중요도 등급이 할당될 수 있으며, 이는 상이한 영역에 대한 IDR 화상 삽입 사이클을 설정하기 위한 기준으로서 사용될 수 있다. 다른 예에서, 프로그레시브 비트 스트림 스위칭 기술은, 비디오 제작자의 의도에 따라 뷰어의 주의를 유도하기 위해, 비디오 제작자의 의도에 따라 중요도 등급을 설정할 수 있다.
다양한 실시 예에 따르면, IDR 화상 삽입 사이클은, 디코딩 프로세스에서 이미지 데이터를 리프레시하는 사이클을 제어하기 위해, 이미지의 상이한 영역들에 대해 다르게 구성될 수 있으며, 이는 차례로 각 영역에 대해 전송이 필요한 코딩된 비트 스트림 데이터의 양에 영향을 미친다. 따라서, IDR 화상 삽입 사이클이 짧을수록, 더 많은 이미지가 인트라 프레임 예측을 사용하여 인코딩되고, 결과적으로 인코딩 프로세스는 많은 양의 코드 스트림 데이터를 생성할 수 있다. 다양한 실시 예에 따르면, 상이한 영역에 대한 대역폭의 할당은 IDR 화상을 삽입하기 위한 주기에 따라 제어될 수 있다. 예를 들어, 보다 중요한 영역은 덜 중요한 영역보다 더 많은 대역폭을 소비하는 것이 바람직하다. 따라서, 중요한 영역은 더 짧은 IDR 이미지 삽입 주기를 갖도록 설정되어, 사용자가 덜 중요한 영역에서 더 중요한 영역으로 뷰잉 포인트를 변경할 때, 중요한 영역은 높은 코딩 품질을 갖는 이미지로 신속하게 스위칭될 수 있다.
다양한 실시 예에 따르면, 프로그레시브 코드 스트림 스위칭 기술은 비트 스트림 스위칭이 발생하더라도 원활한 데이터 스트림 전송을 보장할 수 있다. 상이한 영역에 대한 비트 스트림은 프로그레시브 방식으로 스위칭될 수 있으며, 이는 주어진 시간에 전송 대역폭에 대한 영향이 제어하에 있는 것을 보장한다.
도 17은 본 발명의 다양한 실시 예에 따른, 상이한 타일과 연관된 중요도 등급에 기초하여 IDR 화상 삽입 사이클을 구성하는 것을 도시한다. 도 17(a) 내지 (b)에 도시된 바와 같이, 이미지 프레임은 다중 섹션(예를 들어, 타일 1-9)으로 분할될 수 있다. 상이한 섹션은 상이한 중요도 등급으로 구성되거나 할당될 수 있다.
도 17(a)에 도시된 예에서, 파노라마 또는 광각 뷰(예를 들어, 타일 5)에서의 정면 또는 중앙 영역은 높은 중요도 등급으로 구성될 수 있다. 한편, 후면 또는 주변 영역(예를 들어, 타일 1, 3, 7, 및 9)은 낮은 중요도 등급으로 구성될 수 있다. 또한, 다른 영역(예를 들어, 타일 3, 4, 6 및 8)은 중간 중요도 등급으로 구성될 수 있다. 이에 대응하여, 각각의 타일 1-9는 중요도 등급에 기초하여 IDR 화상 삽입 사이클로 구성될 수 있다. 예를 들어, 타일 5는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 7 및 9는 가장 긴 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 3, 4, 6 및 8은 중간 IDR 화상 삽입 사이클로 구성될 수 있다.
그림 17(b)에 도시된 예에서, 비디오 제작자는 뷰어의 관심을 비디오의 상단 절반으로 향하게 하는 것을 원할 수 있다. 따라서, 타일 2는 높은 중요도 등급으로 구성될 수 있다. 또한, 주변 영역(예를 들어, 타일 1, 3, 4, 5 및 6)은 중간 중요도 등급으로 구성될 수 있다. 또한, 바닥 부분(예를 들어, 타일 7, 8 및 9)은 낮은 중요도 등급으로 구성될 수 있다. 이에 대응하여, 각각의 타일 1-9는 중요도 등급에 기초하여 IDR 이미지 삽입 주기로 구성될 수 있다. 예를 들어, 타일 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 4, 5 및 6은 가장 긴 IDR 화상 삽입 주기로 구성될 수 있고; 타일 7, 8 및 9는 중간 IDR 화상 삽입 사이클로 구성될 수 있다.
도 18 내지 도 19는 도 17(a)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 타일 5는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 7 및 9는 가장 긴 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 2, 4, 6 및 8은 중간 IDR 화상 삽입 사이클로 구성될 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(1810)은 상이한 타일에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 이미지 프레임(1820)의 상이한 타일은 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(1820)의 타일 1은 비트 스트림 그룹(1812)과 연관될 수 있고; 이미지 프레임(1820)의 타일 2는 비트 스트림 그룹(1811)과 연관될 수 있고; 이미지 프레임(1820)의 타일 5는 비트 스트림 그룹(1813)과 연관될 수 있다. 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(1811-1813)은 상이한 코딩 품질, 예를 들어 높음(C), 중간(B) 및 낮음(A)을 갖는 비트 스트림을 포함할 수 있다. 또한, 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(1811-1813)은, 다양한 랜덤 액세스 포인트에서 주기적으로 나타나는 IDR 화상을 포함(또는 IDR 화상으로 삽입)될 수 있다.
도 18에 도시된 바와 같이, 뷰포트는 초기에 타일 2에 위치할 수 있다(예를 들어, 사용자가 뷰의 상단 부분에 초점을 맞출 때). 따라서, 타일 2에 디스플레이하기 위해 높은 코딩 품질을 갖는 인코딩된 데이터가 (예를 들어, 저장 장치로부터) 선택될 수 있다. 또한, 타일 1, 3 및 5에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며; 타일 4, 6, 7, 8 및 9에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있다.
그 후, 도 19에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 타일 2에서 타일 5로 이동함에 따라, 예를 들어, 뷰어가 뷰포트를 뷰의 상단 부분에서 뷰의 정면 부분로 이동시킬 때, 시스템은 그에 따라 각각의 타일에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 타일에 대해 개별적으로 수행될 수 있다. 다양한 실시 예에서, 비트 스트림 스위칭은 각각의 타일에 대한 IDR 화상의 대응 부분이 도착하는 순서로 각각의 타일에 대해 수행될 수 있다. 도 19에 도시된 예에서, 타일 5에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 타일 5에 대한 비트 스트림 스위칭(1911)을 수행할 수 있다. IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 타일 2에 대한 IDR 화상 부분은 타일 1에 대한 IDR 화상 부분보다 먼저 도착한다. 그 다음, 타일 2에 대한 비트 스트림 스위칭(1913)은 타일 1에 대한 비트 스트림 스위칭(1912) 전에, 그러나 타일 5에 대한 비트 스트림 스위칭(1911) 후에 수행될 수 있다. 비트 스트림 스위칭의 결과로서, 타일 5에 대해 높은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 영역 2, 4, 6 및 8에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 영역 1, 3, 7 및 9에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
도 20-21은 도 17(b)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 타일 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 4, 5 및 6은 중간 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 7, 8 및 9는 가장 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(2010)은 상이한 타일에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 이미지 프레임(2020)의 상이한 타일은 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(2020)의 타일 1은 비트 스트림 그룹(2012)과 연관될 수 있고; 이미지 프레임(2020)의 타일 2는 비트 스트림 그룹(2011)과 연관될 수 있고; 이미지 프레임(2020)의 타일 5는 비트 스트림 그룹(2013)과 연관될 수 있다. 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2011-2013)은 상이한 코딩 품질, 예를 들어, 높음(C), 중간(B) 및 낮음(A)을 갖는 비트 스트림을 포함할 수 있다. 또한 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2011-2013)은, 다양한 랜덤 액세스 포인트에서 주기적으로 나타나는 IDR 화상을 포함(또는 IDR 화상으로 삽입)될 수 있다.
도 20에 도시된 바와 같이, 뷰포트는 초기에 타일 5에 위치할 수 있고(예를 들어, 사용자가 뷰의 정면 부분에 초점을 맞출 때), 타일 5에 디스플레이하기 위해 높은 코딩 품질을 갖는 인코딩된 데이터가 (예를 들어, 저장 장치로부터) 선택될 수 있다. 또한, 타일 2, 4, 6 및 8에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며; 타일 1, 3, 7 및 9에 대해 낮은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있다.
도 21에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 타일 5에서 타일 2로 이동함에 따라, 예를 들어, 뷰어가 비디오 제작자가 의도한 바와 같이 뷰포트를 뷰의 정면 부분에서 뷰의 상단 부분으로 이동시킬 때, 시스템은 그에 따라 각각의 타일에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 타일에 대해 개별적으로 수행될 수 있다. 도 21에 도시된 바와 같이, 비트 스트림 스위칭은 각각의 타일에 대한 IDR 화상의 각각의 부분이 도착하는 순서로 각각의 타일에 대해 수행될 수 있다. 도 21에 도시된 예에서, 타일 2에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 타일 2에 대한 비트 스트림 스위칭(2111)을 수행할 수 있다. IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 타일 5에 대한 IDR 화상 부분은 타일 2에 대한 IDR 화상 부분보다 나중에 도착한다. 그 다음, 타일 5에 대한 비트 스트림 스위칭(2112)은 타일 2에 대한 비트 스트림 스위칭(2111) 후에 수행될 수 있다. 또한, 타일 7에서 코딩 품질의 변화가 없기 때문에, 타일 7에 대해 비트 스트림 스위칭이 수행될 필요가 없다. 비트 스트림 스위칭의 결과로서, 타일 2에 대해 높은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 타일 1, 3, 4, 5 및 6에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 타일 7, 8 및 9에 대해 중간 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
상기 예에 도시된 바와 같이, 분산형 IDR 이미지 전송 기술과 함께 프로그레시브 비트 스트림 스위칭 기술을 사용하여, 시스템은 비트 스트림 스위칭을 수행하기 위한 최대 대역폭을 감소시키면서, 중요도가 높은 영역이 상당한 지연 없이 신속하게 리프레시되도록 하여, 뷰잉 경험을 향상시킬 수 있다.
도 22는 본 발명의 다양한 실시 예에 따른, 상이한 슬라이스와 연관된 중요도 등급에 기초하여 IDR 화상 삽입 사이클을 구성하는 것을 도시한다. 도 22에 도시된 바와 같이, 이미지 프레임은 다중 섹션, 예를 들어, 슬라이스 1-3으로 분할될 수 있다. 상이한 섹션에는 상이한 중요도 등급이 할당될 수 있다.
도 22(a)에 도시된 예에서, 파노라마 또는 광각 뷰(예를 들어, 슬라이스 2)의 중앙 영역은 더 높은 중요도 등급으로 구성될 수 있다. 한편, 상단 및 하단 영역(예를 들어, 슬라이스 1 및 3)은 더 낮은 중요도 등급으로 구성될 수 있다. 이에 대응하여, 각각의 슬라이스 1-3은 중요도 등급에 기초하여 IDR 화상 삽입 사이클로 구성될 수 있다. 예를 들어, 슬라이스 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 슬라이스 1 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
그림 22(b)에 도시된 예에서, 비디오 제작자는 뷰어의 관심을 비디오의 상단 절반으로 향하게 하는 것을 원할 수 있다. 따라서, 슬라이스 1은 더 높은 중요도 등급으로 구성될 수 있다. 한편, 나머지 영역(예를 들어, 슬라이스 2 및 3)은 더 낮은 중요도 등급으로 구성될 수 있다. 이에 대응하여, 각각의 슬라이스 1-3은 중요도 등급에 기초하여 IDR 이미지 삽입 주기로 구성될 수 있다. 예를 들어, 슬라이스 1은 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 슬라이스 2 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
도 23-24는 도 22(a)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 슬라이스 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 슬라이스 1 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(2310)은 상이한 타일에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 이미지 프레임(2320)의 상이한 슬라이스는 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(2320)의 슬라이스 1은 비트 스트림 그룹(2312)과 연관될 수 있고; 이미지 프레임(2320)의 슬라이스 2는 비트 스트림 그룹(2311)과 연관될 수 있고; 이미지 프레임(2320)의 슬라이스 3은 비트 스트림 그룹(2313)과 연관될 수 있다. 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2311-2313)은 상이한 코딩 품질, 예를 들어 높음(C), 중간(B) 및 낮음(A)을 갖는 비트 스트림을 포함할 수 있다. 또한 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2311-2313)은, 다양한 랜덤 액세스 포인트에서 주기적으로 나타나는 IDR 화상을 포함(또는 IDR 화상으로 삽입)될 수 있다.
도 23에 도시된 바와 같이, 뷰포트는 초기에 슬라이스 1에 위치할 수 있다(예를 들어, 사용자가 뷰의 상단 부분에 초점을 맞출 때). 따라서, 슬라이스 1에 디스플레이하기 위해 높은 코딩 품질을 갖는 인코딩된 데이터가 (예를 들어, 저장 장치로부터) 선택될 수 있다. 또한, 슬라이스 2 및 3에 대해 더 낮은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있다.
도 24에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 슬라이스 1에서 슬라이스 2로 이동함에 따라, 예를 들어, 뷰어가 뷰포트를 뷰의 상단 부분에서 뷰의 중앙 부분으로 이동시킬 때, 시스템은 그에 따라 각각의 슬라이스에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 슬라이스에 대해 개별적으로 수행될 수 있다. 도 24에 도시된 바와 같이, 비트 스트림 스위칭은 각각의 슬라이스에 대한 IDR 화상의 각각의 부분이 도착하는 순서로 각각의 슬라이스에 대해 수행될 수 있다. 예를 들어, 슬라이스 2에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 슬라이스 전에 슬라이스 2에 대한 비트 스트림 스위칭(2412)을 수행할 수 있다. 그 후, 다른 IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 슬라이스 1에 대한 IDR 화상 부분은 슬라이스 3에 대한 IDR 화상 부분보다 먼저 도착한다. 그 다음, 슬라이스 1에 대한 비트 스트림 스위칭(2413)은 슬라이스 3에 대한 비트 스트림 스위칭(2411) 전에, 그러나 슬라이스 2에 대한 비트 스트림 스위칭(2412) 후에 수행될 수 있다. 따라서, 비트 스트림 스위칭의 결과로서, 슬라이스 2에 대해 높은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 슬라이스 1 및 3에 대해 더 낮은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
도 25 내지 도 26은 도 22(b)에 도시된 예시적인 구성에 기초하여 서버 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 슬라이스 1은 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 슬라이스 2 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
다양한 실시 예에 따르면, 저장된 비트 스트림(2510)은 상이한 타일에 대응하는 다양한 비트 스트림 그룹을 포함할 수 있다. 이미지 프레임(2520)의 상이한 슬라이스는 상이한 비트 스트림 그룹과 연관될 수 있다. 예를 들어, 이미지 프레임(2520)의 슬라이스 1은 비트 스트림 그룹(2512)과 연관될 수 있고; 이미지 프레임(2520)의 슬라이스 2는 비트 스트림 그룹(2511)과 연관될 수 있고; 이미지 프레임(2520)의 슬라이스 3은 비트 스트림 그룹(2513)과 연관될 수 있다. 각 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2511-2513)은 상이한 코딩 품질, 예를 들어 높음(C), 중간(B) 및 낮음(A)을 갖는 비트 스트림을 포함할 수 있다. 또한 각각의 비트 스트림 그룹, 예를 들어, 비트 스트림 그룹(2511-2513)은, 다양한 랜덤 액세스 포인트에서 주기적으로 나타나는 IDR 화상을 포함(또는 IDR 화상으로 삽입)될 수 있다.
도 25에 도시된 바와 같이, 뷰포트는 초기에 슬라이스 2에 위치할 수 있다(예를 들어, 사용자가 뷰의 정면 부분에 초점을 맞출 때). 따라서, 슬라이스 2에 디스플레이하기 위해 높은 코딩 품질을 갖는 인코딩된 데이터가 (예를 들어, 저장 장치로부터) 선택될 수 있다. 또한, 슬라이스 1 및 3에 대해 더 낮은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있다.
그 후, 도 26에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 슬라이스 2에서 슬라이스 1로 이동함에 따라, 예를 들어, 뷰어가 비디오 제작자가 의도한 바와 같이 뷰포트를 뷰의 정면 부분에서 뷰의 상단 부분으로 이동시킬 때, 시스템은 그에 따라 각각의 슬라이스에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 슬라이스에 대해 개별적으로 수행될 수 있다. 도 26에 도시된 바와 같이, 비트 스트림 스위칭은 IDR 화상의 각각의 부분이 도착하는 순서로 개별 슬라이스에 대해 수행될 수 있다. 도 26에 도시된 예에서, 슬라이스 1에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 슬라이스 1에 대한 비트 스트림 스위칭(2611)을 수행할 수 있다. IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 슬라이스 2에 대한 IDR 화상 부분은 슬라이스 1에 대한 IDR 화상 부분보다 나중에 도착한다. 그 다음, 슬라이스 2에 대한 비트 스트림 스위칭(2112)은 슬라이스 1에 대한 비트 스트림 스위칭(2111) 후에 수행될 수 있다. 또한, 슬라이스 3에서 코딩 품질의 변화가 없기 때문에, 슬라이스 7에 대해 비트 스트림 스위칭이 수행될 필요가 없다. 비트 스트림 스위칭의 결과로서, 슬라이스 1에 대해 높은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있고; 슬라이스 2 및 3에 대해 더 낮은 코딩 품질을 갖는 인코딩된 데이터가 선택될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
상기 예에 도시된 바와 같이, 분산형 IDR 이미지 전송 기술과 함께 프로그레시브 비트 스트림 스위칭 기술을 사용하여, 시스템은 비트 스트림 스위칭을 수행하기 위한 최대 대역폭을 감소시키면서, 중요도가 높은 영역이 상당한 지연 없이 신속하게 리프레시되도록 하여, 뷰잉 경험을 향상시킬 수 있다.
도 27은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍에서 비트 스트림 스위칭을 지원하는 흐름도를 도시한다. 도 27에 도시된 바와 같이, 단계 2701에서, 시스템은 이미지 프레임의 시퀀스 내의 각각의 이미지 프레임을 복수의 섹션으로 분할하는 스킴을 사용할 수 있고, 여기서 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함한다. 단계 2702에서, 시스템은 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득할 수 있고, 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득할 수 있다. 단계 2703에서, 시스템은 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정하고, 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정할 수 있다. 단계 2704에서, 시스템은 인코딩된 데이터의 제1 세트로부터, 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 단계 2705에서, 시스템은 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택할 수 있다. 단계 2705에서, 시스템은 선택된 인코딩된 데이터를 비트 스트림에 통합할 수 있다.
도 28 내지 도 29는 도 17(a)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 타일 5는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 7 및 9는 가장 긴 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 2, 4, 6 및 8은 중간 IDR 화상 삽입 사이클로 구성될 수 있다.
도 28에 도시된 바와 같이, 뷰포트는 초기에 타일 2에 위치할 수 있다(예를 들어, 사용자가 뷰의 상단 부분에 초점을 맞출 때). 따라서, 디스플레이를 위해, 높은 코딩 품질을 갖는 높은 이진 데이터가 (예를 들어, 스트리밍 서버로부터) 타일 2에서 수신될 수 있다. 또한, 타일 1, 3 및 5에 대해 중간 코딩 품질을 갖는 이진 데이터가 수신될 수 있고; 타일 4, 6, 7, 8 및 9에 대해 중간 코딩 품질을 갖는 이진 데이터가 수신될 수 있다.
도 29에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 타일 2에서 타일 5로 이동함에 따라(예를 들어, 뷰어가 뷰의 상단 부분에서 뷰의 정면 부분으로 뷰포트를 이동시킬 때), 시스템은 그에 따라 각각의 타일에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 타일에 대해 개별적으로 수행될 수 있다. 다양한 실시 예에서, 비트 스트림 스위칭은 각각의 타일에 대한 IDR 화상의 각각의 부분이 도착하는 순서로 타일에 대해 수행될 수 있다. 도 29에 도시된 예에서, 타일 5에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 타일 5에 대한 비트 스트림 스위칭(2911)을 수행할 수 있다. 이후, IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 타일 2에 대한 IDR 화상 부분은 타일 1에 대한 IDR 화상 부분보다 먼저 도착한다. 그 다음, 타일 2에 대한 비트 스트림 스위칭(2913)은 타일 1에 대한 비트 스트림 스위칭(2912) 전에, 그러나 타일 5에 대한 비트 스트림 스위칭(2911) 후에 수행될 수 있다. 따라서, 비트 스트림 스위칭 및 디코딩의 결과로서, 타일 5에 대해 높은 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 타일 2, 4, 6 및 8에 대해 중간 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 타일 1, 3, 7 및 9에 대해 낮은 코딩 품질을 갖는 이미지 데이터가 선택될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
도 30 내지 도 31은 도 17(b)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 타일 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 1, 3, 4, 5 및 6은 중간 IDR 화상 삽입 사이클로 구성될 수 있고; 타일 7, 8 및 9는 가장 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
도 30에 도시된 바와 같이, 뷰포트는 초기에 타일 5에 위치할 수 있고(예를 들어, 사용자가 뷰의 정면 부분에 초점을 맞출 때), 디스플레이를 위해, 높은 코딩 품질을 갖는 이진 데이터가 (예를 들어, 스트리밍 서버로부터) 타일 5에서 수신될 수 있다. 또한, 타일 2, 4, 6 및 8에 대해 중간 코딩 품질을 갖는 이진 데이터가 수신될 수 있고; 타일 1, 3, 7, 및 9에 대해 낮은 코딩 품질을 갖는 이진 데이터가 수신될 수 있다.
도 31에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 타일 5에서 타일 2로 이동함에 따라, 예를 들어, 뷰어가 비디오 제작자가 의도한 바와 같이 뷰포트를 뷰의 정면 부분에서 뷰의 상단 부분으로 이동시킬 때, 시스템은 그에 따라 각각의 타일에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 타일에 대해 개별적으로 수행될 수 있다. 다양한 실시 예에서, 비트 스트림 스위칭은 각각의 타일에 대한 IDR 화상의 각각의 부분이 도착하는 순서로 각각의 타일에 대해 수행될 수 있다. 도 31에 도시된 예에서, 타일 2에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 타일 2에 대한 비트 스트림 스위칭(3111)을 수행할 수 있다. 각각의 IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 타일 5에 대한 IDR 화상 부분은 타일 2에 대한 IDR 화상 부분보다 나중에 도착한다. 그 다음, 타일 5에 대한 비트 스트림 스위칭(3112)은 타일 2에 대한 비트 스트림 스위칭(3111) 후에 수행될 수 있다. 또한, 타일 7에서 코딩 품질의 변화가 없기 때문에, 타일 7에 대해 비트 스트림 스위칭이 수행될 필요가 없다. 비트 스트림 스위칭의 결과로서, 타일 5에 대해 높은 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 타일 1, 3, 4, 5 및 6에 대해 중간 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 타일 7, 8 및 9에 대해 중간 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
상기 예에 도시된 바와 같이, 분산형 IDR 이미지 전송 기술과 함께 프로그레시브 비트 스트림 스위칭 기술을 사용하여, 시스템은 비트 스트림 스위칭을 수행하기 위한 최대 대역폭을 감소시키면서, 중요도가 높은 영역이 상당한 지연 없이 신속하게 리프레시되도록 하여, 뷰잉 경험을 향상시킬 수 있다.
도 32 내지 도 33은 도 22(a)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 슬라이스 2는 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고, 슬라이스 1 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
도 32에 도시된 바와 같이, 뷰포트는 초기에 슬라이스 1에 위치할 수 있다(예를 들어, 사용자가 뷰의 상단 부분에 초점을 맞출 때). 따라서, 디스플레이를 위해, 높은 코딩 품질을 갖는 이미지 데이터가 (예를 들어, 스트리밍 서버로부터) 슬라이스 1에서 수신될 수 있다. 또한, 슬라이스 2 및 3에 대해 더 낮은 코딩 품질을 갖는 이미지 데이터가 수신될 수 있다.
도 33에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에서 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 슬라이스 1에서 슬라이스 2로 이동함에 따라, 예를 들어, 뷰어가 뷰포트를 뷰의 상단 부분에서 뷰의 중앙 부분으로 이동시킬 때, 시스템은 그에 따라 각각의 슬라이스에 대한 코딩 품질을 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 슬라이스에 대해 개별적으로 수행될 수 있다. 도 33에 도시된 바와 같이, 비트 스트림 스위칭은 IDR 화상의 각각의 부분이 도착하는 순서로 개별 슬라이스에 대해 수행될 수 있다. 도 33에 도시된 예에서, 슬라이스 2에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 슬라이스 전에 슬라이스 2에 대한 비트 스트림 스위칭(3412)을 수행할 수 있다. 그 후, 다른 IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 슬라이스 1에 대한 IDR 화상 부분은 슬라이스 3에 대한 IDR 화상 부분보다 먼저 도착한다. 그 다음, 슬라이스 1에 대한 비트 스트림 스위칭(3413)은 타일 3에 대한 비트 스트림 스위칭(3411) 전에, 그러나 슬라이스 2에 대한 비트 스트림 스위칭(2412) 후에 수행될 수 있다. 따라서, 비트 스트림 스위칭의 결과로서, 슬라이스 2에 대해 높은 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 슬라이스 1 및 3에 대해 중간 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다.
도 34 내지 도 35는 도 22(b)에 도시된 예시적인 구성에 기초하여 단말 측에서 비트 스트림 스위칭을 수행하는 것을 도시한다. 예를 들어, 슬라이스 1은 가장 짧은 IDR 화상 삽입 사이클로 구성될 수 있고; 슬라이스 2 및 3은 더 긴 IDR 화상 삽입 사이클로 구성될 수 있다.
도 34에 도시된 바와 같이, 뷰포트는 초기에 슬라이스 2에 위치할 수 있고(예를 들어, 사용자가 뷰의 정면 부분에 초점을 맞출 때), 디스플레이를 위해, 코딩 품질이 높은 이진 데이터가 (예를 들어 스트리밍 서버로부터) 슬라이스 2에서 수신될 수 있다. 또한, 슬라이스 1 및 3에 대해 더 낮은 코딩 품질을 갖는 이진 데이터가 수신될 수 있다.
도 35에 도시된 바와 같이, 비트 스트림 스위칭을 트리거하는 순간 T(M)에 이벤트가 발생할 수 있다. 예를 들어, 뷰잉 포인트가 슬라이스 2에서 슬라이스 1로 이동함에 따라(예를 들어, 뷰어가 뷰포트를 뷰의 정면 부분에서 뷰의 상단 부분으로 이동시킬 때), 시스템은 그에 따라 각각의 슬라이스에 대한 코딩 품질 업데이트할 수 있다.
분산형 IDR 이미지 전송 기술을 사용하여, 비트 스트림 스위칭은 상이한 슬라이스에 대해 개별적으로 수행될 수 있다. 도 35에 도시된 바와 같이, 비트 스트림 스위칭은 각각의 슬라이스에 대한 IDR 화상의 각각의 부분이 도착하는 순서로 각각의 타일에 대해 수행될 수 있다. 도 35에 도시된 예에서, 슬라이스 1에 대한 IDR 화상 부분이 먼저 도착하면, 시스템은 다른 타일 전에 슬라이스 1에 대한 비트 스트림 스위칭(3511)을 수행할 수 있다. IDR 화상 부분의 도착 순서에 따라, 시스템은 다른 영역에 대해 비트 스트림 스위칭을 프로그레시브로 수행할 수 있다. 예를 들어, 슬라이스 2에 대한 IDR 화상 부분은 슬라이스 1에 대한 IDR 화상 부분보다 나중에 도착한다. 그 다음, 슬라이스 2에 대한 비트 스트림 스위칭(3512)은 슬라이스 1에 대한 비트 스트림 스위칭(3511) 후에, 그러나 슬라이스 3에 대한 비트 스트림 스위칭(3515) 전에 수행될 수 있다. 비트 스트림 스위칭의 결과로서, 슬라이스 1에 대해 높은 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있고; 슬라이스 2 및 3에 대해 더 낮은 코딩 품질을 갖는 이미지 데이터가 디스플레이될 수 있으며, 이는 뷰잉 경험을 최적화시킬 수 있다. 특히, 뷰포트가 슬라이스 3으로부터 멀어지므로, 슬라이스 3은 중간 코딩 품질에서 낮은 코딩 품질로 스위칭될 수 있다.
상기 예에 도시된 바와 같이, 분산형 IDR 이미지 전송 기술과 함께 프로그레시브 비트 스트림 스위칭 기술을 사용하여, 시스템은 비트 스트림 스위칭을 수행하기 위한 최대 대역폭을 감소시키면서, 중요도가 높은 영역이 상당한 지연 없이 신속하게 리프레시되도록 하여, 뷰잉 경험을 향상시킬 수 있다.
도 36은 본 발명의 다양한 실시 예에 따른, 비디오 스트리밍을 지원하는 흐름도를 도시한다. 도 36에 도시된 바와 같이, 단계 3601에서, 시스템은 이미지 프레임 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신할 수 있고, 여기서, 이미지 프레임 시퀀스의 각각의 이미지 프레임은 분할 스킴에 기초하여 복수의 섹션으로 분할되고, 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함한다. 단계 3602에서, 시스템은 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성할 수 있고, 여기서 제1 재구성된 이미지 프레임은, 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제1 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성될 수 있고, 제2 섹션에 대한 제1 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성될 수 있다. 단계 3602에서, 시스템은 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성할 수 있고, 여기서, 제2 재구성된 이미지 프레임은, 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함한다. 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제1 재구성된 이미지 프레임이 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 제1 섹션에 대한 제2 재구성된 이미지 데이터는, 제2 재구성된 이미지 프레임이 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성된다.
도 37은 본 발명의 다양한 실시 예에 따른 이동 가능한 플랫폼 환경을 도시한다. 도 37에 도시된 바와 같이, 이동 가능한 플랫폼 환경(3700)의 이동 가능한 플랫폼(3718)(또한, 이동 가능한 객체로서 언급됨)은 캐리어(3702) 및 페이로드(3704)를 포함할 수 있다. 이동 가능한 플랫폼(3718)이 항공기(aircraft)로 도시될 수 있지만, 이에 제한되는 것은 아니며, 임의의 적절한 유형의 이동 가능한 플랫폼이 사용될 수 있다. 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는 항공기 시스템의 컨텍스트에서 여기에 기술된 실시 예들 중 임의 것이 적합한 이동 가능한 플랫폼(예를 들어, UAV)에 적용될 수 있다는 것을 이해할 것이다. 일부 경우에, 페이로드(3704)는 캐리어(3702)를 필요로 하지 않고 이동 가능한 플랫폼(3718) 상에 제공될 수 있다. 본 발명의 다양한 실시 예에 따라, 다양한 실시 예 또는 특징이 이동 가능한 플랫폼(3718)(예를 들어, UAV)를 동작시키는데 구현되거나 유용할 수 있다.
일부 실시 예에서, 이동 가능한 플랫폼(3718)은 하나 이상의 이동 메커니즘(3706)(예를 들어, 추진 메커니즘(propulsion mechanisms)), 감지 시스템(3708) 및 통신 시스템(3710)을 포함할 수 있다. 이동 메커니즘(3706)은 하나 이상의 로터(rotor), 프로펠러, 블레이드(blade), 엔진, 모터, 휠, 액슬(axle), 자석, 노즐(nozzle) 또는 이동을 수행하기 위해 동물, 또는 인간에 의해 사용될 수 있는 임의의 메커니즘을 포함할 수 있다. 예를 들어, 이동 가능한 플랫폼은 하나 이상의 추진 메커니즘을 가질 수 있다. 이동 메커니즘(3706)은 모두 동일한 유형일 수 있다. 다르게는, 이동 메커니즘(3706)은 상이한 유형의 이동 메커니즘일 수 있다. 이동 메커니즘(3706)은 지지 엘리먼트(supporting element)(예를 들어, 구동 샤프트(shaft))와 같은 임의의 적절한 수단을 사용하여, 이동 가능한 플랫폼(3718) 상에 장착될 수 있다(또는 그 반대). 이동 메커니즘(3706)은 상부, 하부, 정면, 후면, 측면 또는 이들의 적절한 조합과 같은 이동 가능한 플랫폼(3718)의 임의의 적합한 부분 상에 장착될 수 있다.
일부 실시 예에서, 이동 메커니즘(3706)은 이동 플랫폼(3718)의 임의의 수평 이동을 요구하지 않고(예를 들어, 활주로를 따라 이동하지 않고), 이동 가능한 플랫폼(3719)이 표면으로부터 수직으로 이륙하거나 표면상에 수직으로 착륙할 수 있도록 할 수 있다. 선택적으로, 이동 메카니즘(3706)은 이동 가능한 플랫폼(3718)이 특정 위치 및/또는 방위에서 공중에서 호버링(hover)하도록 할 수 있다. 하나 이상의 이동 메커니즘(3706)은 다른 이동 메커니즘과 독립적으로 제어될 수 있다. 다르게는, 이동 메커니즘(3706)은 동시에 제어되도록 구성될 수 있다. 예를 들어, 이동 가능한 플랫폼(3718)은 이동 가능한 플랫폼에 리프트 및/또는 추진력(thrust)을 제공할 수 있는 다중 수평 방향 로터(horizontally oriented rotors)를 가질 수 있다. 다중 수평 방향 로터는 이동 가능한 플랫폼(3718)에 수직 이륙, 수직 착륙 및 호버링 기능을 제공하도록 작동될 수 있다. 일부 실시 예에서, 수평 방향 로터들 중 하나 이상은 시계 방향으로 회전할 수 있고, 수평 로터들 중 하나 이상은 반 시계 방향으로 회전할 수 있다. 예를 들어, 시계 방향으로 회전하는 로터의 수는 반 시계 방향으로 회전하는 로터의 수와 동일할 수 있다. 수평 방향 로터 각각의 회전 속도는 각각의 로터에 의해 생성된 리프트 및/또는 추진력을 제어하기 위해 독립적으로 변경될 수 있고, 이에 따라 이동 가능한 플랫폼(3718)의 공간적 배치, 속도 및/또는 가속도 (예를 들어, 최대 3도 변환 및 최대 3도 회전과 관련하여)를 조절할 수 있다.
감지 시스템(3708)은 (예를 들어, 다양한 정도의 변환 및 다양한 회전 각도에 관련하여) 이동 가능한 플랫폼(3718)의 공간적 배치, 속도 및/또는 가속도를 감지할 수 있는 하나 이상의 센서를 포함할 수 있다. 하나 이상의 센서는 GPS 센서, 모션 센서, 관성(inertial) 센서, 근접(proximity) 센서 또는 이미지 센서를 포함하는 임의의 센서를 포함할 수 있다. 감지 시스템(3708)에 의해 제공된 감지 데이터는 (예를 들어, 적절한 처리 유닛 및/또는 제어 모듈을 사용하여) 이동 가능한 플랫폼(3718)의 공간적 배치, 속도 및/또는 방향을 제어하는데 사용될 수 있다. 다르게는, 감지 시스템(108)은 기상 조건, 잠재적인 장애물에 대한 근접성, 지리적 특징의 위치, 인공 구조물의 위치 등과 같은 이동 가능한 플랫폼을 둘러싼 환경에 관한 데이터를 제공하는데 사용될 수 있다.
통신 시스템(3710)은 무선 신호들(3716)을 통해 통신 시스템(3714)을 갖는 단말(3712)과의 통신을 가능하게 한다. 통신 시스템(3710, 3714)은 무선 통신에 적합한 임의의 개수의 송신기, 수신기 및/또는 송수신기를 포함할 수 있다. 통신은 데이터가 한 방향으로만 송신될 수 있도록 단방향 통신일 수 있다. 예를 들어, 단방향 통신은 단말(3712)에 데이터를 송신하는 이동 가능한 플랫폼(3718)만 또는 이동 가능한 플랫폼(3718)에 데이터를 송신하는 단말(3712)만 포함할 수 있다. 데이터는 통신 시스템(3710)의 하나 이상의 송신기로부터 통신 시스템(3712)의 하나 이상의 수신기로 송신될 수 있으며, 또는 그 반대(vice-versa)일 수 있다. 다르게는, 통신은 데이터가 이동 가능한 플랫폼(3718)과 단말(3712) 사이에서 양방향으로 송신될 수 있도록 양방향 통신일 수 있다. 양방향 통신은 통신 시스템(3710)의 하나 이상의 송신기로부터 통신 시스템(3714)의 하나 이상의 수신기로의 송신 및 그 반대를 포함할 수 있다.
일부 실시 예에서, 단말(3712)은 하나 이상의 이동 가능한 플랫폼(3718), 캐리어(3702) 및 페이로드(3704)에 제어 데이터를 제공할 수 있고, 하나 이상의 이동 가능한 플랫폼(3718), 캐리어(3702) 및 페이로드(3704)로부터 정보(예를 들어, 이동 가능한 플랫폼, 캐리어 또는 페이로드의 위치 및/또는 모션 정보; 페이로드 카메라에 의해 캡쳐된 이미지 데이터와 같은 페이로드에 의해 감지된 데이터; 및 페이로드 카메라에 의해 캡쳐된 이미지 데이터로부터 생성된 데이터)를 수신할 수 있다. 일부 경우에, 단말로부터의 제어 데이터는 이동 가능한 플랫폼, 캐리어 및/또는 페이로드의 상대적 위치, 이동, 작동(acuation) 또는 제어에 대한 명령을 포함할 수 있다. 예를 들어, 제어 데이터는 (예를 들어, 이동 메카니즘(3706)의 제어를 통해) 이동 가능한 플랫폼의 위치 및/또는 방위의 변경 또는 (예를 들어, 캐리어(3702)의 제어를 통해) 이동 가능한 플랫폼에 대한 페이로드의 이동의 변경을 초래할 수 있다. 단말로부터의 제어 데이터는 카메라 또는 다른 이미지 캡쳐 디바이스의 동작 제어(예를 들어, 스틸 또는 비디오 촬영, 줌 인(zooming in) 또는 줌 아웃, 턴 온(turning on) 또는 턴 오프, 이미징 모드 스위칭, 이미지 해상도 변경, 초점 변경, 피사계 심도(depth of field) 변경, 노출 시간 변경, 시야각 변경 또는 시야 변경)와 같은, 페이로드의 제어를 초래할 수 있다.
일부 경우에, 이동 가능한 플랫폼, 캐리어 및/또는 페이로드로부터의 통신은(예를 들어, 감지 시스템(3708) 또는 페이로드(3704)의) 하나 이상의 센서로부터의 정보 및/또는 감지 정보를 기반으로 생성된 데이터를 포함할 수 있다. 통신은 하나 이상의 상이한 유형의 센서(예를 들어, GPS 센서, 모션 센서, 관성 센서, 근접 센서 또는 이미지 센서)로부터의 감지된 정보를 포함할 수 있다. 이러한 정보는 이동 가능한 플랫폼, 캐리어 및/또는 페이로드의 위치(예를 들어, 위치, 방위), 이동 또는 가속에 관한 것일 수 있다. 페이로드로부터의 이러한 정보는 페이로드에 의해 캡처된 데이터 또는 페이로드의 감지된 상태를 포함할 수 있다. 단말(3712)에 의해 송신된 제어 데이터는 하나 이상의 이동 가능한 플랫폼(3718), 캐리어(3702) 또는 페이로드(104)의 상태를 제어하도록 구성될 수 있다. 다르게는 또는 조합하여, 단말이 이동 가능한 플랫폼(3718), 캐리어(3702) 및 페이로드(3704) 각각과 독립적으로 통신하고 제어할 수 있도록, 캐리어(3702) 및 페이로드(3704)는 단말(3712)과 통신하도록 구성된 통신 모듈을 각각 포함할 수 있다.
일부 실시 예에서, 이동 가능한 플랫폼(3718)은 단말(3712)에 추가하여, 또는 단말(3712) 대신에 다른 원격 디바이스와 통신하도록 구성될 수 있다. 단말(3712)은 또한 다른 원격 디바이스뿐만 아니라 이동 가능한 플랫폼(3718)과 통신하도록 구성될 수 있다. 예를 들어, 이동 가능한 플랫폼(3718) 및/또는 단말(3712)은 다른 이동 가능한 플랫폼 또는 다른 이동 가능한 플랫폼의 캐리어 또는 페이로드와 통신할 수 있다. 원할 때, 원격 디바이스는 제2 단말 또는 다른 컴퓨팅 디바이스(예를 들어, 컴퓨터, 랩탑, 태블릿, 스마트폰, 또는 다른 모바일 디바이스)일 수 있다. 원격 디바이스는 데이터를 이동 가능한 플랫폼(3718)에 송신하고, 이동 가능한 플랫폼(3718)으로부터 데이터를 수신하고, 데이터를 단말(3712)에 송신하고, 및/또는 단말(3712)로부터 데이터를 수신하도록 구성될 수 있다. 선택적으로, 이동 가능한 플랫폼(3718) 및/또는 단말(3712)로부터 수신된 데이터가 웹 사이트 또는 서버에 업로드될 수 있도록, 원격 디바이스는 인터넷 또는 다른 원격 통신 네트워크에 연결될 수 있다.
본 발명의 다수의 특징은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합의 도움으로, 또는 이들의 조합으로 수행될 수 있다. 결과적으로, 본 발명의 특징들은 (예를 들어, 하나 이상의 프로세서를 포함하는) 프로세싱 시스템을 이용하여 구현될 수 있다. 예시적인 프로세서는 제한 없이, 하나 이상의 범용 마이크로 프로세서(예를 들어, 단일 또는 멀티 코어 프로세서), 애플리케이션 특정 집적 회로, 애플리케이션 특정 명령 세트 프로세서, 그래픽 처리 유닛, 물리 처리 유닛, 디지털 신호 처리 유닛, 코프로세서(coprocessor), 네트워크 처리 유닛, 오디오 처리 유닛, 암호화 처리 유닛 등을 포함할 수 있다.
본 발명의 특징은, 여기서 제시된 임의 특징을 수행하도록 처리 시스템을 프로그램하는데 사용될 수 있는 명령이 저장된 저장 매체(미디어) 또는 컴퓨터 판독 가능 매체(미디어)인 컴퓨터 프로그램 제품의 도움으로, 또는 이를 사용하여 구현될 수 있다. 저장 매체는 플로피 디스크, 광학 디스크, DVD, CD-ROM, 마이크로드라이브 및 광 자기 디스크(magneto-optical disks)를 포함하는 임의 유형의 디스크, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, 플래시 메모리 디바이스, 자기 또는 광학 카드, 나노시스템(nanosystem)(분자 메모리 IC 포함), 또는 명령 및/또는 데이터를 저장하기에 적합한 임의의 유형의 매체 또는 디바이스를 포함할 수 있으며, 이에 한정되지 않는다.
기계 판독 가능 매체(미디어) 중 임의의 하나에 저장되는 본 발명의 특징은 처리 시스템의 하드웨어를 제어하고 처리 시스템이 본 발명의 결과를 활용하는 다른 메커니즘과 상호 작용할 수 있게 하는 소프트웨어 및/또는 펌웨어에 통합될 수 있다. 이러한 소프트웨어 또는 펌웨어에는 애플리케이션 코드, 디바이스 드라이버, 운영 체제 및 실행 환경/컨테이너를 포함할 수 있지만 이에 한정되지 않는다.
또한, 본 발명의 특징은 예를 들어 주문형 집적 회로(application specific integrated circuits, ASIC) 및 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA) 디바이스와 같은 하드웨어 구성 요소를 사용하여 하드웨어로 구현될 수 있다. 여기서 설명된 기능을 수행하기 위한 하드웨어 상태 머신의 구현은 관련 기술 분야의 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명백할 것이다.
부가적으로, 본 발명은 하나 이상의 프로세서, 메모리, 및/또는 본 개시의 교시에 따라 프로그램된 컴퓨터 판독가능한 저장 매체를 포함하는, 하나 이상의 종래의 범용 또는 특수 디지털 컴퓨터, 컴퓨팅 디바이스, 머신 또는 마이크로 프로세서를 이용하여 편리하게 구현될 수 있다. 적절한 소프트웨어 코딩은 소프트웨어 분야의 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명백한 바와 같이, 본 개시의 교시를 기반으로 숙련된 프로그래머에 의해 용이하게 준비될 수 있다.
본 발명의 다양한 실시 예들이 상술되었지만, 이들 예들은 제한이 아닌 예로서 제시된 것임을 이해해야 한다. 본 발명의 사상 및 범위를 벗어나지 않으면서 형태 및 세부 사항에서의 다양한 변화가 이루어질 수 있음은 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명백할 것이다.
본 발명은 특정 기능의 수행 및 그 관계를 설명하는 기능적 빌딩 블록의 도움으로 위에서 설명되었다. 이러한 기능적 빌딩 블록의 경계는 설명의 편의를 위해 본 명세서에서 종종 임의로 정의되었다. 특정 기능과 그 관계가 적절히 수행되는 한, 대체 경계가 정의될 수 있다. 그러한 임의의 다른 경계는 따라서 본 발명의 범위 및 사상 내에 있다.
본 발명의 전술한 설명은 예시 및 설명의 목적으로 제공되었다. 본 발명을 개시된 정확한 형태로 제한하거나 포괄하고자 하는 것은 아니다. 본 발명의 폭 및 범위는 상술한 예시적인 실시 예들 중 임의의 것에 의해 제한되어서는 안된다. 많은 수정 및 변형이 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명백할 것이다. 변형 및 변경은 개시된 특징의 임의의 관련 조합을 포함한다. 실시 예들은 본 발명의 원리와 그 실제 응용을 가장 잘 설명하고, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자가 다양한 실시 예에 대해 그리고 의도된 특정 용도에 적합한 다양한 변형을 통해 본 발명을 이해할 수 있게 하기 위해 선택되고 기술되었다. 본 발명의 범위는 다음의 특허 청구 범위 및 그 등가물에 의해 한정되는 것으로 의도된다.

Claims (40)

  1. 이미지 프레임의 시퀀스에서 각각의 이미지 프레임을 복수의 섹션으로 분할하는 스킴(scheme)을 사용하는 단계 - 여기서, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득하고, 상기 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득하는 단계;
    상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정하고, 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정하는 단계;
    상기 인코딩된 데이터의 제1 세트로부터, 상기 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 상기 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택하는 단계;
    상기 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택하는 단계; 및
    상기 선택된 인코딩된 데이터를 비트 스트림에 통합하는 단계를 포함하는
    비디오 스트리밍 방법.
  2. 제1항에 있어서,
    상기 제1 섹션 및 상기 제2 섹션 각각에 대한 인코딩 품질의 상기 변화는 사용자 정보에 기초하여 결정되는, 비디오 스트리밍 방법.
  3. 제2항에 있어서,
    상기 사용자 정보는 사용자의 뷰잉 포인트(viewing point)를 나타내는 뷰포트(viewport) 정보를 포함하는, 비디오 스트리밍 방법.
  4. 제2항에 있어서,
    상기 사용자 정보는 관심 영역(region of interest, ROI)을 포함하는, 비디오 스트리밍 방법.
  5. 제1항에 있어서,
    상기 제1 섹션에 대한 코딩 품질의 변화 및 상기 제2 섹션에 대한 코딩 품질의 변화는 이벤트에 의해 트리거되는, 비디오 스트리밍 방법.
  6. 제5항에 있어서,
    상기 제1 섹션에 대한 상기 제1 스위칭 포인트는 상기 제2 섹션에 대한 상기 제2 스위칭 포인트와 상이한, 비디오 스트리밍 방법.
  7. 제5항에 있어서,
    상기 제1 섹션은 주기적 랜덤 액세스 포인트의 제1 세트와 연관되고, 상기 제2 섹션은 주기적 랜덤 액세스 포인트의 제2 세트와 연관되는, 비디오 스트리밍 방법.
  8. 제7항에 있어서,
    상기 제1 섹션에 대한 상기 제1 스위칭 포인트는, 상기 이벤트 이후의 주기적 랜덤 액세스 포인트의 상기 제1 세트의 제1 랜덤 액세스 포인트에 기초하여 결정되고, 상기 제2 섹션에 대한 상기 제2 스위칭 포인트는, 상기 이벤트 이후의 상기 주기적 랜덤 액세스 포인트의 상기 제2 세트의 제2 랜덤 액세스 포인트에 기초하여 결정되는, 비디오 스트리밍 방법.
  9. 제7항에 있어서,
    상기 제1 섹션과 연관된 주기적 랜덤 액세스 포인트의 상기 제1 세트를 제1 간격으로 구성하는 단계 및 상기 제2 섹션과 연관된 제2 주기적 랜덤 액세스 포인트를 제2 간격으로 구성하는 단계를 더 포함하는 비디오 스트리밍 방법.
  10. 제9항에 있어서,
    상기 제1 간격 및 상기 제2 간격은 상이한, 비디오 스트리밍 방법.
  11. 제1항에 있어서,
    상기 제1 스위칭 포인트에서 상기 선택된 인코딩된 데이터는 상기 제1 섹션에 대한 제1 사후 코딩 품질을 갖는 제1 리프레시 부분을 포함하고, 상기 제2 스위칭 포인트에서 상기 선택된 인코딩된 데이터는 상기 제2 섹션에 대한 제2 사후 코딩 품질을 갖는 제2 리프레시 부분을 포함하는, 비디오 스트리밍 방법.
  12. 제11항에 있어서,
    상기 제1 리프레시 부분은 제1 순간 디코더 리프레시(instantaneous decoder refresh, IDR) 화상의 일 부분을 포함하고, 상기 제2 리프레시 부분은 순간 디코더 리프레시(IDR) 화상의 제2 부분을 포함하는, 비디오 스트리밍 방법.
  13. 제1항에 있어서,
    상기 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 상기 제1 세트를 생성하고, 상기 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 상기 제2 세트를 생성하기 위해 인코더를 사용하는 단계를 더 포함하는 비디오 스트리밍 방법.
  14. 제13항에 있어서,
    상기 인코더는 하나 이상의 코딩 단계를 공유하도록 동작하는, 비디오 스트리밍 방법.
  15. 제13항에 있어서,
    상기 인코더는, 상기 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 상기 제1 세트를 생성하기 위해 양자화 파라미터의 제1 세트를 사용하고, 상기 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터에 대한 양자화 파라미터의 제2 세트를 사용하도록 동작하는 비디오 스트리밍 방법.
  16. 제15항에 있어서,
    양자화 파라미터의 상기 제1 세트와, 양자화 파라미터의 상기 제2 세트는 동일한, 비디오 스트리밍 방법.
  17. 제1항에 있어서,
    상기 복수의 섹션의 각각의 섹션은 타일(tile)이고, 상기 이미지 프레임의 시퀀스의 각각의 이미지 프레임에서 직사각형 영역에 해당하는, 비디오 스트리밍 방법.
  18. 제1항에 있어서,
    상기 복수의 섹션의 각각의 섹션은 슬라이스(slice)이고, 상기 이미지 프레임 시퀀스의 각각의 이미지 프레임에서 코딩 블록의 시퀀스 또는 코딩 블록 쌍의 시퀀스에 해당하는, 비디오 스트리밍 방법.
  19. 비디오 스트리밍 시스템으로서,
    하나 이상의 마이크로 프로세서; 및
    상기 하나 이상의 마이크로 프로세서 상에서 실행되는 스트리밍 컨트롤러를 포함하고, 상기 스트리밍 컨트롤러는,
    이미지 프레임의 시퀀스에서 각각의 이미지 프레임을 복수의 섹션으로 분할하는 스킴을 사용하고 - 여기서, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득하고, 상기 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득하고;
    상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정하고, 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정하고;
    상기 인코딩된 데이터의 제1 세트로부터, 상기 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 상기 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택하고;
    상기 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택하고;
    상기 선택된 인코딩된 데이터를 비트 스트림에 통합하도록 동작하는,
    비디오 스트리밍 시스템.
  20. 장치로서,
    프로세서; 및
    명령이 저장된 비 일시적인 컴퓨터로 판독 가능한 매체를 포함하고, 상기 명령은, 상기 프로세서에 의해 실행될 때,
    이미지 프레임의 시퀀스에서 각각의 이미지 프레임을 복수의 섹션으로 분할하는 스킴을 사용하는 단계 - 여기서, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 제1 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제1 세트를 획득하고, 상기 제2 섹션에 대해 상이한 코딩 품질로 인코딩된 데이터의 제2 세트를 획득하는 단계;
    상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트를 결정하고, 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트를 결정하는 단계;
    상기 인코딩된 데이터의 제1 세트로부터, 상기 제1 스위칭 포인트 이전의 제1 사전 코딩 품질을 갖는 인코딩된 데이터 및 상기 제1 스위칭 포인트 이후의 제1 사후 코딩 품질을 갖는 인코딩된 데이터를 선택하는 단계;
    상기 인코딩된 데이터의 제2 세트로부터, 제2 스위칭 포인트 이전의 제2 사전 인코딩 품질을 갖는 인코딩된 데이터 및 제2 스위칭 포인트 이후의 제2 사후 인코딩 품질을 갖는 인코딩된 데이터를 선택하는 단계; 및
    상기 선택된 인코딩된 데이터를 비트 스트림에 통합하는 단계를 수행하는,
    장치.
  21. 이미지 프레임의 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신하는 단계 - 여기서, 상기 이미지 프레임의 시퀀스의 각각의 이미지 프레임은 분할 스킴(partition scheme)에 기초하여 복수의 섹션으로 분할되고, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성하는 단계 - 여기서, 상기 제1 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성되고,
    상기 제2 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성됨 -; 및
    상기 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성하는 단계 - 여기서, 상기 제2 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 및/또는
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성됨 - 를 포함하는
    비디오 스트리밍 방법.
  22. 제21항에 있어서,
    상기 제1 스위칭 포인트 및 제2 스위칭 포인트는 사용자 정보에 기초하여 결정되는, 비디오 스트리밍 방법.
  23. 제22항에 있어서,
    상기 사용자 정보는, 사용자의 뷰잉 포인트를 나타내는 뷰포트 정보를 포함하는, 비디오 스트리밍 방법.
  24. 제22항에 있어서,
    상기 사용자 정보는 관심 영역(ROI)을 포함하는, 비디오 스트리밍 방법.
  25. 제21항에 있어서,
    상기 제1 섹션에 대한 상기 제1 스위칭 포인트는 상기 제2 섹션에 대한 상기 제2 스위칭 포인트와 상이한, 비디오 스트리밍 방법.
  26. 제21항에 있어서,
    상기 제1 섹션은 주기적 랜덤 액세스 포인트의 제1 세트와 연관되고, 상기 제2 섹션은 주기적 랜덤 액세스 포인트의 제2 세트와 연관되는, 비디오 스트리밍 방법.
  27. 제26항에 있어서,
    상기 제1 섹션에 대한 상기 제1 스위칭 포인트는, 주기적 랜덤 액세스 포인트의 상기 제1 세트의 제1 랜덤 액세스 포인트에 기초하여 결정되고, 상기 제2 섹션에 대한 상기 제2 스위칭 포인트는, 주기적 랜덤 액세스 포인트의 제2 세트의 제2 랜덤 액세스 포인트에 기초하여 결정되는, 비디오 스트리밍 방법.
  28. 제26항에 있어서,
    상기 제1 섹션과 연관된 주기적 랜덤 액세스 포인트의 상기 제1 세트는 제1 간격으로 구성되고, 상기 제2 섹션과 연관된 제2 주기적 랜덤 액세스 포인트는 제2 간격으로 구성된, 비디오 스트리밍 방법.
  29. 제28항에 있어서,
    상기 제1 간격 및 상기 제2 간격은 상이한, 비디오 스트리밍 방법.
  30. 제29항에 있어서,
    상기 제1 간격 및 상기 제2 간격은 중요도 등급(importance rating)에 기초하여 구성되는, 비디오 스트리밍 방법.
  31. 제30항에 있어서,
    상기 제1 섹션이 상기 제2 섹션보다 높은 중요도 등급으로 구성되는 경우 상기 제1 간격은 상기 제2 간격보다 짧은, 비디오 스트리밍 방법.
  32. 제21항에 있어서,
    상기 이진 데이터로부터, 제3 재구성된 이미지 프레임을 생성하는 단계 - 여기서, 상기 제3 재구성된 이미지 프레임이 상기 제1 스위칭 포인트 이후 및 상기 제2 스위칭 포인트 이전인 경우, 상기 제3 재구성된 이미지 프레임은 제1 섹션에 대한 제1 사후 코딩 품질을 갖는 제3 재구성된 이미지 데이터 및 제2 섹션에 대한 제2 사전 코딩 품질을 갖는 제3 재구성된 이미지 데이터를 포함함 - 를 더 포함하는, 비디오 스트리밍 방법.
  33. 제32항에 있어서,
    상기 제1 섹션에 대한 상기 제1 사후 코딩 품질 갖는 상기 제3 재구성된 이미지 데이터는 인트라 프레임(intra-frame) 예측에 기초하여 재구성되고, 상기 제2 섹션에 대한 상기 제2 사전 코딩 품질을 갖는 상기 제3 재구성된 이미지 데이터는 인터 프레임(inter-frame) 예측에 기초하여 재구성되는, 비디오 스트리밍 방법.
  34. 제21항에 있어서,
    상기 제1 재구성된 이미지 프레임 및 상기 제2 재구성된 이미지 프레임을 생성하기 위해 디코더를 사용하는 단계를 더 포함하는 비디오 스트리밍 방법.
  35. 제21항에 있어서,
    상기 제1 재구성된 이미지 프레임 및 상기 제2 재구성된 이미지 프레임을 디스플레이에 제공하는 단계를 더 포함하는 비디오 스트리밍 방법.
  36. 제21항에 있어서,
    사용자 정보를 상기 비트 스트림을 전송하는 스트리밍 서버에 제공하는 단계를 더 포함하는 비디오 스트리밍 방법.
  37. 제21항에 있어서,
    상기 복수의 섹션의 각각의 섹션은 타일이고, 상기 이미지 프레임 시퀀스의 각각의 이미지 프레임에서 직사각형 영역에 해당하는, 비디오 스트리밍 방법.
  38. 제21항에 있어서,
    상기 복수의 섹션의 각각의 섹션은 슬라이스이고, 상기 이미지 프레임 시퀀스의 각각의 이미지 프레임에서 코딩 블록 시퀀스 또는 코딩 블록 쌍의 시퀀스에 해당하는, 비디오 스트리밍 방법.
  39. 비디오 스트리밍 시스템으로서,
    하나 이상의 마이크로 프로세서; 및
    상기 하나 이상의 마이크로 프로세서 상에서 실행되는 디코더를 포함하고, 상기 디코더는,
    이미지 프레임의 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신하고 - 여기서, 상기 이미지 프레임의 시퀀스의 각각의 이미지 프레임은 분할 스킴에 기초하여 복수의 섹션으로 분할되고, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성하고 - 여기서, 상기 제1 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성되고,
    상기 제2 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성됨 -;
    상기 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성하도록 - 여기서, 상기 제2 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 및/또는
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성됨 - 동작하는,
    비디오 스트리밍 시스템.
  40. 장치로서,
    프로세서; 및
    명령이 저장된 비 일시적인 컴퓨터로 판독 가능한 매체를 포함하고, 상기 명령은, 상기 프로세서에 의해 실행될 때,
    이미지 프레임의 시퀀스를 재구성하기 위한 이진 데이터를 포함하는 비트 스트림을 수신하는 단계 - 여기서, 상기 이미지 프레임의 시퀀스의 각각의 이미지 프레임은 분할 스킴에 기초하여 복수의 섹션으로 분할되고, 상기 복수의 섹션은 적어도 제1 섹션 및 제2 섹션을 포함함 -;
    상기 이진 데이터로부터, 제1 재구성된 이미지 프레임을 생성하는 단계 - 여기서, 상기 제1 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제1 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제1 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 섹션에 대한 코딩 품질의 변화에 대응하는 제1 스위칭 포인트 이전인 경우 제1 사전 코딩 품질로 재구성되고,
    상기 제2 섹션에 대한 상기 제1 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 섹션에 대한 코딩 품질의 변화에 대응하는 제2 스위칭 포인트 이전인 경우 제2 사전 코딩 품질로 재구성됨 -; 및
    상기 이진 데이터로부터, 제2 재구성된 이미지 데이터를 생성하는 단계 - 여기서, 상기 제2 재구성된 이미지 프레임은, 상기 제1 섹션에 대한 제2 재구성된 이미지 데이터 및 상기 제2 섹션에 대한 제2 재구성된 이미지 데이터를 포함하고,
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제1 재구성된 이미지 프레임이 상기 제1 스위칭 포인트 이후인 경우 제1 사후 코딩 품질로 재구성되고, 및/또는
    상기 제1 섹션에 대한 상기 제2 재구성된 이미지 데이터는, 상기 제2 재구성된 이미지 프레임이 상기 제2 스위칭 포인트 이후인 경우 제2 사후 코딩 품질로 재구성됨 - 를 수행하는,
    장치.
KR1020207013724A 2018-09-11 2018-09-11 프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법 KR20200069350A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/105108 WO2020051777A1 (en) 2018-09-11 2018-09-11 System and method for supporting progressive video bit stream swiitching

Publications (1)

Publication Number Publication Date
KR20200069350A true KR20200069350A (ko) 2020-06-16

Family

ID=69777308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207013724A KR20200069350A (ko) 2018-09-11 2018-09-11 프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US20210227227A1 (ko)
EP (1) EP3797515A4 (ko)
JP (1) JP2020043559A (ko)
KR (1) KR20200069350A (ko)
CN (1) CN112673634A (ko)
WO (1) WO2020051777A1 (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201100397D0 (en) * 2011-01-11 2011-02-23 Univ Gent Fast channel switching
US9042458B2 (en) * 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US9813736B2 (en) * 2013-09-27 2017-11-07 Qualcomm Incorporated Inter-view dependency type in MV-HEVC
US9591324B2 (en) * 2013-10-14 2017-03-07 Qualcomm Incorporated Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction
US20150264345A1 (en) * 2014-03-13 2015-09-17 Mitsubishi Electric Research Laboratories, Inc. Method for Coding Videos and Pictures Using Independent Uniform Prediction Mode
JP6391694B2 (ja) * 2015-07-31 2018-09-19 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd ビデオ符号化方法及びシステム
KR102511705B1 (ko) * 2015-11-16 2023-03-20 삼성전자주식회사 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템
US11184624B2 (en) * 2016-05-19 2021-11-23 Qualcomm Incorporated Regional random access in pictures
JP2018026670A (ja) * 2016-08-09 2018-02-15 日本電信電話株式会社 映像配信システム、端末装置、配信サーバ、映像配信方法、映像表示方法、映像配信プログラム及び映像表示プログラム
US20180098131A1 (en) * 2016-09-30 2018-04-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Apparatus and methods for adaptive bit-rate streaming of 360 video
WO2018069412A1 (en) * 2016-10-12 2018-04-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Spatially unequal streaming
CN110036640B (zh) 2016-12-14 2023-06-20 深圳市大疆创新科技有限公司 用于支持视频比特流切换的系统和方法
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images

Also Published As

Publication number Publication date
EP3797515A4 (en) 2021-04-28
JP2020043559A (ja) 2020-03-19
EP3797515A1 (en) 2021-03-31
CN112673634A (zh) 2021-04-16
WO2020051777A1 (en) 2020-03-19
US20210227227A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
KR102594003B1 (ko) 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림
CN110036640B (zh) 用于支持视频比特流切换的系统和方法
CN111355954B (zh) 为视频播放器装置处理视频数据
US10341632B2 (en) Spatial random access enabled video system with a three-dimensional viewing volume
US10567464B2 (en) Video compression with adaptive view-dependent lighting removal
US10469873B2 (en) Encoding and decoding virtual reality video
JP6501904B2 (ja) 球面ビデオのストリーミング
CN112702523B (zh) 解码器、视频处理方法、系统和装置
US20180027257A1 (en) Image processing device and image processing method
US20180098090A1 (en) Method and Apparatus for Rearranging VR Video Format and Constrained Encoding Parameters
CN106063277A (zh) 用于对内容进行流传输的方法和装置
EP3434021B1 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US11159823B2 (en) Multi-viewport transcoding for volumetric video streaming
US20210227227A1 (en) System and method for supporting progressive video bit stream switching
JP7443536B2 (ja) 没入型のメディア処理におけるランク情報
WO2022259632A1 (ja) 情報処理装置及び情報処理方法
KR20220054430A (ko) 볼류메트릭 비디오 콘텐츠를 전달하기 위한 방법 및 장치들
CN112088352A (zh) 用于对表示球面多媒体内容的球体进行分块的方法和网络设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application