KR102366258B1 - 영상 처리 방법 및 장치 - Google Patents

영상 처리 방법 및 장치 Download PDF

Info

Publication number
KR102366258B1
KR102366258B1 KR1020197019238A KR20197019238A KR102366258B1 KR 102366258 B1 KR102366258 B1 KR 102366258B1 KR 1020197019238 A KR1020197019238 A KR 1020197019238A KR 20197019238 A KR20197019238 A KR 20197019238A KR 102366258 B1 KR102366258 B1 KR 102366258B1
Authority
KR
South Korea
Prior art keywords
image
director
view
information
projection image
Prior art date
Application number
KR1020197019238A
Other languages
English (en)
Other versions
KR20190130556A (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 KR20190130556A publication Critical patent/KR20190130556A/ko
Application granted granted Critical
Publication of KR102366258B1 publication Critical patent/KR102366258B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/067Reshaping or unfolding 3D tree structures onto 2D planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/0031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/416Exact reconstruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Library & Information Science (AREA)
  • Image Processing (AREA)

Abstract

전방위 구형 영상을 생성하는 단계, 상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 결정하는 단계, 다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계, 상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할하는 단계, 상기 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 상기 디렉터 뷰의 직사각형 영상으로 재구성하는 단계 및 상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함하는 영상 처리 방법이 개시된다.

Description

영상 처리 방법 및 장치
본 발명은 가상 영상 처리 방법 및 장치에 관한 것이다.
최근 가상 현실 관련 기술과 장치가 발전함에 따라, 이를 활용한 가상 현실 장치들이 각광받고 있다. 이러한 가상 현실(Virtual Reality, VR) 장치는 엔터테인먼트, 교육, 사무, 의료 등 다양한 분야에 폭넓게 적용되고 있다. 또한, HMD(Head Mounted Display, Head Mount Display) 등과 같은 가상 현실 장치가 보급됨에 따라 사람들이 영상 컨텐츠를 즐기는 양상이 변화하고 있다. 이러한 가상 현실 장치는 사용자 시점에 따라 시점 변환 가능한 컨텐츠를 제공하는 것을 주요 기능으로 하며, 이에 따라 사용자는 마치 본인이 가상 공간상에 있는 듯한 느낌을 받을 수 있도록 한다. 이에 가상 현실 장치를 이용하여 보다 몰입감있는 파노라마 영상 재생을 지원하거나 비디오 게임 서비스를 제공할 수 있는 어플리케이션 또한 많이 등장하고 있다.
가상 현실 장치에 디스플레이 되는 가상 현실 영상은 가상 현실 디스플레이 장치를 착용한 사용자의 시선에 따라 움직이게 되므로, 가상 현실 영상은 사용자를 둘러싼 주변의 모든 영상을 포함하여야 한다. 즉, 가상 현실 장치에서 제공하는 가상 현실 영상은 사용자를 기준으로 주변 모든 방향에 해당하는 영상, 즉, 360도x180도 영상이다. 따라서, 가상 현실 장치에 대한 관심과 함께 이러한 360도x180도 영상의 처리에 대한 관심이 높아지고 있다.
종래 기술에 따른 360도x180도 영상 처리 방법은 영상 크기가 커 처리 효율이 떨어지고 전력 소모가 많으며, 영상의 일부가 유실되어 품질이 떨어질 수 있다는 문제가 있다. 따라서, 보다 효율적이고 고품질의 영상을 제공할 수 있는 영상 처리 방법 및 장치가 필요하다.
일 실시예는 영상 처리 방법 및 장치를 제공한다. 보다 구체적으로, 보다 효율적이고 고품질의 영상을 제공할 수 있는 영상 처리 방법 및 장치를 제공한다.
상기 기술적 과제를 해결하기 위한 일 실시예에 따른 영상 처리 방법은, 전방위(omnidirectional) 구형 영상을 생성하는 단계; 상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 결정하는 단계; 다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계; 상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할(dividing)하는 단계; 상기 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 상기 디렉터 뷰의 직사각형 영상(rectangular image)으로 재구성(reshaping)하는 단계; 및 상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는 상기 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함될 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상은,
아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image)일 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상이 상기 아이코사히드랄 투영 영상인 경우, 상기 재구성하는 단계는, 각 행(row) 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하는 단계; 및 상기 결정된 평행 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 위쪽(up) 또는 아래쪽(down) 방향으로 수직 이동시키는 단계를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상이 상기 옥타히드랄 투영 영상인 경우, 상기 재구성하는 단계는, 각 행(row) 별로 상기 각 행에 포함된 픽셀들의 제 1 이동 방향을 결정하는 단계; 상기 결정된 제 1 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 대각(diagonal) 방향으로 평행 이동시키는 단계; 각 열(column) 별로 상기 각 열에 포함된 픽셀들의 제 2 이동 방향을 결정하는 단계; 및 상기 결정된 제 2 이동 방향에 따라 상기 각 열에 포함된 픽셀들을 왼쪽(left) 또는 오른쪽(right) 방향으로 수평 이동시키는 단계를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 방법은, 상기 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 직사각형 영상으로 재구성하는 단계; 및 상기 전방위 구형 영상의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 전방위 구형 영상을 생성하는 단계는, 360도x180도 파노라마 영상을 획득하는 단계; 및 상기 파노라마 영상 중 소정 영역을 인공적인(artificial) 영상으로 대체하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법은, 부호화된 비트스트림을 수신하는 단계; 상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하는 단계; 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하는 단계; 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하는 단계; 및 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰 투영 영상은, 아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image) 중 일부가 분할된 형태를 나타낼 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 방법은, 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계; 상기 영상 모드에 대한 정보가 상기 전체 모드를 나타내는 경우, 상기 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 상기 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 상기 전방위 구형 영상의 투영 영상을 역투영하여 상기 전방위 구형 영상을 재생하는 단계; 및 상기 영상 모드에 대한 정보가 상기 디렉터 뷰 모드를 나타내는 경우, 상기 디렉터 뷰 투영 영상을 역투영하여 상기 디렉터 뷰에 따른 영상을 재생하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰의 직사각형 영상 중에서 사용자 디바이스의 시야 범위(Field of View)에 대응하는 영역은 고품질로 복원되고, 상기 사용자 디바이스의 시야 범위를 벗어나는 영역은 저품질로 복원될 수 있다.
일 실시예에 따른 영상 처리 장치는, 부호화된 비트스트림을 수신하는 수신부; 상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하고, 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하고, 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하며, 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 제어부; 및 상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함한다.
일 실시예에 따르면, 보다 효율적이고 고품질의 영상을 제공할 수 있다.
도 1은 전방위 구형 영상(360도x180도 영상)을 나타내는 도면이다.
도 2는 일 실시예에 따른 디렉터 뷰(director’s view)의 개념을 나타내는 도면이다.
도 3은 일 실시예에 따른 영상 처리 장치가 전방위 구형 영상을 다면체로 투영하는 과정을 나타내는 도면이다.
도 4는 일 실시예에 따른 아이코사히드랄 투영 영상을 나타내는 도면이다.
도 5는 일 실시예에 따른 옥타히드랄 투영 영상을 나타내는 도면이다.
도 6은 일 실시예에 따른 다면체의 구성 성분을 나타내는 도면이다.
도 7은 제 1 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 8은 제 1 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 9는 제 2 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 10은 제 2 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 11은 제 3 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 12는 제 3 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 13은 제 4 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 14는 제 4 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 15은 다양한 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 16은 일 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 17은 일 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 18은 일 실시예에 따른 비트스트림으로부터 영상을 복호화하여 역투영 영상을 생성하는 방법을 나타내는 순서도이다.
도 19는 다른 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 20은 다른 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 21은 일 실시예에 따라 재구성된 실제 직사각형 영상을 나타내는 도면이다.
도 22는 일 실시예에 따른 디렉터 뷰에 대한 정보를 나타내는 파라미터를 도시한다.
도 23은 일 실시예에 따른 투영 영상들을 나타내는 도면이다.
도 24는 일 실시예에 따라 사용자의 시야 범위에 기초하여 영상의 복원 품질을 결정하는 방법을 나타내는 도면이다.
도 25는 일 실시예에 따라 원(original) 영상에 인공적인(artificial) 영상을 합성하는 방법을 나타내는 도면이다.
명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 일 실시예의 실시예에 대하여 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
일 실시예에서 사용되는 용어는 일 실시예에서의 기능을 고려하면서 가능한 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 일 실시예에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 일 실시예의 전반에 걸친 내용을 토대로 정의되어야 한다.
도 1은 전방위 구형 영상(360도x180도 영상)을 나타내는 도면이다.
도 1에 도시된 바와 같이 전방위 구형 영상은 특정 위치(110)를 중심으로 하여 특정 위치를 360도x180도로 둘러싼 주위 환경을 나타내는 영상(120)이다. 사용자가 가상 현실 장치를 착용하는 경우, 가상 현실 내에서 사용자를 360도x180도로 둘러싼 주위 환경을 나타내는 영상이 전방위 구형 영상일 수 있다. 가상 현실 장치는 360도x180도 영상을 사용자에게 제공하여, 가상 현실 장치를 착용한 사용자가 가상 현실 내에서 이동하거나 시선을 돌리는 경우에도 그에 따른 적절한 영상을 제공할 수 있다. 전방위 구형 영상이 획득되는 과정을 설명하면 다음과 같다.
영상 처리 장치는 적어도 둘 이상의 방향에 대한 영상들을 획득한다. 일 실시예에 따르면, 영상 처리 장치는 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수 있다. 이때, 영상 처리 장치는 적어도 하나 이상의 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영할 수 있다. 일 실시예에 따르면, 카메라는 영상 처리 장치에 포함된 구성 요소일 수도 있고, 영상 처리 장치와 별개의 장치로 구성될 수도 있다. 또한, 영상 처리 장치는 카메라를 이용하여 파노라마 방식으로 주위 환경을 촬영할 수도 있고, 전, 후, 좌, 우, 상, 하 등 각 방향을 각각 촬영할 수도 있다.
또한, 일 실시예에 따르면, 영상 처리 장치는 외부 장치로부터 영상을 수신함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수도 있다. 즉, 외부 장치가 주위 환경을 촬영하거나 가상의 영상을 생성하여, 영상 처리 장치로 영상을 전송하고, 영상 처리 장치는 이를 수신함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수도 있다.
도 2는 일 실시예에 따른 디렉터 뷰(director’s view)의 개념을 나타내는 도면이다.
전방위 구형 영상은 사용자를 둘러싼 모든 주위 환경을 처리해야 하므로, 이에 따라 처리해야 하는 연산량이 증가할 수 있다. 제한된 CPU 또는 RAM 자원을 가지는 디바이스의 경우, 이러한 연산량의 증가는 실시간 처리 속도를 지연시키며, 영상 품질을 열화시킨다는 문제가 있다. 상기와 같은 문제점을 해결하기 위해, 전체 360도x180도 영상을 처리하는 대신, 일부 영역만을 나타내는 디렉터 뷰 영상을 처리하는 방식이 제안된다.
디렉터 뷰는 영상 컨텐츠로부터 서브분할(subdivision)된 영역을 나타낸다. 즉, 전방위 구형 영상의 시야 범위가 360도x180도라면, 디렉터 뷰의 시야 범위는 전방위 구형 영상보다 좁아지므로 360도x180도보다 작을 수 있다. 예를 들어, 디렉터 뷰의 시야 범위는 반구형(180도x180도)일 수 있다.
디렉터 뷰에 해당하는 영역의 방향 및 크기는 컨텐츠 제공자에 의해 결정될 수 있다. 일 실시예에 따른 디렉터 뷰는, 적어도 하나의 카메라 센서로부터 획득될 수 있다. 일 실시예에 따라, 카메라 센서의 움직임 방향에 따라 기본 디렉터 뷰의 방향이 결정될 수 있고, 카메라 센서의 시야각에 따라 기본 디렉터 뷰의 너비 및 높이가 결정될 수 있다. 또한, 일 실시예에 따른 디렉터 뷰는 영상 촬영 시 또는 촬영 후 처리 단계에서 컨텐츠 제공자의 선택에 의해 수동적으로(manually) 결정될 수도 있다. 즉, 컨텐츠 제공자는 촬영된 전방위 구형 영상 중에서 중요하다고 여겨지는 장면 또는 사용자의 시선을 이끌기 위한 장면에 대응하는 영역을 디렉터 뷰로 결정할 수 있다.
다른 실시예에 따라, 디렉터 뷰에 해당하는 영역의 방향 및 크기는 영상 분석을 통해 자동적으로 결정될 수도 있다. 예를 들어, 영상 분석을 통해 움직임이 상대적으로 많은 영역 또는 픽셀의 해상도가 상대적으로 높은 영역이 디렉터 뷰로서 결정될 수 있다.
또 다른 실시예에 따라, 디렉터 뷰는 사용자의 요청에 의해 결정될 수도 있다. 예를 들어, 사용자가 가상 현실 장치를 통해 전방위 구형 영상 중에서 일부 영역을 선택하면, 선택된 영역의 영상을 제공하는 요청이 서버로 전송될 수 있다.
도 2를 참조하면, 디렉터 뷰(210)가 반구형(hemisphere) 영상인 경우를 예시하고 있다. 이하에서는 디렉터 뷰(210)가 반구형 영상인 것으로 전제하여 디렉터 뷰(210) 영상을 처리하는 다양한 방법을 설명하기로 한다. 그러나, 디렉터 뷰(210)는 반드시 반구형일 필요는 없으며, 본 명세서에 개시된 영상 처리 방법은 디렉터 뷰(210)가 반구형 영상보다 크거나 작은 경우에도 동일하게 적용될 수 있음에 유의하여야 한다. 따라서, 디렉터 뷰(210)가 반구형 영상인 것으로 한정 해석하여서는 아니되며, 전방위 구형 영상 중에서 일부 영역을 나타내는 것으로 이해하면 족하다.
도 2를 참조하면, 일 실시예에 따른 디렉터 뷰(210)는 전방위 구형 영상의 중심으로부터 디렉터 뷰의 중심을 나타내는 방향 벡터(220), 디렉터 뷰의 수평 시야 정보 및 수직 시야 정보로서 표현될 수 있다. 이 때, 방향 벡터(220)는 3차원 공간 좌표(x,y,z)로 표현될 수 있다. 방향 벡터(220)는 방향 벡터가 가리키는 곡면(250)의 법선 벡터(normal vector)이다. 만일, 방향 벡터(220)가 2차원 평면 좌표 상에서 결정되어 직교 좌표(Cartesian coordinate) 또는 극 좌표(Polar coordinate)로서 표현된 경우, 3차원 공간 좌표계로의 변환이 요구될 수 있다.
반구형 디렉터 뷰(210)의 수평 시야 정보는 180도를 나타내며, 수직 시야 정보는 180도를 나타낸다. 디렉터 뷰(210)가 반구형인 경우, 방향 벡터(220)가 가리키는 방향을 중심으로 좌우 90도 및 상하 90도의 각도 범위 내의 영역이 디렉터 뷰의 영역(230)으로 설정된다. 이 경우, 전방위 구형 영상 중에서 디렉터 뷰의 영역(230)을 제외한 영역(240)에 대해서는 컨텐츠의 송수신이 이루어지지 않는다.
일 실시예에 따른 디렉터 뷰에 대한 정보는 영상 처리 장치에서 영상 컨텐츠와 함께 부호화되어 비트스트림에 포함될 수 있다. 이 때, 디렉터 뷰에 대한 정보는 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함될 수 있다.
한편, 영상 처리 장치에서 부호화된 비트스트림은 컨텐츠 서버에 저장되고, 가상 현실 장치(예를 들어, HMD)는 컨텐츠 서버로부터 비트스트림을 수신받아 복호화를 수행할 수 있다. 이 때, 가상 현실 장치는 선택에 따라 전방위 구형 영상 모드 또는 디렉터 뷰 모드를 선택할 수 있다. 가상 현실 장치에서 디렉터 뷰 모드가 선택된 경우, 가상 현실 장치는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 획득한 디렉터 뷰에 대한 정보에 기초하여 디렉터 뷰 영상을 복호화 및 렌더링할 수 있다.
디렉터 뷰에 대한 정보를 표현하는 파라미터에 대해서는 도 22를 통해 구체적으로 후술하기로 한다.
도 3은 일 실시예에 따른 영상 처리 장치가 전방위 구형 영상을 다면체로 투영하는 과정을 나타내는 도면이다.
일 실시예에 따른 영상 처리 장치는 효율적인 영상 압축을 위해 부호화를 수행하기 이전에 3차원 공간의 영상을 2차원 평면 영상으로 변환하는 작업을 수행한다. 3차원 공간의 영상을 2차원 평면 영상으로 변환하는 방식에는 여러 가지가 있는데, 전방위 구형 영상을 등장방형으로 투영시키는 ERP(Equirectangular projection) 방식은 지나치게 많은 연산량을 필요로 하여 처리 속도가 지연되는 문제가 있다. ERP 방식의 경우, 전방위 구형 영상의 극점으로 다가갈수록 변환 면적이 작아지는 비선형(non-linear) 특성이 존재하기 때문이다. 이에 따라, 본 명세서에서는 3차원 공간의 영상을 2차원 평면 영상으로 변환함에 있어 선형성이 유지되는 다면체 투영 방식을 사용하기로 한다. 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다. 이 때, 다면체의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 예를 들어, 동일한 삼각형이 둘 이상 합쳐져 만들어지는 사각형이 다면체의 일 면을 구성할 수도 있다.
도 3을 참조하면, 일 실시예에 따른 영상 처리 장치는 획득한 전방위 구형 영상(310)을 다면체인 정20면체(320) 또는 정8면체(330)에 투영할 수 있다. 즉, 영상 처리 장치는 정20면체(320) 또는 정8면체(330)의 전개도에 영상을 투영하여 투영 영상을 생성할 수 있다. 정20면체(320)에 투영된 영상은 아이코사히드랄 투영 영상(icosahedral projection image)이며, 정8면체(330)에 투영된 영상은 옥타히드랄 투영 영상(octahedral projection image)이다.
이하에서는 도 3에 도시한 것과 같이 전방위 구형 영상(310)를 정20면체(320) 또는 정8면체(330)에 투영하는 것을 예로 들어 영상 처리 과정을 설명하도록 한다. 하지만, 위에서 설명한 것과 같이 다면체는 정20면체(320) 또는 정8면체(330)에 한정되지 않고, 획득한 전방위 구형 영상(310)을 다양한 형태의 다면체에 투영하여 영상 처리를 수행하는 것도 가능하다.
도 4는 일 실시예에 따른 아이코사히드랄 투영 영상을 나타내는 도면이다.
도 4를 참조하면, 도 3에 도시된 정20면체(320)를 전개한 전개도에 전방위 구형 영상(310)를 투영하여 생성된 투영 영상(410)을 나타낸다. 투영 영상(410)은 아이코사히드랄 투영 기법을 이용하여 생성된 아이코사히드랄 투영 영상이다. 일 실시예에 따른, 투영 영상(410)은 전방위 구형 영상(310)이 투영된 정20면체(320)를 펼쳐놓은 전개도와 동일하다. 즉, 투영 영상(410)은 360도x180도의 전방위 구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따른 투영 영상(410)이 획득되면, 영상 처리 장치는 반구형 디렉터 뷰 영상의 처리를 위하여 투영 영상(410)으로부터 디렉터 뷰 영상에 대응하는 면적을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면(412)을 결정한다. 그 후, 영상 처리 장치는 경계면(412) 내부에 포함되는 영역만을 획득하거나, 경계면(412) 외부에 해당하는 영역을 제거(crop)하는 방식으로 투영 영상(410)으로부터 디렉터 뷰 영상에 대응하는 영역을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따라, 투영 영상(410)으로부터 분할된 디렉터 뷰 투영 영상(420)은 정삼각형 또는 직각삼각형들의 집합으로 구성된 형태를 갖는다. 일 실시예에 따른 영상 처리 장치는, 이처럼 정삼각형 또는 직각삼각형들의 집합으로 구성된 디렉터 뷰 투영 영상(420)을 직사각형 영상(rectangular image)으로 재구성(reshaping)하는 작업을 수행한다. 디렉터 뷰 투영 영상(420)은 정20면체(320)로부터 전개된 2차원 영상인 바, 도 4에서 볼 수 있듯이, 실제로 재생될 영상과는 관련 없는 여백이 존재한다. 이러한 여백은 도면 상에서는 여백에 불과하지만, 영상 처리 과정에 있어서는 처리해야 할 데이터에 해당한다. 따라서, 여백이 많을수록 영상 처리 장치가 처리해야 할 데이터가 많아져 처리 효율이 떨어지게 된다. 디렉터 뷰 투영 영상(420)을 직사각형 영상으로 재구성하는 과정은 이러한 여백을 줄여 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄여주는 과정이다.
일 실시예에 따른 아이코사히드랄 투영 영상의 재구성 과정은 도 7 내지 도 10을 통해 상세히 후술하기로 한다.
도 5는 일 실시예에 따른 옥타히드랄 투영 영상을 나타내는 도면이다.
도 5를 참조하면, 도 3에 도시된 정8면체(330)를 전개한 전개도에 전방위 구형 영상(310)를 투영하여 생성된 투영 영상(510)을 나타낸다. 투영 영상(510)은 옥타히드랄 투영 기법을 이용하여 생성된 옥타히드랄 투영 영상이다. 일 실시예에 따른, 투영 영상(510)은 전방위 구형 영상(310)이 투영된 정8면체(330)를 펼쳐놓은 전개도와 동일하다. 즉, 투영 영상(510)은 360도x180도의 전방위 구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따른 투영 영상(510)이 획득되면, 영상 처리 장치는 반구형 디렉터 뷰 영상의 처리를 위하여 투영 영상(510)으로부터 디렉터 뷰 영상에 대응하는 면적을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면(512)을 결정한다. 그 후, 영상 처리 장치는 경계면(512) 내부에 포함되는 영역만을 획득하거나, 경계면(512) 외부에 해당하는 영역을 제거하는 방식으로 투영 영상(510)으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
도 4의 디렉터 뷰 투영 영상(420)과 마찬가지로, 투영 영상(510)으로부터 분할된 디렉터 뷰 투영 영상(520)은 정삼각형 또는 직각삼각형들의 집합으로 구성된 형태를 갖는다. 도 4에서 전술한 바와 마찬가지로, 일 실시예에 따른 영상 처리 장치는, 도 5의 디렉터 뷰 투영 영상(520)을 직사각형 영상으로 재구성하는 작업을 수행한다.
일 실시예에 따른 옥타히드랄 투영 영상의 재구성 과정은 도 11 내지 도 16을 통해 상세히 후술하기로 한다.
도 6은 일 실시예에 따른 다면체의 구성 성분을 나타내는 도면이다.
도 4 및 도 5를 통해 전술한 바와 같이, 일 실시예에 따른 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성하는 작업을 수행한다. 일 실시예에 따른 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520) 내의 픽셀들의 위치를 이동시킴으로써 직사각형 영상을 획득할 수 있다.
일 실시예에 따르면, 픽셀의 위치를 이동시킨다는 의미는 픽셀 데이터의 이동을 의미한다. 즉, 물리적인 픽셀의 이동이 아니라, 특정 픽셀의 픽셀 데이터를 다른 픽셀의 픽셀 데이터로 저장하는 것이다.
일 실시예에 따르면, 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성 시, 영상 처리 장치는 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 영상을 생성할 수 있다. 즉, 디렉터 뷰 투영 영상(420, 520)의 전체 픽셀 개수 및 픽셀 데이터의 변경 없이, 단순히 픽셀의 위치만 이동시킴으로써 직사각형 영상이 생성될 수 있다. 따라서, 재구성된 직사각형 영상과 디렉터 뷰 투영 영상(420, 520)의 면적은 동일하다. 일 실시예에 따르면, 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성하는데 있어서 픽셀의 위치만 이동되고, 전체 픽셀 개수와 픽셀 데이터는 동일한 바, 픽셀의 위치 이동 내역 또는 픽셀의 원래 위치만을 알 수 있으면 직사각형 영상을 쉽게 디렉터 뷰 투영 영상(420, 520)으로 복원할 수 있다.
일 실시예에 따라 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성함에 있어서, 영상 처리 장치는 각각의 픽셀들을 포함하는 최소 단위를 설정하고 설정된 최소 단위의 위치를 이동시키는 방식을 이용할 수 있다. 정20면체 또는 정8면체와 같은 다면체의 경우 정삼각형을 구성 성분으로 한다. 그런데, 반구형 디렉터 뷰 영상의 처리 시에는 도 4 및 도 5에 도시된 바와 같이 디렉터 뷰 영상의 경계면(412, 512)에 의해 반으로 분할되는 정삼각형(600)이 존재한다. 즉, 디렉터 뷰 투영 영상(420, 520)은 정삼각형(600)이 분할된 직각삼각형(610, 620)들의 조합으로 이루어진 형태로 이해할 수 있다.
이에 따라, 영상 처리 장치는 도 6에 도시된 바와 같은 직각삼각형(610, 620)을 기본 단위로 재구성 작업을 수행할 수 있다. 다시 말해, 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520)을 구성하는 각각의 직각삼각형(610, 620)들을 적절하게 배치시킴으로써 직사각형 영상을 생성할 수 있다.
이하에서는, 구체적인 실시예를 통해 픽셀의 이동을 통한 재구성 과정을 설명하도록 한다.
도 7은 제 1 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 7을 참조하면, 먼저, S702 단계에서 영상 처리 장치는 전방위 구형 영상을 정20면체에 투영한다. 정20면체에 투영된 투영 영상은 도 4의 투영 영상(410)과 같은 전개도 형태를 갖는다.
S702 단계에서 투영 영상이 획득되면, S704 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S706 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(420)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(420)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S708 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 큰지 여부를 판단한다. 도 8을 참조하면, 도 4의 디렉터 뷰 투영 영상(420)과 대응하는 디렉터 뷰 투영 영상(810)이 도시되며, 디렉터 뷰 투영 영상(810)은 삼각형이 3개 층으로 쌓여있는 형태이다. 제 1 실시예에 따르면, 영상 처리 장치는 최하단에 위치한 삼각형들을 상측 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 2/3로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(810)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S708 단계에서 선택한 행의 번호가 설정값보다 크다고 판단하는 경우, 영상 처리 장치는 S710 단계로 진행하여 선택한 행에 포함된 픽셀들을 상단으로 수직 이동시킬 수 있다. S708 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 영상 처리 장치는 S712 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S714 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정(adjust)한다.
S716 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S706 단계로 되돌아가 위 과정을 반복한다.
S706 단계 내지 S716 단계는 도 8에 도시된 디렉터 뷰 투영 영상(810)을 디렉터 뷰 직사각형 영상(820)으로 재구성하기 위한 과정으로, 도 8을 참조하여 보다 상세히 설명하도록 한다.
도 8은 제 1 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 8을 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(810)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(810)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(810)의 높이의 2/3로 설정하는 경우, 전체 행 길이의 2/3 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들을 상단으로 수직 이동시킬 수 있다.
따라서, 제 1 실시예에 따른 영상 처리 장치는, 도 8에 도시된 바와 같이 전체 행 길이의 2/3 보다 큰 행 번호를 갖는 픽셀들을 포함하는 정삼각형(812, 814) 및 직각삼각형(816)을 상단으로 수직 이동시켜 디렉터 뷰 투영 영상(810)의 상단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 상단으로 쉬프트하기 위한 수식 P(x',y')=P(x,y - 2/3 * h)을 이용할 수 있다. 이 때, h는 전체 행 길이를 나타낸다.
도 8을 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(820)이 도시된다. 도 8에 도시된 디렉터 뷰 직사각형 영상(820)은 제 1 실시예에 따른 픽셀의 수직 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(810) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수직 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(810)이 디렉터 뷰 직사각형 영상(820)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 9는 제 2 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 9를 참조하면, 먼저, S902 단계에서 영상 처리 장치는 전방위 구형 영상을 정20면체에 투영한다. 정20면체에 투영된 투영 영상은 도 4의 투영 영상(410)과 같은 전개도 형태를 갖는다.
S902 단계에서 투영 영상이 획득되면, S904 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭되며, 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S906 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(420)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(420)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S908 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 작은지 여부를 판단한다. 도 10을 참조하면, 도 4의 디렉터 뷰 투영 영상(420)과 대응하는 디렉터 뷰 투영 영상(1010)이 도시되며, 디렉터 뷰 투영 영상(1010)은 삼각형이 3개 층으로 쌓여있는 형태이다. 제 2 실시예에 따르면, 영상 처리 장치는 최상단에 위치한 삼각형들을 하측 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/3로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1010)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S908 단계에서 선택한 행의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S910 단계로 진행하여 선택한 행에 포함된 픽셀들을 하단으로 수직 이동시킬 수 있다. S908 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S912 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S914 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S916 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S906 단계로 되돌아가 위 과정을 반복한다.
S906 단계 내지 S916 단계는 도 10에 도시된 디렉터 뷰 투영 영상(1010)을 디렉터 뷰 직사각형 영상(1020)으로 재구성하기 위한 과정으로, 도 10을 참조하여 보다 상세히 설명하도록 한다.
도 10은 제 2 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 10을 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1010)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1010)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1010)의 높이의 1/3로 설정하는 경우, 전체 행 길이의 1/3 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들을 하단으로 수직 이동시킬 수 있다.
따라서, 제 2 실시예에 따른 영상 처리 장치는, 도 10에 도시된 바와 같이 전체 행 길이의 1/3 보다 작은 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1012) 및 정삼각형(1014, 1016)을 하단으로 수직 이동시켜 디렉터 뷰 투영 영상(1010)의 하단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 하단으로 쉬프트하기 위한 수식 P(x',y')=P(x,y + 2/3 * h)을 이용할 수 있다. 이 때, h는 전체 행 길이를 나타낸다.
도 10을 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1020)이 도시된다. 도 10에 도시된 디렉터 뷰 직사각형 영상(1020)은 제 1 실시예에 따른 픽셀의 수직 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1010) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수직 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1010)이 디렉터 뷰 직사각형 영상(1020)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 11은 제 3 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 11을 참조하면, 먼저, S1102 단계에서 영상 처리 장치는 전방위 구형 영상을 정8면체에 투영한다. 정8면체에 투영된 투영 영상은 도 5의 투영 영상(510)과 같은 전개도 형태를 갖는다.
S1102 단계에서 투영 영상이 획득되면, S1104 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭되며, 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S1106 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(520)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(520)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S1108 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 큰지 여부를 판단한다. 도 12를 참조하면, 도 5의 디렉터 뷰 투영 영상(520)과 대응하는 디렉터 뷰 투영 영상(1210)이 도시되며, 디렉터 뷰 투영 영상(1210)은 삼각형이 2개 층으로 쌓여있는 형태이다. 제 3 실시예에 따르면, 영상 처리 장치는 하단에 위치한 삼각형들을 좌측 상단 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/2로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1210)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1108 단계에서 선택한 행의 번호가 설정값보다 크다고 판단하는 경우, 영상 처리 장치는 S1110 단계로 진행하여 선택한 행에 포함된 픽셀들을 좌측 상단으로 대각(diagonal) 이동시킬 수 있다. S1108 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 영상 처리 장치는 S1112 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1114 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1116 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S1106 단계로 되돌아가 위 과정을 반복한다.
S1106 단계 내지 S1116 단계는 도 12에 도시된 디렉터 뷰 투영 영상(1210)을 사다리꼴 영상(1220)으로 재구성하기 위한 과정으로, 도 12를 참조하여 보다 상세히 설명하도록 한다.
도 12는 제 3 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 12를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1210)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1210)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1210)의 높이의 1/2로 설정하는 경우, 전체 행 길이의 1/2 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들을 좌측 상단으로 대각 이동시킬 수 있다.
따라서, 제 3 실시예에 따른 영상 처리 장치는, 도 12에 도시된 바와 같이 전체 행 길이의 1/2 보다 큰 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1212)들을 좌측 상단으로 대각 이동시켜 디렉터 뷰 투영 영상(1210)의 상단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 좌측 상단으로 쉬프트하기 위한 수식 P(x',y')=P(x - 1/4 * w,y - 1/2 * h)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타내며 h는 전체 행 길이를 나타낸다.
다시, 도 11로 돌아오면, S1116 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, S1118 단계로 진행하여 사다리꼴 영상(1220)이 도시된 평면 상에서 하나의 열을 선택한다. 이때, 투영 영상의 가장 왼쪽에 있는 픽셀이 위치한 행이 y축이 될 수 있다.
S1120 단계에서 영상 처리 장치는 선택한 열의 번호가 설정값보다 작은지 여부를 판단한다. 도 12를 참조하면, 영상 처리 장치는 사다리꼴 영상(1220)을 구성하는 직각삼각형들 중 좌측에 위치한 직각삼각형(1222)을 우측 방향으로 수평 이동시키기 위해, 설정값을 전체 열의 개수의 1/4로 설정할 수 있다. 이 때, 전체 열의 개수는 디렉터 뷰 투영 영상(1210)의 가로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1120 단계에서 선택한 열의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1122 단계로 진행하여 선택한 열에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다. S1120 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1124 단계로 진행하여 선택한 열에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1126 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1128 단계에서 영상 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, S1118 단계로 되돌아가 위 과정을 반복한다.
S1118 단계 내지 S1128 단계는 도 12에 도시된 사다리꼴 영상(1220)을 디렉터 뷰 직사각형 영상(1230)으로 재구성하기 위한 과정으로, 다시 도 12를 참조하여 상세히 설명하도록 한다.
도 12를 참조하면, 픽셀들의 대각 이동 결과 생성된 사다리꼴 영상(1210)에서 가장 왼쪽에 위치한 픽셀을 포함하는 열을 y축이라하고, 오른쪽으로 갈수록 열 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 열 길이, 즉, 디렉터 뷰 투영 영상(1210)의 너비의 1/4로 설정하는 경우, 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 열들에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다.
따라서, 제 3 실시예에 따른 영상 처리 장치는, 도 12에 도시된 바와 같이 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 픽셀들을 포함하는 직각삼각형(1222)들을 우측으로 수평 이동시켜 사다리꼴 영상(1220)의 우측 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 우측으로 쉬프트하기 위한 수식 P(x',y)=P(x+w,y)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타낸다.
도 12를 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1230)이 도시된다. 도 12에 도시된 디렉터 뷰 직사각형 영상(1230)은 제 3 실시예에 따른 픽셀의 대각 이동 및 수평 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1210) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1210)이 디렉터 뷰 직사각형 영상(1230)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 13은 제 4 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 13을 참조하면, 먼저, S1302 단계에서 영상 처리 장치는 전방위 구형 영상을 정8면체에 투영한다. 정8면체에 투영된 투영 영상은 도 5의 투영 영상(510)과 같은 전개도 형태를 갖는다.
S1302 단계에서 투영 영상이 획득되면, S1304 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭되며, 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S1306 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(520)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(520)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S1308 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 작은지 여부를 판단한다. 도 14를 참조하면, 도 5의 디렉터 뷰 투영 영상(520)과 대응하는 디렉터 뷰 투영 영상(1410)이 도시되며, 디렉터 뷰 투영 영상(1410)은 삼각형이 2개 층으로 쌓여있는 형태이다. 제 4 실시예에 따르면, 영상 처리 장치는 상단에 위치한 삼각형들을 좌측 하단 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/2로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1410)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1308 단계에서 선택한 행의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1310 단계로 진행하여 선택한 행에 포함된 픽셀들을 좌측 하단으로 대각 이동시킬 수 있다. S1308 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1312 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1314 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1316 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S1306 단계로 되돌아가 위 과정을 반복한다.
S1306 단계 내지 S1316 단계는 도 14에 도시된 디렉터 뷰 투영 영상(1410)을 사다리꼴 영상(1420)으로 재구성하기 위한 과정으로, 도 14를 참조하여 보다 상세히 설명하도록 한다.
도 14는 제 4 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 14를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1410)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1410)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1410)의 높이의 1/2로 설정하는 경우, 전체 행 길이의 1/2 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들을 좌측 하단으로 대각 이동시킬 수 있다.
따라서, 제 4 실시예에 따른 영상 처리 장치는, 도 14에 도시된 바와 같이 전체 행 길이의 1/2 보다 작은 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1412)들을 좌측 하단으로 대각 이동시켜 디렉터 뷰 투영 영상(1410)의 하단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x',y')로서 표현한다면 픽셀을 좌측 하단으로 쉬프트하기 위한 수식 P(x,y)=P(x - 1/4 * w,y + 1/2 * h)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타내며 h는 전체 행 길이를 나타낸다.
다시, 도 13으로 돌아오면, S1316 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, S1318 단계로 진행하여 사다리꼴 영상(1420)이 도시된 평면 상에서 하나의 열을 선택한다. 이때, 투영 영상의 가장 왼쪽에 있는 픽셀이 위치한 행이 y축이 될 수 있다.
S1320 단계에서 영상 처리 장치는 선택한 열의 번호가 설정값보다 작은지 여부를 판단한다. 도 14를 참조하면, 영상 처리 장치는 사다리꼴 영상(1420)을 구성하는 직각삼각형들 중 좌측에 위치한 직각삼각형(1422)을 우측 방향으로 수평 이동시키기 위해, 설정값을 전체 열의 개수의 1/4로 설정할 수 있다. 이 때, 전체 열의 개수는 디렉터 뷰 투영 영상(1410)의 가로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1320 단계에서 선택한 열의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1322 단계로 진행하여 선택한 열에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다. S1320 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1324 단계로 진행하여 선택한 열에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1326 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1328 단계에서 영상 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, S1318 단계로 되돌아가 위 과정을 반복한다.
S1318 단계 내지 S1328 단계는 도 14에 도시된 사다리꼴 영상(1420)을 디렉터 뷰 직사각형 영상(1430)으로 재구성하기 위한 과정으로, 다시 도 14를 참조하여 상세히 설명하도록 한다.
도 14를 참조하면, 픽셀들의 대각 이동 결과 생성된 사다리꼴 영상(1410)에서 가장 왼쪽에 위치한 픽셀을 포함하는 열을 y축이라하고, 오른쪽으로 갈수록 열 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 열 길이, 즉, 디렉터 뷰 투영 영상(1410)의 너비의 1/4로 설정하는 경우, 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 열들에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다.
따라서, 제 4 실시예에 따른 영상 처리 장치는, 도 14에 도시된 바와 같이 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 픽셀들을 포함하는 직각삼각형(1422)들을 우측으로 수평 이동시켜 사다리꼴 영상(1420)의 우측 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 우측으로 쉬프트하기 위한 수식 P(x',y')=P(x+w,y)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타낸다.
도 14를 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1430)이 도시된다. 도 14에 도시된 디렉터 뷰 직사각형 영상(1430)은 제 4 실시예에 따른 픽셀의 대각 이동 및 수평 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1410) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수평 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1410)이 디렉터 뷰 직사각형 영상(1430)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
전술한 바와 같이, 영상 처리 장치는 아이코사히드랄 투영 영상 또는 옥타히드랄 투영 영상을 다양한 실시예에 의해 직사각형 영상으로 재구성할 수 있다. 그러나, 전술한 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 예를 들어 도 15에 도시된 바와 같은 형태로 재구성이 수행될 수도 있다.
도 15은 다양한 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 15를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1510)은 픽셀들의 대각 이동만으로 디렉터 뷰 직사각형 영상(1520)으로 재구성될 수 있다.
예를 들어, 영상 처리 장치는 디렉터 뷰 투영 영상(1510)의 높이의 1/2 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들 중 직각삼각형(1512) 영역에 대응하는 픽셀들은 우측 하단으로 대각 이동시키고, 직각삼각형(1514) 영역에 대응하는 픽셀들은 좌측 하단으로 대각 이동시킬 수 있다.
또 다른 예로, 영상 처리 장치는 디렉터 뷰 투영 영상(1510)의 높이의 1/2 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들 중 직각삼각형(1516) 영역에 대응하는 픽셀들은 우측 상단으로 대각 이동시키고, 직각삼각형(1518) 영역에 대응하는 픽셀들은 좌측 상단으로 대각 이동시킬 수 있다.
일 실시예에 따른 픽셀의 이동 방법은 다양한 방법으로 적용 가능하다. 예를 들어, 수평 이동, 수직 이동 및 대각 이동의 순서를 복합적으로 적용하는 것이 가능하다.
일 실시예에 따르면, 투영 영상을 직사각형 영상으로 재구성함으로써, 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다. 또한, 재구성된 직사각형 영상의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높아져 효율적인 처리가 가능하다.
위에서 설명한 구체적인 직사각형 영상 재구성 방법들은 일 실시예에 불과하며, 다양한 방법을 이용하여 직사각형 영상을 재구성할 수 있다. 예를 들어, 위에서 설명한 픽셀의 위치 이동 방법들을 복합적으로 사용하여 직사각형 영상을 재구성할 수도 있다. 또한, 또 다른 픽셀의 위치 이동 방법을 통해 직사각형 영상을 재구성하는 것도 가능하다.
도 16은 일 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 16을 참조하면, 먼저, S1610 단계에서 영상 처리 장치는 전방위 구형 영상을 생성한다. 일 실시예에 따른 영상 처리 장치는 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수 있다.
S1620 단계에서 영상 처리 장치는 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 결정한다. 디렉터 뷰는 영상 컨텐츠로부터 서브분할된 영역을 나타낸다. 즉, 전방위 구형 영상의 시야 범위가 360도x180도라면, 디렉터 뷰의 시야 범위는 전방위 구형 영상보다 좁아지므로 360도x180도보다 작을 수 있다. 예를 들어, 디렉터 뷰의 시야 범위는 반구형(180도x180도)일 수 있다. 도 2를 통해 전술한 바와 같이, 디렉터 뷰에 대한 정보는 컨텐츠 제공자 또는 사용자로부터 결정될 수 있으며, 영상 처리 시 영상 분석을 통해 자동으로 결정될 수도 있다.
S1630 단계에서 영상 처리 장치는 다면체의 전개도에 전방위 구형 영상을 투영하여 투영 영상을 생성한다. 투영 영상을 생성하는 구체적인 과정은 도 3을 통해 전술한 바와 같다.
S1640 단계에서 영상 처리 장치는 디렉터 뷰에 대한 정보에 기초하여 투영 영상으로부터 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할한다. 디렉터 뷰 투영 영상을 분할하는 구체적인 과정은 도 4 내지 도 5를 통해 전술한 바와 같다.
S1650 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰의 직사각형 영상으로 재구성한다. 3차원 다면체를 2차원 투영 영상으로 전개하는 과정에서 발생하는 여백은 영상 처리를 요하는 불필요한 데이터이므로, 투영 영상을 직사각형 영상으로 재구성하는 과정은 이러한 여백을 줄여 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄여주는 과정이다. 디렉터 뷰 투영 영상을 디렉터 뷰의 직사각형 영상으로 재구성하는 구체적인 과정은 도 7 내지 도 15를 통해 전술한 바와 같다.
S1660 단계에서 영상 처리 장치는 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성한다. 도 16에는 도시되지 않았지만, 일 실시예에 따르면, 영상 처리 방법은 재구성된 직사각형 영상을 투영 영상으로 복원하는데 필요한 복원 정보를 생성하는 단계를 더 포함할 수 있다. 일 실시예에 따르면, 복원 정보에는 디렉터 뷰에 대한 정보, 영상 투영 시 사용한 3차원 모델에 대한 정보, 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보가 포함될 수 있다. 일 실시예에 따른 복원 정보는 비트스트림 내의 NAL 유닛의 SEI 파라미터에 포함될 수 있다. 위에서 설명한 것과 같이, 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치만을 수 있으면 직사각형 영상을 쉽게 투영 이미지로 복원할 수 있다. 또한, 일 실시예에 따르면, 영상 처리 방법은 재구성된 직사각형 영상과 복원 정보를 전송하는 단계를 더 포함할 수도 있다. 재구성된 직사각형 영상과 복원 정보를 함께 전송함으로써, 이를 수신하는 측에서 재구성된 직사각형 영상을 쉽게 투영 이미지로 복원할 수 있다.
한편, 도 16에는 도시되지 않았지만, 일 실시예에 따른 영상 처리 방법은 디렉터 뷰에 해당하는 영상 뿐만 아니라 전방위 구형 영상을 처리하는 단계를 더 포함할 수도 있다. 일 실시예에 따르면, 영상 처리 방법은 투영 영상으로부터 디렉터 뷰에 해당하는 영역을 분할하지 않고, 전방위 구형 영상의 직사각형 영상으로 재구성할 수도 있다. 일 실시예에 따른 투영 영상을 전방위 구형 영상의 직사각형 영상으로 재구성하기 위하여, 도 7 내지 도 15를 참조하여 설명한 재구성 방식이 동일하게 적용될 수 있다. 일 실시예에 따른 영상 처리 방법은 재구성된 전방위 구형 영상의 직사각형 영상을 부호화하여 비트스트림을 생성할 수 있다. 이처럼, 일 실시예에 따른 영상 처리 방법은 전방위 구형 영상 및 디렉터 뷰 영상을 동시에 투영, 재구성 및 부호화하여 저장(예를 들어, 서버에 저장)함으로써, 이를 수신하는 측(예를 들어, 가상 현실 장치)에서 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 선택하는 것을 가능하게 할 수 있다.
지금까지 일 실시예에 따른 영상 처리 방법에 대해서 설명하였다. 아래에서는 도 17을 참조하여 일 실시예에 따른 영상 처리 방법을 수행하는 영상 처리 장치에 대해서 설명하도록 한다.
도 17은 일 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 17을 참조하면, 영상 처리 장치(1700)는 제어부(1710) 및 메모리(1720)를 포함한다.
제어부(1710)는 영상 처리 장치(1700) 전체의 동작을 제어하며, 메모리(1720)를 제어함으로써 영상을 처리할 수 있다. 제어부(1710)는 영상 처리 장치(1700)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬(ROM) 및 프로세서(Processor)를 포함할 수 있다. 프로세서는 코어(core)와 GPU를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 제어부(1710)는 적어도 둘 이상의 방향에 대한 영상들을 획득하고, 다면체의 전개도에 상기 영상들을 투영하여 투영 영상을 생성하며, 투영 영상의 픽셀들 중 디렉터 뷰에 해당하는 영역을 분할하고, 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 영상으로 재구성할 수 있다.
일 실시예에 따른 제어부(1710)는 도 1 내지 도 16을 참조하여 설명한 영상 처리 방법을 수행할 수 있다. 여기에서 중복되는 내용은 간단히 설명하도록 한다.
일 실시예에 따른 제어부(1710)는 투영 영상 생성 시, 영상들을 다면체에 투영하는 경우 영상들이 투영되는 다면체의 영역에 대응되는 전개도의 영역에 영상들을 투영할 수 있다.
일 실시예에 따른 제어부(1710)는 투영 영상을 직사각형 영상으로 재구성 시, 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 영상을 생성할 수 있다.
일 실시예에 따른 제어부(1710)는 직사각형 영상을 투영 영상으로 복원하는데 필요한 복원 정보를 생성할 수 있다.
일 실시예에 따른 제어부(1710)는 재구성된 직사각형 영상과 복원 정보를 전송하도록 제어할 수 있다.
일 실시예에 따르면, 제어부(1710)는 투영 영상을 직사각형 영상으로 재구성함으로써, 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다.
메모리(1720)는 영상 처리 장치(1700)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(1720)는 휘발성(volatile) 저장 매체 또는 비휘발성(nonvolatile) 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합(combination)으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리(semiconductor memory)가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크(hard disk), 플래시 낸드 메모리(Flash NAND Memory)가 포함될 수 있다.
일 실시예에 따른 메모리(1720)는 제어부(1710)의 동작을 위한 데이터를 저장할 수 있다.
나아가, 도 17에는 도시하지 않았지만, 영상 처리 장치(1700)는 카메라부, 수신부, 전송부 등을 더 포함할 수 있다. 일 실시예에 따르면, 카메라부는 영상 처리 장치는 카메라를 통해 영상 처리 장치를 360도로 둘러싼 주위 환경을 촬영할 수 있다. 또한, 수신부는 외부 장치로부터 360도 영상을 수신할 수 있다. 일 실시예에 따르면, 전송부는 재구성된 직사각형 영상과 복원 정보를 전송할 수 있다. 수신부 및 전송부는 통신부를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치(1700)는 처리해야 할 데이터를 줄이고, 인접한 픽셀들이 연속적인 픽셀 데이터를 가지도록 영상을 처리하여 데이터 처리에 소요되는 전력을 줄이고, 처리 효율을 증가시킬 수 있다.
도 18은 일 실시예에 따른 비트스트림으로부터 영상을 복호화하여 역투영 영상을 생성하는 방법을 나타내는 순서도이다.
도 18을 참조하면, S1802 단계에서 영상 처리 장치는 부호화된 비트스트림을 수신하여 복호화를 수행한다. 일 실시예에 따르면 S1802 단계에서 영상 처리 장치는 동영상 압축과 관련된 국제 표준(예를 들어, ISO/IEC의 엠펙(MPEG), ITU-T의 H.26x 등)에 따라 복호화를 수행하여 복호화된 영상을 획득할 수 있다. 이 때, 획득된 복호화된 영상은 투영 영상(또는 디렉터 뷰의 투영 영상)이 재구성되어 생성된 직사각형 영상이다.
S1804 단계에서 영상 처리 장치는 비트스트림으로부터 복원 정보를 획득한다. 일 실시예에 따른 복원 정보에는 디렉터 뷰에 대한 정보, 영상 투영 시 사용한 3차원 모델에 대한 정보(다면체 정보), 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보(재구성 정보)가 포함될 수 있다. 일 실시예에 따라 영상 처리 장치는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 복원 정보를 획득할 수 있다.
S1806 단계에서 영상 처리 장치는 복원 정보를 이용하여, 재구성된 직사각형 영상을 투영 영상으로 복원하는 방법을 결정한다. 즉, 영상 처리 장치는 적어도 하나 이상의 복원 방법 중에서 하나의 복원 방법을 결정할 수 있다. 앞서 도 7 내지 도 15를 참조하여 설명한 바와 같이, 투영 영상(또는 디렉터 뷰 투영 영상)은 다양한 실시예에 따라 직사각형 영상으로 재구성될 수 있다. 일 실시예에 따르면, 복원 정보에는 재구성 당시 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보가 포함되어 있으므로, 이를 통해 직사각형 영상이 투영 이미지로 복원될 수 있다.
한편, 투영 영상이 어떤 종류의 다면체를 이용하였는지 여부에 따라서도 복원 방법이 달라질 수 있다. 따라서, S1806 단계에서 영상 처리 장치는 영상 투영 시 사용된 3차원 모델(다면체)에 대한 정보를 이용하여 복원 방법을 결정할 수 있다. 또한, 일 실시예에 따른 영상 처리 장치는 각각의 방식으로 복원을 수행하기 이전에 3D 모듈을 초기화할 수 있다.
S1806 단계에서 영상 처리 장치가 복원 방법을 방법 A로 결정하는 경우, S1810 단계로 진행하여 방법 A를 이용하여 투영 영상을 복원하고, 복원 방법을 방법 B로 결정하는 경우, S1830 단계로 진행하여 방법 B를 이용하여 투영 영상을 복원하며, 복원 방법을 그 외 다른 방법으로 결정하는 경우, S1850 단계로 진행하여 해당 방법을 이용하여 투영 영상을 복원한다. 여기서, 복원 방법 A, B 및 다른 복원 방법은 각 복원 방법을 구분하기 위하여 편의상 구분한 것이고, 특정 복원 방법을 지칭하는 것은 아니다.
방법 A을 통해 복원하기로 결정한 경우 구체적인 복원 방법을 설명하도록 한다. 직사각형 영상을 투영 영상으로 복원시키는 과정은 투영 영상을 직사각형 영상으로 재구성하는 과정의 역순으로 이루어지는 바, 간략히 설명하도록 한다.
S1812 단계에서 영상 처리 장치는 직사각형 영상의 픽셀을 이동시키기 위한 기본 단위로서, 구획화된 직각삼각형을 선택한다. 각각의 직각삼각형은 인덱싱되어 있으며, 직각삼각형의 인덱스(triangle_idx)는 복원 정보에 포함될 수 있다.
S1814 단계에서 영상 처리 장치는 선택된 직각삼각형의 위치를 조정한다. 일 실시에에 따른 영상 처리 장치는 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보에 기초하여, 직사각형 영상으로 재구성되기 이전의 영상(즉, 투영 영상)으로 픽셀들을 이동시킬 수 있다. 일 실시예에 따른 영상 처리 장치는 앞서 도 7 내지 도 15를 참조하여 설명한 재구성 순서와 반대되는 순서로 직각삼각형의 픽셀을 이동시킬 수 있다. 예를 들어, 방법 A에 의한 재구성 순서가 픽셀의 대각 이동 이후 수평 이동의 형태라면, 방법 A에 의한 복원 순서는 픽셀의 수평 이동 이후 대각 이동의 형태일 수 있다.
S1814 단계에서 직각삼각형의 위치가 조정되면, S1816 단계에서 다음 직각삼각형이 선택된다.
S1818 단계에서 영상 처리 장치는 선택하지 않은 직각삼각형이 존재하는지 여부를 판단하여, 선택하지 않은 직각삼각형이 존재하는 경우, S1812 단계로 되돌아가 위 과정을 반복한다.
S1818 단계에서 영상 처리 장치가 모든 직각삼각형에 대한 위치 조정이 끝났다고 판단하는 경우, 투영 영상의 복원이 완료된 것이며, S1820 단계로 진행한다.
S1820 단계에서 영상 처리 장치는 이전 단계들의 과정을 통해 생성한 투영 영상을 렌더링한다. S1820 단계에서 영상 처리 장치는 투영 영상을 다면체로 조립하고, 다면체를 역투영(back-projection)하여 역투영 영상을 생성한다. 이때, 역투영 영상은 특정 위치를 둘러싼 주위 환경을 나타내는 영상일 수 있다. 일 실시예에 따르면, 영상 처리 장치는 특정 위치를 둘러싼 주위 환경 전체 또는 일부를 나타내는 영상을 생성할 수 있다. 이 때, 영상 모드가 전체 모드인 경우 전방위 구형 영상이 생성되고, 영상 모드가 디렉터 뷰 모드인 경우 디렉터 뷰 영상(예를 들어, 반구형 180도x180도 영상)이 생성될 수 있다. 또한, 영상 처리 장치가 가상 현실 장치이고, 사용자가 가상 현실 장치를 사용하는 경우, 사용자 시선에 따라 사용자 주위 환경에 대한 역투영 영상을 생성할 수 있다. 이 때, 생성되는 역투영 영상은 사용자 주위 환경 전체를 나타내는 영상이 아니라 사용자의 시선에 따라 보여지는 사용자 주위 환경 중 일부를 나타내는 영상일 수 있다.
도 18을 참조하면, 일 실시예에 따른 영상 처리 장치가 방법 B를 통해 복원하기로 결정한 경우에도, 방법 A를 통한 복원과 동일한 과정이 적용된다. 즉, S1832 단계, S1834 단계, S1836 단계, S1838 단계 및 S1840 단계는 전술한 S1812 단계, S1814 단계, S1816 단계, S1818 단계 및 S1820 단계에 각각 대응한다.
도 18을 참조하여 설명한 일 실시예에 따른 역투영 영상을 생성하는 방법은 하나의 실시예에 불과하며, 직사각형 영상 재구성 방법에 따라 다양한 복원 방법이 사용될 수 있다.
도 19는 다른 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 19를 참조하면, 먼저, S1910 단계에서 영상 처리 장치는 부호화된 비트스트림을 수신한다.
S1920 단계에서 영상 처리 장치는 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 획득한다. 일 실시예에 따른 재구성 정보, 다면체 정보 및 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 획득될 수 있으며, 이는 전술한 복원 정보에 대응하는 것일 수 있다.
S1930 단계에서 영상 처리 장치는 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상을 생성한다.
S1940 단계에서 영상 처리 장치는 재구성 정보 및 디렉터 뷰에 대한 정보에 기초하여, 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원한다. S1940 단계에서 영상 처리 장치가 디렉터 뷰 투영 영상을 복원하는 구체적인 과정은 도 18의 S1812 단계 내지 S1818 단계를 통해 전술한 바와 같다.
S1950 단계에서 영상 처리 장치는 다면체 정보에 기초하여, 디렉터 뷰 투영 영상을 다면체로 조립하고 다면체를 역투영하여 역투영 영상을 생성한다. S1950 단계에서 영상 처리 장치가 역투영 영상을 생성하는 구체적인 과정은 도 18의 S1820 단계를 통해 전술한 바와 같다.
도 19에는 도시되지 않았지만, 다른 실시예에 따른 영상 처리 방법은 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계를 더 포함할 수 있다. 다른 실시예에 따른 영상 처리 방법은, 영상 모드에 대한 정보가 전체 모드를 나타내는 경우, 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 전방위 구형 영상의 투영 영상을 역투영하여 전방위 구형 영상을 생성할 수 있다. 또한, 다른 실시예에 따른 영상 처리 방법은, 영상 모드에 대한 정보가 디렉터 뷰 모드를 나타내는 경우, 디렉터 뷰 투영 영상을 역투영하여 디렉터 뷰에 따른 영상을 생성할 수 있다.
도 20은 다른 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 20을 참조하면, 영상 처리 장치(2000)는 수신부(2010), 제어부(2020) 및 메모리(2030)를 포함한다. 다른 실시예에 따르면, 영상 처리 장치(2000)는 가상 현실 장치일 수 있다.
수신부(2010)는 부호화된 비트스트림을 수신하는 역할을 수행한다. 이 때, 부호화된 비트스트림에는 직사각형 영상에 대한 데이터가 포함될 수 있다. 또한, 부호화된 비트스트림의 NAL 유닛의 SEI 파라미터에는 복원 정보가 포함될 수 있다. 수신부(2010)는 USB 인터페이스부, DVD 인터페이스부 등 다양한 구성 요소를 포함할 수 있다. 예를 들어, 수신부(2010)가 USB 인터페이스부를 포함하는 경우, 영상 처리 장치(2000)는 영상 파일을 USB로부터 수신할 수도 있다. 나아가, 통신부(미도시)를 통해 외부 장치로부터 영상을 수신하는 경우, 통신부가 수신부(2010)의 역할을 수행하는 것도 가능하다. 이때, 통신부는 유선 또는 무선으로 네트워크와 연결되어 외부 장치와의 통신을 수행할 수 있고, 근거리 통신 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 유선 인터넷 모듈 등을 포함할 수 있다. 또한, 통신부는 하나 이상의 구성 요소를 포함할 수도 있다.
메모리(2030)는 영상 처리 장치(2000)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(2030)는 휘발성 저장 매체 또는 비휘발성 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크, 플래시 낸드 메모리가 포함될 수 있다.
다른 실시예에 따른 메모리(2030)는 제어부(2020)의 동작을 위한 데이터를 저장할 수 있다.
제어부(2020)는 영상 처리 장치(2000) 전체의 동작을 제어하며, 메모리(2030)를 제어함으로써 영상을 처리할 수 있다. 제어부(2020)는 영상 처리 장치(2000)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다. 프로세서는 코어와 GPU를 통합한 SoC로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
다른 실시예에 따른 제어부(2020)는 직사각형 영상을 획득하고, 직사각형 영상의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 영상을 복원하며, 투영 영상을 다면체로 조립하고, 다면체를 역투영하여 역투영 영상을 생성할 수 있다.
다른 실시예에 따른 제어부(2020)는 도 19를 참조하여 설명한 영상 처리 방법을 수행할 수 있다. 따라서, 중복되는 내용에 대해서는 설명을 생략하기로 한다.
다른 시예에 따른 영상 처리 장치(2000)는 직사각형 영상을 바탕으로 역투영 영상 생성 시, 적은 데이터를 복원함에 따라 적은 전력으로 효율적인 처리가 가능하다.
도 21은 일 실시예에 따라 재구성된 실제 직사각형 영상을 나타내는 도면이다.
도 21에는 크기 및 형태의 비교를 위해 ERP 투영 영상(2110, 2120)과 다면체 투영 영상(2130, 2140)이 모두 도시되어 있다.
도 21을 참조하면 영상(2110)은 전방위 구형 영상을 등장방향으로 투영시킨 ERP 투영 영상을 나타낸다. 또한, 영상(2120)은 ERP 투영 영상 중에서 디렉터 뷰에 포함되지 않는 영역(2125)이 제거된 것을 나타낸다.
한편, 도 21에 도시된 영상(2130)은 전방위 구형 영상을 정20면체에 투영시킨 아이코사히드랄 투영 영상을 나타낸다. 또한, 영상(2140)은 영상(2130) 중에서 디렉터 뷰에 포함되지 않는 영역(2135)을 제거하고 남은 나머지 영역을 다시 직사각형으로 재구성한 것을 나타낸다.
도 21를 참조하면, ERP 투영 영상(2110, 2120)은 다면체 투영 영상(2130, 2140)에 비해 처리해야 하는 면적이 넓으며, 영상 내의 위치에 따라 처리되는 면적이 상이해지는 비선형 특성으로 인해 더 많은 연산량이 요구된다. 그에 반해, 다면체 투영 영상(2130, 2140)은 동일한 모양과 면적을 갖는 다면체를 이용하기 때문에 3차원 공간 영상을 2차원 평면 영상으로 쉽게 변환할 수 있다.
또한, 도 21을 참조하면, 투영된 영상(2130)은 직사각형의 형태를 갖는 영상(2140)은 도 4에 도시된 투영 영상(310)과 동일하게 삼각형이 3개 층으로 쌓여있는 형태임을 알 수 있다.
또한, 도 21을 참조하면, 도 8의 픽셀 이동 과정을 통해 설명한 바와 같이, 직사각형으로 재구성된 영상(2140)에는 픽셀의 이동으로 인해 발생한 불연속적인 경계면이 존재함을 확인할 수 있다.
도 22는 일 실시예에 따른 디렉터 뷰에 대한 정보를 나타내는 파라미터를 도시한다.
도 22를 참조하면, 다양한 파라미터들이 도시되어 있다. 이들은 NAL 유닛의 SEI 파라미터로서, 상기 파라미터들을 통해 디렉터 뷰의 방향 및 크기가 특정될 수 있다. 예를 들어, "vps_offset_rotation", "vps_yaw_clip_flag" 및 "vps_pitch_clip_flag"는 전방위 구형 영상의 일부 영역만을 처리할지 여부를 나타내는 플래그이다. "vps_offset_rotation"가 '1'을 나타내면 디렉터 뷰 영역의 중심, 너비 및 높이에 대한 정보를 각각 나타내는 "yaw_center ", "pitch_center" 및 "roll_center" 가 획득되고, "vps_offset_rotation"가 '0'을 나타내면 디렉터 뷰 모드를 사용하지 않음을 나타낸다. 또한, "vps_yaw_clip_flag"가 '1'을 나타내면 처리되는 영상의 수직 길이를 제한하는 범위를 나타내는 정보인 "yaw_range"가 획득되고, "vps_yaw_clip_flag"가 '0'을 나타내면 영상의 수직 길이가 제한되지 않음을 나타낸다. 또한, "vps_pitch_clip_flag"가 '1'을 나타내면 처리되는 영상의 수평 길이를 제한하는 범위를 나타내는 정보인 "pitch_range"가 획득되고, "vps_pitch_clip_flag"가 '0'을 나타내면 영상의 수평 길이가 제한되지 않음을 나타낸다.
도 23은 일 실시예에 따른 투영 영상들을 나타내는 도면이다.
지금까지는 영상을 투영하기 위한 다면체로 정20면체 또는 정8면체를 사용하는 것을 예로 들어 영상 처리 과정을 설명하였다. 하지만 위에서 설명한 것과 같이 다면체는 정20면체 또는 정8면체에 한정되지 않고, 다양한 형태의 다면체에 영상을 투영하여 영상 처리를 수행하는 것도 가능하다. 도 23에는 다양한 형태의 다면체를 이용한 투영 영상이 도시되어 있다.
도 23을 참조하면, 정8면체를 이용한 투영 영상(2310), 정6면체를 이용한 투영 영상(2320) 및 정18면체를 이용한 투영 영상(2330)이 도시되어 있다. 도 23을 참조하면, 이러한 다면체들은 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다. 이 때, 다면체의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 일 실시예에 따르면, 도 23에 도시된 다면체에 한정되지 않고 다양한 형태의 다면체를 이용하여 투영 영상이 생성될 수 있다.
지금까지는 전방위 구형 영상을 효율적으로 부호화, 복호화 및 렌더링하기 위해 디렉터 뷰 영역을 처리하는 과정을 설명하였다. 또한, 이와 함께 다면체 투영 기법을 포함한 투영 영상의 다양한 재구성 방식을 설명하였다. 하지만 위에서 설명한 것과 별개로, 영상 처리의 효율을 높이는 여러 가지 실시예도 이용가능하다. 영상 처리의 효율을 높이는 부수적인 실시예를 이하에서 설명한다. 이하에서 설명하는 실시예는 도 2 내지 도 23에서 설명한 실시예와 함께 복합되어 사용될 수 있다.
도 24는 일 실시예에 따라 사용자의 시야 범위에 기초하여 영상의 복원 품질을 결정하는 방법을 나타내는 도면이다.
본 명세서에서는 효율적인 영상 처리를 위해 전방위 구형 영상 전체를 처리하는 대신, 전방위 구형 영상보다 작은 영역을 나타내는 디렉터 뷰 영상을 처리하는 방법이 개시되어 있다. 그러나, HMD와 같은 가상 현실 장치에서 사용자의 시야 범위(FOV; Field of View)는 디렉터 뷰(예를 들어, 180도x180도) 영상보다 그 범위가 좁을 수 있다. 따라서, 사용자의 시야 범위 내의 영역과 사용자의 시야 범위 외부의 영역을 구별하여 압축 및 복원 품질을 결정한다면 보다 효율적인 영상 처리가 가능하다.
도 24를 참조하면, 사용자의 시야 범위(2410)는 영상 처리 장치가 처리하는 전체 영역의 영상(2400)보다 좁다. 일 실시예에 따라, 영상 처리 장치는 영상(2400) 내의 사용자의 시야 범위(2410)를 분석하여 사용자의 시야 범위(2410)에 해당하는 영역에 대해서는 고품질로 압축 및 복원 동작을 수행할 수 있다. 그리고, 일 실시예에 따른 영상 처리 장치는 영상(2400) 내에서 사용자의 시야 범위(2410)를 벗어나는 영역에 대해서는 저품질로 압축 및 복원 동작을 수행할 수 있다.
도 25는 일 실시예에 따라 원(original) 영상에 인공적인(artificial) 영상을 합성하는 방법을 나타내는 도면이다.
전방위 구형 영상에 있어서, 가상 현실 장치를 착용한 사용자는 자신을 둘러싼 주위 환경을 바라볼 수 있다. 가상 현실 장치를 착용한 사용자는 가상 현실 내에서 시선을 돌리는 경우에도 그에 따른 적절한 영상을 제공받아야 한다. 따라서, 영상 처리 장치는 카메라를 통해 360도x180도의 파노라마 영상을 획득하여야 한다. 그러나, 영상 처리 장치가 전방위 구형 영상을 생성하기 위해 360도x180도의 파노라마 영상을 처리해야 하는 것은 연산량의 부담으로 작용할 수 있다.
한편, 가상 현실 장치를 착용한 사용자의 시선은 수평 방향을 향하는 것이 보통이다. 360도x180도의 파노라마 영상이 획득되는 과정에서 중요한 컨텐츠 또는 사용자의 시선을 이끄는 대상은 영상의 중앙 부분(즉, 수평 방향)에 배치되는 것이 일반적이기 때문이다. 바꿔 말하면, 360도x180도의 파노라마 영상 중에서 사용자의 시선이 위(하늘)로 향하거나 아래(바닥)을 향할 가능성은 상대적으로 낮다. 또한, 하늘 또는 바닥 영역은 컨텐츠의 복잡도가 상대적으로 낮다.
상기와 같은 점을 고려하여, 일 실시예에 따른 영상 처리 장치는 360도x180도 파노라마 영상 중 소정 영역을 인공적인 영상으로 대체할 수 있다. 예를 들어, 영상 처리 장치는 하늘 또는 바닥 영역의 컨텐츠를 제거한 채로 영상을 처리할 수 있다. 이로써, 영상 처리 장치가 처리할 데이터는 줄어들 수 있다. 또한, 영상 복원 시에도 영상 처리 장치는 제거된 영역을 인공적인 영상으로 대체함으로써 간단하게 영상을 복원할 수 있다.
도 25를 참조하면, 360도x180도 파노라마 영상(2500) 중에서 컨텐츠의 대체가 불가능한 영역(2510)을 제외한 나머지 소정 영역(2520, 2530)에 대해서는 원 영상에 인공적인 영상이 합성된다. 이에 따라, 영상 처리 장치는 소정 영역(2520, 2530)에 해당하는 만큼의 영상 데이터 처리를 절약하는 효과를 얻을 수 있게 된다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 실시예를 설명하였지만, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 일 실시예가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 전방위(omnidirectional) 구형 영상을 생성하는 단계;
    상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 결정하는 단계;
    다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계;
    상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할(dividing)하는 단계;
    상기 투영 영상이 아이코사히드럴 투영 영상인 경우에, 상기 디렉터 뷰 투영 영상의 행(row)별로 설정된 행 번호를 이용하여, 현재 행의 행번호가 설정값보다 크면, 상기 현재 행에 포함된 픽셀들을 상단으로 또는 하단으로 수직 이동시킴으로써 상기 디렉터 뷰의 직사각형 영상(rectangular image)으로 재구성(reshaping)하고, 상기 직사각형 영상의 픽셀들의 인덱스를 재조정하는 단계; 및
    상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함하는, 영상 처리 방법.
  2. 제 1 항에 있어서,
    상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함하는, 영상 처리 방법.
  3. 제 1 항에 있어서,
    상기 디렉터 뷰에 대한 정보는 상기 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함되는, 영상 처리 방법.
  4. 제 1 항에 있어서,
    상기 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체인, 영상 처리 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 방법은,
    상기 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 직사각형 영상으로 재구성하는 단계; 및
    상기 전방위 구형 영상의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 더 포함하는, 영상 처리 방법.
  9. 제 1 항에 있어서,
    상기 전방위 구형 영상을 생성하는 단계는,
    360도x180도 파노라마 영상을 획득하는 단계; 및
    상기 파노라마 영상 중 소정 영역을 인공적인(artificial) 영상으로 대체하는 단계를 포함하는, 영상 처리 방법.
  10. 부호화된 비트스트림을 수신하는 단계;
    상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하는 단계;
    상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하는 단계;
    상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 전방위 구형 영상의 투영 영상이 아이코사히드럴 투영 영상인 경우에 상기 디렉터 뷰의 직사각형 영상의 픽셀들의 인덱스를 이용하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들을 상단으로 또는 하단으로 수직 이동시킴으로써 디렉터 뷰 투영 영상을 복원하는 단계; 및
    상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 단계를 포함하는, 영상 처리 방법.
  11. 제 10 항에 있어서,
    상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함하는, 영상 처리 방법.
  12. 삭제
  13. 제 10 항에 있어서,
    상기 방법은,
    영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계;
    상기 영상 모드에 대한 정보가 상기 전체 모드를 나타내는 경우, 상기 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 상기 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 상기 전방위 구형 영상의 투영 영상을 역투영하여 상기 전방위 구형 영상을 재생하는 단계; 및
    상기 영상 모드에 대한 정보가 상기 디렉터 뷰 모드를 나타내는 경우, 상기 디렉터 뷰 투영 영상을 역투영하여 상기 디렉터 뷰에 따른 영상을 재생하는 단계를 더 포함하는, 영상 처리 방법.
  14. 제 10 항에 있어서,
    상기 디렉터 뷰의 직사각형 영상 중에서 사용자 디바이스의 시야 범위(Field of View)에 대응하는 영역은 고품질로 복원되고, 상기 사용자 디바이스의 시야 범위를 벗어나는 영역은 저품질로 복원되는, 영상 처리 방법.
  15. 부호화된 비트스트림을 수신하는 수신부;
    상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하고, 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하고, 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 전방위 구형 영상의 투영 영상이 아이코사히드럴 투영 영상인 경우에 상기 디렉터 뷰의 직사각형 영상의 픽셀들의 인덱스를 이용하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들을 상단으로 또는 하단으로 수직 이동시킴으로써 디렉터 뷰 투영 영상을 복원하며, 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 제어부; 및
    상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함하는, 영상 처리 장치.
KR1020197019238A 2017-04-13 2017-04-13 영상 처리 방법 및 장치 KR102366258B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/003997 WO2018190446A1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190130556A KR20190130556A (ko) 2019-11-22
KR102366258B1 true KR102366258B1 (ko) 2022-02-22

Family

ID=63793350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197019238A KR102366258B1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치

Country Status (4)

Country Link
US (1) US10891711B2 (ko)
KR (1) KR102366258B1 (ko)
CN (1) CN110520895A (ko)
WO (1) WO2018190446A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230140759A1 (en) * 2020-03-25 2023-05-04 Alcacruz Inc. Generating a representation of a spherical image
US11303931B2 (en) * 2020-06-10 2022-04-12 Mediatek Inc. Method and apparatus for processing projection-based frame having projection faces packed in hemisphere cubemap projection layout with face packing constraints
CN112543345B (zh) * 2020-12-02 2023-01-06 深圳创维新世界科技有限公司 图像处理方法、发送端、接收端以及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2424601A (en) 1944-01-25 1947-07-29 Joel E Crouch Icosahedral map
US7656403B2 (en) 2005-05-13 2010-02-02 Micoy Corporation Image processing and display
JP4945578B2 (ja) 2007-01-04 2012-06-06 肇 鳴川 情報処理方法
KR101583646B1 (ko) * 2014-05-12 2016-01-19 (주)헥스하이브 전 방위 평면 이미지를 생성하는 방법 및 장치
KR102313485B1 (ko) 2015-04-22 2021-10-15 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치
US10397585B2 (en) * 2015-06-08 2019-08-27 Qualcomm Incorporated Processing high dynamic range and wide color gamut video data for video coding
KR102458339B1 (ko) 2015-08-07 2022-10-25 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
JP6667231B2 (ja) * 2015-08-31 2020-03-18 キヤノン株式会社 情報処理装置、画像処理装置、情報処理システム、情報処理方法、及びプログラム。
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
WO2017175888A1 (ko) 2016-04-05 2017-10-12 삼성전자 주식회사 이미지 처리 방법 및 장치
US11551602B2 (en) * 2016-09-01 2023-01-10 Innovega Inc. Non-uniform resolution, large field-of-view headworn display

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Li et al. Novel tile segmentation scheme for omnidirectional video. ICIP, 2016년 9월, pp. 370-374. 1부.*

Also Published As

Publication number Publication date
KR20190130556A (ko) 2019-11-22
US10891711B2 (en) 2021-01-12
US20200118241A1 (en) 2020-04-16
CN110520895A (zh) 2019-11-29
WO2018190446A1 (ko) 2018-10-18

Similar Documents

Publication Publication Date Title
EP3542530B1 (en) Suggested viewport indication for panoramic video
CN106375748B (zh) 立体虚拟现实全景视图拼接方法、装置及电子设备
KR102273199B1 (ko) 곡선 뷰 비디오 인코딩/디코딩에서 효율성 향상을 위한 시스템 및 방법
TWI679883B (zh) 處理360度虛擬現實圖像之方法和裝置
KR102493124B1 (ko) 이미지 처리 방법 및 장치
KR20220029780A (ko) 광시야 비디오를 인코딩하기 위한 구면 회전 기법
KR102366258B1 (ko) 영상 처리 방법 및 장치
US11979546B2 (en) Method and apparatus for encoding and rendering a 3D scene with inpainting patches
KR20190011224A (ko) 6자유도 지원 360도 vr 영상 획득 및 재현을 위한 방법 및 그 장치
US11348252B1 (en) Method and apparatus for supporting augmented and/or virtual reality playback using tracked objects
US12081719B2 (en) Method and apparatus for coding and decoding volumetric video with view-driven specularity
CN114503554B (zh) 用于传送体积视频内容的方法和装置
JP2023506832A (ja) 補助パッチを有する容積ビデオ
WO2018109265A1 (en) A method and technical equipment for encoding media content
KR102381376B1 (ko) 비디오 부호화 방법 및 장치, 그 복호화 방법 및 장치
US20220343546A1 (en) Haptic atlas coding and decoding format
WO2018109266A1 (en) A method and technical equipment for rendering media content
KR102656191B1 (ko) 360 비디오 환경에서 포인트 클라우드 콘텐트 액세스 및 전달을 위한 방법 및 장치
JP2022549431A (ja) 容積ビデオを符号化、送信、及び復号化するための方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant