KR102131502B1 - Real time three dimension video encoding and decoding method - Google Patents

Real time three dimension video encoding and decoding method Download PDF

Info

Publication number
KR102131502B1
KR102131502B1 KR1020180091940A KR20180091940A KR102131502B1 KR 102131502 B1 KR102131502 B1 KR 102131502B1 KR 1020180091940 A KR1020180091940 A KR 1020180091940A KR 20180091940 A KR20180091940 A KR 20180091940A KR 102131502 B1 KR102131502 B1 KR 102131502B1
Authority
KR
South Korea
Prior art keywords
coordinate map
current image
image
previous image
video
Prior art date
Application number
KR1020180091940A
Other languages
Korean (ko)
Other versions
KR20200016626A (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 재단법인 다차원 스마트 아이티 융합시스템 연구단
Priority to KR1020180091940A priority Critical patent/KR102131502B1/en
Publication of KR20200016626A publication Critical patent/KR20200016626A/en
Application granted granted Critical
Publication of KR102131502B1 publication Critical patent/KR102131502B1/en

Links

Images

Classifications

    • 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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/17Methods 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 an image region, e.g. an object

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

3차원 비디오에 대해 실시간으로 인코딩 및 디코딩을 수행하는 방법 및 시스템이 개시된다. 일 실시예에 따른 비디오 인코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계; 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계; 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분(Increment)을 계산하여 출력하는 단계를 포함하고, 상기 현재 이미지에 대한 3차원 좌표 맵은, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 생성되는 것을 특징으로 한다.A method and system for performing encoding and decoding in real time on a 3D video is disclosed. A video encoding method according to an embodiment includes storing and maintaining a 3D coordinate map of a previous image that is a target of a previously performed video encoding method among images included in a video captured through at least one camera. ; Generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image, wherein the 3D coordinate map for the current image includes the at least one Change of the pose of the camera and the shooting angle, movement of an object photographed on the video, or reliability than the previous image-the reliability is an expected value in which a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image is preset It is characterized in that it is generated in response to obtaining the current image is high, indicating the degree of comparison based on.

Description

실시간 3차원 비디오 인코딩 및 디코딩 방법{REAL TIME THREE DIMENSION VIDEO ENCODING AND DECODING METHOD}Real-time 3D video encoding and decoding method{REAL TIME THREE DIMENSION VIDEO ENCODING AND DECODING METHOD}

아래의 설명은 실시간 3차원 비디오 인코딩 및 디코딩 방법에 관한 것이다.The description below relates to a real-time 3D video encoding and decoding method.

디지털 비디오 장치는, 디지털 텔레비전, 디지털 브로드캐스트 시스템, PDA, 랩탑 또는 데스크탑 컴퓨터, 태블릿 컴퓨터, 이북 리더, 디지털 카메라, 디지털 레코딩 장치, 디지털 미디어 플레이어 장치, 비디오 게임용 장치, 비디오 게임 콘솔, 셀룰러 또는 위성 라디오 텔레폰, 스마트폰, 화상 원격회의 장치, 비디오 스트리밍 장치 등을 포함하는 광범위한 장치들에 통합될 수 있다. 이러한 디지털 비디오 장치는 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding), 현재 개발 하에 있는 HEVC (High Efficiency Video Coding) 에 의해 정의된 표준들 및 이러한 표준들의 확장들에서 설명된 바와 같은 비디오 코딩 기법들을 구현한다.Digital video devices include digital television, digital broadcast systems, PDAs, laptop or desktop computers, tablet computers, ebook readers, digital cameras, digital recording devices, digital media player devices, video game devices, video game consoles, cellular or satellite radio It can be integrated into a wide range of devices, including telephony, smart phones, video teleconferencing devices, video streaming devices, and the like. These digital video devices are MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding), and HEVC (High Efficiency Video) currently under development. Coding) and implement video coding techniques as described in extensions of these standards.

따라서, 비디오 장치는 이러한 비디오 코딩 기법들을 구현함으로써, 좀더 효율적으로 비디오를 송수신할 수 있다.Accordingly, the video device can transmit and receive video more efficiently by implementing these video coding techniques.

일 실시예들은 3차원 좌표 맵을 이용하여 실시간으로 비디오에 대한 인코딩 및 디코딩을 수행하는 방법 및 시스템을 제안한다.One embodiment proposes a method and system for encoding and decoding video in real time using a 3D coordinate map.

일 실시예에 따르면, 인코더에 의해 수행되는 비디오 인코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계; 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분(Increment)를 계산하여 출력하는 단계를 포함하고, 상기 현재 이미지에 대한 3차원 좌표 맵은, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 생성되는 것을 특징으로 한다.According to an embodiment, the video encoding method performed by the encoder is a three-dimensional coordinate map of a previous image that is a target of a video encoding method previously performed among images included in a video captured by at least one camera. Storing and maintaining; Generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image, wherein the 3D coordinate map for the current image includes the at least one. Change of the pose and shooting angle of the camera, the motion of the object photographed on the video, or the reliability than the previous image-the reliability is the expectation that a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image is preset It is characterized in that it is generated in response to the acquisition of the current image, which indicates a high degree of comparison based on the value.

일 측면에 따르면, 상기 3차원 좌표 맵은, 상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 포함하는 것을 특징으로 할 수 있다.According to an aspect, the 3D coordinate map may include a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image.

다른 측면에 따르면, 상기 3차원 좌표 맵을 생성하는 단계는, SLAM(Simultaneous Localization and Mapping) 기법을 이용하여 상기 3차원 좌표 맵을 생성하는 단계를 포함할 수 있다.According to another aspect, the generating of the 3D coordinate map may include generating the 3D coordinate map using a Simultaneous Localization and Mapping (SLAM) technique.

또 다른 측면에 따르면, 상기 신뢰도는, 상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 상기 이전 이미지 또는 상기 현재 이미지 내에 오클루전(Occlusion)이 포함되는지 여부에 기초하여 높아지거나 낮아질 수 있다.According to another aspect, the reliability may include whether a three-dimensional coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image exists or occlusion within the previous image or the current image ( Occlusion) may be increased or decreased based on whether it is included.

또 다른 측면에 따르면, 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은, 상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 할 수 있다.According to another aspect, the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is in at least one voxel included in the 3D object model of the previous image. It may be characterized in that it comprises data indicating the difference between object occupancy (Object occupancy) information and the object occupancy information in at least one voxel included in the three-dimensional object model of the current image.

또 다른 측면에 따르면, 상기 증분을 계산하여 출력하는 단계는, 상기 현재 이미지에 대한 3차원 좌표 맵을 이용하여, 상기 현재 이미지에 대한 3차원 객체 모델을 생성하는 단계; 및 상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 계산하여 출력하는 단계를 더 포함할 수 있다.According to another aspect, calculating and outputting the increment comprises: generating a 3D object model for the current image using a 3D coordinate map for the current image; And calculating and outputting an increment between a 3D object model for the previous image and a 3D object model for the current image.

또 다른 측면에 따르면, 상기 현재 이미지에 대한 3차원 객체 모델을 생성하는 단계는, 프록시 지오메트리를 형성하기 위해 상기 현재 이미지에 대한 3차원 좌표 맵에 포함되는 포인트들을 상호 접속하는 단계; 및 상기 현재 이미지에 대한 3차원 객체 모델을 형성하기 위해 상기 프록시 지오메트리에 상기 이전 이미지를 텍스처 매핑하는 단계를 포함할 수 있다.According to another aspect, generating a 3D object model for the current image comprises: interconnecting points included in a 3D coordinate map for the current image to form proxy geometry; And texture mapping the previous image to the proxy geometry to form a three-dimensional object model for the current image.

또 다른 측면에 따르면, 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계는, 상기 현재 이미지를 구성하는 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 획득하는 단계; 및 상기 3차원 좌표 값을 WCS(World Coordinate System)으로 정규화하는 단계를 포함할 수 있다.According to another aspect, generating a 3D coordinate map for the current image may include: obtaining a 3D coordinate value of a point corresponding to each of the pixels constituting the current image; And normalizing the 3D coordinate values to a World Coordinate System (WCS).

일 실시예에 따르면, 인코더를 구성하는 컴퓨터 시스템과 결합되어 비디오 인코딩 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 비디오 인코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계; 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 계산하여 출력하는 단계를 포함하고, 상기 현재 이미지에 대한 3차원 좌표 맵은, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 생성되는 것을 특징으로 한다.According to an embodiment, in a computer program recorded on a computer-readable recording medium for executing a video encoding method in combination with a computer system constituting an encoder, the video encoding method includes video captured through at least one camera. Storing and maintaining a 3D coordinate map of a previous image that is a target of a video encoding method previously performed among the images included in the; Generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image, wherein the 3D coordinate map for the current image includes: Change of pose and shooting angle, movement of an object photographed on the video, or reliability than the previous image-the reliability is based on an expected value in which a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image is preset. It is characterized in that it is generated in response to the acquisition of the current image, which indicates a high degree of comparison.

일 실시예에 따르면, 비디오 인코딩 방법을 수행하는 인코더는, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 되는 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 3차원 좌표 맵 유지부; 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는, 3차원 좌표 맵 생성부; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 계산하여 출력하는 3차원 좌표 맵 증분 출력부를 포함하고, 상기 현재 이미지에 대한 3차원 좌표 맵은, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 생성되는 것을 특징으로 한다.According to an embodiment, an encoder that performs a video encoding method includes at least one processor that is implemented to execute a computer-readable instruction, and the at least one processor is included in a video captured through at least one camera A 3D coordinate map holding unit for storing and maintaining a 3D coordinate map of a previous image that is a target of a previously performed video encoding method among images to be performed; A 3D coordinate map generating unit generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And a 3D coordinate map incremental output unit for calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image, wherein the 3D coordinate map for the current image is: Change of the pose and the shooting angle of at least one camera, the movement of an object photographed on the video, or the reliability than the previous image-the reliability is a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image It is characterized in that it is generated in response to obtaining the current image, which indicates a high degree of comparison based on the set expected value.

일 실시예에 따르면, 디코더에 의해 수행되는 비디오 디코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계; 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는 단계; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계를 포함하고, 상기 증분을 수신하는 단계는, 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 수행되는 것을 특징으로 한다.According to an embodiment, a video decoding method performed by a decoder includes a 3D coordinate map of a previous image that is a target of a video decoding method previously performed among images included in a video captured by at least one camera. Storing and maintaining; Receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video; And reconstructing the 3D coordinate map for the current image by updating the 3D coordinate map for the previous image based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image. And receiving the increment comprises: a pose of the at least one camera in an encoder transmitting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image; Change of the shooting angle, movement of the object photographed on the video, or reliability than the previous image-the reliability is compared based on a predetermined expected value of a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image Characterized in that it is performed when a 3D coordinate map for the current image is generated in response to the acquisition of the current image having a high degree of indicating a certain degree.

일 측면에 따르면, 상기 3차원 좌표 맵은, 상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 포함하는 것을 특징으로 할 수 있다.According to an aspect, the 3D coordinate map may include a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image.

다른 측면에 따르면, 상기 증분을 수신하는 단계는, 상기 증분과 함께 상기 현재 이미지를 수신하는 단계를 포함하고, 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계는, 상기 현재 이미지에 대한 3차원 좌표 맵을 이용하여, 상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계를 더 포함하는 비디오 디코딩 방법.According to another aspect, the step of receiving the increment includes receiving the current image together with the increment, and reconstructing a three-dimensional coordinate map for the current image comprises: And reconstructing a 3D object model for the current image using a coordinate map.

또 다른 측면에 따르면, 상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계는, 프록시 지오메트리를 형성하기 위해 상기 현재 이미지에 대한 3차원 좌표 맵에 포함되는 포인트들을 상호 접속하는 단계; 및 상기 현재 이미지에 대한 3차원 객체 모델을 형성하기 위해 상기 프록시 지오메트리에 상기 현재 이미지를 텍스처 매핑하는 단계를 포함할 수 있다.According to another aspect, reconstructing a 3D object model for the current image may include: interconnecting points included in a 3D coordinate map for the current image to form proxy geometry; And texture mapping the current image to the proxy geometry to form a three-dimensional object model for the current image.

또 다른 측면에 따르면, 상기 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계는, 상기 이전 이미지에 대한 3차원 객체 모델을 저장 및 유지하는 단계를 포함하고, 상기 증분을 수신하는 단계는, 상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 수신하는 단계를 포함하며, 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계는, 상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 객체 모델을 업데이트하여 상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계를 포함할 수 있다.According to another aspect, storing and maintaining a three-dimensional coordinate map for the previous image includes storing and maintaining a three-dimensional object model for the previous image, and receiving the increment, And receiving an increment between a 3D object model for the previous image and a 3D object model for the current image, and reconstructing the 3D coordinate map for the current image comprises: And reconstructing a 3D object model for the current image by updating the 3D object model for the previous image based on the increment between the 3D object model and the 3D object model for the current image. have.

또 다른 측면에 따르면, 상기 신뢰도는, 상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 상기 이전 이미지 또는 상기 현재 이미지 내에 오클루전(Occlusion)이 포함되는지 여부에 기초하여 높아지거나 낮아질 수 있다.According to another aspect, the reliability may include whether a three-dimensional coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image exists or occlusion within the previous image or the current image ( Occlusion) may be increased or decreased based on whether it is included.

일 실시예에 따르면, 디코더를 구성하는 컴퓨터 시스템과 결합되어 비디오 디코딩 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 비디오 디코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계; 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는 단계; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계를 포함하고, 상기 증분을 수신하는 단계는, 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 수행되는 것을 특징으로 한다.According to an embodiment, in a computer program recorded on a computer-readable recording medium for executing a video decoding method in combination with a computer system constituting a decoder, the video decoding method includes video captured through at least one camera. Storing and maintaining a 3D coordinate map of a previous image that is a target of a video decoding method previously performed among the images included in the; Receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video; And reconstructing the 3D coordinate map for the current image by updating the 3D coordinate map for the previous image based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image. And receiving the increment comprises: a pose of the at least one camera in an encoder transmitting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image; Change of the shooting angle, movement of the object photographed on the video, or reliability than the previous image-the reliability is compared based on a predetermined expected value of a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image Characterized in that it is performed when a 3D coordinate map for the current image is generated in response to the acquisition of the current image having a high degree of indicating a certain degree.

일 실시예에 따르면, 비디오 디코딩 방법을 수행하는 디코더는, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는, 3차원 좌표 맵 유지부; 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는, 3차원 좌표 맵 증분 수신부; 및 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는, 3차원 좌표 맵 재구성부를 포함하고, 상기 3차원 좌표 맵 증분 수신부는, 상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 동작하는 것을 특징으로 한다.According to an embodiment, a decoder that performs a video decoding method includes at least one processor that is implemented to execute a computer-readable instruction, and the at least one processor is configured for video captured through at least one camera. A 3D coordinate map holding unit for storing and maintaining a 3D coordinate map of a previous image that is a target of a previously performed video decoding method among included images; A 3D coordinate map increment receiving unit for receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video ; And generating a 3D coordinate map for the current image by updating the 3D coordinate map for the previous image based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image. And a 3D coordinate map reconstruction unit, wherein the 3D coordinate map increment receiving unit is an encoder that transmits an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image. Change of the pose and the shooting angle of one camera, the movement of an object photographed on the video, or the reliability than the previous image-the reliability is a preset three-dimensional coordinate value of a pixel for a feature point in each of the previous image or the current image. It is characterized by operating in the case of generating a 3D coordinate map for the current image in response to the acquisition of the current image having a high degree of comparison based on an expected value.

일 실시예들은 3차원 좌표 맵을 이용하여 실시간으로 비디오에 대한 인코딩 및 디코딩을 수행하는 방법 및 시스템을 제안할 수 있다.One embodiment may propose a method and system for encoding and decoding video in real time using a 3D coordinate map.

도 1은 일 실시예에 따른 인코더 및 디코더의 내부 구성을 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 인코더의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 3은 일 실시예에 따른 인코더가 수행할 수 있는 비디오 인코딩 방법을 도시한 흐름도이다.
도 4는 일 실시예에 따른 비디오 인코딩 방법을 설명하기 위한 개념도이다.
도 5는 일 실시예에 따른 비디오 상에서 촬영된 오브젝트가 움직이는 경우를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 적어도 하나의 카메라의 포즈 및 촬영 각도가 변경되는 경우를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 복수의 카메라들이 포함되는 경우를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 디코더의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 9는 일 실시예에 따른 디코더가 수행할 수 있는 비디오 디코딩 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따른 비디오 디코딩 방법을 설명하기 위한 개념도이다.
1 is a block diagram illustrating an internal configuration of an encoder and decoder according to an embodiment.
2 is a block diagram illustrating an example of components that a processor of an encoder may include according to an embodiment.
3 is a flowchart illustrating a video encoding method that can be performed by an encoder according to an embodiment.
4 is a conceptual diagram illustrating a video encoding method according to an embodiment.
5 is a diagram for describing a case in which an object photographed on a video moves according to an embodiment.
6 is a view for explaining a case in which the pose and the shooting angle of at least one camera are changed according to an embodiment.
7 is a view for explaining a case in which a plurality of cameras is included according to an embodiment.
8 is a block diagram illustrating an example of components that a processor of a decoder according to an embodiment may include.
9 is a flowchart illustrating a video decoding method that can be performed by a decoder according to an embodiment.
10 is a conceptual diagram illustrating a video decoding method according to an embodiment.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. In addition, the same reference numerals shown in each drawing denote the same members.

또한, 본 명세서에서 사용되는 용어(Terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 예컨대, 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 본 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.In addition, terms used in the present specification (Terminology) are terms used to appropriately represent a preferred embodiment of the present invention, which may vary depending on the viewer's, operator's intention, or customs in the field to which the present invention pertains. Therefore, definitions of these terms should be made based on the contents throughout the present specification. For example, in this specification, the singular form also includes the plural form unless otherwise specified in the phrase. Also, as used herein, “comprises” and/or “comprising” refers to the components, steps, operations and/or elements mentioned above, wherein one or more other components, steps, operations and/or The presence or addition of devices is not excluded.

또한, 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 기술적 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 제시된 각각의 실시예 범주에서 개별 구성요소의 위치, 배치, 또는 구성은 본 발명의 기술적 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다.In addition, it should be understood that various embodiments of the present invention are different, but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the technical spirit and scope of the present invention in connection with one embodiment. In addition, it should be understood that the position, arrangement, or configuration of individual components in each category of embodiments presented may be changed without departing from the technical spirit and scope of the present invention.

도 1은 일 실시예에 따른 인코더 및 디코더의 내부 구성을 설명하기 위한 블록도이다.1 is a block diagram illustrating an internal configuration of an encoder and decoder according to an embodiment.

인코더(110) 및 디코더(120)는 메모리(111, 121), 프로세서(112, 122), 통신 모듈(113, 123) 그리고 입출력 인터페이스(114, 124)를 포함할 수 있다. 여기서, 인코더(110) 및 디코더(120)는 네트워크(130)를 통해 통신할 수 있다. 통신 방식은 제한되지 않으며, 네트워크(130)가 포함할 수 있는 통신망(일례로, 이동 통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(130)는, PAN(Personal Area Network), LAN(Local Area Network), CAN(Campus Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), BBN(Broadband Network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(130)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The encoder 110 and the decoder 120 may include memories 111 and 121, processors 112 and 122, communication modules 113 and 123, and input/output interfaces 114 and 124. Here, the encoder 110 and the decoder 120 may communicate through the network 130. The communication method is not limited, and a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, and a broadcasting network) that the network 130 may include may include short-range wireless communication between devices. For example, the network 130 includes a Personal Area Network (PAN), a Local Area Network (LAN), a Campus Area Network (CAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), and a Broadband Network (BBN). , Any one or more of the networks such as the Internet. Further, the network 130 may include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, etc. It is not limited.

메모리(111, 121)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 메모리(111, 121)에는 운영체제나 적어도 하나의 프로그램 코드(일례로, 비디오 인코딩 방법을 실행시키기 위한 코드 또는 비디오 디코딩 방법을 실행시키기 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(111, 121)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이 때, 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(113, 123)을 통해 메모리(111, 121)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(130)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(111, 121)에 로딩될 수 있다.The memories 111 and 121 are computer-readable recording media and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. An operating system or at least one program code (eg, code for executing a video encoding method or code for executing a video decoding method) may be stored in the memories 111 and 121. These software components can be loaded from a computer-readable recording medium separate from the memories 111 and 121. At this time, the recording medium readable by a separate computer may include a recording medium readable by a computer such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, or a memory card. In other embodiments, software components may be loaded into memories 111 and 121 through communication modules 113 and 123 rather than a computer-readable recording medium. For example, at least one program is based on a program (for example, the above-described application) installed by files provided by a file distribution system that distributes installation files of developers or applications through the network 130 (for example, the application described above). 111, 121).

또한, 메모리(111, 121)에는 비디오 인코딩 방법이 수행됨에 있어 필요한 데이터들이 저장될 수 있다. 예를 들어, 인코더(110)의 메모리(111)에는 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵, 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 및/또는 이전 이미지에 대한 3차원 객체 모델, 현재 이미지에 대한 3차원 객체 모델이 저장될 수 있으며, 디코더(120)의 메모리(121)에는 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵 및/또는 이전 이미지에 대한 3차원 객체 모델이 저장될 수 있다. 다른 예를 들면, 메모리(111, 121)에는 비디오 인코딩 방법 및 비디오 디코딩 방법 각각에서 이용 가능한 SLAM(Simultaneous Localization and Mapping) 기법과 관련된 알고리즘 데이터가 저장될 수 있다.Also, data required for a video encoding method may be stored in the memories 111 and 121. For example, in the memory 111 of the encoder 110, a 3D coordinate map of a previous image that is a target of a video encoding method previously performed among images included in a video captured by at least one camera, a video Among the images included in the 3D coordinate map for the current image and/or the 3D object model for the previous image, and the 3D object model for the current image, which are targets of the video encoding method currently being performed, may be stored. In the memory 121 of the decoder 120, a 3D coordinate map and/or a previous image of a previous image that is a target of a previously performed video decoding method among images included in a video captured by at least one camera A 3D object model for can be stored. For another example, algorithm data related to a Simultaneous Localization and Mapping (SLAM) technique available in each of the video encoding method and the video decoding method may be stored in the memory 111 and 121.

프로세서(112, 122)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(111, 121) 또는 통신 모듈(113, 123)에 의해 프로세서(112, 122)로 제공될 수 있다. 예를 들어 프로세서(112, 122)는 메모리(111, 121)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.Processors 112 and 122 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processors 112, 122 by the memory 111, 121 or the communication modules 113, 123. For example, the processors 112 and 122 may be configured to execute instructions received according to program codes stored in recording devices such as memories 111 and 121.

통신 모듈(113, 123)은 네트워크(130)를 통해 인코더(110)와 디코더(120)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기와 통신하기 위한 기능을 제공할 수 있다. 일례로, 인코더(110)의 프로세서(112)가 수행한 비디오 인코딩 방법에 따라 출력되는 현재 이미지에 대한 3차원 좌표 맵과 이전 이미지에 대한 3차원 좌표 맵 사이의 증분(Increment)이 통신 모듈(113, 123)을 통해 디코더(120)의 프로세서(122)로 전달될 수 있다. 이처럼 전달되는 증분은 디코더(120)의 메모리(121)에 저장될 수 있다.The communication modules 113 and 123 may provide a function for the encoder 110 and the decoder 120 to communicate with each other through the network 130 and a function for communicating with other electronic devices. For example, the increment between the 3D coordinate map for the current image and the 3D coordinate map for the previous image output according to the video encoding method performed by the processor 112 of the encoder 110 is the communication module 113 , 123) to the processor 122 of the decoder 120. The increments transmitted as described above may be stored in the memory 121 of the decoder 120.

입출력 인터페이스(114, 124)는 입출력 장치를 의미하는 것으로, 프로세서(112, 122)가 처리한 데이터를 출력할 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있으며, 다른 예를 들면, 입출력 인터페이스(114, 124)는 입력과 출력을 위한 기능이 하나로 통합된 장치일 수 있다.The input/output interfaces 114 and 124 refer to input/output devices, and may output data processed by the processors 112 and 122. For example, the input device may include a device such as a keyboard or mouse, and the output device may include a device such as a display for displaying a communication session of an application. For example, the input/output interfaces 114, 124 It can be a device that combines functions for input and output into one.

다른 실시예들에서 인코더(110) 및 디코더(120)는 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래 기술적 구성요소들을 명확하게 도시할 필요성은 없다.In other embodiments, the encoder 110 and the decoder 120 may include more components than those in FIG. 1. However, there is no need to clearly show most prior art components.

이하에서는 인코더(110)에 의해 수행되는 비디오 인코딩 방법 및 디코더(120)에 의해 수행되는 비디오 디코딩 방법의 구체적인 실시예를 설명하기로 한다.Hereinafter, specific embodiments of the video encoding method performed by the encoder 110 and the video decoding method performed by the decoder 120 will be described.

도 2는 일 실시예에 따른 인코더의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 3은 일 실시예에 따른 인코더가 수행할 수 있는 비디오 인코딩 방법을 도시한 흐름도이며, 도 4는 일 실시예에 따른 비디오 인코딩 방법을 설명하기 위한 개념도이다.FIG. 2 is a block diagram showing an example of components that a processor of an encoder may include according to an embodiment, and FIG. 3 is a flowchart illustrating a video encoding method that can be performed by an encoder according to an embodiment. 4 is a conceptual diagram illustrating a video encoding method according to an embodiment.

도 2 내지 4를 참조하면, 일 실시예에 따른 인코더(110)는 3차원 좌표 맵을 기반으로 현재 이미지의 3차원 객체 모델에 대한 인코딩을 수행할 수 있다. 이하, 단계들(S310 내지 S330)로 수행되는 비디오 인코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 특정 이미지(일례로, 비디오에 포함되는 이미지들 중 비디오 인코딩 방법이 수행되는 시점에 해당하는 이미지)가 3차원으로 표현된 3차원 객체 모델을 인코딩하는 것으로, 이하 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 특정 이미지를 현재 이미지(410)로 기재한다. 또한, 현재 수행되고 있는 비디오 인코딩 방법 이전에 수행된 비디오 인코딩 방법의 대상이 된 특정 이미지를 이전 이미지(420)로 기재한다.2 to 4, the encoder 110 according to an embodiment may perform encoding on a 3D object model of a current image based on a 3D coordinate map. Hereinafter, in the video encoding method performed in steps S310 to S330, a video encoding method is performed among specific images (for example, among images included in a video) among images included in a video captured through at least one camera. The image corresponding to the point in time) encodes the 3D object model expressed in 3D, and the specific image that is the target of the video encoding method currently being performed is described as the current image 410. Also, a specific image that is a target of the video encoding method performed before the currently performed video encoding method is described as the previous image 420.

즉, 현재 이미지(410)를 대상으로 수행되는 비디오 인코딩 방법은, 후술되는 비디오 디코딩 방법에서 현재 이미지(410)의 3차원 객체 모델을 재구성할 수 있도록 필요 정보를 인코딩하여 전송하는 것을 의미한다.That is, the video encoding method performed on the current image 410 means encoding and transmitting necessary information so that the 3D object model of the current image 410 can be reconstructed in the video decoding method described later.

보다 상세하게, 인코더(110)가 도 3 내지 4에 따른 비디오 인코딩 방법을 수행할 수 있도록 인코더(110)의 프로세서(112)는 구성요소로서 도 2에 도시된 바와 같이, 3차원 좌표 맵 유지부(210), 3차원 좌표 맵 생성부(220) 및 3차원 좌표 맵 증분 출력부(230)를 포함할 수 있다. 실시예에 따라 프로세서(112)의 구성요소들은 선택적으로 프로세서(112)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(112)의 구성요소들은 프로세서(112)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.More specifically, the processor 112 of the encoder 110, as shown in FIG. 2 as a component, enables the encoder 110 to perform the video encoding method according to FIGS. 210, a 3D coordinate map generating unit 220 and a 3D coordinate map incremental output unit 230. Depending on the embodiment, the components of the processor 112 may be selectively included or excluded from the processor 112. Further, according to an embodiment, the components of the processor 112 may be separated or merged to express the function of the processor 112.

단계(S310)에서 3차원 좌표 맵 유지부(210)는 이전 이미지(420)(비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이미지)에 대한 3차원 좌표 맵(430)을 저장 및 유지한다. 보다 상세하게, 3차원 좌표 맵 유지부(210)는 이전 이미지(420)에 대한 인코딩이 수행되는 과정에서 3차원 좌표 맵 생성부(220)에 의해 생성된 이전 이미지(420)에 대한 3차원 좌표 맵(430)을 메모리(111)에 저장 및 유지함으로써, 3차원 좌표 맵 증분 출력부(230)가 이전 이미지(420)에 대한 3차원 좌표 맵(430)을 이용하도록 할 수 있다.In step S310, the 3D coordinate map maintaining unit 210 is a 3D coordinate map 430 for the previous image 420 (the image targeted for the previously performed video encoding method among the images included in the video). Store and maintain. In more detail, the 3D coordinate map holding unit 210 performs 3D coordinates on the previous image 420 generated by the 3D coordinate map generating unit 220 in the process of encoding the previous image 420. By storing and maintaining the map 430 in the memory 111, the 3D coordinate map incremental output unit 230 can use the 3D coordinate map 430 for the previous image 420.

여기서, 이전 이미지(420)에 대한 3차원 좌표 맵(430)은 이전 이미지(420)를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값(x, y 및 z의 좌표)을 포함하는 것으로서, 일례로 이전 이미지(420)에 대해 오브젝트들의 상대 심도가 존재하는 3차원 객체 모델을 구성하는 복셀(Voxel)들 각각에서의 특성 값을 포함하는 형태일 수 있다. 즉, 이전 이미지(420)에 대한 3차원 좌표 맵(430)은 이전 이미지(420)를 구성하는 모든 픽셀들 개수와 동일한 개수의 포인트들(포인트들은 모두 각각 3차원 좌표 값을 포함하고 있음)로 구성됨으로써, 포인트들의 밀도가 sparse한 구조가 아닌 dense한 구조를 가질 수 있다. 이처럼, 3차원 좌표 맵(430)이 dense한 포인트들의 밀도 구조를 갖는 것은, 3차원 좌표 맵(430)으로부터 이전 이미지(420)에 대한 3차원 객체 모델이 생성될 수 있도록 하기 위함이다.Here, the 3D coordinate map 430 for the previous image 420 includes 3D coordinate values (coordinates of x, y, and z) of points corresponding to each of the pixels constituting the previous image 420. As an example, for example, it may be in a form including characteristic values in each of voxels constituting a 3D object model in which relative depths of objects exist with respect to the previous image 420. That is, the 3D coordinate map 430 for the previous image 420 is the number of points equal to the number of all pixels constituting the previous image 420 (points each include a 3D coordinate value). By being configured, the density of points may have a dense structure, not a sparse structure. As such, the 3D coordinate map 430 has a dense structure of dense points, so that a 3D object model for the previous image 420 can be generated from the 3D coordinate map 430.

단계(S320)에서 3차원 좌표 맵 생성부(220)는 현재 이미지(410)(적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 이미지)에 대한 3차원 좌표 맵(440)을 생성한다. 구체적으로, 3차원 좌표 맵 생성부(220)는 현재 이미지(410)를 구성하는 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 획득한 뒤, 3차원 좌표 값을 WCS(World Coordinate System)으로 정규화함으로써, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 생성할 수 있다.In step (S320), the 3D coordinate map generation unit 220 is applied to the current image 410 (the image that is the target of the video encoding method currently being performed among the images included in the video captured by at least one camera). A 3D coordinate map 440 is generated. Specifically, the 3D coordinate map generator 220 acquires a 3D coordinate value of a point corresponding to each of the pixels constituting the current image 410, and then converts the 3D coordinate value into a WCS (World Coordinate System). By normalizing, a three-dimensional coordinate map 440 for the current image 410 can be generated.

마찬가지로, 현재 이미지(410)에 대한 3차원 좌표 맵(440)은 현재 이미지(410)를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값(x, y 및 z의 좌표)을 포함하는 것으로서, 일례로 현재 이미지(410)에 대해 오브젝트들의 상대 심도가 존재하는 3차원 객체 모델을 구성하는 복셀들 각각의 특성 값을 포함하는 형태일 수 있다. 즉, 현재 이미지(410)에 대한 3차원 좌표 맵(440)은 현재 이미지(410)를 구성하는 모든 픽셀들 개수와 동일한 개수의 포인트들(포인트들은 모두 각각 3차원 좌표 값을 포함하고 있음)로 구성됨으로써, 포인트들의 밀도가 sparse한 구조가 아닌 dense한 구조를 가질 수 있다. 이처럼, 3차원 좌표 맵(440)이 dense한 포인트들의 밀도 구조를 갖는 것은, 3차원 좌표 맵(440)으로부터 현재 이미지(410)에 대한 3차원 객체 모델이 생성될 수 있도록 하기 위함이다.Similarly, the three-dimensional coordinate map 440 for the current image 410 includes three-dimensional coordinate values (coordinates of x, y, and z) of points corresponding to each of all pixels constituting the current image 410. As an example, for example, it may be in a form including characteristic values of each of the voxels constituting a 3D object model in which relative depths of objects exist with respect to the current image 410. That is, the 3D coordinate map 440 for the current image 410 is the number of points equal to the number of all pixels constituting the current image 410 (points each include a 3D coordinate value). By being configured, the density of points may have a dense structure, not a sparse structure. As such, the 3D coordinate map 440 has a dense structure of dense points, so that a 3D object model for the current image 410 can be generated from the 3D coordinate map 440.

이 때, 3차원 좌표 맵 생성부(220)는 SLAM(Simultaneous Localization and Mapping) 기법을 이용하여 3차원 좌표 맵(440)을 생성할 수 있다. 일례로, 3차원 좌표 맵 생성부(220)는 비디오에 포함되는 이미지들 중 현재 이미지(410)를 촬영하는 시점에서의 적어도 하나의 카메라(상기 비디오를 촬영하고 있는 카메라)의 포즈 및 촬영 각도를 SLAM 기법을 이용하여 트랙킹함으로써, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 생성할 수 있다.At this time, the 3D coordinate map generator 220 may generate a 3D coordinate map 440 using a Simultaneous Localization and Mapping (SLAM) technique. As an example, the 3D coordinate map generator 220 may display a pose and a shooting angle of at least one camera (a camera shooting the video) at a time when the current image 410 is taken from among the images included in the video. By tracking using the SLAM technique, a three-dimensional coordinate map 440 for the current image 410 can be generated.

단계(S330)에서 3차원 좌표 맵 증분 출력부(230)는 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분을 계산하여 출력한다. 증분(450)은 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 차이를 나타내므로, 3차원 좌표 맵 증분 출력부(230)는 감산 유닛을 이용하여, 현재 이미지(410)의 3차원 좌표 맵(440)의 값들에 -1을 곱하고 그 결과에 이전 이미지(420)의 3차원 좌표 맵(430)의 값들을 가산하여 증분을 계산할 수 있다.In step S330, the 3D coordinate map incremental output unit 230 calculates the increment between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410. And output. Since the increment 450 represents the difference between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410, the 3D coordinate map increment output unit 230 ) Increments by multiplying the values of the 3D coordinate map 440 of the current image 410 by −1 using the subtraction unit, and adding the values of the 3D coordinate map 430 of the previous image 420 to the result. Can be calculated.

여기서, 이전 이미지(420)에 대한 3차원 좌표 맵(430)은 이전 이미지(420)의 3차원 객체 모델을 구성하는 복셀들 각각에서의 특성 값을 포함하는 것으로, 이전 이미지(420)의 3차원 객체 모델을 구성하는 복셀들 각각에서의 오브젝트 점유(Object occupancy) 정보를 포함하고 있다. 따라서, 3차원 좌표 맵 증분 출력부(230)가 출력하는 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분(450)은, 이전 이미지(420)에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 및 현재 이미지(410)에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함할 수 있다.Here, the 3D coordinate map 430 for the previous image 420 includes characteristic values in each of the voxels constituting the 3D object model of the previous image 420, and the 3D of the previous image 420 Contains object occupancy information in each of the voxels constituting the object model. Accordingly, the incremental 450 between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410 output by the 3D coordinate map incremental output unit 230 is output. May include data indicating a difference between object occupancy information in at least one voxel included in the previous image 420 and object occupancy information in at least one voxel included in the current image 410.

또한, 단계(S330)에서 3차원 좌표 맵 증분 출력부(230)는 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분이 아닌, 이전 이미지(420)에 대한 3차원 객체 모델과 현재 이미지(410)에 대한 3차원 객체 모델 사이의 증분을 계산하여 출력할 수도 있다. 이러한 경우, 3차원 좌표 맵 증분 출력부(230)는 이전에 수행된 비디오 인코딩 과정에서 이전 이미지(420)에 대한 3차원 객체 모델을 생성하여 저장 및 유지해두다가, 3차원 좌표 맵 생성부(220)에서 현재 이미지(410)에 대한 3차원 좌표 맵(440)이 생성됨에 응답하여, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 이용하여 현재 이미지(410)에 대한 3차원 객체 모델을 생성한 뒤, 이전 이미지(420)에 대한 3차원 객체 모델과 현재 이미지(410)에 대한 3차원 객체 모델 사이의 증분을 계산하여 출력할 수 있다.In addition, in step S330, the 3D coordinate map increment output unit 230 increments between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410. Alternatively, the increment between the 3D object model for the previous image 420 and the 3D object model for the current image 410 may be calculated and output. In this case, the 3D coordinate map incremental output unit 230 generates, stores and maintains a 3D object model for the previous image 420 in the previously performed video encoding process, and then generates and stores the 3D coordinate map unit 220 ), in response to the creation of the 3D coordinate map 440 for the current image 410, the 3D object model for the current image 410 using the 3D coordinate map 440 for the current image 410 After generating, it is possible to calculate and output the increment between the 3D object model for the previous image 420 and the 3D object model for the current image 410.

이 때, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 이용하여 현재 이미지(410)에 대한 3차원 객체 모델을 생성하는 세부 과정은 아래와 같다. 우선, 3차원 좌표 맵 증분 출력부(230)는 현재 이미지(410)에 대한 3차원 좌표 맵(440)에 포함되는 포인트들을 상호 접속하여 프록시 지오메트리를 형성한 뒤, 프록시 지오메트리에 현재 이미지(410)를 텍스처 매핑함으로써, 현재 이미지(410)에 대한 3차원 객체 모델을 형성할 수 있다. 프록시 지오메트리를 형성하는 일례로, 3차원 좌표 맵 증분 출력부(230)는 3차원 좌표 맵(440)에 포함되는 포인트들을 상호 접속하여 현재 이미지(410)의 상대적 3차원 구조의 추정값을 형성하는 메시를 생성할 수 있다. 3차원 객체 모델을 형성하는 일례로, 3차원 좌표 맵 증분 출력부(230)는 현재 이미지(410)를 구성하는 모든 픽셀들 각각의 (u, v) 좌표들을 3차원 좌표 맵(440)에 포함되는 포인트들 각각의 (x, y, z) 좌표들 상에 매핑함으로써, 3차원 좌표들에 의해 정의되는 픽셀들을 갖는 그래픽 모델인 3차원 객체 모델을 형성할 수 있다.At this time, a detailed process of generating a 3D object model for the current image 410 using the 3D coordinate map 440 for the current image 410 is as follows. First, the 3D coordinate map incremental output unit 230 interconnects points included in the 3D coordinate map 440 with respect to the current image 410 to form a proxy geometry, and then the current image 410 in the proxy geometry. By texture mapping, a 3D object model for the current image 410 can be formed. As an example of forming a proxy geometry, the 3D coordinate map incremental output unit 230 interconnects points included in the 3D coordinate map 440 to form a mesh forming an estimate of the relative 3D structure of the current image 410. Can generate As an example of forming a 3D object model, the 3D coordinate map incremental output unit 230 includes (u, v) coordinates of all pixels constituting the current image 410 in the 3D coordinate map 440 By mapping on the (x, y, z) coordinates of each of the points to be formed, a 3D object model, which is a graphic model having pixels defined by 3D coordinates, can be formed.

단계(S330)에서 3차원 좌표 맵 증분 출력부(230)가 출력하는 정보들은 출력과 동시에 인코딩될 수 있으며, 디코더(120)로 전송될 수 있다.The information output by the 3D coordinate map incremental output unit 230 in step S330 may be simultaneously encoded and output to the decoder 120.

이상 설명된 단계들(S310 내지 S330)로 수행되는 비디오 인코딩 방법은, 현재 이미지(410)의 3차원 객체 모델 자체를 인코딩하는 것이 아니라, 도 8 내지 10을 참조하여 설명되는 비디오 디코딩 방법에서 현재 이미지(410)의 3차원 좌표 맵(440) 또는 3차원 객체 모델을 재구성할 수 있도록 필요 정보(이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분 또는 이전 이미지(420)에 대한 3차원 객체 모델과 현재 이미지(410)에 대한 3차원 객체 모델 사이의 증분)를 인코딩하여 전송하는 것이다. 따라서, 일 실시예에 따른 비디오 인코딩 방법은 인코더(110)에서 디코더(120)로 데이터가 전송되는데 필요한 대역폭의 양을 낮출 수 있다.The video encoding method performed in steps S310 to S330 described above does not encode the 3D object model itself of the current image 410, but the current image in the video decoding method described with reference to FIGS. 8 to 10. Necessary information (three-dimensional coordinate map 430 for the previous image 420 and three-dimensional coordinate map for the current image 410) so that the three-dimensional coordinate map 440 of 410 or the three-dimensional object model can be reconstructed. Encoding between 440 or incremental between the 3D object model for the previous image 420 and the 3D object model for the current image 410). Accordingly, the video encoding method according to an embodiment may lower the amount of bandwidth required to transmit data from the encoder 110 to the decoder 120.

만약, 이전 이미지(420)에 대한 3차원 좌표 맵(430) 및 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분(450)의 값이 0인 경우에는, 굳이 이전 이미지(420)에 대한 3차원 좌표 맵(430) 및 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분(450)이 전송될 필요가 없다. 따라서, 비디오 인코딩 방법은 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 차이가 있는 경우에만 선택적으로 수행될 수 있다.If the value of the increment 450 between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410 is 0, the previous image 420 ), the incremental 450 between the 3D coordinate map 430 for the current image 410 and the 3D coordinate map 440 for the current image 410 need not be transmitted. Therefore, the video encoding method can be selectively performed only when there is a difference between the 3D coordinate map 430 for the previous image 420 and the 3D coordinate map 440 for the current image 410.

한편, 현재 이미지(410)에 대한 3차원 좌표 맵(440)은 적어도 하나의 카메라의 포즈 및 촬영 각도가 변경되거나, 비디오 상에서 촬영된 오브젝트가 움직이거나, 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득되는 경우에만 변경되게 된다. 이에, 비디오 인코딩 방법은 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 비디오 상에서 촬영된 오브젝트의 움직임 또는 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득됨에 응답하여, 단계들(S310 내지 S330)을 수행하는 것을 특징으로 한다. 예를 들어, 적어도 하나의 카메라의 포즈 및 촬영 각도가 변경되거나, 비디오 상에서 촬영된 오브젝트가 움직이거나, 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득되는 상황에서는 단계들(S310 내지 S330)이 수행되지만, 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경이 없거나, 비디오 상에서 촬영된 오브젝트의 움직임이 존재하지 않거나, 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득되지 않는 상황에서는 단계들(S310 내지 S330)이 수행되지 않을 수 있다.On the other hand, the three-dimensional coordinate map 440 for the current image 410 is the current image with a higher reliability than the pose and shooting angle of at least one camera is changed, an object photographed on the video moves, or the previous image 420 It is changed only when 410 is obtained. Accordingly, in the video encoding method, in response to the change of the pose and the shooting angle of at least one camera, the movement of an object photographed on a video, or a current image 410 with higher reliability than the previous image 420 is obtained, steps S310 To S330). For example, steps S310 to S310 in a situation in which the pose and shooting angle of at least one camera is changed, an object photographed on a video moves, or a current image 410 having a higher reliability than the previous image 420 is acquired. S330) is performed, but there is no change in the pose and the shooting angle of at least one camera, there is no movement of the object captured on the video, or the current image 410 with higher reliability than the previous image 420 is not obtained. In the situation, steps S310 to S330 may not be performed.

여기서 신뢰도는, 이전 이미지(420) 또는 현재 이미지(410) 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타내는 것으로, 현재 이미지(410)의 신뢰도가 높다는 것은 현재 이미지(410)에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값 이상인 것을 의미하고, 이전 이미지(420)의 신뢰도가 낮다는 것은 이전 이미지(420)에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값 미만인 것을 의미한다. 또한, 이러한 신뢰도는 3차원 좌표 맵(440)을 생성하는데 요구되는 정보들이 이미지에 포함되는 정도를 나타낼 수 있다. 따라서, 신뢰도가 높은 이미지는 3차원 좌표 맵(440)을 생성하는데 요구되는 정보들을 상대적으로 많이 포함하고 있으며, 신뢰도가 낮은 이미지는 3차원 좌표 맵(440)을 생성하는데 요구되는 정보들을 상대적으로 적게 포함하고 있음을 의미한다. 이 때, 3차원 좌표 맵(440)을 생성하는데 요구되는 정보들은 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 의미하기 때문에, 3차원 좌표 맵(440)을 생성하는데 요구되는 정보들이 이미지에 포함되는 정도는 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 이미지 내에 오클루전(Occlusion)이 포함되는지 여부에 기초하여 결정될 수 있다. 따라서, 신뢰도는 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 이미지 내에 오클루전(Occlusion)이 포함되는지 여부를 나타내는 지표로서, 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 모두 존재하는 경우 또는 이미지 내에 오클루전이 포함되지 않는 경우는 신뢰도가 높다고 평가될 수 있으며, 반대로 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 일부 누락되어 있는 경우 또는 이미지 내에 오클루전이 포함되는 경우는 신뢰도가 낮다고 평가될 수 있다.Here, the reliability represents the degree of comparison of a 3D coordinate value of a pixel with respect to a feature point in each of the previous image 420 or the current image 410 based on a preset expected value, and the reliability of the current image 410 is high. This means that the 3D coordinate value of the pixel for the feature point in the current image 410 is greater than or equal to a preset expected value, and that the reliability of the previous image 420 is low is the 3D of the pixel for the feature point in the previous image 420 It means that the coordinate value is less than a preset expected value. In addition, this reliability may indicate the degree to which information required to generate the 3D coordinate map 440 is included in the image. Therefore, the image with high reliability contains relatively much information required to generate the 3D coordinate map 440, and the image with low reliability contains relatively little information required to generate the 3D coordinate map 440. It means to include. At this time, since the information required to generate the 3D coordinate map 440 means a 3D coordinate value of a point corresponding to each of the pixels constituting the image, it is required to generate the 3D coordinate map 440 The degree to which information is included in the image may be determined based on whether there is a 3D coordinate value of a point corresponding to each of all pixels constituting the image or whether an occlusion is included in the image. Accordingly, reliability is an index indicating whether a 3D coordinate value of a point corresponding to each of all pixels constituting the image exists or whether occlusion is included in the image, and all pixels constituting the image. When all three-dimensional coordinate values of the points corresponding to each exist or when occlusion is not included in the image, it can be evaluated that the reliability is high. It may be evaluated that the reliability is low when some of the coordinate values are missing or when occlusion is included in the image.

예를 들어, 비디오 상에서 촬영된 오브젝트가 움직이는 경우를 설명하기 위한 도 5와 같이, 이전 이미지(420)에서 중앙에 위치한 오브젝트(510)가 현재 이미지(410)에서 우측에 위치하게 되는 경우, 3차원 좌표 맵 생성부(220)는 오브젝트(510)의 움직임이 발생됨을 감지하고, 이에 응답하여 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 생성할 수 있다.For example, as illustrated in FIG. 5 for explaining a case in which an object photographed on a video moves, when the object 510 positioned at the center of the previous image 420 is located on the right side of the current image 410, it is 3D. The coordinate map generator 220 detects that the movement of the object 510 has occurred, and in response, may generate a 3D coordinate map 440 for the current image 410.

다른 예를 들면, 적어도 하나의 카메라의 포즈 및 촬영 각도가 변경되는 경우를 설명하기 위한 도 6과 같이, 카메라(610)가 오브젝트들(620, 630)을 촬영하는 포즈 및 촬영 각도가 변경되게 되면, 이전 이미지(420)는 오클루전을 포함하고 있어 제1 오브젝트(620)의 표면에 위치한 별 모양이 제2 오브젝트(630)에 의해 가려서 보이지 않는 반면, 현재 이미지(410)는 오클루전을 포함하지 않아 제1 오브젝트(620)의 표면에 위치한 별 모양이 보이게 될 수 있다. 이에 따라, 3차원 좌표 맵 생성부(220)는 이전 이미지(420)에 비해 신뢰도가 높은 현재 이미지(410)가 획득됨을 감지하여, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 생성할 수 있다.As another example, when the pose and the shooting angle of the camera 610 photographing the objects 620 and 630 are changed, as illustrated in FIG. 6 for explaining the case where the pose and the shooting angle of at least one camera are changed, , The previous image 420 includes occlusion, so that the star shape located on the surface of the first object 620 is not obscured by the second object 630, whereas the current image 410 does not include occlusion. Since it is not included, a star shape located on the surface of the first object 620 may be visible. Accordingly, the 3D coordinate map generation unit 220 detects that the current image 410 having a higher reliability than the previous image 420 is obtained, thereby generating a 3D coordinate map 440 for the current image 410 can do.

또 다른 예를 들면, 비디오를 촬영하는 복수의 카메라들이 포함되는 경우를 설명하기 위한 도 7과 같이, 오브젝트들(710, 720)을 복수의 카메라들(730, 740, 750)이 촬영하고 있는 상황에서, 제1 카메라(730) 및 제2 카메라(740)에 의해 각각 촬영된 비디오 상 이미지는 오브젝트들(710, 720) 사이의 오클루전을 포함하고 있어 제1 오브젝트(710)의 표면에 위치한 별 모양이 제2 오브젝트(720)에 의해 가려서 보이지 않는 반면, 제3 카메라(750)에 의해 촬영된 비디오 상 이미지는 오브젝트들(710, 720) 사이의 오클루전을 포함하지 않아 제1 오브젝트(710)의 표면에 위치한 별 모양이 보이게 된다. 따라서, 3차원 좌표 맵 생성부(220)는 신뢰도가 높은 이미지를 획득하기 위하여 복수의 카메라들(730, 740, 750) 중 제3 카메라(750)를 선택하고, 제3 카메라(750)에 의해 현재 촬영되고 있는 이미지를 현재 이미지(410)로 설정하고, 현재 이미지(410)에 대한 3차원 좌표 맵(440)을 생성할 수 있다.As another example, a situation in which a plurality of cameras 730, 740, and 750 are photographing objects 710 and 720 as illustrated in FIG. 7 for explaining a case in which a plurality of cameras for shooting video are included. In, the video image captured by the first camera 730 and the second camera 740, respectively, includes occlusion between the objects 710 and 720, which is located on the surface of the first object 710. While the star shape is not visible because it is obscured by the second object 720, the image on the video captured by the third camera 750 does not include the occlusion between the objects 710 and 720, so the first object ( The star shape located on the surface of 710) is visible. Accordingly, the 3D coordinate map generation unit 220 selects the third camera 750 from among the plurality of cameras 730, 740, and 750 to obtain an image with high reliability, and is used by the third camera 750. The current image 410 may be set as the current image 410 and a 3D coordinate map 440 for the current image 410 may be generated.

이와 같이 일 실시예에 따른 비디오 인코딩 방법은, 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 비디오 상에서 촬영된 오브젝트의 움직임 또는 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득됨에 응답하여, 3차원 좌표 맵(440)을 점진적으로 계속적으로 업데이트해나감으로써, 후술되는 비디오 디코딩 방법에서 보다 정확한 현재 이미지의 3차원 모델을 재구성하도록 할 수 있으며, 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경이 없거나, 비디오 상에서 촬영된 오브젝트의 움직임이 존재하지 않거나, 이전 이미지(420)보다 신뢰도가 높은 현재 이미지(410)가 획득되지 않는 상황에서 단계들(S310 내지 S330)을 불필요하게 수행하지 않음으로써, 인코딩 복잡도와 인코딩 소모 전력을 낮출 수 있다.As described above, the video encoding method according to an embodiment responds to the change of the pose and the shooting angle of at least one camera, movement of an object photographed on a video, or obtaining a current image 410 with higher reliability than the previous image 420 Thus, by continuously updating the 3D coordinate map 440, it is possible to reconstruct a 3D model of the current image that is more accurate in a video decoding method described below, and at least one pose of the camera and a shooting angle By not performing the steps (S310 to S330) in a situation where there is no change, the motion of the object photographed on the video does not exist, or the current image 410 having a higher reliability than the previous image 420 is not acquired , Encoding complexity and encoding power consumption can be reduced.

도 8은 일 실시예에 따른 디코더의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 9는 일 실시예에 따른 디코더가 수행할 수 있는 비디오 디코딩 방법을 도시한 흐름도이며, 도 10은 일 실시예에 따른 비디오 디코딩 방법을 설명하기 위한 개념도이다.8 is a block diagram illustrating an example of components that a processor of a decoder according to an embodiment may include, and FIG. 9 is a flowchart illustrating a video decoding method that can be performed by a decoder according to an embodiment, 10 is a conceptual diagram illustrating a video decoding method according to an embodiment.

도 8 내지 10을 참조하면, 일 실시예에 따른 디코더(120)는 3차원 좌표 맵을 기반으로 현재 이미지의 3차원 모델에 대한 디코딩을 수행할 수 있다. 이하, 단계들(S910 내지 S930)로 수행되는 비디오 디코딩 방법은, 적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 특정 이미지(일례로, 비디오에 포함되는 이미지들 중 비디오 다코딩 방법이 수행되는 시점에 해당하는 이미지)가 3차원으로 표현된 3차원 객체 모델을 디코딩하는 것으로, 이하 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 특정 이미지를 현재 이미지(1010)로 기재한다. 또한, 현재 수행되고 있는 비디오 디코딩 방법 이전에 수행된 비디오 디코딩 방법의 대상이 된 특정 이미지를 이전 이미지(1020)로 기재한다. 비디오 디코딩 방법은 전술된 비디오 인코딩 방법이 수행됨에 응답하여 수행되기 때문에, 이하, 현재 이미지(1010)는 전술된 비디오 인코딩 방법에서의 현재 이미지(410)와 동일하게 재구성되는 이미지일 수 있으며, 이전 이미지(1020)는 이전에 수행된 비디오 디코딩 방법에 의해 비디오 인코딩 방법에서의 이전 이미지(420)와 동일하게 재구성된 이미지일 수 있다.8 to 10, the decoder 120 according to an embodiment may decode a 3D model of the current image based on the 3D coordinate map. Hereinafter, in the video decoding method performed in steps S910 to S930, a video encoding method of a specific image (for example, among images included in a video) among images included in a video captured through at least one camera The image corresponding to the time at which it is performed) decodes the 3D object model expressed in 3D, and a specific image that is a target of a video decoding method currently being performed is described as the current image 1010. Also, a specific image that is a target of the video decoding method performed before the currently performed video decoding method is described as the previous image 1020. Since the video decoding method is performed in response to the video encoding method described above being performed, the current image 1010 may be an image reconstructed the same as the current image 410 in the video encoding method described above. 1020 may be an image reconstructed in the same manner as the previous image 420 in the video encoding method by the previously performed video decoding method.

즉, 현재 이미지(1010)를 대상으로 수행되는 비디오 디코딩 방법은, 전술된 비디오 인코딩 방법에서 보낸 정보들을 디코딩하여 현재 이미지(1010)의 3차원 객체 모델을 재구성하는 것을 의미한다.That is, the video decoding method performed on the current image 1010 means reconstructing a three-dimensional object model of the current image 1010 by decoding information transmitted by the video encoding method described above.

보다 상세하게, 디코더(120)가 도 9 내지 10에 따른 비디오 디코딩 방법을 수행할 수 있도록 디코더(120)의 프로세서(122)는 구성요소로서 도 8에 도시된 바와 같이, 3차원 좌표 맵 유지부(810), 3차원 좌표 맵 증분 수신부(820) 및 3차원 좌표 맵 재구성부(830)를 포함할 수 있다. 실시예에 따라 프로세서(122)의 구성요소들은 선택적으로 프로세서(122)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(122)의 구성요소들은 프로세서(122)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.In more detail, the processor 122 of the decoder 120 is a component, as shown in FIG. 8, as a component, so that the decoder 120 can perform the video decoding method according to FIGS. 9 to 10. 810, a three-dimensional coordinate map increment receiving unit 820 and a three-dimensional coordinate map reconstruction unit 830. Depending on the embodiment, the components of the processor 122 may be selectively included or excluded from the processor 122. Further, according to an embodiment, the components of the processor 122 may be separated or merged to express the function of the processor 122.

단계(S910)에서 3차원 좌표 맵 유지부(810)는 이전 이미지(1020)(비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이미지)에 대한 3차원 좌표 맵(1030)을 저장 및 유지한다. 보다 상세하게, 3차원 좌표 맵 유지부(810)는 이전 이미지(1020)에 대한 디코딩이 수행되는 과정에서 3차원 좌표 맵 생성부(810)에 의해 생성된 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)을 메모리(111)에 저장 및 유지함으로써, 3차원 좌표 맵 재구성부(830)가 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)을 이용하도록 할 수 있다. 이하, 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)은 이전에 수행된 비디오 디코딩 방법에서 재구성된 이전 이미지(1020)의 3차원 좌표 맵(1030)을 의미하며, 전술된 비디오 인코딩 방법에서 생성된 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 동일한 것일 수 있다. 이러한 3차원 좌표 맵(1030)은 이전 이미지(1020)를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값(x, y 및 z의 좌표)을 포함하는 것이다. 이에 대한 상세한 설명은 도 2 내지 4를 참조하여 상술된 비디오 인코딩 방법에 기재된 바와 동일하므로 생략하기로 한다.In step (S910), the 3D coordinate map maintaining unit 810 is a 3D coordinate map 1030 for the previous image 1020 (an image targeted for a video decoding method previously performed among images included in the video). Store and maintain. In more detail, the 3D coordinate map maintaining unit 810 generates 3D coordinates for the previous image 1020 generated by the 3D coordinate map generation unit 810 in the process of decoding the previous image 1020. By storing and maintaining the map 1030 in the memory 111, the 3D coordinate map reconstruction unit 830 may use the 3D coordinate map 1030 for the previous image 1020. Hereinafter, the 3D coordinate map 1030 for the previous image 1020 means the 3D coordinate map 1030 of the previous image 1020 reconstructed from the previously performed video decoding method, and in the video encoding method described above, It may be the same as the 3D coordinate map 430 for the generated previous image 420. The three-dimensional coordinate map 1030 includes three-dimensional coordinate values (coordinates of x, y, and z) of points corresponding to each of all pixels constituting the previous image 1020. Detailed description of this will be omitted because it is the same as described in the video encoding method described above with reference to FIGS. 2 to 4.

단계(S920)에서 3차원 좌표 맵 증분 수신부(820)는 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)을 수신한다. 이하, 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)은 전술된 비디오 인코딩 방법에서 출력된 이전 이미지(420)에 대한 3차원 좌표 맵(430)과 현재 이미지(410)에 대한 3차원 좌표 맵(440) 사이의 증분(450)을 의미한다.In step S920, the 3D coordinate map increment receiving unit 820 receives an increment 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010. . Hereinafter, the increment 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010 is for the previous image 420 output from the video encoding method described above. It means the increment 450 between the 3D coordinate map 430 and the 3D coordinate map 440 for the current image 410.

단계(S930)에서 3차원 좌표 맵 재구성부(830)는 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)을 기초로, 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)을 업데이트하여 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 재구성한다. 증분(1040)은 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 차이를 나타내므로, 3차원 좌표 맵 재구성부(830)는 가산 유닛을 이용하여, 이전 이미지(1020)의 3차원 좌표 맵(1030)의 값들에 증분(1040)의 값들을 가산하여 현재 이미지(1010)의 3차원 좌표 맵(1050)의 값들을 계산할 수 있다.여기서, 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)은 이전 이미지(1020)에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 및 현재 이미지(1010)에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하므로, 3차원 좌표 맵 재구성부(830)가 증분(1040)을 기초로 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 재구성한다는 것은, 이전 이미지(1020)의 3차원 좌표 맵(1030)에 오브젝트 점유 정보의 변화를 반영하여 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 재구성한다는 것을 의미할 수 있다.In step S930, the 3D coordinate map reconstruction unit 830 is based on the increment 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010. , Update the 3D coordinate map 1030 for the previous image 1020 to reconstruct the 3D coordinate map 1050 for the current image 1010. Since the increment 1040 represents the difference between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010, the 3D coordinate map reconstruction unit 830 adds units Using, the values of the incremental 1040 may be added to the values of the 3D coordinate map 1030 of the previous image 1020 to calculate values of the 3D coordinate map 1050 of the current image 1010. , Incremental 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010 occupies an object in at least one voxel included in the previous image 1020 Since the data includes data representing a difference between information and object occupancy information in at least one voxel included in the current image 1010, the 3D coordinate map reconstruction unit 830 is based on the increment 1040 to display the current image 1010. Reconstructing the 3D coordinate map 1050 for) reflects a change in object occupancy information in the 3D coordinate map 1030 of the previous image 1020, thereby 3D coordinate map 1050 for the current image 1010 ).

만약, 인코더(110)로부터 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)이 인코딩되어 전송되는 경우, 3차원 좌표 맵 증분 수신부(820) 또는 3차원 좌표 맵 재구성부(830)에서 해당 정보를 디코딩함으로써, 설명된 3차원 좌표 맵 재구성부(830)의 동작이 수행될 수 있다.If the increment 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map for the current image 1010 is encoded and transmitted from the encoder 110, the 3D coordinate map By decoding the information in the incremental receiving unit 820 or the 3D coordinate map reconstructing unit 830, the operation of the described 3D coordinate map reconstructing unit 830 may be performed.

또한, 단계(S920)에서 3차원 좌표 맵 증분 수신부(820)가 증분(1040)과 함께 현재 이미지(1010)를 수신함으로써, 단계(S930)에서 3차원 좌표 맵 재구성부(830)는 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 이용하여, 현재 이미지(1010)에 대한 3차원 객체 모델을 재구성할 수 있다. 현재 이미지(1010)에 대한 3차원 객체 모델을 재구성하는 것에 대한 상세한 설명은 도 2 내지 4를 참조하여 상술된 비디오 인코딩 방법에서의 현재 이미지(430)에 대한 3차원 객체 모델을 생성하는 과정과 동일하므로 생략하기로 한다.In addition, in step S920, the 3D coordinate map reconstruction unit 830 receives the current image 1010 in step S930 by the 3D coordinate map increment receiving unit 820 receiving the current image 1010 together with the increment 1040. Using the 3D coordinate map 1050 for 1010), a 3D object model for the current image 1010 may be reconstructed. The detailed description of reconstructing the 3D object model for the current image 1010 is the same as the process of generating the 3D object model for the current image 430 in the video encoding method described above with reference to FIGS. 2 to 4. So it will be omitted.

또한, 인코더(110)에서 이전 이미지(1020)에 대한 3차원 좌표 맵(1030)과 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분(1040)을 전송하는 대신에, 이전 이미지(1020)에 대한 3차원 객체 모델과 현재 이미지(1010)에 대한 3차원 객체 모델 사이의 증분을 전송한 경우, 단계(S910)에서 3차원 좌표 맵 유지부(810)는 이전 이미지(1020)에 대한 3차원 객체 모델을 저장 및 유지할 수 있고, 단계(S930)에서 3차원 좌표 맵 재구성부(830)는 단계(S920)에서 3차원 좌표 맵 증분 수신부(820)가 이전 이미지(1020)에 대한 3차원 객체 모델과 현재 이미지(1010)에 대한 3차원 객체 모델 사이의 증분을 수신함에 응답하여, 이전 이미지(1020)에 대한 3차원 객체 모델과 현재 이미지(1010)에 대한 3차원 객체 모델 사이의 증분을 기초로, 이전 이미지(1020)에 대한 3차원 객체 모델을 업데이트하여 현재 이미지(1010)에 대한 3차원 객체 모델을 재구성할 수 있다. 이러한 경우는, 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 재구성하는 과정을 생략한 채, 현재 이미지(1010)에 대한 3차원 객체 모델을 집적적으로 재구성할 수 있으므로, 디코딩 복잡도와 디코딩 소모 전력을 낮출 수 있다.Also, instead of transmitting the increment 1040 between the three-dimensional coordinate map 1030 for the previous image 1020 and the three-dimensional coordinate map for the current image 1010 from the encoder 110, the previous image 1020 When the increment between the 3D object model for and the 3D object model for the current image 1010 is transmitted, the 3D coordinate map maintaining unit 810 in step S910 3D for the previous image 1020 The object model may be stored and maintained, and in step S930, the 3D coordinate map reconstruction unit 830 in step S920, the 3D coordinate map increment receiving unit 820 performs a 3D object model for the previous image 1020. And in response to receiving the increment between the 3D object model for the current image 1010, based on the increment between the 3D object model for the previous image 1020 and the 3D object model for the current image 1010. , By updating the 3D object model for the previous image 1020, the 3D object model for the current image 1010 may be reconstructed. In this case, since the process of reconstructing the 3D coordinate map 1050 for the current image 1010 is omitted, the 3D object model for the current image 1010 can be reconstructed collectively, and thus the decoding complexity and Decoding power consumption can be lowered.

이상 설명된 단계들(S910 내지 S930)로 수행되는 비디오 디코딩 방법은, 도 2 내지 4를 참조하여 설명된 비디오 인코딩 방법에서 전송한 정보들(이전 이미지(1020)에 대한 3차원 좌표 맵(1030) 및 현재 이미지(1010)에 대한 3차원 좌표 맵 사이의 증분)을 디코딩하여 현재 이미지(1010)의 3차원 좌표 맵(1050) 또는 현재 이미지(1010)의 3차원 객체 모델을 재구성하는 것이다.The video decoding method performed in the above-described steps (S910 to S930) includes information transmitted by the video encoding method described with reference to FIGS. 2 to 4 (three-dimensional coordinate map 1030 for the previous image 1020). And decoding the 3D object model of the current image 1010 or the 3D coordinate map 1050 of the current image 1010 by decoding the increment between the 3D coordinate maps of the current image 1010.

만약, 이전 이미지(1020)에 대한 3차원 좌표 맵(1030) 및 현재 이미지(1010)에 대한 3차원 좌표 맵(1050) 사이의 증분(1040)의 값이 0인 경우에는, 굳이 이전 이미지(1020)에 대한 3차원 좌표 맵(1030) 및 현재 이미지(1010)에 대한 3차원 좌표 맵(1050) 사이의 증분(1040)이 수신될 필요가 없다. 따라서, 비디오 디코딩 방법은 이전 이미지(1020)에 대한 3차원 좌표 맵과 현재 이미지(1010)에 대한 3차원 좌표 맵(1030) 사이의 차이가 발생되어 인코더(110)에서 현재 이미지(1010)에 대한 3차원 좌표 맵(1030)을 생성하는 있는 경우에만 선택적으로 수행될 수 있다.If the value of the increment 1040 between the 3D coordinate map 1030 for the previous image 1020 and the 3D coordinate map 1050 for the current image 1010 is 0, the previous image 1020 The increment 1040 between the 3D coordinate map 1030 for) and the 3D coordinate map 1050 for the current image 1010 need not be received. Therefore, in the video decoding method, a difference between the 3D coordinate map for the previous image 1020 and the 3D coordinate map 1030 for the current image 1010 occurs, and the encoder 110 displays the current image 1010. It can be selectively performed only when the 3D coordinate map 1030 is generated.

즉, 비디오 디코딩 방법은 인코더(110)가 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 비디오 상에서 촬영된 오브젝트의 움직임 또는 이전 이미지(1020)보다 신뢰도가 높은 현재 이미지(1010)가 획득됨에 응답하여 현재 이미지(1010)에 대한 3차원 좌표 맵(1050)을 생성하는 경우에, 단계들(S910 내지 S930)을 수행하는 것을 특징으로 한다. That is, in the video decoding method, in response to the encoder 110 acquiring the current image 1010 having a higher reliability than the previous image 1020 or the movement of an object photographed on the video, the change of the pose and the shooting angle of at least one camera, In the case of generating the 3D coordinate map 1050 for the current image 1010, it is characterized in that steps S910 to S930 are performed.

이처럼, 일 실시예에 따른 비디오 디코딩 방법은, 인코더(110)가 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 비디오 상에서 촬영된 오브젝트의 움직임 또는 이전 이미지(1020)보다 신뢰도가 높은 현재 이미지(1010)가 획득됨에 응답하여 점진적으로 계속적으로 업데이트한 3차원 좌표 맵(1050)을 이용함으로써, 보다 정확한 현재 이미지(1010)의 3차원 객체 모델을 재구성할 수 있으며, 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경이 없거나, 비디오 상에서 촬영된 오브젝트의 움직임이 존재하지 않거나, 이전 이미지(1020)보다 신뢰도가 높은 현재 이미지(1010)가 획득되지 않는 상황에서 단계들(S910 내지 S930)을 불필요하게 수행하지 않음으로써, 디코딩 복잡도와 디코딩 소모 전력을 낮출 수 있다.As such, in the video decoding method according to an embodiment, the encoder 110 may change the pose and the shooting angle of at least one camera, the movement of an object captured on a video, or the current image 1010 with higher reliability than the previous image 1020. ), the 3D object model of the more accurate current image 1010 can be reconstructed by using the progressively updated 3D coordinate map 1050 in response to being acquired, and the pose and shooting angle of at least one camera The steps S910 to S930 are not unnecessarily performed in a situation in which there is no change, no motion of the object photographed on the video exists, or the current image 1010 with higher reliability than the previous image 1020 is not acquired. By doing so, decoding complexity and decoding power consumption can be reduced.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the devices and components described in the embodiments may include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor (micro signal processor), a microcomputer, a field programmable gate array (FPGA), and a programmable programmable logic array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions. The processing device may perform an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be embodied in any type of machine, component, physical device, computer storage medium, or device in order to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may continuously store a program executable on a computer or may be temporarily stored for execution or download. In addition, the medium may be various recording means or storage means in a form of a single or several hardware combinations, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. In addition, examples of other media may include an application store for distributing applications or a recording medium or storage medium managed by a site, server, or the like that supplies or distributes various software.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (18)

인코더에 의해 수행되는 비디오 인코딩 방법에 있어서,
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계;
상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분(Increment)을 계산하여 출력하는 단계
를 포함하고,
상기 현재 이미지에 대한 3차원 좌표 맵은,
상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 생성되는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
In the video encoding method performed by the encoder,
Storing and maintaining a three-dimensional coordinate map of a previous image that is a target of a previously performed video encoding method among images included in a video captured by at least one camera;
Generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And
Calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image
Including,
The three-dimensional coordinate map for the current image,
Change of the pose and shooting angle of the at least one camera, movement of an object photographed on the video, or reliability than the previous image-the reliability is a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image Selectively generated in response to the acquisition of the current image, which indicates a high degree of comparison based on a preset expected value.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image Video encoding method comprising the data representing the difference.
제1항에 있어서,
상기 3차원 좌표 맵은,
상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 포함하는 것
을 특징으로 하는 비디오 인코딩 방법.
According to claim 1,
The three-dimensional coordinate map,
Including a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image
Video encoding method characterized in that.
제1항에 있어서,
상기 3차원 좌표 맵을 생성하는 단계는,
SLAM(Simultaneous Localization and Mapping) 기법을 이용하여 상기 3차원 좌표 맵을 생성하는 단계
를 포함하는 비디오 인코딩 방법.
According to claim 1,
Generating the three-dimensional coordinate map,
Generating the 3D coordinate map using SLAM (Simultaneous Localization and Mapping)
Video encoding method comprising a.
제1항에 있어서,
상기 신뢰도는,
상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 상기 이전 이미지 또는 상기 현재 이미지 내에 오클루전(Occlusion)이 포함되는지 여부에 기초하여 높아지거나 낮아지는, 비디오 인코딩 방법.
According to claim 1,
The reliability is
Higher based on whether a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image exists or whether occlusion is included in the previous image or the current image Or lower, video encoding method.
삭제delete 제1항에 있어서,
상기 증분을 계산하여 출력하는 단계는,
상기 현재 이미지에 대한 3차원 좌표 맵을 이용하여, 상기 현재 이미지에 대한 3차원 객체 모델을 생성하는 단계; 및
상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 계산하여 출력하는 단계
를 더 포함하는 비디오 인코딩 방법.
According to claim 1,
The step of calculating and outputting the increment,
Generating a 3D object model for the current image using a 3D coordinate map for the current image; And
Calculating and outputting an increment between a 3D object model for the previous image and a 3D object model for the current image
Video encoding method further comprising.
제6항에 있어서,
상기 현재 이미지에 대한 3차원 객체 모델을 생성하는 단계는,
프록시 지오메트리를 형성하기 위해 상기 현재 이미지에 대한 3차원 좌표 맵에 포함되는 포인트들을 상호 접속하는 단계; 및
상기 현재 이미지에 대한 3차원 객체 모델을 형성하기 위해 상기 프록시 지오메트리에 상기 현재 이미지를 텍스처 매핑하는 단계
를 포함하는 비디오 인코딩 방법.
The method of claim 6,
Generating a 3D object model for the current image,
Interconnecting points included in a three-dimensional coordinate map for the current image to form a proxy geometry; And
Texture mapping the current image to the proxy geometry to form a three-dimensional object model for the current image.
Video encoding method comprising a.
제1항에 있어서,
상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계는,
상기 현재 이미지를 구성하는 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 획득하는 단계; 및
상기 3차원 좌표 값을 WCS(World Coordinate System)으로 정규화하는 단계
를 포함하는 비디오 인코딩 방법,
According to claim 1,
Generating a three-dimensional coordinate map for the current image,
Obtaining a 3D coordinate value of a point corresponding to each of the pixels constituting the current image; And
Normalizing the three-dimensional coordinate value to WCS (World Coordinate System)
Video encoding method comprising,
인코더를 구성하는 컴퓨터 시스템과 결합되어 비디오 인코딩 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
상기 비디오 인코딩 방법은,
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계;
상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는 단계; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 계산하여 출력하는 단계
를 포함하고,
상기 현재 이미지에 대한 3차원 좌표 맵은,
상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 생성되는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 기록 매체에 기록된 컴퓨터 프로그램.
A computer program recorded on a computer-readable recording medium for executing a video encoding method in combination with a computer system constituting an encoder, comprising:
The video encoding method,
Storing and maintaining a three-dimensional coordinate map of a previous image that is a target of a previously performed video encoding method among images included in a video captured by at least one camera;
Generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And
Calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image
Including,
The three-dimensional coordinate map for the current image,
Change of the pose and shooting angle of the at least one camera, movement of an object photographed on the video, or reliability than the previous image-the reliability is a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image Selectively generated in response to the acquisition of the current image, which indicates a high degree of comparison based on a preset expected value.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image A computer program recorded on a recording medium comprising data representing differences.
비디오 인코딩 방법을 수행하는 인코더에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 인코딩 방법의 대상이 되는 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는, 3차원 좌표 맵 유지부;
상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 인코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵을 생성하는, 3차원 좌표 맵 생성부; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 계산하여 출력하는 3차원 좌표 맵 증분 출력부
를 포함하고,
상기 현재 이미지에 대한 3차원 좌표 맵은,
상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 생성되는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 인코더.
In the encoder for performing a video encoding method,
At least one processor implemented to execute the computer readable instructions
Including,
The at least one processor
A 3D coordinate map holding unit for storing and maintaining a 3D coordinate map of a previous image that is a target of a previously performed video encoding method among images included in a video captured by at least one camera;
A 3D coordinate map generating unit generating a 3D coordinate map of a current image that is a target of a video encoding method currently being performed among images included in the video; And
A 3D coordinate map incremental output unit for calculating and outputting an increment between a 3D coordinate map for the previous image and a 3D coordinate map for the current image
Including,
The three-dimensional coordinate map for the current image,
Change of the pose and shooting angle of the at least one camera, movement of an object photographed on the video, or reliability than the previous image-the reliability is a 3D coordinate value of a pixel for a feature point in each of the previous image or the current image Selectively generated in response to the acquisition of the current image, which indicates a high degree of comparison based on a preset expected value.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image Encoder, characterized in that it comprises data indicating the difference.
디코더에 의해 수행되는 비디오 디코딩 방법에 있어서,
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계;
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는 단계; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계
를 포함하고,
상기 증분을 수신하는 단계는,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 수행되는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
In the video decoding method performed by the decoder,
Storing and maintaining a three-dimensional coordinate map of a previous image that is a target of a previously performed video decoding method among images included in a video captured by at least one camera;
Receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video; And
Based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image, updating the 3D coordinate map for the previous image to reconstruct the 3D coordinate map for the current image step
Including,
The step of receiving the increment,
In an encoder that transmits an increment between a three-dimensional coordinate map for the previous image and a three-dimensional coordinate map for the current image, the at least one camera poses and changes the shooting angle, the motion of an object captured on the video, or Respond to the acquisition of the current image having a higher reliability than the previous image, wherein the reliability represents the degree to which the three-dimensional coordinate value of a pixel for a feature point in each of the previous image or the current image is compared based on a preset expected value. Therefore, it is selectively performed when generating a 3D coordinate map for the current image.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image Video decoding method comprising the data representing the difference.
제11항에 있어서,
상기 3차원 좌표 맵은,
상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값을 포함하는 것
을 특징으로 하는 비디오 디코딩 방법.
The method of claim 11,
The three-dimensional coordinate map,
Including a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image
Video decoding method characterized in that.
제11항에 있어서,
상기 증분을 수신하는 단계는,
상기 증분과 함께 상기 현재 이미지를 수신하는 단계
를 포함하고,
상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계는,
상기 현재 이미지에 대한 3차원 좌표 맵을 이용하여, 상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계
를 더 포함하는 비디오 디코딩 방법.
The method of claim 11,
The step of receiving the increment,
Receiving the current image with the increment
Including,
Reconstructing the three-dimensional coordinate map for the current image,
Reconstructing a 3D object model for the current image using a 3D coordinate map for the current image
Video decoding method further comprising.
제13항에 있어서,
상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계는,
프록시 지오메트리를 형성하기 위해 상기 현재 이미지에 대한 3차원 좌표 맵에 포함되는 포인트들을 상호 접속하는 단계; 및
상기 현재 이미지에 대한 3차원 객체 모델을 형성하기 위해 상기 프록시 지오메트리에 상기 현재 이미지를 텍스처 매핑하는 단계
를 포함하는 비디오 디코딩 방법.
The method of claim 13,
Reconstructing the three-dimensional object model for the current image,
Interconnecting points included in a three-dimensional coordinate map for the current image to form a proxy geometry; And
Texture mapping the current image to the proxy geometry to form a three-dimensional object model for the current image.
Video decoding method comprising a.
제11항에 있어서,
상기 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계는,
상기 이전 이미지에 대한 3차원 객체 모델을 저장 및 유지하는 단계
를 포함하고,
상기 증분을 수신하는 단계는,
상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 수신하는 단계
를 포함하며,
상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계는,
상기 이전 이미지에 대한 3차원 객체 모델과 상기 현재 이미지에 대한 3차원 객체 모델 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 객체 모델을 업데이트하여 상기 현재 이미지에 대한 3차원 객체 모델을 재구성하는 단계
를 포함하는 비디오 디코딩 방법.
The method of claim 11,
The step of storing and maintaining a 3D coordinate map of the previous image is
Storing and maintaining a 3D object model for the previous image
Including,
The step of receiving the increment,
Receiving an increment between a 3D object model for the previous image and a 3D object model for the current image
It includes,
Reconstructing the three-dimensional coordinate map for the current image,
Reconfiguring the 3D object model for the current image by updating the 3D object model for the previous image based on the increment between the 3D object model for the previous image and the 3D object model for the current image step
Video decoding method comprising a.
제11항에 있어서,
상기 신뢰도는,
상기 이전 이미지 또는 상기 현재 이미지를 구성하는 모든 픽셀들 각각에 대응하는 포인트의 3차원 좌표 값이 존재하는지 여부 또는 상기 이전 이미지 또는 상기 현재 이미지 내에 오클루전(Occlusion)이 포함되는지 여부에 기초하여 높아지거나 낮아지는, 비디오 디코딩 방법.
The method of claim 11,
The reliability is
Higher based on whether a 3D coordinate value of a point corresponding to each of the pixels constituting the previous image or the current image exists or whether occlusion is included in the previous image or the current image Or lower, video decoding method.
디코더를 구성하는 컴퓨터 시스템과 결합되어 비디오 디코딩 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
상기 비디오 디코딩 방법은,
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는 단계;
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는 단계; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 재구성하는 단계
를 포함하고,
상기 증분을 수신하는 단계는,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 수행되는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 기록 매체에 기록된 컴퓨터 프로그램.
A computer program recorded on a computer-readable recording medium for executing a video decoding method in combination with a computer system constituting a decoder, comprising:
The video decoding method,
Storing and maintaining a three-dimensional coordinate map of a previous image that is a target of a previously performed video decoding method among images included in a video captured by at least one camera;
Receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video; And
Based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image, updating the 3D coordinate map for the previous image to reconstruct the 3D coordinate map for the current image step
Including,
The step of receiving the increment,
In an encoder that transmits an increment between a three-dimensional coordinate map for the previous image and a three-dimensional coordinate map for the current image, the at least one camera poses and changes the shooting angle, the motion of an object captured on the video, or Respond to the acquisition of the current image having a higher reliability than the previous image, wherein the reliability represents the degree to which the three-dimensional coordinate value of a pixel for a feature point in each of the previous image or the current image is compared based on a preset expected value. Therefore, it is selectively performed when generating a 3D coordinate map for the current image.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image A computer program recorded on a recording medium comprising data representing differences.
비디오 디코딩 방법을 수행하는 디코더에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
적어도 하나의 카메라를 통해 촬영된 비디오에 포함되는 이미지들 중 이전에 수행된 비디오 디코딩 방법의 대상이 된 이전 이미지에 대한 3차원 좌표 맵을 저장 및 유지하는, 3차원 좌표 맵 유지부;
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 비디오에 포함되는 이미지들 중 현재 수행되고 있는 비디오 디코딩 방법의 대상이 되는 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 수신하는, 3차원 좌표 맵 증분 수신부; 및
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 기초로, 상기 이전 이미지에 대한 3차원 좌표 맵을 업데이트하여 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는, 3차원 좌표 맵 재구성부
를 포함하고,
상기 3차원 좌표 맵 증분 수신부는,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분을 전송하는 인코더에서, 상기 적어도 하나의 카메라의 포즈 및 촬영 각도의 변경, 상기 비디오 상에서 촬영된 오브젝트의 움직임 또는 상기 이전 이미지보다 신뢰도-상기 신뢰도는 상기 이전 이미지 또는 상기 현재 이미지 각각에서 특징점에 대한 픽셀의 3차원 좌표 값이 기 설정된 기대 값을 기준으로 비교된 정도를 나타냄-가 높은 상기 현재 이미지가 획득됨에 응답하여, 선택적으로 상기 현재 이미지에 대한 3차원 좌표 맵을 생성하는 경우에 동작하는 것
을 특징으로 하며,
상기 이전 이미지에 대한 3차원 좌표 맵과 상기 현재 이미지에 대한 3차원 좌표 맵 사이의 증분은,
상기 이전 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀(Voxel)에서의 오브젝트 점유(Object occupancy) 정보 및 상기 현재 이미지의 3차원 객체 모델에 포함되는 적어도 하나의 복셀에서의 오브젝트 점유 정보 사이의 차이를 나타내는 데이터를 포함하는 것을 특징으로 하는 디코더.
In the decoder for performing the video decoding method,
At least one processor implemented to execute the computer readable instructions
Including,
The at least one processor,
A 3D coordinate map storage unit for storing and maintaining a 3D coordinate map of a previous image that is a target of a previously performed video decoding method among images included in a video captured by at least one camera;
A 3D coordinate map increment receiving unit for receiving an increment between a 3D coordinate map for the previous image and a 3D coordinate map for a current image that is a target of a video decoding method currently being performed among images included in the video ; And
Based on the increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image, updating the 3D coordinate map for the previous image to generate a 3D coordinate map for the current image , 3D coordinate map reconstruction unit
Including,
The three-dimensional coordinate map incremental receiver,
In an encoder that transmits an increment between a three-dimensional coordinate map for the previous image and a three-dimensional coordinate map for the current image, the at least one camera poses and changes the shooting angle, the motion of an object captured on the video, or Respond to the acquisition of the current image having a higher reliability than the previous image, wherein the reliability represents the degree to which the three-dimensional coordinate value of a pixel for a feature point in each of the previous image or the current image is compared based on a preset expected value. By doing so, it selectively operates when generating a 3D coordinate map for the current image.
Characterized by,
The increment between the 3D coordinate map for the previous image and the 3D coordinate map for the current image is
Between object occupancy information in at least one voxel included in the 3D object model of the previous image and object occupancy information in at least one voxel included in the 3D object model of the current image A decoder comprising data representing differences.
KR1020180091940A 2018-08-07 2018-08-07 Real time three dimension video encoding and decoding method KR102131502B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180091940A KR102131502B1 (en) 2018-08-07 2018-08-07 Real time three dimension video encoding and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180091940A KR102131502B1 (en) 2018-08-07 2018-08-07 Real time three dimension video encoding and decoding method

Publications (2)

Publication Number Publication Date
KR20200016626A KR20200016626A (en) 2020-02-17
KR102131502B1 true KR102131502B1 (en) 2020-07-07

Family

ID=69670602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180091940A KR102131502B1 (en) 2018-08-07 2018-08-07 Real time three dimension video encoding and decoding method

Country Status (1)

Country Link
KR (1) KR102131502B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2013137458A (en) * 2011-02-18 2015-02-20 Сони Корпорейшн IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
KR20180087944A (en) * 2017-01-26 2018-08-03 삼성전자주식회사 Method and apparatus for stereo matching

Also Published As

Publication number Publication date
KR20200016626A (en) 2020-02-17

Similar Documents

Publication Publication Date Title
KR102402494B1 (en) Motion compensation of geometric information
JP7277372B2 (en) 3D model encoding device, 3D model decoding device, 3D model encoding method, and 3D model decoding method
KR102126610B1 (en) Simultaneous localization and mapping for video coding
EP3643059B1 (en) Processing of 3d image information based on texture maps and meshes
US9648346B2 (en) Multi-view video compression and streaming based on viewpoints of remote viewer
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
US8351685B2 (en) Device and method for estimating depth map, and method for generating intermediate image and method for encoding multi-view video using the same
US20240137561A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
KR20130036357A (en) Moving image distribution server, moving image reproduction apparatus, control method, program, and recording medium
KR102546358B1 (en) Apparatus and method for generating a tiled three-dimensional image representation of a scene
US20190236809A1 (en) Multiple mesh encoding using motion tracking data of objects
CN111602403B (en) Apparatus and method for generating image data bit stream
KR20200078666A (en) Method and apparatus for processing 3D image
KR102525030B1 (en) Apparatus and method for generating point cloud
US20210019928A1 (en) Techniques for feature-based neural rendering
US11825066B2 (en) Video reproduction apparatus, reproduction method, and program
KR102131502B1 (en) Real time three dimension video encoding and decoding method
JP5906165B2 (en) Virtual viewpoint image composition device, virtual viewpoint image composition method, and virtual viewpoint image composition program
KR20110060180A (en) Method and apparatus for producing 3d models by interactively selecting interested objects
EP4372420A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN116342831A (en) Three-dimensional scene reconstruction method, three-dimensional scene reconstruction device, computer equipment and storage medium
KR20180095061A (en) Method and apparatus for computing a 3D density map associated with a 3D scene
WO2015177183A1 (en) Method and apparatus for selection of reliable points for 3d modeling
US20240233092A1 (en) Image processing method and image processing device based on neural network
US20230316581A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant