KR102238125B1 - 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법 - Google Patents

가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법 Download PDF

Info

Publication number
KR102238125B1
KR102238125B1 KR1020180147686A KR20180147686A KR102238125B1 KR 102238125 B1 KR102238125 B1 KR 102238125B1 KR 1020180147686 A KR1020180147686 A KR 1020180147686A KR 20180147686 A KR20180147686 A KR 20180147686A KR 102238125 B1 KR102238125 B1 KR 102238125B1
Authority
KR
South Korea
Prior art keywords
image
region
area
information
protruding
Prior art date
Application number
KR1020180147686A
Other languages
English (en)
Other versions
KR20200061873A (ko
Inventor
류지훈
백두인
강한길
Original Assignee
수니코리아 엘엘씨(한국뉴욕주립대학교)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 수니코리아 엘엘씨(한국뉴욕주립대학교) filed Critical 수니코리아 엘엘씨(한국뉴욕주립대학교)
Priority to KR1020180147686A priority Critical patent/KR102238125B1/ko
Publication of KR20200061873A publication Critical patent/KR20200061873A/ko
Application granted granted Critical
Publication of KR102238125B1 publication Critical patent/KR102238125B1/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/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
    • 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
    • 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/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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]

Landscapes

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

Abstract

본 개시의 일 실시예의 일 측면에 따르면, VR(virtual reality) 원본 영상으로부터 부호화 VR 영상 및 부가 정보를 생성하는 부호화부; 상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부; 및 사용자의 시선 방향에 대한 정보를 획득하는 제1 획득부를 포함하고, 상기 부호화부는, 상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하고, 상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하고, 상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하고, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하고, 상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖는, 영상 부호화 장치가 제공된다.

Description

