KR102680366B1 - 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 - Google Patents
이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 Download PDFInfo
- Publication number
- KR102680366B1 KR102680366B1 KR1020210079574A KR20210079574A KR102680366B1 KR 102680366 B1 KR102680366 B1 KR 102680366B1 KR 1020210079574 A KR1020210079574 A KR 1020210079574A KR 20210079574 A KR20210079574 A KR 20210079574A KR 102680366 B1 KR102680366 B1 KR 102680366B1
- Authority
- KR
- South Korea
- Prior art keywords
- depth
- atlas
- viewpoint
- depth parameter
- image
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 title description 23
- 238000004519 manufacturing process Methods 0.000 title 1
- 238000013138 pruning Methods 0.000 claims abstract description 52
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 238000001308 synthesis method Methods 0.000 claims 8
- 230000002829 reductive effect Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 13
- 238000009826 distribution Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 238000013139 quantization Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012856 packing Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (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는 깊이 아틀라스 스케일링이 적용되었을 때, 컨텐트별 BD-rate의 변화를 나타낸다.
도 15는 컨텐트 별 스케일된 깊이 범위가 상이하게 설정된 경우의, 실험 결과를 나타낸 것이다.
도 16은 상기 신택스를 포함하는 신택스 구조를 예시한 것이다.
도 17는 miv_mive_params_update_depth_quantization 구조의 예를 도시한 것이다.
도 18는 depth_quantization 구조를 예시한 것이다.
도 2는 본 발명의 일 실시예에 따른 이머시브 영상 출력 장치의 블록도이다.
도 3은 이머시브 영상 처리 방법의 흐름도이다.
도 4는 아틀라스 부호화 과정의 흐름도이다.
도 5는 이머시브 영상 출력 방법의 흐름도이다.
도 6은 깊이 아틀라스 내 픽셀 값들의 분포를 나타낸 것이다.
도 7은 스케일링 관련 정보를 포함하는 신택스 구조를 예시한 것이다.
도 8은 깊이값을 조절하여 스케일링 및 재스케일링이 수행되는 예를 나타낸 것이다.
도 9 및 도 10은 정규화된 최대 시차값과 정규화된 최소 시차값을 조절하여 스케일링 및 재스케일링이 수행되는 예를 나타낸 것이다.
도 11 및 도 12는 본 발명에서 제안하는 깊이 아틀라스 스케일링 기법의 적용 여부에 따른 차이를 나타낸 것이다.
도 13 및 도 14는 깊이 아틀라스 스케일링이 적용되었을 때, 컨텐트별 BD-rate의 변화를 나타낸다.
도 15는 컨텐트 별 스케일된 깊이 범위가 상이하게 설정된 경우의, 실험 결과를 나타낸 것이다.
도 16은 상기 신택스를 포함하는 신택스 구조를 예시한 것이다.
도 17는 miv_mive_params_update_depth_quantization 구조의 예를 도시한 것이다.
도 18는 depth_quantization 구조를 예시한 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 발명된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 발명의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결 되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
이머시브 영상은, 사용자의 시청 위치가 변경될 경우, 뷰 포트도 동적으로 변경될 수 있는 영상을 의미한다. 이머시브 영상을 구현하기 위해, 복수개의 입력 영상들이 요구된다. 복수개의 입력 영상들 각각을 소스 영상 또는 시점 영상이라 호칭할 수 있다. 각각의 시점 영상들에는 상이한 뷰(view) 인덱스가 할당될 수 있다.
이머시브 영상은 3DoF (Degree of Freedom), 3DoF+, Windowed-6DoF 또는 6DoF 타입 등으로 분류될 수 있다. 3DoF 기반의 이머시브 영상은, 텍스처 영상만을 이용하여 구현될 수 있다. 반면, 3DoF+ 또는 6DoF 등 깊이 정보를 포함하는 이머시브 영상을 렌더링하기 위해서는, 텍스처 영상뿐만 아니라, 깊이 영상도 요구된다.
후술되는 실시예들은 3DoF+ 및/또는 6DoF 등 깊이 정보를 포함하는 이머시브 영상 처리를 위한 것으로 가정한다. 또한, 시점 영상은 텍스처 영상 및 깊이 영상으로 구성된 것으로 가정한다.
도 1은 본 발명의 일 실시예에 따른 이머시브 영상 처리 장치의 블록도이다.
도 1을 참조하면, 본 발명에 따른 이머시브 영상 처리 장치는 시점 최적화부(View Optimizer, 110), 아틀라스(Atlas) 생성부(120), 메타데이터 생성부(130), 영상 인코더부(140) 및 비트스트림 생성부(150)를 포함할 수 있다.
이머시브 영상 처리 장치는, 복수 쌍 영상, 카메라 내부 변수 및 카메라 외부 변수를 입력 값으로 받아, 이머시브 영상을 부호화한다. 여기서, 복수 쌍 영상은, 텍스처 영상(Attribute component) 및 깊이 영상(Geometry component)을 포함한다. 각 쌍은 상이한 시점(view)를 가질 수 있다. 이에 따라, 한 쌍의 입력 영상을 시점 영상이라 호칭할 수도 있다. 시점 영상들 각각이 인덱스에 의해 구분될 수 있다. 이때, 각 시점 영상들에 할당되는 인덱스를 시점(view) 또는 시점 인덱스(view index)라 호칭할 수 있다.
카메라 내부 변수는, 초점 거리 및 주점 위치 등을 포함하고, 카메라 외부 변수는 카메라 위치 및 방향 등을 포함한다. 카메라 내부 변수 및 카메라 외부 변수는, 카메라 파라미터 또는 시점 파라미터로 취급될 수 있다.
시점 최적화부(110)는 시점 영상들을 복수개의 그룹들로 분할한다. 시점 영상들이 복수개의 그룹들로 분할함으로써, 각 그룹별 독립적인 부호화 처리가 수행될 수 있다. 일 예로, 공간적으로 연속된 N 개의 카메라들에 의해 촬영된 시점 영상들을 하나의 그룹들로 분류할 수 있다. 이로써, 깊이 정보가 상대적으로 일관적인(coherent) 시점 영상들을 하나의 그룹으로 묶을 수 있고, 이에 따라, 렌더링 품질을 향상시킬 수 있다.
또한, 그룹 간 정보의 의존성을 제거함으로써, 사용자가 시청 중인 영역의 정보만을 선택적으로 가져와 렌더링을 수행하는 임의 공간 접근(spatial random access) 서비스를 가능하게 할 수 있다.
시점 영상들을 복수개의 그룹들로 분할할 것인지 여부는 선택적(optional)일 수 있다.
또한, 시점 최적화부(110)는 시점 영상들을 기본 영상 및 추가 영상으로 분류할 수 있다. 기본 영상은 프루닝 우선 순위가 가장 높은 시점 영상으로서 프루닝되지 않는 영상을 나타내고, 추가 영상은 기본 영상보다 프루닝 우선 순위가 낮은 시점 영상을 나타낸다.
시점 최적화부(110)는 시점 영상들 중 적어도 하나를 기본 영상으로 결정할 수 있다. 기본 영상으로 선택되지 않은 시점 영상은 추가 영상으로 분류될 수 있다.
시점 최적화부(110)는 시점 영상의 시점 위치를 고려하여, 기본 영상을 결정할 수 있다. 일 예로, 복수의 시점 영상들 중 시점 위치가 중심인 시점 영상이 기본 영상으로 선택될 수 있다.
또는, 시점 최적화부(110)는 카메라 파라미터에 기초하여, 기본 영상을 선택할 수 있다. 구체적으로, 시점 최적화부(110)는 카메라 인덱스, 카메라간 우선 순위, 카메라의 위치 또는 관심 영역 카메라인지 여부 중 적어도 하나에 기초하여 기본 영상을 선택할 수 있다.
일 예로, 카메라 인덱스가 가장 작은 시점 영상, 카메라 인덱스가 가장 큰 시점 영상, 기 정의된 값과 동일한 카메라 인덱스를 갖는 시점 영상, 우선순위가 가장 높은 카메라를 통해 촬영된 시점 영상, 우선 순위가 가장 낮은 카메라를 통해 촬영된 시점 영상, 기 정의된 위치(예컨대, 중심 위치)의 카메라를 통해 촬영된 시점 영상 또는 관심 영역 카메라를 통해 촬영된 시점 영상 중 적어도 하나가 기본 영상으로 결정될 수 있다.
또는, 시점 최적화부(110)는 시점 영상들의 품질에 기초하여, 기본 영상을 결정할 수 있다. 일 예로, 시점 영상들 중 품질이 가장 높은 시점 영상이 기본 영상으로 결정될 수 있다.
또는, 시점 최적화부(110)는 시점 영상들 간, 데이터 중복 정도를 검사한 뒤, 타 시점 영상들의 중복 데이터 비율을 고려하여, 기본 영상을 결정할 수 있다. 일 예로, 타 시점 영상들과의 중복 데이터 비율이 가장 높은 시점 영상 또는 타 시점 영상들과의 중복 데이터 비율이 가장 낮은 시점 영상을 기본 영상으로 결정할 수 있다.
복수개의 시점 영상들이 기본 영상으로 설정될 수도 있다.
아틀라스 생성부(120)는 프루닝을 수행하여 프루닝 마스크를 생성한다. 그리고, 프루닝 마스크를 이용하여 패치를 추출하고, 기본 영상 및/또는 추출된 패치를 결합하여 아틀라스를 생성한다. 시점 영상들을 복수의 그룹들로 분할된 경우, 각 그룹별 독립적으로 위 과정이 수행될 수 있다.
생성된 아틀라스는 텍스처 아틀라스 및 깊이 아틀라스로 구성될 수 있다. 텍스처 아틀라스는 기본 텍스처 영상 및/또는 텍스처 패치들이 결합된 영상을 나타내고, 깊이 아틀라스는 기본 깊이 영상 및/또는 깊이 패치들이 결합된 영상을 나타낸다.
아틀라스 생성부(120)는 프루닝부(Pruning unit, 122), 집합부(Aggreegation Unit, 124) 및 패치 패킹부(Patch Packing Unit, 126)을 포함할 수 있다.
프루닝부(122)는 프루닝 우선 순위에 기초하여, 추가 영상에 대한 프루닝을 수행한다. 구체적으로, 추가 영상보다 프루닝 우선 순위가 높은 참조 영상을 이용하여 추가 영상에 대한 프루닝을 수행할 수 있다.
참조 영상은, 기본 영상을 포함한다. 아울러, 추가 영상의 프루닝 우선 순위에 따라, 참조 영상은 다른 추가 영상을 더 포함할 수도 있다.
추가 영상을 참조 영상으로 이용할 수 있는지 여부를 선택적으로 결정할 수도 있다. 일 예로, 추가 영상을 참조 영상으로 이용하지 않도록 설정된 경우, 기본 영상만이 참조 영상으로 설정될 수 있다.
반면, 추가 영상이 참조 영상으로 이용 가능하도록 설정된 경우, 기본 영상 및 추가 영상보다 프루닝 우선 순위가 높은 다른 추가 영상이 참조 영상으로 설정될 수 있다.
프루닝 과정을 통해, 추가 영상과 참조 영상간의 중복 데이터가 제거될 수 있다. 구체적으로, 깊이 영상에 기반한 워핑(warping) 과정을 통해, 추가 영상에서 참조 영상과 중복된 데이터를 제거할 수 있다. 일 예로, 추가 영상 및 참조 영상 사이 깊이 값을 비교하고, 그 차분이 문턱값 이하인 경우, 해당 픽셀이 중복 데이터인 것으로 판단할 수 있다.
프루닝 수행 결과, 추가 영상 내 각 픽셀이 유효한지 또는 무효한지 여부의 정보를 포함하는 프루닝 마스크가 생성될 수 있다. 프루닝 마스크는 추가 영상 내 각 픽셀이 유효인지 또는 무효인지 여부를 나타내는 바이너리 영상일 수 있다. 일 예로, 프루닝 마스크에서, 참조 영상과 중복 데이터로 판별된 픽셀은 0의 값을 갖고, 참조 영상과 중복 데이터가 아닌 것으로 판별된 픽셀은 1의 값을 가질 수 있다.
중복되지 않는 영역은 사각형이 아닌 형태를 가질 수 있음에 반해, 패치는 사각 형태로 제한된다. 이에 따라, 패치는 유효(Valid) 영역뿐만 아니라, 무효(Invaild) 영역도 포함할 수 있다. 여기서, 유효 영역은, 추가 영상과 참조 영상 간 중복되지 않은 픽셀들로 구성된 영역을 의미한다. 즉, 유효 영역은 추가 영상에는 포함되나 참조 영상에는 포함되지 않는 데이터를 포함하는 영역을 나타낸다. 무효 영역은, 추가 영상과 참조 영상 간 중복되는 픽셀들로 구성된 영역을 의미한다. 유효 영역이 포함하는 픽셀/데이터를 유효 픽셀/유효 데이터라 호칭할 수 있고, 무효 영역이 포함하는 픽셀/데이터를 무효 픽셀/무효 데이터라 호칭할 수 있다.
집합부(124)는 프레임 단위로 생성된 프루닝 마스크를 인트라 기간(intra-period) 단위로 결합한다.
또한, 집합부(124)는 클러스터링 과정을 통해, 결합된 프루닝 마스크 영상으로부터 패치를 추출할 수 있다. 구체적으로, 결합된 프루닝 마스크 영상 내 유효 데이터를 포함하는 사각 형태의 영역을 패치로서 추출할 수 있다. 유효 영역의 형태와 관계없이, 사각 형태로 패치가 추출되는 바, 비사각 형태의 유효 영역으로부터 추출된 패치는 유효 데이터뿐만 아니라 무효 데이터도 포함될 수 있다.
이때, 집합부(124)는 부호화 효율을 저감시키는 L 모양 또는 C 모양의 패치를 재분할할 수 있다. 여기서, L 모양 패치는, 유효 영역의 분포가 L자 형태인 것을 나타내고, C 모양 패치는, 유효 영역의 분포가 C자 형태인 것을 나타낸다.
유효 영역의 분포가, L자 또는 C자인 경우, 패치 내 비유효 영역이 점유하는 영역이 상대적으로 크다. 이에 따라, L 모양 또는 C 모양 패치를 복수개의 패치들로 분할하여, 부호화 효율 향상을 꾀할 수 있다.
프루닝되지 않은 시점 영상에 대해서는, 시점 영상 전체가 하나의 패치로 취급될 수 있다. 구체적으로, 프루닝되지 않은 시점 영상을 소정의 투사 포맷으로 전개한 2D 영상 전체를 하나의 패치로 취급할 수 있다. 투사 포맷은, 비등장방형(ERP, Equirectangular Projection Format), 큐브맵(Cube-map) 또는 퍼스텍티브 투사 포맷(Perspective Projection Format) 중 적어도 하나를 포함할 수 있다.
여기서, 프루닝되지 않은 시점 영상은, 프루닝 우선 순위가 가장 높은 기본 영상을 의미한다. 또는, 기본 영상 및 참조 영상과 중복 데이터가 존재하지 않은 추가 영상을 프루닝되지 않은 시점 영상으로 정의할 수도 있다. 또는, 참조 영상과의 중복 데이터가 존재하는지 여부와 무관하게, 임의로 프루닝 대상에서 제외된 추가 영상도 프루닝되지 않은 시점 영상이라 정의될 수 있다. 즉, 참조 영상과 중복되는 데이터가 존재하는 추가 영상이라 하더라도, 프루닝되지 않은 시점 영상이라 정의될 수 있다.
패킹부(126)는, 패치를 사각 형태의 영상에 패킹한다. 패치 패킹 시, 패치의 크기 변환, 회전 또는 플립 등의 변형이 수반될 수 있다. 패치들이 패킹된 영상을 아틀라스라 정의할 수 있다.
구체적으로, 패킹부(126)는, 기본 텍스처 영상 및/또는 텍스처 패치들을 패킹하여 텍스처 아틀라스를 생성할 수 있고, 기본 깊이 영상 및/또는 깊이 패치들을 패킹하여 깊이 아틀라스를 생성할 수 있다.
기본 영상은, 기본 영상 전체가 하나의 패치로서 취급될 수 있다. 즉, 기본 영상이 그대로 아틀라스에 패킹될 수 있다. 영상 전체가 하나의 패치로 취급될 경우, 해당 패치를 완전 영상(Complete View) 또는 완전 패치라 호칭할 수도 있다.
아틀라스 생성부(120)가 생성하는 아틀라스의 개수는 카메라 리그의 배치 구조, 깊이 맵의 정확도 또는 시점 영상의 개수 중 적어도 하나에 기초하여 결정될 수 있다.
메타데이터 생성부(130)는 영상 합성을 위한 메타데이터를 생성한다. 메타데이터는 카메라 관련 데이터, 프루닝 관련 데이터, 아틀라스 관련 데이터 또는 패치 관련 데이터 중 적어도 하나를 포함할 수 있다.
프루닝 관련 데이터는, 시점 영상들 간 프루닝 우선 순위를 결정하기 위한 정보들을 포함한다. 일 예로, 시점 영상이 루트 노드인지 여부를 나타내는 플래그 또는 시점 영상이 리프 노드인지 여부를 나타내는 플래그 중 적어도 하나가 부호화될 수 있다. 루트 노드는 프루닝 우선 순위가 가장 높은 시점 영상(즉, 기본 영상)을 나타내고, 리프 노드는 프루닝 우선 순위가 가장 낮은 시점 영상을 나타낸다.
시점 영상이 루트 노드가 아닌 경우, 부모 노드 인덱스가 추가 부호화될 수 있다. 부모 노드 인덱스는, 부모 노드인 시점 영상의 영상 인덱스를 나타낼 수 있다.
또는, 시점 영상이 리프 노드가 아닌 경우, 자식 노드 인덱스가 추가 부호화될 수 있다. 자식 노드 인덱스는, 자식 노드인 시점 영상의 영상 인덱스를 나타낼 수 있다.
아틀라스 관련 데이터는, 아틀라스의 크기 정보, 아틀라스의 개수 정보, 아틀라스들 간 우선 순위 정보, 또는 아틀라스가 완전한 영상을 포함하는지 여부를 나타내는 플래그 중 적어도 하나를 포함할 수 있다. 아틀라스의 크기는, 텍스처 아틀라스의 크기 정보 및 깊이 아틀라스의 크기 정보 중 적어도 하나를 포함할 수 있다. 이때, 깊이 아틀라스의 크기가 텍스처 아틀라스의 크기와 동일한지 여부를 나타내는 플래그가 추가적으로 부호화될 수 있다. 깊이 아틀라스의 크기가 텍스처 아틀라스의 크기와 상이한 경우, 깊이 아틀라스의 축소 비율 정보(예컨대, 스케일링 관련 정보)가 추가 부호화될 수 있다. 아틀라스 관련 정보는, 비트스트림 내 "View parameters list" 항목에 포함될 수 있다.
일 예로, 깊이 아틀라스를 축소하는 것이 허용되는지 여부를 나타내는 신택스 geometry_scale_enabled_flag가 부호화/복호화될 수 있다. 신택스 geometry_scale_enabled_flag의 값이 0인 것은, 깊이 아틀라스를 축소하는 것이 허용되지 않음을 나타낸다. 이 경우, 깊이 아틀라스는 텍스처 아틀라스와 동일한 크기를 갖는다.
신택스 geometry_scale_enabled_flag의 값이 1인 것은, 깊이 아틀라스를 축소하는 것이 허용됨을 나타낸다. 이 경우, 깊이 아틀라스의 축소 비율을 결정하기 위한 정보가 추가 부호화/복호화될 수 있다. 일 예로, 깊이 아틀라스의 가로 방향 축소 비율을 나타내는 신택스 geometry_scaling_factor_x 및 깊이 아틀라스의 세로 방향 축소 비율을 나타내는 신택스 geometry_scaling_factor_y가 추가 부호화/복호화될 수 있다.
이머시브 영상 출력 장치에서는, 깊이 아틀라스의 축소 비율에 대한 정보를 복호화한 뒤, 축소된 깊이 아틀라스를 원래 크기로 복원할 수 있다.
패치 관련 데이터는, 아틀라스 영상 내 패치의 위치 및/또는 크기, 패치가 속하는 시점 영상 및 시점 영상 내 패치의 위치 및/또는 크기를 특정하기 위한 정보들을 포함한다. 일 예로, 아틀라스 영상 내 패치의 위치를 나타내는 위치 정보 또는 아틀라스 영상 내 패치의 크기를 나타내는 크기 정보 중 적어도 하나가 부호화될 수 있다. 또한, 패치가 유래된 시점 영상을 식별하기 위한 소스 인덱스가 부호화될 수 있다. 소스 인덱스는, 패치의 원 출처인 시점 영상의 인덱스를 나타낸다. 또한, 시점 영상 내 패치에 대응되는 위치를 나타내는 위치 정보 또는 시점 영상 내 패치에 대응되는 크기를 나타내는 위치 정보가 부호화될 수 있다. 패치 관련 정보는, 비트스트림 내 "Atlas data" 항목에 포함될 수 있다.
영상 인코더부(140)는 아틀라스를 인코딩한다. 시점 영상들이 복수개의 그룹들로 분류된 경우, 그룹 별로 아틀라스가 생성될 수 있다. 이에 따라, 영상 인코딩은, 그룹별 독립적으로 수행될 수 있다.
영상 인코더부(140)는 텍스처 아틀라스를 인코딩하는 텍스처 영상 인코더부(142) 및 깊이 아틀라스를 인코딩하는 뎁스 영상 인코더부(144)를 포함할 수 있다.
비트스트림 생성부(150)는 인코딩된 영상 데이터 및 메타데이터를 기초로 비트스트림을 생성한다. 생성된 비트스트림은 이머시브 영상 출력 장치로 전송될 수 있다.
도 2는 본 발명의 일 실시예에 따른 이머시브 영상 출력 장치의 블록도이다.
도 2를 참조하면, 본 발명에 따른 이머시브 영상 출력 장치는 비트스트림 파싱부(210), 영상 디코더부(220), 메타데이터 처리부(230) 및 영상 합성부(240)를 포함할 수 있다.
비트스트림 파싱부(210)는 비트스트림으로부터 영상 데이터 및 메타데이터를 파싱한다. 영상 데이터는 부호화된 아틀라스의 데이터를 포함할 수 있다. 임의 공간 접근 서비스가 지원되는 경우, 사용자의 시청 위치를 포함하는 부분 비트스트림만을 수신할 수도 있다.
영상 디코더부(220)는 파싱된 영상 데이터를 복호화한다. 영상 디코더부(220)는 텍스처 아틀라스를 디코딩하기 위한 텍스처 영상 디코더부(222) 및 깊이 아틀라스를 디코딩하기 위한 뎁스 영상 디코더부(224)를 포함할 수 있다.
메타데이터 처리부(230)는 파싱된 메타데이터를 언포맷팅한다.
언포맷팅된 메타데이터는 특정 시점의 영상을 합성하는데 이용될 수 있다. 일 예로, 이머시브 영상 출력 장치로, 사용자의 움직임 정보가 입력되면, 메타데이터 처리부(230)는 사용자의 움직임에 따른 뷰포트 영상을 재현하기 위해, 영상 합성에 필요한 아틀라스 및 영상 합성에 필요한 패치들, 및/또는 아틀라스 내 상기 패치들의 위치/크기 등을 결정할 수 있다.
영상 합성부(240)는 사용자의 움직임에 따른 뷰포트 영상을 동적으로 합성할 수 있다. 구체적으로, 영상 합성부(240)는 사용자의 움직임에 따라 메타데이터 처리부(230)에서 결정된 정보를 이용하여, 아틀라스로부터 뷰포트 영상을 합성하는데 필요한 패치들을 추출할 수 있다. 구체적으로, 뷰포트 영상을 합성하는데 필요한 시점 영상의 정보를 포함하는 아틀라스 및 상기 아틀라스 내 상기 시점 영상으로부터 추출된 패치들을 추출하고, 추출된 패치들을 합성하여, 뷰포트 영상을 생성할 수 있다.
도 3 및 도 5는 각각 이머시브 영상 처리 방법 및 이머시브 영상 출력 방법의 흐름도를 도시한 것이다.
이하의 흐름도들 상에서, 이탤릭체 또는 밑줄을 그어 표기된 것은, 각 단계의 수행을 위한 입력 또는 출력 데이터를 나타낸다. 또한, 이하의 흐름도들 상에서, 화살표는, 각 단계들의 처리 순서를 나타낸다. 이때, 화살표가 이어지지 않는 단계들은, 해당 단계들간의 시간적 선후가 결정되어 있지 않음을 의미하거나, 해당 단계들이 병렬 처리 될수 있음을 나타낸다. 또한, 이하의 흐름도들에 도시된 것과 상이한 순서로 이머시브 영상을 처리 또는 출력하는 것 역시 가능하다.
이머시브 영상 처리 장치는, 복수의 입력 영상, 카레라 내부 변수 및 카메라 외부 변수 중 적어도 하나를 입력받고, 입력된 데이터를 통해, 깊이맵 품질을 평가할 수 있다(S301). 여기서, 입력 영상은, 한 쌍의 텍스처 영상(Attribute component) 및 깊이 영상(Geometry component)으로 구성될 수 있다.
이머시브 영상 처리 장치는 복수 카메라의 위치 근접성을 기초로, 입력 영상들을 복수 그룹들로 분류할 수 있다(S302). 입력 영상들을 복수의 그룹들로 분류함으로써, 깊이값이 상대적으로 일관된(coherent), 인접 카메라들간 독립적으로 프루닝 및 인코딩이 수행되도록 할 수 있다. 또한, 위 과정을 통해, 사용자가 시청 중인 영역의 정보만을 이용하여 렌더링이 수행되는 임의 공간 접근 (Spatial Random Access) 서비스가 가능하게 될 수 있다.
다만, 상술한 S301 및 S302 단계들은, 선택적인 절차일 뿐이고, 본 과정이 반드시 수행되어야 하는 것은 아니다.
입력 영상들이 복수개의 그룹들로 분류된 경우, 후술될 절차들이, 그룹마다 독립적으로 수행될 수 있다.
이머시브 영상 처리 장치는 시점 영상들의 프루닝 우선 순위를 결정할 수 있다(S303). 구체적으로, 시점 영상들을 기본 영상 및 추가 영상으로 분류하고, 추가 영상들 간 프루닝 우선 순위를 설정할 수 있다.
이후, 프루닝 우선 순위에 기초하여, 아틀라스를 생성하고, 생성된 아틀라스를 부호화할 수 있다(S304). 아틀라스들의 부호화 과정은 도 4에 상세히 도시되었다.
구체적으로, 프루닝 파라미터(예컨대, 프루닝 우선 순위 등)를 결정하고(S311), 결정된 프루닝 파라미터에 기초하여, 시점 영상들에 대해 프루닝을 수행할 수 있다(S312). 프루닝 수행 결과, 우선 순위가 가장 높은 기본 영상은 원본 그대로 유지된다. 반면, 추가 영상에 대한 프루닝을 통해, 추가 영상과 참조 영상 간 중복 데이터가 제거된다. 깊이 영상에 기반한 워핑 과정을 통해, 추가 영상과 참조 영상 간 중복 데이터가 제거될 수 있다.
프루닝 수행 결과로 프루닝 마스크가 생성될 수 있다. 프루닝 마스크가 생성되면, 인트라 기간 단위로, 프루닝 마스크를 결합한다(S313). 그리고, 결합된 프루닝 마스크를 이용하여, 텍스처 영상 및 깊이 영상으로부터 패치를 추출할 수 있다(S314). 구체적으로, 결합된 프루닝 마스크를 텍스처 영상들 및 깊이 영상들에 마스킹하여, 패치를 추출할 수 있다.
이때, 프루닝되지 않은 시점 영상(예컨대, 기본 영상)은, 시점 영상 전체가 하나의 패치로 취급될 수 있다.
이후, 추출된 패치들을 패킹하고(S315), 아틀라스를 생성할 수 있다(S316). 구체적으로, 텍스처 아틀라스 및 깊이 아틀라스를 생성할 수 있다.
또한, 이머시브 영상 처리 장치는, 깊이 아틀라스를 기반으로, 픽셀의 유무효를 판단하기 위한 문턱값을 결정할 수 있다(S317). 일 예로, 아틀라스 내 값이 문턱값보다 작은 픽셀은 무효 픽셀에 해당하고, 값이 문턱값 이상인 픽셀은 유효 픽셀에 해당할 수 있다. 문턱값은, 영상 단위로 결정될 수도 있고, 패치 단위로 결정될 수도 있다.
데이터량 저감을 위해, 깊이 아틀라스의 크기를 특정 비율만큼 축소할 수 있다(S318). 깊이 아틀라스의 크기가 축소된 경우, 깊이 아틀라스의 축소 비율에 관한 정보(예컨대, 스케일링 팩터(scaling factor))가 부호화될 수 있다. 이머시브 영상 출력 장치에서는, 텍스처 아틀라스의 크기 및 스케일링 팩터를 통해 축소된 깊이 아틀라스를 원래 크기로 복원할 수 있다.
아틀라스 부호화과정에서 생성된 메타데이터(예컨대, 파라미터 세트, 시점 파라미터 리스트 또는 아틀라스 데이터 등)와 SEI(Supplemental Enhancement Information)와 결합한다(S305). 또한, 텍스처 아틀라스 및 깊이 아틀라스 각각을 부호화하여, 서브 비트스트림을 생성할 수 있다(S306). 그리고, 부호화된 메타데이터 및 부호화된 아틀라스를 다중화하여, 단일의 비트스트림을 생성할 수 있다(S307).
이머시브 영상 출력 장치는 이머시브 영상 처리 장치로부터 수신한 비트스트림을 역 다중화한다(S501). 이 결과, 비디오 데이터, 즉, 아틀라스 데이터 및 메타데이터가 각각 추출될 수 있다(S502, S503).
이머시브 영상 출력 장치는 파싱된 비디오 데이터를 기초로, 아틀라스를 복원할 수 있다(S504). 이때, 깊이 아틀라스가 특정 비율 축소된 경우, 메타데이터로부터 관련 정보를 획득하여, 깊이 아틀라스를 원래 크기로 스케일링할 수 있다(S505).
사용자의 움직임이 발생하면, 메타데이터에 기초하여, 사용자의 움직임에 따른 뷰포트 영상 합성을 위해 요구되는 아틀라스를 결정하고, 상기 아틀라스에 포함된 패치들을 추출할 수 있다. 뷰포트 영상을 생성 및 렌더링할 수 있다(S506). 이때, 생성된 패치들을 합성하기 위해, 각 패치의 크기/위치 정보 및 카메라 파라미터 등이 이용될 수 있다.
상술한 설명에 기초하여, 본 발명에서 제안하는 영상 처리 방법에 대해 더욱 상세히 살펴보기로 한다.
카메라와 물체 사이의 거리(m)에 역수를 취하여 유도된 값을 정규화하고, 정규화된 시차값들을 깊이값과 매핑할 수 있다. 구체적으로, 상기 거리에 역수를 취한 것을, 미터법 단위(1/m)로 표현되는 시차로 정의할 수 있다. 정규화된 시차를 깊이 영상 내 픽셀이 표현할 수 있는 픽셀 범위 중 하나의 값(예컨대, 깊이값)으로 표현할 수 있다. 이때, 픽셀 범위 중 최대값에 매핑되는 정규화된 시차값을 정규화된 최대 시차값이라 정의할 수 있고, 픽셀 범위 중 최소값에 매핑되는 정규화된 시차값을 정규화된 최소 시차값이라 정의할 수 있다. 일 예로, N비트 영상 하에서, 픽셀 값 (2N-1)에 매핑되는 정규화된 시차값을 정규화된 최대 시차값으로 정의하고, 픽셀 값 0에 매핑되는 정규화된 시차값을 정규화된 최소 시차값으로 정의할 수 있다.
수학식 1은, 미터법(1/m) 단위의 정규화된 시차값을 이용하여 깊이 영상 내 각 픽셀 값으로 변환하는 예를 나타낸다.
수학식 1에서, SampleValue는, 깊이 아틀라스 내 픽셀값(즉, 깊이값)을 나타내고, NormDisparity는 미터법 단위(1/m)의 정규화된 시차값을 나타낸다. NormDispMin는 정규화된 최소 시차값을 나타내고, NormDispMax는 정규화된 최대 시차값을 나타낸다. MaxSmapleValue는, 하나의 픽셀로 표현할 수 있는 최대 픽셀 범위를 나타낸다. 일 예로, N 비트 영상에 대해, MaxSampleValue는, (2N - 1)로 설정될 수 있다.
깊이 아틀라스 부호화/복호화 효율을 높이기 위해, M 비트의 깊이 아틀라스를 N 비트로 압축하여 부호화할 수 있다. 여기서, M은 N보다 큰 자연수를 나타낸다. 일 예로, 16비트의 깊이 아틀라스를 10비트의 아틀라스로 부호화할 수 있다. 이에 따라, 원래의 깊이 아틀라스에서 하나의 픽셀이 표현할 수 있는 값들의 범위는 0 부터 65535 사이이나, 인코딩/디코딩된 깊이 아틀라스에서 하나의 픽셀이 표현할 수 있는 값들의 범위는 0 부터 1023 사이일 수 있다.
또한, 깊이 아틀라스 부호화/복호화 효율을 높이기 위해, 깊이 범위를 변경하는 스케일링(scaling)(혹은, 양자화(quantization))을 수행할 수도 있다. 여기서, 깊이 범위는, 특정 시간 내 깊이 아틀라스 내 각 픽셀들의 실제 값들 중 최대값과 최소값 사이로 정의될 수 있다. 상기 스케일링을 통해, 깊이 아틀라스 내 각 픽셀들의 값을, 제한된 범위 내의 값들로 조절할 수 있다.
도 6은 깊이 아틀라스 내 픽셀 값들의 분포를 나타낸 것이다.
10비트 영상에서, 정규화된 시차값들은, 도 6의 (a)에 도시된 예에서와 같이, 0부터 1023 사이의 값으로 표현 가능하다. 즉, 10비트 영상에서, 깊이 아틀라스 각 픽셀들은 0부터 1023 사이의 값을 가질 수 있다. 이에 따라, 깊이 범위는, 0 부터 1023 사이의 구간으로 정의될 수 있다. 예컨대, 실제 깊이값들 중 최소값이 12 이고, 최대값이 956인 경우, 깊이 범위는 12 부터 956으로 정의될 수 있다.
깊이 아틀라스 생성시, 스케일링을 수행함으로써, 정규화된 시차값들을 64 부터 511 사이의 범위 내로 조절할 수 있다. 즉, 스케일링을 통해, 깊이 범위가 12 내지 956에서, 64 내지 511으로 조절될 수 있다.
위와 같이, 스케일링이 수행됨에 따라, 깊이 아틀라스의 깊이 범위가 변경된다. 이에 따라, 깊이 범위, 즉, 깊이 아틀라스 내, 실제 픽셀값들의 분포 범위를 동적 기하 범위(dynamic geometry range)라 호칭할 수도 있다.
변경 전 동적 기하 범위(즉, 원본 깊이 아틀라스 내 깊이값들의 범위)를, 원래 깊이 범위(original depth range)라 호칭할 수 있다. 일 예로, 원래 깊이 아틀라스가 16비트인 경우, 원래 깊이 범위는 0 부터 65535 사이의 구간으로 설정될 수 있다.
변경 후 동적 기하 범위(즉, 인코딩된 깊이 아틀라스 내 깊이값들의 범위)를, 스케일된 깊이 범위(scaled depth range)라 호칭할 수 있다. 일 예로, 도 6의 (b)에서, 스케일된 깊이 범위는 64 부터 511 일 수 있다.
동적 기하 범위는 컨텐트 제작자에 의해 의도적으로 시간에 따라 조절될 수도 있다.
동적 기하 범위를 축소하는 스케일링을 스케일링 축소라 정의하고, 동적 기하 범위를 확대하는 스케일링을 스케일링 확대라 정의할 수 있다.
깊이 아틀라스의 기하 범위 스케일링(geometry range scaling) 축소를 통해, 렌더링 품질(rendering quality)를 저하시키지 않은 채, 총 비트레이트를 감소시킬 수 있다. 이와 같은 접근은, 비교적 정확도가 좋지 않은 깊이 맵이 형성되는 자연 영상(natural content, 예컨대, 실사 컨텐트)에 특히 유용할 수 있다. 반대로 깊이 아틀라스의 기하 범위 스케일링 확대를 통해 렌더링 품질을 향상시킬 수 있다. 예컨대, 비교적 깊이맵 정확도가 우수한 컴퓨터 그래픽 기반 컨텐트에 대해, 기하 범위 스케일링 확대를 수행하는 경우, 픽셀당 표현할 수 있는 깊이값의 정확도가 높아져, 영상 합성 시 렌더링 품질을 향상시킬 수 있다.
깊이 아틀라스 내 스케일된 깊이 범위의 최소값(예컨대, 64)보다 작은 값들은, 아틀라스 내 패치의 점유(occupancy) 상태를 나타내는데 이용될 수 있다. 일 예로, 도 6의 (b)의 예에서, 깊이 아틀라스 내 64보다 작은 값을 갖는 픽셀은 무효 픽셀을 나타내는 것일 수 있다. 무효 픽셀은, 영상 합성에 이용되지 않는 픽셀을 나타낸다.
깊이 아틀라스 내 깊이값들은 선형적으로 스케일링될 수 있다. 즉, 선형 변환을 통해, 정규화된 시차값들을 변경된 깊이 범위(즉, 64 부터 511) 이내의 값들로 변경할 수 있다.
이때, 스케일된 범위의 최대값(예컨대, 511) 보다 큰 값은 이용되지 않는다. 즉, 깊이 아틀라스에서는, 512 내지 1023 사이의 값을 갖는 픽셀이 존재하지 않는다. 이처럼, 하나의 픽셀이 표현 가능한 깊이값의 범위가 줄어드는 바, 깊이 아틀라스를 부호화/복호화하는데 요구되는 비트레이트가 감소될 수 있다.
스케일링을 통해 깊이 아틀라스가 생성된 경우, 디코더 측에서는 복호화된 깊이 아틀라스에 대해 재스케일링(rescaling)(혹은, 역 스케일링(inverse-scaling), 또는 역양자화(inverse-quantization))을 수행할 수 있다. 재스케일링을 통해, 깊이 아틀라스 내 픽셀값들로부터, 정규화된 시차값을 획득할 수 있다. 그리고, 획득된 정규화된 시차값을 기초로, 3D 공간 상 해당 샘플의 플로팅(floating) 위치를 결정할 수 있다.
디코더에서, 재스케일링을 수행하기 위해, 깊이 아틀라스의 깊이 파라미터 정보가 비트스트림에 부호화될 수 있다. 일 예로, 깊이 파라미터 정보는, 최소값 정보 및/또는 최대값 정보를 포함할 수 있다. 여기서, 최소값 정보는, 변경 전 동적 기하 범위의 최소값 (즉, 원래 깊이 범위의 최소값) 또는 소정 시간 이내 정규화된 최소 시차값을 나타낼 수 있다. 최대값 정보는, 변경 전 동적 기하 범위의 최대값 (즉, 원래 깊이 범위의 최대값) 또는 소정 시간 이내 정규화된 최대 시차값을 나타낼 수 있다.
시간에 따라, 동적 기하 범위가 변경되는 경우, 소정 시간 단위로, 깊이 파라미터 정보를 업데이트할 수 있다. 여기서, 소정 시간 단위는 인트라 주기(period)일 수 있다. 즉, 깊이 아틀라스의 스케일링 인자가 업데이트된 경우, 최소값 정보 및/또는 최대값 정보가 다시 부호화될 수 있다. 복호화기에서는, 인트라 주기(period) 단위로, 최소값 정보 및/또는 최대값 정보를 업데이트할 수 있다.
깊이 파라미터 정보는, 변경 후 동적 기하 범위(즉, 스케일된 깊이 범위)의 최소값 또는 변경 후 동적 기하 범위의 최대값 중 적어도 하나를 더 포함할 수도 있다.
상기 깊이 파라미터 정보들은, 아틀라스 타일 헤더 구조에 추가될 수 있다.
도 7은 스케일링 관련 정보를 포함하는 신택스 구조를 예시한 것이다.
도 7에서, 플래그 ath_depth_range_change_flag는, 깊이 아틀라스에 대해 스케일링이 수행되었는지 여부를 나타낸다. 플래그 ath_depth_range_change_flag의 값이 1인 경우, 변경 전 동적 기하 범위(즉, 원래 깊이 범위)의 최소값을 나타내는 신택스 ath_original_depth_range_start 및 변경 전 동적 기하 범위(즉, 원래 깊이 범위)의 최대값을 나타내는 신택스 ath_original_depth_range_end가 추가 부호화/복호화될 수 있다. 신택스 ath_original_depth_range_start는, 일정 시간 동안 부호화를 위해 입력되는 정규화된 시차값들 중 최소값에 매핑되는 깊이값(즉, 픽셀 값)을 나타내고, 신택스 ath_original_depth_range_end는, 일정시간 동안 부호화를 위해 입력되는 정규화된 시차값들 중 최대값에 매핑되는 깊이값(즉, 픽셀 값)을 나타낸다.
도 7의 예에서는, 원래 깊이 범위의 최소값을 나타내는 신택스 ath_original_depth_range_start 및 원래 깊이 범위의 최대값을 나타내는 신택스 ath_original_depth_range_end가 부호화되어 시그날되는 것으로 예시되었다. 도시된 예에서와 같이, 깊이값들 중 최소값 및 최대값을 부호화하는 대신, 정규화된 최소 시차값 및/또는 정규화된 최대 시차값을 부호화하여 시그날링할 수도 있다. 일 예로, 신택스 ath_original_depth_range_start 대신, 정규화된 최소 시차값을 나타내는 신택스 dq_norm_disp_low가 부호화되고, 신택스 ath_original_depth_range_end 대신, 정규화 최대 시차값을 나타내는 신택스 dq_norm_disp_high가 부호화될 수 있다.
깊이 아틀라스에 대해, 변경 후 동적 기하 범위(즉, 스케일된 깊이 범위)의 최소값을 나타내는 신택스 또는 변경 후 동적 기하 범위의 최대값을 나타내는 신택스가 추가 부호화되어 시그날링될 수도 있다.
도 7에 도시된 예에서와 같이, 아틀라스 타일 헤더를 통해 깊이 파라미터 정보를 부호화/복호화할 수 있다.다른 예로, 시퀀스 파라미터 또는 적응적 파라미터로서 깊이 파라미터 정보를 부호화/복호화할 수도 있다. 일 예로, 상기 깊이 파라미터 정보는, 아틀라스 시퀀스에 대한 파라미터들을 나타내는 Atlas sequence parameter set MIV extensions 구조에 포함되거나, 아틀라스의 적응적 파라미터들을 나타내는 Atlas adaptation parameter set MIV extension 구조에 포함될 수 있다. 이 경우, 해당 시퀀스 파라미터 세트 또는 해당 적응적 파라미터 세트를 참조하는 깊이 아틀라스들이 동일한 깊이 파라미터를 사용할 수 있다.
또는, 깊이값의 신뢰도를 나타내는 1비트의 플래그 vme_depth_low_quality_flag에 기초하여, 깊이 아틀라스가 스케일링되었는지 여부를 시그날링할 수도 있다. 일 예로, 상기 플래그의 값이 1인 것은, 스케일링 없이 깊이 아틀라스가 부호화되었음을 나타내고, 상기 플래그의 값이 0인 것은, 스케일링을 통해 깊이 아틀라스가 부호화되었음을 나타낸다.
다른 예로, 픽처 그룹 단위로, 깊이 파라미터 정보를 시그날링한 뒤, 깊이 아틀라스 각각에 대해, 깊이 파라미터를 재정의할 것인지 여부를 결정할 수도 있다.
일 예로, 시퀀스 파라미터 세트를 통해, 깊이 파라미터 정보이 시그날링될 수 있다. 그리고, 각각의 깊이 아틀라스 별로, 1비트의 플래그를 시그날링할 수 있다. 상기 플래그가 제1 값을 갖는 경우, 해당 깊이 아틀라스의 재스케일링에, 시퀀스 레벨에서 결정된 깊이 파라미터가 사용될 수 있다. 반면, 상기 플래그가 제2 값인 경우, 해당 깊이 아틀라스에 대해 깊이 파라미터가 재정의됨을 나타낸다. 플래그가 제2 값을 갖는 경우, 해당 깊이 아틀라스에 대해 깊이 파라미터 정보가 추가 시그날링될 수 있다. 구체적으로, 해당 깊이 아틀라스에 대해, 원래 범위의 최소값 또는 원래 범위의 최대값 중 적어도 하나에 관한 정보가 추가 시그날링될 수 있다. 상기 추가 시그날링되는 정보에 의해, 해당 깊이 아틀라스를 위한 깊이 파라미터가 재정의될 수 있다.
스케일된 깊이 범위가 64부터 511 사이로 정의된 경우, 부호화기에서는, 다음의 표 1과 같이, 원래 깊이값을 스케일링하여 스케일된 픽셀 값을 획득할 수 있다.
if (ath_depth_range_change_flag) { for (int h = 0; h < depth.height(); h++) { for (int w = 0; w < depth.width(); w++) { if (depth(h, w) > 0) { depth(h, w) = (depth(h, w) + 0.5 - ath_original_depth_start) / (ath_original_depth_range_end - ath_original_depth_start) * (511 - 64) + 64; |
표 1에서, depth.height는, 깊이 아틀라스의 높이를 나타내고, depth.width는, 깊이 아틀라스의 너비를 나타낸다. h 및 w는 각각 픽셀의 y축 좌표 및 x축 좌표를 나타낸다. (h, w) 위치의 스케일된 깊이값 depth(h, w)는, (h, w) 위치의 깊이값 depth(h, w)과, 원래 깊이 범위의 최소값 ath_original_depth_start 및 원래 깊이 범위의 최대값 ath_original_depth_end을 기초로 유도될 수 있다. (h, w) 위치의 정규화된 시차값이 0보다 큰 경우, 표 1에 예시된 수학식에 따라, 픽셀값이 획득될 수 있다.
복호화기에서는, 깊이 아틀라스를 복호화한 뒤, 픽셀값을 재스케일링하여, 스케일된 깊이 범위를 갖는 깊이 아틀라스를 원래 깊이 범위를 갖는 깊이 아틀라스로 변환할 수 있다.
구체적으로, 복호화기에서는, 다음의 표 2와 같이, 스케일된 픽셀값을 재스케일링하여 원래 깊이 범위에 분포하는 픽셀값을 획득할 수 있다.
if (ath_depth_range_change_flag)) { for (int h = 0; h < depth.height(); h++) { for (int w = 0; w < depth.width(); w++) { if (depth(h, w) > expandedMin) { depth(h, w) = (depth(h, w) + 0.5 - 64) / (511 - 64) * (ath_original_depth_range_end - ath_original_depth_start) + ath_original_depth_start; } |
표 2에서, expandedMin는 스케일된 깊이 범위의 최소값(즉, 64)를 나타낸다. (h, w) 위치의 픽셀값(즉, 깊이값)이 expandedMin 이상인 경우, 표 2에 예시된 수학식에 따라, 해당 픽셀 값이 재스케일링될 수 있다. 구체적으로, (h, w) 위치의 재스케일링된 깊이값 depth(h, w)는, (h, w) 위치의 스케일된 픽셀값 depth(h, w)과, 원래 깊이 범위의 최소값 ath_original_depth_start 및 원래 깊이 범위의 최대값 ath_original_depth_end을 기초로 유도될 수 있다.
도 8은 깊이값을 조절하여 스케일링 및 재스케일링이 수행되는 예를 나타낸 것이다.
설명의 편의를 위해, 원래 깊이 아틀라스는 16비트이고, 인코딩/디코딩되는 깊이 아틀라스는 10비트인 것으로 가정한다.
변수 normDispHighOrig는, 깊이 아틀라스 내 하나의 픽셀이 표현 가능한 범위 중 최대값에 매핑되는 정규화된 최대 시차값을 나타내고, 변수 normDispLowOrig는, 깊이 아틀라스 내 하나의 픽셀이 표현 가능한 범위 중 최소값에 매핑되는 정규화된 최소 시차값을 나타낸다.
각 픽셀에 대응하는 정규화된 시차 값들을 깊이값들로 변환하여, 각 픽셀의 값을 유도할 수 있다. 그리고, 원래 깊이 아트라스 내 픽셀값들 중 최대값을 나타내는 정보가 신택스 ath_original_depth_range_end로 부호화되어 시그날링되고, 원래 깊이 아틀라스 내 픽셀값들 중 최소값을 나타내는 정보가 신택스 ath_original_depth_start로 부호화되어 시그날링될 수 있다.
인코딩/디코딩을 위해, 원래 깊이 범위가 스케일된 깊이 범위로 변경될 수 있다. 일 예로, 도 7에서, 스케일된 깊이 범위는 64 에서 511로 설정되는 것으로 예시되었다. 여기서, 변수 expandedMin은, 스케일된 깊이 범위의 최소값을 나타낸다.
스케일된 깊이 범위는 부호화기 및 복호화기에서 기 정의되어 있을 수 있다. 또는, 스케일된 깊이 범위를 나타내는 정보가 추가로 부호화/복호화될 수도 있다.
복호화기에서 깊이 아틀라스를 복호화하면, 스케일된 깊이 범위 내의 픽셀 값들을 원래 깊이 범위 내의 값으로 복원할 수 있다. 예컨대, 스케일된 깊이 범위 내 최대값(즉, 511)은, 신택스 ath_original_depth_range_end가 가리키는 값으로 변환되는 한편, 스케일된 깊이 범위 내 최소값(즉, 64)은, 신택스 ath_original_depth_start가 가리키는 값으로 변환될 수 있다.
한편, 깊이값이 expandedMin 보다 작은 픽셀은 무효 픽셀로 판정될 수 있다. 이 경우, 해당 픽셀에 대해서는 재스케일링이 수행되지 않는다.
다른 예로, 아틀라스 내 각 픽셀의 점유 상태를 판단하기 위한 문턱값을 나타내는 정보가 별도로 시그날링될 수도 있다. 일 예로, 시점(view)별 또는 패치별, 문턱값을 나타내는 정보가 시그날링될 수 있다. 이 경우, 표 2의 expandedMin은, 상기 문턱값을 나타낼 수 있다.
정규화된 최대 시차값과 정규화된 최소 시차값을 조절하여, 스케일링을 수행할 수도 있다.
도 9 및 도 10은 정규화된 최대 시차값과 정규화된 최소 시차값을 조절하여 스케일링 및 재스케일링이 수행되는 예를 나타낸 것이다.
도 9는 동적 기하 범위가 스케일링 축소되는 예를 나타낸 것이고, 도 10은 동적 기하 범위가 스케일링 확대되는 예를 나타낸 것이다.
특정 주기 동안 정규화된 시차값에 매핑되는 깊이값들의 분포가 ath_original_depth_start 및 ath_original_range_end 사이인 경우, 수식을 통해 정규화된 시차값들에 매핑되는 깊이 범위를 줄일 수 있다. 일 예로, 픽셀이 표현할 수 있는 픽셀값의 최대값의 1/2로 깊이 범위를 축소하기로 결정된 경우, ath_original_range_end에 해당하는 정규화된 시차값을, floor(2^N/2)에 매핑되도록 조절할 수 있다. 여기서, N은 영상의 비트 뎁스를 나타낸다. 예컨대, 도 9의 예에서와 같이, 16비트 영상인 경우, ath_original_range_end 값이 floor(65535/2)로 변경될 수 있다.
정규화된 시차값에 매핑되는 깊이값을 1/2로 조절함에 따라, 픽셀이 표현할 수 있는 최대값(즉, 2N-1)에 매핑되는 정규화된 최대 시차값 및 픽셀이 표현할 수 있는 최소값에 매핑되는 정규화된 최소 시차값도 함께 조절될 수 있다. 이에, 수학식 1에 의해 정규화된 최대 시차값을 16비트 영상에서 표현할 수 있는 최대값인 65535에 해당하는 값으로 재조정하고, 정규화된 최소 시차값은 16비트 영상에서 표현할 수 있는 최소값인 0에 해당하는 값으로 재조정할 수 있다. 재조정된 정규화된 최대 시차값을 신택스 dq_norm_disp_high로 부호화하여 시그날링하고, 재조정된 정규화된 최소 시차값을 신택스 dq_norm_disp_low로 부호화하여 시그날링할 수 있다.
이후, 인코딩을 위해, 16비트의 깊이 아틀라스를 10비트로 압축할 수 있다. 이때, 재조정된 정규화된 최대 시차값(즉, dq_norm_disp_high에 의해 지시되는 값)을 비디오 인코딩을 위해 10비트가 표현할 수 있는 1023으로 재매핑하고, 재조정된 정규화된 최소 시차값(즉, dq_norm_disp_low에 의해 지시되는 값)을 0으로 재매핑할 수 있다.
결과적으로, 정규화된 최대 시차값 및 정규화된 최소 시차값을 재조절하여, 동적 기하 범위가 축소될 수 있다. 동적 깊이 범위가 축소된 깊이 아틀라스가 부호화되어 디코더에 전송될 수 있다. 비디오 인코더 및 디코더 입장에서 보면 10비트가 표현할 수 있는 0~1023 범위에서 축소된 범위(0~Floor(1023/2))만 사용하므로 부호화 효율이 향상될 수 있다. 또한 디코더의 깊이 범위는 축소된 상태지만, 정규화된 최대 시차값 및 정규화된 최소 시차값이 재조절됨에 따라(즉, normDispHighOrig->dq_norm_disp_high, normDispLowOrig->dq_norm_disp_low), 디코딩된 픽셀값들에 대응하는 정규화된 시차값들의 분포는 원래의 정규화된 최대 시차값(normDispHighOrig) 및 원래의 정규화된 최소 시차값(normDispLowOrig) 범위 이내로 유지될 수 있다.
도 10은 정규화된 최대 시차값 및 정규화된 최소 시차값을 조정하여 깊이 범위를 스케일링 확대하는 예를 나타낸 것이다.
특정 주기 동안 정규화된 시차값에 매핑되는 깊이값들의 분포가 ath_original_depth_start 및 ath_original_range_end인 경우, 수식을 해당 깊이 분포를 확대할 수 있다. 일 예로, 하나의 픽셀이 표현할 수 있는 최대값(즉, (2N-1))로 확대하고자 하는 경우, ath_original_range_end에 해당하는 깊이값을 (2N-1)로 조절할 수 있다. 일 예로, 16비트 영상인 경우, ath_original_range_end에 해당하는 깊이값을 65535으로 조정할 수 있다.
정규화된 시차값에 매핑되는 깊이값을 최대값으로 조절함에 따라, 픽셀이 표현할 수 있는 최대값(즉, 2N-1)에 매핑되는 정규화된 최대 시차값 및 픽셀이 표현할 수 있는 최소값에 매핑되는 정규화된 최소 시차값도 함께 조절될 수 있다. 이에, 수학식 1에 의해 정규화된 최대 시차값을 16비트가 표현할 수 있는 65536에 해당하는 값(dq_norm_disp_high)으로 재조정하고, 정규화된 최소 시차값은 16비트 영상에서 표현할 수 있는 최소값인 0에 해당하는 값으로 재조정할 수 있다. 즉, 본 예에서는, ath_original_depth_range_end에 해당하는 정규화된 시차값이, 정규화된 최대 시차값으로 조절되고, ath_original_depth_range_start에 해당하는 정규화된 시차값이, 정규화된 최소 시차값으로 조절될 수 있다. 재조정된 정규화된 최대 시차값을 신택스 dq_norm_disp_high로 부호화하여 시그날링하고, 재조정된 정규화된 최소 시차값을 신택스 dq_norm_disp_low로 부호화하여 시그날링할 수 있다.
이후, 인코딩을 위해, 16비트의 깊이 아틀라스를 10비트로 압축할 수 있다. 이때, 재조정된 정규화된 최대 시차값(즉, dq_norm_disp_high에 의해 지시되는 값)을 비디오 인코딩을 위해 10비트가 표현할 수 있는 1023으로 재매핑하고, 재조정된 정규화된 최소 시차값(즉, dq_norm_disp_low에 의해 지시되는 값)을 0으로 재매핑할 수 있다.
결과적으로, 정규화된 최대 시차값 및 정규화된 최소 시차값을 재조절하여, 동적 기하 범위가 확대될 수 있다. 동적 기하 범위가 확대된 깊이 아틀라스가 부호화되어 디코더에 전송될 수 있다. 또한 디코더의 깊이 아틀라스의 픽셀 분포는 10비트가 표현할 수 있는 0~1023 범위로 확대되었으므로 비트량은 다소 증가하지만, 부복호화에 의해 깊이 품질 열화가 축소될 수 있다. 이를 통해 정교한 깊이값을 요구하는 컴퓨터 그래픽 콘텐츠에서 좀 더 좋은 품질의 렌더링이 가능하게 할 수 있다.
결과적으로 정규화된 최대 시차값 및 정규화된 최소 시차값의 조정에 의해, 원본 깊이 영상의 실제 정규화된 시차값의 분포는 변화 없이, 부복호화되는 깊이 영상의 픽셀값의 범위만을 조정함으로써 부호화 효율 혹은 깊이 정확도를 콘텐츠의 시간에 따른 특성에 따라 조절할 수 있다.
도 11 및 도 12는 본 발명에서 제안하는 깊이 아틀라스 스케일링 기법의 적용 여부에 따른 차이를 나타낸 것이다.
도 11의 (a) 및 도 12의 (a)는, 깊이 아틀라스에 스케일링이 적용되지 않은 경우의 예시이고, 도 11의 (b) 및 도 12의 (b)는, 깊이 아틀라스에 스케일링이 적용된 경우의 예시이다.
도 13 및 도 14는 깊이 아틀라스 스케일링이 적용되었을 때, 컨텐트별 BD-rate의 변화를 나타낸다.
도 13의 실험 결과는, 스케일된 깊이 범위를 64 부터 511로 정의한 상태로 도출된 것이고, 도 14의 실험 결과는, 스케일된 깊이 범위를 64 부터 1023으로 정의한 상태로 도출된 것이다.
스케일된 깊이 범위가 64 부터 511로 정의된 경우, 도 13의 예에서와 같이, 깊이 영상의 스케일링을 통해, 모든 자연 영상에 대한 비트레이트가 감소하는 것을 확인할 수 있다.
다만, 스케일된 깊이 범위가 64 부터 511인 경우, 컴퓨터 그래픽 기반 컨텐트에서는, 렌더링 품질의 저하가 확인되었다. 이는, 컴퓨터 그래픽 기반 컨텐트는 상대적으로 동적 기하 범위가 넓은데, 위와 같은 컴퓨터 그래픽 기반 컨텐트에 스케일링을 적용할 경우, 유효한 깊이 정보가 손상되기 때문이다.
위 문제점 해소를 위해, 스케일된 깊이 범위를 64 에서 1023으로 확장하여 실험을 진행하였고, 도 14는 위 실험의 결과를 나타낸다.
도 14에 도시된 예에서와 같이, 스케일된 깊이 범위를 확장할 경우, 컴퓨터 그래픽 기반 컨텐트에서의 렌더링 품질 저하를 해소할 수 있다.
위 실험 결과를 바탕으로, 컨텐트의 종류에 따라, 스케일된 깊이 범위를 적응적으로 결정할 것을 고려할 수 있다. 일 예로, 자연 영상에 대해서는, 64 부터 511 범위의 깊이 범위 변환을 수행하는 한편, 컴퓨터 그래픽 기반 영상에 대해서는, 64 부터 1023 범위의 깊이 범위 변환을 수행할 수 있다.
스케일된 깊이 범위의 적응적 선택을 위해, 스케일된 깊이 범위를 특정하기 위한 정보를 비트스트림에 부호화/복호화할 수 있다. 일 예로, 스케일된 깊이 범위를 선택하기 위한 플래그가 부호화/복호화될 수 있다. 일 예로, 상기 플래그의 값이 1인 것은, 스케일된 깊이 범위가 제1 범위 (예컨대, 64~511)로 설정됨을 나타내고, 상기 플래그의 값이 0인 것은, 스케일된 깊이 범위가 제2 범위 (예컨대, 64~1023)로 설정됨을 나타낸다.
도 15는 컨텐트 별 스케일된 깊이 범위가 상이하게 설정된 경우의, 실험 결과를 나타낸 것이다.
다른 예로, 동적 기하 범위의 광협을 고려하여, 깊이 범위의 변환(즉, 깊이 아틀라스의 스케일링) 여부를 적응적으로 결정할 수도 있다. 일 예로, 변경 전 동적 기하 범위의 최대값이 문턱값(예컨대, 900)을 초과하는 경우, 깊이 범위 변환(즉, 스케일링)의 수행을 생략할 수 있다. 즉, 시퀀스 내 깊이값 중 최대값이 문턱값보다 큰 경우, 깊이 아틀라스의 스케일링을 생략하고, 신택스 ath_depth_range_change_flag의 값을 0으로 설정할 수 있다.
아틀라스를 구성하는 시점 영상(즉, 뷰(view))별로, 깊이 파라미터를 개별적으로 설정할 수도 있다. 이를 위해, 시점 영상 별, 깊이 파라미터 정보를 부호화/복호화할 수 있다.
또한, 시간에 따라, 시점 영상별 깊이 파라미터를 조절할 수도 있다. 이의 지원을 위해, 특정 시간 주기마다, 깊이 파라미터를 업데이트할 수도 있다. 여기서, 특정 시간 주기는, N개의 픽처 그룹(GOP, Group of Pictures) 단위 또는 인트라 주기(Intra Period)를 나타낼 수 있다. N은 1 또는 1보다 큰 자연수를 나타낼 수 있다.
시점 영상 별 깊이 파라미터를 업데이트 하기 위해, 현재 주기 또는 현재 픽처 그룹에 대해, 깊이 파라미터를 업데이트할 것인지 여부를 나타내는 정보를 부호화/복호화할 수 있다. 상기 정보는, 아틀라스 그룹에 대한 깊이 파라미터의 업데이트가 필요한지 여부를 나타내는 신택스일 수 있다.
일 예로, 상기 신택스는 1비트의 플래그 aave_ view_params_update_depth_quantization_flag일 수 있다. 상기 플래그가 1인 경우, 현재 아틀라스 그룹에 대해, 시점 영상 별 깊이 파라미터가 업데이트될 수 있다. 반면, 상기 플래그가 0인 것은, 시점 영상에 대한 깊이 파라미터의 업데이트가 수행되지 않음을 나타낸다. 이 경우, 각 시점 영상의 깊이 파라미터는, 이전 아틀라스 그룹 내 해당 시점 영상의 깊이 파라미터와 동일하게 설정될 수 있다.
다른 예로, 상기 신택스는, 아틀라스 그룹 내 업데이트가 필요한 파라미터들 중 하나를 나타내는 인덱스일 수 있다. 일 예로, 상기 신택스는 복수 업데이트 모드들 중 하나를 나타내는 aame_miv_view_params_list_update_mode일 수 있다. 상기 신택스가, 깊이 파라미터의 업데이트 모드 "VPL_UPD_DQUANT"를 가리키는 경우, 현재 아틀라스 그룹에 대해, 시점 영상 별 깊이 파라미터가 업데이트될 수 있다.
도 16은 상기 신택스를 포함하는 신택스 구조를 예시한 것이다.
깊이 파라미터의 업데이트가 필요한 것으로 결정된 경우, 깊이 파라미터의 업데이트가 필요한 시점 영상을 특정하기 위한 정보가 추가로 부호화/복호화될 수 있다. 일 예로, 도 16에 도시된 예에서, 신택스 aame_miv_view_params_list_update_mode가 VPL_UPD_DQUANT를 가리키는 경우, miv_view_params_update_depth_quantization 구조가 호출될 수 있다.
부호화기에서는, 각 시점의 깊이 파라미터가 이전 주기의 깊이 파라미터와 동일한지 여부에 기초하여, 깊이 파라미터의 업데이트가 필요한지 여부를 나타내는 신택스의 값을 결정할 수 있다.
miv_view_params_update_depth_quantization 구조는, 깊이 파라미터의 업데이트가 요구되는 시점 영상을 식별하는 정보를 포함한다.
도 17은 miv_mive_params_update_depth_quantization 구조의 예를 도시한 것이다.
도 17에 도시된 예에서, 신택스 mvpui_num_view_update_minus1은, 깊이 파라미터의 업데이트가 요구되는 시점 영상들의 개수를 나타낸다.
신택스 mvpui_num_view_update_minus1을 통해, 시점 영상들의 개수가 결정되면, 결정된 개수만큼, mvpui_view_idx를 시그날링할 수 있다. 여기서, 신택스 mvpui_view_idx는, 깊이 파라미터가 업데이트가 요구되는 시점 영상의 인덱스를 나타낸다.
상기 mvpui_view_idx를 통해, 깊이 파라미터의 업데이트가 요구되는 시점 영상이 결정되면, 해당 시점 영상에 대한 depth_quantization 구조를 호출할 수 있다. 상기 depth_quantization 구조는, 인덱스가 mvpui_view_idx인 시점 영상에 대한, 깊이 파라미터를 포함한다.
도 18은 depth_quantization 구조를 예시한 것이다.
도 18에 도시된 예에서, dq_quantization_law는, 시점 영상의 재스케일링 방법을 나타낸다. 일 예로, 신택스 dq_quantization_law[v]가 0인 것은, 인덱스가 v인 시점 영상에 대해, 균일한(uniform) 또는 선형의(linear) 스케일링이 수행되었음을 나타낸다. 상기 신택스 dq_quantization_law[v]의 값이 0인 경우, 인덱스가 v인 시점 영상의 정규화된 최소 시차값을 나타내는 신택스 dq_norm_disp_low[v] 및 인덱스가 v인 시점 영상의 정규화된 최대 시차값을 나타내는 신택스 dq_norm_disp_low[v]가 추가 부호화/복호화될 수 있다.
위 업데이트 기능을 통해, 컨텐트의 특성에 따라, 동적 기하 범위를 적절히 변경하여 줄 수 있다. 일 예로, 기하 정보가 비교적 정확한 컴퓨터 그래픽 기반 컨텐트가 출력되는 구간에서는, 동적 기하 범위(즉, 신택스 dq_norm_disp_low 및 신택스 신택스 dq_norm_disp_high 사이의 구간)를 줄여, 기하 정보의 정밀도를 높일 수 있다.
반면, 기하 정보가 상대적으로 부정확한 자연 영상 콘텐츠가 출력되는 구간에서는, 동적 기하 범위를 넓혀, 기하 정보의 정밀도를 높일 수 있다.
여기서, 기하 정보의 정밀도는, 단위 픽셀당 표현 가능한 깊이 범위(또는, 기하 범위)를 나타낸다.
즉, 시간에 따라, 단위 픽셀당 표현 가능한 깊이 범위를 변화시킴으로써, 부호화/복호화 성능 및 렌더링 성능을 향상시킬 수 있다.
아틀라스 내 모든 시점들이 동일한 깊이 파라미터를 갖는지 여부를 나타내는 플래그가 부호화/복호화될 수도 있다. 일 예로, 신택스 mvp_depth_quantization_params_equal_flag가 아틀라스별로 시그날링될 수 있다. 상기 신택스가 1인 것은, 모든 시점들이 동일한 깊이 파라미터를 가짐을 나타낸다. 이 경우, 첫번째 시점(예컨대, 인덱스가 0인 시점)에 대해서만, 깊이 파라미터 정보가 시그날링될 수 있다. 반면, 상기 신택스가 0인 경우, 각 시점에 대해 깊이 파라미터 정보가 시그날링될 수 있다.
상술한 실시예들에서 소개된 신택스 요소들의 명칭은, 본 발명에 따른 실시예들을 설명하기 위해 임시로 부여된 것에 불과하다. 본 발명에서 제안된 것과 상이한 이름으로 신택스 요소들을 명명할 수도 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (12)
- 이머시브 영상 처리 장치에 의해 수행되는, 이머시브 영상 처리 방법에 있어서,
상기 이머시브 영상 처리 방법은,
시점 영상들을 기본 영상 및 추가 영상으로 분류하는 단계;
상기 분류에 기초하여, 시점 영상들에 대한 프루닝을 수행하는 단계;
상기 프루닝 결과에 따른 잔차 시점 영상들에 기초하여, 아틀라스를 생성하는 단계;
상기 아틀라스 내 각각의 시점들의 깊이 파라미터를 결정하는 단계;
대응 시점의 깊이 파라미터를 이용하여, 상기 아틀라스 내 픽셀 값을 결정하는 단계; 및
적어도 하나의 시점의 깊이 파라미터가 업데이트되는지 여부를 가리키는 정보를 부호화하는 단계를 포함하되,
어떤 시점에 대해서도 깊이 파라미터가 업데이트되지 않는 경우, 시점들 각각의 깊이 파라미터는, 이전 프레임에서와 동일하게 유지되고,
적어도 하나의 시점의 깊이 파라미터가 업데이트되는 경우, 상기 적어도 하나의 시점의 업데이트된 깊이 파라미터를 나타내는 깊이 파라미터 정보가 더 부호화되는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 제1 항에 있어서,
상기 깊이 파라미터는, 정규화된 최소 시차값 및 정규화된 최대 시차값을 포함하고,
상기 적어도 하나의 시점의 깊이 파라미터가 업데이트되는 경우, 깊이 파라미터가 업데이트되는 시점들의 개수를 나타내는 개수 정보가 더 부호화되고,
상기 깊이 파라미터가 업데이트되는 시점의 인덱스를 가리키는 시점 인덱스 정보가 상기 개수 정보에 따른 시점들의 개수만큼 부호화되는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 삭제
- 제1 항에 있어서,
상기 아틀라스내 픽셀 값들을, 기 정의된 깊이 범위 이내의 값으로 스케일링하는 단계를 더 포함하는, 이머시브 영상 처리 방법. - 제4 항에 있어서,
컨텐트의 종류에 따라, 상기 깊이 범위가 상이하게 설정되는 것을 특징으로 하는, 이머시브 영상 처리 방법. - 이머시브 영상 합성 장치에 의해 수행되는, 이머시브 영상 합성 방법에 있어서,
상기 이머시브 영상 합성 방법은,
아틀라스를 복호화하는 단계;
상기 아틀라스 내 각각의 시점들의 깊이 파라미터를 획득하는 단계; 및
대응 시점의 깊이 파라미터를 이용하여, 아틀라스 내 복원 픽셀의 깊이를 획득하는 단계를 포함하되,
상기 이머시브 영상 합성 방법은, 적어도 하나의 시점이 깊이 파라미터가 업데이트되는지 여부를 결정하는 단계를 더 포함하고,
깊이 파라미터를 업데이트하지 않기로 결정된 경우, 시점들 각각의 깊이 파라미터는, 이전 프레임에서와 동일하게 유지되고,
깊이 파라미터를 업데이트하기로 결정된 경우, 적어도 하나의 시점의 깊이 파라미터는 상기 적어도 하나의 시점에 대해 시그날링되는 깊이 파라미터 정보에 의해 업데이트되는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제6 항에 있어서,
상기 깊이 파라미터는, 정규화된 최소 시차값 및 정규화된 최대 시차값을 포함하고,
상기 적어도 하나의 시점의 깊이 파라미터를 업데이트하기로 결정된 경우, 깊이 파라미터가 업데이트되는 시점들의 개수를 나타내는 개수 정보가 복호화되고,
상기 깊이 파라미터가 업데이트되는 시점의 인덱스를 가리키는 시점 인덱스 정보가 상기 개수 정보에 따른 시점들의 개수만큼 복호화되는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 삭제
- 제6 항에 있어서,
상기 아틀라스 내 픽셀값들이 기 정의된 깊이 범위 이내로 스케일링되었는지 여부를 나타내는 플래그를 복호화하는 단계를 더 포함하는, 이머시브 영상 합성 방법. - 제9 항에 있어서,
상기 깊이 범위는, 컨텐트의 종류에 따라, 상이하게 설정되는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제7 항에 있어서,
시점 인덱스 정보에 의해 특정되는 제1 시점의 깊이 파라미터는, 상기 제1 시점에 대해 시그날링되는 깊이 파라미터 정보를 기초로 업데이트되고,
어떠한 시점 인덱스 정보도 가리키지 않는 제2 시점의 깊이 파라미터는, 이전 프레임에서와 동일하게 유지되는 것을 특징으로 하는, 이머시브 영상 합성 방법. - 제6 항에 있어서,
상기 이머시브 영상 합성 방법은,
각각의 시점들의 초기 깊이 파라미터를 결정하는 단계를 포함하고,
비트스트림으로부터 복호화되는 플래그에 기반하여, 시점들 간 초기 깊이 파라미터가 동일한지 여부가 결정되고,
상기 플래그가 시점들 간 초기 깊이 파라미터가 동일함을 지시하는 경우, 상기 시점들 중 하나의 시점 대해서만 초기 깊이 파라미터 정보가 시그날링되고, 상기 시점들 중 나머지의 초기 깊이 파라미터는, 상기 하나의 시점과 동일하게 설정되고,
상기 플래그가 시점들 간 초기 깊이 파라미터가 동일하지 않음을 지시하는 경우, 초기 깊이 파라미터 정보가 시점들 각각에 대해 시그날링되는 것을 특징으로 하는, 이머시브 영상 합성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/354,985 US11457199B2 (en) | 2020-06-22 | 2021-06-22 | Method for processing immersive video and method for producing immversive video |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200075708 | 2020-06-22 | ||
KR20200075708 | 2020-06-22 | ||
KR1020200079143 | 2020-06-29 | ||
KR20200079143 | 2020-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210157887A KR20210157887A (ko) | 2021-12-29 |
KR102680366B1 true KR102680366B1 (ko) | 2024-07-02 |
Family
ID=79176954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210079574A KR102680366B1 (ko) | 2020-06-22 | 2021-06-18 | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102680366B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576217B (zh) * | 2024-01-12 | 2024-03-26 | 电子科技大学 | 一种基于单实例图像重建的物体位姿估计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140198976A1 (en) * | 2007-04-24 | 2014-07-17 | 21 Ct, Inc. | Method and system for fast dense stereoscopic ranging |
US20140341292A1 (en) * | 2011-11-18 | 2014-11-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-view coding with efficient residual handling |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110059766A (ko) * | 2008-09-18 | 2011-06-03 | 톰슨 라이센싱 | 비디오 영상 프루닝 방법 및 장치 |
EP3349182A1 (en) * | 2017-01-13 | 2018-07-18 | Thomson Licensing | Method, apparatus and stream for immersive video format |
-
2021
- 2021-06-18 KR KR1020210079574A patent/KR102680366B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140198976A1 (en) * | 2007-04-24 | 2014-07-17 | 21 Ct, Inc. | Method and system for fast dense stereoscopic ranging |
US20140341292A1 (en) * | 2011-11-18 | 2014-11-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-view coding with efficient residual handling |
Also Published As
Publication number | Publication date |
---|---|
KR20210157887A (ko) | 2021-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616938B2 (en) | Method for processing immersive video and method for producing immersive video | |
US20210006830A1 (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 | |
US20210006764A1 (en) | Method for processing immersive video and method for producing immversive video | |
KR102680366B1 (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US11457199B2 (en) | Method for processing immersive video and method for producing immversive video | |
US11818395B2 (en) | Immersive video decoding method and immersive video encoding method | |
KR20210036795A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US20230232031A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
US20230011027A1 (en) | Method for encoding immersive image and method for decoding immersive image | |
US20220122217A1 (en) | Method for processing immersive video and method for producing immersive video | |
US20210383122A1 (en) | Method of processing immersive video and method of producing immersive video | |
KR20200095408A (ko) | 이머시브 비디오 포맷팅 방법 및 장치 | |
KR102591133B1 (ko) | 이머시브 영상 부호화 방법 및 이머시브 영상 복호화 방법 | |
US20240137530A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
US20230119281A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
US20230124419A1 (en) | Immersive video encoding method and immersive video decoding method | |
KR20240013709A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화방법 | |
KR20230149230A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화 방법 | |
KR20230109086A (ko) | 이머시브 영상 복호화 방법 및 이머시브 영상 부호화 방법 | |
KR20220050780A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US20240357135A1 (en) | Method for encoding/decoding video and recording medium storing the method for encoding video | |
KR20210035060A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 | |
US20230222694A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
KR20240154467A (ko) | 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법 |
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 |