KR102597471B1 - 폐색 해제 아틀라스를 통한 다중 뷰 비디오 작업 지원 - Google Patents
폐색 해제 아틀라스를 통한 다중 뷰 비디오 작업 지원 Download PDFInfo
- Publication number
- KR102597471B1 KR102597471B1 KR1020237001648A KR20237001648A KR102597471B1 KR 102597471 B1 KR102597471 B1 KR 102597471B1 KR 1020237001648 A KR1020237001648 A KR 1020237001648A KR 20237001648 A KR20237001648 A KR 20237001648A KR 102597471 B1 KR102597471 B1 KR 102597471B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- atlas
- occlusion
- view
- fragment
- Prior art date
Links
- 239000012634 fragment Substances 0.000 claims abstract description 166
- 238000000034 method Methods 0.000 claims description 73
- 238000003860 storage Methods 0.000 claims description 22
- 230000000007 visual effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 15
- 238000009877 rendering Methods 0.000 claims description 14
- 239000002131 composite material Substances 0.000 claims description 12
- 230000001788 irregular Effects 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000011144 upstream manufacturing Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013144 data compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000019994 cava Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/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/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
- 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/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/178—Metadata, e.g. disparity information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/388—Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
폐색된 이미지 조각은 사이즈에 따라 분류된다. 가장 큰 이미지 조각은 이미지 조각을 저장하는 데 사용되는 폐색 해제 아틀라스에 대한 레이아웃 마스크에서 쿼드트리 노드의 사이즈를 조정하는 데 사용된다. 분류된 이미지 조각은 각 이미지 조각이 폐색 해제 아틀라스의 최적 피트 쿼드트리 노드로 호스팅되는 것과 같은 레이아웃 마스크를 사용하여 폐색 해제 아틀라스에 저장된다. 비디오 신호는 이미지 조각을 저장하는 폐색 해제 아틀라스 및 하나 이상의 참조 이미지를 인코딩함으로써 생성될 수 있다. 이미지 조각은 참조 이미지로부터 합성된 디스플레이 이미지에서 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 수신 디바이스에 의해 사용될 수 있다.
Description
관련 출원에 대한 상호 참조
본 출원은 모두 2020년 6월 16일에 출원된 미국 가출원 제63/039,595호 및 유럽 특허 출원 제20180179.2호에 대한 우선권을 주장하며, 이들 각각은 그 전체가 참조로써 포함된다.
기술분야
본 발명은 일반적으로 이미지 코딩 및 렌더링에 관한 것으로, 구체적으로는 다중 뷰 비디오 작업을 지원하기 위해 폐색 해제 아틀라스를 사용하는 것에 관한 것이다.
뷰 합성은 3차원(3D) TV, 360도 비디오, 볼류메트릭 비디오, 가상 현실(VR), 증강 현실(AR) 등과 같은 애플리케이션에서 사용된다. 가상 뷰는 이들의 관련 깊이 정보와 함께 기존 뷰로부터 합성된다. 기존 뷰는 묘사되는 3D 세계로 워핑되거나 매핑된 다음 타겟 뷰 위치로 다시 투영될 수 있다.
그 결과, 기존 뷰에서 전경 객체에 의해 폐색된 배경 영역이 타겟 뷰 위치로부터 타겟 뷰에서 (기존 뷰로부터 임의의 사용 가능한 이미지 데이터 없이) 폐색 해제될 수 있고, 이에 의해 타겟 뷰에 갭 또는 홀이 생성된다. 이에 더하여, 깊이 이미지(들)의 불연속성은 또한 합성된 뷰에 갭 또는 홀을 유발할 수 있다. 실제 비디오 디스플레이 애플리케이션에서 비디오 신호에 인코딩 또는 송신되는 총 뷰 수가 감소하거나 최소화됨에 따라 감소하거나 최소화된 뷰 수로부터 생성되는 합성된 뷰의 홀 영역이 상대적으로 크고 많아져 이에 의해 쉽게 눈에 띄는 시각적 아티팩트(artifact)가 생성된다.
이 섹션에서 설명되는 접근 방식은 추구될 수 있는 접근 방식이지만, 반드시 이전에 구상되거나 추구된 접근 방식인 것은 아니다. 따라서, 달리 명시되지 않는 한, 이 섹션에서 설명되는 접근 방식 중 임의의 것이 이 섹션에 포함되었다는 단지 그 이유만으로 선행 기술로서 자격이 있는 것으로 상정되어서는 안 된다. 유사하게, 달리 명시되지 않는 한, 하나 이상의 접근 방식과 관련하여 식별된 이슈가 이 섹션에 기초하여 임의의 선행 기술로 인식되는 것으로 상정해서는 안 된다.
본 발명은 첨부 도면의 도면에서 한정이 아닌 예로써 도시되며, 유사한 참조 번호는 유사한 요소를 지칭하고:
도 1a 및 도 1b는 예시적인 볼류메트릭 비디오 스트리밍을 도시하고;
도 2a 및 도 2b는 예시적인 텍스처 및 깊이 이미지를 도시하고;
도 2c는 참조 뷰에서 폐색되고 인접한 뷰에서 적어도 부분적으로 폐색 해제되는 공간 영역을 식별하기 위한 예시적인 이미지 마스크를 도시하고;
도 3a는 예시적인 폐색 해제 아틀라스를 도시하고; 도 3b는 연이은 폐색 해제 아틀라스의 예시적인 시퀀스를 도시하고; 도 3c는 공통 그룹 레벨 레이아웃 마스크로 생성되는 연이은 폐색 해제 아틀라스의 예시적인 그룹을 도시하고;
도 4a 내지 도 4c는 예시적인 프로세스 흐름을 도시하며; 그리고
도 5는 본원에 기술되는 바와 같이 컴퓨터 또는 컴퓨팅 디바이스가 구현될 수 있는 예시적인 하드웨어 플랫폼을 도시한다.
도 1a 및 도 1b는 예시적인 볼류메트릭 비디오 스트리밍을 도시하고;
도 2a 및 도 2b는 예시적인 텍스처 및 깊이 이미지를 도시하고;
도 2c는 참조 뷰에서 폐색되고 인접한 뷰에서 적어도 부분적으로 폐색 해제되는 공간 영역을 식별하기 위한 예시적인 이미지 마스크를 도시하고;
도 3a는 예시적인 폐색 해제 아틀라스를 도시하고; 도 3b는 연이은 폐색 해제 아틀라스의 예시적인 시퀀스를 도시하고; 도 3c는 공통 그룹 레벨 레이아웃 마스크로 생성되는 연이은 폐색 해제 아틀라스의 예시적인 그룹을 도시하고;
도 4a 내지 도 4c는 예시적인 프로세스 흐름을 도시하며; 그리고
도 5는 본원에 기술되는 바와 같이 컴퓨터 또는 컴퓨팅 디바이스가 구현될 수 있는 예시적인 하드웨어 플랫폼을 도시한다.
다중 뷰(multi-view) 비디오 작업을 지원하기 위해 폐색 해제 아틀라스(disocclusion atlas)를 사용하는 것에 관한 예시적인 실시형태가 본원에서 설명된다. 다음의 설명에서, 설명의 목적을 위해, 다수의 특정 세부사항이 본 발명의 철저한 이해를 제공하기 위해 진술된다. 그러나, 본 발명은 이러한 특정 세부사항 없이 실시될 수 있음이 명백할 것이다. 다른 경우에서, 잘 알려진 구조 및 디바이스는 본 발명을 불필요하게 가리거나 모호하게 하거나 불명료화하는 것을 회피하기 위해 망라적으로 상세하게 설명되지 않는다.
예시적인 실시형태가 다음의 개요에 따라 본원에서 설명된다:
1. 일반 개요
2. 볼류메트릭 비디오
3. 예시적인 비디오 스트리밍 서버 및 클라이언트
4. 폐색 해제 데이터의 이미지 조각
5. 폐색 해제 데이터에 대한 이미지 마스크
6. 폐색 해제 아틀라스 제너레이션
7. 시간적으로 안정한 그룹 레벨 레이아웃 마스크
8. 예시적인 프로세스 흐름
9. 구현 메커니즘 - 하드웨어 개요
10. 등가물, 확장, 대안 및 기타
1. 일반 개요
이 개요는 본 발명의 예시적인 실시형태의 일부 측면의 기초적인 설명을 제시한다. 이 개요는 예시적인 실시형태의 측면의 광범위하거나 망라적인 요약이 아님에 유의해야 한다. 나아가, 이 개요는 특히 예시적인 실시형태의 임의의 중요한 측면 또는 요소를 식별하거나 예시적인 실시형태의 임의의 범주, 특히 일반적으로 본 발명을 경계짓는 것으로 이해되도록 의도되지 않음에 유의해야 한다. 이 개요는 예시적인 실시형태에 관한 일부 개념을 압축되고 단순화된 형식으로 제시할 뿐이며, 단지 아래에 이어지는 예시적인 실시형태의 보다 상세한 설명에 대한 개념적 전조로서 이해되어야 한다. 별도의 실시형태가 본원에서 논의되지만, 본원에서 논의되는 실시형태 및/또는 부분적 실시형태의 임의의 조합이 조합되어 추가 실시형태를 형성할 수 있음에 유의한다.
볼류메트릭 비디오(volumetric video)를 전송하는 보편적인 접근 방식은 ("기록된 뷰(recorded view)", "참조 뷰(reference view)" 또는 "표현된 뷰(represented view)"로서도 지칭되는) 뷰 위치의 유한 세트로부터의 깊이를 갖는 광각(wide-field)(종종 360도) 캡처된(captured) 또는 렌더링된(rendered) 이미지를 동반하는 것이다. 각 픽셀에서의 깊이 값은 이러한 픽셀이 추정 뷰(putative view)로 재투영(및 z-버퍼링(z-buffered))되는 것을 허용하며, 상기 추정 뷰는 통상적으로 기록된 뷰 위치(또는 참조 뷰) 사이에 있다. 기록된 뷰 위치에서 기록된 이미지로부터 합성된 워핑된(warped) 이미지와 같은 단일 재투영된 뷰 이미지는 기록된 이미지에 표현되는 본래의 관점으로부터 보이지 않는 폐색 해제된 영역에 대응하는 홀(hole) 및 갭(gap)을 가질 것이다. 보다 많은 주위 소스 관점 또는 보다 많은 기록된 뷰 위치를 추가함으로써 재투영된 뷰 이미지에 보다 적은 홀이 남을 수 있지만 상당한 양의 중복 데이터(예컨대, 추가된 다중의 기록된 뷰 각각에서의 가시적인 픽셀 등)가 희생될 수 있다.
비교로써, 본원에 기술되는 기법은 아틀라스 표현에 상대적으로 적은 양의 폐색 해제 데이터를 전송하는 데 사용될 수 있다. 폐색 해제 데이터는 단일의 (가장 가까운) 참조 뷰 위치로부터 가시적이지 않는 조각에 대해 오직 텍스처(texture) 및 깊이 정보만 포함하며, 이에 의해 추가 기록된 뷰의 중복을 회피하고 비디오 스트리밍(streaming) 및 디코딩(decoding)의 데이터 볼륨(volume)을 현저히 감소시킨다. 이러한 기법은 결합된(예컨대, 직사각형, 정사각형 등) 이미지에 이미지 조각을 레이아웃(lay out)하는 것에 사용되어 결합된 이미지에 빈 공간을 최대한 적게 남길 수 있다.
나아가, 상이한 연이은 아틀라스 레이아웃에서의 프레임별 시간적 변동으로부터 발생하는 비디오 압축 효율성 이슈는 모션 예측(예컨대, 인터 예측(inter prediction) 등)을 향상시키는 본원에 설명되는 기법에 의해 효과적으로 다뤄질 수 있다. 예를 들어, 아틀라스 "I-프레임"(모션 예측 없이 코딩 또는 디코딩될 수 있는 프레임) 사이의 연이은 폐색 해제 아틀라스의 레이아웃은 상대적으로 고효율의 압축률을 달성하기 위해 시간적으로 안정화될 수 있다.
일부 작업 시나리오에서, 다중 뷰 비디오의 하나 이상의 표현된 뷰에 대응하는(또는 그로부터의 이미지 데이터를 포함하는) 하나 이상의 비디오 스트림은 하나 이상의 표현된 뷰에 대한 폐색 해제 데이터와 함께 또는 이와 개별적으로 수신 비디오 디코더에 전송될 수 있다. 폐색 해제 데이터는 비디오 스트림의 표현된 뷰에서 숨겨지거나 폐색될 수 있는 이미지 세부사항에 대한 텍스처 및/또는 깊이 이미지 데이터를 포함한다. 폐색 해제 데이터에 의해 묘사되는 폐색된 이미지 세부사항 중 일부는 비디오 스트림에서 표현된 뷰 중 하나 이상에 인접한 뷰어(viewer)의 현재 뷰("가상 뷰" 또는 "타겟 뷰"로서도 지칭됨)에서 가시적이게 될 수 있다.
언급되는 바와 같이, 폐색 해제 데이터는 폐색 해제 아틀라스에 패키징되거나 인코딩될 수 있다. 폐색 해제 아틀라스는 하나 이상의 깊이에서의 가시적 이미지 세부사항 및 다른 깊이에서의 폐색된 이미지 세부사항과 같은 - 가능한 다중 표현된 뷰에 대한 - 다중 깊이 정보를, 표현된 뷰의 비디오 스트림을 포함하는 볼류메트릭 비디오 신호로 인코딩하는 것을 지원하기 위해 비디오 인코더에 의해 사용될 수 있다. 폐색 해제 아틀라스는 비디오 신호의 수신 비디오 디코더에 의해 표현된 뷰 중 하나 이상에 인접한 뷰어의 현재 뷰에 특정한 이미지 세부사항과 같은 뷰 종속 효과를 렌더링하는 데 사용될 수 있다.
볼류메트릭 비디오 신호는 비디오 스트림에서 표현된 뷰의 이미지 데이터를 사용하여 뷰어의 현재 뷰에 특정한 이미지를 렌더링하는 수신 비디오 디코더를 보조하기 위해 이미지 메타데이터의 일부로서 폐색 해제 아틀라스를 포함할 수 있다. 비디오 스트림 및 이미지 메타데이터는 영화 전문가 그룹(Moving Picture Experts Group, MPEG) 비디오 표준, H.264/첨단 비디오 코딩(H.264/AVC), 고효율 비디오 코딩(HEVC), MPEG-I, 돌비(Dolby)의 ViX 파일 형식 등을 포함하지만 이에 제한되지 않는 사유 사양(proprietary specification) 또는 비디오 코딩 표준에 기초한 코딩 문법(coding syntax)으로 인코딩될 수 있다. 추가적으로, 선택적으로 또는 대안적으로, 폐색 해제 아틀라스는 표현된 뷰에 대한 이미지 데이터를 포함하는 비디오 스트림을 동반하는 서브스트림(sub-stream)에 인코딩 및 서브스트림으로부터 디코딩될 수 있다.
수신 비디오 디코더는 볼류메트릭 비디오 신호에 의해 운반되는 이미지 메타데이터(또는 서브스트림)의 폐색 해제 아틀라스에 패킹된(packed) 폐색 해제 데이터 및 볼류메트릭 비디오 신호에 인코딩된 비디오 스트림에서 표현된 뷰의 이미지 데이터를 디코딩할 수 있다. 폐색 해제 데이터 및 이미지 데이터는 표현된 뷰 중 하나 이상에 인접한 뷰어의 현재 뷰에 대한 이미지를 생성하거나 구성할 때 홀 또는 갭을 채우기 위해 비디오 디코더에 의해 사용될 수 있다. 뷰어의 현재 뷰는 비디오 스트림에서 표현된 뷰 중 임의의 것과 일치하지 않을 수 있으며, 뷰어의 현재 뷰(또는 뷰 위치)에 대한 이미지는 이미지 워핑 작업을 통해 표현된 뷰의 수신된 이미지로부터 획득될 수 있다. 예시적인 이미지 워핑 및/또는 합성 작업이 2017년 6월 12일에 출원된 미국 가특허 출원 제62/518,187호에 기재되어 있으며, 이로써 이의 전체 내용이 본원에서 완전히 설명된 것처럼 참조로써 포함된다.
워핑된 이미지의 홀 또는 갭을 채우기 위해, 폐색 해제 아틀라스의 폐색 해제 데이터의 일부 또는 전부가, 예를 들어 효율적인 룩업(look-up) 작업 또는 인덱스에 의한 검색(search-by-index) 작업을 통해 액세스되고 리트리브되어(retrieved) 표현된 뷰에서 폐색되지만 뷰어의 현재 뷰에서 폐색 해제되는 이미지 세부사항을 제공할 수 있다. 결과적으로, 뷰어는 뷰어의 현재 뷰에 따라, 볼류메트릭 비디오 신호의 비디오 스트림에 인코딩된 표현된 뷰의 이미지에 제공되지 않는 뷰 특정 이미지 세부사항을 볼 수 있다.
본원에 설명되는 예시적인 실시형태는 스트리밍 볼류메트릭 비디오에 관한 것이다. 하나 이상의 참조 뷰로부터 시각적 장면을 묘사하는 하나 이상의 참조 이미지에서 폐색되고 하나 이상의 참조 뷰에 인접한 비참조 뷰에서 적어도 부분적으로 폐색 해제되는 이미지 조각은 사이즈에 따라 분류된다. 이미지 조각은 이미지 조각의 임의의 다른 이미지 조각보다 사이즈가 작지 않은 제1 이미지 조각을 포함한다. 이미지 조각을 저장하는 데 사용되는 폐색 해제 아틀라스에 대해 레이아웃 마스크가 생성된다. 레이아웃 마스크는 제1 이미지 조각에 대해 특수하게 사이즈가 조정된 제1 최적 피트 노드(best fit node)를 포함하는 쿼드트리(quadtree)로 커버된다(covered). 분류된 이미지 조각은 레이아웃 마스크에서 식별된 최적 피트 노드에 내림차순으로 저장된다. 분류된 이미지 조각의 각 이미지 조각은 최적 피트 노드의 각각의 최적 피트 노드에 저장된다. 최적 피트 노드는 레이아웃 마스크를 커버하는 쿼드트리에서 적어도 하나의 노드를 반복적으로 분할함으로써 획득되는 적어도 하나의 최적 피트 노드를 포함한다. 하나 이상의 참조 이미지로 인코딩된 볼류메트릭 비디오 신호가 생성된다. 볼류메트릭 비디오 신호는 폐색 해제 아틀라스의 이미지 조각으로 추가로 인코딩된다. 하나 이상의 참조 이미지가 이미지 디스플레이에 렌더링하기 위한 비표현된 뷰의 디스플레이 이미지를 합성하기 위해 볼류메트릭 비디오 신호의 수신 디바이스에 의해 사용된다. 폐색 해제 아틀라스의 이미지 조각은 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 수신 디바이스에 의해 사용된다.
본원에 기술되는 예시적인 실시형태는 볼류메트릭 비디오를 렌더링하는 것에 관한 것이다. 하나 이상의 참조 이미지는 볼류메트릭 비디오 신호로부터 디코딩된다. 폐색 해제 아틀라스의 이미지 조각은 볼류메트릭 비디오 신호로부터 디코딩된다. 비표현된 뷰의 디스플레이 이미지가 하나 이상의 참조 이미지에 기초하여 합성된다. 폐색 해제 아틀라스의 이미지 조각은 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우는 데 사용된다. 디스플레이 이미지는 이미지 디스플레이에 렌더링된다.
일부 예시적인 실시형태에서, 본원에 기술되는 바와 같은 메커니즘은: 클라우드 기반 서버, 모바일 디바이스, 가상 현실 시스템, 증강 현실 시스템, 헤드업(head up) 디스플레이 디바이스, 헬멧 마운트(helmet mounted) 디스플레이 디바이스, CAVE형 시스템, 벽 사이즈 디스플레이, 비디오 게임 디바이스, 디스플레이 디바이스, 미디어 플레이어, 미디어 서버, 미디어 프로덕션 시스템, 카메라 시스템, 홈 기반 시스템, 통신 디바이스, 비디오 처리 시스템, 비디오 코덱 시스템, 스튜디오 시스템, 스트리밍 서버, 클라우드 기반 콘텐츠 서비스 시스템, 핸드헬드(handheld) 디바이스, 게임 기계, 텔레비전, 시네마 디스플레이, 랩톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 셀 방식 무선 전화(cellular radiotelephone), 전자 서적 리더, 판매 시점(point of sale) 터미널, 데스크톱 컴퓨터, 컴퓨터 워크스테이션, 컴퓨터 서버, 컴퓨터 키오스크 또는 기타 다양한 종류의 터미널 및 미디어 처리 유닛 중 임의의 것을 포함하지만 이에 제한되지 않는 미디어 처리 시스템의 일부를 형성한다.
본원에 기술되는 바람직한 실시형태 및 일반적인 원리 및 피처에 대한 다양한 수정이 당해 기술 분야의 통상의 기술자에게 자명할 것이다. 따라서, 본 개시는 도시되는 실시형태에 제한되도록 의도되지 않으며 본원에 기술되는 원리 및 피처와 부합하는 가장 넓은 범주에 부여된다.
2. 볼류메트릭 비디오
본원에 기술되는 바와 같은 기법은 최대 6 자유도까지 뷰어의 신체 또는 머리 움직임에 응답하여 뷰어에게 완전 시차(full parallax)를 갖는 뷰 특정 비디오를 제공하는 데 사용될 수 있다. 본원에서 사용되는 바와 같이, 용어 "뷰 특정" 비디오(이미지)는 뷰어의 위치 및/또는 배향에 적어도 부분적으로 기초하여 - 또는 이의 결정에 응답하여 - 생성 및/또는 렌더링되는 위치 특정 및/또는 배향 특정 비디오(이미지)를 의미할 수 있다.
이를 달성하기 위해, 공간에서 - 뷰어가 자유롭게 이동하는 뷰잉 볼륨(viewing volume)에 걸친 상이한 위치 및/또는 상이한 배향의 세트 또는 서브세트에 대응하는 - 상이한 지점의 세트 또는 서브세트에서의 비디오가 뷰어에게 렌더링된 뷰 특정 이미지를 생성하는 데 사용될 수 있다. 공간에서 이러한 상이한 지점에서의 비디오는 텍스처 비디오뿐 아니라 깊이 비디오를 포함할 수 있으며 볼류메트릭 비디오의 참조 뷰(또는 참조 뷰포인트)를 형성할 수 있다.
- 이러한 참조 뷰 중 임의의 것과 일치하지 않을 수 있는 - 뷰어의 주어진 위치 및/또는 배향에 대한 뷰어의 현재 뷰와 같은 가상 뷰는 이미지 기반 렌더링 기법을 사용하여 볼류메트릭 비디오에서 표현되는 이들 참조 뷰로부터 합성될 수 있다.
본원에서 사용되는 바와 같이, 텍스처 비디오는 복수의 시점에 걸쳐, RGB 픽셀 값, YCbCr 픽셀 값, 루마(luma) 및/또는 크로마(chroma) 픽셀 값 등과 같은 개별 색상 또는 밝기 정보로 각각 명시되는 픽셀의 공간 분포를 포함하는 텍스처 이미지 시퀀스를 지칭한다. 텍스처 비디오에 대응하는 깊이 비디오는 복수의 시점에 걸쳐, z축 값, 깊이 값, 공간 격차 값, 시차 정보 등과 같이 대응하는 텍스처 이미지의 대응하는 픽셀의 공간 깊이 정보로 각각 명시되는 픽셀의 공간 분포를 포함하는 깊이 이미지 시퀀스를 지칭한다.
볼류메트릭 비디오의 하나 이상의 비디오 스트림에 표현되는 하나 이상의 참조 뷰에 대한 폐색 해제 데이터를 포함하는 폐색 해제 아틀라스는 뷰 종속 효과에 대한 인코딩 다중 깊이 정보를 지원하는 데 사용될 수 있다. 예를 들어, 하이라이트 스펙클(highlight speckle)과 같은 이미지 세부사항은 일부 뷰에 나타날 수 있지만 모든 뷰에 나타나지 않을 수 있으며, 가시적인 경우, 상이한 뷰(예컨대, 상이한 참조 뷰, 상이한 시점에서의 뷰어의 현재 뷰와 같은 상이한 가상 뷰 등)에서 상이하게 나타날 수 있다. 뷰 종속 이미지 세부사항(또는 효과)이 뷰어의 위치 또는 배향에서 검출된 변화에 응답하여 뷰어에게 정확하게 렌더링되거나 제시될 수 있도록 참조 뷰에서 숨겨지거나 폐색되는 뷰 종속 이미지 세부사항의 다중 깊이 정보가 폐색 해제 데이터에 포함될 수 있으며 이미지 메타데이터의 일부로서 수신 비디오 디코더에 전달될 수 있다.
추가적으로, 선택적으로 또는 대안적으로, 이미지 메타데이터는 본원에 기술되는 바와 같이, 폐색 해제 아틀라스의 조각, 부분, 패치 등에 대한 설명을 포함할 수 있다. 이미지 메타데이터는 볼류메트릭 비디오의 일부로서 업스트림 디바이스로부터 수신 디바이스로 전달될 수 있으며 수신 디바이스가 비디오 스트림 및 폐색 해제 아틀라스로부터 디코딩된 이미지 데이터를 렌더링하는 것에 도움이 되는 데 사용될 수 있다.
3. 예시적인 비디오 스트리밍 서버 및 클라이언트
도 1a는 다중 뷰 스트림 수신기(132), 뷰포인트 프로세서(134), 스트림 컴포저(composer)(136) 등을 포함하는 비디오 스트리밍 서버(100)와 같은 예시적인 업스트림 디바이스를 도시한다. 비디오 스트리밍 서버(100)의 일부 또는 모든 구성요소는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등에서 하나 이상의 디바이스, 모듈, 유닛 등에 의해 구현될 수 있다.
다중 뷰 스트림 수신기(132)는 외부 비디오 소스로부터 복수의 참조 뷰에 대한 참조 텍스처 및/또는 깊이 비디오(106)를 직접 또는 간접적으로 수신하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
뷰포인트 프로세서(134)는 실시간 또는 준실시간으로 뷰어에 의해 작동되는 비디오 클라이언트 디바이스로부터 뷰어의 뷰포인트 데이터를 수신하고; AR, VR 또는 볼류메트릭 비디오 애플리케이션의 시간 간격/지속시간에 걸쳐 복수의 시점에 대한 뷰어의 위치 또는 배향을 설정/결정하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다. 비디오 애플리케이션에서, 참조 텍스처 및/또는 깊이 비디오(106)로부터 파생되는 디스플레이 이미지는, 비디오 클라이언트 디바이스와 함께 작동하는 이미지 디스플레이가 제공되는 뷰어의 뷰포트(viewport)에서 복수의 시점에서 렌더링; 등이 되어야 한다. 뷰어의 뷰포트는 이미지 디스플레이의 가시 영역 또는 윈도우(window)의 사이즈를 지칭한다.
스트림 컴포저(136)는 수신 디바이스 등으로부터의 입력의 일부로서 수신된 뷰어의 위치 또는 배향을 나타내는 뷰포인트 데이터(114)에 적어도 부분적으로 기초하는 참조 텍스처 및/또는 깊이 비디오(106)로부터 - 하나 이상의 참조 뷰 및 표현된 뷰에 인접한 뷰의 폐색 해제 아틀라스를 포함하는 폐색 해제 아틀라스를 표현하는 하나 이상의 비디오 스트림을 포함하지만 이에 제한되지 않는 - (예를 들어, 실시간 등의) 볼류메트릭 비디오 신호(112)를 생성하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
비디오 스트리밍 서버(100)는 AR 애플리케이션, VR 애플리케이션, 360도 비디오 애플리케이션, 볼류메트릭 비디오 애플리케이션, 실시간 비디오 애플리케이션, 준실시간 비디오 애플리케이션, 비실시간 전방향 비디오 애플리케이션, 자동차 엔터테인먼트, 헬멧 마운트 디스플레이 애플리케이션, 헤드업 디스플레이 애플리케이션, 게임, 2D 디스플레이 애플리케이션, 3D 디스플레이 애플리케이션, 다중 뷰 디스플레이 애플리케이션 등을 지원하는 데 사용될 수 있다.
도 1b는 실시간 스트림 수신기(142), 뷰포인트 추적기(144), 볼류메트릭 비디오 렌더러(renderer)(146), 이미지 디스플레이(148) 등을 포함하는 비디오 클라이언트 디바이스(150)와 같은 예시적인 수신 디바이스를 도시한다. 비디오 클라이언트 디바이스(150)의 일부 또는 모든 구성요소는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등에서 하나 이상의 디바이스, 모듈, 유닛 등에 의해 구현될 수 있다.
뷰포인트 추적기(144)는 뷰어와 연계하여 실시간 또는 준실시간 뷰포인트 데이터(114)를 수집하기 위해 하나 이상의 뷰어 위치/배향 추적 센서(예컨대, 모션 센서, 위치 센서, 아이 추적기(eye tracker) 등)와 작동하고; 뷰포인트 데이터(114) 또는 뷰포인트 데이터로부터 결정된 뷰어의 위치/배향을 비디오 스트리밍 서버(100)로 전송; 등을 하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다. 뷰포인트 데이터(114)는 상대적으로 미세한 시간 스케일(예컨대, 1밀리초마다, 5밀리초마다 등)에서 샘플링되거나 측정될 수 있다. 뷰포인트 데이터는 주어진 시간 분해능(time resolution)(예컨대, 1밀리초마다, 5밀리초마다 등)에서 뷰어의 위치 또는 배향을 설정/결정하는 데 사용될 수 있다.
실시간 스트림 수신기(142)는 (예를 들어, 실시간 등의) 볼류메트릭 비디오 신호(112)를 수신하고 디코딩하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
볼류메트릭 비디오 렌더러(146)는 뷰어의 예측되는 또는 측정된 위치 또는 배향에 대응하는 뷰 특정 이미지를 생성하기 위해 볼류메트릭 비디오(112)로부터 디코딩된 이미지 데이터에 이미지 워핑, 블렌딩(예컨대, 다중의 카메라 소스로부터 다중 워핑된 이미지를 블렌딩하는 것 등), 이미지 구성, 홀 채우기 등을 수행하고; 렌더링을 위해 뷰 특정 이미지를 이미지 디스플레이(148)에 출력; 등을 하도록 구성되는 소프트웨어, 하드웨어, 소프트웨어 및 하드웨어의 조합 등을 포함한다.
본원에서 사용되는 바와 같이, 본원에 기술되는 비디오 스트림의 비디오 콘텐츠는: 시청각 프로그램, 영화, 비디오 프로그램, TV 방송, 컴퓨터 게임, 증강 현실(AR) 콘텐츠, 가상 현실(VR) 콘텐츠, 자동차 엔터테인먼트 콘텐츠 등 중 임의의 것을 포함할 수 있지만 반드시 이에 국한되지는 않는다. 예시적인 비디오 디코더는: 디스플레이 디바이스, 니어 아이(near-eye) 디스플레이를 구비하는 컴퓨팅 디바이스, 헤드 마운트 디스플레이(HMD), 모바일 디바이스, 웨어러블 디스플레이 디바이스, 텔레비전, 비디오 모니터와 같은 디스플레이를 구비하는 셋톱 박스 등 중 임의의 것을 포함할 수 있지만 반드시 이에 국한되지는 않는다.
본원에서 사용되는 바와 같이, "비디오 스트리밍 서버"는 비디오 콘텐츠의 적어도 일부를 하나 이상의 디스플레이에 렌더링하기 위해 비디오 디코더와 같은 하나 이상의 비디오 스트리밍 클라이언트에 비디오 콘텐츠를 준비하고 스트리밍하는 하나 이상의 업스트림 디바이스를 지칭할 수 있다. 비디오 콘텐츠가 렌더링되는 디스플레이는 하나 이상의 비디오 스트리밍 클라이언트의 일부일 수 있거나 하나 이상의 비디오 스트리밍 클라이언트와 함께 작동될 수 있다.
예시적인 비디오 스트리밍 서버는: 비디오 스트리밍 클라이언트(들)로부터 원격에 위치되는 클라우드 기반 비디오 스트리밍 서버, 로컬 유선(local wired) 또는 무선 네트워크를 통해 비디오 스트리밍 클라이언트(들)와 연결된 로컬 비디오 스트리밍 서버, VR 디바이스, AR 디바이스, 자동차 엔터테인먼트 디바이스, 디지털 미디어 디바이스, 디지털 미디어 수신기, 셋톱 박스, 게임 기계(예컨대, Xbox), 범용 개인 컴퓨터, 태블릿, Apple TV 또는 Roku box 등과 같은 전용 디지털 미디어 수신기 중 임의의 것을 포함할 수 있지만 반드시 이에 국한되지는 않는다.
4. 폐색 해제 데이터의 이미지 조각
폐색 해제 아틀라스의 폐색 해제 데이터는 볼류메트릭 비디오 신호의 표현된(참조) 뷰에서 폐색되는 이미지 조각을 포함할 수 있다. 본원에 기술되는 이미지 조각은 픽셀당 이미지 텍스처 정보(예컨대, 색상, 휘도/색차 값, RGB 값, YCbCr 값 등) 및 픽셀당 깊이 정보를 갖는 픽셀의 근접하며 볼록하지 않은(non-convex)(또는 폐색된) 영역을 지칭한다. 폐색 해제 아틀라스의 이미지 조각에 명시되는 픽셀당 이미지 텍스처 및 깊이 정보는 볼류메트릭 비디오 신호의 표현된 뷰에서 숨겨지거나 폐색되는 이미지 피처/객체/구조를 시각적으로 묘사할 수 있지만 표현된 뷰에 인접한 뷰에서 적어도 부분적으로 폐색 해제되거나 가시적일 수 있다.
누락된 이미지 텍스처 및 깊이 정보를 갖는 홀을 그 자체로 포함하지 않는 주어진 참조 뷰에 대해, 깊이 이미지 기반 렌더링(DIBR) 및 참조 뷰에 사용 가능한 이미지 텍스처/깊이 정보를 사용하여 표현된 뷰 주변의 인접한 뷰에 대해 합성된 이미지가 생성될 수 있다. 합성된 이미지는, 이미지 텍스처 정보 및 깊이 정보가 참조 뷰에 사용 가능한 이미지 텍스처/깊이 정보로부터 획득될 수 없는 홀을 가질 수 있다. 합성된 이미지와 함께 이미지 마스크가 생성되어 인접한 뷰에 대한 합성된 이미지의 홀을 식별할 수 있다.
일부 작업 시나리오에서, 이미지 마스크는, 인접한 픽셀들 사이 또는 이들 중의 깊이에서 상대적으로 원활한 전환을 갖는 주어진 참조 뷰의 다른 이미지 영역으로부터 인접한 픽셀들 사이 또는 이들 중의 깊이에 큰 갭을 포함하는 주어진 참조 뷰의 이미지 영역(또는 면적)을 식별함으로써 주어진 참조 뷰에 대해 적어도 부분적으로 생성될 수 있다.
- 이미지 마스크에서 식별되는 - 홀(또는 픽셀의 볼록하지 않은 영역)에서의 이미지 조각에 대한 이미지 텍스처 정보 및 깊이 정보는 공간적으로 상이한 참조 뷰로부터 또는 시간적으로 상이한 참조 뷰로부터 획득될 수 있다. 예를 들어, 주어진 참조 뷰와 동일한 시점이지만 주어진 참조 뷰와 공간적으로 상이한, 공간적으로 상이한 참조 뷰는 인접한 뷰에서 합성된 이미지의 홀에 대해 이미지 텍스처 및 깊이 정보를 포함하고 제공할 수 있다. 주어진 참조 뷰를 포함하는 이러한 공간적으로 상이한 참조 뷰는 동일한 시점에 대해 다중 뷰 이미지를 집합적으로 형성할 수 있다.
추가적으로, 선택적으로 또는 대안적으로, 주어진 참조 뷰의 시점과 상이한 시점에 대한, 시간적으로 상이한 참조 뷰는 인접한 뷰에서 합성된 이미지의 홀에 대한 이미지 텍스처 및 깊이 정보를 포함하고 제공할 수 있다. 주어진 참조 뷰를 포함하는 이들 시간적으로 상이한 참조 뷰는 동일한 시각적 장면, 동일한 픽처 그룹(group of picture, GOP) 등에 속할 수 있다.
추가적으로, 선택적으로 또는 대안적으로, 인공 지능(AI) 또는 기계 학습(ML)은 훈련 이미지에 의해 훈련된 다음 인접한 뷰에서 합성된 이미지의 홀에 대한 이미지 텍스처 및 깊이 정보의 일부 또는 전부를 생성하거나 예측하도록 적용될 수 있다.
주어진 시점에 대해 폐색 해제 아틀라스에 포함된 이미지 조각은 상이한 참조 뷰에 대한 이미지 조각의 상이한 서브세트로 분할될 수 있다. 상이한 서브세트에서의 이미지 조각의 각 서브세트는 상이한 참조 뷰의 각각의 참조 뷰에서 (폐색된) 이미지 조각을 포함할 수 있다.
본원에 기술되는 폐색 해제 아틀라스 기법은 이들 이미지 조각을, 최소의 총 면적을 커버하고 중첩 조각을 갖지 않는 결합된 이미지(또는 "아틀라스")로 (예를 들어, 적응적으로, 최적으로 등) 패킹하는 데 사용될 수 있다. 폐색 해제 아틀라스를 나타내는 결합된 이미지의 각 조각은 폐색 해제 아틀라스에 포함된 다른 조각들에 의해 중첩되지 않고 전용 영역(또는 면적)을 갖는다.
볼류메트릭 비디오 신호는 연이은 다중 뷰 이미지 시퀀스로부터 생성될 수 있다. 연이은 다중 뷰 이미지 시퀀스는 연이은 시점 시퀀스를 형성하는 복수의 시점에 대한 복수의 다중 뷰 이미지를 포함한다. 복수의 다중 뷰 이미지의 각 다중 뷰 이미지는 복수의 시점의 각각의 시점에 대해 복수의 참조 뷰에 대한 복수의 단일 뷰 이미지를 포함한다.
연이은 시점 시퀀스에 대해 연이은 폐색 해제 아틀라스 시퀀스가 생성될 수 있다. 연이은 폐색 해제 아틀라스 시퀀스는 연이은 시점 시퀀스의 복수의 시점에 대한 복수의 폐색 해제 아틀라스를 포함한다. 복수의 폐색 해제 아틀라스의 각 폐색 해제 아틀라스는 복수의 시점의 각각의 시점에 대해 볼류메트릭 비디오 신호에 표현되는 복수의 참조 뷰의 하나 이상의 참조 뷰에 대한 이미지 조각의 하나 이상의 서브세트를 포함하는 이미지 조각을 포함한다.
연이은 시점 시퀀스에 의해 커버되는 시간 간격(예를 들어, 30분, 1시간 이상 등)의 서브 간격(예를 들어, 초의 일부, 1초 이상 등)에 대해, 볼류메트릭 비디오 신호는 신호에 표현되는 하나 이상의 참조 뷰에 대한 픽처 그룹(GOP)의 하나 이상의 서브시퀀스로 인코딩될 수 있다. GOP의 하나 이상의 서브시퀀스 내 GOP의 각 서브시퀀스는 볼류메트릭 비디오 신호에 표현되는 하나 이상의 참조 뷰의 각각의 참조 뷰에 대한 텍스처 이미지 서브시퀀스 및 깊이 이미지 서브시퀀스를 포함한다.
GOP의 각 서브시퀀스는 하나 이상의 GOP를 포함한다. 각 GOP는 I-프레임으로 구분되거나 개시 I-프레임으로 시작하여 다음 개시 I-프레임 직전의 프레임으로 종료된다. 일부 실시형태에서, 개시 I-프레임 및 다음 개시 I-프레임은 그 사이에 다른 I-프레임(들)이 없는 2개의 가장 가까운 I-프레임일 수 있다. 일부 실시형태에서, 개시 I-프레임 및 다음 개시 I-프레임은 인근의 I-프레임일 수 있지만 반드시 2개의 가장 가까운 I-프레임일 필요는 없다. GOP의 I-프레임은 다른 프레임으로부터의 이미지 데이터에 의존하지 않고 디코딩될 수 있는 반면, GOP의 B-프레임 또는 P-프레임과 같은 비-I-프레임은 적어도 부분적으로 GOP의 다른 프레임으로부터 예측될 수 있다. GOP의 I-프레임(들) 및/또는 비-I-프레임(들)은 시간적으로 안정하거나 시간적으로 유사한 소스/입력 이미지로부터 생성될 수 있다. 이러한 시간적으로 안정한 소스/입력 이미지는 GOP에서 I-프레임(들) 및/또는 비-I-프레임(들)을 생성할 때 상대적으로 효율적인 인터 또는 인트라(intra) 예측 및 데이터 압축 또는 인코딩을 용이하게 할 수 있다.
연이은 시점 시퀀스에 의해 커버되는 간격의 동일한 서브 간격에 대해, 볼류메트릭 비디오 신호가 신호에 표현되는 하나 이상의 참조 뷰에 대한 폐색 해제 아틀라스 그룹의 하나 이상의 서브시퀀스로 인코딩될 수 있다. 폐색 해제 아틀라스 그룹의 하나 이상의 서브시퀀스 내 폐색 해제 아틀라스 그룹의 각 서브시퀀스는 볼류메트릭 비디오 신호에 표현되는 하나 이상의 참조 뷰의 각각의 참조 뷰에 인접한 뷰의 홀에 대한 텍스처 이미지 서브시퀀스 및 깊이 이미지 서브시퀀스를 포함한다.
폐색 해제 아틀라스 그룹의 각 서브시퀀스는 하나 이상의 폐색 해제 아틀라스 그룹을 포함한다. 폐색 해제 아틀라스의 각 그룹은 아틀라스 I-프레임으로 구분되거나 개시 아틀라스 I-프레임으로 시작하여 다음 개시 아틀라스 I-프레임 직전의 아틀라스 프레임으로 종료된다. 일부 실시형태에서, 개시 아틀라스 I-프레임 및 다음 개시 아틀라스 I-프레임은 그 사이에 다른 아틀라스 I-프레임(들)이 없는 2개의 가장 가까운 아틀라스 I-프레임일 수 있다. 일부 실시형태에서, 개시 아틀라스 I-프레임 및 다음 개시 아틀라스 I-프레임은 인근의 아틀라스 I-프레임일 수 있지만 반드시 2개의 가장 가까운 아틀라스 I-프레임일 필요는 없다. 폐색 해제 아틀라스 그룹의 아틀라스 I-프레임은 다른 아틀라스 프레임으로부터의 폐색 해제 데이터에 의존하지 않고 디코딩될 수 있는 반면, 폐색 해제 아틀라스 그룹의 아틀라스 B-프레임 또는 아틀라스 P-프레임과 같은 아틀라스 비-I-프레임은 폐색 해제 아틀라스 그룹의 다른 아틀라스 프레임으로부터 적어도 부분적으로 예측될 수 있다. 폐색 해제 아틀라스 그룹의 아틀라스 I-프레임(들) 및/또는 아틀라스 비-I-프레임(들)은 시간적으로 안정하거나 시간적으로 유사한 폐색 해제 아틀라스로부터 생성될 수 있다. 이러한 시간적으로 안정한 폐색 해제 아틀라스는 폐색 해제 아틀라스 그룹에서 아틀라스 I-프레임(들) 및/또는 아틀라스 비-I-프레임(들)을 생성할 때 상대적으로 효율적인 인터 또는 인트라 예측 및 데이터 압축 또는 인코딩을 용이하게 할 수 있다.
5. 폐색 해제 데이터에 대한 이미지 마스크
도 2a는 참조 뷰의 예시적인 텍스처 이미지(예를 들어, 360도 "야구 커버" 뷰 등)를 도시한다. 텍스처 이미지는 이미지 프레임의 픽셀 어레이에 대한 색상, 휘도/색차 값, RGB 값, YCbCr 값 등과 같은 텍스처 정보를 포함한다. 텍스처 이미지는 연이은 시점 시퀀스에 의해 커버되는 시간 간격의 시점에 대응하거나 이에 의해 인덱싱될 수 있고, 참조 뷰에 대한 비디오 스트림으로, 예를 들어 비디오 스트림의 픽처 또는 이미지의 텍스트 이미지 그룹(GOP)의 텍스처 이미지 I-프레임 또는 텍스처 이미지 비I-프레임으로 인코딩될 수 있다.
도 2b는 도 2a의 텍스처 이미지와 동일한 참조 뷰의 예시적인 깊이 이미지(예를 들어, 360도 "야구 커버" 뷰 등)를 도시한다. 도 2b의 깊이 이미지는 도 2a의 텍스처 이미지의 픽셀 어레이의 일부 또는 모든 픽셀에 대한 깊이 값, z-값, 공간 격차 값, 시차 값 등과 같은 깊이 정보를 포함한다. 깊이 이미지는 연이은 시점 시퀀스에 의해 커버되는 시간 간격의 동일한 시점에 대응하거나 이에 의해 인덱싱될 수 있고, 참조 뷰에 대한 비디오 스트림으로, 예를 들어 비디오 스트림의 픽처 또는 이미지의 깊이 이미지 그룹(GOP)의 깊이 이미지 I-프레임 또는 깊이 이미지 비I-프레임으로 인코딩될 수 있다.
도 2c는 예시적인 이미지 마스크를 도시하며, 상기 이미지 마스크는 비트 어레이를 갖는 비트 마스크일 수 있다. 이미지 마스크의 비트 어레이의 표시자 또는 비트(예를 들어, 1-1 등)는 도 2a의 텍스처 이미지 및/또는 도 2b의 깊이 이미지에 표현된 픽셀 어레이의 각각의 픽셀에 대응할 수 있다. 이미지 마스크의 각 표시자 또는 비트는, 폐색 해제된 픽셀 텍스처 값(예를 들어, 색상, 휘도/색차 값, RGB 값, YCbCr 값 등) 및/또는 폐색 해제된 픽셀 깊이 값(예를 들어, 깊이 값, z-값, 공간 격차 값, 시차 값 등)과 같은 폐색 해제 데이터 일부가 이미지 워핑 및 홀 채우기 작업에서 도 2a의 텍스처 이미지 및/또는 도 2b의 깊이 이미지와 사용되는 폐색 해제 아틀라스에 제공되는지를 나타내거나 명시할 수 있다.
예시적인 홀 채우기 작업은 Wenhui Jia 외에 의해 2019년 4월 1일에 출원된 미국 가특허 출원 제62/811,956호, "깊이 이미지 기반 렌더링을 위한 홀 채우기(HOLE FILLING FOR DEPTH IMAGE BASED RENDERING)"에 설명되며, 이로써 이의 전체 내용이 본원에 완전히 설명된 것처럼 참조로써 포함된다.
이미지 워핑 및 홀 채우기 작업은 뷰어의 현재 뷰에 합성된 이미지를 생성하는 데 사용될 수 있으며, 상기 뷰어의 현재 뷰는 참조 뷰에 인접한 뷰일 수 있다. 폐색 해제 아틀라스에 제공되는 폐색 해제된 픽셀 텍스처 값 및/또는 폐색 해제된 픽셀 깊이 값은 도 2a의 텍스처 이미지 및/또는 도 2b의 깊이 이미지에서 폐색된 이미지 세부사항을 묘사하지만 참조 뷰에 인접한 뷰에서 부분적으로 가시적일 수 있다. 폐색 해제 아틀라스는 연이은 시점 시퀀스에 의해 커버되는 시간 간격의 동일한 시점에 대응하거나 이에 의해 인덱싱될 수 있고, 참조 뷰에 대한 비디오 스트림 또는 별도의 수반 비디오 스트림으로, 예를 들어 비디오 스트림 또는 별도의 수반 비디오 스트림의 폐색 해제 아틀라스 그룹의 아틀라스 I-프레임 또는 아틀라스 비-I-프레임으로 인코딩될 수 있다.
도 2c에 예시되는 바와 같은 이미지 마스크는, 마스크가 참조 뷰에 이웃하는 하나 이상의 인접한 뷰로부터 가시적이지 않은 텍스처 이미지 및/또는 깊이 이미지의 일부를 커버하기 때문에 도 2a의 대응하는 텍스처 이미지 또는 도 2b의 대응하는 깊이 이미지와 정렬되는 것으로 보이지 않는다. 이미지 마스크로 생성된 폐색 해제 아틀라스의 목적은 뷰어의 현재 뷰와 같은 합성된 뷰의 홀을 채우기 위해 텍스처 및 깊이 이미지 데이터를 제공하는 것이며, 홀은 합성된 뷰(또는 선택된 "참조" 뷰)의 재투영에서의 폐색 해제로 인해 생성된다. 다양한 작업 시나리오에서, 폐색 해제 아틀라스의 텍스처 및 깊이 데이터는 합성된 뷰의 홀보다 많거나 적거나, 또는 이와 동일한 공간 영역을 커버할 수 있다.
일부 작업 시나리오에서, 폐색 해제 아틀라스는, 폐색 해제 아틀라스의 폐색 해제된 텍스처 및 깊이 데이터가 참조 뷰에 인접한 뷰의 홀을 완전히 채우기 위해 사용 가능함을 보장할 수 있도록 폐색 해제 아틀라스에 의해 커버되는 공간 영역이 안전 마진을 포함할 수 있다.
일부 작업 시나리오에서, 폐색 해제 아틀라스는, 폐색 해제 아틀라스의 폐색 해제된 텍스처 및 깊이 데이터가 참조 뷰에 인접한 뷰의 홀을 완전히 채우기 위해 사용 가능함을 보장하지 않을 수 있도록 폐색 해제에 의해 커버되는 공간 영역이 안전 마진을 포함하지 않을 수 있다. 이러한 작업 시나리오에서, 수신 비디오 디코더는 비디오 스트림에 표현된 참조 뷰에 인접하거나 이웃하는 합성된 뷰의 홀의 일부에 대한 텍스처 및 깊이 정보의 적어도 일부를 생성하기 위해 홀 채우기 알고리즘을 적용할 수 있다.
추가적으로, 선택적으로 또는 대안적으로, 폐색 해제 아틀라스에서 커버된 마스킹된 공간 영역은 참조 뷰에 묘사된 시각적 장면으로부터 돌출한(salient) 시각적 객체를 선택하는 데 사용될 수 있다. 예를 들어, 폐색 해제 아틀라스는 수신 비디오 디코더에게 돌출한 시각적 객체로부터 떨어진 공간 영역을 커버하기 위한 임의의 텍스처 또는 깊이 정보를 운반하거나 제공하지 않을 수 있다. 폐색 해제 아틀라스가 수신 비디오 디코더에 텍스처 또는 깊이 정보를 운반하거나 제공하는 공간 영역은 수신 비디오 디코더에게 해당 공간 영역이 돌출한 시각적 객체를 포함한다는 것을 나타낼 수 있다.
6. 폐색 해제 아틀라스 제너레이션
도 3a는 하나 이상의 참조 뷰에 대해 폐색된 영역을 나타내는 이미지 조각을 포함하거나 이로 패키징된 예시적인 (출력) 폐색 해제 아틀라스를 도시한다. 이미지 메타데이터는 폐색 해제 아틀라스의 이들 이미지 조각이 개별적으로 대응하는 참조 뷰를 나타내기 위해 생성될 수 있다.
예로써, 볼류메트릭 비디오 신호는 다중 뷰 이미지 시퀀스로부터 생성된다. 다중 뷰 이미지 시퀀스에서 각 다중 뷰 이미지는 연이은 시점 시퀀스의 시점에 대해 N개의 참조 뷰에 대한 N개의 단일 뷰(입력/소스) 텍스처 이미지 집합 및 N개의 참조 뷰에 대한 N개의 단일 뷰(입력/소스) 깊이 이미지 집합을 포함할 수 있다.
뷰 파라미터는 수신되어 이미지(픽셀) 좌표(예를 들어, 픽셀 위치, 픽셀의 행 및 열 등) 및 깊이를 세계(World)(3-D) 좌표 시스템과 같은 좌표 시스템에 매핑(map)하는 단사 함수(injective function)를 지정하거나 규정하는 데 사용될 수 있다. 뷰 파라미터는 인접한 뷰에서 이미지를 합성하고, 참조 뷰에서 폐색될 수 있지만 인접한 뷰에서 적어도 부분적으로 폐색 해제될 수 있는 홀 또는 영역을 식별하고, 참조 뷰의 일부 또는 전부에 대해 참조 뷰당(per-reference-view) 기반으로 이러한 홀 또는 영역에 대한 폐색 해제 텍스처 데이터 및 폐색 해제 깊이 데이터를 결정, 추정 또는 예측하는 데 사용될 수 있다.
도 3a에 예시되는 바와 같이, 참조 뷰 및 주어진 시점에 대한 각 단일 뷰 텍스처 이미지 및 단일 뷰 깊이 이미지에 대해, 폐색 해제 텍스처 및 깊이 데이터가 주어진 시점에 대해 폐색 해제 아틀라스에 제공되는 공간 영역을 식별하는 비트 마스크와 같은 이미지 마스크가 참조 뷰에 대해 생성될 수 있다.
도 3b는 수신되거나 입력된 다중 뷰 비디오에서 다중 뷰 이미지 시퀀스에 대해 생성될 수 있는 연이은 폐색 해제 아틀라스의 예시적인 시퀀스를 도시한다. 폐색 해제 아틀라스 시퀀스는 폐색 해제 아틀라스 그룹으로 인코딩될 수 있다. 이러한 폐색 해제 아틀라스의 각 그룹은 시간적으로 안정한 폐색 해제 아틀라스를 포함하고 상대적으로 효율적으로 비디오 스트림으로 인코딩될 수 있다.
도 4a는 시간 간격을 커버하는 다중 뷰 이미지 시퀀스의 다중 뷰 이미지에 대해 도 3a에 예시되는 바와 같은 폐색 해제 아틀라스를 생성하기 위한 예시적인 처리 흐름을 도시한다. 일부 예시적인 실시형태에서, 하나 이상의 컴퓨팅 디바이스 또는 컴포넌트가 이 프로세스 흐름을 수행할 수 있다.
다중 뷰 이미지는 시간 간격의 시점에 대응하거나 이에 인덱싱되며 N개의 참조 뷰에 대한 N개의 (소스/입력) 단일 뷰 텍스처 이미지 및 N개의 참조 뷰에 대한 N개의 (소스/입력) 단일 뷰 깊이 이미지를 포함한다. N개의 단일 뷰 텍스처 이미지의 각 단일 뷰 텍스처 이미지는 N개의 단일 뷰 깊이 이미지의 각각의 단일 뷰 깊이 이미지에 대응한다.
블록(402)에서, 본원에서 기술되는 시스템(예를 들어, 도 1a의 100 등)이, 폐색 해제 아틀라스가 N개의 참조 뷰에 인접한 뷰의 합성된/워핑된 이미지에 존재할 수 있는 홀 또는 공간 영역에 대한 이미지 조각을 저장(예를 들어, 복사, 스탬핑(stamp), 배치 등)하는 데 사용되기 전에, 폐색 해제 아틀라스에 대한 초기화 작업을 수행한다.
블록(402)의 초기화 작업은: (a) N개의 참조 뷰에 인접한 뷰의 합성된/워핑된 이미지에서 누락된 텍스처 또는 깊이 데이터를 가질 수 있는 N개의 참조 뷰에서 공간 영역 또는 홀을 식별하는 N개의 이미지 마스크를 수신하거나 로딩하는 것; (b) N개의 이미지 마스크에서 식별된 이미지 조각에 대한 텍스처 및 깊이 정보를 수신하거나 로딩하는 것; (c) 이미지 조각을 사이즈에 따라 이미지 조각 목록에 분류하는 것; 등을 포함할 수 있다.
여기서, "사이즈"란 이미지 조각의 공간 차원을 측정하기 위한 메트릭을 지칭한다. 이미지 조각의 공간 차원을 측정하기 위해 다양한 메트릭이 사용될 수 있다. 예를 들어, 이미지 조각을 완전히 둘러싸는 최소 직사각형이 결정될 수 있다. 수평 사이즈("xsize"로 표시됨), 수직 사이즈("ysize"로 표시됨), 수평 사이즈와 수직 사이즈의 조합 등이 개별적으로 또는 집합적으로 메트릭(들)으로서 사용되어 이미지 조각의 사이즈를 측정할 수 있다.
일부 작업 시나리오에서, 이미지 조각의 사이즈는: 64*max(xsize, ysize) + min(xsize, ysize)으로 계산될 수 있으며, 여기서, xsize 및 ysize 각각은 픽셀 유닛으로 - 또는 2x2 픽셀 블록의 2픽셀, 4x4 픽셀 블록의 4픽셀 등과 같은 (음이 아닌 정수의 제곱일 수 있는) 특정 사이즈의 픽셀 블록의 수평 또는 수직 차원의 유닛으로 표현될 수 있다.
N개의 로딩된 이미지 마스크의 각 이미지 마스크는 N개의 참조 뷰의 각각의 참조 뷰에 대응한다. 이미지 마스크는 참조 뷰에서 폐색되지만 참조 뷰에 인접한 뷰에서 적어도 부분적으로 가시적이게 되는 이미지 조각에 대한 이미지 마스크 부분을 포함한다. 이미지 마스크의 이미지 마스크 부분들의 각 이미지 마스크 부분은 이미지 마스크가 대응하는 참조 뷰에서 폐색되지만 참조 뷰에 인접한 뷰에서 적어도 부분적으로 가시적이게 되는 이미지 조각들의 각각의 이미지 조각을 공간적으로 경계짓거나 규정한다. 이미지 마스크에 표현되는 각 픽셀에 대해, 픽셀이 이미지 조각 중 하나에 속하면 비트 표시자는 참 또는 1로 설정되고, 그 밖에 픽셀이 이미지 조각 중 어느 것에도 속하지 않으면 거짓 또는 0으로 설정된다.
일부 작업 시나리오에서, 폐색 해제 아틀라스는, 다중 뷰 이미지에 대한 이미지 조각(예를 들어, 모두 등)의 공간적 배열을 설명하고 폐색 해제 아틀라스에서 폐색 해제 데이터가 저장되거나 유지되는 이미지 조각을 식별하거나 추적하는 데 사용되는 레이아웃 마스크를 포함한다. 레이아웃 마스크는 직사각형 형상과 같은 공간 형상 내에 배열되는 픽셀 어레이를 포함할 수 있다. 폐색 해제 아틀라스의 레이아웃 마스크에서 공간적으로 경계 지어지거나 규정되는 이미지 조각은 상호 배타적이며 레이아웃 마스크에서 서로 (예를 들어, 완전히 등) 중첩되지 않는다.
블록(402)의 초기화 작업은: (d) 단일 쿼드트리 루트(root) 노드를 생성하는 것을 더 포함할 수 있다. 이 루트 노드는 가장 큰 이미지 조각의 사이즈를 완전히(just) 커버하는 최적의 사이즈로 초기화된다. 쿼드트리는 대응하는 레이아웃 마스크를 가능한 한 작게 유지하기 위해 필요에 따라 각 차원에서 2배만큼 점진적으로 성장되어; (e) 폐색 해제 아틀라스의 레이아웃 마스크에서 제1 노드에 대해 지정된 영역으로 이미지 조각(예를 들어, 이에 대한 이미지 마스크 부분 등)을 스탬핑하여 쿼드트리의 제1 노드에 가장 큰 이미지 조각을 링킹(linking); 등을 한다. 여기서, 쿼드트리의 제1 노드는 전체 레이아웃 마스크를 나타내는 루트 노드 하의 제1 레벨 쿼드트리 노드 중 제1 쿼드트리 노드를 지칭한다. 여기서, "스탬핑"은 폐색 해제 아틀라스의 레이아웃 마스크에서 이에 대한 이미지 조각 또는 이미지 마스크 부분을 복사, 전사 또는 피팅하는 것을 지칭한다. 여기서 "쿼드트리"는 각 내부 노드가 4개의 자식(children) 쿼드트리 노드를 갖는 트리 데이터 구조를 지칭한다.
쿼드트리는 초기에 동일한 사이즈의 직사각형과 같은 동일한 사이즈의 공간 형상의 4개의 노드를 포함한다. 본원에 기술되는 바와 같은 쿼드트리 노드의 공간 형상은 음이 아닌 정수의 제곱인 픽셀의 카운트(count)를 갖는 특수 차원을 가질 수 있다.
가장 큰 이미지 조각을 폐색 해제 아틀라스의 레이아웃 마스크에 스탬핑하는 것에 후속하여, 가장 큰 이미지 조각이 (사이즈 정렬된) 이미지 조각 목록으로부터 제거되고, 제1 쿼드트리 노드 이후의 다음 쿼드트리 노드가 현재 쿼드트리 노드로서 설정된다. 현재 쿼드트리 노드는 다음으로 이미지 조각을 호스팅(host)하는 데 사용될 빈(empty) 또는 후보 쿼드트리 노드(아직 임의의 이미지 조각 또는 각각의 이미지 마스크 부분으로 채워지지(populated) 않음)를 나타낸다.
블록(404)에서, 시스템은 사이즈 분류된 이미지 조각 목록이 여전히 폐색 해제 아틀라스의 레이아웃 마스크로 스탬핑되거나 공간적으로 배열될 필요가 있는 임의의 이미지 조각을 포함하는지를 결정한다. 일부 실시형태에서, 최소 조각 사이즈 임계값 미만의 임의의 이미지 조각은 목록으로부터 제거되거나 목록에서 무시될 수 있다. 예시적인 최소 조각 사이즈 임계값은: 수평 및 수직 차원 중 하나 또는 양쪽 모두에 4개의 픽셀, 수평 및 수직 차원 중 하나 또는 양쪽 모두에 6개의 픽셀 등 중 하나일 수 있다.
(사이즈 분류된) 이미지 조각 목록이 여전히 폐색 해제 아틀라스의 레이아웃 마스크로 스탬핑되거나 공간적으로 배열될 필요가 있는 이미지 조각(들)을 포함하지 않는다는 결정에 응답하여, 처리 흐름이 종료된다.
그렇지 않으면, (사이즈 분류된) 이미지 조각 목록이 여전히 폐색 해제 아틀라스의 레이아웃 마스크로 스탬핑되거나 공간적으로 배열될 필요가 있는 이미지 조각(들)을 포함한다는 결정에 응답하여, 시스템은 (사이즈 분류된) 이미지 조각 목록으로부터 다음으로 가장 큰 이미지 조각을 현재 이미지 조각으로서 선택한다.
블록(406)에서, 시스템은 쿼드트리의 현재 쿼드트리 노드가 현재 이미지 조각 - 또는 현재 이미지 조각에 대해 대응하는 이미지 마스크 부분을 호스팅하기에 충분히 큰지를 결정한다.
쿼드트리의 현재 쿼드트리 노드가 현재 이미지 조각을 호스팅하기에 충분히 크지 않다는 결정에 응답하여, 처리 흐름은 블록(410)으로 진행한다.
그렇지 않으면, 쿼드트리의 현재 쿼드트리 노드가 현재 이미지 조각을 호스팅하기에 충분히 크다는 결정에 응답하여, 처리 흐름은 블록(408)으로 진행한다.
블록(408)에서, 시스템은 현재 쿼드트리 노드가 현재 이미지 조각에 대해 "최적" 피트 쿼드트리 노드인지를 결정한다. "최적" 피트 쿼드트리 노드는 이미지 조각 또는 그에 대한 이미지 마스크 부분을 호스팅하기에 충분히 큰 쿼드트리 노드를 지칭한다. 환언하면, “최적” 피트 쿼드트리 노드는 폐색 해제 아틀라스의 레이아웃 마스크에서 이미지 조각을 완전히 둘러싸거나 호스팅하기 위한 최소 사이즈의 쿼드트리 노드를 나타낸다.
현재 쿼드트리 노드가 현재 이미지 조각에 대한 "최적" 피트 쿼드트리 노드가 아니라는 결정에 응답하여, 시스템은 "최적” 피트 쿼드트리 노드가 발견될 때까지 현재 쿼드트리 노드를 (예를 들어, 반복적으로, 거듭적으로, 재귀적으로 등) 하위분할한다. "최적" 피트 쿼드트리 노드는 현재 쿼드트리 노드로 설정된다.
현재 쿼드트리 노드가 현재 이미지 조각에 대한 "최적" 피트 쿼드트리 노드라고 결정되면, 시스템은 "최적" 피트 쿼드트리 노드에서 현재 이미지 조각을 스탬핑하거나 공간적으로 경계짓는다.
현재 이미지 조각을 폐색 해제 아틀라스의 레이아웃 마스크 또는 현재 쿼드트리 노드에 스탬핑하는 것에 후속하여, 현재 이미지 조각이 (사이즈 분류된) 이미지 조각 목록으로부터 제거되고 (제거된) 현재 쿼드트리 노드 이후의 다음 쿼드트리 노드가 (신규한 또는 현존하는(present)) 현재 쿼드트리 노드로서 설정된다.
블록(410)에서, 시스템은 현재 이미지 조각을 호스팅하는 데 사용 가능한 폐색 해제 아틀라스의 전체 레이아웃 마스크를 나타내는 루트 노드 하의 임의의 개소에 빈 또는 후보 쿼드트리 노드가 있는지를 결정한다. 만약 그러하다면, (예를 들어, 하나 이상의 노드가 사용되는 경우 등에 집합적으로) 빈 또는 후보 쿼드트리 노드가 현재 이미지 조각을 호스팅하는 데 사용된다. 그 후 프로세스 흐름은 블록(404)으로 진행한다. 따라서, 현재 이미지 조각이 현재 쿼드트리 노드 하의 임의의 기존 (자식) 쿼드트리 노드에 (그 전체에 있어) 피팅되지 않으면, 이어서 해당 조각을 레이아웃 마스크의 임의의 개소에 피팅하려는 시도가 이루어질 수 있다. 다수의 작업 시나리오에서, 쿼드트리(들)는 단지 아틀라스 구성을 보다 신속하게 만들기 위해 설계된 가속 데이터 구조라는 점에 유의해야 한다. 본원에서 설명되는 쿼드트리는 일단 레이아웃(또는 레이아웃 마스크)이 결정되면 저장되지 않거나 필요하지 않을 수 있다. 나아가, 임의의 이미지 조각이 배치될 수 있는 곳에 대해 본원에서 기술되는 쿼드트리에 의해 부과되는 (예를 들어, 절대적, 내재적 등의) 제한이 없다. 이미지 조각은 - 종종 일부 작업 시나리오에서 - 다중 쿼드트리 노드를 중첩할 수 있다. 따라서 (예를 들어, 현재 이미지 조각 등과 같은 조각에 대한 단일 최적 피트 노드를 발견하는) "최적 피트" 방법이 실패하면, 한편에서 조각을 피팅하기 위한 전체 레이아웃 마스크에 대한 보다 망라적인(그리고 고가의) 검색이 수행될 수 있다. 성공 시, 이렇게 배치된 조각이 중첩하는 모든 쿼드트리 노드가 "점유됨"으로 마킹되고 처리가 연속된다. 실패 시, 처리 흐름은 블록(412)으로 진행되어 쿼드트리를 성장시킨다. 도 4a에 예시되는 전체 알고리즘이 여전히 효율적이고 효과적인 이유는 다수의 작업 시나리오에서 대분분의 경우, 최적 피트 쿼드트리 검색이 성공하기 때문이다. 현재 이미지 조각에 대해 최적 피트 노드가 발견되지 않는 경우에만 현재 이미지 조각을 호스팅하기 위한 가능한 중첩 쿼드트리 노드를 발견하기 위해 보다 고가이거나 망라적인 폴백 검색(fallback search)이 수행되거나 호출된다. 이는 폐색 해제 아틀라스의 전체 레이아웃 마스크에서 (아직 임의의 이미지 조각에 의해 점유되지 않은) 모든 빈 또는 후보 쿼드트리 노드까지 (예를 들어, 이에 대한 검색 루프 등에서) 검색하는 것을 수반할 수 있다.
레이아웃 마스크에 잔재하는 빈 또는 후보 쿼드트리 노드 중 어느 것도 현재 이미지 조각을 호스팅하기에 충분히 크지 않다는 결정에 응답하여, 처리 흐름은 블록(412)으로 진행한다.
그렇지 않으면, 레이아웃 마스크의 빈 또는 후보 쿼드트리 노드가 현재 이미지 조각을 호스팅하기에 충분히 크다는 결정에 응답하여, 빈 또는 후보 쿼드트리 노드가 (신규한) 현재 쿼드트리 노드로서 설정되고 처리 흐름은 블록(408)으로 진행한다.
블록(412)에서, 시스템은 폐색 해제 아틀라스 또는 폐색 해제 아틀라스의 레이아웃 마스크의 사이즈를 수평 및 수직 차원 각각에서 2배(2x)만큼 확장하거나 증가시킨다. 이 확장 이전의 기존 쿼드트리(또는 이전(old) 쿼드트리)는 (예를 들어, 신규히 확장된 쿼드트리의 좌측 상단 사분면 등의) 제1 쿼드트리 노드에 링킹되거나 배치될 수 있다. (예를 들어, 신규히 확장된 쿼드트리의 우측 상단 사분면 등의) 제2 쿼드트리 노드는 (신규한) 현재 쿼드트리 노드로 설정된다. 처리 흐름은 블록(408)으로 진행한다.
이미지 조각에 속하는 것으로서 폐색 해제 아틀라스의 레이아웃 마스크에서 식별되는 각 픽셀에 대한 텍스처 및 깊이 값은 폐색 해제 아틀라스의 레이아웃 마스크와 함께 폐색 해제 아틀라스의 일부로서 저장, 캐싱(cached) 또는 버퍼링될 수 있다.
7. 시간적으로 안정한 그룹 레벨 레이아웃 마스크
비디오 시퀀스의 연이은 폐색 해제 아틀라스를 안정화하기 위해, 복수의 연이은 시점에 대한 - 비디오 시퀀스의 텍스처 이미지 GOP, 깊이 이미지 GOP 등에 대응할 수 있는 - 연이은 폐색 해제 아틀라스 그룹에서 폐색 해제 아틀라스의 레이아웃 마스크가 연이은 폐색 해제 아틀라스 그룹에 대한 그룹 레벨 레이아웃 마스크를 형성하기 위해 "또는(or)" 작업에 의해 분리적으로 조이닝될(joined) 수 있다.
레이아웃 마스크의 각 레이아웃 마스크는 동일한 사이즈일 수 있고, 레이아웃 마스크의 임의의 픽셀이 각각의 폐색 해제 아틀라스에서 호스팅된 이미지 조각에 속하는지를 나타내기 위해 각각의 표시자 또는 비트로 동일한 픽셀 어레이를 압축할 수 있다.
그룹 레벨 레이아웃 마스크는 연이은 폐색 해제 아틀라스 그룹에 대한 (개별) 레이아웃 마스크와 동일한 사이즈일 수 있고 (개별) 레이아웃 마스크에서와 동일한 픽셀 어레이를 포함할 수 있다. 유니온 작업(union operation) 또는 분리형 "또는" 작업을 통해 그룹 레벨 레이아웃 마스크를 생성하기 위해, 연이은 폐색 해제 아틀라스 그룹에 대한 (개별) 레이아웃 마스크의 동일한 특정 픽셀 위치 또는 인덱스에서 대응하는 픽셀에 대한 표시자 또는 비트 중 임의의 것이 참이거나 일(1)인 경우, 특정 픽셀 위치 또는 인덱스에서 픽셀에 대한 표시자 또는 비트가 참 또는 일(1)로 설정될 수 있다.
그룹 레벨 레이아웃 마스크 또는 그의 인스턴스(instance)는, 연이은 폐색 해제 아틀라스 그룹에서 커버되는 복수의 연이은 시점들 각각의 시점에 대해 폐색 해제 아틀라스에서 표현될 이미지 조각을 호스팅하거나 레이아웃하기 위해 연이은 폐색 해제 아틀라스 그룹의 각 폐색 해제 아틀라스에 대해 반복적으로 사용될 수 있다. 시점에 대한 폐색 해제 텍스처 및 깊이 정보를 갖지 않는 픽셀은 해당 시점(또는 타임스탬프)에 대한 그룹 레벨 레이아웃 마스크의 대응하는 인스턴스에서 제외(left off)(예를 들어, 규정되지 않음, 점유되지 않음 등)될 수 있다. 도 3c는 본원에서 기술되는 공통 그룹 레벨 레이아웃 마스크로 생성된 연이은 폐색 해제 아틀라스의 예시적인 그룹을 도시한다.
일부 작업 시나리오에서, 동일한 그룹 레벨 레이아웃 마스크의 다중 인스턴스를 사용하여 별도의 폐색 해제 아틀라스가 생성될 수 있다. - 결합된 그룹 레벨 레이아웃 마스크의 제1 인스턴스와 함께 - 연이은 폐색 해제 아틀라스 그룹의 제1 폐색 해제 아틀라스는, 연이은 폐색 해제 아틀라스 그룹의 다른 폐색 해제 아틀라스로부터 생성된 다른 아틀라스 프레임에 뒤이어 개시 아틀라스 I-프레임을 생성하는 데 사용될 수 있다. 개시 아틀라스 I-프레임 및 다른 아틀라스 프레임은 개시 아틀라스 I-프레임 및 그룹의 종료 전의 다음 개시 아틀라스 I-프레임에 의해 구분되는 연이은 아틀라스 프레임 그룹을 형성할 수 있다. 시간적으로 안정한 그룹 레벨 레이아웃 마스크는 데이터 유사성을 발견하고 수신 비디오 디코더에 송신될 연이은 폐색 해제 아틀라스 그룹의 전체 데이터를 감소시키기 위해 인터 예측 및/또는 인트라 예측을 적용하는 것과 같은 데이터 압축 작업을 용이하게 하는 데 사용될 수 있다. 일부 구현 예에서, (I-프레임) 시간 간격에 걸쳐 레이아웃 마스크(또는 비트 마스크)의 유니온을 사용하면 비디오 압축을 2배 이상 향상시킬 수 있다.
일부 작업 시나리오에서, 연이은 폐색 해제 아틀라스에 대해 개별 레이아웃 마스크 각각에서 식별되는 모든 픽셀에 대한 텍스처 및 깊이 데이터가 연이은 폐색 해제 아틀라스에 대해 결합된 그룹 레벨 레이아웃 마스크를 생성하지 않고 포함되거나 송신될 수 있다. - 시간적 및 공간적으로 서로 상이한 개별 레이아웃 마스크를 사용하는 - 데이터 압축 작업은 본원에서 설명되는 그룹 레벨 레이아웃 마스크를 사용하는 데이터 압축 작업만큼 데이터 볼륨을 감소시키는 것에 있어 효율적이지 않을 수 있다.
일부 작업 시나리오에서, 폐색 해제 아틀라스의 레이아웃 마스크에 이미지 조각을 레이아웃하기 위해, 이들 이미지 조각은 먼저 회전되지 않고 빈 또는 후보 쿼드트리 노드와 같은 사용 가능한 공간 영역에 피팅될 수 있다. 일부 작업 시나리오에서, 패킹 효율성을 증가시키기 위해 이미지 조각이 "최적" 피트 쿼드트리 노드에 배치되기 전에 먼저 회전될 수 있다. 그 결과, 회전 전에는 이미지 조각을 호스팅할 수 없는 쿼드트리 노드가 회전 후에는 이미지 조각을 호스팅할 수 있다.
다중 뷰 이미지 또는 그 내부의 임의의 단일 뷰 이미지는 360도 이미지일 수 있다. 360도 이미지에 대한 (폐색 해제 데이터를 포함하는) 이미지 데이터는 (예를 들어, "야구 커버" 뷰 등에서의) 직사각형 프레임과 같은 이미지 프레임으로 표현될 수 있다. 도 2a 및 도 2b에 예시되는 바와 같이, 그러한 이미지는 예를 들어 "야구 커버" 뷰에서의 직사각형 이미지 프레임으로 함께 결합된 다중 이미지 세그먼트를 포함할 수 있다. 그러나 다중 이미지 세그먼트는 예를 들어, 정사각형 뷰의 형상과 같이 상이한 뷰의 형상으로 함께 결합될 수 있다.
본원에서 설명되는 폐색 해제 아틀라스는 이미지 조각이 이미지 세그먼트의 바운더리에 경계를 이루는 텍스처 및 깊이 정보를 포함한다는 것을 나타내기 위해 레이아웃 마스크에 마스크 스트라이핑(striping)을 포함하거나 제시할 수 있다. 레이아웃 마스크에 마스크 스트라이핑을 배치하는 이유는 이미지 조각이 호스팅된 아틀라스가 360도 이미지의 심(seam)에 대응하는 C0(또는 0차) 불연속성을 가로지르는 경우를 회피하기 위한 것이며, 상기 360도 이미지는 하나 이상의 심과 조이닝된 다중 이미지 세그먼트를 포함할 수 있다. 예를 들어, 360도 이미지의 야구 커버 표현에서 중앙 아래에 하나의 긴 수평 심이 존재하며, 심의 상이한 측면에 이웃하는 픽셀은 시각적 장면의 (예를 들어, 실제 등의) 뷰의 이웃하는 부분에 대응하지 않는다. 마스크 스트라이핑은 이미지 조각이 이 경계를 가로지르지 않도록 보장하기 위해 이 심을 따라 입력 마스크의 라인을 0으로 함(zeroing out)을 통해 폐색 해제 아틀라스(들)에서 구현될 수 있다. 따라서, 마스크 스트라이핑을 갖는 이미지 조각은 제약될 수 있으며 이미지 조각의 측면과 같이 라인의 동일한 측면에 홀 또는 갭을 채우기 위해 적용되는 것으로 정확하게 해석될 수 있다.
8. 예시적인 프로세스 흐름
도 4b는 본 발명의 예시적인 실시형태에 따른 예시적인 프로세스 흐름을 도시한다. 일부 예시적인 실시형태에서, 하나 이상의 컴퓨팅 디바이스 또는 컴포넌트가 이 프로세스 흐름을 수행할 수 있다. 블록(422)에서, 업스트림 디바이스는 하나 이상의 참조 뷰로부터 시각적 장면을 묘사하는 하나 이상의 참조 이미지에서 폐색되고 하나 이상의 참조 뷰에 인접한 비참조 뷰에서 적어도 부분적으로 폐색 해제되는 이미지 조각을 사이즈에 따라 분류한다. 이미지 조각은 이미지 조각의 임의의 다른 이미지 조각보다 사이즈가 작지 않은 제1 이미지 조각을 포함한다.
블록(424)에서, 업스트림 디바이스는 이미지 조각을 저장하는 데 사용되는 폐색 해제 아틀라스에 대한 레이아웃 마스크를 생성한다. 레이아웃 마스크는 제1 이미지 조각에 대해 특수하게 사이즈가 조정된 제1 최적 피트 노드를 포함하는 쿼드트리로 커버된다. 제1 피트 노드는 제1 이미지 세그먼트를 (예를 들어, 완전히) 커버하도록 사이즈가 조정된다.
블록(426)에서, 업스트림 디바이스는 분류된 이미지 조각을 레이아웃 마스크에서 식별된 최적 피트 노드에 내림차순으로 저장한다. 분류된 이미지 조각의 각 이미지 조각은 최적 피트 노드의 각각의 최적 피트 노드에 저장된다. 최적 피트 노드는 레이아웃 마스크를 커버하는 쿼드트리에서 적어도 하나의 노드를 반복적으로 분할함으로써 획득되는 적어도 하나의 최적 피트 노드를 포함한다. 각 최적 피트 노드는 각각의 이미지 조각 각각을 완전히 커버하기 위한 최소 사이즈의 쿼드트리 노드로서 식별될 수 있다.
블록(428)에서, 업스트림 디바이스는 하나 이상의 참조 이미지로 인코딩된 볼류메트릭 비디오 신호를 생성한다. 볼류메트릭 비디오 신호는 폐색 해제 아틀라스의 이미지 조각으로 추가로 인코딩된다. 하나 이상의 참조 이미지는 이미지 디스플레이에 렌더링하기 위해 비표현된 뷰의 디스플레이 이미지를 합성하기 위한 볼류메트릭 비디오 신호의 수신 디바이스에 의해 사용된다. 폐색 해제 아틀라스의 이미지 조각은 디스플레이 이미지의 폐색 해제된 공간 영역에서 폐색 해제된 이미지 데이터를 채우기 위해 수신 디바이스에 의해 사용된다.
일 실시형태에서, 하나 이상의 참조 이미지 각각은: 360도 이미지, 180도 이미지, 뷰포트 이미지, 규칙적 공간 형상 이미지 프레임의 이미지, 또는 불규칙적 공간 형상 이미지 프레임의 이미지 중 하나를 표현한다.
일 실시형태에서, 이미지 조각 각각은 하나 이상의 참조 뷰에서 폐색된 근접 픽셀에 의해 형성되는 공간 영역에 대한 텍스처 이미지 값 및 깊이 이미지 값을 포함한다.
일 실시형태에서, 하나 이상의 돌출 비디오 스트림 세트는 제1 돌출 랭크로 할당된 제1 돌출 비디오 스트림 및 제1 돌출 랭크보다 낮은 제2 돌출 랭크로 할당된 제2 돌출 비디오 스트림을 포함하고; 제2 비디오 스트림은 사용 가능한 데이터 레이트가 감소되었다는 결정에 응답하여 비디오 스트리밍 클라이언트로 나중에 송신될 하나 이상의 돌출 비디오 스트림 세트로부터 제거된다.
일 실시형태에서, 하나 이상의 참조 이미지는 복수의 연이은 시점에 대한 복수의 연이은 다중 뷰 이미지를 포함하는 다중 뷰 이미지 그룹의 다중 뷰 이미지에 포함되며; 폐색 해제 아틀라스는 복수의 연이은 시점에 대한 복수의 폐색 해제 아틀라스를 포함하는 폐색 해제 아틀라스 그룹에 포함된다.
일 실시형태에서, 레이아웃 마스크는 복수의 폐색 해제 아틀라스에 대해 생성된 복수의 개별 레이아웃 마스크에 포함되며; 유니온 작업을 통해 복수의 개별 레이아웃 마스크로부터 그룹 레벨 레이아웃 마스크가 생성되고; 볼류메트릭 비디오 신호에 인코딩된 폐색 해제 아틀라스는 그룹 레벨 레이아웃 마스크에 표현된다.
일 실시형태에서, 폐색 해제 아틀라스 그룹은 아틀라스 프레임 그룹으로서 볼류메트릭 비디오 신호에 인코딩되고; 아틀라스 프레임 그룹은 아틀라스 I-프레임으로 개시되어 상이한 아틀라스 I-프레임 이전에 종료된다.
일 실시형태에서, 폐색 해제 아틀라스는 마스크 스트라이핑을 포함하고; 마스크 스트라이핑은 폐색 해제 아틀라스에 저장된 이미지 조각이 이미지 세그먼트의 하나 이상의 바운더리에서 경계를 이룬다는 것을 나타낸다.
일 실시형태에서, 최적 피트 노드가 레이아웃 마스크의 미리 확장된 사이즈 내에서 발견되지 않는다는 결정에 응답하여 레이아웃 마스크가 확장된다.
일 실시형태에서, 이미지 조각에 대한 공간 영역이 비트 마스크에서 식별되며; 이미지 조각은 이미지 조각에 대한 공간 영역의 사이즈를 사용하여 분류된다.
일 실시형태에서, 폐색 해제 아틀라스에 저장된 이미지 조각이 시각적 장면으로부터 식별된 하나 이상의 돌출 영역에 위치된다. 돌출 영역은 시각적 장면의 관심 영역 또는 보다 관심있거나 보다 중요한 부분일 수 있다.
도 4c는 본 발명의 예시적인 실시형태에 따른 예시적인 프로세스 흐름을 도시한다. 일부 예시적인 실시형태에서, 하나 이상의 컴퓨팅 디바이스 또는 컴포넌트가 이 프로세스 흐름을 수행할 수 있다.
블록(460)에서, 다운스트림 디코더(예를 들어, 수신 디바이스 또는 디코더)는 볼류메트릭 비디오 신호를 수신한다. 볼류메트릭 비디오 신호는 위에서 기술되는 임의의 실시형태로, 예를 들어 도 4b를 참조하여 인코딩/생성될 수 있다. 볼류메트릭 비디오 신호는 폐색 해제 아틀라스의 이미지 조각 및 하나 이상의 참조 이미지로 인코딩된다. 폐색 해제 아틀라스는 이미지 조각을 저장하는 데 사용된다. 도 4b, 블록(422)을 참조하여 설명되는 바와 같이, 하나 이상의 참조 뷰로부터 시각적 장면을 묘사하는 하나 이상의 참조 이미지에서 폐색되고 하나 이상의 참조 뷰에 인접한 비참조 뷰에서 적어도 부분적으로 폐색 해제되는 이미지 조각이 사이즈에 따라 분류된다.
블록(462)에서, 다운스트림 디바이스는 볼류메트릭 비디오 신호로부터 하나 이상의 참조 이미지를 디코딩한다.
블록(464)에서, 다운스트림 디바이스는 볼류메트릭 비디오 신호로부터 폐색 해제 아틀라스의 이미지 조각을 디코딩한다.
블록(466)에서, 다운스트림 디바이스는 하나 이상의 참조 이미지에 기초하여 비표현된 뷰의 디스플레이 이미지를 합성한다.
블록(468)에서, 다운스트림 디바이스는 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 폐색 해제 아틀라스의 이미지 조각을 사용한다.
블록(470)에서, 업스트림 디바이스는 이미지 디스플레이에 디스플레이 이미지를 렌더링한다.
일 실시형태에서, 이미지 조각 각각은 하나 이상의 참조 뷰에서 폐색된 근접 픽셀에 의해 형성된 공간 영역에 대한 텍스처 이미지 값 및 깊이 이미지 값을 포함한다.
일 실시형태에서, 블록(466)에서, 디스플레이 이미지를 합성하는 것은 하나 이상의 참조 뷰에 대해 사용 가능한 텍스처 이미지 값 및 깊이 이미지 값을 사용하는 것을 포함한다.
일 실시형태에서, 합성된 디스플레이 이미지에서 폐색 해제된 공간 영역은, 하나 이상의 참조 뷰에 대해 사용 가능한 텍스처 이미지 값 및 깊이 이미지 값이 하나 이상의 참조 뷰에 인접한 비참조 뷰에 대해 획득될 수 없다고 결정하는 것에 의해 식별된다.
일 실시형태에서, 폐색 해제 아틀라스에 저장된 이미지 조각은 시각적 장면으로부터 식별된 하나 이상의 돌출 영역에 위치되고, 하나 이상의 돌출 영역이 합성된 디스플레이 이미지에서 식별되도록 폐색 해제 아틀라스는 하나 이상의 돌출 영역으로부터 떨어진 공간 영역을 커버하기 위한 임의의 텍스처 이미지 값 또는 깊이 이미지 값을 포함하지 않는다.
일 실시형태에서, 볼류메트릭 비디오 신호는 단사 함수를 명시하는 이미지 메타데이터를 포함하고; 단사 함수는 이미지 프레임의 픽셀의 픽셀 위치로부터 시각적 장면이 표현되는 3차원 좌표 시스템의 대응하는 위치로 이미지 조각의 각 픽셀을 매핑한다.
다양한 예시적인 실시형태에서, 장치, 시스템, 장치, 또는 하나 이상의 다른 컴퓨팅 디바이스가 설명되는 바와 같이 전술한 방법 중 임의의 것 또는 일부를 수행한다. 일 실시형태에서, 비일시적 컴퓨터 판독 가능 저장 매체가 소프트웨어 명령어를 저장하며, 상기 소프트웨어 명령어는 하나 이상의 프로세서에 의해 실행될 때 본원에 기술되는 방법을 수행하게 한다.
개별 실시형태가 본원에서 논의되지만, 본원에서 논의된 실시형태 및/또는 부분적 실시형태의 임의의 조합이 조합되어 추가 실시형태를 형성할 수 있음에 유의한다.
9. 구현 메커니즘 - 하드웨어 개요
하나의 실시형태에 따르면, 본원에 기술되는 기법은 하나 이상의 특수 목적 컴퓨팅 디바이스에 의해 구현된다. 특수 목적 컴퓨팅 디바이스는 기법을 수행하기 위해 고정 배선(hard-wired)될 수 있거나, 기법을 수행하도록 지속적으로 프로그래밍되는 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA) 또는 하나 이상의 특정 애플리케이션형 집적 회로(Application-Specific Integrated Circuit, ASIC)와 같은 디지털 전자 디바이스를 포함할 수 있거나, 펌웨어, 메모리, 다른 스토리지 또는 조합의 프로그램 명령어에 따라 기법을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 이러한 특수 목적 컴퓨팅 디바이스는 또한 맞춤형 고정 배선 로직, ASIC 또는 FPGA를 맞춤형 프로그래밍과 조합하여 기법을 달성할 수 있다. 특수 목적 컴퓨팅 디바이스는 데스크탑 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 디바이스, 네트워킹 디바이스 또는 기법을 구현하기 위해 고정 배선 및/또는 프로그램 로직을 통합시킨 임의의 기타 디바이스일 수 있다.
예를 들어, 도 5는 본 발명의 예시적인 실시형태가 구현될 수 있는 컴퓨터 시스템(500)을 도시하는 블록도이다. 컴퓨터 시스템(500)은 버스(502) 또는 정보를 통신하기 위한 기타 통신 메커니즘, 및 정보를 처리하기 위해 버스(502)와 커플링된(coupled) 하드웨어 프로세서(504)를 포함한다. 하드웨어 프로세서(504)는 예를 들어 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(500)은 또한 프로세서(504)에 의해 실행되는 명령어 및 정보를 저장하기 위해 버스(502)에 커플링된 기타 동적 저장 디바이스 또는 랜덤 액세스 메모리(RAM)와 같은 메인 메모리(506)를 포함한다. 메인 메모리(506)는 또한 프로세서(504)에 의해 실행되는 명령어의 실행 동안 임시 변수 또는 기타 중간 정보를 저장하는 데 사용될 수 있다. 이러한 명령어는 프로세서(504)에 액세스할 수 있는 비일시적 저장 매체에 저장될 때 컴퓨터 시스템(500)을 명령어에 명시된 작업을 수행하기에 맞춤화된 특수 목적 기계로 렌더링한다.
컴퓨터 시스템(500)은 판독 전용 메모리(read only memory, ROM)(508) 또는 프로세서(504)에 대한 정적 정보 및 명령어를 저장하기 위해 버스(502)에 커플링되는 기타 정적 저장 디바이스를 더 포함한다.
정보 및 명령어를 저장하기 위해 자기 디스크 또는 광학 디스크, 고체 상태 RAM과 같은 저장 디바이스(510)가 제공되고 버스(502)에 커플링된다.
컴퓨터 시스템(500)은 컴퓨터 사용자에게 정보를 디스플레이하기 위해 버스(502)를 통해 액정 디스플레이와 같은 디스플레이(512)에 커플링될 수 있다. 영숫자(alphanumeric) 및 기타 키(key)를 포함하는 입력 디바이스(514)가 프로세서(504)에 정보 및 커맨드(command) 셀렉션을 통신하기 위해 버스(502)에 커플링된다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 셀렉션을 프로세서(504)에 통신하고 디스플레이(512) 상의 커서 이동을 제어하기 위한 마우스, 트랙볼(trackball) 또는 커서 방향 키와 같은 커서 제어(516)이다. 이 입력 디바이스는 통상적으로 디바이스가 평면에서 위치를 명시할 수 있게 허용하는 2개의 축인, 제1 축(예를 들어, x) 및 제2 축(예를 들어, y)에서 2개의 자유도를 갖는다.
컴퓨터 시스템(500)은 컴퓨터 시스템과 조합하여 컴퓨터 시스템(500)이 특수 목적 기계가 되게 하거나 컴퓨터 시스템(500)을 특수 목적 기계로 프로그래밍하는 맞춤형 고정 배선 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 프로그램 로직을 사용하여 본원에 설명되는 기법을 구현할 수 있다. 일 실시형태에 따르면, 본원의 기법은 메인 메모리(506)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 프로세서(504)에 응답하여 컴퓨터 시스템(500)에 의해 수행된다. 이러한 명령어는 저장 디바이스(510)와 같은 다른 저장 매체로부터 메인 메모리(506)로 판독될 수 있다. 메인 메모리(506)에 포함된 명령어 시퀀스의 실행은 프로세서(504)가 본원에 기술된 프로세스 단계를 수행하게 한다. 대안적인 실시형태에서, 고정 배선 회로가 소프트웨어 명령어 대신에 또는 소프트웨어 명령어와 조합하여 사용될 수 있다.
본원에서 사용되는 "저장 매체"라는 용어는 기계가 특정 방식으로 작동하게 하는 데이터 및/또는 명령어를 저장하는 임의의 비일시적 매체를 지칭한다. 이러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는 예를 들어 저장 디바이스(510)와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(506)와 같은 동적 메모리를 포함한다. 저장 매체의 일반적인 형태는 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 고체 상태 드라이브, 자기 테이프 또는 임의의 기타 자기 데이터 저장 매체, CD-ROM, 임의의 기타 광학 데이터 저장 매체, 홀 패턴을 갖는 임의의 물리적 매체, RAM, PROM 및 EPROM, FLASH-EPROM, NVRAM, 임의의 기타 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 송신 매체와 구별되지만 이와 함께 사용될 수 있다. 송신 매체는 저장 매체 간의 정보 송신에 참여한다. 예를 들어, 송신 매체는 버스(502)를 포함하는 전선을 포함하는 동축 케이블, 구리선 및 광섬유를 포함한다. 송신 매체는 전파 및 적외선 데이터 통신 중에 생성되는 것과 같은 음향 또는 광파의 형태를 취할 수도 있다.
실행을 위해 프로세서(504)에 하나 이상의 명령어의 하나 이상의 시퀀스를 운반하는 데 다양한 형태의 매체가 수반될 수 있다. 예를 들어, 명령어는 초기에 원격 컴퓨터의 고체 상태 드라이브 또는 자기 디스크에 운반될 수 있다. 원격 컴퓨터는 그 동적 메모리에 명령어를 로딩하고 모뎀을 사용하여 전화선을 통해 명령어를 전송할 수 있다. 컴퓨터 시스템(500)에 로컬인 모뎀은 전화선에서 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기는 적외선 신호에 운반된 데이터를 수신할 수 있으며 적절한 회로는 데이터를 버스(502)에 배치할 수 있다. 버스(502)는 데이터를 메인 메모리(506)로 운반하며, 프로세서(504)는 상기 메인 메모리(506)로부터 명령어를 리트리브하고 실행한다. 메인 메모리(506)에 의해 수신된 명령어는 선택적으로 프로세서(504)에 의한 실행 전 또는 후에 저장 디바이스(510)에 저장될 수 있다.
컴퓨터 시스템(500)은 또한 버스(502)에 커플링된 통신 인터페이스(518)를 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 연결된 네트워크 링크(520)에 커플링되어 양방향 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(518)는 통합 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀 또는 대응하는 유형의 전화선에 데이터 통신 연결을 제공하는 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(518)는 호환 LAN에 데이터 통신 연결을 제공하는 로컬 에어리어 네트워크(local area network, LAN) 카드일 수 있다. 무선 링크 또한 구현될 수 있다. 임의의 이러한 구현에서, 통신 인터페이스(518)는 다양한 유형의 정보를 표현하는 디지털 데이터 스트림을 운반하는 전기, 전자기 또는 광학 신호를 송수신한다.
네트워크 링크(520)는 통상적으로 하나 이상의 네트워크를 통해 다른 데이터 디바이스에 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(520)는 로컬 네트워크(522)를 통해 호스트 컴퓨터(524) 또는 인터넷 서비스 제공자(ISP)(526)에 의해 작동되는 데이터 기기에 연결을 제공할 수 있다. ISP(526)는 다시 말해 이제 일반적으로 "인터넷"(528)으로서 지칭되는 전세계 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(522) 및 인터넷(528)은 모두 디지털 데이터 스트림을 운반하는 전기, 전자기 또는 광학 신호를 사용한다. 컴퓨터 시스템(500)으로 및 컴퓨터 시스템(500)으로부터 디지털 데이터를 운반하는 다양한 네트워크를 통한 신호 및 네트워크 링크(520) 상의 신호 및 통신 인터페이스(518)를 통한 신호는 송신 매체의 예시적인 형태이다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520) 및 통신 인터페이스(518)를 통해 메시지를 전송하고 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버(530)는 인터넷(528), ISP(526), 로컬 네트워크(522) 및 통신 인터페이스(518)를 통해 애플리케이션 프로그램에 대해 요청된 코드를 송신할 수 있다.
수신된 코드는 수신되는 대로 프로세서(504)에 의해 실행될 수 있고, 및/또는 추후 실행을 위해 저장 디바이스(510) 또는 다른 비휘발성 스토리지에 저장될 수 있다.
10. 등가물, 확장, 대안 및 기타
전술한 명세서에서, 본 발명의 예시적인 실시형태가 구현마다 상이할 수 있는 다수의 특정 세부사항을 참조하여 설명되었다. 따라서, 본 발명이 무엇인지, 그리고 출원인에 의해 본 발명으로 의도되는 것이 무엇인지에 대한 유일하고 배타적인 지표는 임의의 후속 정정을 포함하여 해당 청구범위가 발행하는 특정 형식으로 본 출원에서 발행하는 일련의 청구범위이다. 이러한 청구범위에 포함되는 용어에 대해 본원에서 명시적으로 제시되는 임의의 규정은 청구범위에 사용되는 이러한 용어의 의미를 지배한다. 따라서 청구범위에 명시적으로 언급되지 않는 제한, 요소, 특성, 피처, 장점 또는 속성은 어떤 식으로든 해당 청구범위를 제한해서는 안 된다. 따라서 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
일부 실시형태의 측면은 다음의 열거된 예시적 실시형태(EEE)를 포함한다:
EEE1. 방법으로서:
하나 이상의 참조 뷰로부터 시각적 장면을 묘사하는 하나 이상의 참조 이미지에서 폐색되고 하나 이상의 참조 뷰에 인접한 비참조 뷰에서 적어도 부분적으로 폐색 해제되는 이미지 조각을 사이즈에 따라 분류하는 단계 - 상기 이미지 조각은 이미지 조각의 임의의 다른 이미지 조각보다 사이즈가 작지 않은 제1 이미지 조각을 포함함 -;
이미지 조각을 저장하는 데 사용되는 폐색 해제 아틀라스에 대한 레이아웃 마스크를 생성하는 단계 - 상기 레이아웃 마스크는 제1 이미지 조각에 대해 특수하게 사이즈가 조정된 제1 최적 피트 노드를 포함하는 쿼드트리로 커버되며, 폐색 해제 아틀라스는 다중의 중첩되지 않는 이미지 조각을 포함하는 최소의 총 면적의 결합된 이미지임 -;
분류된 이미지 조각을 레이아웃 마스크에서 식별된 최적 피트 노드에 내림차순으로 저장하는 단계 - 상기 분류된 이미지 조각의 각 이미지 조각은 최적 피트 노드의 각각의 최적 피트 노드에 저장되며, 최적 피트 노드는 레이아웃 마스크를 커버하는 쿼드트리에서 적어도 하나의 노드를 반복적으로 분할함으로써 획득되는 적어도 하나의 최적 피트 노드를 포함함 -;
하나 이상의 참조 이미지로 인코딩된 볼류메트릭 비디오 신호를 생성하는 단계 - 상기 볼류메트릭 비디오 신호는 폐색 해제 아틀라스의 이미지 조각으로 추가로 인코딩되고, 하나 이상의 참조 이미지는 이미지 디스플레이에 렌더링하기 위해 비표현된 뷰의 디스플레이 이미지를 합성하기 위한 볼류메트릭 비디오 신호의 수신 디바이스에 의해 사용되고, 폐색 해제 아틀라스의 이미지 조각은 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 수신 디바이스에 의해 사용됨 - 를 포함하는, 방법.
EEE2. EEE1에 있어서, 하나 이상의 참조 이미지 각각은: 360도 이미지, 180도 이미지, 뷰포트 이미지, 규칙적 공간 형상 이미지 프레임의 이미지, 또는 불규칙적 공간 형상 이미지 프레임의 이미지 중 하나를 표현하는, 방법.
EEE3. EEE1 또는 EEE2에 있어서, 이미지 조각 각각은 하나 이상의 참조 뷰에서 폐색된 근접 픽셀에 의해 형성되는 공간 영역에 대한 텍스처 이미지 값 및 깊이 이미지 값을 포함하는, 방법.
EEE4. EEE1 내지 EEE3 중 어느 하나에 있어서, 하나 이상의 참조 이미지는 복수의 연이은 시점에 대한 복수의 연이은 다중 뷰 이미지를 포함하는 다중 뷰 이미지 그룹의 다중 뷰 이미지에 포함되며; 폐색 해제 아틀라스는 복수의 연이은 시점에 대한 복수의 폐색 해제 아틀라스를 포함하는 폐색 해제 아틀라스 그룹에 포함되는, 방법.
EEE5. EEE4 중 어느 하나에 있어서, 레이아웃 마스크는 복수의 폐색 해제 아틀라스에 대해 생성된 복수의 개별 레이아웃 마스크에 포함되며; 유니온 작업을 통해 복수의 개별 레이아웃 마스크로부터 그룹 레벨 레이아웃 마스크가 생성되고; 볼류메트릭 비디오 신호에 인코딩된 폐색 해제 아틀라스는 그룹 레벨 레이아웃 마스크에 표현되는, 방법.
EEE6. EEE4 또는 EEE5에 있어서, 폐색 해제 아틀라스 그룹은 아틀라스 프레임 그룹으로서 볼류메트릭 비디오 신호에 인코딩되고; 아틀라스 프레임 그룹은 아틀라스 I-프레임으로 개시되어 상이한 아틀라스 I-프레임 이전에 종료되는, 방법.
EEE7. EEE1 내지 EEE6 중 어느 하나에 있어서, 폐색 해제 아틀라스는 마스크 스트라이핑을 포함하고; 마스크 스트라이핑은 폐색 해제 아틀라스에 저장된 이미지 조각이 이미지 세그먼트의 하나 이상의 바운더리에서 경계를 이룬다는 것을 나타내는, 방법.
EEE8. EEE1 내지 EEE7 중 어느 하나에 있어서, 최적 피트 노드가 레이아웃 마스크의 미리 확장된 사이즈 내에서 발견되지 않는다는 결정에 응답하여 레이아웃 마스크가 확장되는, 방법.
EEE9. EEE1 내지 EEE8 중 어느 하나에 있어서, 이미지 조각에 대한 공간 영역이 비트 마스크에서 식별되며; 이미지 조각은 이미지 조각에 대한 공간 영역의 사이즈를 사용하여 분류되는, 방법.
EEE10. EEE1 내지 EEE9 중 어느 하나에 있어서, 폐색 해제 아틀라스에 저장된 이미지 조각이 시각적 장면으로부터 식별된 하나 이상의 돌출 영역에 위치되는, 방법.
EEE11. EEE10에 있어서, 하나 이상의 돌출 비디오 스트림은 제1 돌출 랭크로 할당된 제1 돌출 비디오 스트림 및 제1 돌출 랭크보다 낮은 제2 돌출 랭크로 할당된 제2 돌출 비디오 스트림을 포함하는, 방법.
EEE12. 방법으로서:
볼류메트릭 비디오 신호로부터 하나 이상의 참조 이미지를 디코딩하는 단계;
볼류메트릭 비디오 신호로부터 폐색 해제 아틀라스의 이미지 조각을 디코딩하는 단계;
하나 이상의 참조 이미지로부터 비표현된 뷰의 디스플레이 이미지를 합성하는 단계;
디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 폐색 해제 아틀라스의 이미지 조각을 사용하는 단계;
이미지 디스플레이에 디스플레이 이미지를 렌더링하는 단계
를 포함하는, 방법.
EEE13. EEE1 내지 EEE12 중 어느 하나에 있어서, 볼류메트릭 비디오 신호는 단사 함수를 명시하는 이미지 메타데이터를 포함하고; 단사 함수는 이미지 조각의 각 픽셀을 이미지 프레임의 픽셀의 픽셀 위치로부터 시각적 장면이 표현되는 3차원 좌표 시스템의 대응하는 위치로 매핑하는, 방법.
EEE14. 소프트웨어 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 소프트웨어 명령어는 하나 이상의 프로세서에 의해 실행될 때 EEE1 내지 EEE13 중 어느 하나에 기재된 방법을 수행하게 하는, 비일시적 컴퓨터 판독 가능 저장 매체.
EEE15. 명령어 세트를 저장하는 하나 이상의 저장 매체 및 하나 이상의 프로세서를 포함하는 컴퓨팅 디바이스로서, 상기 명령어 세트는 하나 이상의 프로세서에 의해 실행될 때 EEE1 내지 EEE13 중 어느 하나에 기재된 방법을 수행하게 하는, 컴퓨팅 디바이스.
Claims (18)
- 방법으로서:
하나 이상의 참조 뷰(reference view)로부터 시각적 장면을 묘사하는 하나 이상의 참조 이미지에서 폐색되고(occluded) 상기 하나 이상의 참조 뷰에 인접한 비참조 뷰에서 적어도 부분적으로 폐색 해제되는 이미지 조각을 사이즈에 따라 분류하는 단계 - 상기 이미지 조각은 상기 이미지 조각의 임의의 다른 이미지 조각보다 사이즈가 작지 않은 제1 이미지 조각을 포함함 -;
상기 이미지 조각을 저장하는 데 사용되는 폐색 해제 아틀라스(disocclusion atlas)에 대한 레이아웃 마스크(layout mask)를 생성하는 단계 - 상기 레이아웃 마스크는 상기 제1 이미지 조각을 커버하기 위해 사이즈가 조정된 제1 최적 피트 노드(best fit node)를 포함하는 쿼드트리(quadtree)로 커버되며, 상기 폐색 해제 아틀라스는 다중의 중첩되지 않는 이미지 조각을 포함하는 최소의 총 면적의 결합된 이미지임 -;
상기 분류된 이미지 조각을 상기 레이아웃 마스크에서 식별된 최적 피트 노드에 내림차순으로 저장하는 단계 - 상기 최적 피트 노드 각각은 상기 각각의 이미지 조각 각각을 완전히 커버하기 위한 최소 사이즈의 쿼드트리 노드로서 식별되며, 상기 분류된 이미지 조각의 각 이미지 조각은 상기 각각의 최적 피트 노드에 저장되며, 상기 최적 피트 노드는 상기 레이아웃 마스크를 커버하는 상기 쿼드트리에서 적어도 하나의 노드를 반복적으로 분할함으로써 획득되는 적어도 하나의 최적 피트 노드를 포함함 -;
상기 하나 이상의 참조 이미지로 인코딩된 볼류메트릭 비디오 신호(volumetric video signal)를 생성하는 단계 - 상기 볼류메트릭 비디오 신호는 상기 폐색 해제 아틀라스의 상기 이미지 조각으로 추가로 인코딩되고, 상기 하나 이상의 참조 이미지는 이미지 디스플레이에 렌더링(rendering)하기 위해 비표현된 뷰의 디스플레이 이미지를 합성하기 위한 상기 볼류메트릭 비디오 신호의 수신 디바이스에 의해 사용되고, 상기 폐색 해제 아틀라스의 상기 이미지 조각은 상기 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 상기 수신 디바이스에 의해 사용됨 - 를 포함하는, 방법. - 제1항에 있어서, 상기 하나 이상의 참조 이미지 각각은: 360도 이미지, 180도 이미지, 뷰포트 이미지(viewport image), 규칙적 공간 형상 이미지 프레임의 이미지, 또는 불규칙적 공간 형상 이미지 프레임의 이미지 중 하나를 표현하는, 방법.
- 제1항 또는 제2항에 있어서, 상기 이미지 조각 각각은 상기 하나 이상의 참조 뷰에서 폐색된 근접 픽셀에 의해 형성되는 공간 영역에 대한 텍스처 이미지 값 및 깊이 이미지 값을 포함하는, 방법.
- 제1항 또는 제2항에 있어서, 상기 하나 이상의 참조 이미지는 복수의 연이은 시점에 대한 복수의 연이은 다중 뷰 이미지(multi-view image)를 포함하는 다중 뷰 이미지 그룹의 다중 뷰 이미지에 포함되며; 상기 폐색 해제 아틀라스는 상기 복수의 연이은 시점에 대한 복수의 폐색 해제 아틀라스를 포함하는 폐색 해제 아틀라스 그룹에 포함되는, 방법.
- 제4항에 있어서, 상기 레이아웃 마스크는 상기 복수의 폐색 해제 아틀라스에 대해 생성된 복수의 개별 레이아웃 마스크에 포함되며; 유니온 작업(union operation)을 통해 상기 복수의 개별 레이아웃 마스크로부터 그룹 레벨 레이아웃 마스크가 생성되고; 상기 볼류메트릭 비디오 신호에 인코딩된 상기 폐색 해제 아틀라스는 상기 그룹 레벨 레이아웃 마스크에 표현되는, 방법.
- 제4항에 있어서, 상기 폐색 해제 아틀라스 그룹은 아틀라스 프레임 그룹으로서 상기 볼류메트릭 비디오 신호에 인코딩되고; 상기 아틀라스 프레임 그룹은 아틀라스 I-프레임으로 개시되어 상이한 아틀라스 I-프레임 이전에 종료되는, 방법.
- 제1항 또는 제2항에 있어서, 상기 폐색 해제 아틀라스는 마스크 스트라이핑(mask striping)을 포함하고; 상기 마스크 스트라이핑은 상기 폐색 해제 아틀라스에 저장된 이미지 조각이 이미지 세그먼트의 하나 이상의 바운더리에서 경계를 이룬다는 것을 나타내는, 방법.
- 제1항 또는 제2항에 있어서, 최적 피트 노드가 상기 레이아웃 마스크의 미리 확장된 사이즈 내에서 발견되지 않는다는 결정에 응답하여 상기 레이아웃 마스크가 확장되는, 방법.
- 제1항 또는 제2항에 있어서, 상기 이미지 조각에 대한 공간 영역이 비트 마스크에서 식별되며; 상기 이미지 조각은 상기 이미지 조각에 대한 상기 공간 영역의 사이즈를 사용하여 분류되는, 방법.
- 제1항 또는 제2항에 있어서, 상기 폐색 해제 아틀라스에 저장된 상기 이미지 조각이 상기 시각적 장면으로부터 식별된 하나 이상의 돌출 영역(saliency region)에 위치되는, 방법.
- 방법으로서:
제1항의 방법에 따라 폐색 해제 아틀라스의 이미지 조각 및 하나 이상의 참조 이미지로 인코딩된 볼류메트릭 비디오 신호를 수신하는 단계;
상기 볼류메트릭 비디오 신호로부터 상기 하나 이상의 참조 이미지를 디코딩하는 단계;
상기 볼류메트릭 비디오 신호로부터 상기 폐색 해제 아틀라스의 상기 이미지 조각을 디코딩하는 단계;
상기 하나 이상의 참조 이미지로부터 비표현된 뷰의 디스플레이 이미지를 합성하는 단계;
상기 디스플레이 이미지의 폐색 해제된 공간 영역에 폐색 해제된 이미지 데이터를 채우기 위해 상기 폐색 해제 아틀라스의 상기 이미지 조각을 사용하는 단계;
이미지 디스플레이에 상기 디스플레이 이미지를 렌더링하는 단계
를 포함하는, 방법. - 제11항에 있어서, 상기 이미지 조각 각각은 상기 하나 이상의 참조 뷰에서 폐색된 근접 픽셀에 의해 형성된 공간 영역에 대한 텍스처 이미지 값 및 깊이 이미지 값을 포함하는, 방법.
- 제11항 또는 제12항에 있어서, 상기 디스플레이 이미지를 합성하는 단계는 상기 하나 이상의 참조 뷰에 대해 사용 가능한 텍스처 이미지 값 및 깊이 이미지 값을 사용하는 단계를 포함하는, 방법.
- 제13항에 있어서, 상기 합성된 디스플레이 이미지에서 상기 폐색 해제된 공간 영역은, 상기 하나 이상의 참조 뷰에 대해 사용 가능한 상기 텍스처 이미지 값 및 상기 깊이 이미지 값이 상기 하나 이상의 참조 뷰에 인접한 상기 비참조 뷰에 대해 획득될 수 없다고 결정하는 것에 의해 식별되는, 방법.
- 제12항에 있어서, 상기 폐색 해제 아틀라스에 저장된 상기 이미지 조각은 상기 시각적 장면으로부터 식별된 하나 이상의 돌출 영역에 위치되고, 하나 이상의 돌출 영역이 상기 합성된 디스플레이 이미지에서 식별되도록 상기 폐색 해제 아틀라스는 상기 하나 이상의 돌출 영역으로부터 떨어진 공간 영역을 커버하기 위한 임의의 텍스처 이미지 값 또는 깊이 이미지 값을 포함하지 않는, 방법.
- 제1항, 제2항, 제11항, 및 제12항 중 어느 한 항에 있어서, 상기 볼류메트릭 비디오 신호는 단사 함수(injective function)를 명시하는 이미지 메타데이터를 포함하고; 상기 단사 함수는 상기 이미지 조각의 각 픽셀을 이미지 프레임의 상기 픽셀의 픽셀 위치로부터 상기 시각적 장면이 표현되는 3차원 좌표 시스템의 대응하는 위치로 매핑(map)하는, 방법.
- 소프트웨어 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 소프트웨어 명령어는 하나 이상의 프로세서에 의해 실행될 때 제1항, 제2항, 제11항, 및 제12항 중 어느 한 항에 기재된 방법을 수행하게 하는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 명령어 세트를 저장하는 하나 이상의 저장 매체 및 하나 이상의 프로세서를 포함하는 컴퓨팅 디바이스로서, 상기 명령어 세트는 하나 이상의 프로세서에 의해 실행될 때 제1항, 제2항, 제11항, 및 제12항 중 어느 한 항에 기재된 방법을 수행하게 하는, 컴퓨팅 디바이스.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063039595P | 2020-06-16 | 2020-06-16 | |
EP20180179 | 2020-06-16 | ||
US63/039,595 | 2020-06-16 | ||
EP20180179.2 | 2020-06-16 | ||
PCT/US2021/037527 WO2021257639A1 (en) | 2020-06-16 | 2021-06-16 | Supporting multi-view video operations with disocclusion atlas |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230016705A KR20230016705A (ko) | 2023-02-02 |
KR102597471B1 true KR102597471B1 (ko) | 2023-11-03 |
Family
ID=76731135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237001648A KR102597471B1 (ko) | 2020-06-16 | 2021-06-16 | 폐색 해제 아틀라스를 통한 다중 뷰 비디오 작업 지원 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230224447A1 (ko) |
EP (1) | EP4162690A1 (ko) |
JP (2) | JP7320146B2 (ko) |
KR (1) | KR102597471B1 (ko) |
CN (1) | CN115769582A (ko) |
WO (1) | WO2021257639A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2584546B (en) * | 2020-04-06 | 2021-09-01 | Novasight Ltd | Method and device for treating vision impairment |
CN115668937A (zh) * | 2020-06-17 | 2023-01-31 | 英特尔公司 | 为体积视频比特流和沉浸式视频比特流生成打包视频帧的方法、装置和制品 |
US20230011027A1 (en) * | 2021-07-07 | 2023-01-12 | Electronics And Telecommunications Research Institute | Method for encoding immersive image and method for decoding immersive image |
WO2023129214A1 (en) * | 2022-01-01 | 2023-07-06 | Leia Inc. | Methods and system of multiview video rendering, preparing a multiview cache, and real-time multiview video conversion |
CN114449345B (zh) * | 2022-02-08 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100215251A1 (en) | 2007-10-11 | 2010-08-26 | Koninklijke Philips Electronics N.V. | Method and device for processing a depth-map |
WO2017080420A1 (en) | 2015-11-09 | 2017-05-18 | Versitech Limited | Auxiliary data for artifacts –aware view synthesis |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009001255A1 (en) | 2007-06-26 | 2008-12-31 | Koninklijke Philips Electronics N.V. | Method and system for encoding a 3d video signal, enclosed 3d video signal, method and system for decoder for a 3d video signal |
ITTO20120413A1 (it) | 2012-05-08 | 2013-11-09 | Sisvel Technology Srl | Metodo per la generazione e ricostruzione di un flusso video tridimensionale, basato sull'utilizzo della mappa delle occlusioni, e corrispondente dispositivo di generazione e ricostruzione. |
-
2021
- 2021-06-16 JP JP2022577293A patent/JP7320146B2/ja active Active
- 2021-06-16 CN CN202180042986.7A patent/CN115769582A/zh active Pending
- 2021-06-16 WO PCT/US2021/037527 patent/WO2021257639A1/en unknown
- 2021-06-16 EP EP21736932.1A patent/EP4162690A1/en active Pending
- 2021-06-16 KR KR1020237001648A patent/KR102597471B1/ko active IP Right Grant
- 2021-06-16 US US18/009,905 patent/US20230224447A1/en active Pending
-
2023
- 2023-07-21 JP JP2023119205A patent/JP2023139163A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100215251A1 (en) | 2007-10-11 | 2010-08-26 | Koninklijke Philips Electronics N.V. | Method and device for processing a depth-map |
WO2017080420A1 (en) | 2015-11-09 | 2017-05-18 | Versitech Limited | Auxiliary data for artifacts –aware view synthesis |
Non-Patent Citations (4)
Title |
---|
ISO/IEC 23090-2, Information technology - Coded Representation of Immersive Media - Part 2: Omnidirectional MediA Format (OMAF) 2nd Edition. |
Korea Aerospace University et al, KAU Response to Immersive Video CE3: Atlas Padding, ISO/IEC JTC1/SC29/WG11 MPEG2020/m52189 (2020.1.) |
M. Wien, J. M. Boyce, T. Stockhammer, and W.-H. Peng,"Standardization Status of Immersive Video Coding," IEEE JourEmerg. Select. Topics Circuits Syst., Vol.9, No.1, Mar. 2019, pp.5-17. |
이광순, 서정일, "MPEG 이머시브 비디오 표준기술 동향과 전망", IITP, 주간기술동향 1969호, 2020. 10. 21. |
Also Published As
Publication number | Publication date |
---|---|
EP4162690A1 (en) | 2023-04-12 |
US20230224447A1 (en) | 2023-07-13 |
JP2023139163A (ja) | 2023-10-03 |
JP2023529748A (ja) | 2023-07-11 |
JP7320146B2 (ja) | 2023-08-02 |
KR20230016705A (ko) | 2023-02-02 |
WO2021257639A1 (en) | 2021-12-23 |
CN115769582A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102597471B1 (ko) | 폐색 해제 아틀라스를 통한 다중 뷰 비디오 작업 지원 | |
US11653065B2 (en) | Content based stream splitting of video data | |
US11706403B2 (en) | Positional zero latency | |
JP6410918B2 (ja) | パノラマ映像コンテンツの再生に使用するシステム及び方法 | |
US11202086B2 (en) | Apparatus, a method and a computer program for volumetric video | |
KR102677294B1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
JP7376705B2 (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置およびポイントクラウドデータ受信方法 | |
KR102373833B1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
CN113243112B (zh) | 流式传输体积视频和非体积视频 | |
US20230215129A1 (en) | Representing volumetric video in saliency video streams | |
WO2019229293A1 (en) | An apparatus, a method and a computer program for volumetric video | |
US20230388542A1 (en) | A method and apparatus for adapting a volumetric video to client devices | |
CN111726598B (zh) | 图像处理方法和装置 | |
Gudumasu et al. | Adaptive volumetric video streaming platform | |
KR20220054283A (ko) | 3d 장면을 송신 및 렌더링하기 위한 방법들, 패치들을 생성하기 위한 방법, 및 대응하는 디바이스들 및 컴퓨터 프로그램들 | |
WO2020157376A1 (en) | An apparatus, a method and a computer program for volumetric video | |
KR102658474B1 (ko) | 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치 | |
US20230345020A1 (en) | Method for processing video data stream, video decoding apparatus, and method for encoding data stream | |
WO2023150488A1 (en) | Depth differences in place of motion vectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |