KR20210036834A - 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 - Google Patents
이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 Download PDFInfo
- Publication number
- KR20210036834A KR20210036834A KR1020200123797A KR20200123797A KR20210036834A KR 20210036834 A KR20210036834 A KR 20210036834A KR 1020200123797 A KR1020200123797 A KR 1020200123797A KR 20200123797 A KR20200123797 A KR 20200123797A KR 20210036834 A KR20210036834 A KR 20210036834A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- pruning
- atlas
- priority
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000012545 processing Methods 0.000 title description 18
- 238000004519 manufacturing process Methods 0.000 title description 2
- 238000013138 pruning Methods 0.000 claims abstract description 261
- 238000003672 processing method Methods 0.000 claims abstract description 8
- 230000002194 synthesizing effect Effects 0.000 claims description 16
- 230000033001 locomotion Effects 0.000 claims description 13
- 238000001308 synthesis method Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000010189 synthetic method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 239000000470 constituent Substances 0.000 description 10
- 238000012856 packing Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/156—Mixing image signals
-
- G06T5/005—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시에 따른 이머시브 영상 처리 방법은, 입력 영상들에 대한 프루닝 우선 순위를 결정하는 단계, 상기 프루닝 우선 순위에 기초하여, 상기 입력 영상들로부터 패치들을 추출하는 단계, 상기 추출된 패치들에 기초하여, 적어도 하나의 아틀라스를 생성하는 단계, 및 메타데이터를 부호화하는 단계를 포함한다. 이때, 상기 메타데이터는, 입력 영상들 간 프루닝 우선 순위 정보를 포함할 수 있다.
Description
본 개시는 회전 및 병진 움직임에 대한 운동 시차를 지원하는 이머시브 영상의 처리/출력 방법에 관한 것이다.
가상현실(virtual reality) 서비스는 전방위 영상을 실사 혹은 CG (Computer Graphics) 형태로 생성하여 HMD, 스마트폰 등에 재생함으로써 몰입감 및 현장감이 극대화된 서비스를 제공하는 방향으로 진화하고 있다. 현재 HMD를 통해 자연스럽고 몰입감 있는 전방위 영상을 재생하려면 6 자유도 (DoF: Degrees of Freedom)를 지원해야 하는 것으로 알려져 있다. 6DoF 영상은 (1) 좌우 회전, (2) 상하 회전, (3) 좌우 이동, (4) 상하 이동 등 여섯 방향에 대해 자유로운 영상을 HMD 화면을 통해 제공해야 한다. 하지만 현재 실사에 기반한 대부분의 전방위 영상은 회전운동만을 지원하고 있다. 이에, 6DoF 전방위 영상의 획득, 재현 기술 등의 분야에 대한 연구가 활발히 진행 중에 있다.
본 개시에서는 소스 영상들 간 프루닝 우선 순위를 결정하는 방법을 제공하는 것을 목적으로 한다.
또한, 본 개시는 소스 영상들 간 프루닝 우선 순위에 대한 정보를 메타데이터로 부호화하는 방법을 제공하는 것을 목적으로 한다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에 따른 이머시브 영상 합성 방법은, 비트스트림으로부터 영상 데이터 및 메타데이터를 파싱하는 단계, 상기 영상 데이터를 복호화하여 적어도 하나의 아틀라스를 획득 단계, 및 메타데이터에 기초하여, 사용자 움직임에 따른 뷰포트 영상 합성에 요구되는 패치들을 아틀라스로부터 추출하는 단계를 포함할 수 있다. 이때, 상기 메타 데이터는 입력 영상들 간 프루닝 우선 순위 정보를 포함할 수 있다.
본 개시에 따른 이머시브 영상 합성 방법에 있어서, 상기 프루닝 우선 순위 정보는, 입력 영상이 리프 노드 또는 루트 노드인지 여부를 나타내는 플래그를 포함할 수 있다.
본 개시에 따른 이머시브 영상 합성 방법에 있어서, 상기 플래그가 상기 입력 영상이 리프 노드 또는 루트 노드가 아님을 나타내는 경우, 상기 프루닝 우선 순위 정보는, 차순위 입력 영상의 개수에 대한 정보 및 상기 차순위 입력 영상을 식별하는 정보를 더 포함할 수 있다.
본 개시에 따른 이머시브 영상 합성 방법에 있어서, 상기 뷰포트 영상 생성시, 상기 프루닝 우선 순위에 기초하여, 각 입력 영상에 할당되는 가중치가 결정될 수 있다.
본 개시에 따른 이머시브 영상 합성 방법에 있어서, 상기 뷰포트 영상 생성시, 부모 노드 입력 영상에 할당되는 가중치가 자식 노드에 할당되는 가중치보다 더 큰 값을 가질 수 있다.
본 개시에 따른 이머시브 영상 합성 방법에 있어서, 상기 메타데이터는 상기 아틀라스의 분할 정보를 포함하고, 상기 아틀라스가 복수의 타일들로 분할된 경우, 상기 메타데이터는, 상기 아틀라스 내 상기 패치가 속한 타일을 식별하는 정보를 더 포함할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 의하면, 소스 영상들의 프루닝 우선 순위가 가변적일 수 있다.
본 개시에 의하면, 소스 영상들간 프루닝 우선 순위 정보를 부호화하여 시그날링하는 방법이 제공될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 이머시브 영상 처리 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 이머시브 영상 출력 장치의 블록도이다.
도 3 및 도 4는 각각 이머시브 영상 처리 방법 및 이머시브 영상 출력 방법의 흐름도를 도시한 것이다.
도 5는 가상 시점 영상을 합성하는 예를 설명하기 위한 도면이다.
도 6은 잔차 영상 생성이 생성되는 예를 설명하기 위한 도면이다.
도 7은 소스 영상들 간 프루닝 우선 순위를 예시한 것이다.
도 8 및 도 9는 추가 영상들 간 프루닝 우선 순위에 따라, 프루닝 결과가 상이한 것을 나타낸 예시이다.
도 10은 추가 영상들 간 프루닝 우선 순위가 상이하게 결정되는 예를 나타낸 것이다.
도 11은 본 개시의 일 실시예에 따른, 소스 영상들을 복수의 프루닝 그룹들로 분류한 예를 나타낸다.
도 12는 복수개의 프루닝 그룹이 동일한 기본 영상을 포함하는 예를 나타낸 것이다.
도 13은 우선 순위가 높은 소스 영상들이 별도의 프루닝 그룹으로 설정되는 예를 나타낸다.
도 14는 타일 또는 타일 그룹 단위로 패치들을 패킹하는 예를 나타낸다.
도 15는 월드 좌표계에서 그룹들이 분할되는 예를 나타낸 예이다.
도 16은 이머시브 비디오 및 이종 미디어 객체가 3D 공간상에 정렬된 예 및 이종 미디어와 결합된 영상 처리 방법을 나타낸다.
도 17은 객체 기반 이머시브 비디오와 이종 미디어를 결합 재생하는 방법을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 이머시브 영상 출력 장치의 블록도이다.
도 3 및 도 4는 각각 이머시브 영상 처리 방법 및 이머시브 영상 출력 방법의 흐름도를 도시한 것이다.
도 5는 가상 시점 영상을 합성하는 예를 설명하기 위한 도면이다.
도 6은 잔차 영상 생성이 생성되는 예를 설명하기 위한 도면이다.
도 7은 소스 영상들 간 프루닝 우선 순위를 예시한 것이다.
도 8 및 도 9는 추가 영상들 간 프루닝 우선 순위에 따라, 프루닝 결과가 상이한 것을 나타낸 예시이다.
도 10은 추가 영상들 간 프루닝 우선 순위가 상이하게 결정되는 예를 나타낸 것이다.
도 11은 본 개시의 일 실시예에 따른, 소스 영상들을 복수의 프루닝 그룹들로 분류한 예를 나타낸다.
도 12는 복수개의 프루닝 그룹이 동일한 기본 영상을 포함하는 예를 나타낸 것이다.
도 13은 우선 순위가 높은 소스 영상들이 별도의 프루닝 그룹으로 설정되는 예를 나타낸다.
도 14는 타일 또는 타일 그룹 단위로 패치들을 패킹하는 예를 나타낸다.
도 15는 월드 좌표계에서 그룹들이 분할되는 예를 나타낸 예이다.
도 16은 이머시브 비디오 및 이종 미디어 객체가 3D 공간상에 정렬된 예 및 이종 미디어와 결합된 영상 처리 방법을 나타낸다.
도 17은 객체 기반 이머시브 비디오와 이종 미디어를 결합 재생하는 방법을 설명하기 위한 도면이다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 개시의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 개시에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 개시의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결 되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 개시의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 개시의 본질에서 벗어나지 않는 한 본 개시의 권리범위에 포함된다.
본 개시에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 개시에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 개시의 실시 또는 본 개시의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 개시의 일부의 구성 요소는 본 개시에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 개시는 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 개시의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 개시의 권리범위에 포함된다.
이하, 도면을 참조하여 본 개시의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
이머시브 영상은, 사용자의 시청 위치가 변경될 경우, 뷰 포트도 동적으로 변경될 수 있는 영상을 의미한다. 이머시브 영상을 구현하기 위해, 복수개의 입력 영상들이 요구된다. 복수개의 입력 영상들 각각을 소스 영상 또는 소스 시점이라 호칭할 수 있다.
이머시브 영상은 3DoF (Degree of Freedom), 3DoF+, Windowed-6DoF 또는 6DoF 타입 등으로 분류될 수 있다. 3DoF 기반의 이머시브 영상은, 텍스처 영상만을 이용하여 구현될 수 있다. 반면, 3DoF+ 또는 6DoF 등 깊이 정보를 포함하는 이머시브 영상을 렌더링하기 위해서는, 텍스처 영상뿐만 아니라, 깊이 영상도 요구된다.
후술되는 실시예들은 3DoF+ 및/또는 6DoF 등 깊이 정보를 포함하는 이머시브 영상 처리를 위한 것으로 가정한다. 또한, 소스 영상은 텍스처 영상 및 깊이 영상으로 구성된 것으로 가정한다.
도 1은 본 개시의 일 실시예에 따른 이머시브 영상 처리 장치의 블록도이다.
도 1을 참조하면, 본 개시에 따른 이머시브 영상 처리 장치는 시점 최적화부(View Optimizer, 110), 아틀라스(Atlas) 생성부(120), 메타데이터 생성부(130), 영상 인코더부(140) 및 비트스트림 생성부(150)를 포함할 수 있다.
시점 최적화부(110)는 소스 영상들을 기본 영상 및 추가 영상으로 분류한다. 기본 영상은 프루닝 우선 순위가 가장 높은 소스 영상으로서 프루닝되지 않는 영상을 나타내고, 추가 영상은 기본 영상보다 프루닝 우선 순위가 낮은 소스 영상을 나타낸다.
시점 최적화부(110)는 소스 영상들 중 적어도 하나를 기본 영상으로 결정할 수 있다. 기본 영상으로 선택되지 않은 소스 영상은 추가 영상으로 분류될 수 있다.
시점 최적화부(110)는 소스 영상의 시점 위치를 고려하여, 기본 영상을 결정할 수 있다. 일 예로, 복수의 소스 영상들 중 시점 위치가 중심인 소스 영상이 기본 영상으로 선택될 수 있다.
또는, 시점 최적화부(110)는 카메라 파라미터에 기초하여, 기본 영상을 선택할 수 있다. 구체적으로, 시점 최적화부(110)는 카메라 인덱스, 카메라간 우선 순위, 카메라의 위치 또는 관심 영역 카메라인지 여부 중 적어도 하나에 기초하여 기본 영상을 선택할 수 있다.
일 예로, 카메라 인덱스가 가장 작은 소스 영상, 카메라 인덱스가 가장 큰 소스 영상, 기 정의된 값과 동일한 카메라 인덱스를 갖는 소스 영상, 우선순위가 가장 높은 카메라를 통해 촬영된 소스 영상, 우선 순위가 가장 낮은 카메라를 통해 촬영된 소스 영상, 기 정의된 위치(예컨대, 중심 위치)의 카메라를 통해 촬영된 소스 영상 또는 관심 영역 카메라를 통해 촬영된 소스 영상 중 적어도 하나가 기본 시점 영상으로 결정될 수 있다.
또는, 시점 최적화부(110)는 소스 영상들의 품질에 기초하여, 기본 영상을 결정할 수 있다. 일 예로, 소스 영상들 중 품질이 가장 높은 소스 영상이 기본 영상으로 결정될 수 있다.
또는, 시점 최적화부(110)는 소스 영상들 간, 데이터 중복 정도를 검사한 뒤, 타 소스 영상들의 중복 데이터 비율을 고려하여, 기본 영상을 결정할 수 있다. 일 예로, 타 소스 영상들과의 중복 데이터 비율이 가장 높은 소스 영상 또는 타 소스 영상들과의 중복 데이터 비율이 가장 낮은 소스 영상을 기본 영상으로 결정할 수 있다.
복수개의 소스 영상들이 기본 영상으로 설정될 수도 있다.
아틀라스 생성부(120)는 프루닝을 수행하여 프루닝 마스크를 생성한다. 그리고, 프루닝 마스크를 이용하여 패치를 추출하고, 기본 영상 및/또는 추출된 패치를 결합하여 아틀라스를 생성한다.
생성된 아틀라스는 텍스처 아틀라스 및 깊이 아틀라스로 구성될 수 있다. 텍스처 아틀라스는 기본 텍스처 영상 및/또는 텍스처 패치들이 결합된 영상을 나타내고, 깊이 아틀라스는 기본 깊이 영상 및/또는 깊이 패치들이 결합된 영상을 나타낸다.
아틀라스 생성부(120)는 프루닝부(Pruning unit, 122), 집합부(Aggreegation Unit, 124) 및 패치 패킹부(Patch Packing Unit, 126)을 포함할 수 있다.
프루닝부(122)는 프루닝 우선 순위에 기초하여, 추가 영상에 대한 프루닝을 수행한다. 구체적으로, 추가 영상보다 프루닝 우선 순위가 높은 참조 영상을 이용하여 추가 영상에 대한 프루닝을 수행할 수 있다.
참조 영상은, 기본 영상을 포함한다. 아울러, 추가 영상의 프루닝 우선 순위에 따라, 참조 영상은 다른 추가 영상을 더 포함할 수도 있다.
추가 영상을 참조 영상으로 이용할 수 있는지 여부를 선택적으로 결정할 수도 있다. 일 예로, 추가 영상을 참조 영상으로 이용하지 않도록 설정된 경우, 기본 영상만이 참조 영상으로 설정될 수 있다.
반면, 추가 영상이 참조 영상으로 이용 가능하도록 설정된 경우, 기본 영상 및 추가 영상보다 프루닝 우선 순위가 높은 다른 추가 영상이 참조 영상으로 설정될 수 있다.
프루닝 과정을 통해, 추가 영상과 참조 영상간의 중복 데이터가 제거될 수 있다. 추가 영상으로부터 검출된 중복 데이터를 제거할 수 있다. 프루닝 수행 결과, 추가 영상과 참조 영상 간 중복되지 않는 영역을 표시하는 프루닝 마스크가 생성될 수 있다. 프루닝 마스크는 추가 영상 내 참조 영상과의 중복되지 않는 데이터를 표시하는 바이너리 형태의 데이터일 수 있다. 일 예로, 프루닝 마스크 상에서, 중복 데이터로 판별된 픽셀은 0으로 표기되고, 중복 데이터가 아닌 것으로 판별된 픽셀은 1로 표기될 수 있다.
중복 데이터 판별은 깊이 영상들을 비교하여 수행될 수 있다. 구체적으로, 추가 깊이 영상 및 참조 깊이 영상 각각의 대응 위치들간 깊이 정보를 비교하여, 그 차분이 문턱값 이하인 경우, 대응 위치가 추가 깊이 영상과 참조 깊이 영상 간의 중복 데이터를 검출할 수 있다.
중복되지 않는 영역은 사각형이 아닌 형태를 가질 수 있음에 반해, 패치는 사각 형태로 제한된다. 이에 따라, 패치는 유효(Valid) 영역뿐만 아니라, 무효(Invaild) 영역도 포함할 수 있다. 여기서, 유효 영역은, 추가 영상과 참조 영상 간 중복되지 않은 픽셀들로 구성된 영역을 의미한다. 즉, 유효 영역은 추가 영상에는 포함되나 참조 영상에는 포함되지 않는 데이터를 포함하는 영역을 나타낸다. 무효 영역은, 추가 영상과 참조 영상 간 중복되는 픽셀들로 구성된 영역을 의미한다. 유효 영역이 포함하는 픽셀/데이터를 유효 픽셀/유효 데이터라 호칭할 수 있고, 무효 영역이 포함하는 픽셀/데이터를 무효 픽셀/무효 데이터라 호칭할 수 있다.
집합부(124)는 프루닝 마스크를 이용하여 패치를 추출한다. 구체적으로, 추가 영상 내 유효 데이터를 포함하는 사각 형태의 영역을 패치로서 추출할 수 있다. 유효 영역의 형태와 관계없이, 사각 형태로 패치가 추출되는 바, 비사각 형태의 유효 영역으로부터 추출된 패치는 유효 데이터뿐만 아니라 무효 데이터도 포함될 수 있다.
집합부(124)는 적어도 하나 이상의 패치들을 군집화할 수 있다.
프루닝되지 않은 소스 영상에 대해서는, 소스 영상 전체가 하나의 패치로 취급될 수 있다. 구체적으로, 프루닝되지 않은 소스 영상을 소정의 투사 포맷으로 전개한 2D 영상 전체를 하나의 패치로 설정할 수 있다. 투사 포맷은, 비등장방형(ERP, Equirectangular Projection Format), 큐브맵(Cube-map) 또는 퍼스텍티브 투사 포맷(Perspective Projection Format) 중 적어도 하나를 포함할 수 있다.
여기서, 프루닝되지 않은 소스 영상은, 프루닝 우선 순위가 가장 높은 기본 영상을 의미한다. 또는, 기본 영상 및 참조 영상과 중복 데이터가 존재하지 않은 추가 영상을 프루닝되지 않은 소스 영상으로 정의할 수도 있다. 또는, 참조 영상과의 중복 데이터가 존재하는지 여부와 무관하게, 임의로 프루닝 대상에서 제외된 추가 영상도 프루닝되지 않은 소스 영상이라 정의될 수 있다. 즉, 참조 영상과 중복되는 데이터가 존재하는 추가 영상이라 하더라도, 프루닝되지 않은 소스 영상이라 정의될 수 있다.
패킹부(126)는, 사각 형태의 영상 위 군집화된 패치들 각각을 패킹할 수 있다. 패킹 시, 패치의 크기 변환, 회전 또는 플립 등의 변형이 수반될 수 있다. 패치들이 패킹된 영상을 아틀라스라 정의할 수 있다.
구체적으로, 패킹부(126)는, 기본 텍스처 영상 및/또는 텍스처 패치들을 패킹하여 텍스처 아틀라스를 생성할 수 있고, 기본 깊이 영상 및/또는 깊이 패치들을 패킹하여 깊이 아틀라스를 생성할 수 있다.
기본 영상은, 기본 영상 전체가 하나의 패치로서 아틀라스 영상에 패킹될 수 있다.
아틀라스 생성부(120)가 생성하는 아틀라스의 개수는 카메라 리그의 배치 구조, 깊이 맵의 정확도 또는 소스 영상의 개수 중 적어도 하나에 기초하여 결정될 수 있다.
메타데이터 생성부(130)는 시점 영상 합성을 위한 메타데이터를 생성한다. 메타데이터는 카메라 관련 데이터, 프루닝 관련 데이터, 아틀라스 관련 데이터 또는 패치 관련 데이터 중 적어도 하나를 포함할 수 있다.
프루닝 관련 데이터는, 소스 영상들 간 프루닝 우선 순위를 결정하기 위한 정보들을 포함한다. 일 예로, 소스 영상이 루트 노드인지 여부를 나타내는 플래그 또는 소스 영상이 리프 노드인지 여부를 나타내는 플래그 중 적어도 하나가 부호화될 수 있다. 루트 노드는 프루닝 우선 순위가 가장 높은 소스 영상(즉, 기본 영상)을 나타내고, 리프 노드는 프루닝 우선 순위가 가장 낮은 소스 영상을 나타낸다.
소스 영상이 루트 노드가 아닌 경우, 부모 노드 인덱스가 추가 부호화될 수 있다. 부모 노드 인덱스는, 부모 노드인 소스 영상의 영상 인덱스를 나타낼 수 있다.
또는, 소스 영상이 리프 노드가 아닌 경우, 자식 노드 인덱스가 추가 부호화될 수 있다. 자식 노드 인덱스는, 자식 노드인 소스 영상의 영상 인덱스를 나타낼 수 있다.
아틀라스 관련 데이터는, 아틀라스의 개수 정보, 아틀라스들 간 우선 순위 정보, 아틀라스가 완전한 영상을 포함하는지 여부를 나타내는 플래그 또는 아틀라스의 스케일링 관련 정보 중 적어도 하나를 포함할 수 있다.
패치 관련 데이터는, 아틀라스 영상 내 패치의 위치 및/또는 크기, 패치가 속하는 소스 영상 및 소스 영상 내 패치의 위치 및/또는 크기를 특정하기 위한 정보들을 포함한다. 일 예로, 아틀라스 영상 내 패치의 위치를 나타내는 위치 정보 또는 아틀라스 영상 내 패치의 크기를 나타내는 크기 정보 중 적어도 하나가 부호화될 수 있다. 또한, 패치가 유래된 소스 영상을 식별하기 위한 소스 인덱스가 부호화될 수 있다. 소스 인덱스는, 패치의 원 출처인 소스 영상의 인덱스를 나타낸다. 또한, 소스 영상 내 패치에 대응되는 위치를 나타내는 위치 정보 또는 소스 영상 내 패치에 대응되는 크기를 나타내는 위치 정보가 부호화될 수 있다.
영상 인코더부(140)는 아틀라스를 인코딩한다. 영상 인코더부(140)는 텍스처 아틀라스를 인코딩하는 텍스처 영상 인코더부(142) 및 깊이 아틀라스를 인코딩하는 뎁스 영상 인코더부(144)를 포함할 수 있다.
비트스트림 생성부(150)는 인코딩된 영상 데이터 및 메타데이터를 기초로 비트스트림을 생성한다. 생성된 비트스트림은 이머시브 영상 출력 장치로 전송될 수 있다.
도 2는 본 개시의 일 실시예에 따른 이머시브 영상 출력 장치의 블록도이다.
도 2를 참조하면, 본 개시에 따른 이머시브 영상 출력 장치는 비트스트림 파싱부(210), 영상 디코더부(220), 메타데이터 처리부(230) 및 영상 합성부(240)를 포함할 수 있다.
비트스트림 파싱부(210)는 비트스트림으로부터 영상 데이터 및 메타데이터를 파싱한다. 영상 데이터는 부호화된 아틀라스의 데이터를 포함할 수 있다.
영상 디코더부(220)는 파싱된 영상 데이터를 복호화한다. 영상 디코더부(220)는 텍스처 아틀라스를 디코딩하기 위한 텍스처 영상 디코더부(222) 및 깊이 아틀라스를 디코딩하기 위한 뎁스 영상 디코더부(224)를 포함할 수 있다.
메타데이터 처리부(230)는 파싱된 메타데이터를 언포맷팅한다.
언포맷팅된 메타데이터는 시점 영상을 합성하는데 이용될 수 있다. 일 예로, 이머시브 영상 출력 장치로, 사용자의 움직임 정보가 입력되면, 메타데이터 처리부(230)는 사용자의 움직임에 따른 뷰포트 영상을 재현하기 위해, 영상 합성에 필요한 아틀라스 및 영상 합성에 필요한 패치들, 및/또는 아틀라스 내 상기 패치들의 위치/크기 등을 결정할 수 있다.
영상 합성부(240)는 사용자의 움직임에 따른 뷰포트 영상을 동적으로 합성할 수 있다. 구체적으로, 영상 합성부(240)는 사용자의 움직임에 따라 메타데이터 처리부(230)에서 결정된 정보를 이용하여, 아틀라스로부터 뷰포트 영상을 합성하는데 필요한 패치들을 추출할 수 있다. 구체적으로, 뷰포트 영상을 합성하는데 필요한 소스 영상의 정보를 포함하는 아틀라스 및 상기 아틀라스 내 상기 소스 영상으로부터 추출된 패치들을 추출하고, 추출된 패치들을 합성하여, 뷰포트 영상을 생성할 수 있다.
도 3 및 도 4는 각각 이머시브 영상 처리 방법 및 이머시브 영상 출력 방법의 흐름도를 도시한 것이다. 도 3 및 도 4에 개시된 순서와 상이한 순서로 이머시브 영상을 처리 또는 출력하는 것 역시 가능하다.
이머시브 영상 처리 장치는 소스 영상들의 프루닝 우선 순위를 결정할 수 있다(S311). 구체적으로, 소스 영상들을 기본 영상 및 추가 영상으로 분류하고, 추가 영상들 간 프루닝 우선 순위를 설정할 수 있다.
이후, 프루닝 우선 순위에 기초하여, 소스 영상들에 대해 프루닝을 수행하고(S312), 프루닝 수행 결과로 생성된 프루닝 마스크를 이용하여 패치를 추출할 수 있다(S313). 프루닝되지 않은 소스 영상(예컨대, 기본 영상)은, 소스 영상 전체가 하나의 패치로 취급될 수 있다.
이후, 추출된 패치들을 결합하여, 아틀라스를 생성하고(S314), 생성된 아틀라스의 정보 및 아틀라스에 포함된 패치들의 정보를 메타데이터로 생성할 수 있다(S315).
아틀라스를 부호화하고(S316), 메타데이터 및 부호화된 아틀라스를 이머시브 영상 출력 장치로 전송할 수 있다.
이머시브 영상 출력 장치는 이머시브 영상 처리 장치로부터 수신한 비트스트림을 파싱하여, 아틀라스 데이터를 추출하고, 추출된 데이터를 기초로, 아틀라스를 복호화할 수 있다(S411).
또한, 사용자의 움직임이 발생하면, 메타데이터에 기초하여, 사용자의 움직임에 따른 뷰포트 영상 합성을 위해 요구되는 아틀라스를 결정하고, 상기 아틀라스에 포함된 패치들을 추출할 수 있다(S412).
패치들이 추출되면, 추출된 패치들을 합성하여, 뷰포트 영상을 생성할 수 있다(S413). 이때, 생성된 패치들을 합성하기 위해, 각 패치의 크기/위치 정보 및 카메라 파라미터 등이 이용될 수 있다.
상술한 설명에 기초하여, 본 개시에서 제안하는 영상 처리 방법에 대해 더욱 상세히 살펴보기로 한다.
도 5는 가상 시점 영상을 합성하는 예를 설명하기 위한 도면이다.
도 5에는 서로 상이한 시점을 갖는 복수개의 소스 영상들이 도시되었다.
도시된 예에서, 도면 부호 104는 중심 시점(C1)을 커버하는 소스 영상을 나타내고, 도면 부호 102 및 105는 각각 중심 시점 기준 좌측 시점(L1) 및 우측 시점(R1)을 커버하는 소스 영상을 나타낸다. 도면 부호 103은, 중심 시점(C1)과 좌측 시점(L1) 사이 가상 시점(V) 영상을 나타낸다.
가상 시점 영상(View V)은, 가상 시점의 인접 시점 영상들을 합성하여 생성될 수 있다. 일 예로, 가상 시점 V에 대한 영상 합성 시, 가상 시점에 인접하는 중심 시점에 대한 소스 영상 View C1과 좌측 시점에 대한 소스 영상 View L1이 이용될 수 있다.
일 예로, 가상 시점 영상 View V에는, 중심 시점 영상 View C1에 보이지 않는 가려짐 영역(occluded area)가 포함된다. 위 가려짐 영역에 대한 데이터가 좌측 시점 영상 View L1에 포함되는 바, 중심 시점 영상 View C1과 좌측 시점 영상 View L1을 이용하여 가상 시점 영상 View V를 합성할 수 있다.
도 6은 잔차 영상 생성이 생성되는 예를 설명하기 위한 도면이다.
중앙 시점 영상 View C1 (203)이 기본 영상으로 선택되는경우, 기준 시점을 제외한 잔여 소스 영상들(예컨대, View L2 (201), View L1 (202) 및 View R1 (204))은 기본 영상과의 중복 데이터가 제거된 상태로 부호화될 수 있다.
일 예로, 3D 영상 와핑(3D view warping)을 거쳐, 기본 영상을 각 추가 영상의 위치로 사상(mapping)하면, 도 6에 도시된 예에서와 같이, 와핑된 영상(211, 212)이 생성될 수 있다. 이때, 3D 영상 와핑은, 3차원 기하 관계 및 깊이 정보에 기초하여 수행될 수 있다.
와핑된 영상(211, 212) 내, 기본 영상(203)에서는 보이지 않았던 데이터에 대응하는 영역은 홀 영역(hole region)으로 남게 된다. 홀 영역은, 아무런 데이터가 존재하지 않는 영역을 나타낸다.
와핑된 영상과 각 추가 영상을 비교하여, 양자간 중복 데이터를 검출하고, 추가 영상으로부터 검출된 중복 데이터를 제거할 수 있다. 이때, 중복 데이터의 검출은, 동일한 좌표를 갖는 화소들 또는 일정 범위 내 사상된 픽셀들간 텍스처 데이터 또는 깊이 정보 중 적어도 하나를 비교함으로써 수행될 수 있다.
추가 영상으로부터 중복 데이터를 제거한 결과, 추가 영상과 기준 시점 영상 간 중복 데이터가 제거된 잔차 영상(Residual View)가 생성될 수 있다. 일 예로, 추가 영상 View L2에 대한 잔차 영상(221)은, 기본 영상 View C1에는 보이지 않으나, 추가 영상 View L2에는 보이는 영역에 대한 데이터를 포함하고, 추가 영상 View L1에 대한 잔차 영상(222)은, 기본 영상 View C1에는 보이지 않으나, 추가 영상 View L1에는 보이는 영역에 대한 데이터를 포함할 수 있다.
도 5 및 도 6에서는, 소정의 추가 영상에 대해, 기본 영상을 참조하여, 잔차 영상이 생성되는 것으로 도시되었다. 추가로, 소정의 추가 영상에 대해, 기본 영상 뿐만 아니라, 시점이 상이한 타 추가 영상을 참조하여 잔차 영상을 생성할 수도 있다.
소스 영상들 간 프루닝 우선 순위를 결정하고, 결정된 우선 순위를 참조하여, 프루닝이 수행될 수 있다.
도 7은 소스 영상들 간 프루닝 우선 순위를 예시한 것이다.
도 7에 도시된 계층도에서, 프루닝 우선 순위가 가장 높은 소스 영상이 기본 영상으로 정의될 수 있다. 또한, 계층도 상에서, 소스 영상은 루트 노드(root node)로 설정될 수 있다. 루트 노드는, 계층도 상 부모 노드가 존재하지 않는 소스 영상을 의미한다. 도 7에 도시된 예에서는, 소스 영상 v0 및 소스 영상 v1이 기본 영상들로 설정되는 것으로 예시되었다.
기본 영상들을 제외한 잔여 소스 영상들이 추가 영상들로 설정될 수 있다. 추가 영상들 중, 계층도 상에서, 프루닝 우선 순위가 가장 낮은 소스 영상은 리프 노드(leaf node)로 설정될 수 있다. 리프 노드는, 계층도 상 자식 노드가 존재하지 않는 소스 영상을 의미한다. 도 7에 도시된 예에서는, 소스 영상 v2, 소스 영상 v3 및 소스 영상 v4가 추가 영상들로 설정되고, 이들 중 소스 영상 v4가 리프 노드로 설정되는 것으로 예시되었다.
소스 영상 v0 및 소스 영상 v1은 기본 영상이므로, 각 소스 영상의 영상 데이터가 그대로 부호화된다. 일 예로, 소스 영상 v0 및 소스 영상 v1이 그대로 아틀라스 영상에 포함될 수 있다.
소스 영상 v2, 소스 영상 v3 및 소스 영상 v4는 추가 영상이므로, 참조 영상과의 중복 데이터를 제거함에 따라 생성된 잔차 데이터만이 부호화된다.
일 예로, 소스 영상 v2로부터, 소스 영상 v2와 기본 영상 v0 사이의 중복 데이터 및 소스 영상 v2와 기본 영상 v1과의 중복 데이터를 제거하여, 프루닝 마스크 영상 pruned mask v2이 생성될 수 있다.
다음으로, 소스 영상 v3로부터, 소스 영상 v3와 기본 영상 v0 사이의 중복 데이터 및 소스 영상 v3와 기본 영상 v1과의 중복 데이터를 제거하여, 프루닝 마스크 영상 pruned mask v3이 생성될 수 있다. 다만, 소스 영상 v3와 소스 영상 v2간 중복 데이터를 추가 제거하기 위해, 소스 영상 v2에 대한 프루닝을 추가하여, 프루닝 마스크 영상 pruned mask v3를 생성할 수도 있다.
다음으로, 소스 영상 v4로부터, 소스 영상 v4와 기본 영상 v0 사이의 중복 데이터 및 소스 영상 v4와 기본 영상 v1과의 중복 데이터를 제거하여, 프루닝 마스크 영상 pruned mask v4이 생성될 수 있다. 다만, 소스 영상 v4와 소스 영상 v2간 중복 데이터 및 소스 영상 v4와 소스 영상 v3간 중복 데이터를 추가 제거하기 위해, 소스 영상 v2 및 소스 영상 v3에 대한 프루닝을 추가하여, 프루닝 마스크 영상 pruned mask v4를 생성할 수도 있다.
위 설명한 바와 같이, 1차 프루닝을 통해 기본 영상과 추가 영상간 중복 데이터가 제거되고, 2차 프루닝을 통해 추가 영상들간 중복 데이터가 제거될 수 있다. 이에 따라, 소정 추가 영상에 대한 프루닝 마스크는, 참조 영상(들)에서 보이지 않던 데이터를 포함할 수 있다.
다만, 2차 프루닝시, 추가 영상들간의 프루닝 우선 순위에 따라, 프루닝 양상이 달라질 수 있다. 구체적으로, 프루닝 우선순위가 선순위인 추가 영상을 기준으로 프루닝 우선순위가 후순위인 추가 영상에 대한 중복 데이터가 검출된다. 이에 따라, 추가 영상들간 프루닝 우선 순위가 달라질 경우, 소정 추가 영상에 대해, 추가 영상 내 선순위 추가 영상과의 중복 데이터가 존재하는지 여부 또는 선순위 추가 영상과 중복되는 데이터의 크기 중 적어도 하나가 달라질 수 있다.
이 결과, 프루닝 우선 순위는 영상 합성 품질 및 압축 효율에 영항을 미치게 된다. 이에 따라, 소스 영상들 간 프루닝 우선 순위를 적절하게 설정할 것이 요구된다.
도 8 및 도 9는 추가 영상들 간 프루닝 우선 순위에 따라, 프루닝 결과가 상이한 것을 나타낸 예시이다.
1차 프루닝을 통해, 추가 영상과 기본 영상간 중복 데이터가 제거될 수 있다. 일 예로, 도 8에 도시된 예에서, 기본 영상 View 0를 추가 영상 View 2로 와핑함으로써, 와핑된 영상(412)을 생성할 수 있다. 추가 영상 View 2와 와핑된 영상(412)간 중복 데이터를 제거하여, 추가 영상 View 2에 대한 프루닝된 영상(422)를 생성할 수 있다.
마찬가지로, 기본 영상 View 0를 추가 영상 View 3로 와핑함으로써, 와핑된 영상(413)을 생성할 수 있다. 추가 영상 View 3와 와핑된 영상(413)간 중복 데이터를 제거하여, 추가 영상 View 3에 대한 프루닝된 영상(423)를 생성할 수 있다.
2차 프루닝을 통해 추가 영상들 간 중복 데이터가 제거될 수 있다. 이때, 추가 영상들간 프루닝 우선 순위에 따라, 프루닝된 영상들의 생성 양상이 상이할 수 있다.
일 예로, 도 9에 도시된 예에서, 추가 영상 View 2의 프루닝 우선 순위가 추가 영상 View 3의 프루닝 우선 순위보다 높은 경우, 추가 영상 View 3에 대한 최종 프루닝 영상(433)은, 1차 프루닝의 결과로 생성된 프루닝된 영상(423)으로부터 추가 영상 View 2에 대한 프루닝된 영상(422)과의 중복 데이터를 제거함으로써 생성될 수 있다. 도 9에서는, 추가 영상 View 2와의 2차 프루닝을 통해, 추가 영상 View 3에 대한 데이터가 모두 제거된 것으로 도시되었다.
결과적으로, 추가 영상 View 2에 대한 프루닝 영상(422)은 아틀라스에 패킹되어 부호화되는 반면, 추가 영상 View 3에 대해서는, 모든 데이터가 중복 데이터로 판정되어, 추가 영상 View 3에 대해서는 잔차 데이터가 부호화되지 않을 수 있다.
반면, 추가 영상 View 2의 프루닝 우선 순위가 추가 영상 View 3의 프루닝 우선 순위보다 낮은 경우, 추가 영상 View 2에 대한 최종 프루닝 영상(432)는, 1차 프루닝의 결과로 생성된 프루닝 영상(422)로부터 추가 영상 View 3에 대한 프루닝된 영상(423)과의 중복 데이터를 제거함으로써 생성될 수 있다. 도 9에서는 추가 영상 View 2에 대한 최종 프루닝 영상(422)에, 프루닝된 영상(423)과 중복되지 않는 데이터가 일부 잔존하는 것으로 도시되었다.
결과적으로, 추가 영상 View 2에 대한 프루닝 영상(432) 내 잔차 데이터 및 추가 영상 View 3에 대한 프루닝 영상(433) 내 잔차 데이터가 아틀라스에 패킹되어 부호화될 수 있다.
도시된 예에서와 같이, 추가 영상들 간 프루닝 우선 순위에 따라, 잔차 데이터의 생성 결과가 상이하다. 또한, 프루닝 우선 순위에 따라, 픽처 내 동일 객체에 대한 데이터가 복수의 프루닝 영상들에 분산 분포될 수도 있고, 픽처 내 동일 객체에 대한 데이터가 하나의 프루닝 영상들에 집중 분포될 수도 있다.
일 예로, 도 9에 도시된 예에서, 추가 영상 View 2의 프루닝 우선 순위가 추가 영상 View 3의 프루닝 우선 순위보다 높은 경우, 픽처 내 원통형 객체에 관한 잔차 데이터가 추가 영상 View 2의 프루닝된 영상(422)에 집중 분포된다. 반면, 추가 영상 View 3의 프루닝 우선 순위가 추가 영상 View 2의 프루닝 우선 순위보다 높은 경우, 픽처 내 원통형 객체에 대한 잔차 데이터가 추가 영상 View의 프루닝된 영상(432) 및 추가 영상 View 3의 프루닝된 영상(423)에 분산 분포된다.
아틀라스에 패킹된 잔차 데이터들을 복호화하여 영상 합성을 수행하는 경우, 픽처 내 소정 객체의 데이터가 다수의 프루닝된 영상들에 분산 분포되는 것 보다 소수의 프루닝된 영상들에 분산 분포되는 것이 압축 효율 및/또는 영상 품질면에서 유리할 수 있다. 이에 따라, 추가 영상들 간 프루닝 우선 순위를 적절히 선택하는 것이 중요하다.
추가 영상들간 프루닝 우선 순위는, 카메라 번호(또는 영상 번호) 순대로 설정될 수 있다. 다만, 카메라 번호(또는 영상 번호) 순대로 프루닝 우선 순위를 설정하는 경우, 추가 영상들간 특성을 반영할 수 없다. 이에 카메라 번호(또는 영상 번호)가 아닌, 영상 특성에 기초하여, 추가 영상들 간 프루닝 순서를 결정할 수 있다.
도 10은 추가 영상들 간 프루닝 우선 순위가 상이하게 결정되는 예를 나타낸 것이다.
도 10의 좌측은, 영상 인덱스의 오름차순으로 프루닝 우선 순위가 결정된 예를 나타낸 것이다.
추가 영상들간 영상 특성에 기초하여, 도 10의 좌측에 도시된 프루닝 우선 순서를 도 10의 우측에 도시된 것과 같이 변경할 수 있다.
촬영 방향이 상이하여, 관측 시야(FOV, Field of View)의 중복 정도가 적은 카메라들로부터 획득된 소스 영상들간 프루닝을 수행하고자 하는 경우, 소스 영상들간 중복 영역을 발견하기 어렵다.
또는, x축 또는 y축 방향에 대한 기저선(baseline)이 큰 카메라 배열을 이용하여 이머시브 영상을 촬영하는 경우, 물리적 거리가 큰 카메라들로부터 획득된 소스 영상들간 프루닝을 수행하고자 하는 경우, 소스 영상들간 중복 영역을 발견하기 어렵다.
위와 같이, 중복 영역을 검출하기 어려운 두 소스 영상들간 프루닝을 수행할 경우, 프루닝을 수행하더라도, 영상 품질 또는 압축 품질의 향상 정도가 미비할 수 있다.
위 문제점을 해소하기 위해, 본 개시에서는, 각 카메라의 공간 위치를 고려한 프루닝 우선 순위 설정 방법을 제안한다. 구체적으로, 각 카메라의 공간 위치에 기초하여, 카메라들을 복수개의 프루닝 그룹들로 분할하고, 분할된 프루닝 그룹들 간 독립적으로 프루닝을 수행하는 방법을 제안한다.
도 11은 본 개시의 일 실시예에 따른, 소스 영상들을 복수의 프루닝 그룹들로 분류한 예를 나타낸다.
도 11에서는, 시점이 상이한 10개의 소스 영상들(v0 - v9)이 도시되었다. 설명의 편의를 위해, 소스 영상들은 수평 방향으로 1차원 배열된 카메라 어레이에 의해 획득되고, 카메라들의 배치 순서는, 도 11에 도시된 소스 영상들의 배치 순서와 동일한 것으로 가정한다.
소스 영상들 중 적어도 하나를 기본 영상으로 결정할 수 있다. 복수의 기본 영상이 선택된 경우, 복수의 기본 영상 각각을 상이한 프루닝 그룹에 할당할 수 있다.
일 예로, 도 11에 도시된 예에서, 소스 영상 v2 및 소스 영상 v7이 기본 영상으로 선택된 경우, 소스 영상 v2를 제1 프루닝 그룹(603)에 할당하고, 소스 영상 v7을 제2 프루닝 그룹(604)에 할당할 수 있다.
이후, 기본 영상과의 연관성을 고려하여, 추가 영상들을 분류할 수 있다. 즉, 기본 영상 v2와 연관성이 높은 추가 영상들은 제1 프루닝 그룹(603)에 할당되고, 기본 영상 v7과 연관성이 높은 추가 영상들은 제2 프루닝 그룹(604)에 할당될 수 있다. 여기서, 연관성은, 카메라들의 배열 순서 또는 소스 영상들간 중복 데이터의 크기 중 적어도 하나를 포함할 수 있다.
도 11에서는, 소스 영상 v0 내지 소스 영상 v4가 제1 프루닝 그룹에 할당되고, 소스 영상 v5 내지 v9가 제2 프루닝 그룹에 할당되는 것으로 예시되었다.
프루닝 그룹별로 독립적으로 프루닝이 수행될 수 있다. 일 예로, 제1 프루닝 그룹에 속한 소스 영상에 대한 프루닝은, 제1 프루닝 그룹에 속하는 타 소스 영상을 참조 영상으로 설정하여 수행될 수 있다. 반면, 제2 프루닝 그룹에 속한 소스 영상에 대한 프루닝은, 제2 프루닝 그룹에 속하는 타 소스 영상을 참조 영상으로 설정하여 수행될 수 있다.
프루닝 그룹 내 소스 영상들의 프루닝 우선 순위는 앞서 설명한 바와 같이, 각 소스 영상의 특성을 고려하여 결정될 수 있다.
도시된 예에서와 같이, 소스 영상들을 복수개의 프루닝 그룹으로 분류하고, 각 프루닝 그룹마다 독립적으로 프루닝을 수행함으로써, 소스 영상 프루닝 시 상기 소스 영상과 관련성이 낮은 타 소스 영상을 참조 영상으로 이용되는 것을 방지할 수 있다.
일 예로, 소스 영상 v0를 촬영한 카메라(카메라 0) 및 소스 영상 v9을 촬영한 카메라(카메라 9)는 공간상 멀리 떨어져 있는 바, 카메라 0 및 카메라 9 사이의 공간적 연관성이 낮다. 이에 따라, 소스 영상 v0이 소스 영상 v9의 참조 영상으로 이용되는 것을 방지하고, 소스 영상 v9이 소스 영상 v0의 참조 영상으로 이용되는 것을 방지하기 위해, 소스 영상 v0 및 소스 영상 v9 각각을 상이한 프루닝 그룹으로 할당할 수 있다.
만약, 공간적 연관성이 작은 소스 영상 v0 및 소스 영상 v9이 하나의 그룹으로 설정된다면, 두 소스 영상들 간 중복 데이터를 검출하는 과정에서, 실제로는 중복 데이터는 아니나, 깊이값이 유사하여 중복 데이터로 판정되는 오류가 발생할 수 있다. 위와 같은 오류가 많을수록, 영상 복원의 품질이 떨어지는 바, 도시된 예에서와 같이, 공간적 연관성이 높은 소스 영상들을 하나의 프루닝 그룹으로 그룹핑할 수 있다.
하나의 기본 영상이 복수개의 프루닝 그룹에 포함될 수도 있다.
도 12는 복수개의 프루닝 그룹이 동일한 기본 영상을 포함하는 예를 나타낸 것이다.
복수개의 소스 영상들 중 적어도 하나의 기본 영상을 선택할 수 있다. 이때, 선택된 기본 영상이 복수개의 프루닝 그룹에 포함되도록 설정될 수 있다. 일 예로, 도 12에 도시된 예에서, 소스 영상 v4가 기본 영상으로 선택된 경우, 소스 영상 v4가 제1 프루닝 그룹(701)의 기본 영상으로 설정되는 한편, 소스 영상 v4가 제2 프루닝 그룹(720)의 기본 영상으로도 설정될 수 있다.
이후, 기본 영상을 제외한 추가 영상들 각각에 대한 분류를 수행할 수 있다. 이때, 추가 영상이 복수의 프루닝 그룹들에 중복 편성되지 않도록 설정할 수 있다.
즉, 하나의 기본 영상이 복수의 프루닝 그룹에 중복 포함되는 것은 허용됨에 반해, 하나의 추가 영상이 복수의 프루닝 그룹에 중복 포함되는 것은 허용되지 않을 수 있다.
일 예로, 도 12에 도시된 예에서는, 소스 영상 v0 내지 소스 영상 v3이 제1 프루닝 그룹(701)으로 분류되고, 소스 영상 v5 내지 소스 영상 v9가 제2 프루닝 그룹(702)으로 분류되는 것으로 예시되었다.
다른 예로, 추가 영상의 프루닝 우선 순위를 고려하여, 프루닝 우선 순위가 문턱값보다 큰 추가 영상에 대해서는, 복수의 프루닝 그룹들에 중복 배치되는 것을 허용할 수도 있다.
도 12에 도시된 예에서, 각 추가 영상에 대한 1차 프루닝은, 기본 영상 v4의 중복 영상을 제거하는 것일 수 있다. 각 추가 영상에 대한 2차 프루닝은, 해당 프루닝 그룹에 속한 추가 영상들 간 프루닝 우선 순위에 기초하여 수행될 수 있다.
이때, 추가 영상들이 복수개의 프루닝 그룹으로 분류되고, 각 프루닝 그룹은 독립적으로 프루닝 수행되는바, 특정 프루닝 그룹에 속한 소스 영상 복원시 타 프루닝 그룹에 속한 소스 영상의 데이터를 참조할 필요가 없다.
일 예로, 이머시브 영상 출력 장치에서, 소스 영상 v0를 복원하는 경우, 제1 프루닝 그룹(701)에 속하는 소스 영상들만이 요구될 뿐, 제2 프루닝 그룹(702)에 속하는 소스 영상들은 요구되지 않는다.
도 11 및 도 12에 도시된 예에서는, 하나의 프루닝 그룹은 하나의 기본 영상을 포함하는 것으로 예시되었다. 다만, 이는 설명의 편의를 위한 것일 뿐이고, 하나의 프루닝 그룹이 복수의 기본 영상들을 포함하도록 설정할 수도 있다. 일 예로, 하나의 프루닝 그룹이 포함하는 기본 영상들의 개수는 1, 2 또는 3 이상으로 설정될 수 있다. 프루닝 그룹이 포함할 수 있는 기본 영상들의 최대 개수는, 소스 영상들의 총 개수, 프루닝 그룹들의 총 개수, 해당 프루닝 그룹에 포함된 소스 영상들의 개수, 또는 아틀라스의 크기 중 적어도 하나에 기초하여 결정될 수 있다.
또한, 도 11에 도시된 예에서는, 기본 영상들의 개수와 프루닝 그룹들의 개수가 동일하게 설정되는 것으로 예시되었고, 도 12에 도시된 예에서는, 기본 영상의 개수보다 프루닝 그룹들의 개수가 더 많은 것으로 예시되었다. 도시된 예에 한정되지 않고, 기본 영상들의 개수가 프루닝 그룹들의 개수 이상이 될 수도 있다.
또한, 프루닝 그룹별로 기본 영상의 개수를 상이하게 설정할 수 있다.
또한, 복수개의 기본 영상들 중 일부는 복수개의 프루닝 그룹들에 중복 포함되도록 설정하고, 나머지는 복수개의 프루닝 그룹들에 중복 포함되지 않도록 설정할 수 있다.
소스 영상들 간 우선 순위를 고려하여, 우선 순위가 높은 소스 영상들을 별도의 프루닝 그룹으로 설정할 수도 있다.
도 13은 우선 순위가 높은 소스 영상들이 별도의 프루닝 그룹으로 설정되는 예를 나타낸다.
설명의 편의를 위해, 소스 영상들간의 우선 순위는 도 13의 (a)에 도시된 예와 같다고 가정한다.
소스 영상들간 우선 순위는, 소스 영상들간의 중첩 영역의 크기, 관심 영역(ROI, Region of Interest) 관련 데이터의 포함 여부, 관심 영역 데이터의 크기, 카메라의 위치 또는 카메라들간 우선 순위에 기초하여 결정될 수 있다.
소스 영상들간 우선 순위가 결정되면, 우선 순위가 높은 N개의 소스 영상들을 하나의 프루닝 그룹으로 설정할 수 있다. 일 예로, N이 4인 경우, 우선 순위가 높은, 소스 영상들 v1 내지 소스 영상들 v4를 제1 프루닝 그룹(801)으로 설정할 수 있다.
잔여 소스 영상들은 별도의 프루닝 그룹으로 분류할 수 있다. 일 예로, 우선 순위가 높은 N개의 영상을 제외한 잔여 소스 영상들을 제2 프루닝 그룹(802)으로 설정할 수 있다.
이때, 제1 프루닝 그룹(801)에 속한 소스 영상을 제2 프루닝 그룹(802)에 포함시킬 수 있다. 일 예로, 도 13의 (b)에 도시된 예에서와 같이, 제1 프루닝 그룹(801)에서 기본 영상으로 선택된 소스 영상 v2가 제2 프루닝 그룹(802)에서 기본 영상으로서 기능하도록 설정할 수 있다.
제1 프루닝 그룹(801)에 속한 소스 영상의 프루닝은, 제1 프루닝 그룹(801) 내 타 소스 영상을 참조하여 수행될 수 있다. 또한, 제2 프루닝 그룹(802)에 속한 소스 영상의 프루닝은, 제2 프루닝 그룹(802) 내 타 소스 영상을 참조하여 수행될 수 있다. 즉, 프루닝 그룹 각각에 대해 독립적으로 프루닝을 수행할 수 있다.
상술한 도 11 내지 도 13에 도시된 예에서와 같이, 복수개의 소스 영상들을 복수개의 프루닝 그룹들로 분류함에 따라, 추가 영상의 프루닝 시, 참조해야 하는 영상들의 개수가 작아지게 된다. 이에 따라, 제거되는 중복 데이터 양이 감소하게 되나, 이는, 영상 복원 또는 영상 합성시 텍스처 품질을 향상시키는 요인으로 작용할 수 있다.
특히, 도 13에 도시된 예에서와 같이, 우선 순위가 높은 소스 영상들을 별개의 프루닝 그룹으로 설정함으로써, 카메라를 통해 획득된 장면 중 소정 영역을 고품질로 유지하거나, 소정 영역의 복원 시간을 줄여, 영상의 실시간 합성을 가능케할 수 있다. 또는, 우선순위가 높은 소스 영상들의 정보를 포함되는 아틀라스와 그렇지 않은 소스 영상들의 정보를 포함하는 아틀라스를 별도로 생성하여, 복수개의 아틀라스들 전부를 전송하는 대신, 우선 순위가 높은 소스 영상들의 정보를 포함하는 아틀라스만을 전송할 수도 있다. 이 경우, 우선 순위가 높은 영역을 먼저 복원할 수 있은 이점이 있다.
프루닝 수행 결과, 잔차 데이터가 생성되면, 잔차 데이터를 패킹하여 아틀라스를 생성할 수 있다. 이때, 아틀라스가 특정 영상에 대한 정보를 포함하는지 여부를 나타내는 정보가 부호화할 수 있다. 일 예로, 아틀라스가 인덱스 v인 소스 영상의 정보를 포함하는지 여부를 나타내는 플래그 source_view_flag[v] 또는, 아틀라스가 인덱스 g인 프루닝 그룹의 정보를 포함하는지 여부를 나타내는 플래그 pruning_group_flag[g]가 시그날링될 수 있다.
또는, 아틀라스가 우선적으로 복원되어야 하는 영상에 대한 정보를 포함하는지 여부를 나타내는 정보가 부호화될 수 있다. 일 예로, 아틀라스가 우선적으로 복호화되어야 하는 영상의 정보를 포함하는지 여부를 나타내는 플래그 priority_group_flag가 부호화될 수 있다.
플래그 priority_group_flag의 값은 아틀라스가 우선 순위가 높은 소스 영상 또는 우선 순위가 높은 프루닝 그룹으로부터 유도된 패치를 포함하는지 여부를 기초로 결정될 수 있다. 일 예로, 아틀라스가 우선 순위가 문턱값 이상인 소스 영상으로부터 유도된 패치, 우선 순위가 문턱값 이상인 프루닝 그룹으로부터 유도된 패치 또는 우선 순위가 높은 소스 영상들로 구성된 프루닝 그룹으로부터 유도된 패치를 포함하는 경우, 상기 플래그 priority_group_flag의 값은 참(true)로 설정될 수 있다. 그렇지 않은 경우, 상기 플래그 priority_group_flag의 값은 거짓(false)로 설정될 수 있다.
표 1은 아틀라스들 간 우선 순위를 결정하기 위한 정보를 포함하는 신택스 테이블을 예시한 것이다.
atlas_params_list( ) { | |
num_atlases_minus1 | ue(v) |
omaf_v1_compatible_flag | u(1) |
for ( i = 0; i <= num_atlases_minus1; i++ ) { | |
atlas_id[ i ]; | u(8) |
priority_group_flag[ i ]; | u(1) |
atlas_params( atlas_id[ i ] ) | |
} | |
} |
표 1에서, 신택스 num_atlases_minus1은 아틀라스들의 개수를 나타낸다. 복수개의 아틀라스들이 포함된 경우, 각 아틀라스마다 신택스 priority_group_flag를 부호화하여 시그날링할 수 있다. 아틀라스에는 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 패치 뿐만 아니라, 우선 순위가 문턱값보다 작은 소스 영상 또는 프루닝 그룹으로부터 유도된 패치도 패킹되어 있을 수 있다. 이에, 아틀라스 내 각 패치마다, 해당 패치가 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 패치인지 여부를 나타내는 정보를 부호화할 수도 있다. 표 2는 상기 정보를 포함하는 신택스 테이블을 나타낸 것이다.
atlas_params( a ) { | Descriptor |
num_patches_minus1[ a ] | u(16) |
atlas_width[ a ] | u(16) |
atlas_height[ a ] | u(16) |
for ( i = 0; i <= num_patches_minus1; i++ ) { | |
view_id[ a ][ i ] | u(v) |
priority_view_flag[ a ][ i ] | u(1) |
patch_width_in_view[ a ][ i ] | u(v) |
patch_height_in_view[ a ][ i ] | u(v) |
patch_pos_in_atlas_x[ a ][ i ] | u(v) |
patch_pos_in_atlas_y[ a ][ i ] | u(v) |
patch_pos_in_view_x[ a ][ i ] | u(v) |
patch_pos_in_view_y[ a ][ i ] | u(v) |
patch_rotation[ a ][ i ] | u(3) |
} | |
} |
표 2에서, 신택스 num_patches_minus1[a]는 인덱스가 a인 아틀라스가 포함하는 패치들의 개수를 나타낸다. 신택스 atlas_width[a] 및 신택스 atlas_height[a]는 각각 아틀라스의 너비 및 높이를 나타낸다.각 패치별로, 각 패치가 유도된 소스 영상에 대한 정보가 부호화될 수 있다. 일 예로, view_id[a][i]는 a번째 아틀라스 내 i번째 패치가 속하는 소스 영상의 인덱스를 나타낸다.
신택스 priority_view_flag[a][i]는 a번째 아틀라스 내 i번째 패치가 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 것인지 여부를 나타낸다. 신택스 priority_view_flag[a][i]의 값은 패치가 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 것인지 여부를 기초로 결정될 수 있다. 일 예로, 아틀라스가 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 경우, 상기 플래그 priority_view_flag[a][i]의 값은 참으로 설정될 수 있다. 그렇지 않은 경우, 상기 플래그 priority_view_flag[a][i]의 값은 거짓으로 설정될 수 있다.
다른 예로, 아틀라스를 복수개의 타일 또는 타일 그룹들로 구획한 뒤, 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 패치들과 그렇지 않은 패치들을 서로 다른 타일에 패킹할 수 있다. 이후, 우선 순위가 문턱값 이상인 소스 영상 또는 프루닝 그룹으로부터 유도된 패치들이 패킹된 타일에 대한 정보를 부호화하여 시그날링할 수도 있다.
표 2에서는, 불리언(Boolean) 형태의 신택스 priority_view_flag[a][i]를 이용하여, 패치들간 우선 순위가 결정되는 것으로 예시되었다. 다른 예로, 정수(Integer) 형태의 정보를 이용하여, 패치들간 우선 순위를 결정할 수도 있다. 표 3은 상기 정보를 포함하는 신택스 테이블을 예시한 것이다.
atlas_params( a ) { | Descriptor |
num_patches_minus1[ a ] | u(16) |
atlas_width[ a ] | u(16) |
atlas_height[ a ] | u(16) |
for ( i = 0; i <= num_patches_minus1; i++ ) { | |
view_id[ a ][ i ] | u(v) |
priority_view_order[ a ][ i ] | u(16) |
patch_width_in_view[ a ][ i ] | u(v) |
patch_height_in_view[ a ][ i ] | u(v) |
patch_pos_in_atlas_x[ a ][ i ] | u(v) |
patch_pos_in_atlas_y[ a ][ i ] | u(v) |
patch_pos_in_view_x[ a ][ i ] | u(v) |
patch_pos_in_view_y[ a ][ i ] | u(v) |
patch_rotation[ a ][ i ] | u(3) |
} | |
} |
표 3에서, 신택스 priority_view_order[a][i]는 a번째 아틀라스 내 i번째 패치 또는 상기 i번째 패치가 속하는 소스 영상의 우선 순위를 나타낸다. 일 예로, N개의 소스 영상이 존재하는 경우, 소스 영상들간 우선 순위는 최대 N단계로 분류될 수 있다. 패치를 이용하여 개별 시점 복원 또는 가상 시점 합성 시, 소스 영상들 간 우선 순위에 기초하여, 가중치를 결정할 수 있다.
소스 영상의 우선 순위 정보를 부호화하여 시그날링할 수 있다. 일 예로, 카메라 파라미터 리스트를 통해 소스 영상들간 우선 순위 정보가 부호화되어 시그날링될 수 있다. 표 4는 소스 영상들 간 우선 순위 정보를 포함하는 신택스 테이블을 예시한 것이다.
camera_params_list( ) { | Descriptor |
num_cameras_minus1 | u(16) |
for ( i= 0; i <= num_cameras_minus1; i++) { | |
cam_pos_x[ i ] | u(32) |
cam_pos_y[ i ] | u(32) |
cam_pos_z[ i ] | u(32) |
cam_yaw[i ] | u(32) |
cam_pitch[ i ] | u(32) |
cam_roll[ i ] | u(32) |
cam_priority_order[ i ] | u(16) |
} | |
intrinsic_params_equal_flag | u(1) |
for ( i = 0; i <= intrinsic_params_equal_flag ? 0 : num_ cameras_minus1; i++ ) | |
camera_intrinsics( [ i ] ) | |
depth_quantization_params_equal_flag | u(1) |
for ( i = 0; i <= depth_quantization_equal_flag ? 0 : num_cameras_minus1; i++ ) |
|
depth_quantization( [ i ] ) |
표 4에서, 신택스 cam_priority_order[i]는 i번째 카메라의 우선 순위를 나타낸다. 이때, i번째 카메라는, i번째 소스 영상을 촬영하는데 이용된 것이고, i번째 카메라의 우선 순위가 i번째 소스 영상의 우선 순위와 동일하게 설정될 수 있다. 또는, 카메라가 우선 순위가 높은 카메라인지 여부를 나타내는 1비트의 플래그가 부호화될 수 있다. 일 예로, cam_priority_flag[i]의 값이 참인 것은, i번째 카메라 및 이에 대응하는 i번째 소스 영상이 상대적으로 높은 우선 순위를 가짐을 나타낸다. 반면, cam_priority_flag[i]의 값이 거짓인 것은, i번째 카메라 및 이에 대응하는 i번째 소스 영상이 상대적으로 낮은 우선 순위를 가짐을 나타낸다.
소스 영상마다 우선 순위 정보를 결정하는 경우, 패치 우선 순위 정보는 부호화할 필요가 없다. 일 예로, 즉, 신택스 view_id[a][i]에 의해, i번째 패치가 속하는 소스 영상 n이 결정되면, 해당 소스 영상에 대한 우선 순위(예컨대, 신택스 cam_priority_order[n])을 참조함으로써, i번째 패치가 우선 순위가 높은 소스 영상으로부터 유도된 것인지 여부가 결정될 수 있다. 이에 따라, 표 2에 예시된 신택스 priority_view_flag[a][i] 또는, 표 3에 예시된 신택스 priority_view_order[a][i]를 부호화하지 않더라도, i번째 패치가 우선 순위가 높은 소스 영상으로부터 유도된 것인지 여부를 결정할 수 있다.
이머시브 영상 처리 장치에서는, 프루닝 과정에서, 소정 추가 영상의 프루닝 과정에서, 복수개의 참조 영상이 이용되는 경우, 추가 영상과 복수개 참조 영상 각각의 중복 데이터가 제거된다. 다만, 상기 추가 영상 복원시, 제거된 데이터가 어느 참조 영상과 중복인지 알 수 없다. 이에, 프루닝 우선 순위에 관한 정보를 메타데이터로 생성하여 부호화할 수 있다.
이때, 소스 영상들간 우선 순위는, 프루닝 우선 순위와 동일하게 설정될 수 있다. 일 예로, 표 4에 예시된 신택스 cam_priority_order[i]와 동일하게 프루닝 우선 순위가 설정될 수 있다.
또는, 소스 영상들간 우선 순위와 독립적으로 프루닝 우선 순위를 부호화할 수도 있다. 표 5는 프루닝 우선 순위 관련 신택스 테이블을 예시한 것이다.
priority_order_pruning_map( ) | |
for ( i= 0; i <= num_cameras_minus1; i++) { | |
num_next_priority_view_minus1 [i] | u(16) |
for ( j= 0; j <= num_next_priority_view_minus1[i]; j++) | |
next_priority_view_id[ i ][j]} | u(16) |
다른 예로, 소스 영상들간 우선 순위가 프루닝 우선 순위와 동일하게 설정되는지 여부를 나타내는 정보가 부호화될 수 있다. 일 예로, 신택스 priority_order_prunning_eqaul_flag는, 소스 영상들간 우선 순위와 프루닝 우선 순위가 동일한지 여부를 나타낸다. 소스 영상들간 우선 순위와 프루닝 우선 순위가 상이한 경우, 각 소스 영상의 프루닝 우선 순위를 나타내는 정보가 부호화되어 시그날링될 수 있다. 표 6은, 신택스 priority_order_prunning_equal_flag를 포함하는 신택스 테이블을 예시한 것이다.
priority_order_pruning_equal_flag | u(1) |
for ( i= 0; i <= priority_order_pruning_equal_flag ? 0 : num_cameras_minus1; i++) { | |
num_next_priority_view_minus1 [i] | u(16) |
for ( j= 0; j <= num_next_priority_view_minus1[i]; j++) | |
next_priority_view_id[ i ][j]} | u(16) |
소정의 소스 영상에 대해, 해당 소스 영상의 차순위 소스 영상의 정보가 부호화될 수 있다. 여기서, 소정 소스 영상의 차순위 소스 영상은, 상기 소정 소스 영상 프루닝시 참조 영상으로 이용되는 영상(즉, 부모 노드 영상) 또는 상기 소정 소스 영상을 참조 영상으로 이용하는 영상(즉, 자식 노드 영상)을 의미할 수 있다.표 5 및 표 6의 예에서, 신택스 num_next_priority_view_minus1[i]는, i번째 소스 영상의 차순위 소스 영상들의 개수를 나타낸다. 일 예로, 신택스 num_next_priority_view_minus1[i]는, i번째 소스 영상의 차순위 소스 영상들의 개수에서 1을 차감한 것일 수 있다.
이후, 각 차순위 소스 영상의 인덱스를 특정하는 정보가 부호화될 수 있다. 일 예로, 신택스 next_priority_view_id[i][j]는, j번째 차순위 소스 영상의 인덱스를 나타낸다.
각 소스 영상이 루트 노드 또는 리프 노드인지 여부를 나타내는 정보가 추가 부호화될 수도 있다. 일 예로, 소정 소스 영상이 루트 노드인지 여부를 나타내는 플래그 또는 소정 소스 영상이 리프 노드인지 여부를 나타내는 플래그 중 적어도 하나가 부호화되어 시그날링될 수 있다.
상기 차순위 소스 영상들의 개수를 나타내는 정보 및 각 차순위 소스 영상의 인덱스를 특정하는 정보는, 상기 소정 소스 영상이 루트 노드 또는 리프 노드가 아닌 경우에 한하여 부호화될 수 있다.
프루닝 우선 순위 관련 정보를 부호화함으로써, 소스 영상들 간 참조 관계를 나타내는 프루닝 지도(Map)(또는, 그래프(Graph))이 구성될 수 있다. 개별 시점 복원시 상기 프루닝 지도를 참조하여, 상기 개별 시점 복원할 때 참조해야 하는 소스 영상들이 결정될 수 있다. 또한, 이머시브 영상 처리 장치에서는, 프루닝 우선 순위에 기초하여, 개별 시점 영상 복원시 각 소스 영상에 할당되는 가중치를 결정할 수 있다.
프루닝 우선 순위를 참조하여, 개별 시점 영상을 복원하거나, 가상 시점 영상을 합성할 수 있다. 일 예로, 개별 시점 영상 복원시, 해당 영상으로부터 도출된 패치 및 해당 영상의 참조 영상으로부터, 중복 데이터를 추출하여, 해당 영상을 복원할 수 있다.
일 예로, 프루닝 수행 과정에서, 소스 영상 v1 및 v2가 기본 영상으로 선택되고, 소스 영상 v3 내지 v4가 추가 영상으로 설정된 경우라 가정한다. 또한, 추가 영상들 중 추가 영상 v3의 프루닝 우선 순위가 가장 높고, 추가 영상 v4의 프루닝 우선 순위가 차순위인 것으로 가정한다.
추가 영상 v3에 대해, 기본 영상 v1 및 v2와의 중복 데이터를 제거하여 잔차 데이터를 생성할 수 있다.
이후, 이머시브 영상 출력 장치에서, 추가 영상 v3 복원 시, 추가 영상 v3의 잔차 데이터(예컨대, 패치)와 위 프루닝 과정에서 제거된 중복 데이터가 이용될 수 있다. 이때, 각 영상들 간 프루닝 우선 순위에 기초하여, 각 영상 데이터에 대한 가중치가 결정될 수 있다.
추가 영상 v4에 대해, 기본 영상 v1, 기본 영상 v2 및 추가 영상 v3와의 중복 데이터를 제거하여 잔차 데이터를 생성할 수 있다.
이후, 이머시브 영상 출력 장치에서, 추가 영상 v4 복원 시, 추가 영상 v4의 잔차 데이터(예컨대, 패치)와 위 프루닝 과정에서 제거된 중복 데이터가 이용될 수 있다. 이때, 각 영상들 간 프루닝 우선 순위에 기초하여, 각 영상 데이터에 대한 가중치가 결정될 수 있다.
가상 시점 영상은, 복수의 소스 영상을 합성하여 생성될 수 있다. 일 예로, 도 5에 도시된 예에서, 가상 시점 영상 View V는 중심 영상 View C1과 좌측 영상 View L1을 합성하여 생성될 수 있다.
이때, 소스 영상들 중 프루닝 우선 순위가 더 높은 소스 영상(예컨대, 부모 노드)에 할당되는 가중치가 프루닝 우선 순위가 더 낮은 소스 영상(예컨대, 자식 노드)에 할당되는 가중치보다 더 큰 값을 갖도록 설정할 수 있다.
표 5 및 표 6의 예에서, 추가 영상 v4 보다 프루닝 우선 순위가 높은 추가 영상 v3은, 추가 영상 v4의 부모 노드이고, 추가 영상 v4는 추가 영상 v3의 자식 노드인 것으로 이해될 수 있다.
신택스 num_next_priority_view_minus1이 자식 노드의 개수를 가리킨다고 가정할 경우, 추가 영상 v3에 대한 신택스 num_next_priority_view_minus1[v3]은 0으로 설정되고, 신택스 next_priority_view_id[v3][0]은 추가 영상 v4를 가리킬 수 있다.
반대로, num_next_priority_view_minus1이 부모 노드의 개수를 가리킨다고 가정할 경우, 추가 영상 v4에 대한 신택스 num_next_priority_view_minus1[v4]는 0으로 설정되고, 신택스 next_priority_view_id[v4][0]는 추가 영상 v3를 가리킬 수 있다.
위와 같이, 프루닝 우선 순위 정보를 부호화하여 시그날링함으로써, 이머시브 영상 처리 장치에서, 프루닝 지도를 복원하는 한편, 상기 프루닝 지도를 참조하여, 소정 시점 영상 복원시 이용되는 참조 영상 또는 각 영상에 할당되는 가중치를 결정할 수 있다.
프루닝 그룹별 독립적으로 프루닝이 수행된 경우, 상이한 프루닝 그룹에서 유도된 패치들은 아틀라스 내 상이한 영역에 패킹되도록 설정할 수 있다. 즉, 제1 프루닝 그룹으로부터 유도된 패치가 패킹된 영역에는 제2 프루닝 그룹으로부터 유도된 패치가 패킹되지 않도록 설정될 수 있다. 여기서, 패치들이 패킹되는 영역은 타일 또는 타일 그룹을 나타낼 수 있다. 여기서, 타일 그룹은, 적어도 하나 이상의 타일로 구성될 수 있다.
도 14는 타일 또는 타일 그룹 단위로 패치들을 패킹하는 예를 나타낸다.
참조 영상이 없는 기본 영상은, 그대로 아틀라스에 삽입될 수 있다. 일 예로, 도 14에 도시된 예에서, 기본 영상 v2(Basic view 1) 및 기본 영상 v7(Basic view)가 각각 4개의 타일을 점유하는 것으로 도시되었다.
기본 영상 v2를 포함하는 제1 프루닝 그룹에 속한 추가 영상들(v0, v1, v3, v4)로부터 유도된 패치가 패킹되는 타일 또는 타일 그룹에는, 기본 영상 v7을 포함하는 제2 프루닝 그룹에 속한 추가 영상들(v5, v6, v8, v9)로부터 유도된 패치가 패킹되지 않도록 설정될 수 있다.
일 예로, 도 14에 도시된 예에서와 같이, 제1 프루닝 그룹에 속한 추가 영상들로부터 유도된 패치들을 좌측 2개의 타일 또는 타일 그룹에 패킹하고, 제2 프루닝 그룹에 속한 추가 영상들로부터 유도된 패치들을 우측 2개의 타일 또는 타일 그룹에 패킹할 수 있다.
아틀라스를 타일 또는 타일 그룹으로 분할함으로써, 아틀라스의 분할 디코딩(partial decoding) 또는 병렬 디코딩(parallel decoding)을 지원할 수 있다. 이에 따라, 우선 순위가 높은 소스 영상의 정보를 포함하는 타일을 먼저 복호화하거나, 아틀라스 내 일부 영역만을 복호화함으로써, 특정 시점 영상을 복원할 수 있다.
아틀라스의 분할 관련 정보가 메타데이터로 부호화될 수 있다. 여기서, 분할 관련 정보는, 타일 또는 타일 그룹에 관한 정보일 수 있다.
구체적으로, 아틀라스가 타일 또는 타일 그룹으로 분할되는지 여부에 관한 플래그를 부호화한 뒤, 상기 플래그의 값에 따라, 분할 정보를 추가 부호화할 것인지 여부를 결정할 수 있다. 상기 플래그는 아틀라스 파라미터 리스트(atlas_params_list)에 포함될 수 있다. 상기 플래그가 아틀라스 내 타일 또는 타일 그룹이 존재함을 가리키는 경우, 타일 그룹 파라미터(tile_group_params)를 통해 분할 정보를 시그날링할 수 있다.
표 7 및 표 8은 아틀라스 분할 관련 정보를 포함하는 신택스 테이블을 예시한 것이다.
atlas_params_list( ) { | |
num_atlases_minus1 | ue(v) |
num_groups | u(4) |
for ( i = 0; i <= num_atlases_minus1; i++ ) { | |
atlas_id[ i ] | u(8) |
group_id[i] | ue(v) |
atlas_params( atlas_id[ i ] ) | |
tile_group_params_flag | u(1) |
if(tile_group_params_flag) | |
tile_group_params(atlas_id[ i ] ) | |
} | |
} |
표 7에서, 신택스 atlas_id[i]는 i번째 아틀라스에 할당되는 식별자를 나타낸다. 신택스 group_id[i]는 i번째 아틀라스가 속하는 아틀라스 그룹의 식별자를 나타낸다. 신택스 group_id의 값이 동일한 아틀라스들은 동일한 아틀라스 그룹에 속하는 것으로 이해될 수 있다.
신택스 tile_group_params_flag는, 타일 또는 타일 그룹 관련 정보가 추가 부호화되었는지 여부를 나타낸다. 신택스 tile_group_params_flag가 1인 경우, i번째 아틀라스에 대한 타일 그룹 파라미터(tile_group_params[i])로부터 분할 정보를 파싱할 수 있다.
tile_group_params( a ) { | Descriptor |
num_tile_group_column_minus1 | u(16) |
num_tile_group_row_minus1 | u(16) |
for ( i = 0; i <= num_tile_group_column_minus1; i++ ) { | u(16) |
tile_group_column_width_minus1[i] | u(v) |
for ( j = 0; j <= num_tile_group_row_minus1; j++ ) { | |
tile_group_row_height_minus1[j] | u(v) |
tile_group_id[i][j] | u(v) |
tile_group_type[i][j] | u(4) |
} | |
} | |
} |
표 8에서, 신택스 num_tile_group_column_minus1 및 num_tile_group_row_minus1은, 각각 아틀라스 내 타일 그룹 열의 개수 및 타일 그룹 행의 개수를 나타낸다. 구체적으로, 신택스 num_tile_group_column_minus1은 타일 그룹 열의 개수에서 1을 차분한 값을 나타내고, 신택스 num_tile_group_row_minus1은 타일 그룹 행의 개수에서 1을 차분한 값을 나타낸다.아틀라스 내 타일 그룹의 총 개수는, 타일 그룹 열의 개수 및 타일 그룹 행의 개수를 곱한 값일 수 있다.
각 타일 그룹 열에 대한, 너비 정보를 부호화할 수 있다. 일 예로, 신택스 tile_group_column_width_minus1[i]는, i번째 타일 그룹 열의 너비를 나타낸다. 아틀라스 내 마지막 타일 그룹 열에 대해서는, 신택스 tile_group_column_width_minus1의 부호화가 생략될 수 있다. 마지막 타일 그룹 열의 너비는, 아틀라스의 너비에서, 잔여 타일 그룹 열들의 너비를 차분하여 유도될 수 있다.
각 타일 그룹 행에 대한, 높이 정보를 부호하할 수 있다. 일 예로, 신택스 tile_group_row_height_minus1[j]는, j번째 타일 그룹의 높이를 나타낸다. 아틀라스 내 마지막 타일 그룹 행에 대해서는, 신택스 tile_group_row_height_minus1의 부호화가 생략될 수 있다. 마지막 타일 그룹 행의 높이는, 아틀라스의 높이에서, 잔여 타일 그룹 행들의 높이를 차분하여 유도될 수 있다.
또한, 아틀라스 내 타일 그룹 열의 개수가 1개인 경우, 신택스 tile_group_column_width_minus1 및 신택스 tile_group_row_height_minus1[j]의 부호화를 생략할 수 있다.
신택스 tile_group_id[i][j]는, 타일 그룹 열 인덱스가 i이고, 타일 그룹 행 인덱스가 j인 타일 그룹에 할당되는 식별자를 나타낸다. 식별자가 동일한 타일 그룹을 하나의 복호화 그룹으로 구성하고, 복호화 그룹 단위로 비디오 복호화 또는 영상 렌더링을 수행할 수 있다.
신택스 tile_group_type[i][j]는, 타일 그룹 열 인덱스가 i이고, 타일 그룹 행 인덱스가 j인 타일 그룹의 타입을 나타낸다. 타일 그룹 타입은, 해당 타일 그룹에 기본 영상이 포함되었는지 여부 또는 추가 영상이 포함되었는지 여부를 나타낸다. 또는, 타일 그룹 타입은, 영상 합성시, 해당 타일 그룹이 필수적으로 이용되어야 하는지 여부를 나타낸다.
아틀라스가 복수개의 타일 또는 타일 그룹으로 분할된 경우, 각 패치가 속하는 타일 또는 타일 그룹을 식별하는 정보가 부호화될 수 있다. 표 9는 상기 정보를 포함하는 신택스 테이블을 예시한 것이다.
atlas_params( a ) { | Descriptor |
num_patches_minus1[ a ] | u(16) |
atlas_width[ a ] | u(16) |
atlas_height[ a ] | u(16) |
for ( i = 0; i <= num_patches_minus1; i++ ) { | |
view_id[ a ][ i ] | u(v) |
patch_width_in_view[ a ][ i ] | u(v) |
if (tile_group_params_flag) | |
tile_group_id[a][i] | u(v) |
patch_height_in_view[ a ][ i ] | u(v) |
patch_pos_in_atlas_x[ a ][ i ] | u(v) |
patch_pos_in_atlas_y[ a ][ i ] | u(v) |
patch_pos_in_view_x[ a ][ i ] | u(v) |
patch_pos_in_view_y[ a ][ i ] | u(v) |
patch_rotation[ a ][ i ] | u(2) |
} | |
} |
표 9에서, 신택스 tile_group_id[a][i]는, a번째 아틀라스 내 i번째 패치가 속한 타일 그룹의 식별자 또는 인덱스를 나타낸다. 또는, 타일 또는 타일 그룹 별로, 패치들의 인덱스를 초기화할 수 있다. 이에 따라, 아틀라스 내 각각의 패치들은, 각 패치가 속하는 타일 또는 타일 그룹의 인덱스 및 해당 타일 또는 타일 그룹 내 해당 패치에 할당되는 인덱스에 의해 식별될 수 있다.
이에 따라, 각 패치들에 대한 신택스 요소들 정의시, 아틀라스 인덱스 대신 타일 또는 타일 그룹 인덱스를 이용할 수 있다. 일 예로, 표 2의 예에서, 각 신택스에서 타일을 특정하기 위한 인덱스 '[a][i]'를, '[tileIdx][i]'로 변환할 수 있다. 일 예로, view_id[tileIdx][i]는, 인덱스가 tileIdx인 타일 내 인덱스가 i인 패치가 속하는 소스 영상의 인덱스를 나타낼 수 있다.
이머시브 영상 처리 장치에 입력되는 소스 영상들은, 깊이 및/또는 카메라 파라미터 등 기하 정보를 이용하여 역투영되고, 이에 따라 3D 공간상에 복원될 수 있다. 본 개시에서는, 3D 공간상 각 픽셀의 월드 좌표를 기초로, 그룹을 나누는 방법을 제안한다.
역투영 과정은, 프루닝 과정의 일부로 포함될 수 있다. 이에 따라, 소스 영상을 프루닝 단계에 입력할 때(또는 입력하기 전), 상기 소스 영상을 역투영한 뒤, 역투영 결과에 따라, 그룹 분할을 수행할 수 있다.
도 15는 월드 좌표계에서 그룹들이 분할되는 예를 나타낸 예이다.
월드 좌표가 특정 범위에 속하는지 여부에 기초하여, 각 픽셀들을 복수의 그룹으로 분류할 수 있다. 일 예로, X 좌표가 X1보다 작은 픽셀을 제1 그룹으로 분류하고, X1 내지 X2 사이에 포함되는 픽셀은 제2 그룹으로 분류할 수 있다. 도 15에 도시된 예에서, 시점 영상 V1으로부터 역투영된 픽셀 A의 X 좌표는 X1 내지 X2 사이에 포함되므로, 해당 픽셀을 제2 그룹으로 분류할 수 있다. 반면, 시점 영상 V1으로부터 역투영된 픽셀 B의 X 좌표는 X1보다 작으므로, 해당 픽셀을 제1 그룹으로 분류할 수 있다.
위 결과와 같이, 각 픽셀의 3D 공간상의 위치에 따라, 동일한 소스 영상 또는 동일한 패치에 포함된 픽셀들이라 하더라도, 상이한 그룹으로 분류될 수 있다.
도 15에 도시된 예에서는, X좌표를 기준으로 그룹을 분류하는 예를 나타냈으나, X좌표, Y좌표, Z좌표 또는 각도 중 적어도 하나에 기초한 분류 기준이 설정될 수 있다.
3D 공간상 그룹을 분류한 뒤, 프루닝을 수행하는 경우, 분할된 공간상 포함된 패치들의 공간 정보가 일관성을 갖는다. 이에 따라, 영상 부호화/복호화 효율이 증진될 수 있다.
또는, 3D 공간상 그룹을 분류한 뒤, 분할된 그룹 별 별도의 영역에 패킹(예컨대, 별도의 타일)하거나, 별도의 아틀라스에 패킹한다면, 사용자의 선택에 따라 용이하게 분할 디코딩이 가능하고, 또한, 최소 데이터로 특정 공간을 재현할 수 있는 이점이 있다.
3D 공간 위치를 기준으로 그룹을 분류하는 한편, 이머시브 영상을 이종 미디어와 결합할 수도 있다. 여기서, 이종 미디어는 포인트클라우드 또는 홀로그램과 같은 영상 타입을 나타낸다.
상술한 실시예들에서는, 다중 시점으로 구성된, 이머시브 비디오에 기초하여, 잔차 영상, 패치 및/또는 아틀라스가 생성되는 것으로 예시되었다.
만약, 이머시브 비디오를 3D 공간상에 역투영하고, 상기 3D 공간상에 포인트클라우드와 같은 이종 미디어도 역투영된다면, 이머시브 비디오에 대한 데이터 뿐만 아니라, 이종 미디어의 데이터도 월드 좌표계로 표현할 수 있다.
예컨대, 3D 공간상에 역투영된 이머시브 비디오의 픽셀 (x, y, z) 및 포인트 클라우드의 공간 데이터가 모두 월드 좌표계로 표현되어 처리될 수 있다.
이때, 로컬 좌표로 표현되는 포인트 클라우드의 데이터를 월드 좌표계로 변환하는 과정이 수행될 수 있다. 일 예로, 포인트 클라우드의 데이터 좌표계를 변환하기 위해, 콘텐츠 제작자의 편집 등을 통해, 월드좌표로 원점을 맞추는 것 또는 간격을 조절하는 것 등이 수행될 수 있다.
도 16은 이머시브 비디오 및 이종 미디어 객체가 3D 공간상에 정렬된 예 및 이종 미디어와 결합된 영상 처리 방법을 나타낸다.
이머시브 비디오의 데이터 및 포인트 클라우드 데이터를 3D 공간상에 정렬(이하, 공간 정렬이라 함)으로써, 두 영상이 동시에 이머시브 영상 출력 장치에서 렌더링되었을 때, 이머시브비디오와 포인터크라우드가 자연스럽게 합성된 것과 같은 효과가 발생할 수 있다.
공간 정렬 이후, 앞서 설명한, 프루닝, 투영(projection) 등의 과정을 거쳐 패치를 생성하고, 생성된 패치의 패킹할 수 있다. 이후, 타일 또는 Atlas 단위로 패치 데이터로 전송하게 되면, 이머시브 영상 출력 장치에서는, 수신된 데이터 전체 또는 일부(partial)를 디코딩하여 시청자에게 소정의 공간 영상을 제공할 수 있다.
한편, 본 발명에서 그룹의 개수를 한 개로 설정할 수도 있다. 그룹이 한 개인 경우, 3D 공간을 분할함이 없이, 이머시브비디오 및 포인트클라우드 등의 이종미디어가 결합된 전체 공간이 재생될 수 있다.
도 17은 객체 기반 이머시브 비디오와 이종 미디어를 결합 재생하는 방법을 설명하기 위한 도면이다.
이머시브 비디오 및 이종미디어는 각각 객체 단위로 분리된 후, 프루닝 및 패치 패킹 등의 과정을 거쳐 부호화될 수 있다. 여기서, 객체는, 영상 속 인물, 건물 또는 자동차와 같은 물체일 수도 있고, 전경 영상 또는 배경 영상일 수도 있다.
또는, 이머시브 비디오는 전방위 자연 영상이고 이종 미디어는 CG 혹은 별도로 촬영/제작되어 사용자가 조작 가능한 형태(예컨대, 포인트 클라우드)일 수 있다. 이때, 두 미디어 상의 객체는 서로 다른 공간, 조명 및/또는 시간에서 제작이 되므로, 재생 시에는 객체들과 관련 관련된 정보를 메타데이터로 전송하여야 제작자가 의도한데로 사실감 있는 영상을 재생할 수 있다.
메타데이터는, 이머시브 비디오와 이종 미디어가 결합 부호화되었는지 여부를 나타내는 정보를 포함할 수 있다. 이머비스 비디오 및 이종 미디어가 결합 부호화된 경우, 상기 메타데이터는, 객체 식별자, 객체를 포함하는 미디어의 타입(예컨대, 이머시브 미디어 또는 포인트 클라우드), 미디어가 재생될 단말 종류, 이종 미디어 객체의 투명도 및/또는 반사도에 관한 정보, 이머시브 비디오 내 이종미디어가 결합되어 재생될 공간에 대한 정보(예컨대, 공간상 위치, 크기, 시청공간 또는 사용자의 조작 가능한 범위 중 적어도 하나), 주요 조명의 세기 및/또는 방향, 또는 주변광에 관한 정보 중 적어도 하나를 포함할 수 있다. 여기서, 주변광의 정보는, spherical harmonic 과 같이, 이종 미디어 객체 주변으로 조사되는 빛에 대한 정보일 수 있다. 주변광의 정보가 조사되는 빛의 정보일 때 이를 빛 지도(light map) 형태로 전송할 수 있고 이의 속성을 시그날링하기 위해 표 10에서와 같이 속성타입의 지시자(Identifier: ATTR_light_map)를 추가할 수 있다.
ai_attribute_type_id[ j ][ i ] | Identifier | Attribute type |
0 | ATTR_TEXTURE | Texture |
1 | ATTR_MATERIAL_ID | Material ID |
2 | ATTR_TRANSPARENCY | Transparency |
3 | ATTR_REFLECTANCE | Reflectance |
4 | ATTR_NORMAL | Normals |
5 | ATTR_light_map | Light map |
15 | ATTR_UNSPECIFIED | Unspecified |
이머비스 비디오와 다른 환경에서 제작된 이종 미디어 객체가 이머시브비디오와 결합되어 렌더링될 때, 이머시브비디오의 조명의 세기/방향, 또는 주변광에 관한 정보 중 적어도 하나를 기반으로 이종미디어 객체의 반사 정도와 그림자 등을 렌더링함으로서 현실감 있는 영상을 재생할 수 있게 된다. 조명의 세기/방향, 및/또는 주변광에 대한 정보는 영상을 기반으로 고성능의 프로세싱을 통해 계산 가능하므로, 제작과정에서 미리 추출하여 단말에 전송될 수 있다. 한편, 이미시브비디오 및 이종미디어는 3DoF+, 6DoF, PCC, UHD 비디오 등 다양한 미디어일 수 있고, 메타데이터는 각 표준에서 정한 다양한 규격으로 전송 가능하다.
상술한 실시예들에서 소개된 신택스 요소들의 명칭은, 본 개시에 따른 실시예들을 설명하기 위해 임시로 부여된 것에 불과하다. 본 개시에서 제안된 것과 상이한 이름으로 신택스 요소들을 명명할 수도 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 개시는 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 개시의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 개시는 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
이상 설명된 본 개시에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 개시에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 개시가 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 개시의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 개시가 상기 실시예들에 한정되는 것은 아니며, 본 개시가 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 개시의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 개시의 사상의 범주에 속한다고 할 것이다.
Claims (12)
- 비트스트림으로부터 영상 데이터 및 메타데이터를 파싱하는 단계;
상기 영상 데이터를 복호화하여 적어도 하나의 아틀라스를 획득 단계; 및
메타데이터에 기초하여, 사용자 움직임에 따른 뷰포트 영상 합성에 요구되는 패치들을 아틀라스로부터 추출하는 단계를 포함하되,
상기 메타 데이터는 입력 영상들 간 프루닝 우선 순위 정보를 포함하는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제1 항에 있어서,
상기 프루닝 우선 순위 정보는,
입력 영상이 리프 노드 또는 루트 노드인지 여부를 나타내는 플래그를 포함하는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제2 항에 있어서,
상기 플래그가 상기 입력 영상이 리프 노드 또는 루트 노드가 아님을 나타내는 경우,
상기 프루닝 우선 순위 정보는, 차순위 입력 영상의 개수에 대한 정보 및 상기 차순위 입력 영상을 식별하는 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제1 항에 있어서,
상기 뷰포트 영상 생성시, 상기 프루닝 우선 순위에 기초하여, 각 입력 영상에 할당되는 가중치가 결정되는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제4 항에 있어서,
상기 뷰포트 영상 생성시, 부모 노드 입력 영상에 할당되는 가중치가 자식 노드에 할당되는 가중치보다 더 큰 값을 갖는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제1 항에 있어서,
상기 메타데이터는 상기 아틀라스의 분할 정보를 포함하고,
상기 아틀라스가 복수의 타일들로 분할된 경우, 상기 메타데이터는, 상기 아틀라스 내 상기 패치가 속한 타일을 식별하는 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제1 항에 있어서,
상기 메타데이터는 상기 영상 데이터에 이종 미디어의 데이터가 포함되어 있는지 여부를 나타내는 제1 정보를 더 포함하고,
상기 제1 정보가 상기 영상 데이터에 상기 이종 미디어의 데이터가 포함되어 있음을 가리키는 경우, 상기 메타데이터는 상기 이종 미디어의 타입과 속성을 나타내는 제2 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 입력 영상들에 대한 프루닝 우선 순위를 결정하는 단계;
상기 프루닝 우선 순위에 기초하여, 상기 입력 영상들로부터 패치들을 추출하는 단계;
상기 추출된 패치들에 기초하여, 적어도 하나의 아틀라스를 생성하는 단계; 및
메타데이터를 부호화하는 단계를 포함하되,
상기 메타데이터는, 입력 영상들 간 프루닝 우선 순위 정보를 포함하는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 제8 항에 있어서,
상기 프루닝 우선 순위 정보는,
입력 영상이 리프 노드 또는 루트 노드인지 여부를 나타내는 플래그를 포함하는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 제9 항에 있어서,
상기 입력 영상이 리프 노드 또는 루트 노드가 아닌 경우,
상기 프루닝 우선 순위 정보는, 차순위 입력 영상의 개수에 대한 정보 및 상기 차순위 입력 영상을 식별하는 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 제8 항에 있어서,
상기 아틀라스가 복수의 타일들로 분할된 경우,
상기 메타데이터는 상기 아틀라스의 분할 정보 및 상기 아틀라스 내 상기 패치가 속한 타일을 식별하는 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 제8 항에 있어서,
상기 메타데이터는 상기 영상 데이터에 이종 미디어의 데이터가 포함되어 있는지 여부를 나타내는 제1 정보를 더 포함하고,
상기 제1 정보가 상기 영상 데이터에 상기 이종 미디어의 데이터가 포함되어 있음을 가리키는 경우, 상기 메타데이터는 상기 이종 미디어의 타입과 속성을 나타내는 제2 정보를 더 포함하는 것을 특징으로 하는, 이머시브 영상 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/033,227 US11616938B2 (en) | 2019-09-26 | 2020-09-25 | Method for processing immersive video and method for producing immersive video |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190119175 | 2019-09-26 | ||
KR20190119175 | 2019-09-26 | ||
KR20190121085 | 2019-09-30 | ||
KR1020190121085 | 2019-09-30 | ||
KR1020190121977 | 2019-10-02 | ||
KR20190121977 | 2019-10-02 | ||
KR20200004454 | 2020-01-13 | ||
KR1020200004454 | 2020-01-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210036834A true KR20210036834A (ko) | 2021-04-05 |
Family
ID=75461965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200123797A KR20210036834A (ko) | 2019-09-26 | 2020-09-24 | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210036834A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230008600A (ko) * | 2021-07-07 | 2023-01-16 | 한국전자통신연구원 | 이머시브 영상 부호화 방법 및 이머시브 영상 복호화 방법 |
-
2020
- 2020-09-24 KR KR1020200123797A patent/KR20210036834A/ko active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230008600A (ko) * | 2021-07-07 | 2023-01-16 | 한국전자통신연구원 | 이머시브 영상 부호화 방법 및 이머시브 영상 복호화 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616938B2 (en) | Method for processing immersive video and method for producing immersive video | |
RU2716156C1 (ru) | Способ и устройство для составления всенаправленного изображения в выходной формат макета | |
Salahieh et al. | Test model for immersive video | |
US20210006830A1 (en) | Method for processing immersive video and method for producing immersive video | |
US11483534B2 (en) | Method for processing immersive video and method for producing immersive video | |
US11350074B2 (en) | Method for processing immersive video and method for producing immersive video | |
US11477429B2 (en) | Method for processing immersive video and method for producing immersive video | |
KR20210036834A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US20230232031A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
KR20210036795A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
KR20200143276A (ko) | 비디오 부호화 방법 및 비디오 복호화 방법 | |
US20210383122A1 (en) | Method of processing immersive video and method of producing immersive video | |
KR102591133B1 (ko) | 이머시브 영상 부호화 방법 및 이머시브 영상 복호화 방법 | |
JP2022549431A (ja) | 容積ビデオを符号化、送信、及び復号化するための方法及び装置 | |
US20240251086A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
US20240348807A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
KR20230110178A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화 방법 | |
KR102658474B1 (ko) | 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치 | |
KR20230110187A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화 방법 | |
US20240185504A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
KR20210151684A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US20240236339A9 (en) | Method for decoding immersive video and method for encoding immersive video | |
US20230386090A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
KR20240153925A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화 방법 | |
US20230345020A1 (en) | Method for processing video data stream, video decoding apparatus, and method for encoding data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |