KR20220029715A - 볼류메트릭 데이터 처리 - Google Patents

볼류메트릭 데이터 처리 Download PDF

Info

Publication number
KR20220029715A
KR20220029715A KR1020227003240A KR20227003240A KR20220029715A KR 20220029715 A KR20220029715 A KR 20220029715A KR 1020227003240 A KR1020227003240 A KR 1020227003240A KR 20227003240 A KR20227003240 A KR 20227003240A KR 20220029715 A KR20220029715 A KR 20220029715A
Authority
KR
South Korea
Prior art keywords
patch
time interval
time
over
scene
Prior art date
Application number
KR1020227003240A
Other languages
English (en)
Inventor
줄리앙 플뢰로
프랑크 투더
제라드 브리앙
르노 도레
Original Assignee
인터디지털 브이씨 홀딩스 프랑스 에스에이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 filed Critical 인터디지털 브이씨 홀딩스 프랑스 에스에이에스
Publication of KR20220029715A publication Critical patent/KR20220029715A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

적어도 하나의 실시예는 장면을 나타내는 볼류메트릭 비디오를 인코딩하기 위한 방법 및 장치에 관한 것으로, 상기 인코딩은 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 여기서 제1 패치가 주어진 시간 간격에 걸쳐 제2 패치에 패킹될 수 있을 때 제1 패치는 제2 패치가 그를 따라 정의되는 시간 기간 이하의 상기 시간 간격 동안 제2 패치에 패킹된다. 디코딩 방법 및 장치가 또한 제공된다.

Description

