KR20200087543A - 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치 - Google Patents

3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치 Download PDF

Info

Publication number
KR20200087543A
KR20200087543A KR1020190003953A KR20190003953A KR20200087543A KR 20200087543 A KR20200087543 A KR 20200087543A KR 1020190003953 A KR1020190003953 A KR 1020190003953A KR 20190003953 A KR20190003953 A KR 20190003953A KR 20200087543 A KR20200087543 A KR 20200087543A
Authority
KR
South Korea
Prior art keywords
image
data
information
occupancy map
occupancy
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020190003953A
Other languages
English (en)
Other versions
KR102640235B1 (ko
Inventor
오영호
우지환
유성열
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190003953A priority Critical patent/KR102640235B1/ko
Priority to US17/421,704 priority patent/US12217464B2/en
Priority to EP20738151.8A priority patent/EP3889909B1/en
Priority to CN202080013718.8A priority patent/CN113424225B/zh
Priority to PCT/KR2020/000595 priority patent/WO2020145783A1/ko
Publication of KR20200087543A publication Critical patent/KR20200087543A/ko
Application granted granted Critical
Publication of KR102640235B1 publication Critical patent/KR102640235B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

포인트 클라우드로 표현된 3D 데이터를 처리하고 전송하는 방법을 개시한다.
일 실시 예에 따른 3차원 데이터 부호화 방법은, 3차원 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 기하학 영상, 상기 포인트들의 색상 정보를 나타내는 텍스쳐 영상, 및 상기 기하학 영상 내에서 상기 포인트들의 위치 정보의 점유 정보를 나타내는 점유 맵을 생성하는 단계; 상기 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하는 단계; 상기 필터링된 점유 맵에 기초하여, 상기 기하학 영상 및 상기 텍스쳐 영상을 필터링하는 단계; 및 필터링된 기하학 영상, 필터링된 텍스쳐 영상 및 다운 샘플링된 점유 맵 및 상기 점유 맵에 대해서 수행된 필터링에 대한 정보가 포함된 비트 스트림을 생성하고 출력하는 단계를 포함할 수 있다.

Description

3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치 {METHOD AND APPARATUS FOR ENCODING 3-DIMENSIONAL DATA AND METHOD AND APPARATUS FOR DECODING 3-DIMENSIONAL DATA}
본 개시는 3차원 데이터를 프로세싱하기 위한 방법 및 장치에 관한 것이다. 구체적으로는, 3차원 데이터 프로세싱 과정에서 저해상도 점유 맵(Occupancy Map)으로부터 고해상도 점유 맵을 생성하는 방법에 관한 것일 수 있다.
3D 데이터의 한 표현 방법인 포인트 클라우드(point cloud)는 방대한 양의 포인트의 집합을 의미하며, 대용량의 3차원 데이터는 포인트 클라우드로 표현될 수 있다. 포인트 클라우드는 2D 이미지와는 비교되는 값으로, 3차원 상의 한 점을 표현하는 방법이고, 위치 좌표와 색상을 동시에 포함할 수 있는 벡터 형태이다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아지면 높아질 수록 점점 더 구체적인 데이터가 되면서 하나의 3D 모델로서의 의미를 가지게 된다.
3차원 데이터를 표현하는 포인트 클라우드는 상당량의 메모리 및 프로세서 리소스를 차지하기 때문에 포인트 클라우드를 전송하기 위해 압축 방법이 요구된다. 따라서 이러한 3차원 데이터를 효율적으로 압축하는 방법이 요구된다. 나아가 이러한 3차원 데이터를 프로세싱하기 위한 방법이 요구된다.
본 개시는 3차원 데이터를 효율적으로 프로세싱하기 위한 방법 및 장치를 제공한다. 구체적으로, 본 개시는 3차원 데이터를 효율적으로 압축하기 위한 방법 및 장치, 그리고 이렇게 압축하여 전송한 3차원 데이터를 프로세싱하여 3차원 영상을 복원하는 방법 및 장치를 제공한다.
본 개시의 일 실시 예에 따른 데이터 송신 장치가 포인트 클라우드로 표현된 3D 데이터를 처리하고 전송하는 방법에 있어서, 포인트 클라우드에 포함되는 각 포인트의 노말 벡터에 기초하여 패치를 생성하는 단계; 생성된 패치들을 패킹하는 단계; 패킹된 패치들에 기반하여 기하학 정보에 대한 기하학(geometry) 2D 영상 정보, 색상 2D 영상 정보 및 2D 영상 정보에서 의미 있는 포인트의 위치를 나타내는 점유 정보를 가지는 점유 맵(Occupancy map) 정보를 생성하는 단계; 기하학 2D 영상 정보와 색상 2D 영상 정보에서 비어있는 부분에 대한 정보를 채우는 이미지 패딩(Image Padding)을 수행하는 단계; 이미지 패딩된 기하학 2D 영상정보와 색상 2D 영상 정보와 점유 맵 정보를 비디오 압축하는 단계; 및 압축된 비디오 데이터 및 압축된 부가 데이터를 조합하는 단계를 포함하는, 3D 데이터를 처리하고 전송하는 방법이 개시된다.
본 개시의 일 실시 예에 따른 데이터 수신 장치가 압축된 3D 데이터를 처리하는 방법에 있어서, 수신 장치의 입력으로서 수신된 데이터를 압축된 기하학 정보에 대한 기하학 2D 영상 정보, 압축된 색상 2D 영상 정보, 압축된 점유 맵 정보 및 압축된 부가 정보로 분리하는 단계; 압축된 기하학 2D 영상 정보, 색상 2D 영상 정보 및 점유 맵 정보를 비디오 압축 해제(video decompressing)하는 단계; 압축 해제된 데이터로부터 기하학 3D 데이터를 재구성하는 단계; 및 색상 정보를 포함하는 3D 데이터를 재구성 하는 단계를 포함하는, 압축된 3D 데이터를 처리하고 복원하는 방법이 개시된다.
본 개시의 일 실시 예에 따른 3차원 데이터 복호화 방법에 있어서, 3차원 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 기하학 영상, 상기 포인트들의 색상 정보를 나타내는 텍스쳐 영상, 및 상기 기하학 영상 내에서 상기 포인트들의 위치 정보의 점유 정보를 나타내는 점유 맵을 생성하는 단계; 상기 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하는 단계; 상기 필터링된 점유 맵에 기초하여, 상기 기하학 영상 및 상기 텍스쳐 영상에 대한 이미지 패딩을 수행하는 단계; 및 패딩된 기하학 영상, 패딩된 텍스쳐 영상 및 다운 샘플링된 점유 맵 및 상기 점유 맵에 대해서 수행된 필터링에 대한 정보가 포함된 비트 스트림을 생성하고 출력하는 단계를 포함하는, 3차원 데이터 부호화 방법이 개시된다.
본 개시의 일 실시 예에 따른 3차원 데이터 복호화 방법에 있어서, 비트스트림을 수신하는 단계; 상기 비트스트림으로부터 텍스쳐 영상, 기하학 영상, 점유 맵 및 필터링 정보를 획득하는 단계; 상기 필터링 정보에 기초하여 상기 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하는 단계; 상기 기하학 영상 및 상기 필터링된 점유 맵에 기초하여 포인트들의 위치 정보를 복원하는 단계; 및 상기 텍스쳐 영상에 기초하여, 상기 위치 정보가 복원된 포인트들의 색상 정보를 복원함으로써, 3차원 데이터를 재구성하는 단계를 포함하는, 3차원 데이터 복호화 방법이 개시된다.
본 개시에 따르면 효율적인 3차원 데이터의 압축 및 전송을 통하여 데이터 전송량을 감축할 수 있다. 따라서 자원을 절감할 수 있으며, 저장 공간, 전송 시간 및 하드웨어 비용 등을 절감할 수 있다. 또한, 본 개시에 따르면 압축하여 전송된 데이터를 프로세싱하여 3D 영상을 정확하게 복원할 수 있다.
본 개시에서 얻을 수 있는 효과는 언급한 효과들로 제한되지 않으며, 언급하지 않은 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.
도 1은 일 실시 예에 따라 3차원 데이터를 송수신하는 시스템을 도시한다.
도 2 및 도 3은 3차원 데이터를 평면 상에 프로젝션(project)함으로써 생성되는 2차원 영상을 도시한다.
도 4는 일 실시 예에 따라 3차원 데이터를 부호화하고 전송하는 방법의 흐름도를 도시한다.
도 5는 일 실시 예에 따른 3차원 데이터 부호화 장치의 블록도를 도시한다.
도 6은 일 실시 예에 따른 이미지 패딩을 설명하기 위한 도면이다.
도 7은 소스 데이터로부터 프로젝션된 포인트들을 나타내는 점유 맵과 점유 정밀도(occupancy precision)가 4인 경우에 대응 되는 점유 맵을 도시한다.
도 8은 다운 샘플링된 점유 맵에 의해 불필요한 정보가 추가된 텍스쳐 영상을 도시한다.
도 9는 일 실시 예에 따라 점유 맵에 대해 오버샘플링 및 필터링을 수행하는 과정을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 2D 필터링에 이용되는 필터의 예를 도시한다.
도 11은 일 실시 예에 따른 3차원 데이터 복호화 장치의 블록도를 도시한다.
본 개시의 다양한 실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 다양한 실시 예에서 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 갯수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 명세서에서 “영상”이란, 정지 영상, 동영상, 비디오 프레임, 및/또는 비디오 스트림을 모두 포함할 수 있으며, 2D 프레임 및 3D 프레임을 모두 포함할 수 있다. 예를 들어, “영상”은 포인트 클라우드로 표현되는 3D 프레임을 포함할 수 있다.
본 명세서 전반에 걸쳐 사용되는 "영상"이라는 용어는 "영상"이라는 용어 자체뿐만 아니라, “픽쳐”, “프레임”, “필드” 또는 “슬라이스”등 관련 분야에서 알려질 수 있는 비디오 또는 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다. 예를 들어, “영상”은 비디오 스트림을 구성하는 복수의 픽쳐들 또는 복수의 프레임들 중 하나를 의미할 수도 있고, 복수의 픽쳐들 또는 복수의 프레임들을 포함하는 비디오 스트림 전체를 의미할 수도 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
2D 영상은 색상 값을 갖는 픽셀(pixel)들의 집합으로 표현될 수 있다. 3D 영상은 색상 값을 갖는 복셀(voxel)들의 집합으로 표현될 수 있다. 3차원 공간 내에서 색상 값을 갖는 각 포인트(또는, 복셀)들의 집합으로 표현되는 영상 데이터를 포인트 클라우드(point cloud)라고 한다. 포인트 클라우드는, 3차원 공간 상의 정보를 포함하기 때문에, 2D 영상에 비해 한 단계 더 높은 차원의 벡터로 구성되고, 더 많은 데이터 양을 갖는 특성이 있다. 따라서 포인트 클라우드를 빠르고 정확하고 효율적으로 사용자에게 제공하기 위해서 고효율의 압축 기술 연구가 활발히 진행되고 있다.
국제 표준 기구인 MPEG(Moving Picture Experts Group)의 MPEG-I Part 5 PCC(Point Cloud Compression) 그룹에서는 포인트 클라우드 압축에 관한 기술 표준화를 진행하고 있다. 포인트 클라우드 압축 기술은 데이터의 특성에 따라 다양한 카테고리로 분류될 수 있다. 다양한 압축 기술들 중에서, 포인트 클라우드를 2D 영상으로 변환하고, 변환된 2D 영상을 기존의 동영상 압축 기술(예를 들어, HEVC 등)을 이용해 압축하는 방식이 표준화 회의에 상정(introduce)되고 있다.
도 1은 일 실시 예에 따라 3차원 데이터를 송수신하는 시스템을 도시한다.
일 실시예에 따른 3차원 데이터 통신 시스템은 3차원 데이터를 전송하는 장치(110) 및 3차원 데이터를 수신하는 장치(120)를 포함할 수 있다. 3차원 데이터 전송 장치(110) 및 3차원 데이터 수신 장치(120)는, 네트워크를 통해 연결되고, 3차원 데이터를 송수신할 수 있다. 3차원 데이터는 2차원 데이터로 변환되고 압축되어 네트워크를 통해 3차원 데이터 수신 장치(120)에게 전송될 수 있다. 3차원 데이터 수신 장치(120)는 수신한 데이터에 기초하여 3차원 데이터를 재구성할 수 있다.
일 실시 예에 따른 3차원 데이터 전송 장치(110)는, 3차원 데이터를 부호화하는 3차원 영상 부호화 장치일 수 있다. 도 1에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 전송 장치(110)는, 프로세서(111) 및 통신부(113)를 포함할 수 있다. 일 실시 예에 따른 3차원 데이터 전송 장치(110)의 프로세서(111)는, 3차원 데이터를 획득하고, 부호화할 수 있다. 3차원 데이터 전송 장치(110)의 프로세서(111)는, 3차원 데이터를 처리함으로써, 압축된 비트스트림을 생성할 수 있다. 3차원 데이터 전송 장치(110)의 통신부(113)는 3차원 데이터에 대한 정보가 압축된 비트스트림을 출력할 수 있다.
도 1에서 일 실시예에 따른 3차원 데이터 전송 장치(110)는 하나의 프로세서(410)를 포함하는 것으로 도시되었으나, 본 개시는 도 1에 도시된 실시 예에 제한되지 않는다. 본 개시의 일 실시 예에 따른 3차원 데이터 전송 장치(110)는 복수의 프로세서들을 포함할 수 있으며, 이하에서 서술하는 동작들은 복수의 프로세서들에 의해 수행될 수 있다.
3차원 데이터 전송 장치(110)의 프로세서(111)는 3차원 데이터를 위치 정보를 포함하는 기하학(geometry) 정보와, 색상 등 기타 속성 정보로 분리할 수 있다. 예를 들어, 3차원 데이터가 포인트 클라우드 영상을 포함하는 경우, 프로세서(111)는 포인트들의 위치 좌표를 나타내는 기하 정보와 색상을 나타내는 기타 속성 정보로 분리할 수 있다.
프로세서(111)는, 기하학 정보에 기초하여, 포인트들 간의 근접성 및 포인트들의 기하학적 특성 중 적어도 하나를 이용하여 포인트들을 그룹화 할 수 있다. 예를 들어, 포인트들의 기하학적 특성은, 포인트들이 동일 평면에 속하는지 여부 및/또는 각 포인트의 노말 벡터의 방향 등을 포함할 수 있다. 프로세서(111)는, 3차원 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화 할 수 있다.
프로세서(111)는, 세그먼트들을 2차원 평면 상에 투사(projection)할 수 있다. 각 세그먼트는, 해당 세그먼트에 포함되는 포인트의 기하학 정보를 고려하여, 사전에 정의된 평면 상에 투사될 수 있다. 프로세서(111)는, 복수의 세그먼트들 각각을 적어도 하나의 2차원 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다.
프로세서(111)는, 평면 상에 투사된 2차원 정보를 포함하는 패치들을 조합하여, 2차원 비디오 인코더가 처리할 수 있는 기하학(geometry) 영상을 생성할 수 있다. 프로세서(111)는, 패치들을 패킹(Packing) 함으로써 기하학 영상을 생성할 수 있다.
예를 들어, 도 1의 프로세서(111)는, 포인트 클라우드를 평면 상에 프로젝션하기 위하여, 미리 결정된 표면 두께(surfaceThickness) 값을 사용할 수 있다. 프로세서(111)는, 표면으로부터 미리 결정된 표면 두께 값 내에 있는 깊이 값을 갖는 포인트들에 대해서만 프로젝션을 수행할 수 있다. 프로세서(111)는, 포인트 클라우드가 나타내는 오브젝트의 표면에 위치한 포인트를 프로젝션함으로써 D0 영상(위치 정보 영상)을 생성할 수 있다. 프로세서(111)는, 오브젝트의 표면에 위치한 포인트의 깊이 값을 나타내는 패치들을 모아서 D0 영상(위치 정보 영상)을 생성할 수 있다. 프로세서(111)는, 표면으로부터 미리 설정된 표면 두께 값 내에서 가장 큰 깊이 값을 갖는 포인트들을 프로젝션함으로써 D1 영상(두께 정보 영상)을 생성할 수 있다. 프로세서(111)는, 해당 포인트들의 깊이 값을 나타내는 패치들을 모아서 D1 영상(두께 정보 영상)을 생성할 수 있다. 프로세서(111)는, 오브젝트의 표면으로부터 미리 설정된 표면 두께 값 내에 존재하는 포인트(In-Between Point)의 깊이 값은 저장하지 않을 수 있다.
도 3은 포인트 클라우드에 포함되는 포인트들의 위치 정보를 나타내는 기하학 영상의 예시이다. 예를 들어, 기하학 영상은, 앞서 설명한 D0 영상 및 D1 영상을 포함할 수 있다. 도 3의 그림(301)은 위치 정보 영상(D0 영상)을 나타내고, 도 3의 그림(302)은 두께 정보 영상(D1 영상)을 나타낸다.
프로세서(111)는 2차원 영상 정보를 압축할 수 있다. 예를 들어, 프로세서(111)는, HEVC 등을 포함하는 기존의 동영상 압축 기술을 이용하여 2차원 영상 정보를 압축할 수 있다.
프로세서(111)는 압축된 2차원 기하학 영상을 압축 해제한 후, 압축 해제된 기하학 영상을 다시 3차원 데이터로 재구성할 수 있다.
프로세서(111)는, 재구성된 3차원 데이터와 기타 속성(예를 들어, 색상 정보) 데이터를 이용해, 기하학 영상의 생성과 유사한 방법으로 기타 속성에 대해서 텍스쳐 영상을 생성할 수 있다. 예를 들어, 도 2에 도시된 텍스쳐 영상(201)과 같이, 프로세서(111)는 포인트 클라우드에 포함되는 포인트들의 색상 정보를 나타내는 텍스쳐 영상을 생성할 수 있다.
프로세서(111)는, 압축된 기하 정보와 압축된 기타 속성 정보를 포함하는 비트스트림을 출력할 수 있다. 통신부(113)는, 압축된 기하 정보와 압축된 기타 속성 정보를 포함하는 비트스트림을 송신할 수 있다.한편, 일 실시 예에 따른 3차원 데이터 수신 장치(120)는, 3차원 데이터를 복호화하는 3차원 영상 복호화 장치일 수 있다. 도 1에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 수신 장치(120)는, 프로세서(121) 및 통신부(123)를 포함할 수 있다. 일 실시 예에 따른 3차원 데이터 수신 장치(120)는, 3차원 데이터를 획득하고, 복호화할 수 있다. 3차원 데이터 수신 장치(120)의 통신부(123)는 비트스트림을 수신하고, 프로세서(121)는, 비트스트림을 처리함으로써 3차원 데이터를 재구성하고 출력할 수 있다.
도 1에서 일 실시예에 따른 3차원 데이터 수신 장치(120)는 하나의 프로세서(121)를 포함하는 것으로 도시되었으나, 본 개시는 도 1에 도시된 실시 예에 제한되지 않는다. 본 개시의 일 실시 예에 따른 3차원 데이터 수신 장치(120)는 복수의 프로세서들을 포함할 수 있으며, 이하에서 서술하는 동작들은 복수의 프로세서들에 의해 수행될 수 있다.
일 실시예에 따른 3차원 데이터 수신 장치(120)의 통신부(123)는, 3차원 데이터에 대한 정보가 압축된 비트스트림을 수신할 수 있다. 예를 들어, 3차원 데이터 수신 장치(120)의 통신부(123)는, 네트워크를 통해 3차원 데이터 전송 장치(110)(또는, 영상 부호화 장치)로부터 비트스트림을 수신할 수 있다.
일 실시예에 따른 3차원 데이터 수신 장치(120)의 프로세서(121)는, 수신된 비트스트림으로부터 압축되고 부호화된 3차원 데이터를 획득하고, 복호화할 수 있다. 프로세서(121)는, 부호화된 3차원 데이터를 재구성함으로써 3차원 영상(또는, 3차원 포인트 클라우드 데이터)을 생성하고 출력할 수 있다. 예를 들어, 일 실시예에 따른 프로세서(121)는, 비트스트림으로부터 재구성된 복수의 3D 프레임들을 포함하는 3D 영상을 출력할 수 있다. 프로세서(121)는, 3차원 재구성 데이터에 기초하여, 3D 영상을 디스플레이 상에 출력할 수 있다.
일 실시예에 따른 프로세서(121)는, 비트스트림으로부터 압축된 3차원 데이터를 획득할 수 있다. 프로세서(121)는, 압축된 3차원 데이터를 압축 해제할 수 있다. 프로세서(121)는, 비트스트림에 포함된 데이터를 압축 해제함으로써, 기하학 영상, 텍스쳐 영상, 점유 맵 및 보조 정보(Auxiliary information)를 획득할 수 있다.
예를 들어, 프로세서(121)는, 비트스트림이 수신되면, 비트스트림으로부터 압축된 기하학 영상, 압축된 텍스쳐 영상, 압축된 점유 맵, 압축된 보조 정보를 획득하는 디멀티플렉서(DE-MUX)를 포함할 수 있다. 프로세서(121)는, 압축된 정보들을 압축 해제하는 디컴프레서(Decompressor)를 포함할 수 있다.
프로세서(121)는 기하학 영상을 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다. 프로세서(121)는 압축 해제된 기하학 영상 및 압축 해제된 점유 맵에 기초하여, 3차원 공간 내에 포인트들이 배치된 3차원 재구성 데이터를 생성할 수 있다.
프로세서(121)는, 3차원 재구성 데이터 및 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력할 수 있다. 프로세서(121)는, 3차원 재구성 데이터에 포함되는 포인트들에 대해서, 텍스쳐 영상에 포함된 포인트들의 색상 정보를 적용함으로써, 3차원 데이터를 생성할 수 있다. 생성된 3차원 데이터는 포인트 클라우드 형태일 수 있다.
도 2 및 도 3은 3차원 데이터 전송 장치(100)에서 3차원 데이터를 평면 상에 프로젝션 함으로써 생성되는 2차원 영상을 도시한다.
도 2는 색상 2D 영상 정보를 나타내고, 도 3은 기하학 정보에 대한 기하학 2D 영상 정보를 나타낸다. 본 개시에서 기하학 2D 영상 정보는, 포인트 클라우드의 포인트들의 위치 정보를 나타내는 기하학 영상을 포함하고, 포인트 클라우드의 포인트들의 색상 정보를 나타내는 색상 2D 영상 정보는, 텍스쳐 영상을 포함할 수 있다.
이하에서는, 도 4 및 도 5를 참고하여 일 실시 예에 따라 포인트 클라우드 형태로 표현된 3D 데이터의 프로세싱 방법에 대하여 설명한다.
도 4는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위한 프로세싱 방법을 개략적으로 나타낸 흐름도이다. 도 5는 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현되는 3D 데이터를 부호화하는 인코더의 블록도를 도시한다. 도 5의 3차원 데이터 부호화 장치는, 도 1의 3차원 데이터 전송 장치(110)에 포함될 수 있다. 도 1의 3차원 데이터 전송 장치(110)의 프로세서(111)가 수행하는 동작 및 기능에 대한 설명이 도 5의 3차원 데이터 부호화 장치에 대해서도 적용될 수 있다. 중복되는 설명은 생략한다.
도 4와 도 5에 도시된 블록들의 일부 또는 전부는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 도 5에 도시된 블록들이 수행하는 기능들은, 전자 장치에 포함되는 적어도 하나의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 도 5에 도시된 블록들의 일부 또는 전부는 프로세서에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈일 수 있다.
도 4에 따르면, 3차원 데이터를 부호화 하는 방법은, 소스 데이터인 포인트 클라우드에 포함되는 각 포인트의 노말 벡터를 추정하는 단계(410), 노말 벡터에 기초하여 포인트들을 프로젝션함으로써 패치를 생성하는 단계(420), 생성된 패치들을 패킹하는 단계(430), 패킹된 패치들에 기반하여 기하학 정보에 대한 기하학 2D 영상 정보, 색상 2D 영상정보 및 기하학 2D 영상 정보에서 의미 있는 포인트가 어디에 위치하는 지를 나타내는 점유 정보를 가지는 점유 맵을 생성하는 단계를 포함할 수 있다. 일 실시 예에 따르면, 3차원 데이터를 부호화 하는 방법은, 생성된 기하학 2D 영상 정보, 색상 2D 영상 정보 및 기하학 2D 영상 정보를 인코딩하는 단계(440) 및 인코딩된 정보를 전송하는 단계(450)를 포함할 수 있다,
도 5의 패치 생성(Patch Generation) 블록은, 3차원 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션 할 수 있다. 패치 생성(Patch Generation) 블록은, 3차원 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화하고, 세그먼트들을 2차원 평면 상에 프로젝션 할 수 있다. 패치 생성(Patch Generation) 블록은, 복수의 세그먼트들 각각을 적어도 하나의 2차원 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다.
패치 생성(Patch Generation) 블록은, 패치 생성 과정 중에서 프로젝션된 2D영상에서 포인트 클라우드의 포인트가 투사된 영역과 투사되지 않은 영역을 구분하기 위한 점유 맵을 생성할 수 있다.
패킹(Packing) 블록은, 생성된 패치들을 패킹할 수 있다.
텍스쳐 영상 부호화(Textrure Image Coding) 블록, 깊이 영상 부호화(Depth Image Coding) 블록, 점유 맵 부호화(Occupancy Map Coding) 블록 및 보조 정보 부호화(Auxiliary Information Coding) 블록은, 각각 부호화된 텍스쳐 영상(또는, 색상 정보 영상), 부호화된 기하학 영상(또는, 깊이 영상), 부호화된 점유 맵 및 부호화된 보조 정보를 생성할 수 있다. 기하학 영상은, 포인트들의 위치 정보를 나타내고, 텍스쳐 영상은, 포인트들의 색상 정보를 나타내고, 점유 맵은, 기하학 영상 내에서 포인트들의 위치 정보의 점유 정보를 나타낼 수 있다.
점유 맵 부호화(Occupancy Map Coding) 블록은, 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하 수 있다. 예를 들어, 점유 맵 부호화(Occupancy Map Coding) 블록은, 점유 정밀도에 따라 점유 맵을 다운 샘플링 하거나, 다운 샘플링된 점유 맵에 대해서 업 샘플링 및 필터링을 수행할 수 있다.
이미지 패딩(Image Padding) 블록은, 텍스쳐 영상 및 기하학 영상에서 비어있는 부분에 대한 정보를 채우는 이미지 패딩을 수행할 수 있다. 이미지 패딩(Image Padding) 블록은, 패치와 패치 간의 불연속 성을 제거하여 압축 성능을 향상하기 위하여 텍스쳐 영상 및 기하학 영상에 대해서 확장(dilation)을 수행할 수 있다. 예를 들어, 이미지 패딩(Image Padding) 블록은, 도 6에 도시된 바와 같이, 텍스쳐 영상(601)의 패치들 간의 비어있는 부분에 대한 확장을 수행하여, 텍스쳐 영상(602)를 생성할 수 있다.
또한, 이미지 패딩(Image Padding) 블록은, 점유 맵 부호화(Occupancy Map Coding) 블록에서 필터링된 점유 맵에 기초하여, 기하학 영상 및 텍스쳐 영상에 대한 이미지 패딩을 수행할 수 있다.
비디오 압축(Video Compression) 블록은, 3차원 데이터를 처리함으로써 생성된 2차원 영상 정보를 압축할 수 있다.
비디오 압축(Video Compression) 블록은, 패딩된 기하학 영상, 패딩된 텍스쳐 영상 및 다운 샘플링된 점유 맵을 압축할 수 있다.
비트스트림 멀티플렉싱(Bitstream Multiplexing) 블록은, 기하학 영상, 텍스쳐 영상, 점유 맵 및 보조 정보(Auxiliary information)에 기초하여 비트스트림을 생성하고 출력할 수 있다. 비트스트림 멀티플렉싱(Bitstream Multiplexing) 블록은, 패딩된 기하학 영상, 패딩된 텍스쳐 영상 및 다운 샘플링된 점유 맵 및 점유 맵에 대해서 수행된 필터링에 대한 정보가 포함된 비트 스트림을 생성하고 출력할 수 있다.
앞서 설명한 바와 같이, 포인트 클라우드는 3차원 공간 내의 일부 포인트들의 위치 및 색상을 나타내는 데이터로 구성된다. 따라서, 포인트 클라우드의 포인트들을 2D 평면 상에 프로젝션함으로써 생성된 2D 영상에는 일부 포인트들에만 포인트 클라우드의 기하학 정보 및 색상 정보가 기록되게 된다.
따라서, 도 2 및 도 3에 도시된 바와 같이, 기하학 정보에 대한 기하학 2D 영상 정보 및 색상 2D 영상 정보는 2D 영상의 모든 포인트들에 대해 존재하지 않는다. 그러므로 포인트 클라우드의 포인트들이 2D 영상 상에 프로젝션된 영역과 프로젝션되지 않은 영역을 나타낼 점유 맵(Occupancy map)이 필요하다.
도 7은 점유 맵(Occupancy map)에 관한 파라메터인 점유 정밀도(occupancy precision)가 4인 경우에 대응되는 점유 맵을 도시한다.
점유 정밀도는, 점유 맵의 해상도를 표현하는 것이다. 예를 들어, 점유 정밀도가 N인 경우에, 가로 N개 픽셀 및 세로 N개 픽셀의 블록 내에 프로젝션 포인트가 1 개라도 존재하는 경우, N X N 블록 전체가 1로 채워질 수 있다.
점유 맵은, 2D 영상 정보에서 프로젝션된 포인트들의 위치를 알려주는 데이터이므로 무손실 압축되어 전송되어야 한다. 따라서 압축된 점유 맵의 사이즈를 줄이기 위해서, 점유 정밀도 값으로서 1 대신 N 값이 이용될 수 있다. 점유 정밀도가 N인 경우, 가로 N개 픽셀 및 세로 N개 픽셀의 블록 내에 프로젝션 포인트가 1 개라도 존재하면 N X N 블록 전체를 1로 채우는 다운 샘플링 방법이 이용될 수 있다. 점유 정밀도 값으로서 1 대신 N 값을 이용한다는 것은, 점유 맵을 1/(N x N) 사이즈로 다운 샘플링 한다는 것을 의미할 수 있다.
도 7에 도시된 바와 같이, 점유 정밀도 값으로서 1이 아닌 N 값이 이용되는 경우, 점유 맵에 의해 표현되는 프로젝션된 포인트들의 수가 증가하게 된다. 예를 들어, 도 7의 (a)에는 소스 데이터로부터 프로젝션된 포인트들을 나타내는 점유 맵이 도시된다. 도 7의 (a)에 도시된 점유 맵의 점유 정밀도는 1이다. 도 7의 (a)의 점유 맵은 30개의 프로젝션된 포인트들을 나타낸다. 도 7의 (b)에는, 점유 정밀도를 4로 하였을 때, 생성되는 점유 맵이 도시된다. 도 7의 (b)의 점유 맵은 96 개의 프로젝션된 포인트들을 나타낸다.
따라서, 점유 맵이 나타내는 프로젝션된 포인트들의 수가 증가하면, 해당 점유 맵이 반영된 기하학 2D 영상 정보와 색상 2D 영상 정보의 압축 사이즈 역시 증가하게 된다. 즉, 점유 정밀도가 1이 아닌 경우에, 점유 맵 자체의 압축 사이즈는 감소하지만, 기하학 정보에 대한 2D 영상 정보와 색상 2D 영상 정보의 압축 사이즈는 증가하게 된다.
도 8은 다운 샘플링된 점유 맵에 의해 불필요한 정보가 추가된 텍스쳐 영상을 도시한다. 도 8의 영상(801)은, 점유 정밀도가 1인 점유 맵이 적용된 텍스쳐 영상을 도시한다. 영상(802)은, 점유 정밀도가 4인 점유 맵이 적용된 텍스쳐 영상을 도시한다. 도 8의 영상(801) 및 영상(802) 각각에서 원형으로 표시된 부분에 도시된 바와 같이, 점유 정밀도가 1이 아닌 경우에, 텍스쳐 영상 내에 불필요한 정보가 추가될 수 있다.
따라서, 본 개시의 일 실시 예에 따르면 점유 정밀도 값이 1이 아닌 경우(즉, 저해상도 점유 맵인 경우), 정밀도 값이 1인 점유 맵과 유사한 고해상도 점유 맵이 되도록 점유 맵을 필터링(또는, 추정)함으로써, 부가된 포인트를 제거하는 방법이 제안된다. 본 개시의 일 실시 예에 따르면, 점유 맵의 압축 사이즈는 변경되지 않고, 점유 맵으로 표현되는 포인트의 수를 감소킬 수 있다. 따라서, 기하학 정보에 대한 2D 영상 정보와 색상 2D 영상정보의 압축 사이즈를 감소 시킬 수 있다.
도 9는 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 방법에서 이용되는, 점유 맵의 2배 업 샘플링(또는, 오버 샘플링)과 2D 필터링을 설명하는 도면이다. 점유 정밀도의 값은 1,2,4,8 등 과 같이 2(N-1)의 수로 지정된다. 여기서 N은 0과 양의 정수 이다.
점유 정밀도의 값에 따라, 도 9에 도시된 2배 업 샘플링과 2D 필터링을 반복 수행할 수도 있다.
예를 들면, 기하학 2D 영상 정보 및 색상 2D 영상 정보가 1280x1280의 이미지 사이즈를 가지고 있는 경우, 점유 정밀도 값이 4인 점유 맵의 사이즈는 가로 1/4배, 세로 1/4배인 320x320의 이미지 사이즈를 가지게 된다. 일 실시 예에 따른 3차원 데이터 부호화 방법에 따르면, 점유 정밀도 값이 4인 경우, 첫번째 2배 업샘플링과 2D 필터링을 통하여 640x640의 이미지 사이즈를 갖는 점유 맵을 만들고, 생성된 점유 맵에 대해서 두번째 2배 업샘플링과 2D 필터링을 통하여 1280x1280의 이미지 사이즈를 갖는 점유 맵을 생성할 수 있다.
도 9에서 수행되는 필터링은 다음과 같은 조건을 가질 수 있다.
필터링의 출력 값이 임계값(Threshold) 이하인 경우, 원본 값이 1이면 0으로 변환하고, 원본 값이 0이면 0 값을 유지할 수 있다. 필터링의 출력 값이 임계값(Threshold) 이상인 경우, 원본 값이 1이면 1의 값을 유지하고, 원본 값이 0이면 0 값을 유지할 수 있다. 즉, 본 개시의 일 실시예에 따르면, 업 샘플링된 점유 맵에 대해서 2D 필터링을 수행함에 있어서, 업 샘플링된 점유 맵에서 값이 0인 영역은 필터링 결과에 관계없이 0 값을 유지할 수 있다.
또한, 업 샘플링은 여러 단계를 거치지 않고, 한 단계로 업샘플링 하는 것이 가능하다. 위의 설명에서, 1/4배 되어 있는 점유 맵을 1/2배, 그리고 원본으로 두 단계에 거쳐서 복원하는 방법 대신에, 직접 가로 세로 크기를 4배 늘리는 방법도 가능하다. 이때, 복원 전후로, 노이즈를 제거하는 스무딩 필터를 적용시킬 수 있는데, 스무딩 필터는 픽셀 값과, 픽셀 주변 값의 가중 평균을 이용하여 계산할 수 있다. 노이즈를 제거하기 위해 이용되는 픽셀 주변 값은, 사전에 주변 값의 범위를 정의하거나, 컨텐트의 구조에 따라서 적응적으로 주변 영역의 크기를 다르게 함으로써 결정될 수 있다.
도 10의 필터는 본 개시의 일 실시 예에 따라 점유 맵에 대한 2D 필터링에 사용되는 2D 필터일 수 있다. 필터의 크기와 값은 사전에 정의되거나 , 컨텐트에 따라서 적응적으로 변화할 수 있다. 예를 들어, 2D 필터링을 수행 함에 있어서, 픽셀 값과 주변 값에 기초하여 가중 평균을 계산하여, 픽셀 값을 새롭게 업데이트 하는 방법이 이용될 수 있다.
점유 맵 필터링 동작은, 송신기(또는, 3차원 데이터 부호화 장치)와 수신기(또는, 3차원 데이터 복호화 장치)에서 동일하게 수행되어야 한다. 송신기와 수신기 각각에서 점유 맵에 대한 동일한 필터링이 수행되도록 하기 위하여, 다음과 같은 파라메터들이 이용될 수 있다. 3차원 데이터 부호화 장치는, 3차원 데이터를 부호화하여 전송함에 있어서, 다음과 같은 파라메터를 함께 전송할 수 있다.
- occupancy_map_filtering_flag
- occupancy_map_filtering_number
- occupancy_map_filtering_threshold
occupancy_map_filtering_flag는 점유 맵을 압축하여 전송함에 있어서, 2배 업 샘플링과 2D 필터링 과정을 거치는지 여부를 나타낸다. occupancy_map_filtering_number는 2배 업 샘플링과 2D 필터링 과정의 수행 횟수를 나타낸다. occupancy_map_filtering_threshold는 2D 필터링에서 사용된는 판별 값을 나타낼 수 있다.
인코더를 도시하는 도 5의 Occupancy Map Coding 블록은, 패딩이 발생한 이후, 점유 정밀도에 따라 블록 단위로 점유 맵에 대한 다운 샘플링 과정을 수행할 수 있다. 다운 샘플링된 점유 맵은, HEVC와 같은 비디오 인코더에 의해 압축 된다. 점유 맵 코딩(Occupancy Map Coding) 블록은, 다운 샘플링된 점유 맵에 대한 2배 업 샘플링 및 2D 필터링을 통해 필터링된 점유 맵을 생성하고, 필터링된 점유 맵을 이미지 패딩 블록에게 전달할 수 있다. 전달된 필터링된 점유 맵은 이미지 패딩에 이용될 수 있다. 2배 업샘플링과 2D 필터링이 이용되었음이 occupancy_map_filtering_flag에 기록될 수 있다.
이 때, 2배 업 샘플링과 2D 필터링이 수행된 횟수에 따라 occupancy_map_filtering_number의 값이 정해진다. 만약 occupancy_map_filtering_flag가 2배 업샘플링과 2D 필터링 과정의 사용을 지시하는 않는 경우라면 2배 업 샘플링과 2D 필터링 과정은 수행되지 않는다.
디코더를 도시하는 도 11에서 비디오 디컴프레션(Video Decompression) 블록은, 복호화 된 점유 맵에 대해서 occupancy_map_filtering_flag가 2배 업샘플링과 2D 필터링 과정의 사용을 지시하는 경우, 복호화된 점유 맵에 대해서 2배 업샘플링과 2D 필터링을 수행할 수 있다. 2배 업샘플링과 2D 필터링을 수행하여 생성된 필터링된 점유 맵을 기하학 정보 재구성(Geometry reconstruction) 블록에게 전달한다. 이 때, occupancy_map_filtering_number의 값에 따라, 2배 업샘플링과 2D 필터링이 수행되는 횟수가 정해진다.
인코더와 디코더에서 점유 맵에 대한 2D 필터링이 수행되는 과정에서, occupancy_map_filtering_threshold의 값에 따라 0의 값과 1의 값을 결정될 수 있다.
한편, 본 개시의 일 실시예에 따르면, 패치 단위로 2D 필터링을 수행할지 여부를 결정할 수 있다. 본 개시의 일 실시예에 따른 3차원 데이터 부호화 장치는, 다운 샘플링된 점유 맵 전체가 아닌 다운 샘플링된 점유 맵에 포함되는 패치 단위로, 업 샘플링을 수행하거나 업 샘플링 및 2D 필터링을 수행할 수 있다.
본 개시의 일 실시예에 따른 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수에 기초하여, 2D 필터링을 수행할지 여부를 결정할 수 있다. 패치의 사이즈 또는 패치에 포함된 1의 갯수가 작은 경우, 매우 복잡한 형태를 나타내는 패치일 확률이 매우 높다. 따라서, 복잡한 형태인 작은 사이즈의 패치의 경우, 점유 맵에 대해 업 샘플링 및 2D 필터링을 수행하면 원본과 전혀 다른 출력을 얻을 가능성이 높다.
따라서, 본 개시의 일 실시예에 따른 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 임계 값 이상인 경우에만, 다운 샘플링된 점유 맵에 대해 업 샘플링 및 2D 필터링을 수행할 수 있다. 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 임계 값 미만인 경우에, 다운 샘플링된 점유 맵에 대해 업 샘플링만을 수행할 수 있다.
또한, 본 개시의 일 실시예에 따른 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수에 따라, 단계적으로 업 샘플링 및 2D 필터링을 수행할 수 있다.
예를 들어, 3차원 데이터 부호화 장치의 점유 정밀도가 4인 경우, 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 제1 임계 값 이상인 경우, 4배 다운 샘플링 된 점유 맵에 대해 2배 업 샘플링 및 2D 필터링을 수행할 수 있다. 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 제1 임계 값 미만인 경우에, 4배 다운 샘플링 된 점유 맵에 대해 2배 업 샘플링만을 수행할 수 있다. 그리고, 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 제2 임계 값 이상인 경우, 4배 다운 샘플링 되었다가 2배 업 샘플링 된 점유 맵에 대해 2배 업 샘플링 및 2D 필터링을 수행할 수 있다. 3차원 데이터 부호화 장치는, 패치의 사이즈 또는 패치에 포함된 1의 갯수가 제1 임계 값 미만인 경우에, 4배 다운 샘플링 되었다가 2배 업 샘플링 된 점유 맵에 대해 2배업 샘플링만을 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현되는 3D 데이터를 복호화하는 디코더의 블록도를 도시한다. 도 11의 3차원 데이터 복호화 장치는, 도 1의 3차원 데이터 수신 장치(120)에 포함될 수 있다. 도 1의 3차원 데이터 수신 장치(120)의 프로세서(121)가 수행하는 동작 및 기능에 대한 설명이 도 11의 3차원 데이터 복호화 장치에 대해서도 적용될 수 있다. 중복되는 설명은 생략한다.
도 11에 도시된 블록들의 일부 또는 전부는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 도 11에 도시된 블록들이 수행하는 기능들은, 전자 장치에 포함되는 적어도 하나의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 도 11에 도시된 블록들의 일부 또는 전부는 프로세서에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈일 수 있다.
도 11의 디멀티플렉싱(De-Multiplexing) 블록은, 비트스트림을 수신하고, 비트스트림으로부터 텍스쳐 영상, 기하학 영상, 점유 맵 및 필터링 정보를 획득할 수 있다. 필터링 정보는, 인코더에서 점유 맵에 대해서 수행된 필터링에 대한 정보를 포함할 수 있다. 예를 들어, 보조 정보는, occupancy_map_filtering_flag, occupancy_map_filtering_number, 및 occupancy_map_filtering_threshold 중 적어도 하나를 포함할 수 있다.
도 11의 디멀티플렉싱(De-Multiplexing) 블록은, 비트스트림을 수신하고, 비트스트림으로부터 압축된 기하학 영상, 압축된 텍스쳐 영상, 압축된 점유 맵 및 압축된 보조 정보(Auxiliary information)를 획득할 수 있다. 보조 정보(Auxiliary information)는, 인코더에서 점유 맵에 대해서 수행된 필터링에 대한 정보를 포함할 수 있다.
비디오 디컴프레션(Video Decompressiong) 블록은, 압축된 정보들을 압축 해제 할 수 있다.
비디오 디컴프레션(Video Decompressiong) 블록은, 필터링 정보에 기초하여 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성할 수 있다. 예를 들어, 비디오 디컴프레션(Video Decompressiong) 블록은, 점유 맵에 대한 업 샘플링 및 필터링을 수행할 수 있다.
기하학 정보 재구성(Geometry Reconstruction) 블록은, 압축 해제된 기하학 영상 및 압축 해제된 점유 맵에 기초하여, 포인트들의 기하학 정보를 재구성함으로써, 3차원 재구성 데이터를 생성할 수 있다. 기하학 정보 재구성(Geometry Reconstruction) 블록은, 기하학 영상 및 필터링된 점유 맵에 기초하여 포인트들의 위치 정보를 복원할 수 있다.
텍스쳐 재구성(Texture Reconstruction) 블록은, 3차원 재구성 데이터 및 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력할 수 있다. 텍스쳐 재구성(Texture Reconstruction) 블록은, 위치 정보가 복원된 포인트들의 색상 정보를 복원함으로써, 3차원 데이터를 재구성할 수 있다. 텍스쳐 재구성(Texture Reconstruction) 블록은, 3차원 재구성 데이터에 포함되는 포인트들에 대해서, 텍스쳐 영상에 포함된 포인트들의 색상 정보를 적용함으로써, 3차원 데이터를 생성할 수 있다. 생성된 3차원 데이터는 포인트 클라우드 형태일 수 있다.
개시된 실시예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 단말 장치 및 원격 제어 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예로, 단말 장치 또는 원격 제어 장치)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 구체적인 예로, 제3 장치는 단말 장치 또는 원격 제어 장치를 원격 제어하여, 패킹 영상을 전송 하거나 수신하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.

Claims (2)

  1. 3차원 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 기하학 영상, 상기 포인트들의 색상 정보를 나타내는 텍스쳐 영상, 및 상기 기하학 영상 내에서 상기 포인트들의 위치 정보의 점유 정보를 나타내는 점유 맵을 생성하는 단계;
    상기 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하는 단계;
    상기 필터링된 점유 맵에 기초하여, 상기 기하학 영상 및 상기 텍스쳐 영상에 대한 이미지 패딩을 수행하는 단계; 및
    패딩된 기하학 영상, 패딩된 텍스쳐 영상 및 다운 샘플링된 점유 맵 및 상기 점유 맵에 대해서 수행된 필터링에 대한 정보가 포함된 비트 스트림을 생성하고 출력하는 단계를 포함하는, 3차원 데이터 부호화 방법.
  2. 비트스트림을 수신하는 단계;
    상기 비트스트림으로부터 텍스쳐 영상, 기하학 영상, 점유 맵 및 필터링 정보를 획득하는 단계;
    상기 필터링 정보에 기초하여 상기 점유 맵에 대한 필터링을 수행함으로써, 필터링된 점유 맵을 생성하는 단계;
    상기 기하학 영상 및 상기 필터링된 점유 맵에 기초하여 포인트들의 위치 정보를 복원하는 단계; 및
    상기 텍스쳐 영상에 기초하여, 상기 위치 정보가 복원된 포인트들의 색상 정보를 복원함으로써, 3차원 데이터를 재구성하는 단계를 포함하는, 3차원 데이터 복호화 방법.
KR1020190003953A 2019-01-11 2019-01-11 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치 Active KR102640235B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190003953A KR102640235B1 (ko) 2019-01-11 2019-01-11 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치
US17/421,704 US12217464B2 (en) 2019-01-11 2020-01-13 Three-dimensional data encoding method and device, and three-dimensional data decoding method and device
EP20738151.8A EP3889909B1 (en) 2019-01-11 2020-01-13 Three-dimensional data encoding method and device, and three-dimensional data decoding method and device
CN202080013718.8A CN113424225B (zh) 2019-01-11 2020-01-13 三维数据编码方法和设备以及三维数据解码方法和设备
PCT/KR2020/000595 WO2020145783A1 (ko) 2019-01-11 2020-01-13 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003953A KR102640235B1 (ko) 2019-01-11 2019-01-11 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200087543A true KR20200087543A (ko) 2020-07-21
KR102640235B1 KR102640235B1 (ko) 2024-02-23

Family

ID=71520290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003953A Active KR102640235B1 (ko) 2019-01-11 2019-01-11 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US12217464B2 (ko)
EP (1) EP3889909B1 (ko)
KR (1) KR102640235B1 (ko)
CN (1) CN113424225B (ko)
WO (1) WO2020145783A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403501B1 (ko) * 2020-12-10 2022-05-30 한밭대학교 산학협력단 3차원 데이터 부호화 방법 및 장치
KR102454861B1 (ko) 2022-05-23 2022-10-14 주식회사 위딧 복호화 키 기반의 3차원 파일의 보안 시스템 및 방법
KR20230165398A (ko) 2022-05-27 2023-12-05 주식회사 위딧 3d 에셋 플랫폼을 위한 nft의 메타 데이터 관리 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240070924A1 (en) * 2020-12-21 2024-02-29 Koninklijke Kpn N.V. Compression of temporal data by using geometry-based point cloud compression
CN114915795B (zh) * 2021-02-08 2024-04-30 荣耀终端有限公司 基于二维规则化平面投影的点云编解码方法及装置
CN116800969A (zh) * 2022-03-18 2023-09-22 维沃移动通信有限公司 编码、解码方法、装置及设备
US20240404112A1 (en) * 2023-06-02 2024-12-05 Apple Inc. Smooth video/image signal compression
WO2025184800A1 (zh) * 2024-03-05 2025-09-12 Oppo广东移动通信有限公司 点云编解码方法、编解码器、码流以及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290305B2 (en) 2009-02-13 2012-10-16 Harris Corporation Registration of 3D point cloud data to 2D electro-optical image data
US9811880B2 (en) 2012-11-09 2017-11-07 The Boeing Company Backfilling points in a point cloud
US11300964B2 (en) 2016-12-20 2022-04-12 Korea Advanced Institute Of Science And Technology Method and system for updating occupancy map for a robotic system
KR101949609B1 (ko) * 2016-12-20 2019-02-19 한국과학기술원 대표 광선 기반의 점유맵 업데이트 방법 및 시스템
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
EP3399757A1 (en) 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds
US10444761B2 (en) 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
WO2019197708A1 (en) * 2018-04-09 2019-10-17 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
KR102503743B1 (ko) 2018-04-11 2023-02-28 삼성전자주식회사 이미지 처리 장치 및 방법
EP3777182B1 (en) * 2018-04-11 2025-07-30 InterDigital VC Holdings, Inc. A method and apparatus for encoding/decoding a point cloud representing a 3d object
US11012713B2 (en) * 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
JP2022003716A (ja) * 2018-10-01 2022-01-11 ソニーグループ株式会社 画像処理装置および方法
CN113261297B (zh) * 2019-01-07 2024-12-31 索尼集团公司 图像处理装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. Guede 외 5명, "Improve point cloud compression through occupancy map refinement," Document ISO/IEC JTC1/SC29/WG11 MPEG2018/ m44779, Macao, China, 2018.10.04. 1부.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403501B1 (ko) * 2020-12-10 2022-05-30 한밭대학교 산학협력단 3차원 데이터 부호화 방법 및 장치
KR102454861B1 (ko) 2022-05-23 2022-10-14 주식회사 위딧 복호화 키 기반의 3차원 파일의 보안 시스템 및 방법
KR20230165398A (ko) 2022-05-27 2023-12-05 주식회사 위딧 3d 에셋 플랫폼을 위한 nft의 메타 데이터 관리 시스템 및 방법

Also Published As

Publication number Publication date
CN113424225B (zh) 2025-03-07
KR102640235B1 (ko) 2024-02-23
WO2020145783A1 (ko) 2020-07-16
EP3889909A1 (en) 2021-10-06
US20220084254A1 (en) 2022-03-17
US12217464B2 (en) 2025-02-04
EP3889909B1 (en) 2023-10-04
EP3889909A4 (en) 2022-05-25
CN113424225A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
KR102640235B1 (ko) 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치
US11979607B2 (en) Apparatus and method for processing point cloud data
CN114009027B (zh) 视频译码中的残差的量化
KR20200044661A (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR20210096285A (ko) 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR20200044653A (ko) 딥 뉴럴 네트워크를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
WO2020012187A1 (en) Method and system for compressing and decompressing digital three-dimensional point cloud data
US12536710B2 (en) Dynamic mesh coding with simplified topology
KR20200044662A (ko) 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
CN110495178A (zh) 3d视频编码的装置和方法
EP4383708A1 (en) Device and method for ai-based filtering of image
CN115643406A (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
EP4633165A1 (en) 3d data transmission apparatus, 3d data transmission method, 3d data reception apparatus, and 3d data reception method
US11887342B2 (en) Method and device for encoding three-dimensional image, and method and device for decoding three-dimensional image
KR20250059445A (ko) 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
KR20250161596A (ko) 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법
KR20200144401A (ko) 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치
US20220084253A1 (en) Method and device for compressing three-dimensional data, and method and device for reconstructing three-dimensional data
KR102421718B1 (ko) 인공지능 부호화 및 인공지능 복호화를 수행하기 위한 방법 및 장치
KR101581131B1 (ko) 영상 정보를 전달하는 방법, 영상 부호기 및 영상 복호기
CN121420558A (zh) 网格数据发送设备、网格数据发送方法、网格数据接收设备和网格数据接收方法
CN121794980A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN121909649A (zh) 网格数据发送设备、网格数据发送方法、网格数据接收设备和网格数据接收方法
US20210385501A1 (en) Weighted downsampling and weighted transformations for signal coding

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190111

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220111

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20190111

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230515

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20231120

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20240220

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20240221

End annual number: 3

Start annual number: 1

PG1601 Publication of registration