가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법 {Apparatus and method for encoding and apparatus and method for decoding virtual reality image}
본 개시의 실시예들은 VR(virtual reality) 영상의 부호화 장치, 부호화 방법, 복호화 장치, 복호화 방법, 상기 부호화 방법을 실행시키기 위한 컴퓨터 프로그램 제품, 및 상기 복호화 방법을 실행시키기 위한 컴퓨터 프로그램 제품에 관한 것이다.
최근의 360도 비디오 콘텐츠들을 고해상도로 실시간으로 제공하고자 하는 요구가 다양한 분야에서 제시되고 있다. 이러한 트렌드는 앞으로 계속 이어져 나갈 것이 명확하다. 하지만, 계속해서 해상도가 증가하는 고해상도의 360도 비디오 콘텐츠를 제공하기에 현재 네트워크의 발전 속도는 비디오 콘텐츠의 해상도 증가속도를 따라잡지 못하고 있다. 예를 들어, 4K콘텐츠 기준 360도 비디오를 스트리밍하기 위해서는 50Mbps의 네트워크 속도가 필요한데, 현재의 네트워크 속도로 스트리밍을 감당하기에는 버거운 실정이다. 또한 늘어나는 360도 비디오 콘텐츠 이용자를 감당하기 위해서는 기술의 비약적 발전이 필요하다.
본 개시의 실시예들은, 콘텐츠의 특성을 파악하여 고용량의 스트리밍 파일사이즈를 줄임으로써 고용량 컨텐츠의 스트리밍 시, 사용자에게 화질 저하를 느끼지 못하도록 하면서도 고해상도의 고품질 서비스를 제공하기 위한 것이다.
본 개시의 일 실시예의 일 측면에 따르면, VR(virtual reality) 원본 영상으로부터 부호화 VR 영상 및 부가 정보를 생성하는 부호화부; 상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부; 및 사용자의 시선 방향에 대한 정보를 획득하는 제1 획득부를 포함하고, 상기 부호화부는, 상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하고, 상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하고, 상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하고, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하고, 상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖는, 영상 부호화 장치가 제공된다.
일 실시예에 따르면, 상기 부호화부는, 상기 VR 원본 영상을 육면체 형태로 변환하고, 상기 제1 영역에 대응하는 우측면 영상, 좌측면 영상, 상측면 영상, 하측면 영상, 및 후면 영상의 해상도를 상기 전면 영역에 대응하는 전면 영상보다 낮게 변환하고, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 및 상기 후면 영상 중 적어도 하나의 제1 영역 영상으로부터, 상기 적어도 하나의 돌출 영역을 추출하고, 상기 전면 영상, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 상기 후면 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성할 수 있다.
일 실시예에 따르면, 상기 후면 영상은 상기 전면 영상에 비해 25%의 해상도를 갖고, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 및 상기 하측면 영상은 상기 전면 영역과 가까운 영역에서 상기 후면 영역과 가까운 영역에 비해 높은 해상도를 가질 수 있다.
일 실시예에 따르면, 상기 부호화부는, 미리 결정된 돌출 영역의 크기 및 미리 결정된 돌출 영역의 개수에 기초하여 상기 적어도 하나의 돌출 영역을 추출할 수 있다.
일 실시예에 따르면, 상기 부호화부는, 대상체의 움직임 정보에 기초하여 상기 적어도 하나의 돌출 영역을 추출할 수 있다.
일 실시예에 따르면, 상기 부호화부는, 상기 VR 원본 영상의 초점 값에 기초하여 상기 적어도 하나의 돌출 영역을 추출할 수 있다.
일 실시예에 따르면, 상기 부호화부는, 상기 VR 원본 영상의 전체 영역으로부터 상기 돌출 영역 및 상기 부가 정보를 생성하고, 상기 전면 영역에 대응하는 상기 돌출 영역 및 상기 부가 정보를 제외하고 상기 제1 영역에 대응하는 상기 돌출 영역 및 상기 부가 정보를 상기 부호화 VR 영상과 함께 VR 영상 파일에 저장할 수 있다.
본 개시의 일 실시예의 다른 측면에 따르면, VR 영상을 전송하는 서버에 있어서, 상기 서버는 제1항에 따른 영상 부호화 장치를 포함하고, 상기 부호화부는, 복수의 사용자의 시선 방향 각각에 대해 부호화 VR 영상 및 부가 정보를 포함하는 VR 영상 파일을 생성하고, 상기 서버는, 상기 영상 부호화 장치는, 상기 복수의 사용자의 시선 방향 각각에 대한 복수의 VR 영상 파일을 저장하는 저장부; 및 상기 복수의 VR 영상 파일 중 상기 제1 획득부에서 획득된 상기 사용자의 시선 방향에 대한 정보에 대응하는 VR 영상 파일을 클라이언트 장치로 전송하는 통신부를 포함하는, 서버가 제공된다.
본 개시의 일 실시예의 다른 측면에 따르면, 부호화 VR(virtual reality) 영상 및 부가 정보를 비트스트림으로부터 획득하는 제2 획득부; 시선 방향에 대한 정보를 획득하고, 상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하고, 상기 시선 방향에 대한 정보에 기초하여 복호화 VR 영상의 디스플레이 영역을 결정하는 복호화부를 포함하고, 상기 복호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고, 상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고, 상기 복호화부는 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하는, 영상 복호화 장치가 제공된다.
본 개시의 일 실시예의 다른 측면에 따르면, 사용자의 시선 방향에 대한 정보를 획득하는 단계; 상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하는 제1 해상도 변환 단계; 상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하는 단계; 상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는 단계; 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하는 단계; 및 상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고, 상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖는, 영상 부호화 방법이 제공된다.
본 개시의 일 실시예의 다른 측면에 따르면, 부호화 VR(virtual reality) 영상 및 부가 정보를 비트스트림으로부터 획득하는 단계; 시선 방향에 대한 정보를 획득하는 단계; 상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하는 단계; 상기 시선 방향에 대한 정보에 기초하여 복호화된 복호화 VR 영상의 디스플레이 영역을 결정하는 단계를 포함하고, 상기 부호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고, 상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고, 상기 복호화하는 단계는, 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하는 단계를 포함하는, 영상 복호화 방법이 제공된다.
본 개시의 일 실시예의 다른 측면에 따르면, 영상 부호화 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 저장매체에 저장된 컴퓨터 프로그램 제품에 있어서, 상기 영상 부호화 방법은, 사용자의 시선 방향에 대한 정보를 획득하는 단계; 상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하는 제1 해상도 변환 단계; 상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하는 단계; 상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는 단계; 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하는 단계; 및 상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고, 상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖는, 컴퓨터 프로그램 제품이 제공된다.
본 개시의 일 실시예의 다른 측면에 따르면, 영상 복호화 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 저장매체에 저장된 컴퓨터 프로그램 제품에 있어서, 상기 영상 복호화 방법은, 부호화 VR(virtual reality) 영상 및 부가 정보를 비트스트림으로부터 획득하는 단계; 시선 방향에 대한 정보를 획득하는 단계; 상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하는 단계; 상기 시선 방향에 대한 정보에 기초하여 복호화된 복호화 VR 영상의 디스플레이 영역을 결정하는 단계; 및 상기 부호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고, 상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고, 상기 복호화하는 단계는, 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하는 단계를 포함하는, 컴퓨터 프로그램 제품이 제공된다.
본 개시의 실시예들에 따르면, VR 영상 전송을 위한 네트워크 부하를 감소시키면서, 사용자의 머리 움직임에 대응하여 고화질의 영상을 끊김 없이 제공할 수 있어, 사용자 경험 및 몰입감을 향상시키는 효과가 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일 실시예에 따른 VR 영상 스트리밍 시스템을 나타낸 도면이다.
도 2는 일 실시예에 따른 서버 및 클라이언트의 동작을 나타낸 블록도이다.
도 3은 일 실시예에 따른 서버 및 클라이언트 장치의 동작을 나타낸 흐름도이다.
도 4는 일 실시예에 따른 영상 부호화 장치의 구조를 나타낸 블록도이다.
도 5는 일 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다. 도 5를 참조하여 영상 부호화 장치(400)의 동작을 상세히 설명한다.
도 6은 일 실시예에 따라 큐브 프레임으로부터 제2 영상 데이터 및 부가 정보를 생성하는 과정을 나타낸 도면이다.
도 7은 일 실시예에 따라 제1 영상 데이터 및 제2 영상 데이터로부터 부호화 VR 영상을 생성하는 과정을 나타낸 도면이다.
도 8은 일 실시예에 따른 부호화 VR 영상의 일례를 나타낸 도면이다.
도 9는 일 실시예에 따라 부호화 VR 영상이 복호화된 모습을 나타낸 도면이다.
도 10은 일 실시예에 따라 돌출 영역을 추출하는 구성을 나타낸 도면이다.
도 11은 일 실시예에 따른 부호화부의 구조를 나타낸 도면이다.
도 12는 일 실시예에 따른 부호화 VR 영상의 구조를 나타낸 도면이다.
도 13은 일 실시예에 따른 영상 복호화 장치의 구조를 나타낸 도면이다.
도 14는 일 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다.
도 15는 일 실시예에 따라 부호화 VR 영상을 복호화하는 과정을 나타낸 도면이다.
도 16은 클라이언트 장치(120)의 동작을 나타낸 흐름도이다.
도 17은 본 개시의 실시예들에 따른 효과를 설명하기 위한 도면이다.
본 명세서에서 사용되는 용어는 본 개시의 실시예들의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 개시의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시의 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 실시예들을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서 VR 영상은 360도 방향의 영상 데이터를 갖는 동영상 컨텐츠를 의미한다.
360도 비디오 스트리밍 분야는 전송되어야할 파일 사이즈를 줄이는 것이 핵심이다. 이러한 360도 비디오 스트리밍은 VR 장비에서 주로 재생되는데, 이때 파일 사이즈는 몇 배로 증가하게 된다. 예를 들어, 사용자의 양안에 각각 1080x1200의 해상도를 90FPS(Frame per second) 제공하는 VR 장비(예를 들면, Oculus Rift, HTC Vive, Google Daydream, 삼성 기어VR 등)는 일반 디스플레이 기준 FHD(1920x1080) 해상도를 제공할 때 보다 평균적으로 6배의 전송량 증가를 필요로 한다. 이 전송량을 지원하기 위해서는 네트워크는 50Mbps 의 속도를 유지 해야만 한다.
뷰포트-적응형(Viewport-adaptive) 스트리밍 기술은 360도의 콘텐츠 중 현재 사용자의 FoV(Field of View) 만을 전송함으로써 네트워크의 전송속도 부담을 줄여주고, 결국 제한적인 네트워크 환경 하에서도 스트리밍을 제공할 수 있다. 사용자의 FoV 가 이동하게 되면 해당 FoV가 정면으로 인코딩되어 있는 파일을 스트리밍 받는다. 360도 비디오 기준으로 정면은 30개로 한정되어 인코딩 한다. 하지만 이렇게 제한적인 콘텐츠가 제공되는 상황에서의 문제점은 사용자의 움직임을 예측하기가 매우 어렵다는 것이다. VR 사용자의 머리 움직임을 기록하여 공개한 데이터세트에서는 사용자의 머리 움직임은 급작스레 움직이며 빠르게 움직이는 패턴 또는 계속해서 움직이는 패턴이 대부분을 차지하고 있다고 분석하고 있다. 따라서 제한적인 FoV만을 스트리밍 하는 것은 결국 몰입 감을 저해할 수밖에 없는 것이다.
본 개시의 실시예들은, VR 영상을 위한 적응형-스트리밍(Adaptive Streaming) 시스템 설계에 목적을 두고 있다. 본 개시의 실시예들은, 기하학적 구조인 피라미드 형태의 인코딩을 통해 데이터 전송량을 줄이고 시각적 돌출도(Visual Saliency) 모델링을 콘텐츠에 적용시킴으로써, 사용자의 움직임을 학습하고 돌출 포인트(Saliency point)들이 분포된 시각적 요소(Visual element)들을 학습된 모델링을 기준으로 선정하여 예측 버퍼링함으로써, 사용자의 움직임이 발생했을 때 사용자가 전체적으로 낮은 해상도를 서비스 받더라도 사용자가 인지할 가능성이 높은 지역인 돌출 부분들은 사용자단의 기기에서 미리 스티칭(stitching) 되어 사용자는 높은 해상도를 서비스 받는다고 인지하도록 하는 기술이다. 이 버퍼링으로 인해 데이터의 전송량은 피라미드 인코딩에 비해 조금 증가하나, 사용자의 예측하기 힘든 머리의 움직임에 대응할 수 있으며, 궁극적으로 몰입도 높은 VR경험을 제공한다.
뷰 포트(Viewport)의 전환 과정에는 자연스레 서비스의 지연(Latency)이 상반된다. 이는 머리의 움직임이 예측하기 힘들고 기계 학습된 데이터가 있다 하더라도 사용자 개개인의 편차가 크기 때문에 기존의 접근 방식을 넘어서는 다른 접근방식이 필요하다. 기존의 접근 방식은 360도 비디오 뷰 포트 스트리밍에서 다음과 같은 문제에 직면하게 된다. 첫째, 비디오 버퍼링을 최소화하기 위해 짧게 자른 프레임 사이즈는 더욱 큰 프레임 오버헤드를 야기한다. 둘째, 작아진 버퍼링 사이즈는 서비스 지연(Latency)의 주요원인이 된다.
본 개시의 실시예들은, 버퍼링 사이즈를 최적화된 사이즈까지 늘림으로써 지연 시간을 감소시킬 수 있으며, 예측이 어려운 사용자의 움직임 또한 시각 요소 스티칭(Visual element stitching)을 통해 사용자가 버퍼링 지연을 거의 인지하지 못하도록 한다. 따라서 본 개시의 실시예들은, VR 환경 하에서 낮은 지연(low latency)를 제공하고 줄어든 파일사이즈의 영향을 최소화 하여 사용자의 몰입 감을 증가 시킨다.
도 1은 일 실시예에 따른 VR 영상 스트리밍 시스템을 나타낸 도면이다.
VR 영상 스트리밍 시스템(100)은 서버(110)와 클라이언트 장치(120)를 포함한다.
서버(110)는 VR 영상을 저장하고 스트리밍(streaming) 서비스를 제공하는 장치이다. 서버(110)는 고해상도의 VR 영상을 저장하고 있고, 클라이언트 장치(120)의 요청에 따라 부호화된 VR 영상(140)을 스트리밍할 수 있다. 서버(110)는 클라이언트 장치(120)로부터 사용자(130)의 시선 방향에 대한 정보(FoL(Field of Look) 정보)를 수신하고, FoL 정보에 기초하여 VR 영상을 부호화하고, 클라이언트 장치(120)로 부호화된 VR 영상을 스트리밍한다. 서버(110)는 추가로 서버(110)와 클라이언트 장치(120)의 대역폭 추정 값에 대한 정보를 수신하고, 대역폭 추정 값을 VR 영상의 부호화 처리에 이용할 수 있다.
클라이언트 장치(120)는 부호화된 VR 영상을 서버(110)로부터 수신하고 복호화하여 복호화된 VR 영상(150)을 생성하고, FoL에 기초하여 VR 영상 중 사용자의 시선 방향에 대응하는 영역을 디스플레이한다. 클라이언트 장치(120)는 VR 영상을 재생하는 장치로서, HMD(Head mounted display) 형태로 구현될 수 있다.
본 개시의 실시예들은, 서버(110)로부터 클라이언트 장치(120)로 전송하기 위해 VR 영상의 부호화 처리를 할 때, FoL에 기초하여 정면의 영상을 고해상도로 인코딩하고, 보고 있지 않지만 볼 확률이 높은 측면 부분은 정면에 비해 낮은 해상도로 부호화하고, 정면의 정반대 부분, 즉 후면 부분은 측면 부분보다 낮은 해상도로 인코딩하여 전체 파일 사이즈를 25% 수준으로 줄인다. 또한 본 개시의 VR 영상 스트리밍 시스템(100)은 사용자(130)의 머리 움직임으로 인해, FoL이 변경되면, 변경된 FoL에 해당하는 정면 영상이 서버(110)에서 패치(fetch)되어 변경된 FoL에서 다시 고해상도의 정면 영상을 제공한다. 일 실시예에 따르면, 다양한 정면 방향에 대해 각각 부호화 VR 영상을 서버(110)에서 유지하고 있다가 상황에 맞는 비디오 프레임이 사용자에게 제공함으로써, 사용자는 고해상도를 서비스 받을 수 없는 상황에 있을 때도 줄어든 파일 사이즈로 인해 고해상도의 경험을 할 수 있게 된다.
이렇게 줄어든 파일 사이즈로 인해 네트워크의 부하를 줄일 수 있는 장점이 있지만, 여기에는 단점도 존재한다. 사용자(130)의 움직임을 예측하기란 아주 어려워서 사용자(130)가 계속해서 낮은 화질이 제공되는 부분만 정면으로 보려고 한다면, 서버(110)와 클라이언트 장치(120)의 버퍼링 기술을 쓸 수 없어지게 되고 이는 결국 낮은 서비스 품질로 귀결된다.
본 개시의 실시에들은, 컴퓨터 비전 기술인 돌출(Saliency)을 이용하여, 360도 비디오 콘텐츠의 인코딩 자체를 멀티 레이어(multi layer)로 서버 단에서 유지 하게 되며, 패치된 멀티 레이어의 콘텐츠는 사용자 단에서 스티칭(stitching) 되어 사용자에게 제공되게 된다. 여기에 예측하기 힘든 사용자의 행동 패턴을 돌출 포인트(Saliency point)들을 기준으로 기계학습(Machine learning - training) 하여 실시간 뉴럴네트워크(Neural Network) 기술인 LSTM(Long short-term memory)을 이용해 예측한다.
본 개시의 실시예들에 따르면, 사용자(130)의 머리 움직임 패턴은 최신의 뉴럴네트워크 기술로 예측되게 되며 360도 비디오 콘텐츠는 줄어든 파일 사이즈로 인해 네트워크의 부하를 줄이고 예측된 돌출 포인트들로 인해 사용자는 고해상도의 경험을 할 수 있게 된다. 따라서 사용자는 줄어든 파일 사이즈를 인지 못하게 되지만 높은 몰입 감을 경험할 수 있게 된다.
또한, 본 개시의 실시예들에 따르면, 네트워크 데이터 감소로 인해, VR 영상 스트리밍 서비스를 무선으로 제공하는 것도 가능해질 수 있다.
도 2는 일 실시예에 따른 서버 및 클라이언트의 동작을 나타낸 블록도이다.
서버(110)는 큐브 프레임(210)을 생성하고, 피라미드 인코딩(220) 처리를 하여 피라미드 인코딩된 제1 데이터(225)를 생성한다. 큐브 프레임(210)은 VR 영상을 정육면체 또는 직육면체 형태로 배치한 영상 데이터이다. 큐브 프레임(210)의 해상도는 실시예에 따라 다양하게 결정될 수 있다. 서버(110)는 큐브 프레임(210)을 저장하고, 클라이언트 장치(120)의 요청에 따라, 클라이언트 장치(120)의 FoV(Field of View)를 기준으로 큐브 프레임을 인코딩한 부호화 VR 영상(250)을 생성하여 클라이언트 장치(120)로 전송할 수 있다. 여기서 클라이언트 장치(120)의 FoV는 클라이언트 장치(120) 사용자의 시선 방향에 의해 결정된다. 즉, 클라이언트 장치(120)의 FoV는 클라이언트 장치(120)의 사용자의 시선 방향에 대한 정보를 나타낸다.
피라미드 인코딩(220)은 FoV를 기준으로 정면 데이터는 높은 해상도로 인코딩하고, 후면 데이터는 낮은 해상도로 인코딩하고, 측면 및 상하면은 전면에서 후면으로 갈수록 점진적으로 해상도가 감소하는 형태로 인코딩하는 방식을 의미한다. 피라미드 인코딩된 제1 영상 데이터(225)는 도 2에 도시된 바와 같이 직사각형 형태로 픽셀이 배치되어 인코딩될 수 있다. 서버(110)는 클라이언트 장치(120)로부터 FoV를 수신하여, FoV를 기준으로 큐브 프레임(210)을 피라미드 인코딩할 수 있다.
피라미드 인코딩(250)은 정면 90도의 FoV를 고화질로 제공하는 동시에 현재 사용자가 보고 있는 FoV 이외의 각도도 정면으로부터의 거리를 기준으로 가까우면 높은 화질로 인코딩하고, 정면에서 멀어지는 정면의 정반대점은 가장 낮은 화질로 인코딩하여, 뷰포트-적응형(Viewport-adaptive)이 가지는 단점을 극복할 수 있다. 피라미드 인코딩은 기하학적으로 피라미드 형상을 갖도록 픽셀들을 배치하여 인코딩한다. 이렇게 부호화된 콘텐츠는 전체 360도 콘텐츠가 전송되는 데이터양 기준 20% 수준으로 전송량을 줄일 수 있다. 또한 사용자가 FoV를 이동하더라도 해당 FoV에는 낮은 해상도 일지라도 영상이 존재하기 때문에 사용자가 느끼는 불편함은 많이 줄일 수 있다. 이것은 사용자가 FoV를 천천히 움직이거나 정면에서 가까운 곳으로 점진적으로 움직이는 패턴이 지배적일 때 그 유용성을 더욱 발휘하게 된다. 또한 사용자가 완전히 FoV를 이동하게 되면, 이동된 FoV가 정면인 상황을 기준으로 부호화된 파일을 스트리밍하게 된다. 이때 버퍼에 쌓여있던 이전의 FoV 기반 파일들은 그 유용성을 상실하기 때문에 폐기되거나 다음 프레임이 버퍼에 쌓이기 전까지만 사용되게 된다. 버퍼링을 예측해서 미리 하게 되면, 예측이 틀릴 경우 소비되는 리소스가 생기게 된다. 실제 서비스 되고 있는 스트리밍 기술들은 6초를 최적의 버퍼 시간으로 정의하고 있다. 이러한 방식에는 예를 들면, HLS(HTTP Live Streaming) 방식이 있다. 뷰포트-적응형(Viewport-adaptive) 기술들은 상기 설명한 고유특성상 6초보다 훨씬 짧은 시간으로 버퍼 시간이 세팅되어야 하며, 기본 값으로 1초가 설정 된다. 만약, 길게 버퍼링을 할 경우 예측하기 힘든 사용자의 움직임으로 인해 버퍼링의 기여도가 낮아지게 되어, 서비스 품질 저하로 이어지게 된다. 서비스 품질 저하는 몰입도가 중요한 VR서비스 에서 치명적인 단점이 된다.
또한, 서버(110)는 큐브 프레임(210)에서 돌출 영역 추출 처리(230)를 하여 돌출 영역(salient region)을 추출하고, 돌출 영역을 포함하는 제2 영상 데이터(235)를 생성한다. 돌출 영역은 이미지 데이터로부터 돌출도(saliency)에 기반하여 추출된 영역을 의미한다. 돌출 영역의 크기, 개수, 및 형태는 실시예에 따라 다양하게 설정될 수 있다. 일 실시예에 따르면, 서버(110)는 FoV 기준으로 정면 데이터를 제외한 나머지 영역(즉, 상측면, 하측면, 좌측면, 우측면, 및 후면)에서 돌출 영역을 추출할 수 있다. 또한, 일 실시예에 따르면, 돌출 영역은 피라미드 인코딩된 제1 영상 데이터(225)의 높이의 1/4 크기의 정사각형 형태를 가지고, 그 개수는 4개로 정의될 수 있다. 또한, 돌출 영역 추출 처리(230) 과정 중, 서버(110)는 돌출 영역의 큐브 프레임(210) 내에서의 위치 정보를 포함하는 부가 정보를 생성한다.
돌출(Saliency)은 사람의 시점을 모델링 하는 기술로서 이미지 또는 멀티미디어 연구 분야에서 사용자의 시각적 관심도를 예측하는 용도로 이용된다. 이 Saliency 기술은 사람의 시각이 어디에 집중될 것인가를 멀티미디어 콘텐츠를 분석하여 도출한다. 일 실시예에 따르면, 사람의 얼굴, 표지판 등의 글자, 그리고 움직이고 있는 물체는 사람의 시각적 관심도를 증가시키는 것으로 분류되어, 돌출 영역으로 추출된다. VR 콘텐츠에서의 사용자의 인지행동 특성은 사용자 머리의 움직임, 안구의 초점, 그리고 VR 세팅환경에 의해 한정적으로 제약 되어버리는 사용자 움직임으로 인해 지배된다고 연구되었다. 이는 VR 경험에서 사람의 머리 움직임이 자연스레 인터페이스로 이용되기 때문이다. 머리의 움직임과 안구의 초점은 인간의 신경계와 밀접하게 연계되어있기 때문에 사람의 뇌가 인지하는 관심은 이러한 VR 돌출(Saliency) 모델링의 기술발전으로 더욱 정밀하게 수치화 된다.
다음으로 서버(110)는 피라미드 인코딩된 데이터(225)와 돌출 영역(233)을 연결하는 처리(240)를 하여, 부호화 VR 영상(250)을 생성한다. 서버(110)는 부호화 VR 영상(250)과 부가 정보를 포함하는 비트스트림을 생성하여 클라이언트 장치(120)로 스트리밍한다.
일 실시예에 따르면, 서버(110)는 원본 VR 영상의 각 프레임에 대해 미리 설정된 복수의 FoV 별로 부호화 VR 영상을 미리 생성하여 저장하고, 클라이언트 장치(120)로부터 수신된 FoV 정보에 따라 해당 부호화 VR 영상을 검색하여 클라이언트 장치(120)로 스트리밍할 수 있다. 서버(110)는 부호화 VR 영상 및 부가 정보를 포함하는 VR 영상 파일을 생성하고, 저장부(미도시)에 저장할 수 있다. VR 영상 파일은 사용자의 시선 방향 별로 생성될 수 있다. 또한, VR 영상 파일은 VR 영상의 재생 시점 별로 생성될 수 있다. 서버(110)는 클라이언트 장치(120)로부터 수신된 사용자의 시선 방향에 대한 정보에 기초하여, 저장부에 저장된 복수의 VR 영상 파일 중 사용자의 시선 방향에 대응하는 VR 영상 파일을 클라이언트 장치(120)로 전송할 수 있다. 이러한 구성에 의해 서버(110)는 VR 영상의 스트리밍 속도를 향상시킬 수 있다.
클라이언트 장치(120)는 서버(110)로부터 수신된 비트스트림으로부터 부호화 VR 영상(250) 및 부가 정보를 추출하여, 피라미드 디코딩 및 스티칭 처리(260)를 한다. 부호화 VR 영상(250)은 피라미드 인코딩되어 있는 상태인데, 클라이언트 장치(250)는 피라미드 디코딩 처리를 통해 피라이드 인코딩된 영상을 다시 큐브 프레임(210) 형태로 디코딩한다. 또한, 클라이언트 장치(120)는 부호화 VR 영상(250) 내의 돌출 영역을 획득하고, 부가 정보에 포함된 위치 정보를 이용하여, 돌출 영역을 디코딩된 큐브 프레임 내에 배치하는 스티칭 처리를 한다. 이와 같은 피라미드 디코딩 처리 및 돌출 영역의 스티칭 처리에 의해, 복호화 VR 영상(270)이 생성된다. 클라이언트 장치(120)는 실시간 FoV를 기준으로 복호화 VR 영상(270)에서 디스플레이할 영역을 결정하여 디스플레이한다. 이 때, 실시간 FoV는 복호화 VR 영상(270)에서 큐브 프레임(210)을 부호화할 때 기준이 된 FoV와 다를 수 있다.
도 3은 일 실시예에 따른 서버 및 클라이언트 장치의 동작을 나타낸 흐름도이다.
서버(110)는 큐브 프레임으로부터 돌출도 맵(saliency map)을 분석한다(S302). 돌출도 맵은 큐브 프레임에서 소정의 단위 영역마다 돌출도를 정의한 맵이다. 일 실시예에 따르면, 돌출도 맵을 위한 단위 영역은 돌출 영역의 사이즈보다 작게 설정될 수 있다.
서버(110)는 소정의 기준으로 정의된 돌출도에 기반하여 돌출도 맵을 생성한다. 소정의 기준은 예를 들면, 피사체 움직임, 초점 값, 대역폭, 사용자 머리 움직임 히스토리, 사용자 머리 움직임 패턴, 미리 정의된 돌출 객체, 및 사용자의 안구 초점 중 적어도 하나 또는 이들의 조합일 수 있다.
다음으로 서버(110)는 돌출도 맵에 기반하여 추출된 돌출 영역과 피라미드 인코딩된 영상을 연결하여 인코딩하고, 부호화 VR 영상을 생성한다(S304). 일 실시예에 따르면, 서버(110)는 서버(110)와 클라이언트 장치(120) 사이의 대역폭 등 통신 상태에 대한 정보에 기초하여 부호화 VR 영상의 사이즈를 조절할 수 있다. 예를 들면, 서버(110)는 클라이언트 장치(120)와의 통신의 대역폭이 소정 기준 값보다 작은 경우, 피라미드 인코딩된 영상의 해상도를 더 낮게 설정하거나, 돌출 영역의 개수를 감소시켜 부호화 VR 영상의 사이즈를 조절할 수 있다.
다음으로 서버(110)는 부호화 VR 영상을 클라이언트 장치(120)로 전송한다(S306).
클라이언트 장치(120)는 수신된 부호화 VR 영상을 디코딩하고, 돌출 영역을 부가 정보에 포함된 위치 정보에 기초하여 디코딩된 큐브 프레임에 스티칭하여 복호화 VR 영상을 생성한다(S308). 다음으로 클라이언트 장치(120)는 복호화 VR 영상에서 FoV를 기준으로 디스플레이 영역을 결정하여 플레이어에서 재생한다(S310).
도 4는 일 실시예에 따른 영상 부호화 장치의 구조를 나타낸 블록도이다.
본 개시의 실시예들의 영상 부호화 장치(400)는 VR 영상을 부호화하기 위한 장치이다. 일 실시예에 따르면, 영상 부호화 장치(400)는 도 1의 서버(110)에 구비될 수 있다. 영상 부호화 장치(400)는 부호화부(410), 비트스트림 생성부(420), 및 제1 획득부(430)를 포함한다.
부호화부(410)는 VR(virtual reality) 원본 영상으로부터 부호화 VR 영상 및 부가 정보를 생성한다. VR 원본 영상은 360도 방향의 VR 영상으로서 모든 방향에서 균일한 해상도를 갖는 영상일 수 있다. 부호화 VR 영상은 앞서 설명한 피라미드 인코딩된 제1 영상 데이터 및 적어도 하나의 돌출 영역의 영상 데이터를 포함하는 제2 영상 데이터를 포함하는 부호화 영상이다. 부가 정보는 부호화 VR 영상에 포함된 돌출 영역의 위치 정보를 포함한다. 돌출 영역의 위치는 큐브 프레임에서의 좌표 위치로 정의될 수 있다. 부호화 VR 영상 및 부가 정보는 소정의 형식의 파일에 저장될 수 있다. 부호화부(410)는 생성된 부호화 VR 영상 및 부가 정보를 비트스트림 생성부(420)로 출력한다.
비트스트림 생성부(420)는 부호화 VR 영상 및 부가 정보를 포함하는 비트스트림을 생성한다. 부호화 VR 영상 및 부가 정보는 비트스트림의 형태로 기록매체에 저장되거나 통신 채널을 통해 전송된다. 영상 부호화 장치(400)는 비트스트림을 기록매체에 저장하거나, 외부 장치로 전송할 수 있다.
제1 획득부(430)는 사용자의 시선 방향에 대한 정보를 획득한다. 사용자의 시선 방향에 대한 정보는 FoL 정보로서, 클라이언트 장치로부터 수신할 수 있다. 본 명세서에서는 사용자의 시선 방향에 대한 정보를 FoL 정보로 지칭한다. 제1 획득부(430)는 외부 장치와 네트워크를 통해 통신하는 통신부로 구현될 수 있다. 제1 획득부(430)는 획득된 FoL 정보를 부호화부(410)로 출력한다.
도 5는 일 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다. 도 5를 참조하여 영상 부호화 장치(400)의 동작을 상세히 설명한다.
우선 제1 획득부(430)에서 FoL 정보를 획득한다(S502).
다음으로 부호화부(410)는 FoV 정보에 기초하여 VR 원본 영상에서 전면 영역 이외의 부분, 즉 좌측면, 우측면, 상측면, 하측면, 후면 영역의 해상도를 낮게 변환하는 다운 샘플링 처리를 수행한다(S504). 일 실시예에 따르면, 후면 영역의 해상도는 정면 영역의 해상도의 25%로 변환되고, 좌측면, 우측면, 상측면, 및 하측면 영역은 전면에서 후면으로 가면서 해상도가 서서히 줄어드는 형태로 변환된다. 해상도를 변환하는 처리에 의해 피라미드 인코딩된 제1 영상 데이터가 생성된다.
다음으로 부호화부(410)는 적어도 하나의 돌출 영역을 추출한다(S506). 일 실시예에 따르면, 부호화부(410)는 VR 원본 영상으로부터 돌출 영역을 추출한다. 다른 실시예에 따르면, 부호화부(410)는 피라미드 인코딩된 제1 영상 데이터로부터 돌출 영역을 추출한다. 적어도 하나의 돌출 영역을 추출하는 처리에 의해 적어도 하나의 돌출 영역의 영상 데이터를 포함하는 제2 영상 데이터가 생성된다.
제2 영상 데이터는 제1 영상 데이터의 제1 영역의 데이터보다 높은 해상도를 갖는다. 일 실시예에 따르면, 제2 영상 데이터는 제1 영상 데이터의 전면 영역의 데이터와 동일한 해상도를 가질 수 있다. 이러한 구성에 의해, 클라이언트 장치의 사용자의 시선이 도달할 가능성이 높은 돌출 영역에서 고해상도의 영상을 제공하여, 사용자에게 실시간으로 고해상도 VR 영상을 제공할 수 있다.
다음으로 부호화부(410)는 제1 영상 데이터 및 제2 영상 데이터를 포함하는 부호화 VR 영상을 생성한다(S508).
또한, 부호화부(410)는 돌출 영역의 위치를 나타내는 좌표 정보를 포함하는 부가 정보를 생성한다(S510). 부가 정보는 메타 파일 형태(예를 들면 JSON, CSV)로 생성될 수 있다.
일 실시예에 따르면, 부호화부(410)는 돌출 영역 및 부가 정보를 포함하는 메타데이터를 추출할 때, VR 원본 영상의 전체 영역으로부터 메타데이터를 생성하고, 메타데이터 중 전면 영역에 대응하는 메타데이터를 제외한 제1 영역에 대한 메타데이터를 부호화 VR 영상과 함께 저장할 수 있다. 다른 실시예에 따르면, 부호화부(410)는 VR 원본 영상의 전체 영역에 대한 메타데이터를 생성하고 전체 영역에 대한 메타데이터를 부호화 VR 영상과 함께 저장한다. 제1 영상 데이터 및 메타데이터가 부호화 VR 영상을 저장하는 VR 영상 파일에 함께 저장될 수 있다.
추가로 메타데이터는 제1 영상 데이터 및 제2 영상 데이터와 관련된 정보, 예를 들면, 파일 압축 방식, 파일 압축에 대한 정보, 영상 데이터 촬영 시간 정보, 영상 파일 생성 시간 정보 등을 포함할 수 있다.
부호화부(410)는 부호화 VR 영상 및 부가 정보를 비트스트림 생성부(320)로 출력하고, 비트스트림 생성부(320)는 부호화 VR 영상 및 부가 정보를 비트스트림으로 변환하여 출력한다(S512).
도 6은 일 실시예에 따라 큐브 프레임으로부터 제2 영상 데이터 및 부가 정보를 생성하는 과정을 나타낸 도면이다.
부호화부(410)는 VR 원본 영상으로부터 FoL에 대응하는 전면 영역을 갖는 큐브 프레임(602)를 생성한다. 큐브 프레임(602)은 다시 전면(F), 후면(Back), 우측면(R), 좌측면(L), 상측면(U), 및 하측면(D)으로 프레임 분리 처리를 거친다(604). 부호화부(410)는 분리된 프레임들(R, L, U, D, F, B) 중 후면(Back), 좌측면(L), 전면(F), 우측면(R), 및 후면(Back)을 수평으로 연결하여 수평 뷰 프레임(608)을 생성한다(606). 다음으로 부호화부(410)는 상측면(U)과 하측면(D)을 수평 뷰 프레임(608)에 수직으로 연결한다(610). 이 때, 상측면 레이어(U-layer, 612)는 5개의 상측면으로 이루어지고, 상측면 레이어(612)의 5개의 면은 각각 -180도, -90도, 0도, 90도, 및 180도만큼 회전되어 있다. 여기서 양의 각도는 시계 방향의 회전을 의미하고 음의 각도는 반시계 방향의 회전을 의미한다. 상측면 레이어(612)는 수평 뷰 프레임(608) 윗면에 배치된다. 다음으로, 하측면 레이어(D-layer, 614)가 수평 뷰 프레임(608) 아랫면에 배치된다. 하측면 레이어(614)의 5개의 면은 각각 180도, 90도, 0도, -90도, 및 -180도만큼 회전되어 있다.
다음으로 부호화부(410)는 상측면 레이어(612), 수평 뷰 프레임(608), 및 하측면 레이어(614)로 이루어진 중간 프레임(616)으로부터 돌출도 맵(saliency map)을 추출한다(618). 일 실시예에 따르면, 상측면 및 하측면의 회전에 의해, 수평 뷰 프레임(608) 내부의 시각적 컨텍스트뿐만 아니라 수평 뷰 프레임과 함께 상측면 및 하측면의 시각적 컨텍스트를 캡쳐할 수 있다.
다음으로 부호화부(410)는 추출된 돌출도 맵을 3개의 레이어로 분할한다. 3개의 레이어는 상측면 돌출도(US, up saliency) 레이어, 수평 뷰 돌출도(HVS, horizontal view saliency) 레이어, 및 하측면 돌출도(DS, down saliency) 레이어를 포함한다. 상측면 돌출도 레이어 및 하측면 돌출도 레이어에 대해, 부호화부(410)는 각 레이어를 동일한 사이즈로 5개의 면으로 동일하게 나눌 수 있다.
다음으로 부호화부(410)는 상측면 돌출도 레이어 및 하측면 돌출도 레이어의 각 면을 610번 처리에서와 반대 방향으로 회전하여, 상측면 돌출도 레이어의 각 면을 하나의 면으로 병합하고, 하측면 돌출도 레이어의 각 면을 하나의 면으로 병합한다. 다음으로 부호화부(410)는 상측면 돌출도 레이어의 병합된 면을 수평 뷰 돌출도 레이어의 센터의 위에 연결하고, 하측면 돌출도 레이어의 병합된 면을 수평 뷰 돌출도 레이어의 센터의 아래에 연결한다. 이러한 처리에 의해, 십자가 모양의 돌출도 맵(620)이 생성된다.
다음으로 부호화부(410)는 십자가 모양의 돌출도 맵에서 소정 개수 및 소정 사이즈의 돌출 영역 패치들(624)을 선택한다(622). 일 실시예에 따르면, 클라이언트 장치의 사용자의 머리 움직임 변화 동작을 돌출 영역 선택에 반영하기 위해, 높은 돌출도 점수를 갖고 현재 머리 움직임 변화 위치에 가까운 돌출 영역 패치에 우선권을 부여하였다.
부호화부(410)는 돌출도 맵에서 선택된 돌출 영역 패치(624)의 위치에 대응하는 원본 큐브 맵 프레임의 영역을 잘라 돌출 영역의 영상 데이터인 제2 데이터를 생성한다. 또한, 부호화부(410)는 원본 큐브 맵에서의 돌출 영역들의 위치를 json 파일로 저장한다. 여기서 json 파일은 부가 정보에 대응된다.
도 7은 일 실시예에 따라 제1 영상 데이터 및 제2 영상 데이터로부터 부호화 VR 영상을 생성하는 과정을 나타낸 도면이다.
일 실시예에 따르면, 제1 영상 데이터(702)는 수평으로 연결된 후면(Back), 좌측면(L), 전면(F), 우측면(R), 및 후면(Back)과 전면(F)의 상하에 각각 연결된 상측면(U)과 하측면(D)을 포함한다. 또한, 제2 영상 데이터(704)는 복수의 돌출 영역의 영상 데이터(S)를 포함한다.
부호화부(410)는 제1 영상 데이터(720)의 해상도를 변환한다(706). 여기서 후면(Back)은 전면(F)의 해상도의 25%로 다운샘플링 된다. 우측면(R), 좌측면(L), 상측면(U), 및 하측면(D)은 전면에서 후면으로 갈수록 해상도가 감소되도록 다운샘플링된다. 구체적으로, 우측면(R), 좌측면(L), 상측면(U), 및 하측면(D)에서 전면(F)에 접하는 열(708)의 픽셀 수는 전면(F)의 대응하는 행 또는 열의 픽셀 수와 같고, 우측면(R), 좌측면(L), 상측면(U), 및 하측면(D)에서 후면(Back)에 접하는 열(710)의 픽셀 수는 후면(Back)의 대응하는 행 또는 열의 픽셀 수와 같게 설정될 수 있다. 이러한 다운 샘플링에 의해 우측면(R), 좌측면(L), 상측면(U), 및 하측면(D)은 사다리꼴 형태를 갖게 된다.
돌출 영역의 영상 데이터들(S)의 해상도는 전면(F)과 동일하게 설정된다.
부호화부(410)는 전면(F), 우측면(R), 좌측면(L), 상측면(U), 하측면(D), 후면(Back), 및 돌출 영역의 영상 데이터들(S)을 직사각형 형태로 배치하여(712), 부호화 VR 영상(718)을 생성한다. 부호화 VR 영상(718)은 제1 영상 데이터(702)를 저장하는 제1 영상 데이터 영역(714), 및 제2 영상 데이터(704)를 저장하는 제2 영상 데이터 영역(716)을 포함할 수 있다.
도 8은 일 실시예에 따른 부호화 VR 영상의 일례를 나타낸 도면이다.
일 실시예에 따르면, 부호화 VR 영상(808)은 전면 영상(802), 좌측면, 우측면, 상측면, 하측면, 및 후면을 포함하는 제1 영역 영상(804), 및 돌출 영역 영상(806)을 포함할 수 있다. 돌출 영역 영상(806)은 복수의 돌출 영역 영상(820, 822, 824, 826)을 포함하고, 제1 영역 영상(804) 내의 돌출 영역들(810, 812, 814, 및 816)에 각각 대응될 수 있다. 돌출 영역 영상 각각(820, 822, 824, 826)은 제1 영역 영상(804) 내의 돌출 영역들(810, 812, 814, 및 816)의 영상 데이터보다 높은 해상도를 가질 수 있다.
도 9는 일 실시예에 따라 부호화 VR 영상이 복호화된 모습을 나타낸 도면이다.
본 개시의 실시예들에 따라 부호화된 부호화 VR 영상을 복호화하면, 도 9에 도시된 바와 같이 육면체 형태로 복호화될 수 있다. 복호화 VR 영상(900)은 전면(904)에서 가장 높은 해상도를 갖고, 상측면(906), 하측면, 우측면, 및 좌측면(908)은 전면(904)에서 후면으로 가면서(907) 해상도가 점점 낮아진다. 돌출 영역 영상(910, 912)은 부가 정보에 기초하여 육면체의 해당 위치에 스티칭된다.
사용자의 FoL은 다양한 패턴으로 변화되는데, 본 개시의 실시예들은 사용자의 FoL이 도달할 가능성이 높은 전면, 전면과 가까운 영역, 및 돌출 영역에 대해 고해상도의 영상의 제공하고, 사용자의 FoL이 도달할 가능성이 낮은 후면, 후면과 가까운 영역에 저해상도의 영상을 제공하여, 사용자의 FoL이 변화될 때, 사용자가 버퍼링 지연을 거의 느끼지 못하도록 할 수 있는 효과가 있다.
또한, 본 개시의 실시예들은 정면은 항상 최상의 품질로 일관적 인코딩을 하게 되는점에서, Foveation기술로 대표되는 멀티레이어 스트리밍 기술과는 차이를 둔다. 전면에 항상 최상의 화질을 제공하는 것은 어디를 보는지 정확한 피드백이 어려운 VR 특성 상 필수적인 요소이다. 몰입도 저하는 조금의 화질 차이도 민감하게 받아들여지는 HMD 세팅에서는 치명적일 수 있다. 본 개시의 실시예들은 정면을 일관적으로 인코딩함으로써 사용자의 미세한 움직임을 수용할 수 있는 장점을 가지게 된다.
만약, FoV만 버퍼링되어 FoV가 이동하게 되면 영상이 존재하지 않음으로써 사용자는 영상 단절을 경험하게 된다. 영상 단절을 경험하는 경우, 높은 지연으로 인해 겪는 스트리밍 서비스 지연에 해당되며, 버퍼링이 쌓이기 전까지 서비스할 영상이 기기에 없는 상황이다. 피라미드 인코딩의 경우 옆면의 화질이 점진적으로 인코딩되기 때문에 완전히 측면으로 가지 않을 때까지 점진적으로 화질의 악화를 느끼지만 갑자기 사용자 경험이 떨어지지는 않는다. 피라미드 인코딩의 경우, 네트워크의 품질 저하로 인해 겪게 되는 화질저하가 문제되며, 정확한 FoV가 버퍼링되기까지 서비스 품질의 저하가 지속된다. 본 개시의 실시예들에 따르면, 영상 내의 피사체들의 움직임이 일어나더라도 사용자들은 FoV변화로 인한 화질의 저하를 느끼지 못하게 되는데, 이는 주요 초점의 포인트는 모두 고화질로 이미 버퍼링 되어 있기 때문이다. 하지만 돌출 포인트(Saliency point)를 벗어난 저 화질의 시각적 요소(Visual Element)들을 인지하기 시작하면 VR 경험의 차이를 인지하게 된다. 따라서 본 개시의 실시예들은 버퍼링 지연을 최소화 함에 의해 사용자의 몰입 감을 증대 시킬 수 있고, 네트워크의 부하도 줄일 수 있다.
도 10은 일 실시예에 따라 돌출 영역을 추출하는 구성을 나타낸 도면이다.
일 실시예에 따르면, 부호화부(410)는 VR 영상으로부터 적어도 하나의 돌출 영역(1012, 1014, 1016, 1018)을 추출할 수 있다(1020). 돌출도를 판단하는 기준(1022)은 하나 또는 복수개의 조합으로 이루어질 수 있다. 부호화부(410)는 돌출도가 높은 영역을 돌출 영역으로 결정할 수 있다.
일 실시예에 따르면, 부호화부(410)는 피사체의 움직임에 기초하여 돌출도를 판단할 수 있다. 예를 들면, 피사체의 움직임이 큰 영역은 높은 돌출도를 가질 수 있다.
다른 예로서, 부호화부(410)는 영상의 초점 값에 기초하여 돌출도를 판단할 수 있다. 초점 값은 VR 영상을 촬영한 장치에서 생성된 초점 값이거나, 영상의 컨트라스트에 기초하여 산출된 초점 값일 수 있다. 초점 값이 높은 영역은 높은 돌출도를 가질 수 있다.
다른 예로서, 부호화부(410)는 클라이언트 장치의 사용자의 머리 움직임 이력에 기초하여 돌출도를 판단할 수 있다. 부호화부(410)는 클라이언트 장치로부터 실시간으로 사용자의 머리 움직임에 대한 정보를 수신할 수 있다. 사용자의 머리 움직임 이력에 기초하여, FoL이 도달할 가능성이 높은 영역은 높은 돌출도를 가질 수 있다.
다른 예로서, 부호화부(410)는 돌출 객체에 기초하여 돌출도를 판단할 수 있다. 돌출 객체는 사용자의 시선이 닿을 가능성이 높은 객체의 유형으로, 예를 들면 사람 얼굴, 표지말, 글자 등의 객체가 돌출 객체로 정의될 수 있다. 돌출 객체는 미리 정의된 객체이거나, 서버(110)에서 학습을 통해 도출된 객체일 수 있다. 돌출 객체가 존재하는 영역은 높은 돌출도를 가질 수 있다.
다른 예로서, 부호화부(410)는 클라이언트 장치의 사용자의 안구 초점에 기초하여 돌출도를 판단할 수 있다. 부호화부(410)는 클라이언트 장치로부터 실시간으로 사용자의 안구 초점에 대한 정보를 수신할 수 있다. 사용자의 안구 초점의 이력에 기초하여, FoL이 도달할 가능성이 높은 영역은 높은 돌출도를 가질 수 있다.
부호화부(410)는 돌출도에 기초하여 복수의 돌출 영역 영상들(1030)을 추출할 수 있다.
도 11은 일 실시예에 따른 부호화부의 구조를 나타낸 도면이다.
일 실시예에 따르면, 부호화부(1100)는 인공지능 기술을 이용하여 돌출 영역(1124)을 추출할 수 있다. 일 실시예에 따른 부호화부(1100)는 데이터 학습부(1110) 및 데이터 인식부(1120)를 포함한다.
데이터 학습부(1110)는 학습 데이터(1112)를 이용하여 VR 영상 재생 중의 FoL 변화에 대해 학습할 수 있다. 학습 데이터(1112)는 VR 영상 및 FoL 히스토리를 포함할 수 있다. 데이터 학습부(1110)는 심층 신경망 알고리즘을 이용한 머신 러닝(machine learning)을 이용하여 학습 데이터(1112)로부터 데이터 인식 모델을 학습할 수 있다.
데이터 인식부(1120)는 입력 데이터(1122)를 입력 받아 학습된 데이터 인식 모델에 기초하여 돌출 영역(1124)을 출력할 수 있다. 입력 데이터(1122)는 VR 영상 및 FoL 정보을 포함할 수 있다.
학습 데이터(1112), 입력 데이터(1122), 및 데이터 인식부(1120)의 출력 데이터의 종류는 실시예에 따라 달라질 수 있다. 예를 들면, 학습 데이터(1112) 및 입력 데이터(1122)는 피사체 움직임, 초점 값, 사용자 머리 움직임 정보, 돌출 객체, 및 안구 초점 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
도 12는 일 실시예에 따른 부호화 VR 영상의 구조를 나타낸 도면이다.
일 실시예에 따르면, 부호화 VR 영상에서 돌출 영역의 개수 및 사이즈가 다양하게 결정될 수 있다. 일 실시예에 따르면, 부호화 VR 영상(1210)은 8개의 돌출 영역을 포함하고, 돌출 영역은 4행 2열의 형태로 배치될 수 있다. 다른 실시예에 따르면, 부호화 영상(1220)은 2개의 돌출 영역을 포함하고 2행 1열의 형태로 배치될 수 있다.
일 실시예에 따르면, 돌출 영역의 크기와 개수는 시스템 설정에 따라 미리 결정될 수 있다. 다른 실시예에 따르면, 돌출 영역의 크기와 개수는 VR 영상 데이터, FoL 히스토리 등에 따라 적응적으로 변경될 수 있다.
도 13은 일 실시예에 따른 영상 복호화 장치의 구조를 나타낸 도면이다.
본 개시의 실시예들의 영상 복호화 장치(1300)는 VR 영상을 복호화하기 위한 장치이다. 일 실시예에 따르면, 영상 복호화 장치(400)는 도 1의 클라이언트 장치(120)에 구비될 수 있다. 영상 복호화 장치(1300)는 복호화부(1310) 및 제2 획득부(1320)를 포함한다.
제2 획득부(1320)는 부호화 VR(virtual reality) 영상 및 부가 정보를 비트스트림으로부터 획득한다. 일 실시예에 따르면, 제2 획득부(1320)는 서버와 네트워크를 통해 통신 가능한 통신부로 구성된다. 제2 획득부(1320)는 서버로부터 비트스트림을 수신하고, 비트스트림으로부터 부호화 VR 영상 및 부가 정보를 획득할 수 있다. 제2 획득부(1320)는 실시간 스트리밍되는 비트스트림을 획득할 수 있다. 제2 획득부(1320)는 획득된 부호화 VR 영상 및 부가 정보를 복호화부(1310)로 출력한다.
복호화부(1310)는 시선 방향에 대한 정보를 획득하고, 상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하고, 상기 시선 방향에 기초하여 복호화 VR 영상의 디스플레이 영역을 결정한다.
복호화부(1310)는 클라이언트 장치(120)에 구비된 센서의 검출 신호에 기초하여 시선 방향에 대한 정보, 즉 FoL 정보를 획득할 수 있다. 또한, 복호화부(1310)가 외부 프로세서에 의해 결정된 FoL 정보를 수신하여 사용하는 것도 가능하다. 시선 방향에 대한 정보는 사용자의 머리 움직임 정보 및 안구 초점 중 적어도 하나 또는 이들의 조합에 기초하여 결정될 수 있다. 클라이언트 장치(120)는 사용자의 머리 움직임을 검출하기 위해, 자이로 센서, 가속도 센서 등을 구비할 수 있다. 또한, 클라이언트 장치(120)는 사용자의 눈을 촬영한 영상에 기초하여 안구 초점에 대한 정보를 획득할 수 있다.
복호화부(1310)는 제2 획득부(1320)에서 출력된 부호화 VR 영상을 복호화한다. 부호화 VR 영상은 앞서 설명된 방식으로 부호화된 VR 영상이다. 복호화부(1310)는 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성한다. 복호화 과정에 대해서는 도 15를 이용하여 아래에서 설명한다.
복호화부(1310)는 시선 방향에 대한 정보에 기초하여 복호화 VR 영상의 디스플레이 영역을 결정한다. VR 영상은 사용자의 시선 방향에 기초하여 360도 영상 중 일부 영역이 클라이언트 장치에서 디스플레이된다. 복호화부(1310)는 시선 방향에 대한 정보에 기초하여, 사용자의 시선 방향에 대응하는 디스플레이 영역을 정의하고, 디스플레이 영역의 영상 데이터를 추출하여 디스플레이용 영상을 출력한다. 시선 방향에 대한 정보는 VR 영상의 재생 중 실시간으로 계속해서 검출되고, 복호화부(1310)는 검출된 시선 방향에 대한 정보에 기초하여 디스플레이 영역을 이동하고 디스플레이용 영상을 업데이트할 수 있다. 이로 인해 클라이언트 장치의 디스플레이는 사용자의 시선 방향에 대응하는 디스플레이용 영상을 디스플레이할 수 있다.
복호화부(1310)에서 출력된 복호화 VR 영상은 클라이언트 장치(120)의 버퍼 내에 저장될 수 있다. 클라이언트 장치(120)는 버퍼에 저장된 복호화 VR 영상을 이용하여 VR 영상을 디스플레이한다. 그런데 사용자의 시선 방향이 급격하게 변하는 경우 버퍼에 저장된 복호화 VR 영상은 변화된 FoL에서 저해상도의 영상을 제공할 가능성이 있다. 본 개시의 실시예들은 FoL이 도달할 가능성이 높은 영역인 돌출 영역에 대해 고해상도의 영상을 제공하여, 버퍼에 저장된 영상으로도 실시간으로 고해상도의 VR 영상을 제공할 수 있다.
도 14는 일 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다.
제2 획득부(1320)는 부호화 VR 영상 및 부가 정보를 비트스트림으로부터 획득한다(S1402). 복호화부(1410)는 FoL 정보를 획득하고(S1404), 부호화 VR 영상을 복호화한다(S1406). 복호화부(1410)는 부가 정보에 기초하여 복호화 VR 영상의 돌출 영역을 스티칭한다. 다음으로 복호화부(1310)는 FoL 정보에 기초하여 VR 영상의 디스플레이 영역을 결정한다(S1408). 복호화부(1310)는 디스플레이 영역에 대응하는 영상 데이터인 디스플레이용 영상을 출력할 수 있다.
도 15는 일 실시예에 따라 부호화 VR 영상을 복호화하는 과정을 나타낸 도면이다.
복호화부(1410)는 제2 획득부(1320)로부터 획득된 비트스트림으로부터 부호화 VR 영상(1502)을 획득한다. 부호화 VR 영상(1502)는 앞서 설명된 VR 영상의 부호화 방식의 실시예들 중 하나의 따라 부호화된 영상일 수 있다.
다음으로 복호화부(1410)는 부호화 VR 영상(1502)의 각 면의 영상을 육면체에 배치하여, 제1 복호화 큐브프레임(1504) 형태로 변환한다(1510). 제1 복호화 큐브프레임(1504)은 전면(F), 후면(Back), 상측면(U), 하측면(D), 우측면(R), 및 좌측면(L)의 영상 데이터를 가진다.
다음으로 복호화부(1410)는 부가 정보에 포함된 돌출 영역의 좌표 정보에 기초하여 적어도 하나의 돌출 영역(1506)을 제1 복호화 큐브프레임(1504)에 스티칭한다(1512). 이러한 처리에 의해 큐브프레임에 돌출 영역이 배치된 복호화 VR 영상이 생성된다.
도 16은 클라이언트 장치(120)의 동작을 나타낸 흐름도이다.
일 실시예에 따르면, 클라이언트 장치(120)는 사용자가 클라이언트 장치(120)를 이용하여 VR 영상을 시청하는 동안, 사용자의 머리 움직임을 분석한다(S1602). 클라이언트 장치(120)는 사용자의 머리 움직임에 대한 정보를 획득하기 위해, 센서를 구비하고, 센서에서 검출된 신호에 기초하여 사용자의 머리 움직임에 대한 정보를 획득할 수 있다. 또한, 클라이언트 장치(120)는 센서의 검출 신호에 기초하여, 사용자의 시선 방향에 대한 정보(FoL 정보)를 획득할 수 있다. 일 실시예에 따르면, 클라이언트 장치(120)는 센서 신호에 기초하여 사용자의 머리 움직임에 대한 정보를 획득하고, 머리 움직임에 대한 정보에 기초하여 FoL 정보를 획득할 수 있다. 다른 실시예에 따르면, 클라이언트 장치(120)는 센서 신호로부터 FoL 정보를 획득할 수 있다.
클라이언트 장치(120)는 센서의 검출 신호에 기초하여, 사용자 머리의 롤(Roll), 피치(Pitch), 및 요(Yaw) 움직임을 검출할 수 있다. 또한, 클라이언트 장치(120)는 사용자의 머리 움직임에 따라 FoL 정보를 생성하고, FoL 정보에 따라 부호화 VR 영상 중 디스플레이로 출력할 디스플레이 영역을 결정하고, 디스플레이 영역의 영상을 출력할 수 있다.
클라이언트 장치(120)는 획득된 FoL 정보를 포함하는 스트리밍 요청을 서버(110)로 전송한다(S1604). 클라이언트 장치(120)는 실시간으로 FoL에 대응하여 서버(110)로부터 FoL에 대응하는 부호화 VR 영상을 스트리밍하여(S1606), 버퍼에 저장한 후, 재생한다. FoL에 대응하는 부호화 VR 영상은 소정의 프레임 수만큼 버퍼링되고, FoL이 변경되는 경우, 클라이언트 장치(120)는 변경된 FoL에 대응하는 부호화 VR 영상이 수신되기 전까지, 이전 FoL을 기준으로 버퍼링된 부호화 VR 영상을 이용하여 VR 영상을 디스플레이한다. 본 개시의 실시예들에 따르면, 기본에 버퍼링된 부호화 VR 영상의 전면에 가까운 영역 또는 돌출 영역으로 FoL이 머물 가능성이 높기 때문에, 사용자가 버퍼링으로 인한 지연을 인지할 가능성이 매우 낮아져, 사용자 경험을 향상시키는 효과가 있다.
도 17은 본 개시의 실시예들에 따른 효과를 설명하기 위한 도면이다.
도 17에서 비교예 1은 VR 영상의 모든 픽셀들을 평면화하여 동일 해상도로 스트리밍하는 경우, 비교예 2는 VR 영상을 큐브프레임 형태로 스트리밍하는 경우, 비교예 3은 피라미드 인코딩을 이용하여 스트리밍 하는 경우를 나타낸다. 비교예 2는 비교예 1과 비교하였을 때, 필요 없는 픽셀 배치를 최소화 함에 의해, 약 25%의 파일사이즈 감소가 이루어질 수 있다. 비교예 3은 후면으로 갈수록 해상도가 낮아지는 피라미드 인코딩에 의해, 비교예 1의 80%까지 파일 감소가 이루어질 수 있다. 본 개시의 실시예들은 돌출 영역을 추가함에 의해 피라미드 인코딩에 비해 파일 사이즈는 다소 증가한다.
본 개시의 실시예들에 따르면, 부호화 VR 영상은 큐브 프레임에 비해 80% 정도 파일사이즈가 감소된 피라미드 인코딩된 데이터와, 추가로 돌출 영역을 포함한다. 본 개시의 실시예의 부호화 VR 영상은 피라미드 인코딩에 비해 추가적인 데이터를 가져 그 크기가 소폭 증가되지만, 최신 스트리밍 기술을 접목하여 데이터 증가로 인한 성능 저하나 지연은 미미한 수준이다. 본 개시의 실시예들에 따르면 한 번에 전송되는 비디오 프레임 셋(video chunk) 사이즈를 피라미드 인코딩에 비해 늘리고, 최신 스트리밍 기술을 접목하여 VR 영상 스트리밍 및 재생의 성능을 향상시킬 수 있다.
도 17(a)는 각 예시들에서 FoV(Field of View)에 대응하여 사용자가 경험적으로 느끼는 SNR인 PSNR(pseudo-SNR)을 나타낸다. 비교예 1과 비교예 2는 모든 FoV에 대해, 고해상도를 제공함에 의해, PSNR이 비교예 3과 본 개시의 실시예들에 비해 높게 나타난다. 그러나 파일사이즈 증가로 인해 비교예 1은 대역폭 절감 효과가 가장 낮고, 비교예 2는 비교예 1에 비해서는 대역폭이 절감되만, 비교예 3과 본 개시의 실시예들에 비해서는 대역폭이 높게 요구된다. 비교예 3은 피라미드 인코딩에 의해 비교예 1과 비교하였을 때, 대역폭이 80%정도 절감되지만, PSNR이 매우 낮게 나타난다. 반면 본 개시의 실시예들은 돌출 영역이 추가됨에 따라 소비되는 대역폭은 비교예 3에 비해 소폭 늘어나지만, FoV의 PSNR이 증가된다.
도 17(b)는 각 예시들에서 FoL(Field of Look)에 대응하는 정도를 나타낸다.
사용자는 매우 제한된 시약 범위를 갖기 때문에, FoL을 기준으로 본 개시의 실시예들의 PSNR을 살펴보면, FoV를 기준으로 구한 PSNR과 다른 양상을 나타낸다. 본 개시의 실시예들에 따르면, FoL을 기준으로 구한 PSNR은 비교예 3과 유사한 PSNR부터 비교예 1 및 비교예 2에 근접한 PSNR 값까지 넓게 분포되어 있다. 이러한 결과는, 본 개시의 실시예들이 매우 좁은 영역인 돌출 영역에 대해서 고해상도 영상을 제공하여 사용자 경험을 향상시킴에 의해 경우에 따라 다른 PSNR이 획득되기 때문이다. 하지만 돌출 영역은 사용자의 FoL이 닿을 가능성이 높은 영역이므로 본 개시의 실시예들에 따르면 높은 PSNR을 경험할 가능성이 높아지며, VR 영상 및 FoL의 히스토리에 기반하여 돌출 영역을 도출하는 모델을 학습함에 의해 높은 PSNR을 경험할 가능성을 향상시킬 수 있다.
한편, 본 발명은 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램 제품으로 구현될 수 있다. 컴퓨터 판독가능 저장매체는 컴퓨터 프로그램을 구성하는 컴퓨터가 판독 가능한 코드를 저장한다. 상기 컴퓨터 판독가능 저장매체는 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다.
상기 컴퓨터가 판독 가능한 코드는, 상기 컴퓨터 판독가능 저장매체로부터 프로세서에 의하여 독출되어 실행될 때, 본 발명에 따른 영상 부호화 방법 및 영상 복호화 방법을 구현하는 단계들을 수행하도록 구성된다. 상기 컴퓨터가 판독 가능한 코드는 다양한 프로그래밍 언어들로 구현될 수 있다. 그리고 본 발명의 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 통상의 기술자들에 의하여 용이하게 프로그래밍될 수 있다.
컴퓨터 판독가능 저장매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터 판독가능 저장매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행되는 것도 가능하다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (19)

  1. VR(virtual reality) 원본 영상으로부터 부호화 VR 영상 및 부가 정보를 생성하는 부호화부;
    상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부; 및
    클라이언트 장치의 사용자의 시선 방향에 대한 정보를 상기 클라이언트 장치로부터 획득하는 제1 획득부를 포함하고,
    상기 부호화부는,
    상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하고, 상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하고, 상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하고, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하고,
    상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖고,
    상기 사용자의 시선 방향에 대한 정보는 상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고,
    상기 부호화부는, 상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 미리 결정된 개수의 돌출 영역을 선택하고, 상기 선택된 미리 결정된 개수의 돌출 영역을 포함하는 상기 부호화 VR 영상을 생성하는, 영상 부호화 장치.
  2. 제1항에 있어서,
    상기 부호화부는,
    상기 VR 원본 영상을 육면체 형태로 변환하고,
    상기 제1 영역에 대응하는 우측면 영상, 좌측면 영상, 상측면 영상, 하측면 영상, 및 후면 영상의 해상도를 상기 전면 영역에 대응하는 전면 영상보다 낮게 변환하고,
    상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 및 상기 후면 영상 중 적어도 하나의 제1 영역 영상으로부터, 상기 적어도 하나의 돌출 영역을 추출하고,
    상기 전면 영상, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 상기 후면 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는, 영상 부호화 장치.
  3. 제2항에 있어서,
    상기 후면 영상은 상기 전면 영상에 비해 25%의 해상도를 갖고,
    상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 및 상기 하측면 영상은 상기 전면 영상과 가까운 영역에서 상기 후면 영상과 가까운 영역에 비해 높은 해상도를 갖는, 영상 부호화 장치.
  4. 제1항에 있어서,
    상기 부호화부는, 미리 결정된 돌출 영역의 크기 및 미리 결정된 돌출 영역의 개수에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 장치.
  5. 제1항에 있어서,
    상기 부호화부는, 대상체의 움직임 정보에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 장치.
  6. 제1항에 있어서,
    상기 부호화부는, 상기 VR 원본 영상의 초점 값에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 장치.
  7. 제1항에 있어서,
    상기 부호화부는, 상기 VR 원본 영상의 전체 영역으로부터 상기 돌출 영역 및 상기 부가 정보를 생성하고, 상기 전면 영역에 대응하는 상기 돌출 영역 및 상기 부가 정보를 제외하고 상기 제1 영역에 대응하는 상기 돌출 영역 및 상기 부가 정보를 상기 부호화 VR 영상과 함께 VR 영상 파일에 저장하는, 영상 부호화 장치.
  8. VR 영상을 전송하는 VR 영상 전송 서버에 있어서,
    상기 VR 영상 전송 서버는 제1항에 따른 영상 부호화 장치를 포함하고,
    상기 부호화부는, 복수의 사용자의 시선 방향 각각에 대해 부호화 VR 영상 및 부가 정보를 포함하는 VR 영상 파일을 생성하고,
    상기 영상 부호화 장치는,
    상기 복수의 사용자의 시선 방향 각각에 대한 복수의 VR 영상 파일을 저장하는 저장부; 및
    상기 복수의 VR 영상 파일 중 상기 제1 획득부에서 획득된 상기 사용자의 시선 방향에 대한 정보에 대응하는 VR 영상 파일을 클라이언트 장치로 전송하는 통신부를 포함하는, VR 영상 전송 서버.
  9. 부호화 VR(virtual reality) 영상 및 부가 정보를 VR 영상 전송 서버로부터 전송된 비트스트림으로부터 획득하는 제2 획득부;
    사용자의 시선 방향에 대한 정보를 획득하고, 상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하고, 상기 시선 방향에 대한 정보에 기초하여 복호화 VR 영상의 디스플레이 영역을 결정하는 복호화부를 포함하고,
    상기 복호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고,
    상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고,
    상기 복호화부는 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하고,
    상기 사용자의 시선 방향에 대한 정보는 상기 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고, 상기 VR 영상 전송 서버로 전송되고,
    상기 적어도 하나의 돌출 영역은 미리 정의된 개수의 돌출 영역을 포함하고,
    상기 미리 정의된 개수의 돌출 영역은 상기 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 선택되는, 영상 복호화 장치.
  10. 클라이언트 장치의 사용자의 시선 방향에 대한 정보를 상기 클라이언트 장치로부터 획득하는 단계;
    상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하는 제1 해상도 변환 단계;
    상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하는 단계;
    상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는 단계;
    상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하는 단계; 및
    상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고,
    상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖고,
    상기 사용자의 시선 방향에 대한 정보는 상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고,
    상기 부호화 VR 영상을 생성하는 단계는,
    상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 미리 결정된 개수의 돌출 영역을 선택하는 단계; 및
    상기 선택된 미리 결정된 개수의 돌출 영역을 포함하는 상기 부호화 VR 영상을 생성하는단계를 포함하는, 영상 부호화 방법.
  11. 제10항에 있어서,
    상기 영상 부호화 방법은, 상기 VR 원본 영상을 육면체 형태로 변환하는 단계를 더 포함하고,
    상기 제1 해상도 변환 단계는, 상기 제1 영역에 대응하는 우측면 영상, 좌측면 영상, 상측면 영상, 하측면 영상, 및 후면 영상의 해상도를 상기 전면 영역에 대응하는 전면 영상보다 낮게 변환하는 단계를 포함하고;
    상기 적어도 하나의 돌출 영역을 추출하는 단계는, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 및 상기 후면 영상 중 적어도 하나의 제1 영역 영상으로부터, 상기 적어도 하나의 돌출 영역을 추출하는 단계를 포함하고;
    상기 부호화 VR 영상을 생성하는 단계는, 상기 전면 영상, 상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 상기 하측면 영상, 상기 후면 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는 단계를 포함하는, 영상 부호화 방법.
  12. 제11항에 있어서,
    상기 후면 영상은 상기 전면 영상에 비해 25%의 해상도를 갖고,
    상기 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 및 상기 하측면 영상은 상기 전면 영상과 가까운 영역에서 상기 후면 영상과 가까운 영역에 비해 높은 해상도를 갖는, 영상 부호화 방법.
  13. 제11항에 있어서,
    상기 후면 영상, 우측면 영상, 상기 좌측면 영상, 상기 상측면 영상, 및 상기 하측면 영상은 상기 전면 영역에 비해 낮은 해상도를 갖는, 영상 부호화 방법.
  14. 제10항에 있어서,
    상기 적어도 하나의 돌출 영역을 추출하는 단계는, 미리 결정된 돌출 영역의 크기 및 미리 결정된 돌출 영역의 개수에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 방법.
  15. 제10항에 있어서,
    상기 적어도 하나의 돌출 영역을 추출하는 단계는, 대상체의 움직임 정보에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 방법.
  16. 제10항에 있어서,
    상기 적어도 하나의 돌출 영역을 추출하는 단계는, 상기 VR 원본 영상의 초점 값에 기초하여 상기 적어도 하나의 돌출 영역을 추출하는, 영상 부호화 방법.
  17. 부호화 VR(virtual reality) 영상 및 부가 정보를 VR 영상 전송 서버로부터 전송된 비트스트림으로부터 획득하는 단계;
    사용자의 시선 방향에 대한 정보를 획득하는 단계;
    상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하는 단계;
    상기 시선 방향에 대한 정보에 기초하여 복호화된 복호화 VR 영상의 디스플레이 영역을 결정하는 단계를 포함하고,
    상기 부호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고,
    상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고,
    상기 복호화하는 단계는, 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하는 단계를 포함하고,
    상기 사용자의 시선 방향에 대한 정보는 상기 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고, 상기 VR 영상 전송 서버로 전송되고,
    상기 적어도 하나의 돌출 영역은 미리 정의된 개수의 돌출 영역을 포함하고,
    상기 미리 정의된 개수의 돌출 영역은 상기 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 선택되는, 영상 복호화 방법.
  18. 프로세서에 의해 실행되었을 때, 영상 부호화 방법을 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 저장매체에 있어서, 상기 영상 부호화 방법은,
    클라이언트 장치의 사용자의 시선 방향에 대한 정보를 상기 클라이언트 장치로부터 획득하는 단계;
    상기 VR 원본 영상 중 상기 사용자의 시선 방향에 대응하는 전면 영역 이외의 제1 영역의 해상도를 낮게 변환하는 제1 해상도 변환 단계;
    상기 제1 영역의 영상 컨텐츠에 기초하여 상기 제1 영역으로부터 적어도 하나의 돌출 영역(saliency region)을 추출하는 단계;
    상기 전면 영역의 영상, 상기 제1 영역의 영상, 및 상기 적어도 하나의 돌출 영역의 영상을 포함하는 부호화 VR 영상을 생성하는 단계;
    상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하는 부가 정보를 생성하는 단계; 및
    상기 부호화 VR 영상 및 상기 부가 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고,
    상기 적어도 하나의 돌출 영역의 영상은 상기 제1 영역보다 높은 해상도를 갖고,
    상기 사용자의 시선 방향에 대한 정보는 상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고,
    상기 부호화 VR 영상을 생성하는 단계는,
    상기 클라이언트 장치의 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 미리 결정된 개수의 돌출 영역을 선택하는 단계; 및
    상기 선택된 미리 결정된 개수의 돌출 영역을 포함하는 상기 부호화 VR 영상을 생성하는단계를 포함하는, 컴퓨터로 읽을 수 있는 저장매체.
  19. 프로세서에 의해 실행되었을 때, 영상 복호화 방법을 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 저장매체에 있어서, 상기 영상 복호화 방법은,
    부호화 VR(virtual reality) 영상 및 부가 정보를 VR 영상 전송 서버로부터 전송된 비트스트림으로부터 획득하는 단계;
    사용자의 시선 방향에 대한 정보를 획득하는 단계;
    상기 부가 정보에 기초하여 부호화 VR 영상을 복호화하여 복호화 VR 영상을 생성하는 단계;
    상기 시선 방향에 대한 정보에 기초하여 복호화된 복호화 VR 영상의 디스플레이 영역을 결정하는 단계; 및
    상기 부호화 VR 영상은, 전면 영역의 영상, 상기 전면 영역보다 낮은 해상도를 갖고 상기 전면 영역 이외의 영역에 대응되는 제1 영역의 영상, 및 상기 제1 영역보다 높은 해상도를 갖는 적어도 하나의 돌출 영역(saliency region)의 영상을 포함하고,
    상기 부가 정보는, 상기 적어도 하나의 돌출 영역의 좌표 정보를 포함하고,
    상기 복호화하는 단계는, 상기 좌표 정보에 기초하여 상기 적어도 하나의 돌출 영역을 상기 제1 영역 내에 배치하는 단계를 포함하고,
    상기 사용자의 시선 방향에 대한 정보는 상기 사용자의 머리 움직임 변화 동작에 대한 정보를 포함하고, 상기 VR 영상 전송 서버로 전송되고,
    상기 적어도 하나의 돌출 영역은 미리 정의된 개수의 돌출 영역을 포함하고,
    상기 미리 정의된 개수의 돌출 영역은 상기 사용자의 머리 움직임 변화 동작에 대한 정보에 기초하여 복수의 돌출 영역 중 선택되는, 컴퓨터로 읽을 수 있는 저장매체.
KR1020180147686A 2018-11-26 2018-11-26 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법 KR102238125B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180147686A KR102238125B1 (ko) 2018-11-26 2018-11-26 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180147686A KR102238125B1 (ko) 2018-11-26 2018-11-26 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200061873A KR20200061873A (ko) 2020-06-03
KR102238125B1 true KR102238125B1 (ko) 2021-04-08

Family

ID=71087432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180147686A KR102238125B1 (ko) 2018-11-26 2018-11-26 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102238125B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015033055A (ja) * 2013-08-05 2015-02-16 株式会社日立製作所 画像処理システム、及び、画像処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6685995B2 (ja) * 2015-03-05 2020-04-22 ソニー株式会社 画像処理装置および画像処理方法
US10121337B2 (en) * 2016-12-30 2018-11-06 Axis Ab Gaze controlled bit rate

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015033055A (ja) * 2013-08-05 2015-02-16 株式会社日立製作所 画像処理システム、及び、画像処理方法

Also Published As

Publication number Publication date
KR20200061873A (ko) 2020-06-03

Similar Documents

Publication Publication Date Title
KR102294098B1 (ko) 콘텐츠를 제공 및 디스플레이하기 위한 장치 및 방법
US11523103B2 (en) Providing a three-dimensional preview of a three-dimensional reality video
US11025959B2 (en) Probabilistic model to compress images for three-dimensional video
JP6501904B2 (ja) 球面ビデオのストリーミング
Chiariotti A survey on 360-degree video: Coding, quality of experience and streaming
US10757162B2 (en) Video data processing method and apparatus
JP6410918B2 (ja) パノラマ映像コンテンツの再生に使用するシステム及び方法
US20160277772A1 (en) Reduced bit rate immersive video
US10681341B2 (en) Using a sphere to reorient a location of a user in a three-dimensional virtual reality video
US11032535B2 (en) Generating a three-dimensional preview of a three-dimensional video
JP2021527974A (ja) 画像データストリームを生成するための装置および方法
JP7496677B2 (ja) 画像データ転送装置、画像表示システム、および画像圧縮方法
WO2022057187A1 (en) Method and system for seamless switching of multiple video streams at playback end
WO2021065633A1 (ja) 画像データ転送装置および画像圧縮方法
WO2021065630A1 (ja) 画像データ転送装置および画像データ転送方法
JP7498553B2 (ja) 画像処理装置、画像表示システム、画像データ転送装置、および画像処理方法
JP7491676B2 (ja) 画像データ転送装置および画像圧縮方法
KR102238125B1 (ko) 가상 현실 영상의 부호화 장치 및 방법, 및 복호화 장치 및 방법
JPWO2019004073A1 (ja) 画像配置決定装置、表示制御装置、画像配置決定方法、表示制御方法及びプログラム
KR102183895B1 (ko) 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱
CN108271068B (zh) 一种基于流媒体技术的视频数据的处理方法及装置
KR20200000815A (ko) 송신장치, 송신방법, 수신장치, 수신방법, 및, 비일시적인 컴퓨터 판독가능한 기억매체
JP7555698B2 (ja) 画像データ転送装置および画像データ転送方法
WO2022259632A1 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right