볼류메트릭 데이터 처리
본 실시예들 중 적어도 하나는 일반적으로 볼류메트릭 비디오(volumetric video)를 인코딩/디코딩하는 것에 관한 것이다.
본 부분은 이하에서 설명 및/또는 청구되는 본 실시예들 중 적어도 하나의 실시예의 다양한 양태와 관련될 수 있는, 기술의 다양한 양태를 독자에게 소개하기 위해 의도된다. 이 논의는 적어도 하나의 실시예의 다양한 양태의 더 양호한 이해를 용이하게 하기 위한 배경 정보를 독자에게 제공하는데 있어서 도움이 될 것으로 생각된다.
향상된 스크린 해상도, 시야각(field of view)은 물론이고 프레임 레이트와 연관된 소비자 헤드 장착 디스플레이들(Oculus, HTC Vive 등)의 최근의 출현과 더불어, 가상 현실은 문자 그대로 붐을 이루고 있다. 그러한 현상은 특히 게임, 교육/훈련뿐만 아니라 멀티미디어를 포함하는 수많은 영역에서 새로운 종류의 응용들에 대한 기회를 부여하고 있다. 이 후자의 영역에서, 소위 360° 비디오를 포함하는 새로운 종류의 비디오 콘텐츠가 특히 출현하였다. 이러한 비디오들은 사용자로 하여금 고정된 시점(point of view) 주위의 순수 회전들을 통해 자신 주위의 모든 것을 시청할 수 있게 한다.
순수 회전들이 처음의 전방향성 비디오 경험에 대해 충분하다 하더라도, 이들은 더 많은 자유를 기대하는 시청자에게 빠르게 좌절감을 줄 수 있다. 더 중요하게는, 머리 회전들이 그러한 경험들에 의해 재현되지 않는 머리의 작은 병진 이동들을 포함하므로 그것은 현기증을 유발할 수도 있다.
이들 360° 콘텐츠에 대한 대안이 볼류메트릭 또는 6 자유도(6DoF) 비디오로 알려져 있다. 이러한 비디오들을 시청할 때, 회전들 외에도, 사용자는 시청된 콘텐츠 내부에서 자신의 머리를 또한 병진이동시키고 시차를 경험할 수 있다. 이러한 비디오들은 몰입감 및 장면 깊이의 인식을 상당히 증가시키면서도 머리 병진이동들 동안 일관된 시각적 피드백을 제공함으로써 현기증을 방지한다. 연관된 콘텐츠는 기본적으로 관심 있는 장면의 컬러 및 깊이의 동시 기록을 허용하는 전용 센서들에 의해 생성된다. 사진 측량 기술과 조합된 컬러 카메라들의 장비의 사용은 이러한 기록을 행하기 위한 흔한 방식이다. 360° 비디오들이 결국 단순히 구형 텍스처들(spherical textures)(예를 들어, 래트롱(latlong)/등장방형(equirectangular) 이미지들)의 매핑 해제(unmapping)로부터 생기는 특정 이미지들의 시간적 연속이 되지만, 6DoF 비디오 "프레임들"은 이들이 여러 시점들로부터의 정보를 임베딩해야 하기 때문에 더 복잡하다. 이것들은 이전에 설명된 3D 캡처로부터 생기는 컬러화된 포인트 클라우드들의 시간적 시리즈로서 볼 수 있다.
시청 조건들에 의존하여 2가지 상이한 종류의 볼류메트릭 비디오들이 고려될 수 있다. 더 허용적인 것은 비디오 콘텐츠 내부에서의 완전한 자유로운 내비게이션을 허용하는 반면, (우리가 여기서 고려하는) 제2의 것은 사용자 시청 공간을 제한된 볼륨으로 제한한다. 이러한 후자의 정황은 무료 내비게이션과 자신의 안락 의자에 앉은 관객 멤버의 수동적 시청 조건들 사이의 자연스러운 절충이다. 더욱이, 이것은 자유 시점 시나리오보다 단기간에 인식가능할 수 있으며, (시각화 박스의 제약으로 인해) 콘텐츠를 취득하기 위해 더 적은 노력을 필요로 하며, 표준 MPEG-1 Part 7/MIV(Metadata For Immersive Video)(ISO/IEC JTC 1/SC29/WG11 working draft 1 of metadata for Immersive Media (Video) N18464 and W18470) 내에서의 3DoF+의 이름 하에 있는 표준화 기구들에서 현재 고려되고 있다.
3DoF+ 콘텐츠(볼류메트릭 비디오)는 종종 시간 기간에 걸쳐 MVD(Multi-View+ Depth) 프레임들의 세트로서, 즉 MVD 프레임들의 세트로서 제공된다. 시간 기간의 시간 순간에서, MVD 프레임은 볼류메트릭 비디오의 컬러 및 깊이를 다중의 뷰 커플(couples of views)로서 표현한다. 각각의 뷰 커플은 컬러에 대한 뷰 및 깊이에 대한 하나의 뷰를 포함한다. 볼류메트릭 비디오는 실제 캡처들로부터의 결과일 수 있거나 또는 전용(가능하게는 사실적(photorealistic)) 렌더링에 의해 기존의 컴퓨터 그래픽 콘텐츠로부터 생성될 수 있다.
최근에, 볼류메트릭 비디오를 인코딩/디코딩하기 위해 비디오 기반 프레임워크가 제안되었다.
대략적으로 말하면, 볼류메트릭 비디오는 컬러 및 깊이 아틀라스(color and depth atlas)들에 패킹된 컬러 및 깊이 패치들의 커플들로서 운반되고, 이것들은 그 후 정규 비디오 코덱들(전형적으로 HEVC)을 사용하여 인코딩된다. 각각의 컬러 및 깊이 패치들의 커플들은 시간 기간에 걸쳐 장면의 하위 부분(subpart)의 2D(전형적으로 구형) 투영을 나타내는데, 즉, 시간 기간에 걸쳐 뷰들의 커플의 하위 부분의 컬러 및 깊이를 캡처하고, 컬러 및 깊이 패치들의 모든 커플들의 세트는 가능한 한 덜 중복적이면서 전체 장면의 2D 투영을 나타내도록 인코딩 스테이지에서 설계된다. 환언하면, 볼류메트릭 비디오는 카메라 세트(자연 콘텐츠를 위한 실제 카메라 또는 컴퓨터 생성 콘텐츠를 위한 가상 카메라)에 의해 캡처되고 장면을 나타내는 뷰들(컬러+깊이)의 세트로서 정의된다. 이러한 뷰들은 일반적으로 중복적이다. 패치들은 장면을 완전히 표현하기에 충분한 뷰들의 하위 부분들이고, 하위 부분들은 거의 중복되지 않거나 중복되지 않는다.
비디오 기반 코더를 사용하여 컬러 및 깊이 아틀라스들을 인코딩하는 것은 시간 기간들마다 코딩하기 위해 프레임 내의 정적 위치를 갖는 컬러 및 깊이 패치들을 이용하는 것의 이점을 취한다. 이는 비디오 인코딩 시간적 예측을 실제로 더 쉽고 효율적으로 만든다.
따라서, 각각의 컬러 및 깊이 패치들의 커플은 주어진 시간 기간에 걸쳐, 통상적으로 MVD 프레임 지속기간의 배수에 걸쳐 정적 속성들을 가져야 한다. 패치들은 상기 시간 기간에 걸쳐 상기와 같이 정의된다(유효하다). 컬러 및 깊이 패치들의 커플의 컬러 또는 깊이 패치의 콘텐츠에 대해서는, 이것은 상기 시간 기간에 걸쳐 시간적으로 변할 수 있다.
디코딩 스테이지에서, 컬러 및 깊이 아틀라스들은 먼저 비디오 기반 디코더(통상적으로 HEVC)를 사용하여 디코딩되고, 컬러 및 깊이 패치들은 뷰 합성 프로세스에서 투영 해제되어(un-projected) 원하는 뷰잉 위치와 연관된 뷰포트를 복구한다. 컬러 및 깊이 아틀라스들 외에도, 패치 배열을 기술하는 특정 메타데이터가 적절한 디코딩을 위해 컬러 및 깊이 아틀라스들과 함께 시그널링된다. 특히, 상기 메타데이터는 컬러 및 깊이 아틀라스 생성을 위해서뿐만 아니라 패치 속성들(위치, 크기,...)을 위해 사용되는 2D/구형 투영들의 세트(카메라들로도 명명됨)를 리스트에 넣을 수 있다.
다음은 본 개시내용의 일부 양태들의 기본적인 이해를 제공하기 위해 본 실시예들 중 적어도 하나의 실시예의 간략화된 요약을 제시한다. 이 요약은 실시예의 포괄적인 개관이 아니다. 이것은 실시예의 핵심적인 또는 중요한 요소들을 식별하는 것으로 의도되지 않는다. 다음의 요약은 본 문서의 다른 곳에서 제공되는 더 상세한 설명에 대한 서문으로서 본 실시예들 중 적어도 하나의 실시예의 일부 양태들을 간략화된 형태로 제시하는 것일 뿐이다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 장면을 표현하는 볼류메트릭 비디오를 인코딩하기 위한 방법이 제공되며, 상기 인코딩은 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초하고, 여기서 제1 패치는 상기 제1 패치가 주어진 시간 간격에 걸쳐 제2 패치에 패킹될 수 있을 때 상기 제2 패치가 그를 따라 정의되는 시간 기간 이하의 상기 주어진 시간 간격 동안 상기 제2 패치에 패킹된다.
일 실시예에서, 방법은 상기 시간 간격을 정의하는 정보를 송신하는 단계를 추가로 포함한다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 장면을 표현하는 볼류메트릭 비디오를 디코딩하기 위한 방법이 제공되며, 상기 디코딩은 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초하고, 여기서 제1 패치가 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제2 패치에 패킹될 때, 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제(unpacking)하는 단계를 포함한다.
일 실시예에서, 제1 패치는 상기 시간 간격을 정의하는 정보가 수신될 때 상기 시간 간격에 걸쳐 제2 패치에 상기와 같이 패킹된다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 장면을 표현하는 볼류메트릭 비디오를 인코딩하기 위한 수단을 포함하는 장치가 제공되며, 상기 인코딩은 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초하고, 여기서 제1 패치는, 상기 제1 패치가 상기 시간 간격에 걸쳐 상기 제2 패치에 패킹될 수 있을 때 제2 패치가 그를 따라 정의되는 시간 기간 이하인 주어진 시간 간격 동안 제2 패치에 패킹된다.
일 실시예에서, 장치는 상기 시간 간격을 정의하는 정보를 송신하기 위한 수단을 추가로 포함한다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 장면을 표현하는 볼류메트릭 비디오를 디코딩하기 위한 수단을 포함하는 장치가 제공되며, 상기 디코딩은 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초하고, 여기서 제1 패치가 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제2 패치에 패킹될 때, 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제하는 단계를 포함한다.
일 실시예에서, 제1 패치는 상기 시간 간격을 정의하는 정보가 수신될 때 상기 시간 간격에 걸쳐 제2 패치에 상기와 같이 패킹된다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 장면을 표현하는 볼류메트릭 비디오를 포함하는 비트스트림이 제공되고, 상기 볼류메트릭 비디오는 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초한 인코딩을 사용하여 인코딩되고, 여기서 비트스트림은 제1 패치가 상기 시간 간격에 걸쳐 제2 패치에 패킹되는 것을 표시하는 시간 간격을 정의하는 정보를 추가로 포함한다.
일 실시예에서, 상기 시그널링된 정보는 패치들의 순서화된 리스트의 제1 및 제2 인덱스들을 표시한다.
일 실시예에서, 시간 기간은 다중의 시간 간격으로 분할(split)되고, 상기 시간 간격을 정의하는 상기 정보는 상기 시간 간격들 중 하나를 표시하는 비트이다.
적어도 하나의 실시예 중 하나 이상은 또한 컴퓨터 프로그램 제품 및 비일시적 컴퓨터 판독가능 매체를 제공한다.
본 실시예들 중 적어도 하나의 실시예의 특정 성질뿐만 아니라 본 실시예들 중 상기 적어도 하나의 실시예의 다른 목적들, 장점들, 특징들 및 사용들은 첨부 도면들과 연계하여 취해진 예들에 대한 다음의 설명으로부터 명백해질 것이다.
도면에는, 여러 실시예의 예들이 도시되어 있다. 도면들에서:
도 1은 종래 기술에 따른 아틀라스 기반 볼류메트릭 비디오 인코딩/디코딩의 예의 개략적인 블록도를 도시한다;
도 2는 종래 기술에 따른 패치의 예를 도시한다;
도 3은 적어도 하나의 본 실시예에 따라 볼류메트릭 비디오를 인코딩하기 위한 방법의 흐름도를 도시한다;
도 3a는 적어도 하나의 본 실시예에 따라 볼류메트릭 비디오를 디코딩하기 위한 방법의 흐름도를 도시한다;
도 4 내지 도 4d는 도 3의 방법의 예들을 도시한다;
도 5는 적어도 일 실시예에 따른 신택스 요소의 예를 도시한다; 및
도 6은 다양한 양태 및 실시예가 구현되는 시스템의 예의 개략적인 블록도를 도시한다.
본 실시예들 중 적어도 하나의 실시예가 본 실시예들 중 적어도 하나의 실시예의 예들이 도시되어 있는 첨부 도면들을 참조하여 이하에서 더 철저히 설명된다. 그러나, 실시예는 다수의 대안 형태로 구체화될 수 있으며, 본 명세서에 제시된 예들로만 한정되는 것으로 해석해서는 안 된다. 따라서, 실시예들을 개시된 특정 형태들로 제한하려는 의도는 없다는 것을 이해해야 한다. 반대로, 본 개시내용은 본 출원의 사상 및 범위 내에 속하는 모든 수정들, 등가물들, 및 대안들을 커버하도록 의도된다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
도면들의 유사하거나 동일한 요소들은 동일한 참조 번호들로 참조된다.
일부 도면들은 표준 사양을 준수하는 비트스트림의 구조를 정의하기 위해 표준 사양에서 널리 사용되는 신택스 테이블들을 나타낸다. 그러한 신택스 테이블들에서, 용어 '...'은 판독을 용이하게 하기 위해 V-PCC에서 주어지고 도면들에서 제거된 원래의 정의에 대한 신택스의 변경되지 않은 부분들을 나타낸다. 도면들에서 볼드체의 항들은 이 항에 대한 값이 비트스트림을 파싱함으로써 획득된다는 것을 나타낸다. 신택스 테이블들의 우측 열은 신택스 요소의 데이터를 인코딩하기 위한 비트들의 수를 나타낸다. 예를 들어, u(4)는 데이터를 인코딩하기 위해 4 비트가 사용된다는 것을 나타내고, u(8)는 8 비트를 나타내고, ae(v)는 컨텍스트 적응형 산술 엔트로피 코딩된 신택스 요소를 나타낸다.
이하에 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 이하의 도 1 내지 도 6은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되며, 도 1 내지 도 6의 논의는 구현들의 범위를 한정하지 않는다.
양태들 중 적어도 하나는 일반적으로 볼류메트릭 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다.
더욱이, 본 양태들은 MPEG-1 파트 7과 같은 MPEG 표준에만 제한되지 않고, 예를 들어, 기존의 것이든 장래에 개발될 것이든 간에, 다른 표준 및 추천, 그리고 임의의 이러한 표준 및 추천의 확장에 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 본 출원에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
알타스 기반 볼류메트릭 비디오 인코딩/디코딩의 토대는 당연히 컬러 및 깊이 아틀라스(atlas)들의 컬러 및 깊이 패치들이 충분히 중복적이지 않으며 보완적이 되도록 생성되는 방식이다.
도 1은 종래 기술(MIV)에 따른 알타스 기반 볼류메트릭 비디오 인코딩/디코딩의 예의 개략적인 블록도를 도시한다.
본질적으로, 알타스 기반 볼류메트릭 비디오 인코더는 뷰 최적화기, 아틀라스 구성기, 비디오 인코더 및 메타데이터 컴포저(composer)를 포함한다. 유사하게, 알타스 기반 볼류메트릭 비디오 디코더는 비디오 디코더, 메타데이터 파서, 아틀라스 패치 점유 맵 생성기, 및 렌더러를 포함한다.
뷰 최적화기는 주어진 시간 기간 T에 걸쳐 MVD 프레임들과 연관된 뷰들의 커플을 소위 "기본" 뷰들의 커플들 및 "추가" 뷰들의 커플들로 분할한다.
가능하게는, 합성 뷰들이 뷰들의 "기본" 또는 "추가" 커플의 뷰로서 생성된다. 합성 뷰들은 인코딩될 뷰들의 초기 입력 세트에 있지 않다.
뷰들의 "기본" 커플들은 소위 "빅(big)" 패치들("기본" 뷰들의 커플 당 컬러 및 깊이 패치들의 한 커플)로 완전히 운반되도록 의도되는 반면, 뷰들의 "추가" 커플들은 "프루닝(pruned)"되도록 의도되는데, 즉, 이들 뷰들의 "추가" 커플들의 컬러 및 깊이의 일부 하위 부분들만이 이하에 설명되는 바와 같이 인코딩되어 컬러 및 깊이 패치들의 연관된 커플들로 운반될 수 있다.
아틀라스 구성기는 볼류메트릭 비디오를 나타내는 컬러 및 깊이 패치 아틀라스들을 구축한다.
먼저, 각각의 MVD 프레임에 대해, 뷰들의 연관된 "추가" 커플들은 차례 차례로 반복적으로 프루닝된다: 뷰들의 "기본" 커플들에 또는 임의의 이전에 프루닝된 뷰들의 "추가" 커플들에 이미 포함된 장면의 각각의 부분은 폐기된다. 그 후, 시간 기간 T의 모든 MDV 프레임마다의 뷰들의 모든 프루닝된 "추가" 커플들마다 이진 마스크가 구축된다.
다음으로, 시간 기간 T에 걸쳐 프루닝된 뷰들의 "추가" 커플과 연관된 이진 마스크들은 하나의 고유의 모아진 이진 마스크로 병합되는데, 이것은 그 후 그것이 그로부터 오는 이진 마스크들 중 하나가 주어진 공간 위치에서 유효한 값을 갖는 경우, 이 공간 위치에서 유효한 값을 포함한다("추가" 뷰들의 커플의 일부 컬러 및 깊이가 컬러 및 깊이 패치들에 의해 운반되어야만 하는 것을 나타냄).
다음으로, 각각의 "추가" 뷰들의 커플들과 연관된 모아진 이진 마스크가 클러스터링된다. 클러스터는 유효 값들을 갖는, 모아진 이진 마스크의 연결된 픽셀들을 그룹화하는 직사각형 영역이다. 이러한 클러스터들 각각은 시간 기간 T 동안 컬러 및 깊이 패치들의 커플로 운반되어야 하는 하나의 "추가" 뷰들의 커플의 영역을 나타낸다.
그 후, 각각의 뷰들의 "추가" 커플들에 대해, 컬러 및 깊이 패치들의 적어도 하나의 커플은 전용 알고리즘들(예를 들어, "MaxRect")을 사용하여 컬러 및 깊이 아틀라스들(큰 프레임들)에서 클러스터들을 함께 패킹함으로써 획득된다. 일부 클러스터들은 패킹 빈(packing bin)들에 맞도록 필요한 경우 분할 및/또는 회전될 수 있다. 일부 패치들의 빈 영역들은 또한 공간을 절약하기 위해 뷰들의 또 다른 "추가" 뷰들의 커플들(소위 패치에서의 "공간" 패치)의 클러스터들을 패킹하기 위해 사용될 수 있다. 이전에 언급한 바와 같이, 뷰들의 "기본" 커플들은 또한 동일한 절차에 따라 컬러 및 깊이 아틀라스들로 또한 패킹되는 "큰" 패치들을 낳는다. 패킹 절차는 패치 특성들(위치, 크기,...)을 찾는 것만으로 이루어지고 컬러 및 깊이 아틀라스들을 효과적으로 생성하는 것은 아니라는 점에 유의한다.
마지막으로, 일단 패치 리스트가 형성되었다면, 시간 기간 T에 걸친 각각의 MVD 프레임에 대해, 대응하는 컬러 및 깊이 아틀라스들이 생성된다. 더 정확하게는, 컬러 및 깊이 패치들의 각각의 커플에 대응하는 "기본" 및 "추가" 뷰들의 커플들의 컬러 및 깊이 부분들이 컬러 및 깊이 아틀라스들 내의 대응하는 공간 위치들에 (요구되는 경우 가능한 회전들을 가지며) 복사된다. 하루의 끝에, 시간 기간 T의 모든 MVD 프레임마다에 대해 하나의 컬러 및 깊이 아틀라스들의 커플이 생성되고, 전체 시간 기간 T에 대해 ("기본" 및 "추가" 뷰들의 커플들 특성들뿐만 아니라 패치 리스트 특성들을 포함하는) 하나의 고유 메타데이터 리스트가 생성된다.
아틀라스 구성기의 하나의 중요한 문제는 시간 기간 T 동안 (움직이는 물체로 인해 또는 카메라 모션으로 인해) 장면에서 중요한 모션이 발생할 때 일어난다. 그 경우, 모음(aggregation)은 시간 기간 T 동안 패치 내에서의 장면의 부분의 "슬라이딩 모션"으로부터 귀결되는 매우 큰 패치들을 생성할 수 있다. 이는 원형 형상이 시간 기간 T에 걸쳐 패치의 하단에서 상단으로 이동하는 도 2에 도시된다. 패치 인스턴스들(즉, 패치들)은 실제로 개별적으로 아주 비어 있지만(이들은 소수의 재료를 포함함), 슬라이딩 콘텐츠는 준-완전한 모아진 이진 마스크의 부분(P) 및 따라서 컬러 및 깊이 아틀라스들에 패킹될 "큰" 클러스터("큰" 패치)를 유도한다.
더욱이, 패치에서의 "공간" 패치를 활용하여 이들 패치 인스턴스들의 희소성을 이용하려고 시도하는 것은 그러한 경우에 가능하지 않은데, 그 이유는 특정 시간에 이것이 비어 있다 하더라도, 패치 인스턴스의 주어진 부분이 시간 기간 T의 나머지 부분 동안 커버될 수 있기 때문이다.
간단한 해결책으로서, 시간 기간 T는 모션의 영향을 줄이기 위해 적응적으로 단축될 수 있지만, 그러한 경우에 그러한 문제에 의해 영향을 받지 않는 패치 인스턴스들은 (시간 기간을 단축하는 것은 확장 인트라 코딩된 MVD 프레임의 추가를 함의하므로) 유용하게 확장적일 것이다.
그 결과, 도 1의 알타스 기반 볼류메트릭 비디오 인코딩/디코딩은 큰 움직임이 발생할 때 모든 장면 콘텐츠를 패킹하기 위해 더 큰 아틀라스를 필요로 하며, 이는 아마도 바람직하지 않은 높은 픽셀 레이트로 이어진다. 픽셀 레이트는 비디오 송신을 위해 시간 단위(전형적으로 초)당 송신될 픽셀들의 양이다. 보통은, 픽셀 레이트는 W*H*FPS에 의해 정의되며, 여기서 W 및 F는 송신될 비디오의 픽처의 행들 및 열들의 수이고, FPS는 시간 단위당 프레임들의 수이다. 여기서, 픽셀 레이트는 컬러 및 깊이 아틀라스의 크기에 의존한다.
일반적으로 말하면, 본 실시예들은 상기 제1 패치가 상기 시간 간격에 걸쳐 상기 제2 패치에 패킹될 수 있을 때 시간 기간 T 이하의 시간 간격 동안 제2 패치에 제1 패치를 패킹한다.
기저에 깔린 아이디어는 패치들 내의 빈 영역들을 이용하여 픽셀 레이트를 줄이는 것이다.
도 3은 적어도 하나의 본 실시예에 따라 볼류메트릭 비디오를 인코딩하는 방법의 흐름도를 도시한다.
단계 310에서, 제1 패치 및 제2 패치는 컬러 또는 깊이 아틀라스로부터 획득될 수 있다. 제2 패치는 시간 기간 T에 걸쳐 정의되고, 제1 패치는 시간 기간 T 이하의 시간 기간에 걸쳐 정의될 수 있다.
대안적으로, 제1 패치는 컬러 및 깊이 아틀라스들에 패킹되도록 의도된 클러스터일 수 있다.
단계 320에서, 제1 패치가 시간 기간 T 이하의 시간 간격에 걸쳐 제2 패치에 패킹될 수 있는지를 검사한다.
단계 330에서, 제1 패치가 시간 간격에 걸쳐 제2 패치에 패킹될 수 있을 때, 제1 패치는 시간 간격에 걸쳐 제2 패치에 패킹된다.
도 4는 도 3의 방법의 비제한적인 예시적인 예를 도시한다. 시간 기간 TM에 걸친 제1 패치 M 및 시간 기간 T에 걸친 제2 패치 P를 고려한다. 명백히, 패치 M의 모든 인스턴스의 콘텐츠가 패치 P의 인스턴스들의 콘텐츠와 중첩되지 않기 때문에 패치 M은 패치 P에 패킹될 수 있다. 여기서, 패치 인스턴스들 P1 및 M1, 제각기 P2 및 M2의 콘텐츠들은 패치 M이 패치 M의 상부 부분에 패킹될 때 중첩되지 않는다. 다시 말해서, 제1 패치 M의 모든 인스턴스 M1 및 M2의 콘텐츠는 제2 패치, 여기서 P1 및 P2의 패치 인스턴스들의 빈 공간들에 로깅(내장, 패킹)될 수 있다(도 4a).
이러한 예시적인 예는 임의의 제1 및 제2 패치들로 확장될 수 있다. 또한, 다중의 제1 패치가 또한 동일한 제2 패치에 패킹될 수 있다. 더욱이, 시간 기간에 걸친 제1 패치는 동일한 시간 기간에 걸쳐 제2 패치에 패킹될 수 있다(TM=T).
도 4b는 도 3의 방법의 또 다른 비제한적인 예시적인 예를 도시한다. 시간 기간 T에 걸친 제1 패치 M 및 시간 기간 T에 걸친 제2 패치 P를 고려한다. 명백히, 패치 M이 패치 P의 상부 부분에 패킹되는 경우, 패치 인스턴스들 M3 및 M4의 콘텐츠가 패치 인스턴스들 P3 및 P4의 콘텐츠와 중첩되고, 패치 M이 패치 P의 하부 부분에 패킹되는 경우, 패치 인스턴스들 M1 및 M2의 콘텐츠가 패치 인스턴스들 P1 및 P2의 콘텐츠와 중첩되기 때문에, 패치 M은 패치 P에 패킹될 수 없다. 이 경우, 도 3의 방법에 따르면, 패치 M(도 4b)으로부터 2개의 제1 패치 N 및 O가 획득된다(도 4c). 제1 패치(N)는 시간 기간 T보다 작은 시간 간격 T1에 걸쳐 정의되고, 제1 패치 O는 시간 기간 T보다 작은 시간 간격 T2에 걸쳐 정의된다. 명백히, 패치 N의 모든 인스턴스의 콘텐츠가 패치 P의 인스턴스의 콘텐츠와 중첩되지 않기 때문에 패치 N은 패치 P의 상부 부분에 패킹될 수 있다. 여기서, 패치 인스턴스 P1 및 N1, 제각기 P2 및 N2의 콘텐츠는 중첩되지 않는다. 또한, 패치 O의 모든 인스턴스의 콘텐츠가 패치 P의 인스턴스들의 콘텐츠와 중첩되지 않기 때문에 패치 O는 패치 P의 하부 부분에 패킹될 수 있다. 여기서, 패치 인스턴스들 P3 및 O1, 제각기 P4 및 O2의 콘텐츠는 중첩되지 않는다.
일 실시예에서, 제2 패치(P)에 패치(M)를 패킹하기 위해 요구되는 시간 간격들의 수를 최소화하기 위해 시간 간격 (T1,T2,...)이 정의될 수 있다.
변형에서, 시간 간격은 시간 기간 T를 규칙적으로 분할함으로써 정의된다. 도 4c의 예에서, 시간 기간 T는 2개의 동일한 시간 간격 T1 및 T2로 분할되지만, 임의의 다른 값이 허용된다.
명백히, 패치 인스턴스들 N1 및 P1, 제각기 N2 및 P2의 콘텐츠들이 중첩되지 않기 때문에 패치 N(도 4c)은 패치 P의 상부 부분에 패킹될 수 있다. 패치 인스턴스들 O1 및 P3, 제각기 O2 및 P4의 콘텐츠들이 중첩되지 않기 때문에, 패치 O는 또한 패치 P의 하부 부분에 패킹될 수 있다(도 4d).
도 3a는 적어도 하나의 본 실시예에 따라 볼류메트릭 비디오를 디코딩하기 위한 방법의 흐름도를 도시한다.
단계 350에서, 시간 기간 T에 걸친 제2 패치가 컬러 또는 깊이 아틀라스로부터 획득될 수 있다.
단계 360에서, 시간 기간 T 이하의 시간 간격에 걸쳐 제1 패치가 제2 패치에 패킹되는지를 검사한다.
단계 370에서, 제1 패치가 시간 간격에 걸쳐 제2 패치에 패킹될 때, 제1 패치는 상기 시간 간격에 걸쳐 제2 패치로부터 패킹해제된다.
도 3 및 도 3a의 방법들의 변형에서, 시간 간격을 정의하는 정보 INF가 시그널링되며, 이는 코더에 의해 송신되고, 아마도 비트스트림으로부터 디코더에 의해 수신된다.
그 후, 도 3의 방법은 정보 INF를 송신하는 단계 340을 포함하고, 단계 360의 일 실시예에서, 상기 시간 간격을 정의하는 정보가 가능하게는 비트스트림으로부터 수신될 때 제1 패치는 시간 간격에 걸쳐 제2 패치에 상기와 같이 패킹된다.
일 실시예에서, 상기 시그널링된 정보 INF는 패치들의 순서화된 리스트의 제1 및 제2 인덱스들을 표시한다.
예를 들어, 32-길이 시간 기간의 경우에 이 인덱스들 각각을 저장하기 위해 4 비트의 필드가 고려될 수 있다.
실시예에서, 시간 기간은 다중의 시간 간격으로 분할되고, 상기 시그널링된 정보 INF는 상기 시간 간격들 중 하나를 표시하는 비트이다.
예를 들어, 시간 기간 T는 N개의 규칙적 시간 간격(예를 들어, 32-길이 시간 기간 T에 대해 8개 프레임의 4개의 시간 간격)으로 분할될 수 있고, 시그널링된 정보는 N 비트의 필드일 수 있다. 시간 기간 T의 i번째 시간 간격 동안 패치가 "존재"하는 경우, i번째 비트는 1에 설정된다.
도 5는 상기 시그널링된 정보 INF를 나타내는 신택스 요소 "패치-수명(patch-lifetime)"을 포함하는 컬러 및 깊이 아틀라스의 파라미터들에 대한 신택스 요소 "altas_params"의 예를 도시한다. 인덱스 "a"는 패치 인덱스를 지칭할 수 있고, 인덱스 "i"는 시간 간격 인덱스를 지칭할 수 있다.
도 6은 다양한 양태 및 실시예가 구현되는 시스템의 예를 도시하는 개략적인 블록도를 도시한다.
시스템(6000)은 이하에 설명되는 다양한 컴포넌트를 포함하는 하나 이상의 디바이스로서 구체화될 수 있고, 본 문서에 설명되는 양태들 중 하나 이상을 수행하도록 구성된다. 시스템(6000)의 전부 또는 일부를 형성할 수 있는 장비의 예들은 개인용 컴퓨터들, 랩톱들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인용 비디오 레코딩 시스템들, 연결된 가전 기기들, 연결된 차량들 및 이들의 연관된 처리 시스템들, HMD(head mounted display device, 시스루(see-through) 안경), 프로젝터들(비머(beamer)들), "케이브들(caves)"(다중의 디스플레이를 포함하는 시스템), 서버들, 비디오 인코더들, 비디오 디코더들, 비디오 디코더로부터의 출력을 처리하는 포스트-프로세서들, 비디오 인코더에 입력을 제공하는 프리-프로세서들, 웹 서버들, 셋톱 박스들, 및 포인트 클라우드, 비디오 또는 이미지를 처리하기 위한 임의의 다른 디바이스 또는 다른 통신 디바이스들을 포함한다. 시스템(6000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로, 다중의 IC, 및/또는 이산 컴포넌트들로 구체화될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(6000)의 처리 및 인코더/디코더 요소들은 다중의 IC 및/또는 이산 컴포넌트들에 걸쳐 분산될 수 있다. 다양한 실시예에서, 시스템(6000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 다른 유사한 시스템들에 또는 다른 전자 디바이스들에 통신가능하게 결합될 수 있다. 다양한 실시예들에서, 시스템(6000)은 본 문서에 설명된 양태들 중 하나 이상을 구현하도록 구성될 수 있다.
시스템(6000)은, 예를 들어, 본 문서에 설명된 다양한 양태를 구현하기 위해 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(6010)를 포함할 수 있다. 프로세서(6010)는 임베디드 메모리, 입력 출력 인터페이스, 및 본 기술분야에 알려진 바와 같은 다양한 다른 회로를 포함할 수 있다. 시스템(6000)은 적어도 하나의 메모리(6020)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함할 수 있다. 시스템(6000)은 EEPROM(Electrically Erasable Programmable Read-Only Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 자기 디스크 드라이브, 및/또는 광 디스크 드라이브를 포함하지만 이에 제한되지는 않는, 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는, 저장 디바이스(6040)를 포함할 수 있다. 저장 디바이스(6040)는, 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스, 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
시스템(6000)은, 예를 들어, 인코딩된 데이터 또는 디코딩된 데이터를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(6030)을 포함할 수 있고, 인코더/디코더 모듈(6030)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(6030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 표현할 수 있다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(6030)은 시스템(6000)의 개별 요소로서 구현될 수 있거나, 또는 본 기술분야의 통상의 기술자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(6010) 내에 통합될 수 있다.
본 문서에 설명된 다양한 양태를 수행하기 위해 프로세서(6010) 또는 인코더/디코더(6030) 상으로 로딩될 프로그램 코드는 저장 디바이스(6040)에 저장되고, 후속하여 프로세서(6010)에 의한 실행을 위해 메모리(6020) 상으로 로딩될 수 있다. 다양한 실시예에 따르면, 프로세서(6010), 메모리(6020), 저장 디바이스(6040), 및 인코더/디코더 모듈(6030) 중 하나 이상은 본 문서에 설명된 프로세스들의 수행 동안 다양한 아이템 중 하나 이상을 저장할 수 있다. 이러한 저장된 아이템들은, 포인트 클라우드 프레임, 인코딩된/디코딩된 지오메트리/텍스처 비디오들/이미지들 또는 인코딩된/디코딩된 지오메트리/텍스처 비디오/이미지들의 부분들, 비트스트림, 행렬들, 변수들, 및 방정식들, 공식들, 연산들, 및 연산 로직의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이에 제한되는 것은 아니다.
몇몇 실시예에서, 프로세서(6010) 및/또는 인코더/디코더 모듈(6030) 내부의 메모리는 명령어들을 저장하고 인코딩 또는 디코딩 동안 수행될 수 있는 처리를 위한 작업 메모리를 제공하기 위해 사용될 수 있다.
그러나, 다른 실시예들에서, 처리 디바이스(예를 들어, 처리 디바이스는 프로세서(6010) 또는 인코더/디코더 모듈(6030) 중 어느 하나일 수 있음) 외부의 메모리는 이러한 기능들 중 하나 이상을 위해 사용될 수 있다. 외부 메모리는 메모리(6020) 및/또는 저장 디바이스(6040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예에서, 외부 비휘발성 플래시 메모리는 텔레비전의 운영 체제를 저장하기 위해 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2 파트 2(ITU-T 권고 H.262 및 ISO/IEC 13818-2로도 알려지고, MPEG-2 비디오로도 알려짐), HEVC(High Efficiency Video coding), 또는 VVC(Versatile Video Coding)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용될 수 있다.
시스템(6000)의 요소들에 대한 입력은 블록(6130)에 나타낸 바와 같이 다양한 입력 디바이스를 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 OTA(over the air)로 송신되는 RF 신호를 수신할 수 있는 RF 부분, (ii) 복합 입력 단자(Composite input terminal), (iii) USB 입력 단자, 및/또는 (iv) HDMI 입력 단자를 포함하지만, 이에 제한되지는 않는다.
다양한 실시예에서, 블록(6130)의 입력 디바이스들은 본 기술분야에 알려진 바와 같은 연관된 각자의 입력 처리 요소들을 가질 수 있다. 예를 들어, RF 부분은 (i) 원하는 주파수 선택(신호 선택 또는 신호의 주파수 대역으로의 대역-제한이라고도 지칭됨), (ii) 선택된 신호의 하향-변환, (iii) 특정 실시예들에서 채널로 지칭될 수 있는 (예를 들어) 신호 주파수 대역을 선택하기 위해 다시 더 좁은 주파수 대역으로의 대역-제한, (iv) 하향-변환되고 대역-제한된 신호의 복조, (v) 오류 정정 수행, 및 (vi) 원하는 데이터 패킷 스트림을 선택하기 위한 디멀티플렉싱에 필요한 요소들과 연관될 수 있다. 다양한 실시예의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 오류 정정기들, 및 디멀티플렉서들을 포함할 수 있다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근-기저대역 주파수)로 또는 기저대역으로 하향-변환하는 것을 포함하여, 다양한 이러한 기능을 수행하는 튜너를 포함할 수 있다.
하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신되는 RF 신호를 수신할 수 있다. 그 후, RF 부분은 필터링, 하향-변환, 및 원하는 주파수 대역으로 다시 필터링함으로써 주파수 선택을 수행할 수 있다.
다양한 실시예는 전술한 (및 다른) 요소들의 순서를 재배열하고, 이 요소들의 일부를 제거하고, 및/또는 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다.
요소들을 추가하는 것은, 예를 들어, 증폭기들과 아날로그-투-디지털 변환기를 삽입하는 것과 같이 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예에서, RF 부분은 안테나를 포함할 수 있다.
추가적으로, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 연결들을 통해 다른 전자 디바이스들에 시스템(6000)을 연결하기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태, 예를 들어, 리드-솔로몬(Reed-Solomon) 오류 정정은, 예를 들어, 필요에 따라 별도의 입력 처리 IC 내에서 또는 프로세서(6010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 필요에 따라 별도의 인터페이스 IC들 내에서 또는 프로세서(6010) 내에서 구현될 수 있다. 복조되고, 오류 정정되고, 디멀티플렉싱된 스트림은, 예를 들어, 프로세서(6010), 및 출력 디바이스 상의 제시를 위해 필요에 따라 데이터 스트림을 처리하기 위해 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(6030)를 포함하는 다양한 처리 요소에 제공될 수 있다.
시스템(6000)의 다양한 요소가 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소는 적절한 연결 배열(6140), 예를 들어, I2C 버스, 배선, 및 인쇄 회로 보드들을 포함하는, 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 인터커넥트되고 그 사이에서 데이터를 송신할 수 있다.
시스템(6000)은 통신 채널(6060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(6050)를 포함할 수 있다. 통신 인터페이스(6050)는 통신 채널(6060)을 통해 데이터를 송신 및 수신하도록 구성되는 송수신기를 포함할 수 있지만, 이에 제한되지는 않는다. 통신 인터페이스(6050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 제한되지는 않으며, 통신 채널(6060)은 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예에서, IEEE 802.11과 같은 Wi-Fi 네트워크를 사용하여 시스템(6000)에 스트리밍될 수 있다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 인터페이스(6050) 및 통신 채널(6060)을 통해 수신될 수 있다. 이러한 실시예들의 통신 채널(6060)은 통상적으로 스트리밍 애플리케이션들 및 다른 OTT(over-the-top) 통신들을 허용하기 위해 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속될 수 있다.
다른 실시예들은 입력 블록(6130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(6000)에 제공할 수 있다.
또 다른 실시예들은 입력 블록(6130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(6000)에 제공할 수 있다.
시그널링이 각종의 방식으로 달성될 수 있다는 것을 알 것이다. 예를 들어, 다양한 실시예에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하기 위해 사용될 수 있다.
시스템(6000)은 디스플레이(6100), 스피커들(6110), 및 다른 주변 디바이스들(6120)을 포함하는 다양한 출력 디바이스에 출력 신호를 제공할 수 있다. 다른 주변 디바이스들(6120)은, 실시예들의 다양한 예에서, 독립형 DVR, 디스크 플레이어, 스테레오 시스템, 조명 시스템, 및 시스템(3000)의 출력에 기초하여 기능을 제공하는 다른 디바이스들 중 하나 이상을 포함할 수 있다.
다양한 실시예에서, 제어 신호들은 AV.Link(Audio/Video Link), CEC(Consumer Electronics Control), 또는 사용자 개입으로 또는 사용자 개입 없이 디바이스-투-디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(6000)과 디스플레이(6100), 스피커들(6110), 또는 다른 주변 디바이스들(6120) 사이에서 통신될 수 있다.
출력 디바이스들은 각자의 인터페이스들(6070, 6080, 및 6090)을 통한 전용 접속들을 통해 시스템(6000)에 통신가능하게 결합될 수 있다.
대안적으로, 출력 디바이스들은 통신 인터페이스(6050)를 통해 통신 채널(6060)을 사용하여 시스템(6000)에 접속될 수 있다. 디스플레이(6100) 및 스피커들(6110)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서의 시스템(6000)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다.
다양한 실시예에서, 디스플레이 인터페이스(6070)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함할 수 있다.
디스플레이(6100) 및 스피커(6110)는 대안적으로, 예를 들어, 입력(6130)의 RF 부분이 별도의 셋톱 박스의 부분인 경우, 다른 컴포넌트들 중 하나 이상으로부터 분리될 수 있다. 디스플레이(6100) 및 스피커들(6110)이 외부 컴포넌트들일 수 있는 다양한 실시예에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
도 1 내지 도 6에서, 다양한 방법이 본 명세서에서 설명되고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
일부 예는 블록도들 및 동작 흐름도들과 관련하여 설명된다. 각각의 블록은 회로 요소, 모듈, 또는 특정된 로직 기능(들)을 구현하기 위한 하나 이상의 실행가능 명령어를 포함하는 코드의 일부를 표현한다. 다른 구현들에서, 블록들로 언급된 기능(들)이 표시된 순서를 벗어나 발생할 수 있다는 것에 또한 유의해야 한다. 예를 들어, 수반되는 기능에 의존하여, 순서대로 보여진 2개의 블록은 실제로는 실질적으로 동시에 실행될 수 있고, 또는 블록들은 때로는 역순으로 실행될 수 있다.
본 명세서에서 설명되는 구현들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 컴퓨터 프로그램, 데이터 스트림, 비트스트림, 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 컴퓨터 프로그램)로 구현될 수 있다.
방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 로직 디바이스를 포함하여, 일반적으로 처리 디바이스들을 지칭하는, 예를 들어, 프로세서로 구현될 수 있다. 프로세서들은 또한 통신 디바이스들을 포함한다.
추가적으로, 방법들은 프로세서에 의해 수행되는 명령어들에 의해 구현될 수 있고, 이러한 명령어들(및/또는 구현에 의해 생성된 데이터 값들)은 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 저장 매체는 하나 이상의 컴퓨터 판독가능 매체(들)에 구체화되며 컴퓨터에 의해 실행가능한 그 상에 구체화된 컴퓨터 판독가능 프로그램 코드를 갖는 컴퓨터 판독가능 프로그램 제품의 형태를 취할 수 있다. 본 명세서에서 사용되는 바와 같은 컴퓨터 판독가능 저장 매체는, 정보를 그 안에 저장하기 위한 본래의 능력뿐만 아니라, 그로부터 정보의 검색(retrieval)을 제공하기 위한 본래의 능력을 고려할 때, 비일시적 저장 매체로 간주될 수 있다. 컴퓨터 판독가능 저장 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 반도체 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적합한 조합일 수 있지만, 이에 제한되지는 않는다. 이하에서는, 본 실시예들이 적용될 수 있는 컴퓨터 판독가능 저장 매체들의 보다 구체적인 예들을 제공하지만, 본 기술분야의 통상의 기술자에 의해 용이하게 인식되는 바와 같이, 예시적인 것에 불과하고 전수적인 목록이 아니라는 것을 알 것이다: 휴대용 컴퓨터 디스켓; 하드 디스크; 판독 전용 메모리(ROM); 소거 가능 프로그래머블 판독 전용 메모리(EPROM 또는 플래시 메모리); 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM); 광학 저장 디바이스; 자기 저장 디바이스; 또는 전술한 것의 임의의 적합한 조합.
명령어들은 프로세서 판독가능 매체 상에 유형적으로 구체화되는 애플리케이션 프로그램을 형성할 수 있다.
명령어들은 예를 들어, 하드웨어, 펌웨어, 소프트웨어 또는 조합일 수 있다. 명령어들은 예를 들어, 운영 체제, 개별 애플리케이션, 또는 이들의 조합에서 발견될 수 있다. 따라서, 프로세서는 예를 들어, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령어들을 갖는 프로세서 판독가능 매체(예로서, 저장 디바이스)를 포함하는 디바이스 둘 모두로서 특징지어질 수 있다. 또한, 프로세서 판독가능 매체는 명령어들에 더하여 또는 그 대신에 구현에 의해 생성된 데이터 값들을 저장할 수 있다.
장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 이러한 장치의 예들은 개인용 컴퓨터들, 랩톱들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인용 비디오 레코딩 시스템들, 연결된 가전 기기들, HMD(head mounted display device, 시스루 안경), 프로젝터들(비머들), "케이브들"(다중의 디스플레이를 포함하는 시스템), 서버들, 비디오 인코더들, 비디오 디코더들, 비디오 디코더로부터의 출력을 처리하는 포스트-프로세서들, 비디오 인코더에 입력을 제공하는 프리-프로세서들, 웹 서버들, 셋톱 박스들, 및 포인트 클라우드, 비디오 또는 이미지를 처리하기 위한 임의의 다른 디바이스 또는 다른 통신 디바이스들을 포함한다. 명백한 것처럼, 장비는 이동식일 수 있고 심지어 이동식 차량에 설치될 수 있다.
컴퓨터 소프트웨어는 프로세서(6010)에 의해 또는 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 비제한적인 예로서, 실시예들은 또한 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(6020)는 기술적 환경에 적절한 임의의 타입의 것일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스들, 자기 메모리 디바이스들, 반도체-기반 메모리 디바이스들, 고정 메모리, 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(6010)는 기술적 환경에 적절한 임의의 타입의 것일 수 있고, 비제한적인 예들로서, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티-코어 아키텍처에 기반한 프로세서들 중 하나 이상을 포괄할 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호를 생성할 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명되는 구현들 중 하나에 의해 생성되는 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하고록 포맷팅될 수 있다. 이러한 신호는 예를 들어 (예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같은 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체상에 저장될 수 있다.
본 명세서에서 사용되는 용어는 특정 실시예들을 설명하기 위한 것일 뿐이며, 제한하는 것으로 의도하지 않는다. 본 명세서에서 사용되는 바와 같이, 단수 형태들("a", "an", 및 "the")은, 문맥이 명확하게 달리 지시하지 않는 한, 복수 형태들도 포함하는 것으로 의도될 수 있다. 본 명세서에서 사용될 때 "포함하다(includes/comprises)" 및/또는 "포함하는(including/comprising)"이라는 용어들은 언급된, 예를 들어, 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트의 존재를 특정할 수 있지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 또는 추가를 배제하는 것은 아니라는 점이 추가로 이해될 것이다. 더욱이, 한 요소가 또 다른 요소에 "응답하는" 또는 "접속되는" 것으로 지칭될 때, 그것이 다른 요소에 직접 응답하거나 접속될 수 있거나, 또는 개재 요소들이 존재할 수 있다. 대조적으로, 한 요소가 다른 요소에 "직접 응답하는(directly responsive)" 또는 "직접 접속되는(directly connected)" 것으로 지칭될 때, 개재 요소들이 존재하지 않는다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우에, 심벌/용어 "/", "및/또는" 및 "중 적어도 하나" 중 임의의 것의 사용은 첫 번째 열거된 옵션 (A)만의 선택, 또는 두 번째 열거된 옵션 (B)만의 선택, 또는 양자 모두의 옵션 (A 및 B)의 선택을 포함하도록 의도될 수 있다는 것을 이해해야 한다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 어구는 첫 번째 열거된 옵션 (A)만의 선택, 또는 두 번째 열거된 옵션 (B)만의 선택, 또는 세 번째 열거된 옵션 (C)만의 선택, 또는 첫번째와 두번째로 열거된 옵션들 (A 및 B)만의 선택, 또는 첫번째와 세번째로 열거된 옵션들 (A 및 C)만의 선택, 또는 두번째와 세번째로 열거된 옵션들 (B 및 C)만의 선택, 또는 3개의 옵션 (A 및 B 및 C) 전부의 선택을 포함하는 것으로 의도된다. 이것은 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이 열거된 많은 항목들에 대해 확장될 수 있다.
다양한 수치 값이 본 출원에서 사용될 수 있다. 특정 값들은 예시적인 목적을 위한 것이고 설명된 양태들은 이러한 특정 값들로만 제한되지는 않는다.
다양한 요소를 설명하기 위해 제1, 제2 등의 용어들이 본 명세서에 사용될 수 있지만, 이들 요소는 이들 용어에 의해서 제한되지는 않는다는 점을 이해할 것이다. 이들 용어는 단지 하나의 요소를 또 다른 요소와 구별하기 위해 사용된다. 예를 들어, 본 출원의 교시로부터 벗어나지 않고, 제1 요소는 제2 요소라고 명명될 수 있고, 유사하게, 제2 요소는 제1 요소라고 명명될 수 있다. 제1 요소와 제2 요소 사이에 어떠한 순서도 함의되지 않는다.
"하나의 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현"뿐만아니라 이들의 다른 변형들에 대한 참조는, (실시예/구현과 연계하여 설명된) 특정의 특징, 구조, 특성 등이 적어도 하나의 실시예/구현에 포함된다는 것을 전달하기 위해 자주 사용된다. 따라서, 본 출원 전반에 걸친 다양한 위치들에서 등장하는 구문 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"뿐만아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
유사하게, 본 명세서에서의 "실시예/예/구현에 따라" 또는 "실시예/예/구현에서"뿐만 아니라 이들의 다른 변형들에 대한 참조는, (실시예/예/구현과 연계하여 설명된) 특정의 특징, 구조, 또는 특성이 적어도 하나의 실시예/예/구현에 포함될 수 있다는 것을 전달하기 위해 자주 사용된다. 따라서, 본 명세서의 다양한 곳에서의 "실시예/예/구현에 따라" 또는 "실시예/예/구현에서"라는 표현의 출현은 반드시 모두 동일한 실시예/예/구현을 참조하는 것은 아니며, 별개의 또는 대안적인 실시예/예/구현이 다른 실시예들/예들/구현과 반드시 상호 배타적인 것도 아니다.
특허청구범위에 등장하는 참조 번호들은 오직 예시를 위한 것이며, 특허청구범위의 범위에 대한 제한적인 영향을 갖지 않을 것이다. 명시적으로 설명되지는 않지만, 본 실시예들/예들 및 변형들은 임의의 조합 또는 하위 조합으로 채택될 수 있다.
도면이 흐름도로서 제시될 때, 대응하는 장치의 블록도를 또한 제공한다는 점을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
일부 도면이 통신의 주요 방향을 보여주기 위해 통신 경로 상에서 화살표들을 포함할지라도, 통신은 묘사된 화살표들과 반대 방향으로 발생할 수 있음을 이해해야 한다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 바와 같이 "디코딩"은 재구성된 포인트 클라우드 도메인에서의 디스플레이 또는 추가 처리에 적합한 최종 출력을 생성하기 위해서, 예를 들어, 수신된 포인트 클라우드 프레임(가능하게는 하나 이상의 포인트 클라우드 프레임을 인코딩하는 수신된 비트스트림을 포함함)에 대해 수행되는 프로세스들의 전부 또는 일부를 포괄할 수 있다. 다양한 실시예에서, 이러한 프로세스들은 이미지 기반 디코더에 의해 통상적으로 수행되는 프로세스들 중 하나 이상을 포함한다.
추가 예들로서, 일 실시예에서 "디코딩"은 엔트로피 디코딩만을 지칭할 수 있고, 또 다른 실시예에서 "디코딩"은 차분 디코딩(differential decoding)만을 지칭할 수 있고, 또 다른 실시예에서 "디코딩"은 엔트로피 디코딩과 차분 디코딩의 조합을 지칭할 수 있다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 구체적인 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자들에 의해 잘 이해될 것으로 여겨진다.
다양한 구현은 인코딩을 수반한다. "디코딩"에 관한 위의 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같이 "인코딩"은 인코딩된 비트스트림을 생성하기 위해서, 예를 들어, 입력 포인트 클라우드 프레임에 대해 수행되는 프로세스들의 전부 또는 일부를 포괄할 수 있다. 다양한 실시예에서, 이러한 프로세스들은 이미지 기반 디코더에 의해 통상적으로 수행되는 프로세스들 중 하나 이상을 포함한다.
추가 예들로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭할 수 있고, 또 다른 실시예에서 "인코딩"은 차분 인코딩만을 지칭할 수 있고, 또 다른 실시예에서 "인코딩"은 엔트로피 인코딩과 차분 인코딩의 조합을 지칭할 수 있다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 구체적인 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자들에 의해 잘 이해될 것으로 여겨진다.
본 명세서에서 사용되는 신택스 요소들은 기술적 용어들(descriptive terms)이라는 점에 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
다양한 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 보통은 고려된다. 레이트 왜곡 최적화는 보통은 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로서 공식화될 수 있다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 후에 재구성된 신호의 그 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함하여, 모든 인코딩 옵션들의 광범위한 테스트에 기초할 수 있다. 인코딩 복잡성을 절감하기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산에 의해 더 빠른 접근법들이 또한 사용될 수 있다. 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용하는 것과 같이, 이들 2개의 접근법의 혼합이 또한 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법은 최적화를 수행하기 위해 다양한 기법 중 임의의 기법을 채택하지만, 최적화가 반드시 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가인 것은 아니다.
또한, 본 출원은 다양한 정보 피스를 "결정"하는 것을 참조할 수 있다. 정보를 결정하는 것은 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터의 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보 피스에 "액세스"하는 것을 참조할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터의) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보 피스를 "수신"하는 것을 지칭할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, 정보에 대한 액세스 또는 (예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신"은 통상적으로 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정과 같은 동작들 동안 어떻게든 수반된다.
또한, 본 명세서에서 이용된 바와 같이, 단어 "신호"는 다른 무엇보다도, 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 이러한 방식으로, 실시예에서, 동일한 파라미터가 인코더측과 디코더측 둘 다에서 사용될 수 있다. 따라서, 예를 들어, 인코더는 특정 파라미터를 디코더에 송신(명시적 시그널링)할 수 있어서, 디코더가 동일한 특정 파라미터를 사용할 수 있도록 한다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신 없이(암시적 시그널링) 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예에서 비트 절감이 실현된다. 시그널링이 각종의 방식으로 달성될 수 있다는 것을 알 것이다. 예를 들어, 다양한 실시예에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는데 사용된다. 앞에서는 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 명사로서 본 명세서에서 또한 사용될 수 있다.
다양한 구현이 설명되었다. 그럼에도 불구하고, 다양한 수정이 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 상이한 구현의 요소들은 다른 구현들을 산출하도록 조합되고, 보충되고, 수정되고, 또는 제거될 수 있다. 게다가, 통상의 기술자는 다른 구조들 및 프로세스들이 개시된 것들을 대체할 수 있으며 또한 결과적인 구현들이 개시된 구현들과 적어도 실질적으로 동일한 결과(들)를 달성하도록 적어도 실질적으로 동일한 방식(들)으로 적어도 실질적으로 동일한 기능(들)을 실행할 것이라는 점을 이해할 것이다. 따라서, 이들 및 다른 구현들은 본 출원에 의해 상정된다.

Claims (15)

  1. 장면을 표현하는 볼류메트릭 비디오를 인코딩하기 위한 방법으로서,
    상기 인코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 표현하는 패치들에 기초하고, 제1 패치의 모든 인스턴스의 콘텐츠가 상기 시간 기간에 걸쳐 제2 패치의 임의의 인스턴스의 콘텐츠와 중첩되지 않을 때 상기 제1 패치는 상기 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 상기 제2 패치에 패킹되는 방법.
  2. 제1항에 있어서,
    상기 방법은 상기 시간 간격을 정의하는 정보를 송신하는 단계를 추가로 포함하는 방법.
  3. 장면을 나타내는 볼류메트릭 비디오를 디코딩하기 위한 방법으로서,
    상기 디코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제1 패치가 상기 제2 패치에 패킹될 때, 상기 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 제1 패치는 상기 시간 간격을 정의하는 정보가 수신될 때 상기 시간 간격에 걸쳐 상기 제2 패치에 상기와 같이 패킹되는 방법.
  5. 장면을 나타내는 볼류메트릭 비디오를 인코딩하기 위한 수단을 포함하는 장치로서,
    상기 인코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 상기 시간 기간에 걸쳐 제1 패치의 모든 인스턴스의 콘텐츠가 제2 패치의 임의의 인스턴스의 콘텐츠와 중첩되지 않을 때 상기 제1 패치는 상기 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 상기 제2 패치에 패킹되는 장치.
  6. 제5항에 있어서,
    상기 장치는 상기 시간 간격을 정의하는 정보를 송신하기 위한 수단을 추가로 포함하는 장치.
  7. 장면을 나타내는 볼류메트릭 비디오를 디코딩하기 위한 수단을 포함하는 장치로서,
    상기 디코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제1 패치가 상기 제2 패치에 패킹될 때, 상기 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제하는 단계를 포함하는 장치.
  8. 제7항에 있어서,
    상기 제1 패치는 상기 시간 간격을 정의하는 정보가 수신될 때 상기 시간 간격에 걸쳐 상기 제2 패치에 상기와 같이 패킹되는 장치.
  9. 장면을 표현하는 볼류메트릭 비디오를 포함하는 비트스트림으로서, 상기 볼류메트릭 비디오는 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초한 인코딩을 사용하여 인코딩되고, 상기 비트스트림은 제1 패치가 시간 간격에 걸쳐 제2 패치에 패킹되는 것을 표시하는 상기 시간 간격을 정의하는 정보를 추가로 포함하는 비트스트림.
  10. 제2항 또는 제4항의 방법 또는 제6항 또는 제8항의 장치 또는 제9항의 비트스트림에 있어서,
    상기 시그널링된 정보는 패치들의 순서화된 리스트의 제1 및 제2 인덱스들을 표시하는 방법, 장치, 또는 비트스트림.
  11. 제2항 또는 제4항의 방법 또는 제6항 또는 제8항의 장치 또는 제9항의 비트스트림에 있어서,
    상기 시간 기간은 다중의 시간 간격으로 분할되고, 상기 시간 간격을 정의하는 상기 정보는 상기 시간 간격들 중 하나를 표시하는 비트인 방법, 장치 또는 비트스트림.
  12. 명령어들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 명령어들은, 상기 프로그램이 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 장면을 나타내는 볼류메트릭 비디오를 인코딩하기 위한 방법을 수행하게 야기하고, 상기 인코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하며, 제1 패치의 모든 인스턴스의 콘텐츠가 상기 시간 기간에 걸쳐 제2 패치의 임의의 인스턴스의 콘텐츠와 중첩되지 않을 때 상기 제1 패치는 상기 제2 패치가 그를 따라 정의되는 시간 기간 이하인 주어진 시간 간격 동안 상기 제2 패치에 패킹되는 컴퓨터 프로그램 제품.
  13. 하나 이상의 프로세서로 하여금 장면을 나타내는 볼류메트릭 비디오를 인코딩하는 것을 수행하게 야기하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 인코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 제1 패치의 모든 인스턴스의 콘텐츠가 상기 시간 기간에 걸쳐 제2 패치의 임의의 인스턴스의 콘텐츠와 중첩되지 않을 때 상기 제1 패치는 상기 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 상기 제2 패치에 패킹되는 비일시적 컴퓨터 판독가능 저장 매체.
  14. 명령어들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 명령어들은, 상기 프로그램이 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 장면을 나타내는 볼류메트릭 비디오를 디코딩하기 위한 방법을 수행하게 야기하고, 상기 디코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하며, 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제1 패치가 상기 제2 패치에 패킹될 때, 상기 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제하는 단계를 포함하는 컴퓨터 프로그램 제품.
  15. 하나 이상의 프로세서로 하여금 장면을 나타내는 볼류메트릭 비디오를 디코딩하는 것을 수행하게 야기하기 위한 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 디코딩은 시간 기간에 걸쳐 상기 장면의 하위 부분들의 2D 투영의 컬러 및 깊이를 나타내는 패치들에 기초하고, 제2 패치가 그를 따라 정의되는 시간 기간 이하의 주어진 시간 간격 동안 제1 패치가 상기 제2 패치에 패킹될 때, 상기 방법은 상기 시간 간격에 걸쳐 상기 제2 패치로부터 상기 제1 패치를 패킹해제하는 단계를 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020227003240A 2019-07-04 2020-06-23 볼류메트릭 데이터 처리 KR20220029715A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305912.8 2019-07-04
EP19305912 2019-07-04
PCT/EP2020/067520 WO2021001217A1 (en) 2019-07-04 2020-06-23 Processing volumetric data

Publications (1)

Publication Number Publication Date
KR20220029715A true KR20220029715A (ko) 2022-03-08

Family

ID=67438606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227003240A KR20220029715A (ko) 2019-07-04 2020-06-23 볼류메트릭 데이터 처리

Country Status (5)

Country Link
US (1) US20220264150A1 (ko)
EP (1) EP3994891A1 (ko)
KR (1) KR20220029715A (ko)
CN (1) CN114080799A (ko)
WO (1) WO2021001217A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102972042A (zh) * 2010-07-05 2013-03-13 三菱电机株式会社 影像质量管理系统
KR102224703B1 (ko) * 2014-03-17 2021-03-09 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
EP3429210A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
EP3432581A1 (en) * 2017-07-21 2019-01-23 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
US20190045213A1 (en) * 2017-08-03 2019-02-07 Intel Corporation Reference frame reprojection for improved video coding
KR102600011B1 (ko) * 2017-09-15 2023-11-09 인터디지털 브이씨 홀딩스 인코포레이티드 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들

Also Published As

Publication number Publication date
US20220264150A1 (en) 2022-08-18
CN114080799A (zh) 2022-02-22
EP3994891A1 (en) 2022-05-11
WO2021001217A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
US11915456B2 (en) Method and device for encoding and reconstructing missing points of a point cloud
EP3821610B1 (en) Methods and apparatus for volumetric video transport
US20230386087A1 (en) A method and an apparatus for encoding/decoding at least one attribute of an animated 3d object
US20240114143A1 (en) Encoding and decoding a point cloud using patches for in-between samples
CN112673399A (zh) 对点云的点的纹理进行编码/解码的方法
US20220385928A1 (en) Processing a point cloud
US20220264150A1 (en) Processing volumetric data
US20220005231A1 (en) A method and device for encoding / reconstructing 3d points
WO2021001193A1 (en) Processing a point cloud
JP2022527882A (ja) ポイントクラウドの処理
US20230186522A1 (en) 3d scene transmission with alpha layers
KR102670822B1 (ko) 볼류메트릭 비디오 전송을 위한 방법들 및 장치
WO2022213388A1 (en) Method and apparatus of encoding/decoding point cloud geometry data using azimuthal coding mode
US20230377204A1 (en) A method and an apparatus for reconstructing an occupancy map of a point cloud frame
RU2803766C2 (ru) Способ и устройство для кодирования/реконструкции атрибутов точек облака точек
WO2022213571A1 (en) Method and apparatus of encoding/decoding point cloud geometry data using azimuthal coding mode
WO2024093215A1 (en) Encoding/decoding point cloud geometry data
WO2023179277A1 (en) Encoding/decoding positions of points of a point cloud encompassed in a cuboid volume
US20220405975A1 (en) Transporting format of a coded point cloud
WO2023198426A1 (en) Dynamic block decimation in v-pcc decoder
US20210272323A1 (en) Processing a point cloud
WO2023148083A1 (en) A method and an apparatus for encoding/decoding a 3d mesh
WO2024061660A1 (en) Dynamic structures for volumetric data coding
WO2024012810A1 (en) Film grain synthesis using encoding information
KR20210139264A (ko) 포인트 클라우드의 처리