KR102218519B1 - 비디오 데이터의 콘텐츠 기반 스트림 분할 - Google Patents

비디오 데이터의 콘텐츠 기반 스트림 분할 Download PDF

Info

Publication number
KR102218519B1
KR102218519B1 KR1020197008531A KR20197008531A KR102218519B1 KR 102218519 B1 KR102218519 B1 KR 102218519B1 KR 1020197008531 A KR1020197008531 A KR 1020197008531A KR 20197008531 A KR20197008531 A KR 20197008531A KR 102218519 B1 KR102218519 B1 KR 102218519B1
Authority
KR
South Korea
Prior art keywords
video
image
viewport
sections
scene
Prior art date
Application number
KR1020197008531A
Other languages
English (en)
Other versions
KR20190038664A (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 KR20190038664A publication Critical patent/KR20190038664A/ko
Application granted granted Critical
Publication of KR102218519B1 publication Critical patent/KR102218519B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • H04N21/440272Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA for performing aspect ratio conversion
    • 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/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

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

Abstract

비디오 이미지들에서의 장면들은 비디오 이미지들의 이미지 콘텐츠에 기초하여 식별된다. 비디오 이미지들의 구역 단면들은 비디오 이미지들에서의 장면들에 기초하여 결정된다. 구역 단면들에서의 비디오 이미지들의 이미지 부분들은 다수의 상이한 시공간 해상도들에서의 다수의 비디오 서브-스트림들로 인코딩된다. 다수의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림이 스트리밍 클라이언트 디바이스로 송신된다.

Description

비디오 데이터의 콘텐츠 기반 스트림 분할
본 발명은 대체로 이미지 코딩 및 렌더링에 관한 것이고 특히, 비디오 데이터의 콘텐츠 기반 스트림 분할에 관한 것이다.
근안(near-eye) 디스플레이들과 함께하는 것들과 같은 가상 현실 애플리케이션들의 경우, 원하는 비디오 데이터의 양은 인간 시각이 항상 모든 잠재 시야각들에서 픽실레이션(pixilation) 효과들을 인지하는 것을 방지하는 공간 해상도에서 이미지들을 관람함에 있어서 끊김 없는 경험을 하도록 하기 위하여 열여덟 개의 4K 해상도 뷰들과 동일할 수 있다. 이 원하는 비디오 데이터의 양은 막대하고, 그 비디오 데이터를 압축하고 압축해제하는데 요구되는 컴퓨팅 파워와 대역폭의 양을 고려해 볼 때, 현재 네트워크 인프라스트럭처들에서 근안 디스플레이들과 같은 매우 다양한 디스플레이 디바이스들에 의해 지원되는 것이 현재 비현실적이다.
일부 기법들은 구를 피라미드의 다수의 "피라미드 면들(pyramid faces)"로 파티셔닝함으로써 이 이슈를 해결한다. 기본 피라미드 면이 시야(field of view)(FOV)의 바로 주변을 커버하고 고해상도 이미지들을 운반한다. 다른 비-기본 피라미드 면들은 저해상도 이미지들을 운반한다. 그러나, 이들 기법들은 사용자의 FOV의 비-기본 피라미드 면으로의 각각의 변화를 갖는 고해상도 이미지들을 볼 때 (예컨대, 12-15 밀리초보다 더 긴 등의) 눈에 띄는 지체를 겪는다. 더욱이, 피라미드가 면적/체적에 기초하여 파티셔닝되기 때문에, 사용자의 FOV가 두 개의 피라미드 면들을 교차하여, FOV의 일 부분을 저해상도로 남겨둘 수 있다.
이 섹션에서 설명되는 접근법들은 추구될 수 있는 접근법들이지만, 이전에 생각되거나 또는 추구된 접근법들은 반드시 아닌 접근법들이다. 그러므로, 달리 표시되지 않는 한, 이 섹션에서 설명되는 접근법들 중 임의의 접근법은 단지 그것의 이 섹션 내의 포함 때문에 선행 기술이 된다고 가정되지 않아야 한다. 마찬가지로, 하나 이상의 접근법들에 관해 식별된 문제들이, 달리 표시되지 않는 한, 이 섹션에 기초하여 임의의 선행 기술로 인식되었던 것으로 가정되지 않아야 한다.
본 발명은 첨부의 도면들에서 예로서 예시되지만 제한으로서는 아니고 그 도면들에서 유사한 참조 번호들은 유사한 엘리먼트들을 지칭하고 그 도면들 중:
도 1은 예시적인 비디오 이미지를 도시하며;
도 2a 내지 도 2c는 사용자에 의해 관람되고 있는 비디오 이미지(들)의 예시적인 구역 단면들을 도시하며;
도 2d는 예시적인 뷰포트를 도시하며;
도 2e는 예시적인 장면을 도시하며;
도 3a 내지 도 3c는 예시적인 비디오 스트리밍 서버들 및 클라이언트들을 도시하며;
도 4a 및 도 4b는 예시적인 프로세스 흐름들을 도시하며; 그리고
도 5는 본 명세서에서 설명되는 바와 같은 컴퓨터 또는 컴퓨팅 디바이스가 구현될 수 있는 예시적인 하드웨어 플랫폼을 도시한다.
비디오 데이터의 콘텐츠 기반 스트림 분할에 관련하는 예시적인 실시예들이 본 명세서에서 설명된다. 다음의 설명에서, 설명을 목적으로, 다수의 특정 세부사항들이 본 발명의 완전한 이해를 제공하기 위하여 언급된다. 그러나, 본 발명은 이들 특정 세부사항들 없이도 실시될 수 있다는 것이 명백할 것이다. 다른 경우들에서, 널리 공지된 구조들 및 디바이스들이 본 발명을 불필요하게 가리거나, 모호하게 하거나, 또는 혼란스럽게 하는 것을 피하기 위하여 철저히 상세히 설명되지는 않는다.
예시적인 실시예들은 다음의 대요에 따라 본 명세서에서 설명된다:
1. 전반적인 개요
2. 비디오 이미지들
3. 구역 단면들 및 관심 있는 장면들
4. 비디오 이미지들로부터의 장면들 검출
5. 예시적인 장면들, 구역 단면들 및 비디오 서브-스트림들
6. 예시적인 비디오 스트리밍 서버들 및 클라이언트들
7. 예시적인 프로세스 흐름들
8. 구현 메커니즘들 ― 하드웨어 개요
9. 동등물들, 확장물들, 대체물들 및 기타
1. 전반적인 개요
이 개요는 본 발명의 예시적인 실시예의 일부 양태들의 기본 설명을 제시한다. 이 개요는 예시적인 실시예의 양태들의 확장적이거나 또는 철저한 개요는 아님에 주의해야 한다. 더구나, 이 개요는 예시적인 실시예의 임의의 특히 중요한 양태들 또는 엘리먼트들을 식별하는 것으로서 이해되도록 의도되지 않으며, 특히 예시적인 실시예의 임의의 범위를 기술하는 것으로서도, 또는 본 발명을 일반적으로 기술하는 것으로서 이해되도록 의도되지 않음에 주의해야 한다. 이 개요는 압축되고 단순화된 포맷으로 예시적인 실시예에 관련한 일부 개념들을 단순히 제시하고, 아래에 뒤따르는 예시적인 실시예들의 더욱 상세한 설명에 대한 단순한 개념상의 서두로서 이해되어야 한다. 비록 별개의 실시예들이 본 명세서에서 논의되지만, 본 명세서에서 논의되는 실시예들 및/또는 부분 실시예들의 임의의 조합은 추가의 실시예들을 형성하도록 결합될 수 있음에 주의한다.
본 명세서에서 설명되는 바와 같은 기법들은 비디오 스트리밍 서버(들)와 비디오 스트리밍 클라이언트(들) 사이에 비디오 데이터를 스트리밍하기 위한 대역폭 사용량을 최소화하는데 사용될 수 있다. 예시적인 비디오 콘텐츠는, 시청각 프로그램들, 영화들, 비디오 프로그램들, TV 브로드캐스트들, 컴퓨터 게임들, 증강 현실(augmented reality)(AR) 콘텐츠, 가상 현실(virtual reality)(VR) 콘텐츠 등 중 임의의 것을 포함할 수 있지만 그것으로 반드시 제한되지는 않는다. 예시적인 비디오 스트리밍 클라이언트들은, 디스플레이 디바이스들, 근안 디스플레이를 갖는 컴퓨팅 디바이스, 두부 장착형 디스플레이(head-mounted display)(HMD), 모바일 디바이스, 착용가능 디스플레이 디바이스, 텔레비전, 비디오 모니터 등과 같은 디스플레이를 갖는 셋톱 박스 중 임의의 것을 포함할 수 있지만 그것으로 반드시 제한되지는 않는다.
본 명세서에서 사용되는 바와 같이, "비디오 스트리밍 서버"가 하나 이상의 디바이스들 상에 비디오 콘텐츠의 (예컨대, 사용자의 FOV 또는 뷰포트 등에 대응하는) 적어도 부분을 렌더링하기 위하여 비디오 콘텐츠를 준비하고 하나 이상의 비디오 스트리밍 클라이언트들에 스트리밍하는 하나 이상의 디바이스들을 지칭할 수 있다. 비디오 콘텐츠가 렌더링되는 디스플레이들은 하나 이상의 비디오 스트리밍 클라이언트들의 일부일 수 있거나, 또는 하나 이상의 비디오 스트리밍 클라이언트들과 연계하여 동작될 수 있다.
예시적인 비디오 스트리밍 서버들은, 비디오 스트리밍 클라이언트(들)로부터 원격으로 위치된 클라우드 기반 비디오 스트리밍 서버들, 로컬 유선 또는 무선 네트워크들을 통해 비디오 스트리밍 클라이언트(들)와 접속되는 로컬 비디오 스트리밍 서버들, VR 디바이스들, AR 디바이스들, 디지털 미디어 디바이스들, 디지털 미디어 수신기들, 셋톱 박스들, 게이밍 머신들(예컨대, Xbox), 범용 개인용 컴퓨터들, 태블릿들, 애플 TV 또는 로쿠(Roku) 박스와 같은 전용 디지털 미디어 수신기들 등 중 임의의 것을 포함할 수 있지만 그것으로 반드시 제한되지는 않는다.
본 명세서에서 설명되는 바와 같은 기법들 하에서, 하나 이상의 비디오 이미지들의 전체 영역은 사용자의 뷰포트, 사용자의 중심시(foveal vision), 관심 높은 장면들(scenes of high interest), 관심 낮은 장면들(scenes of low interest) 등 중 하나 이상에 기초하여 다수의 구역 단면들로 파티셔닝될 수 있다. 구역 단면들의 각각은, 인간 시각에서의 시야 등과 필적할 수 있는, 비디오 이미지들의 전체 영역의 적절한 서브세트, 예를 들어, 최대 180 도 곱하기 100 도의 뷰, 최대 240 도 곱하기 90 도의 뷰만을 나타낼 수 있다. 그러나, 모든 가능한 구역 단면들의 조합은 비디오 이미지들의 전체 영역을 커버할 수 있다.
비디오 스트리밍 서버가, (예컨대, 18 개 4K 비디오 스트림들 등에 동등한) 극히 큰 대역폭 예산을 사용하는 고정된 높은 시공간 해상도들에서 자신들의 전체 공간적 면적들에서의 비디오 이미지들을 인코딩하고 송신하는 대신, 비디오 이미지들의 다수의 구역 단면들에서의 각각의 이미지 부분들을 상이한 시공간 해상도들에서의 다수의 비디오 서브-스트림들로 하류의 수신자 디바이스들에 송신할 수 있다. 본 명세서에서 사용되는 바와 같이, 시공간 해상도는 공간 해상도들만(높은 공간 주파수 콘텐츠를 비제한적으로 포함함), 시간적 해상도들만(이미지 리프레시 레이트들을 비제한적으로 포함함), 또는 공간 해상도들 및 시간적 해상도들의 조합을 지칭할 수 있다. 따라서, 본 명세서에서 설명되는 바와 같은 기법들은 비디오 스트리밍 서버와 비디오 스트리밍 클라이언트(예컨대, 스트리밍된 비디오 데이터 등을 소비 및/또는 재생하는 클라이언트 디바이스) 사이에서 스트리밍될 비디오 데이터의 양을 감소시키거나 또는 최소화함으로써, 비디오 데이터를 스트리밍하기 위해 상대적으로 큰 대역폭 예산을 사용할 필요를 감소시키거나 또는 최소화하고 매우 다양한 하류의 디바이스들에 매우 다양한 비디오 스트리밍 애플리케이션들을 효율적으로 지원하는데 사용될 수 있다.
동시에, 본 명세서에서 설명되는 바와 같은 기법들은 하류의 수신자 디바이스의 사용자가 비디오 이미지들에 대한 사용자의 관람 각도들 또는 시야들을 자유롭게 가변하는 것을 허용하는데 사용될 수 있다. 전체는 아닐지라도 대부분의 운영 시나리오들에서, 사용자에게는 본 명세서에서 설명되는 바와 같은 기법들을 채택하지 않은 일부 다른 접근법들에 연관되는 시각적 아티팩트들, 생리적 불쾌감 등이 비교적 없는 끊김 없는 관람 경험을 위한 고해상도 비디오 콘텐츠가 제시될 수 있다. 다른 접근법들에 연관되는 시각적 아티팩트들, 생리적 불쾌감 등은, 인간 시각에 의해 인지되는 바와 같은 고해상도 상(imagery)으로의 전환 시에 오래 계속되는 지체들, 인간 시각의 중앙 관람 영역 내에서 눈에 띄는 저해상도 상, 사용자의 자연스러운 시각 관련 직관과 사용자에게 실제로 렌더링되는 바와 같은 비디오 콘텐츠 사이의 불일치들, 관람자가 시야각들을 이동시킬 때 상에서의 시각적 선명도의 갑작스러운 저하, 저해상도들부터 고해상도들로의 인지 가능한 느린 전환, 관람자가 시야각들을 이동시킬 때 이전에 가려진 이미지 세부사항들에 대한 퍼지 이미지들을 보여주는 것 등 중 임의의 것을 포함할 수 있지만 그것으로 반드시 제한되지는 않는다.
본 명세서에서 설명되는 예시적인 실시예들은 비디오 데이터를 스트리밍하는 것에 관한 것이다. 하나 이상의 비디오 이미지들에서의 복수의 장면들은 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여 식별된다. 하나 이상의 비디오 이미지들의 복수의 구역 단면들이 하나 이상의 비디오 이미지들에서의 복수의 장면들에 기초하여 결정된다. 복수의 구역 단면들에서의 하나 이상의 비디오 이미지들의 복수의 이미지 부분들이 둘 이상의 상이한 시공간 해상도들에서 둘 이상의 비디오 서브-스트림들로 인코딩된다. 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림이 스트리밍 클라이언트 디바이스에 송신된다.
본 명세서에서 설명되는 예시적인 실시예들은 스트리밍된 비디오 데이터를 관람자들에게 제시하는 것에 관한 것이다. 둘 이상의 상이한 시공간 해상도들에 있는 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림이 스트리밍 서버로부터 수신된다. 둘 이상의 비디오 서브-스트림들은 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들로 디코딩된다. 하나 이상의 이미지 부분들은 복수의 구역 단면들 중의 하나 이상의 구역 단면들에 있다. 복수의 구역 단면들은 복수의 장면들에 적어도 부분적으로 기초하여 결정된다. 복수의 장면들은 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여 검출된다. 비디오 콘텐츠는 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들에 기초하여 생성된다. 비디오 콘텐츠는 디스플레이에서 렌더링이 야기된다.
일부 예시적 실시예들에서, 본 명세서에서 설명되는 바와 같은 메커니즘들은, 클라우드 기반 서버, 모바일 디바이스, 가상 현실 시스템, 증강 현실 시스템, 헤드 업 디스플레이 디바이스, 헬멧 장착형 디스플레이 디바이스, CAVE-형 시스템 또는 벽-사이즈로 된 디스플레이, 비디오 게임 디바이스, 디스플레이 디바이스, 미디어 플레이어, 미디어 서버, 미디어 생산 시스템, 카메라 시스템들, 홈 기반 시스템들, 통신 디바이스들, 비디오 프로세싱 시스템, 비디오 코덱 시스템, 스튜디오 시스템, 스트리밍 서버, 클라우드 기반 콘텐츠 서비스 시스템, 핸드헬드 디바이스, 게임 머신, 텔레비전, 시네마 디스플레이, 랩톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 셀룰러 무선전화기, 전자책 리더, 판매시점관리(point of sale) 단말, 데스크톱 컴퓨터, 컴퓨터 워크스테이션, 컴퓨터 서버, 컴퓨터 키오스크, 또는 다양한 다른 종류들의 단말들 및 미디어 프로세싱 유닛들 중 임의의 것을 비제한적으로 포함하는 미디어 프로세싱 시스템의 일부를 형성한다.
본 명세서에서 설명되는 바람직한 실시예들과 일반 원리들 및 특징들에 대한 다양한 수정들은 본 기술분야의 통상의 기술자들에게 쉽사리 명확하게 될 것이다. 따라서, 본 개시내용은 도시된 실시예들로 제한되는 것으로 의도되지 않지만, 본 명세서에서 설명되는 원리들 및 특징들에 일치하는 가장 넓은 범위를 부여받는 것이 의도된다.
2. 비디오 이미지들
일부 실시예들에서, 본 명세서에서 설명되는 바와 같은 비디오 이미지들은 하나 이상의 공간적 환경들에서 디스플레이되는 하나 이상의 카메라 시스템들로 캡처될 수 있다. 예시적인 공간적 환경들은, 물리적 공간적 환경, 시뮬레이션된 공간적 환경, 영화 스튜디오들, 옥외 장면들, 실내 장면들, 터널들, 거리들, 차량들, 선박들, 항공기들, 외부 공간 등 중 임의의 것을 포함할 수 있지만 그것만으로 제한되지는 않는다. 예시적인 카메라 시스템들은, 명시야 카메라들, 중첩 및/또는 비-중첩 시야들을 갖는 다수의 카메라들, 디지털 카메라들, 아날로그 카메라들, 웹캠들 등 중 임의의 것을 포함할 수 있지만 그것만으로 제한되지는 않는다.
본 명세서에서 설명되는 바와 같은 비디오 이미지가 다양한 공간적 형상들의 이미지(예컨대, 직사각형 이미지, 구면 이미지 등)에 분포된 화소 값들로서 기록 또는 어셈블리될 수 있다. 예시적인 공간적 형상들은, 직사각형 형상들, 구 형상들, 파노라마 형상들, 규칙적 형상들, 불규칙적 형상들, 평면 형상들, 곡면 표면 형상들 등 중 임의의 것을 포함할 수 있지만 그것만으로 제한되지는 않는다.
도 1은 예시적인 비디오 이미지(100)를 도시한다. 일부 실시예들에서, 구역 이미지(100)는 (예컨대, 고해상도 등의) 비디오 이미지들의 시퀀스로 하나의 개개의 고해상도 구역 이미지를 표현할 수 있다. 비디오 스트리밍 서버가, VR 애플리케이션들, AR 애플리케이션들, 원격 존재 애플리케이션들, 디스플레이 애플리케이션들 등 중 하나 이상의 지원 하에서 (하류의) 비디오 스트리밍 클라이언트들에 스트리밍하기 위한 비디오 콘텐츠를 준비하기 위해 수신된 비디오 이미지 시퀀스를 입력으로서 수신하고 사용하도록 구성될 수 있다.
본 명세서에서 설명되는 바와 같은 비디오 이미지가 월드 좌표계, 카메라 시스템에 대해 변하지 않는 좌표계, 공간적 환경에 대해 고정된 좌표계 등과 같은 매우 다양한 좌표계들 중 임의의 것으로 표현될 수 있다. 비디오 이미지(100)에서의 공간적 위치가 절대 위치(예컨대, 월드 좌표계 등으로 표현됨) 또는 상대 위치(예컨대, 카메라 시스템에 대해 변하지 않는 상대 좌표계 등으로 표현됨) 중 어느 하나일 수 있다.
일부 실시예들에서, 비디오 이미지(100)에서의 공간적 위치(예컨대, 화소 등)가 특정 (x, y) 좌표 값들의 세트에 의해 표현될 수 있다.
3. 구역 단면들 및 관심 있는 장면들
본 명세서에서 사용되는 바와 같이, 비디오 이미지(100)에서의 구역 단면이 공간적 면적 부분 또는 공간적 체적 부분을 지칭할 수 있고, 비디오 이미지(100)에서의 (예컨대, 인접한, 분리된 등의) 공간적 위치들의 수집에 의해 형성될 수 있다. 비디오 이미지(100)에서의 특정 구역 단면이, 비디오 이미지(100) 상의 영역 부분(area portion), 공간적 형상, 공간적 구역 등 중 하나 이상에 의해 표현될 수 있다.
본 명세서에서 설명되는 바와 같은 장면이 비디오 이미지(들)의 전체 영역의 특정 구역 단면을 점유하는 비디오 이미지(들)의 특정 이미지 부분을 지칭할 수 있다. 비디오 이미지(들)는 비디오 이미지(들)의 전체 영역의 상이한 비디오 단면들을 점유하는 다수의 장면들을 포함할 수 있다. 각각의 장면은, 그 장면에서의 비디오 이미지(들)의 특정 이미지 부분에 대해 결정된 바와 같은 특정 사용자 관심 레벨에 기초하여, 관심 높은 장면(예컨대, 110-2 등), 관심 낮은 장면(예컨대, 110-1, 110-3 등) 등으로 분류될 수 있다.
일부 실시예들에서, 비디오 이미지(100)에서 표현되는 전체 공간적 면적(또는 체적)으로부터 파티셔닝된 바와 같은 비디오 이미지(100)의 모든 구역 단면들(예컨대, 102-1, 102-2, 102-3 등)은, 하나 이상의 구역 단면 유형들에 기초하여 분류된다. 비디오 이미지(100)의 구역 단면들에서의 이미지 부분들은 구역 단면 유형들에 의존하는 상이한 시공간 해상도들에서 다수의 비디오 서브-스트림들로 인코딩될 수 있다. 예를 들어, 구역 단면들이 사용자의 (또는 관람자의) 뷰포트에, 사용자의 (또는 관람자의) 중심시에, 사용자의 (또는 관람자의) 뷰포트 또는 중심시 밖의 관심 높은 장면들 등에 있음을 표시하는 특정 구역 단면 유형들의 구역 단면들의 이미지 부분들은 비교적 높은 시공간 해상도들로 인코딩될 수 있다. 구역 단면들이 사용자의 (또는 관람자의) 뷰포트에, 사용자의 (또는 관람자의) 중심시에, 사용자의 (또는 관람자의) 뷰포트 또는 중심시 밖의 관심 높은 장면들 등에 있지 않음을 표시하는 특정 구역 단면 유형들의 이미지 부분들은 상대적으로 낮은 시공간 해상도들로 인코딩될 수 있다.
비제한적인 예로서, 구역 이미지(100)의 구역 단면들(예컨대, 102-1, 102-2, 102-3 등)은 적어도 사용자의 (시그널링된) 뷰포트(예컨대, 108-1, 도 2a의 108-2 등)를 커버하는 비디오 이미지(100)의 제1 구역 단면(들)(예컨대, 102-1 등)을 포함한다.
사용자의 뷰포트는 사용자가 비디오 이미지(100)의 이미지 부분을 관람하게 하는 디스플레이 상에 제공된 바와 같은 사용자의 시야를 지칭할 수 있다. 런타임에서의 사용자의 뷰포트는 얼굴 추적 디바이스 및/또는 눈 추적 디바이스에 의해 추적될 수 있다. 얼굴/눈 추적 디바이스(들)는 비디오 이미지(100)의 이미지 부분이 렌더링되는 디스플레이로 실시간으로 동작할 수 있다. 사용자가 가끔 시야각들 및/또는 가시 거리들을 변경함에 따라, 얼굴/눈 추적 디바이스(들)는 비디오 이미지들의 시퀀스가 표현되는 좌표계에서 시야각들 및/또는 가시 거리들을 추적 및 계산하며, 뷰포트들의 시간 시퀀스(또는 시야들의 시간 시퀀스)를 생성하고, 각각의 뷰포트(예컨대, 108-1, 도 2a의 108-2 등)를 뷰포트들의 시간 시퀀스로 본 명세서에서 설명되는 바와 같은 비디오 스트리밍 서버에 시그널링한다. 비디오 스트리밍 서버에 의해 수신되는 바와 같은 사용자의 각각의 이러한 시그널링된 뷰포트는 시점(time point) 값 또는 시점 값에 대응하는 뷰포트 인덱스 값에 의해 인덱싱될 수 있다. 시점 값은 본 명세서에서 설명되는 바와 같은 비디오 스트리밍 서버에 의해 비디오 이미지들의 시퀀스에서의 특정 비디오 이미지와 연관 또는 상관될 수 있다.
사용자의 뷰포트(예컨대, 108-1, 도 2a의 108-2 등)를 커버하는 제1 구역 단면(들)(예컨대, 102-1 등)은 구역 단면들을 분류하기 위해 이용 가능한 구역 단면 유형들 중에서 뷰포트 유형들로서 분류될 수 있다.
일부 실시예들에서, 제1 구역 단면(들)(예컨대, 102-1 등)은 사용자의 중심시를 커버하는 하나 이상의 제1 구역 단면들과 사용자의 중심시를 커버하지 않는 하나 이상의 다른 제1 구역 단면들로 추가로 파티셔닝될 수 있다. 하나 이상의 제1 구역 단면들은 구역 단면들을 분류하기 위해 이용 가능한 구역 단면 유형들 중에서 중심시 유형들로서 추가적으로, 옵션적으로, 또는 대안적으로, 분류될 수 있다. 하나 이상의 다른 제1 구역 단면들은 구역 단면들을 분류하기 위해 이용 가능한 구역 단면 유형들 중에서 비-중심시 유형들로서 추가적으로, 옵션적으로, 또는 대안적으로, 분류될 수 있다.
사용자의 뷰포트에서의 구역 단면들 외에도, 비디오 이미지(100)의 구역 단면들(예컨대, 102-1, 102-2, 102-3 등)은 사용자의 뷰포트(예컨대, 108-1, 도 2a의 108-2 등)를 커버하지 않는 비디오 이미지(100)의 제2 구역 단면(들)(예컨대, 102-2, 102-3 등)을 또한 포함할 수 있다. 제2 구역 단면들(예컨대, 102-2, 102-3 등)은 구역 단면들을 분류하기 위해 이용 가능한 구역 단면 유형들 중에서 비-뷰포트 유형들로서 분류될 수 있다.
예시적인 실시예에서, 구역 단면 유형들은 다양한 사용자 관심 레벨들의 하나 이상의 장면들에 대응시키는데, 또는 그러한 하나 이상의 장면들의 존재를 표시하는데 사용될 수 있다. 구역 단면(예컨대, 102-2 등)이 관심 높은 장면(예컨대, 110-2 등)에 해당할 수 있거나, 또는 그 구역 단면이 그러한 관심 높은 장면과 적어도 부분적으로 중첩함을 표시할 수 있다. 다른 구역 단면(예컨대, 102-3 등)이 관심 낮은 장면들(예컨대, 110-3 등)에 해당할 수 있거나, 또는 그 구역 단면이 그러한 관심 낮은 장면들에 의해 완전히 점유됨을 표시할 수 있다.
일부 실시예들에서, 비디오 이미지(들)(예컨대, 100 등)에서의 구역 단면들(예컨대, 102-1, 102-2, 102-3 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등은 비디오 이미지(들)에서의 실제 이미지 콘텐츠의 고려 없이 선험적으로 정적으로 고정되지 않고, 오히려, 사용자의 뷰포트, 사용자의 중심시, 비디오 이미지(들)에서 검출되는 장면들, 그 장면들을 구성하는 이미지 세부사항들의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등에 기초하여 (예컨대, 실제 이미지 콘텐츠의 프리-프로세싱을 통해, 런타임 시, 동적으로 등으로) 결정 또는 컴퓨팅된다.
예를 들어, 비디오 이미지(100)에서의 제1 구역 단면(들)(예컨대, 102-1 등)은 사용자의 뷰포트(예컨대, 108-1 등), 사용자의 중심시, 사용자의 뷰포트 또는 중심시와 중첩하는 관심 높은 장면들(예컨대, 108-1 등) 등에 기초하여 생성 또는 식별될 수 있다. 비디오 이미지(100)에서의 제1 구역 단면(들)(예컨대, 102-1 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등은 사용자의 뷰포트(예컨대, 108-1 등), 사용자의 중심시, 사용자의 뷰포트(예컨대, 108-1 등) 또는 중심시와 중첩하는 관심 높은 장면들 등의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등에 기초하여 (예컨대, 실제 이미지 콘텐츠의 프리-프로세싱을 통해, 런타임으로, 동적으로 등으로) 결정 또는 선택될 수 있다.
그러나, 제1 구역 단면(들)(예컨대, 102-1 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등은 사용자의 뷰포트(예컨대, 108-1 등), 사용자의 중심시, 사용자의 뷰포트(예컨대, 108-1 등) 또는 중심시와 중첩하는 관심 높은 장면들(예컨대, 110-1 등) 등의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등으로 정확히 기술되거나 또는 그러한 것들과 동일한 것이 될 필요는 없다는 것에 주의해야 한다.
일부 실시예들에서, 사용자의 뷰포트가 완전한 관심 높은 장면을 공간적으로 포함/커버한다고 결정되면, 제1 구역 단면(들)(예컨대, 102-1 등)은 뷰포트(예컨대, 108-1 등)의 공간적 형상에 근접하고 그러한 공간적 형상을 포괄하는 공간적 형상의 구역 단면으로 구성되도록 생성 또는 식별될 수 있다. 그러나, 관심 높은 장면이 사용자의 완전한 뷰포트를 공간적으로 포함/커버한다고 결정되면, 제1 구역 단면(들)(예컨대, 102-1 등)은 관심 높은 장면에 근접하고 그러한 관심 높은 장면을 포괄하는 공간적 형상으로 구성되도록 생성 또는 식별될 수 있다. 게다가, 관심 높은 장면이 사용자의 완전한 뷰포트와 공간적으로 완전하지 않지만 부분적으로 중첩한다고 결정되면, 제1 구역 단면(들)(예컨대, 102-1 등)은 관심 높은 장면 및 사용자의 완전한 뷰포트의 (공간적) 연합체(union)에 근접하고 그러한 연합체를 포괄하는 공간적 형상의 구역 단면으로 구성되도록 생성 또는 식별될 수 있다.
비디오 이미지(100)의 제1 구역 단면(들)의 일부 또는 전부와 같은 사용자의 뷰포트 또는 사용자의 중심시에서의 이미지 부분들은 높은 시공간 해상도들에서 단일 비디오 서브-스트림으로 인코딩되고 하류의 수신자 디바이스들에 제공될 수 있다. 그 결과, 사용자가 관심 높은 장면 내에서 시야각들을 이동시킬 때, 제1 구역 단면(들)(예컨대, 102-1 등)에서의 이미지 부분(들)로 인코딩된 단일 비디오 서브-스트림은 관심 높은 장면의 끊김 없는 관람 경험을 제공하는데 충분하다.
일부 실시예들에서, 제2 구역 단면들(예컨대, 102-2, 102-3 등)은 사용자의 뷰포트에 없는 비디오 이미지(100)에서의 장면들(예컨대, 110-2, 110-3 등)에 기초하여 생성 또는 식별될 수 있다. 비디오 이미지(100)에서의 제2 구역 단면들(예컨대, 102-2, 102-3 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등은 사용자의 뷰포트에 없는 비디오 이미지(100)에서의 장면들(예컨대, 110-2, 110-3 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등에 기초하여 (예컨대, 실제 이미지 콘텐츠의 프리-프로세싱을 통해, 런타임으로, 동적으로 등으로) 결정 또는 선택될 수 있다.
그러나, 제2 구역 단면들(예컨대, 102-2, 102-3 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등은 사용자의 뷰포트에 없는 비디오 이미지(100)에서의 장면들(예컨대, 110-2, 110-3 등)의 형상들, 사이즈들, 애스펙트 비들, 공간적 로케이션들 등으로 정확히 기술되거나 또는 그러한 것들과 동일한 것으로 될 필요는 없다는 것에 주의해야 한다.
4. 비디오 이미지들로부터의 장면들 검출
비디오 이미지(100)에서의 관심 높은 장면들(예컨대, 110-2 등), 관심 낮은 장면들(예컨대, 110-2, 110-3 등) 등과 같은 다양한 사용자 관심 레벨들의 장면들은 비디오 이미지(들)에서의 구역 단면들의 이미지 부분들을 인코딩하기 전 및/또는 그러한 인코딩 동안 비디오 이미지(들)(예컨대, 100 등)에 대해 결정될 수 있다.
일부 실시예들에서, 비디오 이미지(들)(예컨대, 100 등)에서의 다양한 사용자 관심 레벨들의 장면들은 디렉터, 컬러리스트, 비디오 엔지니어, 콘텐츠 제작 아티스트 등과 같은 비디오 전문가로부터의 사용자 입력에 적어도 부분적으로 기초하여 생성 또는 식별될 수 있다. 비디오 전문가는 비디오 이미지(들)에서의 장면들을 식별/인식하고, 그 장면들을 관심 높은 장면들(예컨대, 110-2 등), 관심 낮은 장면들(예컨대, 110-1, 110-3 등) 등으로 분류할 수 있다. 예를 들어, 비디오 전문가는 비디오 이미지(들)(예컨대, 100 등)에서 묘사되는 특정 사람에 초점을 맞추는 관심 높은 장면(예컨대, 110-2 등)을 특정하는 사용자 입력을 제공할 수 있다. 비디오 전문가는 비디오 이미지(들)(예컨대, 100 등)에서 묘사되는 스테이지, 풋볼 등과 같은 특정 오브젝트에 초점을 맞추는 관심 높은 장면(예컨대, 110-2 등)을 특정하는 사용자 입력을 또한 제공할 수 있다. 비디오 전문가는 비디오 이미지(들)(예컨대, 100 등)를 미리보기하는 동안 또는 콘서트, 게임, 스피치 등에서 라이브로 생성되는 비디오 이미지(들)(예컨대, 100 등)를 모니터링하는 동안 사용자 입력을 제공할 수 있다.
일부 실시예들에서, 비디오 이미지(들)(예컨대, 100 등)에서의 다양한 사용자 관심 레벨들의 장면들은 비디오 이미지(들)(예컨대, 100 등) 상의 이미지 콘텐츠 분석들에 적어도 부분적으로 기초하여 생성 또는 식별될 수 있다. 일부 실시예들에서, 등장방형 이미지 표현의 360 도 곱하기 180 도 각도에 걸쳐 분포되는 바와 같은 비디오 이미지(예컨대, 100 등) 전체 영역의 일부 또는 전부는 비디오 이미지(100)에서, 관심 높은 장면들(예컨대, 110-2 등), 관심 낮은 장면들(예컨대, 110-1, 110-3 등) 등을 결정 또는 식별하기 위해 분석, 평가 등이 될 수 있다. 본 명세서에서 설명되는 바와 같은 이미지 콘텐츠 분석들은, 분석 규칙들, 이미지 분석 도구들, 하르(Haar) 필터들, 웨이브릿 분해, 푸리에 공간 기반 공간 해상도 추적과 같은 하나 이상의 컴퓨터 비전 기법들의 임의의 조합 등 중 하나 이상을 사용하여 수행될 수 있다.
예를 들어, 이벤트의 스테이지, 풋볼 게임의 풋볼, 영화의 주인공, 현저한 시각적 특징 등과 같은 비디오 이미지(들)(예컨대, 100 등)에서의 시각적 오브젝트들, 시각적 엘리먼트들 등은, 분석 규칙들, 이미지 분석 도구들, 하르 필터들, 웨이브릿 분해, 푸리에 공간 기반 공간 해상도 추적 등과 같은 하나 이상의 컴퓨터 비전 기법들의 임의의 조합 중 하나 이상에 기초하여 다양한 사용자 관심 레벨들로 식별/인식되고 그러한 다양한 사용자 관심 레벨들에 연관될 수 있다. 추가적으로, 옵션적으로, 또는 대안적으로, 비디오 이미지(들)(예컨대, 100 등)에서의 시각적 오브젝트들, 시각적 엘리먼트들 등은 동일한 이미지에 존재하는 다른 시각적 오브젝트들, 시각적 엘리먼트들 등에 기초하여 의미론적으로 발견될 수 있다. 예를 들어, 플레이어들은 풋볼이 동일한 이미지에서 발견된 후 의미론적으로 발견될 수 있다.
비디오 이미지(들)(예컨대, 100 등)에서 결정된 바와 같은 시각적 오브젝트들, 시각적 엘리먼트들 등은 비디오 이미지(들)(예컨대, 100 등)에서의 장면들을 생성 또는 식별하는데 사용될 수 있다. 이벤트의 비디오 이미지들의 스테이지, 풋볼 게임의 비디오 이미지들에서의 풋볼 등을 포함하는 장면이, 최고 사용자 관심 레벨로 평가되고 따라서 관심 높은 장면(예컨대, 110-2 등)으로서 결정될 수 있다. 스테이지 또는 풋볼을 포함하지 않는 장면이 상대적으로 낮은 사용자 관심 레벨로 평가되고 따라서 관심 낮은 장면(예컨대, 110-1, 110-3 등)으로서 결정될 수 있다.
일부 실시예들에서, 비디오 이미지(들)(예컨대, 100 등)에서의 다양한 사용자 관심 레벨들의 장면들은 사용자 집단의 사용자들이 하나 이상의 비디오 이미지들을 관람하고 있는 동안 수집된 사용자 관람 행동 데이터에 적어도 부분적으로 기초하여 생성 또는 식별될 수 있다. 예를 들어, 히트 맵이 입력 비디오 이미지들의 어떤 특정 관람 각도들, 영역 부분들 등이 각각 극히 높은 사용자 관심 레벨들, 적당히 높은 사용자 관심 레벨들, 낮은 사용자 관심 레벨들, 극히 낮은 사용자 관심 레벨들 등인지를 표시하는 사용자 관람 행동 데이터에 기초하여 생성될 수 있다. 히트 맵은 비디오 이미지(들)에서의 장면들을 식별/결정하고 그 장면들의 각각의 사용자 관심 레벨들을 평가/결정하는데 사용될 수 있다.
일부 실시예들에서, 히트 맵은 사용자 피드백 루프에 기초하여 (예컨대, 동적으로, 특정한 시점까지 등으로) 업데이트될 수 있다. 처음에, 다양한 사용자 관심 레벨들의 장면들이 히트 맵에 기초하여 결정되지 않을 수 있다. 따라서, 히트 맵의 초기 버전들에 기초하여 스트리밍되는 비디오 데이터를 통해 비디오 이미지(들)를 관람하는 사용자들은, 예를 들어, 히트 맵이 다양한 사용자 관심 레벨들의 장면들을 식별하기 위해 배타적으로 사용되는 운영 시나리오들에서 시각적 아티팩트들, 생리적 불쾌감 등에 노출될 수 있다. 사용자 관람 행동 데이터는 사용자 집단의 사용자들이 비디오 이미지(들)를 관람하고 있는 동안 사용자의 디바이스들에 의해 수집될 수 있다. 부가적으로, 옵션적으로, 대안적으로, 머신 러닝은 수집된 사용자 관람 행동 데이터를 분석하도록 구현될 수 있다. 사용자 관람 행동 데이터는 비디오 이미지(들)의 상이한 영역 부분들에 관하여, 사용자의 관람 각도들의 공간적 분포(또는 통계적 분포), 임의의 주어진 관람 각도들에서의 사용자의 관람 지속 시간들 등을 제공할 수 있다. 사용자의 관람 각도들의 공간적 분포, 임의의 주어진 관람 각도들에서의 사용자의 관람 지속 시간들 등은, 비디오 이미지(들)에서의 다양한 관심 레벨들의 장면들을 식별하는데 사용될 수 있다. 점점 더 많은 사용자 관람 행동 데이터가 수집되고 히트 맵에 통합됨에 따라, 다양한 관심 레벨들의 장면들은 상대적으로 정확하게 검출될 수 있다.
일부 실시예들에서, 비디오 이미지(100)에서의 다양한 사용자 관심 레벨의 장면들, 다양한 사용자 관심 레벨의 장면들로부터 생성된 구역 단면들, 장면들 및/또는 구역 단면들에 관련된 기하학적 정보 등 중 일부 또는 전부를 (예컨대, 좌표들, 로케이션들, 경계들 등의 측면에서) 특정하는 비디오 메타데이터는, 추가의 프로세싱을 위해 비디오 스트리밍 서버 또는 그 속의 모듈 등과 같은 하류의 모듈/디바이스에 비디오 이미지(100)와 함께 제공될 수 있다. 일부 실시예들에서, 비디오 메타데이터는, 새로운 사용자 입력, 새로운 사용자 관람 데이터, 이미지 콘텐츠 분석의 새로운 반복들 등 중 하나 이상으로, 가끔, 지속적으로, 주기적으로, 프로그램적으로, 수동 입력 없이 등으로 업데이트될 수 있다.
5. 예시적인 장면들, 구역 단면들 및 비디오 서브-스트림들
도 2a는 VR 애플리케이션, AR 애플리케이션, 원격 존재 애플리케이션, 디스플레이 애플리케이션 등과 같은 비디오 관련 애플리케이션에서의 논리적으로 표현된 공간적 로케이션(202)에서 사용자에 의해 관람되고 있는 비디오 이미지(들)의 예시적인 구역 단면들을 도시한다. 논리적으로 표현된 공간적 로케이션(202)에서의 사용자는 비디오 이미지(들)에 의해 형성된 글로브(또는 구)에 논리적으로 존재하는 것으로서 간주될 수 있다. 사용자의 논리적으로 표현된 공간적 로케이션(202)은 글로브의 중앙 로케이션에만 있을 수 있지만 그것으로 제한되지는 않는다. 임의의 주어진 시간에, 사용자는, 예를 들어, 비디오 스트리밍 클라이언트의 일부인, 또는 비디오 스트리밍 클라이언트와 연계하여 동작하고 있는 HMD, 모바일 디바이스, 디스플레이 디바이스 등에 의해 제공되는 바와 같은 뷰포트(108-2)를 통해 비디오 이미지(들)에서의 각각의 비디오 이미지의 이미지 부분을 볼 수 있다.
비디오 스트리밍 서버가, 사용자 입력, 이미지 콘텐츠 분석들, 사용자 피드백 루프들, 머신 러닝 등의 임의의 조합을 통해, 비디오 이미지(들)가 제1 관심 높은 장면(110-4), 제2 관심 높은 장면(110-5), 제1 관심 낮은 장면(110-6), 및 제2 관심 낮은 장면(110-7)을 포함한다고 결정할 수 있다. 일부 실시예들에서, 비디오 이미지(들)로부터 검출된 모든 장면들(예컨대, 110-4, 110-5, 110-6, 110-7 등)은 비디오 이미지(들)의 이미지 표현(예컨대, 직사각형 이미지 프레임, 3D 공간에서의 글로브 또는 구 등)에서의 전체 영역을 커버한다. 구역 단면들(102-4, 102-5, 102-6 및 102-7)은 비디오 이미지(들)로부터 검출된 장면들에 적어도 부분적으로 기초하여 비디오 이미지(들)로부터 생성 또는 식별될 수 있다. 일부 실시예들에서, 도 2a에 예시된 바와 같이, 비디오 이미지(들)로부터 생성 또는 식별된 구역 단면들(102-4, 102-5, 102-6 및 102-7)의 각각은, 비디오 이미지(들)로부터 검출된 장면들(예컨대, 110-4, 110-5, 110-6, 110-7 등) 중의 각각의 장면에 (예컨대, 일 대 일 등) 대응한다.
일부 실시예들에서, 제1 관심 높은 장면(110-4)은 사용자의 뷰포트(108-2)보다 더 작은 사이즈로 될 수 있고, 사용자의 뷰포트(108-2)에 의해 완전히 포함될 수 있다. 일부 실시예들에서, 심지어 사용자의 뷰포트(108-2)가 제2 관심 있는 장면(110-5)을 향한 시야각으로 시프트되었더라도, 제2 관심 높은 장면(110-5)은 사용자의 뷰포트(108-2)보다 더 큰 사이즈로 될 수 있고 사용자의 뷰포트(108-2)에 의해 완전히 포함되지 않을 수 있다.
사용자 추적 데이터(예컨대, 비디오 스트리밍 클라이언트로부터 도 3a 도 3b 또는 도 3c 등의 양방향성 데이터 흐름(314)을 통해 수신된 바와 같음)에 기초하여, 비디오 이미지(들)에 관하여 시간이 경과함에 따른 사용자의 시야들(예컨대, 108-2, 도 1의 108-1 등)의 관람 각도들, 사이즈들, 애스펙트 비들 등은 비디오 스트리밍 서버에 의해 수신되거나, 결정되거나, 또는 그렇지 않으면 컴퓨팅될 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2)에서의 제1 관심 높은 장면(110-4)에 대응하는 구역 단면(102-4)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은, 사용자에게 비디오 콘텐츠를 렌더링할 목적으로 비디오 스트리밍 서버로부터 비디오 스트리밍 클라이언트로의 전체 비디오 스트림에서의 모든 비디오 서브-스트림들 중에서 제1 시공간 해상도들, 예를 들어, 최고 시공간 해상도들에서의 제1 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2) 내에 없는 제2 관심 높은 장면(110-5)에 대응하는 구역 단면(102-5)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은 제2 시공간 해상도들에서의 제2 비디오 서브-스트림으로서 인코딩될 수 있다. 제2 시공간 해상도들은 비교적 낮은 시공간 해상도들(예컨대, ¼, ½ 등)에서부터 최고 시공간 해상도들까지의 범위일 수 있다. 추가적으로, 옵션적으로, 또는 대안적으로, 추가의 압축들, 비교적 공격적 압축들, 비교적 큰 에러들을 갖는 예측들 등이, 예를 들어, 제2 비디오 서브-스트림에 할당된 비트레이트 예산에 부합하도록 제1 비디오 서브-스트림에 대해 수행된 것들에 비례하여 제2 비디오 서브-스트림을 압축하기 위해 수행될 수 있다.
비디오 이미지(들)에서의 이들 관심 높은 장면들(110-4 및 110-5)의 각각이 단일 스트림으로서 인코딩됨에 따라, 사용자가 관심 높은 장면 내에서 뷰포트를 이동시킬 때, 사용자의 뷰포트 또는 사용자의 중심시에 대한 추가적인 고해상도 주변 비디오 데이터는 비디오 스트리밍 서버에서부터 비디오 스트리밍 클라이언트로 이미 연속적으로 송신됨으로써, 해상도들의 갑작스런 감소들(또는 불연속성들)과 저해상도들에서부터 고해상도들로의 느린 전환에 의해 생성될 수 있는 시각적 아티팩트들, 생리적 불쾌감 등을 방지하였다.
일부 실시예들에서, 제1 및 제2 관심 낮은 장면들(110-6 및 110-7)에 대응하는 구역 단면들(102-6 및 102-7)에서의 (또는 그러한 구역 단면들에 대한) 이미지 부분들은 제3 시공간 해상도들에서의 제3 비디오 서브-스트림으로서 인코딩될 수 있다. 제3 시공간 해상도들은 제2 시공간 해상도들보다 더 낮을 수 있다. 일부 실시예들에서, I-프레임들 등과 같은 앵커 프레임들만이, 제1 및 제2 비디오 서브-스트림들의 그것들보다 더 낮은 이미지 리프레시 레이트의 제3 비디오 서브-스트림으로 전송되며; B-프레임들, P-프레임들 등과 같은 다른 비앵커 프레임들은, 제3 비디오 서브-스트림을 포함하는 전체 비디오 스트림으로 전송되지 않을 수 있다. 사용자의 뷰포트가 제1 및 제2 관심 낮은 장면들(110-6 및 110-7) 안으로 이동할 때, 앵커 프레임들(예컨대, I-프레임들 등) 및 비앵커 프레임들(예컨대, B-프레임들, P-프레임들 등) 양쪽 모두는 비디오 스트리밍 클라이언트에 제3 비디오 서브-스트림으로 전송될 수 있으며, 제3 비디오 서브-스트림은 사용자의 뷰포트가 제1 및 제2 관심 낮은 장면들(110-6 및 110-7)로부터 멀어질 때보다 더 높은 비트레이트로 적응될 수 있다. 마지막 앵커 프레임 후의 동일한 화상 그룹(group of pictures)(GOP)에서의 임의의 누락 프레임들에 대해, I-프레임을 반복하는 것, 다음의 GOP까지 뷰포트 변경을 지연시키는 것 등과 같은 오류 은닉 동작들이 수행될 수 있다.
추가적으로, 옵션적으로, 또는 대안적으로, 훨씬 더 많은 압축들, 훨씬 공격적인 압축들, 상대적으로 큰 에러들을 갖는 예측들 등은, 예를 들어, 제3 비디오 서브-스트림에 할당된 비트레이트 예산에 부합하도록, 제1 및 제2 비디오 서브-스트림들에 대해 수행된 것들에 비례하여 제3 비디오 서브-스트림을 압축하기 위해 수행될 수 있다.
도 2b는 VR 애플리케이션, AR 애플리케이션, 원격 존재 애플리케이션, 디스플레이 애플리케이션 등과 같은 비디오 관련 애플리케이션에서의 논리적으로 표현된 공간적 로케이션(202)에서 사용자에 의해 관람되고 있는 비디오 이미지(들) 추가적인 예시적 구역 단면들을 도시한다.
구역 단면들(102-4, 102-7, 102-8, 102-9, 102-10 및 102-11)은 비디오 이미지(들)로부터 검출된 장면들에 적어도 부분적으로 기초하여 비디오 이미지(들)로부터 생성 또는 식별될 수 있다. 일부 실시예들에서, 도 2b에 예시된 바와 같이, 비디오 이미지(들)로부터 생성 또는 식별된 구역 단면들(102-4, 102-5 및 102-6)의 각각은 비디오 이미지(들)로부터 검출된 장면들(예컨대, 110-4, 110-5, 110-6, 110-7 등) 중의 장면과의 일 대 일 대응을 반드시 갖지는 (예컨대, 일 대 일 등을 하지) 않는다.
예를 들어, 도 2a와 비교하면, 도 2b에서, 제1 관심 낮은 장면(110-6)은 뷰포트(108-2) 내의 제1 장면 부분과 뷰포트(108-2) 밖의 제2 장면 부분을 포함한다. 일부 실시예들에서, 제1 관심 낮은 장면(110-6)은 두 개의 구역 단면들(102-8 및 102-9)을 생성하는데 사용될 수 있으며, 그 구역 단면들 중 하나는 뷰포트(108-2)와 중첩하고 그 구역 단면들 중 다른 하나는 뷰포트(108-2)와 중첩하지 않는다. 이들 구역 단면들(102-8 및 102-9)은 제1 관심 낮은 장면(110-6)에서의 제1 및 제2 장면 부분들과 공간적으로 동일한 공간을 차지할 수 있거나 또는 그렇지 않을 수 있다.
마찬가지로, 도 2a와 비교하면, 도 2b에서, 제2 관심 낮은 장면(110-7)은 뷰포트(108-2) 내의 제3 장면 부분과 뷰포트(108-2) 밖의 제4 장면 부분을 포함한다. 일부 실시예들에서, 제2 관심 낮은 장면(110-7)은 두 개의 구역 단면들(102-10 및 102-11)을 생성하는데 사용될 수 있으며, 그 구역 단면들 중 하나는 뷰포트(108-2)와 중첩하고 그 구역 단면들 중 다른 하나는 뷰포트(108-2)와 중첩하지 않는다. 이들 구역 단면들(102-10 및 102-11)은 제2 관심 낮은 장면(110-7)에서의 제3 및 제4 장면 부분들과 공간적으로 동일한 공간을 차지할 수 있거나 또는 그렇지 않을 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2) 내의 제1 관심 높은 장면(110-4)에 대응하는 구역 단면(102-4)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은 도 2a에서와 같이 제1 시공간 해상도들에서의 제1 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2) 내에 없는 제2 관심 높은 장면(110-5)에 대응하는 구역 단면(102-5)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은 도 2a에서와 같이 제2 시공간 해상도들에서의 제2 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 제1 및 제2 관심 낮은 장면들(110-6 및 110-7)의 뷰포트 내 장면 부분들에 대응하는 구역 단면들(102-9 및 102-10)에서의 (또는 그러한 구역 단면들에 대한) 이미지 부분들은 제4 시공간 해상도들에서의 제4 비디오 서브-스트림으로서 인코딩될 수 있다. 제4 시공간 해상도들은 제2 시공간 해상도들보다 더 낮을 수 있다. 일부 실시예들에서, I-프레임들만이 제1 및 제2 비디오 서브-스트림들의 그것들보다 더 낮은 이미지 리프레시 레이트의 제4 비디오 서브-스트림으로 전송된다. 추가적으로, 옵션적으로, 또는 대안적으로, 훨씬 더 많은 압축들, 훨씬 공격적인 압축들, 상대적으로 큰 에러들을 갖는 예측들 등은, 예를 들어, 제4 비디오 서브-스트림에 할당된 비트레이트 예산에 부합하도록, 제1 및 제2 비디오 서브-스트림들에 대해 수행된 것들에 비례하여 제4 비디오 서브-스트림을 압축하기 위해 수행될 수 있다.
일부 실시예들에서, 제1 및 제2 관심 낮은 장면들(110-6 및 110-7)의 뷰포트 외 장면 부분들에 대응하는 구역 단면들(102-8 및 102-11)에서의 (또는 그러한 구역 단면들에 대한) 이미지 부분들은 제5 시공간 해상도들에서의 제5 비디오 서브-스트림으로서 인코딩될 수 있다. 제5 시공간 해상도들은 제4 시공간 해상도들보다 더 낮을 수 있다. 일부 실시예들에서, I-프레임들만이 제1, 제2 및 제4 비디오 서브-스트림들의 그것들보다 더 낮은 이미지 리프레시 레이트의 제4 비디오 서브-스트림으로 전송된다. 추가적으로, 옵션적으로, 또는 대안적으로, 가장 강한 압축들, 훨씬 공격적 압축들, 최대 임계 미만 에러들을 갖는 예측들 등은, 예를 들어, 제5 비디오 서브-스트림에 할당된 비트레이트 예산에 부합하도록, 제1, 제2 및 제4 비디오 서브-스트림들에 대해 수행된 것들에 비례하여 제5 비디오 서브-스트림을 압축하도록 수행될 수 있다.
도 2c는 VR 애플리케이션, AR 애플리케이션, 원격 존재 애플리케이션, 디스플레이 애플리케이션 등과 같은 비디오 관련 애플리케이션에서의 논리적으로 표현된 공간적 로케이션(202)에서 사용자에 의해 관람되고 있는 비디오 이미지(들) 추가의 예시적인 구역 단면들을 도시한다.
구역 단면들(102-5, 102-6, 102-7, 102-12 및 102-13)은 비디오 이미지(들)로부터 검출된 장면들에 적어도 부분적으로 기초하여 비디오 이미지(들)로부터 생성 또는 식별될 수 있다. 일부 실시예들에서, 도 2b에 예시된 바와 같이, 비디오 이미지(들)로부터 생성 또는 식별된 구역 단면들(102-4, 102-5 및 102-6)의 각각은 비디오 이미지(들)로부터 검출된 장면들(예컨대, 110-4, 110-5, 110-6, 110-7 등) 중의 장면과의 일 대 일 대응을 반드시 갖지는 (예컨대, 일 대 일 등을 하지) 않는다.
예를 들어, 도 2a와 비교하면, 도 2c에서, 제1 관심 높은 장면(110-4)은 뷰포트(108-2)에서의 사용자의 중심시(도시되지 않음) 내의 제1 장면 부분과 뷰포트(108-2)에서의 사용자의 중심시 밖의 제2 장면 부분을 포함한다. 일부 실시예들에서, 제1 관심 높은 장면(110-4)은 두 개의 구역 단면들(102-12 및 102-13)을 생성하는데 사용될 수 있으며, 구역 단면들 중 하나는 뷰포트(108-2)에서의 사용자의 중심시와 중첩하고 구역 단면들 중 다른 하나는 뷰포트(108-2)에서의 사용자의 중심시와 중첩하지 않는다. 구역 단면(102-12)은 뷰포트(108-2)에서의 사용자의 중심시와 공간적으로 동일한 공간을 차지할 수 있거나 또는 그렇지 않을 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2)에서의 사용자의 중심시 밖의 제1 관심 높은 장면(110-4)에 대응하는 구역 단면(102-13)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은 도 2a에서와 같이 제1 시공간 해상도들에서의 제1 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 사용자의 뷰포트(108-2) 내에 없는 제2 관심 높은 장면(110-5)에 대응하는 구역 단면(102-5)에서의 (또는 그러한 구역 단면에 대한) 이미지 부분은 도 2a에서와 같이 제2 시공간 해상도들에서의 제2 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 제1 및 제2 관심 낮은 장면들(110-6 및 110-7)에 대응하는 구역 단면들(102-6 및 102-7)에서의 (또는 그러한 구역 단면들에 대한) 이미지 부분들은 도 2a에서와 같이 제3 시공간 해상도들에서의 제3 비디오 서브-스트림으로서 인코딩될 수 있다.
일부 실시예들에서, 뷰포트(108-2)에서의 사용자의 중심시를 포함하는 구역 단면(102-12)에서의 (도는 그러한 구역 단면에 대한) 이미지 부분들은 제6 시공간 해상도들에서의 제6 비디오 서브-스트림으로서 인코딩될 수 있다. 제6 시공간 해상도들은 제1 시공간 해상도들보다 더 높을 수 있다. 일부 실시예들에서, 제6 비디오 서브-스트림에서의 비디오 프레임들은 제1 비디오 서브-스트림의 그것보다 더 높은 이미지 리프레시 레이트(예컨대, 초 당 120 프레임 이상, 초 당 60 프레임 이상 등)로 전송된다. 추가적으로, 옵션적으로, 또는 대안적으로, 없거나 또는 거의 없는 압축들, 훨씬 적은 공격적 압축들, 비교적 작은 에러들을 갖는 예측들 등은, 예를 들어, 다른 비디오 서브-스트림들로 생성된 것들과 비교하여 최고 품질의 상을 생성하기 위해, 제1 비디오 서브-스트림에 대해 수행된 것들에 비례하여 제6 비디오 서브-스트림을 압축하도록 수행될 수 있다.
일부 실시예들에서, 사용자의 뷰포트가 관심 높은 장면이 식별되지 않는 구 이미지(들)의 정적 부분에 있을 때, 단일 비디오 서브-스트림이 뷰포트의 사이즈 이상인 구역 단면 중에서 생성될 수 있으며; 구역 단면의 이미지 부분은 단일 비디오 서브-스트림에서 송신된다.
일부 실시예들에서, 뷰포트의 사이즈 미만인 구역 단면들이 생성될 수 있다. 이는 뷰포트에서의 또는 장면에서의 대부분의 이미지 부분이 정적인 운영 시나리오들에서 유용할 수 있다. 없거나 또는 거의 없는 변화들을 겪고 있는 정적 이미지 부분을 인코딩하는 것은 효율적이지 않을 수 있다. 본 명세서에서 설명되는 바와 같은 기법들 하에서, 구역 단면이 뷰포트 또는 장면보다 더 작을 수 있는 동적 이미지 부분에 지정될 수 있다. 구역 단면에서의 동적 이미지 부분은 비교적 높은 시공간 해상도들(예컨대, 상대적으로 높은 공간 해상도들, 비교적 높은 시간 해상도들, 비교적 높은 공간 주파수 콘텐츠를 포함하는 비교적 높은 리프레시 레이트 등)에서 비디오 서브-스트림 내에 인코딩될 수 있다. 추가적으로, 옵션적으로, 또는 대안적으로, 비디오 서브-스트림에 존재하지 않는 대부분의 이미지 콘텐츠는 비디오 버퍼들로부터 리프레시되거나 또는 별도의 비디오 서브-스트림으로서 때때로 전송된다.
도 2d는 비디오 이미지(들)의 이미지 부분에 대한 예시적인 뷰포트(예컨대, 108-2)(예컨대, 이는 도 2a 내지 도 2c의 논리적인 공간적 로케이션(202)에서의 사용자의 시야 등일 수 있음)를 도시한다. 예시된 바와 같이, 뷰포트(108-2)는 관심 높은 장면(예컨대, 110-4 등)을 완전히 포함할 수 있다. 뷰포트(108-2)는 관심 높은 장면(110-4) 밖의 하나 이상의 관심 낮은 장면들과 중첩할 수 있다. 일부 실시예들에서, 뷰포트(108-2) 내의 관심 높은 장면(110-4)에서의 이미지 부분은 비교적 높은 시공간 해상도들을 갖는 비디오 서브-스트림으로 인코딩될 수 있는 반면, 뷰포트(108-2)와 중첩하는 관심 낮은 장면들에서의 이미지 부분은 상대적으로 낮은 시공간 해상도들을 갖는 하나 이상의 비디오 서브-스트림들로 인코딩될 수 있다. 비제한적인 예시적 실시예들에서, 뷰포트(108-2)와 중첩하는 관심 낮은 장면들에서의 이미지 부분은 스테이지 상의 일부 수행자들의 청중을 캡처하는 동적 부분과, 없거나 또는 느린 변화의 배경 시나리오를 캡처하는 정적 부분을 포함할 수 있다. 일부 실시예들에서, 뷰포트(108-2)와 중첩하는 (또는 심지어 비-중첩하는) 관심 낮은 장면들에서의 동적 부분 및 정적 부분은 차분적(differential) 시공간 해상도들을 갖는 별개의 비디오 서브-스트림들로 인코딩될 수 있다. 예를 들어, 더 높은 차분적 시공간 해상도들은 동적 부분의 이미지 부분을 인코딩하는 것에 배정될 수 있는 반면, 더 낮은 차분적 시공간 해상도들은 정적 부분의 이미지 부분을 인코딩하는 것에 배정될 수 있다. 추가적으로, 옵션적으로, 또는 대안적으로, 더 높은 리프레시 레이트가 동적 부분의 이미지 부분을 인코딩하는 것에 배정될 수 있는 반면, 더 낮은 리프레시 레이트가 정적 부분의 이미지 부분을 인코딩하는 것에 배정될 수 있다.
도 2e는 VR 애플리케이션, AR 애플리케이션, 원격 존재 애플리케이션, 디스플레이 애플리케이션 등과 같은 비디오 관련 애플리케이션에서 사용자에 의해 뷰포트(예컨대, 도 1의 108-1, 도 2a 내지 도 2d의 102-2 등)에서 보여지고 있는 비디오 이미지(들)에서의 예시적인 장면(110-8)을 도시한다.
장면(110-8)은 사용자의 중심시를 포함하는 장면 부분(204)과 사용자의 중심시와 중첩하지 않는 나머지 장면 부분(206)을 포함할 수 있다. 일부 실시예들에서, 전체 장면(110-8)은 이미지 부분들이 상이한 시공간 해상도들에서의 다수의 비디오 서브-스트림들로 인코딩되는 둘 이상의 구역 단면들에 포함될 수 있다. 예를 들어, 장면 부분(204)(이는 사용자의 중심시 이상일 수 있음)은, 이미지 부분이 높은 시공간 해상도들에서의 비디오 서브-스트림으로 인코딩되는 구역 단면에 포함될 수 있는 반면, 장면 부분(206)(이는 사용자의 중심시 밖에 있음)은 이미지 부분이 더 낮은 시공간 해상도들에서의 상이한 비디오 서브-스트림으로 인코딩되는 상이한 구역 단면에 포함될 수 있다.
일부 실시예들에서, 전체 장면(110-8)은 이미지 부분이 동일한 시공간 해상도들에서의 비디오 서브-스트림으로 인코딩되는 구역 단면에 포함될 수 있다.
추가적으로, 옵션적으로, 또는 대안적으로, 가변 공간 해상도들을 갖는 (예컨대, 낮은 강도 등의) 블러링 필터가, 사용자의 중심시 밖에 위치되는 전체 장면(110-8)의 이미지 부분의 일부들로부터 높은 공간 주파수 콘텐츠를 데시메이션하기 위해 전체 장면(110-8)의 이미지 부분에 적용될 수 있다. 블러링 필터는 사용자의 중심시를 포함하는 장면 부분(204)에서 없거나 또는 거의 없는 블러링을 수행할 수 있다. 블러링 필터는 장면 부분(206)에서 더 강한 블러링을 수행할 수 있으며; 예를 들어, 장면 부분(206)의 임의의 주어진 공간적 로케이션에서 장면 부분(206)의 블러링의 강도는, 공간적 로케이션과 사용자의 중심시의 중심 사이의 공간적 거리에 적어도 부분적으로 기초할 수 있다.
장면(110-8)에 블러링 필터링을 적용한 결과로서, 운반될 비디오 데이터의 양은 사용자의 중심시 내의 시각적 선명도를 유지 또는 보장하면서도 비디오 서브-스트림(들)에서 현저히 감소될 수 있다.
6. 예시적인 비디오 스트리밍 서버들 및 클라이언트들
도 3a는 이미지 프로세서(302), 다-해상도 이미지 생성기(312) 등을 포함하는 예시적인 비디오 스트리밍 서버(300)를 도시한다. 일부 실시예들에서, 이미지 프로세서(302)는 이미지 수신기(306), 구역 단면 분류기(308), 데이터 리포지터리(310) 등을 포함한다. 비디오 스트리밍 서버(300)의 컴포넌트들의 일부 또는 전부는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등으로 하나 이상의 디바이스들, 모듈들, 유닛들 등에 의해 구현될 수 있다.
일부 실시예들에서, 이미지 수신기(306)는, 클라우드 기반 이미지 소스, VR 애플리케이션, AR 애플리케이션, 원격 존재 애플리케이션, 디스플레이 애플리케이션에 관련한 카메라 시스템 등과 같은 이미지 소스로부터 입력 이미지 스트림(304)를 수신하며; 입력 이미지 스트림(304)을 하나 이상의 입력 비디오 이미지들(예컨대, 입력 비디오 이미지들의 시퀀스 등)으로 디코딩하는 등을 하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
일부 실시예들에서, 구역 단면 분류기(308)는 입력 비디오 이미지들에서의 (예컨대, 모든, 실질적으로 모든, 캡션 텍스트 박스들을 제외한 모든 등의) 구역 단면들을 상이한 유형들로 분류하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다. 입력 비디오 이미지들의 상이한 유형들의 구역 단면들로의 분류는 단지, 이미지 기반, GOP(Group-of-Picture) 기반, 장면 기반, 다중 장면 기반으로 제한될 수 있지만, 그것으로 제한되지는 않는다.
일부 실시예들에서, 상이한 유형들의 구역 단면들은 입력 이미지 스트림(304)으로 수신되고 입력 이미지 스트림으로부터 디코딩된 이미지 메타데이터에서의 비디오 메타데이터에 기초하여 분류될 수 있다.
추가적으로, 옵션적으로, 또는 대안적으로, 일부 실시예들에서, 상이한 유형들의 구역 단면들은 구역 단면 분류기(308)에 의해 생성된 비디오 메타데이터에 기초하여 분류될 수 있다.
비디오 메타데이터에 기초하여, 구역 단면 분류기(308)는 입력 이미지 스트림(304)에서의 일부 또는 전체 구역 단면들이 어떤 특정 유형(들)의 것으로 분류되어야 하는지를 결정할 수 있다
일부 실시예들에서, 본 명세서에서 설명되는 바와 같은 비디오 메타데이터는 디렉터, 컬러리스트, 비디오 엔지니어 등과 같은 비디오 전문가로부터의 사용자 입력으로 비디오 스트리밍 서버(300) 및/또는 상류의 시스템에 의해 생성될 수 있다. 일부 실시예들에서, 상류의 시스템은 상류의 비디오 스트리밍 서버일 수 있는데, 상류의 비디오 스트리밍 서버는 (예컨대, 균일한) 높은 공간 해상도를 갖는 입력 이미지 스트림(304)를 생성하며 그리고/또는 입력 이미지 스트림(304)을 비디오 스트리밍 서버(300)에 하나 이상의 고 대역폭 네트워크 접속들을 통해 전달한다.
일부 실시예들에서, 본 명세서에서 설명되는 바와 같은 비디오 메타데이터는 입력 이미지 스트림(304)에 대한 이미지 콘텐츠 분석들을 수행함으로써 비디오 스트리밍 서버(300) 및/또는 상류의 시스템에 의해 생성될 수 있다. 이러한 이미지 콘텐츠 분석은, 분석 규칙들, 이미지 분석 도구들, 하르 필터들, 웨이브릿 분해, 푸리에 공간 기반공간 해상도 추적과 같은 하나 이상의 컴퓨터 비전 기법들의 임의의 조합 등 중 하나 이상을 사용하여 수행될 수 있다.
일부 실시예들에서, 본 명세서에서 설명되는 바와 같은 비디오 메타데이터는 사용자 집단의 사용자들이 하나 이상의 비디오 이미지들을 관람하고 있는 동안 사용자 피드백 루프에서 수집된 사용자 관람 행동 데이터에 기초하여 비디오 스트리밍 서버(300) 및/또는 상류의 시스템에 의해 생성될 수 있다. 머신 러닝이 사용자 피드백 루프에서 수집된 사용자 관람 행동 데이터를 분석하는 것에 적용될 수 있다. 예를 들어, 히트 맵이 입력 비디오 이미지들의 어떤 특정 관람 각도들, 구역 단면들 등이 각각 극히 높은 사용자 관심 레벨들, 적당히 높은 사용자 관심 레벨들, 낮은 사용자 관심 레벨들, 극히 낮은 사용자 관심 레벨들 등인지를 표시하는 사용자 관람 행동 데이터에 기초하여 생성될 수 있다. 히트 맵은 비디오 메타데이터에 포함될 수 있거나, 또는 비디오 메타데이터를 생성하는데 사용될 수 있다. 추가적으로, 옵션적으로, 또는 대안적으로, 일부 실시예들에서, 일부 비디오 프로그램들에 대해 수행된 사용자 입력, 이미지 콘텐츠 분석들, 사용자 피드백 루프들, 머신 러닝 등의 임의의 조합으로부터 획득된 히트 맵들 등과 같은 정보는 다른 비디오 프로그램들에 장래에 적용될 수 있다.
일부 실시예들에서, 데이터 리포지터리(310)는 입력 비디오 이미지들, 비디오 메타데이터와 같은 이미지 메타데이터 등의 일부 또는 전부에 대해, 저장, 업데이트, 취출, 삭제 등과 같은 동작들을 지원하도록 구성되는 하나 이상의 데이터베이스들, 하나 이상의 데이터 저장 유닛들/모듈들/디바이스들 등을 나타낸다.
일부 실시예들에서, 다-해상도 이미지 생성기(308)는 비디오 콘텐츠가 사용자의 시야들의 입력 비디오 이미지들에서 렌더링될 공간적 좌표계에 관하여 시간이 경과함에 따른 사용자의 시야들의 시야각들, 사이즈들, 애스펙트 비들 등을 양방향성 데이터 흐름(314)을 통해 수신하며; 상이한 공간 해상도들 및/또는 상이한 프레임 레이트들로 인코딩된 상이한 유형들의 구역 단면들에 대한 상이한 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 생성하며; 전체 비디오 스트림을 양방향성 데이터 흐름(314)을 통해, 중간 디바이스들을 통해 직접적으로 또는 간접적으로 등으로) 비디오 스트리밍 클라이언트, 디스플레이 디바이스, 저장 디바이스 등에 제공/송신하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
추가적으로, 옵션적으로, 또는 대안적으로, 이미지 회전 결정, 이미지 정렬 분석, 장면 커트 검출들, 좌표계들 사이의 변환, 시간적 감쇠, 디스플레이 관리, 콘텐츠 매핑, 컬러 매핑, 시야 관리 등과 같은 이미지 프로세싱 동작들의 일부 또는 전부는 비디오 스트리밍 서버(300)에 의해 수행될 수 있다.
비디오 스트리밍 서버(300)는 실시간 비전 애플리케이션들, 거의 실시간 비전 애플리케이션들, 비-실시간 비전 애플리케이션들, 가상 현실, 증강 현실, 헬멧 장착형 디스플레이 애플리케이션들, 헤드 업 디스플레이 애플리케이션들, 게임들, 2D 디스플레이 애플리케이션들, 3D 디스플레이 애플리케이션들, 멀티-뷰 디스플레이 애플리케이션들 등을 지원하는데 사용될 수 있다. 예를 들어, 비디오 이미지들, 이미지 메타데이터, 뷰포트 파라미터들(예컨대, 뷰포트 중심 좌표들, 애스펙트 비들 등), 뷰포트 당 이미지 메타데이터, 뷰포트 이미지 데이터 등의 일부 또는 전부는 비디오 스트리밍 서버(300)에 의해 실시간으로, 거의 실시간으로 등으로 생성 또는 액세스된다.
도 3b는 다-해상도 이미지 수신기(316), 디스플레이 관리기(318), 이미지 디스플레이(320) 등을 포함하는 예시적인 이미지 렌더링 시스템(324-1)을 도시한다. 이미지 렌더링 시스템(324-1)의 컴포넌트들의 일부 또는 전부는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등으로 하나 이상의 디바이스들, 모듈들, 유닛들 등에 의해 구현될 수 있다.
일부 실시예들에서, 다-해상도 이미지 수신기(316)는 비디오 콘텐츠가 사용자의 시야들의 입력 비디오 이미지들에서 렌더링될 공간적 좌표계에 관하여 시간이 경과함에 따른 사용자의 시야들의 시야각들, 사이즈들, 애스펙트 비들 등을 양방향성 데이터 흐름(314)을 통해 전송하며; 상이한 공간 해상도들 및/또는 상이한 프레임 레이트들로 인코딩된 상이한 유형들의 구역 단면들에 대한 상이한 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 수신하는 등을 하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
사용자는 사용자의 뷰포트를 상이한 시야들로 런타임에 이동시킬 수 있다. 이미지 렌더링 시스템(324-1)은 사용자의 디스플레이 상에 렌더링될 비디오 콘텐츠를 생성하도록 구성된다. 일부 실시예들에서, 수신된 비디오 스트림에서의 하나 이상의 비디오 서브-스트림들로부터의 비디오 데이터는 단일화된 상을 형성하도록 함께 스티치 또는 합성될 수 있다. 탈블록화(de-blocking) 동작들, 탈윤곽(de-contouring) 동작들, 블러링 동작들 등이, 사용자의 디스플레이 상에 렌더링될 비디오 콘텐츠를 합성하는 일 부분으로서 수행될 수 있다.
일부 실시예들에서, 디스플레이 관리기(318)는, 비디오 콘텐츠가 이미지 렌더링 시스템(324-1)에 의해 수신된 전체 비디오 스트림에서의 비디오 서브-스트림들로부터 디코딩 및 합성되는 디스플레이 관리 동작들을 이미지 디스플레이(320) 상에 렌더링될 비디오 콘텐츠에 대해 수행하며; 디스플레이 관리된 비디오 콘텐츠를 렌더링을 위해 이미지 디스플레이(320)에 출력하는 등을 수행하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
추가적으로, 옵션적으로, 또는 대안적으로, 얼굴 검출, 머리 추적 모션 검출, 포지션 검출, 회전 결정, 좌표계들 사이의 변환, 시변 이미지 파라미터들의 시간적 감쇠, 이미지 파라미터들의 임의의 다른 시간적 조작, 디스플레이 관리, 콘텐츠 매핑, 톤 매핑, 컬러 매핑, 시야 관리, 예측, 마우스, 트랙볼, 키보드, 풋 추적자(foot tracker), 실제 바디 모션을 통한 내비게이션들 등과 같은 이미지 렌더링 동작들의 일부 또는 전부는 이미지 렌더링 시스템(324-1)에 의해 수행될 수 있다.
이미지 렌더링 시스템(324-1)은 실시간 비전 애플리케이션들, 거의 실시간 비전 애플리케이션들, 비-실시간 비전 애플리케이션들, 가상 현실, 증강 현실, 헬멧 장착형 디스플레이 애플리케이션들, 헤드 업 디스플레이 애플리케이션들, 게임들, 2D 디스플레이 애플리케이션들, 3D 디스플레이 애플리케이션들, 멀티-뷰 디스플레이 애플리케이션들 등을 지원하는데 사용될 수 있다. 예를 들어, 비디오 이미지들, 이미지 메타데이터, 뷰포트 파라미터들(예컨대, 뷰포트 중심 좌표들, 애스펙트 비들 등), 뷰포트 당 이미지 메타데이터, 뷰포트 이미지 데이터 등의 일부 또는 전부는, 이미지 렌더링 시스템(324-1)에 의해 실시간으로, 거의 실시간으로 등으로 생성 또는 액세스된다.
본 명세서에서 설명되는 바와 같은 기법들은 다양한 시스템 아키텍처들에서 구현될 수 있다. 본 명세서에서 설명되는 바와 같은 일부 또는 모든 이미지 프로세싱 동작들은 클라우드 기반 비디오 스트리밍 서버들, 비디오 스트리밍 클라이언트들과 병치되거나 또는 통합되는 비디오 스트리밍 서버들, 이미지 렌더링 시스템들, 이미지 렌더링 시스템들, 디스플레이 디바이스들 등 중 하나 이상에 의해 구현될 수 있다. 비전 애플리케이션들의 유형들, 수신자 디바이스들의 대역폭/비트레이트 예산들, 컴퓨팅 능력들, 리소스들, 부하들 등, 비디오 스트리밍 서버들 및/또는 컴퓨터 네트워크들 등의 컴퓨팅 능력들, 리소스들, 부하들 등과 같은 하나 이상의 요인들에 기초하여, 일부 이미지 프로세싱 동작들은 비디오 스트리밍 서버에 의해 수행될 수 있는 반면, 일부 다른 이미지 프로세싱 동작들은 비디오 스트리밍 클라이언트, 이미지 렌더링 시스템, 디스플레이 디바이스 등에 의해 수행될 수 있다.
도 3c는 다-해상도 이미지 생성기(예컨대, 312 등)가 에지 비디오 스트리밍 서버(324-2)에 통합되는 예시적인 구성을 도시한다. 일부 실시예들에서, 도 3c의 이미지 프로세서(302)는 클라우드 기반일 수 있다. 일부 실시예들에서, 이미지 프로세서(302)는 에지 비디오 스트리밍 서버(324-2)와 같은 에지 디바이스들과는 별개인 코어 네트워크에 위치될 수 있다. 도 3a에서처럼, 이미지 프로세서(302)는 이미지 수신기(306), 구역 단면 분류기(308), 데이터 리포지터리(310) 등을 포함할 수 있다. 이미지 프로세서(302)는 상대적으로 높은 비트레이트들을 통해 에지 비디오 스트리밍 서버(324-2)와 통신하는 상류의 비디오 스트리밍 서버를 나타낼 수 있다. 이미지 프로세서(302) 및/또는 에지 비디오 스트리밍 서버(324-2)의 컴포넌트들의 일부 또는 전부는 하나 이상의 디바이스들, 모듈들, 유닛들 등에 의해, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등으로 구현될 수 있다.
일부 실시예들에서, 이미지 프로세서(302)는 비디오 이미지들 및 비디오 메타데이터를 데이터 흐름(322)으로 하나가 에지 비디오 스트리밍 서버(324-2)일 수 있는 하류의 디바이스들에 출력하도록 구성된다.
일부 실시예들에서, 에지 비디오 스트리밍 서버(324-2), 또는 다-해상도 이미지 생성기(312)는 비디오 콘텐츠가 사용자의 시야들의 입력 비디오 이미지들에서 렌더링될 공간적 좌표계에 관하여 시간이 경과함에 따른 사용자의 시야들의 시야각들, 사이즈들, 애스펙트 비들 등을 결정하며; 상이한 공간 해상도들 및/또는 상이한 프레임 레이트들로 인코딩된 상이한 유형들의 구역 단면들에 대한 상이한 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 생성하며; 전체 비디오 스트림을 양방향성 데이터 흐름(314)을 통해, 중간 디바이스들을 통해 직접적으로 또는 간접적으로 등으로) 비디오 스트리밍 클라이언트, 디스플레이 디바이스, 저장 디바이스 등에 제공/송신하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
일부 실시예들에서, 이미지 렌더링 디바이스(예컨대, 324-1), 또는 그 안의 디스플레이 관리기(예컨대, 도 3b의 318)는, 비디오 콘텐츠가 이미지 렌더링 시스템(324-1)에 의해 수신된 전체 비디오 스트림에서의 비디오 서브-스트림들로부터 디코딩 및 합성되는 디스플레이 관리 동작들을 이미지 디스플레이(320) 상에 렌더링될 비디오 콘텐츠에 대해 수행하며; 디스플레이 관리된 비디오 콘텐츠를 렌더링을 위해 이미지 디스플레이(320)에 출력하는 등을 수행하도록 구성되는, 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
사용자는 사용자의 뷰포트를 상이한 시야들로 런타임에 이동시킬 수 있다. 이미지 렌더링 시스템(324-2)은 사용자의 디스플레이 상에 렌더링될 비디오 콘텐츠를 생성하도록 구성된다. 일부 실시예들에서, 수신된 비디오 스트림에서의 하나 이상의 비디오 서브-스트림들로부터의 비디오 데이터는 단일화된 상을 형성하도록 함께 스티치 또는 합성될 수 있다. 탈블록화 동작들, 탈윤곽 동작들, 블러링 동작들 등이, 사용자의 디스플레이 상에 렌더링될 비디오 콘텐츠를 합성하는 일 부분으로서 수행될 수 있다.
7. 예시적인 프로세스 흐름들
도 4a는 본 발명의 예시적인 실시예에 따른 예시적인 프로세스 흐름을 도시한다. 일부 예시적 실시예들에서, 하나 이상의 컴퓨팅 디바이스들 또는 컴포넌트들이 이 프로세스 흐름을 수행할 수 있다. 블록 402에서, 이미지 프로세서(예컨대, 도 3a 내지 도 3c의 비디오 스트리밍 서버 또는 비디오 스트리밍 클라이언트 등)가, 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여, 하나 이상의 비디오 이미지들에서 복수의 장면들을 식별한다.
블록 404에서, 이미지 프로세서는 하나 이상의 비디오 이미지들에서의 복수의 장면들에 기초하여 하나 이상의 비디오 이미지들의 복수의 구역 단면들을 결정한다.
블록 406에서, 이미지 프로세서는 복수의 구역 단면들에서의 하나 이상의 비디오 이미지들의 복수의 이미지 부분들을 둘 이상의 상이한 시공간 해상도들에서 둘 이상의 비디오 서브-스트림들로 인코딩한다.
블록 408에서, 이미지 프로세서는, 스트리밍 클라이언트 디바이스에, 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 송신한다.
일 실시예에서, 복수의 구역 단면들은 관람자의 뷰포트 내에 있는 제1 구역 단면을 포함하며; 복수의 구역 단면들은 관람자의 뷰포트 내에 있지 않은 제2 구역 단면을 포함한다.
일 실시예에서, 제1 구역 단면은 복수의 장면들에서의 임의의 관심 높은 장면이 없으며; 제2 구역 단면은 복수의 장면들에서의 적어도 하나의 관심 높은 장면과 중첩하며; 제1 구역 단면에서의 이미지 데이터는 제2 구역 단면에서의 이미지 데이터가 인코딩되는 제2 시공간 해상도들보다 더 낮은 제1 시공간 해상도들로 인코딩된다.
일 실시예에서, 복수의 구역 단면들에서의 두 개의 구역 단면들은 서로 중첩하지 않는다.
일 실시예에서, 복수의 구역 단면들에서의 적어도 두 개의 구역 단면들은 서로 중첩한다.
일 실시예에서, 복수의 구역 단면들에서의 적어도 두 개의 구역 단면들은, 상이한 공간적 형상들, 상이한 사이즈들, 상이한 애스펙트 비 등 중 하나 이상을 가진다.
일 실시예에서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 하나 이상의 비디오 이미지들과 함께 수신된 이미지 메타데이터에 적어도 부분적으로 기초하여 식별된다.
일 실시예에서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 하나 이상의 비디오 이미지들에 대해 이미지 콘텐츠 분석들을 수행하는 것에 적어도 부분적으로 기초하여 식별된다.
일 실시예에서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 사용자 집단의 사용자들이 하나 이상의 비디오 이미지들을 관람하고 있는 동안 수집된 사용자 관람 행동 데이터에 적어도 부분적으로 기초하여 식별된다.
일 실시예에서, 이미지 프로세서는 관람자의 중심시를 포함하는 장면에서의 이미지 데이터에 블러링 필터를 적용하도록 추가로 구성된다.
일 실시예에서, 복수의 장면들은 관람자의 뷰포트에 의해 포함되는 관심 높은 장면을 포함한다.
일 실시예에서, 관람자의 뷰포트는 하나 이상의 비디오 이미지들로부터 검출된 바와 같은 복수의 장면들에서의 관심 높은 장면들을 포함하지 않는다.
일 실시예에서, 둘 이상의 비디오 서브-스트림들에서의 적어도 하나의 비디오 서브-스트림은 앵커 프레임들만을 포함한다.
일 실시예에서, 둘 이상의 비디오 서브-스트림들에서의 적어도 하나의 비디오 서브-스트림은 앵커 프레임들 및 비앵커 프레임들 양쪽 모두를 포함한다.
일 실시예에서, 이미지 프로세서는, 복수의 장면들에서의 장면들 또는 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별하는 비디오 메타데이터를 생성하는 것; 스트리밍 클라이언트 디바이스에, 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림에서 비디오 메타데이터를 송신하는 것을 수행하도록 추가로 구성된다.
도 4b는 본 발명의 예시적인 실시예에 따른 예시적인 프로세스 흐름을 도시한다. 일부 예시적 실시예들에서, 하나 이상의 컴퓨팅 디바이스들 또는 컴포넌트들이 이 프로세스 흐름을 수행할 수 있다. 블록 452에서, 이미지 프로세서(예컨대, 도 3a 내지 도 3c의 비디오 스트리밍 클라이언트 등)가, 스트리밍 서버로부터, 둘 이상의 상이한 시공간 해상도들에서의 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 수신한다.
블록 454에서, 이미지 프로세서는 둘 이상의 비디오 서브-스트림들을 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들로 디코딩한다. 하나 이상의 이미지 부분들은 복수의 구역 단면들 중의 하나 이상의 구역 단면들에 있다. 복수의 구역 단면들은 복수의 장면들에 적어도 부분적으로 기초하여 결정된다. 복수의 장면들은 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여 검출된다.
블록 456에서, 이미지 프로세서는, 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들에 기초하여, 비디오 콘텐츠를 생성한다.
블록 458에서, 이미지 프로세서는 비디오 콘텐츠가 디스플레이에서 렌더링되게 한다.
일 실시예에서, 이미지 프로세서는 뷰포트 정보를 스트리밍 서버에 전송하도록 추가로 구성된다. 뷰포트 정보는 하나 이상의 비디오 이미지들에 관하여 관람자의 뷰포트를 도출하는데 사용된다.
일 실시예에서, 뷰포트 정보는 하나 이상의 비디오 이미지들에 관하여 관람자의 중심시를 도출하는데 추가로 사용된다.
일 실시예에서, 이미지 프로세서는 전체 비디오 스트림으로부터 비디오 메타데이터를 디코딩하도록 추가로 구성된다. 비디오 메타데이터는, 복수의 장면들에서의 장면들 또는 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별한다.
일 실시예에서, 이미지 프로세서는 탈블록화 동작들, 탈윤곽 동작들, 블러링 동작들 등 중 하나 이상을, 디스플레이에서 렌더링될 비디오 콘텐츠를 생성하는 일 부분으로서 적용하도록 추가로 구성된다.
일 실시예에서, 이미지 프로세서는, 관람자의 뷰포트에서의 변화를 검출하는 것; 관람자의 뷰포트에서의 변화에 응답하여, 전체 비디오 스트림에서의 둘 이상의 비디오 서브-스트림들 중 적어도 하나의 비디오 서브-스트림으로 이미 송신된 주변 비디오 데이터에 기초하여 새로운 비디오 콘텐츠를 생성하는 것을 수행하도록 추가로 구성된다.
다양한 예시적 실시예들에서, 장치, 시스템, 장치, 또는 하나 이상의 다른 컴퓨팅 디바이스들이 설명된 바와 같은 전술한 방법들 중 임의의 것 또는 일부를 수행한다. 일 실시예에서, 비-일시적 컴퓨터 판독가능 저장 매체가, 하나 이상의 프로세서들에 의해 실행될 때 본 명세서에서 설명되는 바와 같은 방법의 수행을 야기하는 소프트웨어 명령들을 저장한다.
비록 별개의 실시예들이 본 명세서에서 논의되지만, 본 명세서에서 논의되는 실시예들 및/또는 부분 실시예들의 임의의 조합은 추가의 실시예들을 형성하도록 결합될 수 있음에 주의한다.
8. 구현 메커니즘들 ― 하드웨어 개요
하나의 실시예에 따르면, 본 명세서에서 설명되는 기법들은 하나 이상의 특수-목적 컴퓨팅 디바이스들에 의해 구현된다. 특수-목적 컴퓨팅 디바이스들은 그 기법들을 수행하도록 하드-와이어드될 수 있거나, 또는 그 기법들을 수행하도록 지속적으로 프로그래밍되는 하나 이상의 주문형 집적회로들(ASIC들) 또는 필드 프로그램가능 게이트 어레이들(FPGA들)과 같은 디지털 전자 디바이스들을 포함할 수 있거나, 또는 펌웨어, 메모리, 다른 스토리지, 또는 조합에서의 프로그램 명령들에 의하여 그 기법들을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서들을 포함할 수 있다. 이러한 특수-목적 컴퓨팅 디바이스들은 그 기법들을 완수하기 위해 커스텀 프로그래밍과 커스텀 하드-와이어드 로직, ASIC들, 또는 FPGA들을 또한 결합할 수 있다. 특수-목적 컴퓨팅 디바이스들은 그 기법들을 구현하기 위해 하드-와이어드 및 /또는 프로그램 로직을 통합하는 데스크톱 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드 디바이스들, 네트워킹 디바이스들 또는 임의의 다른 디바이스일 수 있다.
예를 들어, 도 5는 본 발명의 예시적 실시예가 구현될 수 있는 컴퓨터 시스템(500)을 예시하는 블록도이다. 컴퓨터 시스템(500)은 정보를 통신하기 위한 버스(502) 또는 다른 통신 메커니즘과, 버스(502)와 커플링되어 정보를 프로세싱하기 위한 하드웨어 프로세서(504)를 포함한다. 하드웨어 프로세서(504)는, 예를 들어, 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(500)은 버스(502)에 커플링되어 프로세서(504)에 의해 실행될 명령들과 정보를 저장하는 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(506)를 또한 포함한다. 메인 메모리(506)는 프로세서(504)에 의해 실행될 명령들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는데 또한 사용될 수 있다. 이러한 명령들은, 프로세서(504)에 액세스 가능한 비일시적 저장 매체에 저장될 때, 그 명령들에 특정된 동작들을 수행하도록 커스터마이징된 특수-목적 머신으로 컴퓨터 시스템(500)을 랜더링한다.
컴퓨터 시스템(500)은 버스(502)에 커플링되어 프로세서(504)를 위한 정적 정보 및 명령들을 저장하는 판독 전용 메모리(ROM)(508) 또는 다른 정적 저장 디바이스를 더 포함한다.
저장 디바이스(510), 이를테면 자기 디스크 또는 광학적 디스크, 고체 상태 RAM이, 버스(502)에 제공되고 커플링되어 정보 및 명령들을 저장한다.
컴퓨터 시스템(500)은 버스(502)를 통해 디스플레이(512), 이를테면 액정 디스플레이에 커플링되어, 정보를 컴퓨터 사용자에게 디스플레이할 수 있다. 영숫자 및 다른 키들을 포함하는 입력 디바이스(514)가, 버스(502)에 커플링되어 정보 및 커맨드 선택들을 프로세서(504)에 전달한다. 다른 유형의 사용자 입력 디바이스가 방향 정보 및 커맨드 선택들을 프로세서(504)에 전달하고 디스플레이(512) 상에서 커서 움직임을 제어하는 커서 컨트롤(516), 이를테면 마우스, 트랙볼, 또는 커서 방향 키들이다. 이 입력 디바이스는, 디바이스가 평면에서 포지션들을 특정하는 것을 허용하는, 두 개의 축들인 제1 축(예컨대, x) 및 제2 축(예컨대, y)에서의 2의 자유도를 통상적으로 가진다.
컴퓨터 시스템(500)은 컴퓨터 시스템과 조합하여 컴퓨터 시스템(500)을 특수-목적 머신이 되도록 하거나 또는 프로그램하는 커스터마이징된 하드-와이어드 로직, 하나 이상의 ASIC들 또는 FPGA들, 펌웨어 및/또는 프로그램 로직을 사용하여 본 명세서에서 설명되는 기법들을 구현할 수 있다. 하나의 실시예에 따르면, 본 명세서의 기법들은 메인 메모리(506)에 포함되는 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행하고 있는 프로세서(504)에 응답하여 컴퓨터 시스템(500)에 의해 수행된다. 이러한 명령들은 다른 저장 매체, 이를테면 저장 디바이스(510)로부터 메인 메모리(506) 속으로 판독될 수 있다. 메인 메모리(506)에 포함되는 명령들의 시퀀스들의 실행이 프로세서(504)로 하여금 본 명세서에서 설명되는 프로세스 단계들을 수행하게 한다. 대체 실시예들에서, 하드-와이어드 회로부가 소프트웨어 명령들 대신 또는 그러한 명령들과 조합하여 사용될 수 있다.
본 명세서에서 사용되는 바와 같은 "저장 매체"라는 용어는 머신이 특정 방식으로 동작하게 하는 데이터 및/또는 명령들을 저장하는 임의의 비-일시적 매체를 지칭한다. 이러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는, 예를 들어, 광학적 또는 자기 디스크들, 이를테면 저장 디바이스(510)를 포함한다. 휘발성 매체는 동적 메모리, 이를테면 메인 메모리(506)를 포함한다. 저장 매체의 일반 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 고체 상태 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀들의 패턴들을 갖는 임의의 물리적 매체, RAM, PROM, 및 EPROM, 플래시-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 송신 매체와는 별개이지만 송신 매체와 연계하여 사용될 수 있다. 송신 매체는 저장 매체 사이에 정보를 전송함에 있어서 참여한다. 예를 들어, 송신 매체는, 버스(502)를 포함하는 와이어들을 포함한, 동축 케이블들, 구리 와이어 및 광섬유들을 포함한다. 송신 매체는 라디오-파 및 적외선 데이터 통신들 동안 생성된 것들과 같은 음향 또는 광 파들의 형태를 또한 취할 수 있다.
다양한 형태들의 매체가 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행을 위해 프로세서(504)로 운반함에 있어서 관련될 수 있다. 예를 들어, 그 명령들은 초기에는 원격 컴퓨터의 자기 디스크 또는 고체-상태 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 자신의 동적 메모리 속에 명령들을 로딩하고 그 명령들을 모뎀을 사용하여 전화선을 통해 전송한다. 컴퓨터 시스템(500)에 로컬적인 모뎀이 전화선 상의 데이터를 수신하고 그 데이터를 적외선 신호로 변환하기 위해 적외선 송신기를 사용할 수 있다. 적외선 검출기가 적외선 신호에서 운반되는 데이터를 수신할 수 있고 적절한 회로부가 버스(502) 상에 데이터를 배치할 수 있다. 버스(502)는 데이터를 주 메모리(506)로 운반하며, 그 메인 메모리로부터 프로세서(504)는 명령들을 취출하고 실행한다. 메인 메모리(506)에 의해 수신된 명령들은 프로세서(504)에 의한 실행 전 또는 후 중 어느 하나에 저장 디바이스(510) 상에 옵션적으로 저장될 수 있다.
컴퓨터 시스템(500)은 버스(502)에 커플링된 통신 인터페이스(518)를 또한 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 접속된 네트워크 링크(520)에 대한 양-방향 데이터 통신 커플링을 제공한다. 예를 들어, 통신 인터페이스(518)는 ISDN(integrated services digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 유형의 전화선에의 데이터 통신 접속을 제공하는 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(518)는 호환 가능 LAN에 데이터 통신 접속을 제공하는 로컬 영역 네트워크(local area network)(LAN) 카드일 수 있다. 무선 링크들이 또한 구현될 수 있다. 임의의 이러한 구현예에서, 통신 인터페이스(518)는 다양한 유형들의 정보를 표현하는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광 신호들을 전송하고 수신한다.
네트워크 링크(520)는 하나 이상의 네트워크들을 통한 다른 데이터 디바이스들로의 데이터 통신을 통상적으로 제공한다. 예를 들어, 네트워크 링크(520)는 호스트 컴퓨터(524)에 또는 인터넷 서비스 제공자(ISP)(526)에 의해 동작되는 데이터 장비에 로컬 네트워크(522)를 통한 접속을 제공할 수 있다. 결국 ISP(526)는 이제 "인터넷"(528)이라고 일반적으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(522) 및 인터넷(528) 둘 다가 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광 신호들을 사용한다. 컴퓨터 시스템(500)으로 또는 그것으로부터 디지털 데이터를 운반하는 다양한 네트워크들 통한 신호들과 네트워크 링크(520) 상의 그리고 통신 인터페이스(518)를 통한 신호들이 송신 매체의 예시적인 형태들이다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520) 및 통신 인터페이스(518)를 통해, 메시지들을 전송하고 프로그램 코드를 포함하는 데이터를 수신한다. 인터넷 예에서, 서버(530)는 인터넷(528), ISP(526), 로컬 네트워크(522) 및 통신 인터페이스(518)를 통해 애플리케이션 프로그램을 위한 요청된 코드를 송신할 수 있다.
수신된 코드는 수신될 때 프로세서(504)에 의해 실행되며, 그리고/또는 저장 디바이스(510), 또는 다른 비휘발성 스토리지에 나중의 실행을 위해 저장될 수 있다.
9. 동등물들, 확장물들, 대체물들 및 기타
전술한 설명에서, 본 발명의 예시적인 실시예들은 구현예마다 가변할 수 있는 수많은 특정 세부사항들을 참조하여 설명되었다. 따라서, 발명인 그리고 발명인 것으로 출원인들에 의해 의도된 것의 단독 및 배타적 표시자는, 임의의 후속하는 정정을 포함하는 그러한 청구항들이 공표한 특정 형태로, 본 출원으로부터 공표된 청구항들의 세트이다. 이러한 청구항들에 포함된 용어들에 대해 본 명세서에서 명시적으로 언급된 임의의 정의들은 청구항들에서 사용되는 바와 같은 용어들의 의미를 좌우한다. 그런고로, 청구항에서 명시적으로 언급되지 않은 제한, 엘리먼트, 특성, 특징, 장점 또는 속성은 이러한 청구항의 범위를 어떠한 방식으로도 제한하지 않는다. 명세서 및 도면들은, 따라서, 제한하는 의미보다는 예시적인 것으로 간주되는 것들이다.
본 발명의 다양한 양태들이 다음의 열거된 예시적인 실시예들(enumerated example embodiments)(EEE들)로부터 이해될 수 있다:
EEE 1. 비디오 데이터를 스트리밍하는 방법으로서,
하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여, 하나 이상의 비디오 이미지들에서 복수의 장면들을 식별하는 단계;
하나 이상의 비디오 이미지들에서의 복수의 장면들에 기초하여 하나 이상의 비디오 이미지들의 복수의 구역 단면들을 결정하는 단계;
복수의 구역 단면들에서의 하나 이상의 비디오 이미지들의 복수의 이미지 부분들을 둘 이상의 상이한 시공간 해상도들에서의 둘 이상의 비디오 서브-스트림들로 인코딩하는 단계; 및
스트리밍 클라이언트 디바이스에, 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 송신하는 단계를 포함하며,
상기 방법은 하나 이상의 컴퓨팅 디바이스들에 의해 수행되는, 방법.
EEE 2. EEE 1에 있어서, 복수의 구역 단면들은 관람자의 뷰포트 내에 있는 제1 구역 단면을 포함하고, 복수의 구역 단면들은 관람자의 뷰포트 내에 있지 않은 제2 구역 단면을 포함하는, 방법.
EEE 3. EEE 2에 있어서, 제1 구역 단면은 복수의 장면들에서의 임의의 관심 높은 장면이 없으며, 제2 구역 단면은 복수의 장면들에서의 적어도 하나의 관심 높은 장면과 중첩하며, 제1 구역 단면에서의 이미지 데이터는 제2 구역 단면에서의 이미지 데이터가 인코딩되는 제2 시공간 해상도들보다 더 낮은 제1 시공간 해상도들로 인코딩되는, 방법.
EEE 4. EEE 1에 있어서, 복수의 구역 단면들에서의 두 개의 구역 단면들은 서로 중첩하지 않는, 방법.
EEE 5. EEE 1에 있어서, 복수의 구역 단면들에서의 적어도 두 개의 구역 단면들은 서로 중첩하는, 방법.
EEE 6. EEE 1에 있어서, 복수의 구역 단면들에서의 적어도 두 개의 구역 단면들은 상이한 공간적 형상들, 상이한 사이즈들, 또는 상이한 애스펙트 비 중 하나 이상을 가지는, 방법.
EEE 7. EEE 1에 있어서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 하나 이상의 비디오 이미지들과 함께 수신된 이미지 메타데이터에 적어도 부분적으로 기초하여 식별되는, 방법.
EEE 8. EEE 1에 있어서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 하나 이상의 비디오 이미지들에 대해 이미지 콘텐츠 분석을 수행하는 것에 적어도 부분적으로 기초하여 식별되는, 방법.
EEE 9. EEE 1에 있어서, 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 사용자 집단의 사용자들이 하나 이상의 비디오 이미지들을 관람하고 있는 동안 수집된 사용자 관람 행동 데이터에 적어도 부분적으로 기초하여 식별되는, 방법.
EEE 10. EEE 1에 있어서, 관람자의 중심시를 포함하는 장면에서의 이미지 데이터에 블러링 필터를 적용하는 단계를 더 포함하는, 방법.
EEE 11. EEE 1에 있어서, 복수의 장면들은 관람자의 뷰포트에 의해 포함되는 관심 높은 장면을 포함하는, 방법.
EEE 12. EEE 1에 있어서, 관람자의 뷰포트는 하나 이상의 비디오 이미지들로부터 검출된 바와 같은 복수의 장면들에서의 관심 높은 장면들을 포함하지 않는, 방법.
EEE 13. EEE 1에 있어서, 둘 이상의 비디오 서브-스트림들에서의 적어도 하나의 비디오 서브-스트림은 앵커 프레임들만을 포함하는, 방법.
EEE 14. EEE 1에 있어서, 둘 이상의 비디오 서브-스트림들에서의 적어도 하나의 비디오 서브-스트림은 앵커 프레임들 및 비앵커 프레임들 양쪽 모두를 포함하는, 방법.
EEE 15. EEE 1에 있어서, 복수의 장면들에서의 장면들 또는 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별하는 비디오 메타데이터를 생성하는 단계;
스트리밍 클라이언트 디바이스에, 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림에서 비디오 메타데이터를 송신하는 단계를 더 포함하는, 방법.
EEE 16. 비디오 데이터를 관람자들에게 제시하는 방법으로서,
스트리밍 서버로부터, 둘 이상의 상이한 시공간 해상도들에 있는 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 수신하는 단계;
둘 이상의 비디오 서브-스트림들을 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들 ― 하나 이상의 이미지 부분들은 복수의 구역 단면들에서의 하나 이상의 구역 단면들 내에 있으며, 복수의 구역 단면들은 복수의 장면들에 적어도 부분적으로 기초하여 결정되며, 복수의 장면들은 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여 검출됨 ― 로 디코딩하는 단계;
하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들에 기초하여, 비디오 콘텐츠를 생성하는 단계; 및
상기 비디오 콘텐츠가 디스플레이에 렌더링되게 하는 단계를 포함하며,
상기 방법은 하나 이상의 컴퓨팅 디바이스들에 의해 수행되는, 방법.
EEE 17. EEE 16에 있어서, 스트리밍 서버에 뷰포트 정보 ― 뷰포트 정보는 하나 이상의 비디오 이미지들에 관하여 관람자의 뷰포트를 도출하는데 사용됨 ― 를 전송하는 단계를 더 포함하는, 방법.
EEE 18. EEE 17에 있어서, 뷰포트 정보는 하나 이상의 비디오 이미지들에 관하여 관람자의 중심시를 도출하는데 추가로 사용되는, 방법.
EEE 19. EEE 16에 있어서, 전체 비디오 스트림으로부터 비디오 메타데이터 ― 비디오 메타데이터는 복수의 장면들에서의 장면들 또는 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별함 ― 를 디코딩하는 단계를 더 포함하는, 방법.
EEE 20. EEE 16에 있어서, 탈블록화 동작들, 탈윤곽 동작들, 또는 블러링 동작들 중 하나 이상을 디스플레이에서 렌더링될 비디오 콘텐츠를 생성하는 일 부분으로서 적용하는 단계를 더 포함하는, 방법.
EEE 21. EEE 16에 있어서, 관람자의 뷰포트에서의 변화를 검출하는 단계; 및
관람자의 뷰포트에서의 변화에 응답하여, 전체 비디오 스트림에서의 둘 이상의 비디오 서브-스트림들 중 적어도 하나의 비디오 서브-스트림으로 이미 송신된 주변 비디오 데이터에 기초하여 새로운 비디오 콘텐츠를 생성하는 단계를 더 포함하는, 방법.
EEE 22. 장치로서, EEE 1 내지 21에 기재된 방법들 중 임의의 방법을 수행하는, 장치.
EEE 23. 시스템으로서, EEE 1 내지 21에 기재된 방법들 중 임의의 방법을 수행하는, 시스템.
EEE 24. 비-일시적 컴퓨터 판독가능 저장 매체로서, 하나 이상의 프로세서들에 의해 실행될 때, EEE 1 내지 21 중 어느 하나에 기재된 방법의 수행을 야기하는 소프트웨어 명령들을 저장하는, 비-일시적 컴퓨터 판독가능 저장 매체.
EEE 25. 컴퓨팅 디바이스로서, 하나 이상의 프로세서들과, 하나 이상의 프로세서들에 의해 실행될 때, EEE 1 내지 21 중 어느 하나에 기재된 방법의 수행을 야기하는 명령들의 세트를 저장하는 하나 이상의 저장 매체를 포함하는, 컴퓨팅 디바이스.

Claims (15)

  1. 비디오 데이터를 스트리밍하는 방법으로서,
    하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여, 상기 하나 이상의 비디오 이미지들에서의 복수의 장면들 ― 상기 복수의 장면들은 비디오 메타데이터에 의해 식별되는 적어도 하나의 관심 높은 장면 및 적어도 하나의 관심 낮은 장면을 포함하고, 상기 적어도 하나의 관심 높은 장면은 사용자 집단으로부터 수집된 사용자 관람 행동 데이터를 기반으로 생성된 상기 비디오 메타 데이터와 관련된 히트 맵에 의해 결정됨 ― 을 식별하는 단계;
    상기 하나 이상의 비디오 이미지들의 관람자의 뷰포트를 추적하는 단계;
    상기 하나 이상의 비디오 이미지들에서의 상기 복수의 장면들에 기초하여 그리고 상기 관람자의 뷰포트에 기초하여 상기 하나 이상의 비디오 이미지들의 복수의 구역 단면들 ― 상기 복수의 구역 단면들은 상기 관람자의 뷰포트 내의 관심 높은 장면에 대응하는 제1 구역 단면, 상기 관람자의 뷰포트 밖의 관심 높은 장면에 대응하는 제2 구역 단면, 및 상기 관람자의 뷰포트 밖의 관심 낮은 장면에 대응하는 제3 구역 단면을 포함함 ― 을 결정하는 단계;
    관람자의 중심시를 포함하는 장면에서의 이미지 데이터에 가변 공간 해상도들을 갖는 블러링 필터 ― 없거나 또는 거의 없는 블러링이 상기 관람자의 중심시를 포함하는 장면 부분에서 수행되며, 더 강한 블러링이 상기 관람자의 중심시 밖의 장면 부분에서 수행되고, 상기 블러링의 강도는 공간적 로케이션과 상기 관람자의 중심시의 중심 사이의 공간적 거리에 적어도 부분적으로 기초함 ― 를 적용하는 단계;
    상기 복수의 구역 단면들에서의 상기 하나 이상의 비디오 이미지들의 복수의 이미지 부분들을 둘 이상의 상이한 시공간 해상도들에서의 둘 이상의 비디오 서브-스트림들 ― 상기 둘 이상의 비디오 서브-스트림들은 상기 제1 구역 단면에 대한 제1 시공간 해상도를 갖는 제1 비디오 서브-스트림, 상기 제2 구역 단면에 대한 제2 시공간 해상도를 갖는 제2 비디오 서브-스트림, 및 상기 제3 구역 단면에 대한 제3 시공간 해상도를 갖는 제3 비디오 서브-스트림을 포함하며; 상기 제3 시공간 해상도는 상기 제2 시공간 해상도보다 더 낮고; 상기 제2 시공간 해상도는 상기 제1 시공간 해상도보다 더 낮음 ― 로 인코딩하는 단계; 및
    스트리밍 클라이언트 디바이스에, 상기 둘 이상의 비디오 서브-스트림들을 포함하는 전체 비디오 스트림을 송신하는 단계를 포함하며,
    상기 방법은 하나 이상의 컴퓨팅 디바이스들에 의해 수행되는, 방법.
  2. 제1항에 있어서, 상기 복수의 구역 단면들은 관람자의 중심시 내의 관심 높은 장면에 대응하는 제4 구역 단면을 포함하며; 상기 둘 이상의 비디오 서브-스트림들은 상기 제4 구역 단면에 대한 제4 시공간 해상도를 갖는 제4 비디오 서브-스트림을 포함하고; 상기 제4 시공간 해상도는 상기 제1 시공간 해상도보다 더 높은, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 복수의 구역 단면들에서의 적어도 하나의 구역 단면은 상기 하나 이상의 비디오 이미지들에 대해 이미지 콘텐츠 분석을 수행하는 것에 기초하여 식별되는, 방법.
  4. 제1항 또는 제2항에 있어서, 상기 복수의 구역 단면들에서의 적어도 두 개의 구역 단면들은 상이한 공간적 형상들, 상이한 사이즈들, 또는 상이한 애스펙트 비 중 하나 이상을 가지는, 방법.
  5. 제1항 또는 제2항에 있어서, 상기 둘 이상의 비디오 서브-스트림들에서의 적어도 하나의 비디오 서브-스트림은 앵커 프레임들만을 포함하는, 방법.
  6. 제1항 또는 제2항에 있어서, 상기 복수의 장면들에서의 장면들 또는 상기 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별하는 비디오 메타데이터를 생성하는 단계; 및
    상기 스트리밍 클라이언트 디바이스에, 상기 둘 이상의 비디오 서브-스트림들을 포함하는 상기 전체 비디오 스트림에서 상기 비디오 메타데이터를 송신하는 단계를 더 포함하는, 방법.
  7. 비디오 데이터를 관람자들에게 제시하는 방법으로서,
    스트리밍 서버로부터, 둘 이상의 상이한 시공간 해상도들에서의 둘 이상의 비디오 서브-스트림들 ― 상기 둘 이상의 비디오 서브-스트림들은 제1 구역 단면에 대한 제1 시공간 해상도를 갖는 제1 비디오 서브-스트림; 제2 구역 단면에 대한 제2 시공간 해상도를 갖는 제2 비디오 서브-스트림; 및 제3 구역 단면에 대한 제3 시공간 해상도를 갖는 제3 비디오 서브-스트림을 포함하며; 상기 제3 시공간 해상도는 상기 제2 시공간 해상도보다 더 낮고; 상기 제2 시공간 해상도는 상기 제1 시공간 해상도보다 더 낮음 ― 을 포함하는 전체 비디오 스트림을 수신하는 단계;
    상기 둘 이상의 비디오 서브-스트림들을 하나 이상의 비디오 이미지들의 하나 이상의 이미지 부분들 ― 상기 하나 이상의 이미지 부분들은 복수의 구역 단면들에서의 하나 이상의 구역 단면들 내에 있으며, 상기 복수의 구역 단면들은 복수의 장면들에 적어도 부분적으로 기초하여 그리고 관람자의 뷰포트에 기초하여 결정되며, 상기 복수의 장면들은 비디오 메타데이터에 의해 식별되는 적어도 하나의 관심 높은 장면 및 적어도 하나의 관심 낮은 장면을 포함하고, 상기 적어도 하나의 관심 높은 장면은 사용자 집단으로부터 수집된 사용자 관람 행동 데이터를 기반으로 생성된 상기 비디오 메타 데이터와 관련된 히트 맵에 의해 결정되고, 상기 복수의 장면들은 상기 하나 이상의 비디오 이미지들의 이미지 콘텐츠에 기초하여 검출되며; 상기 복수의 구역 단면들은 상기 관람자의 뷰포트 내의 관심 높은 장면에 대응하는 상기 제1 구역 단면, 상기 관람자의 뷰포트 밖의 관심 높은 장면에 대응하는 상기 제2 구역 단면, 및 상기 관람자의 뷰포트 밖의 관심 낮은 장면에 대응하는 상기 제3 구역 단면을 포함하고, 가변 공간 해상도들을 갖는 블러링 필터가 관람자의 중심시를 포함하는 장면에서의 이미지 데이터에 적용되며, 없거나 또는 거의 없는 블러링이 상기 관람자의 중심시를 포함하는 장면 부분에서 수행되며, 더 강한 블러링이 상기 관람자의 중심시 밖의 장면 부분에서 수행되고, 상기 블러링의 강도는 공간적 로케이션과 상기 관람자의 중심시의 중심 사이의 공간적 거리에 적어도 부분적으로 기초함 ― 로 디코딩하는 단계;
    상기 하나 이상의 비디오 이미지들의 상기 하나 이상의 이미지 부분들에 기초하여, 비디오 콘텐츠를 생성하는 단계; 및
    상기 비디오 콘텐츠가 디스플레이에 렌더링되게 하는 단계를 포함하며,
    상기 방법은 하나 이상의 컴퓨팅 디바이스들에 의해 수행되는, 방법.
  8. 제7항에 있어서, 상기 스트리밍 서버에 뷰포트 정보 ― 상기 뷰포트 정보는 상기 하나 이상의 비디오 이미지들에 관하여 상기 관람자의 뷰포트를 도출하는데 사용됨 ― 를 전송하는 단계를 더 포함하는, 방법.
  9. 제7항 또는 제8항에 있어서, 상기 전체 비디오 스트림으로부터 비디오 메타데이터 ― 상기 비디오 메타데이터는, 상기 복수의 장면들에서의 장면들 또는 상기 복수의 구역 단면들에서의 구역 단면들 중 하나 이상을 식별함 ― 를 디코딩하는 단계를 더 포함하는, 방법.
  10. 제7항 또는 제8항에 있어서, 상기 관람자의 뷰포트에서의 변화를 검출하는 단계; 및
    상기 관람자의 뷰포트에서의 상기 변화에 응답하여, 상기 전체 비디오 스트림에서의 상기 둘 이상의 비디오 서브-스트림들 중 적어도 하나의 비디오 서브-스트림으로 이미 송신된 주변 비디오 데이터에 기초하여 새로운 비디오 콘텐츠를 생성하는 단계를 더 포함하는, 방법.
  11. 장치로서,
    제1항, 제2항, 제7항 또는 제8항 중 어느 한 항에 기재된 방법을 수행하는, 장치.
  12. 시스템으로서,
    제1항, 제2항, 제7항 또는 제8항 중 어느 한 항에 기재된 방법을 수행하는, 시스템.
  13. 비-일시적 컴퓨터 판독가능 저장 매체로서,
    하나 이상의 프로세서들에 의해 실행될 때, 제1항, 제2항, 제7항 또는 제8항 중 어느 한 항에 기재된 방법의 수행을 야기하는 소프트웨어 명령들을 저장하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  14. 컴퓨팅 디바이스로서,
    하나 이상의 프로세서들과, 하나 이상의 프로세서들에 의해 실행될 때, 제1항, 제2항, 제7항 또는 제8항 중 어느 한 항에 기재된 방법의 수행을 야기하는 명령들의 세트를 저장하는 하나 이상의 저장 매체를 포함하는, 컴퓨팅 디바이스.
  15. 삭제
KR1020197008531A 2016-09-26 2017-09-18 비디오 데이터의 콘텐츠 기반 스트림 분할 KR102218519B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662399574P 2016-09-26 2016-09-26
US62/399,574 2016-09-26
EP16190623.5 2016-09-26
EP16190623 2016-09-26
PCT/US2017/052110 WO2018057472A1 (en) 2016-09-26 2017-09-18 Content based stream splitting of video data

Publications (2)

Publication Number Publication Date
KR20190038664A KR20190038664A (ko) 2019-04-08
KR102218519B1 true KR102218519B1 (ko) 2021-02-22

Family

ID=59914544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008531A KR102218519B1 (ko) 2016-09-26 2017-09-18 비디오 데이터의 콘텐츠 기반 스트림 분할

Country Status (6)

Country Link
US (2) US11303966B2 (ko)
EP (2) EP3516882B1 (ko)
JP (1) JP6884856B2 (ko)
KR (1) KR102218519B1 (ko)
CN (2) CN109792562B (ko)
WO (1) WO2018057472A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10779014B2 (en) 2018-10-18 2020-09-15 At&T Intellectual Property I, L.P. Tile scheduler for viewport-adaptive panoramic video streaming
KR102154323B1 (ko) * 2019-01-11 2020-09-09 한국항공대학교산학협력단 360도 비디오 시퀀스를 이용한 서브 비디오 시퀀스 생성 장치 및 방법
US10554940B1 (en) 2019-03-29 2020-02-04 Razmik Ghazaryan Method and apparatus for a variable-resolution screen
US11284053B2 (en) 2019-03-29 2022-03-22 Razmik Ghazaryan Head-mounted display and projection screen
US10466489B1 (en) 2019-03-29 2019-11-05 Razmik Ghazaryan Methods and apparatus for a variable-resolution screen
US11307655B2 (en) 2019-09-19 2022-04-19 Ati Technologies Ulc Multi-stream foveal display transport
CN110519607B (zh) * 2019-09-27 2022-05-20 腾讯科技(深圳)有限公司 视频解码方法及装置,视频编码方法及装置
WO2021087843A1 (en) * 2019-11-07 2021-05-14 Intel Corporation Heterogeneous real-time streaming and decoding of ultra-high resolution video content
CN111127478B (zh) * 2019-12-13 2023-09-05 上海众源网络有限公司 一种视图块分割方法及装置
CN111614975B (zh) * 2020-05-08 2022-07-12 深圳拙河科技有限公司 一种亿级像素视频播放方法、装置、介质及设备
EP4189968A1 (en) * 2020-08-03 2023-06-07 Dolby Laboratories Licensing Corporation Dual stream dynamic gop access based on viewport change
US20220044132A1 (en) * 2020-08-07 2022-02-10 International Business Machines Corporation Displaying contextual information of media
US11936975B2 (en) * 2021-05-12 2024-03-19 Nio Technology (Anhui) Co., Ltd. Combined computer vision and human vision camera system
CN113810755B (zh) * 2021-09-15 2023-09-05 北京百度网讯科技有限公司 全景视频预览的方法、装置、电子设备及存储介质
CN116761019A (zh) * 2023-08-24 2023-09-15 瀚博半导体(上海)有限公司 视频处理方法、系统、计算机设备及计算机可读存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5703604A (en) 1995-05-22 1997-12-30 Dodeca Llc Immersive dodecaherdral video viewing system
CA2411852A1 (en) 2000-06-09 2001-12-13 Imove, Inc. Streaming panoramic video
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
WO2005032138A1 (en) * 2003-09-29 2005-04-07 Koninklijke Philips Electronics, N.V. System and method for combining advanced data partitioning and fine granularity scalability for efficient spatio-temporal-snr scalability video coding and streaming
JP4305752B2 (ja) 2003-10-24 2009-07-29 ソニー株式会社 映像配信システム、映像配信装置、映像配信方法及び映像配信プログラム
US20050094732A1 (en) 2003-10-30 2005-05-05 Debargha Mukherjee Data communications methods, compressed media data decoding methods, compressed media data decoders, articles of manufacture, and data communications systems
US8848053B2 (en) 2006-03-28 2014-09-30 Objectvideo, Inc. Automatic extraction of secondary video streams
US8446509B2 (en) * 2006-08-09 2013-05-21 Tenebraex Corporation Methods of creating a virtual window
CN101115200B (zh) * 2007-04-20 2010-05-19 西安交通大学 一种有效的运动矢量可伸缩编码方法
JP4895042B2 (ja) * 2007-07-20 2012-03-14 富士フイルム株式会社 画像圧縮装置、画像圧縮方法、及びプログラム
WO2009097449A1 (en) 2008-01-29 2009-08-06 Enforcement Video, Llc Omnidirectional camera for use in police car event recording
JP5109697B2 (ja) * 2008-02-07 2012-12-26 ソニー株式会社 画像送信装置、画像受信装置、画像送受信システム、画像送信プログラムおよび画像受信プログラム
US20100050221A1 (en) 2008-06-20 2010-02-25 Mccutchen David J Image Delivery System with Image Quality Varying with Frame Rate
US8264524B1 (en) 2008-09-17 2012-09-11 Grandeye Limited System for streaming multiple regions deriving from a wide-angle camera
US9215467B2 (en) 2008-11-17 2015-12-15 Checkvideo Llc Analytics-modulated coding of surveillance video
US8633984B2 (en) 2008-12-18 2014-01-21 Honeywell International, Inc. Process of sequentially dubbing a camera for investigation and review
US20110067072A1 (en) * 2009-09-14 2011-03-17 Shyam Parekh Method and apparatus for performing MPEG video streaming over bandwidth constrained networks
KR20110105710A (ko) * 2010-03-19 2011-09-27 삼성전자주식회사 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치
US9690099B2 (en) * 2010-12-17 2017-06-27 Microsoft Technology Licensing, Llc Optimized focal area for augmented reality displays
ES2675802T3 (es) 2011-02-18 2018-07-12 Alcatel Lucent Procedimiento y aparato para transmitir y recibir un flujo de video panorámico
US8885882B1 (en) * 2011-07-14 2014-11-11 The Research Foundation For The State University Of New York Real time eye tracking for human computer interaction
US8789095B2 (en) * 2012-05-15 2014-07-22 At&T Intellectual Property I, Lp Apparatus and method for providing media content
JP6106967B2 (ja) * 2012-06-04 2017-04-05 ソニー株式会社 情報処理装置、情報処理方法、プログラム及び画像表示装置
US9996150B2 (en) 2012-12-19 2018-06-12 Qualcomm Incorporated Enabling augmented reality using eye gaze tracking
US20140199050A1 (en) 2013-01-17 2014-07-17 Spherical, Inc. Systems and methods for compiling and storing video with static panoramic background
GB2509953B (en) * 2013-01-18 2015-05-20 Canon Kk Method of displaying a region of interest in a video stream
CN105264876B (zh) 2013-05-26 2019-04-23 皮克索洛特公司 低成本电视制作的方法及系统
EP3562170A1 (en) 2013-07-29 2019-10-30 Koninklijke KPN N.V. Providing tile video streams to a client
JP6178705B2 (ja) * 2013-11-15 2017-08-09 日本電信電話株式会社 映像配信システム、映像配信装置及び映像配信プログラム
EP2874396A1 (en) 2013-11-15 2015-05-20 Everseen Ltd. Method and system for securing a stream of data
US20150271571A1 (en) * 2014-03-18 2015-09-24 Vixs Systems, Inc. Audio/video system with interest-based recommendations and methods for use therewith
US20150373341A1 (en) 2014-06-23 2015-12-24 Cisco Technology, Inc. Techniques for Interactive Region-Based Scalability
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
JP2016019248A (ja) * 2014-07-10 2016-02-01 キヤノン株式会社 動画表示制御装置、動画表示制御方法及びプログラム
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US10257494B2 (en) 2014-09-22 2019-04-09 Samsung Electronics Co., Ltd. Reconstruction of three-dimensional video
GB2536025B (en) * 2015-03-05 2021-03-03 Nokia Technologies Oy Video streaming method

Also Published As

Publication number Publication date
EP3793205A1 (en) 2021-03-17
US11653065B2 (en) 2023-05-16
JP2019534614A (ja) 2019-11-28
US20220210512A1 (en) 2022-06-30
CN109792562A (zh) 2019-05-21
US20210314670A1 (en) 2021-10-07
EP3516882B1 (en) 2020-10-28
CN113301439A (zh) 2021-08-24
EP3516882A1 (en) 2019-07-31
KR20190038664A (ko) 2019-04-08
US11303966B2 (en) 2022-04-12
CN113301439B (zh) 2023-06-30
WO2018057472A1 (en) 2018-03-29
JP6884856B2 (ja) 2021-06-09
CN109792562B (zh) 2021-04-13
EP3793205B1 (en) 2023-09-13

Similar Documents

Publication Publication Date Title
KR102218519B1 (ko) 비디오 데이터의 콘텐츠 기반 스트림 분할
US10721454B2 (en) Methods and apparatus for processing content based on viewing information and/or communicating content
Fan et al. A survey on 360 video streaming: Acquisition, transmission, and display
US12015787B2 (en) Predicting and verifying regions of interest selections
US10440407B2 (en) Adaptive control for immersive experience delivery
EP3782368A1 (en) Processing video patches for three-dimensional content
US11748870B2 (en) Video quality measurement for virtual cameras in volumetric immersive media
CN112738010A (zh) 数据交互方法及系统、交互终端、可读存储介质
CN112738534B (zh) 数据处理方法及系统、服务器和存储介质
US20190335166A1 (en) Deriving 3d volumetric level of interest data for 3d scenes from viewer consumption data
CN112738495B (zh) 虚拟视点图像生成方法、系统、电子设备及存储介质
US11120615B2 (en) Dynamic rendering of low frequency objects in a virtual reality system
CN112738009B (zh) 数据同步方法、设备、同步系统、介质和服务器
CN112738646A (zh) 数据处理方法、设备、系统、可读存储介质及服务器
CN112734821B (zh) 深度图生成方法、计算节点及计算节点集群、存储介质
Wang Low-Latency Adaptive Media Streaming: From 2D to 6-DoF

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant