KR20230002802A - 멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들 - Google Patents

멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들 Download PDF

Info

Publication number
KR20230002802A
KR20230002802A KR1020227040112A KR20227040112A KR20230002802A KR 20230002802 A KR20230002802 A KR 20230002802A KR 1020227040112 A KR1020227040112 A KR 1020227040112A KR 20227040112 A KR20227040112 A KR 20227040112A KR 20230002802 A KR20230002802 A KR 20230002802A
Authority
KR
South Korea
Prior art keywords
patch
transform
data stream
decoding
atlas
Prior art date
Application number
KR1020227040112A
Other languages
English (en)
Inventor
펠릭스 앙리
조엘 정
Original Assignee
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오렌지 filed Critical 오렌지
Publication of KR20230002802A publication Critical patent/KR20230002802A/ko

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/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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

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

본 발명은, 멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 방법 및 멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법에 관한 것이다. 코딩된 데이터 스트림은 적어도 하나의 아틀라스를 나타내는 코딩된 데이터를 포함하고, 상기 적어도 하나의 아틀라스는 적어도 하나의 패치를 포함하는 이미지에 대응하고, 상기 적어도 하나의 패치는 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터 추출된 픽셀들의 세트에 대응하고, 상기 뷰는 상기 코딩된 데이터 스트림에 코딩되지 않는다. 디코딩하기 위한 방법은, 특히, 상기 코딩된 데이터 스트림으로부터, 상기 적어도 하나의 패치를 디코딩하는 것을 포함하여, 상기 적어도 하나의 아틀라스를 디코딩하는 단계, 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 디코딩된 패치에 어느 변환이 적용되어야 하는지를 결정하는 단계 ―상기 변환은 패치의 적어도 하나의 오버샘플링 또는 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―, 및 결정된 변환을 상기 디코딩된 패치에 적용하는 단계를 포함한다.

Description

멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들
본 발명은 하나 이상의 카메라들에 의해 캡처된 장면(scene)을 나타내는 몰입형 비디오(immersive video)들에 관한 것이다. 더 구체적으로, 본 발명은 그러한 비디오들의 코딩 및 디코딩에 관한 것이다.
몰입형 비디오 맥락에서, 즉, 뷰어(viewer)가 장면에 몰입된 느낌을 갖는 경우, 장면은 통상적으로, 도 1에 예시된 바와 같이 카메라들의 세트에 의해 캡처된다. 이러한 카메라들은 타입 2D(도 1의 카메라들(C1, C2, C3, C4)) 또는 타입 360-즉, 카메라 주위의 360도 전체 장면을 캡처함-(도 1의 카메라(C5))일 수 있다.
이러한 캡처된 뷰들 모두는 통상적으로 코딩된 다음 뷰어의 단말에 의해 디코딩된다. 그러나, 충분한 품질의 경험 및 그에 따라 뷰어에게 디스플레이되는 장면에서의 시각적 품질 및 우수한 몰입을 제공하기 위해서, 캡처된 뷰들만을 디스플레이하는 것은 불충분하다.
장면에서의 몰입감을 개선하기 위해서, 보통, 중간 뷰들로 지칭되는 하나 이상의 뷰들이 디코딩된 뷰들로부터 계산된다.
이러한 중간 뷰들은 뷰 합성 알고리즘(view synthesis algorithm)에 의해 계산될 수 있다.
통상적으로, 예를 들어, 현재 표준화되고 있는 MIV(Metadata for Immersive Video) 시스템에서, 모든 오리지널 뷰(original view)들, 즉, 카메라들에 의해 캡처된 뷰들이 디코더에 송신되는 것은 아니다. "프루닝(pruning)"으로 또한 지칭되는, 중간 뷰포인트(viewpoint)를 합성하는 데 사용될 수 있는 오리지널 뷰들 중 적어도 일부로부터의 데이터의 선택이 이루어진다.
도 2는 디코더 측에서 중간 뷰들을 합성하기 위해 멀티-뷰 비디오의 그러한 데이터 선택을 사용하는 코딩-디코딩 시스템의 예를 예시한다.
이러한 방법에 따르면, 하나 이상의 기본 뷰(basic view)들(도 2의 Tb, Db)이 2D 인코더, 예를 들어, HEVC 인코더에 의해 또는 멀티-뷰 인코더에 의해 코딩된다.
다른 뷰들(Ts, Ds)은 이러한 뷰들 각각으로부터 특정 존들을 추출하도록 프로세싱된다. 이하에서 패치(patch)들로 또한 지칭되는, 추출된 존들은 아틀라스(atlase)들로 지칭되는 이미지들에 수집된다. 아틀라스들은 예를 들어, 종래의 2D 비디오 인코더, 예를 들어 HEVC 인코더에 의해 코딩된다. 디코더 측에서, 아틀라스들이 디코딩되어, 디코딩된 패치들을 뷰 합성 알고리즘에 제공하여 기본 뷰들 및 디코딩된 패치들로부터 중간 뷰들을 생성한다. 전체적으로, 패치들은 동일한 존이 다른 뷰포인트로부터 송신될 수 있게 한다. 특히, 패치들은 폐색(occlusion)들, 즉, 주어진 뷰로부터 보이지 않는 장면의 부분들의 송신을 가능하게 한다.
자신의 레퍼런스(reference) 구현("Test Model for Immersive Video"의 경우 TMIV)의 MIV 시스템(MPEG-I 파트 12)은 패치들의 세트에 의해 형성되는 아틀라스들을 생성한다.
도 3은, 뷰들(V0, V1, V2)로부터 패치들(Patch2, Patch5, Patch8, Patch3, Patch7)을 추출하고, 연관된 아틀라스들, 예를 들어 2 개의 아틀라스들(A0 및 A1)을 생성하는 예를 도시한다. 이러한 아틀라스들(A0 및 A1)은 각각 텍스처 이미지(texture image)(T0, T1) 및 대응하는 깊이 맵(depth map)(D0, D1)을 포함한다. 아틀라스(A0)는 텍스처(T0) 및 깊이(D0)를 갖고, 아틀라스(A1)는 텍스처(T1) 및 깊이(D1)를 갖는다.
도 2에서 설명된 바와 같이, 패치들은 이미지들로 수집되고, 종래의 2D 비디오 인코더에 의해 코딩된다. 추출된 패치들의 여분의 시그널링 및 코딩 비용들을 회피하기 위해서, 아틀라스들에서의 패치들의 최적의 어레인지먼트(arrangement)를 가질 필요가 있다. 또한, 멀티-뷰 비디오의 뷰들을 재구성하기 위해 디코더에 의해 프로세싱할 많은 양의 정보가 주어지면, 그러한 패치들을 압축하는 비용뿐만 아니라 디코더가 프로세싱할 필요가 있는 픽셀들의 수를 감소시킬 필요가 있다. 실제로, 대부분의 애플리케이션들에서, 그러한 비디오들을 플레이하기 위한 디바이스들은 그러한 비디오들을 코딩하기 위한 디바이스들보다 더 제한된 자원들을 갖는다.
따라서, 선행 기술을 개선할 필요가 있다.
본 발명은 현재의 기술(the state of the art)을 개선한다. 이를 위해, 본 발명은 멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법에 관한 것이며, 상기 코딩된 데이터 스트림은 적어도 하나의 아틀라스를 나타내는 코딩된 데이터를 포함하고,
상기 적어도 하나의 아틀라스는 적어도 하나의 패치를 포함하는 이미지에 대응하고,
상기 적어도 하나의 패치는 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터 추출된 픽셀들의 세트에 대응하고,
상기 뷰는 상기 코딩된 데이터 스트림에 코딩되지 않는다. 디코딩 방법은,
- 상기 코딩된 데이터 스트림으로부터, 상기 적어도 하나의 패치를 디코딩하는 것을 포함하여, 상기 적어도 하나의 아틀라스를 디코딩하는 단계,
- 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 디코딩된 패치에 어느 변환이 적용되어야 하는지를 결정하는 단계 ―상기 변환은 패치의 적어도 하나의 오버샘플링(oversampling) 또는 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―, 및
- 결정된 변환을 상기 디코딩된 패치에 적용하는 단계를 포함한다.
상관적으로, 본 발명은 또한, 멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 방법에 관한 것이며, 코딩 방법은,
- 상기 데이터 스트림에 코딩되지 않은, 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터, 상기 컴포넌트의 픽셀들의 세트에 대응하는 적어도 하나의 패치를 추출하는 단계,
- 상기 적어도 하나의 추출된 패치에 대해, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 패치에 어느 변환이 적용되어야 하는지를 결정하는 단계 ―상기 변환은 패치의 적어도 하나의 서브샘플링(sub-sampling) 또는 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―,
- 결정된 변환을 상기 적어도 하나의 패치에 적용하는 단계, 및
- 상기 데이터 스트림에 적어도 하나의 아틀라스를 코딩하는 단계를 포함하며, 상기 적어도 하나의 아틀라스는, 적어도, 상기 적어도 하나의 패치를 포함하는 이미지에 대응한다.
따라서, 본 발명 덕분에, 디코딩된 아틀라스의 어느 패치들이 재구성 동안 변환되어야 하는지를 식별하는 것이 가능하다. 그러한 변환은 아틀라스의 코딩 동안 적용된 변환의 역변환(inverse transformation)에 대응한다.
본 발명은 또한, 아틀라스의 패치들에 변환들을 적용할 수 있고, 이 변환들은 패치마다 상이하거나, 또는 상이한 파라미터들을 가질 수 있다.
따라서, 아틀라스에서의 패치들의 어레인지먼트(arrangement)는 압축을 위해 최적화된다. 실제로, 아틀라스의 패치들에 사용되는 변환들은, 한편으로, 아틀라스 이미지 내에 패치들을 배열하기 위해 회전, 서브샘플링 및 코딩과 같은 변환들을 사용함으로써, 아틀라스의 픽셀들의 점유 레이트(occupancy rate)를 최적화할 수 있다.
다른 한편으로, 변환들은 특히 이러한 패치들의 픽셀 값들을 수정함으로써, 예를 들어, 픽셀들의 동적 범위를 감소시킴으로써, 더 적은 수의 픽셀들을 코딩하는 것으로 이어지는 서브샘플링에 의해, 또는 아틀라스의 이미지에서의 패치들의 최적의 어레인지먼트를 사용하여 코딩할 가능한 가장 적은 수의 픽셀들이 획득될 수 있게 함으로써, 패치들을 압축하는 비용을 최적화할 수 있다. 아틀라스의 픽셀들의 점유 레이트의 감소는 또한, 디코더에 의해 프로세싱될 픽셀들의 레이트를 감소시키고, 따라서 디코딩의 복잡성을 감소시킨다.
본 발명의 특정 실시예에 따르면, 상기 적어도 하나의 패치에 대해, 상기 코딩된 데이터 스트림으로부터 디코딩된 적어도 하나의 신택스 엘리먼트(syntax element)로부터, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부가 결정된다. 본 발명의 이러한 특정 실시예에 따르면, 신택스 엘리먼트는, 디코딩된 패치에 변환이 적용되어야 하는지 여부 및 디코딩된 패치에 어느 변환이 적용되어야 하는지를 표시하기 위해 데이터 스트림에 명시적으로 코딩된다.
본 발명의 다른 특정 실시예에 따르면, 상기 적어도 하나의 디코딩된 신택스 엘리먼트는, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부를 표시하는 적어도 하나의 표시자를 포함하고, 만약 표시자가 상기 적어도 하나의 패치에 변환이 적용되어야 함을 표시하면, 상기 적어도 하나의 신택스 엘리먼트는 선택적으로 상기 변환의 적어도 하나의 파라미터를 포함한다. 본 발명의 이러한 특정 실시예에 따르면, 패치에 적용될 변환은, 패치에 변환이 적용되어야 하는지 여부, 그리고 포지티브(positive)의 경우, 어쩌면, 적용할 변환의 파라미터 또는 파라미터들을 표시하는 표시자의 형태로 코딩된다. 예를 들어, 이진 표시자는, 패치에 변환이 적용되어야 하는지 여부를 표시할 수 있고, 만약 그렇다면, 어느 변환이 사용되는지를 표시하는 코드, 그리고 어쩌면 스케일 팩터(factor), 픽셀 동적 범위의 수정 함수, 회전 각도 등과 같은 변환의 하나 이상의 파라미터들을 표시할 수 있다.
다른 실시예들에서, 변환의 파라미터들은 디폴트로 인코더에서 설정될 수 있다.
본 발명의 다른 특정 실시예에 따르면, 상기 패치에 적용할 상기 변환의 상기 적어도 하나의 파라미터는 예측 값에 대해 예측 코딩된 값을 갖는다. 따라서, 본 발명의 이러한 특정 실시예는 변환의 파라미터들의 시그널링 비용을 절감할 수 있다.
본 발명의 다른 특정 실시예에 따르면, 예측 값은 아틀라스의 헤더 또는 아틀라스의 컴포넌트의 헤더 또는 뷰의 헤더에 코딩된다.
본 발명의 다른 특정 실시예에 따르면, 예측 값은, 패치에 적용되는 변환의 파라미터의 값에 대응하며, 패치는,
- 아틀라스의 패치들의 프로세싱 순서에 따른 이전에 프로세싱된 패치,
- 적어도 하나의 패치가 속하는 것과 멀티-뷰 비디오의 뷰의 동일한 컴포넌트로부터 추출되는 이전에 프로세싱된 패치,
- 상기 데이터 스트림에 코딩된 인덱스를 사용하여 후보 패치들의 세트로부터 선택된 패치, 및
- 기준을 사용하여 후보 패치들의 세트로부터 선택된 패치를 포함하는 그룹에 속한다.
본 발명의 다른 특정 실시예에 따르면, 만약 데이터 스트림의 헤더로부터 디코딩된 신택스 엘리먼트가 데이터 스트림에 코딩된 패치들에 대한 변환들의 적용의 활성화를 표시하면, 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부에 대한 결정이 수행되며, 상기 신택스 엘리먼트는 상기 아틀라스의 헤더 또는 뷰의 컴포넌트의 헤더 또는 뷰의 헤더에 코딩된다. 본 발명의 이러한 특정 실시예에 따르면, 하이-레벨 신택스 엘리먼트는 멀티-뷰 비디오의 패치들에 적용할 변환들의 사용을 시그널링하도록 데이터 스트림에 코딩된다. 따라서, 패치 레벨에서의 변환들의 파라미터들의 코딩에 의해 생성되는 추가 비용은, 이러한 변환들이 사용되지 않는 경우 회피된다. 그 외에도, 본 발명의 이러한 특정 실시예는 이러한 변환들이 사용되지 않는 경우 디코딩의 복잡도를 제한할 수 있다.
본 발명의 다른 특정 실시예에 따르면, 만약 상기 적어도 하나의 디코딩된 패치의 특성이 기준을 충족시키면, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 한다고 결정된다. 본 발명의 이러한 특정 실시예에 따르면, 패치에 적용할 변환의 사용의 표시는 데이터 스트림에 명시적으로 코딩되지 않는다. 그러한 표시는 디코딩된 패치의 특징으로부터 추론된다. 본 발명의 이러한 특정 실시예는 변환들의 사용을 시그널링하기 위한 추가 코딩 비용들을 수반하지 않으면서 패치 변환들을 사용할 수 있다.
본 발명의 다른 특정 실시예에 따르면, 특성은 R=H/W 비(ratio)에 대응하고, 여기서, H는 상기 적어도 하나의 디코딩된 패치의 높이에 대응하고, W는 상기 적어도 하나의 디코딩된 패치의 폭에 대응하고, 상기 적어도 하나의 패치에 적용될 변환은, 상기 비가 결정된 인터벌(interval) 내에 포함될 때, 미리 결정된 팩터에 의한 수직 오버샘플링(vertical oversampling)에 대응한다. 따라서, 본 발명의 이러한 특정 구현 모드에 따르면, 서브샘플링을 수행하는 것이 흥미롭지 않은 "롱(long)" 패치들 및 서브샘플링이 수행되는 "롱" 패치들을, 이를 시그널링할 필요는 없이, 동일한 아틀라스에 혼합하는 것이 가능하다.
본 발명의 다른 특정 구현 모드에 따르면, 특성은 상기 적어도 하나의 디코딩된 패치의 픽셀들의 값으로부터 계산된 에너지(E)에 대응하고, 상기 적어도 하나의 패치에 적용될 변환은, 에너지(E)가 임계치보다 낮을 때, 결정된 팩터와 상기 픽셀들의 값의 곱셈에 대응한다.
본 발명의 다른 특정 실시예에 따르면, 여러 변환들이 동일한 패치에 적용되어야 할 때, 상기 변환들이 적용되어야 하는 순서가 미리 정의된다. 본 발명의 이러한 특정 실시예에서, 변환들이 적용되는 순서를 표시하기 위한 시그널링은 요구되지 않는다. 이 순서는 인코더 및 디코더에서 정의되며, 이러한 변환들이 적용되는 모든 패치들에 대해 동일하게 유지된다.
본 발명은 또한, 멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 디바이스에 관한 것이며, 상기 코딩된 데이터 스트림은 적어도 하나의 아틀라스를 나타내는 코딩된 데이터를 포함하고, 상기 적어도 하나의 아틀라스는 적어도 하나의 패치를 포함하는 이미지에 대응하고, 상기 적어도 하나의 패치는 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터 추출된 픽셀들의 세트에 대응하고, 상기 뷰는 상기 코딩된 데이터 스트림에 코딩되지 않으며, 디코딩 디바이스는,
- 상기 코딩된 데이터 스트림으로부터, 상기 적어도 하나의 패치를 디코딩하는 것을 포함하여, 상기 적어도 하나의 아틀라스를 디코딩하고,
- 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 디코딩된 패치에 어느 변환이 적용되어야 하는지를 결정하고 ―상기 변환은 패치의 적어도 하나의 오버샘플링 또는 패치의 픽셀 값들의 수정을 포함하는 그룹에 속함―, 그리고
- 결정된 변환을 상기 디코딩된 패치에 적용하도록 구성된 메모리 및 프로세서를 포함한다.
본 발명의 특정 실시예에 따르면, 그러한 디바이스는 단말에 포함된다.
본 발명은 또한, 멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 디바이스에 관한 것이며, 디바이스는,
- 상기 데이터 스트림에 코딩되지 않은, 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터, 상기 컴포넌트의 픽셀들의 세트에 대응하는 적어도 하나의 패치를 추출하고,
- 상기 적어도 하나의 추출된 패치에 대해, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 패치에 어느 변환이 적용되어야 하는지를 결정하고 ―상기 변환은 패치의 적어도 하나의 서브샘플링 또는 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―,
- 결정된 변환을 상기 적어도 하나의 패치에 적용하고, 그리고
- 상기 데이터 스트림에 적어도 하나의 아틀라스를 코딩하도록 구성된 메모리 및 프로세서를 포함하며, 상기 적어도 하나의 아틀라스는, 적어도, 상기 적어도 하나의 패치를 포함하는 이미지에 대응한다.
본 발명의 특정 실시예에 따르면, 그러한 디바이스는 단말에 포함된다.
각각, 본 발명에 따른 코딩 방법 및 디코딩 방법은 다양한 방식들로, 특히, 유선 형태로 또는 소프트웨어 형태로 구현될 수 있다. 본 발명의 특정 실시예에 따르면, 각각, 코딩 방법 및 디코딩 방법은 컴퓨터 프로그램에 의해 구현된다. 본 발명은 또한, 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 이전에 설명된 특정 실시예들 중 임의의 실시예에 따른 코딩 방법 또는 디코딩 방법을 구현하기 위한 명령들을 포함하는 컴퓨터 프로그램에 관한 것이다. 그러한 프로그램은 임의의 프로그래밍 언어를 사용할 수 있다. 이는 통신 네트워크로부터 다운로드될 수 있고 그리고/또는 컴퓨터-판독가능 매체 상에 기록될 수 있다.
이 프로그램은 임의의 프로그래밍 언어를 사용할 수 있으며, 소스 코드, 목적 코드, 또는 소스 코드와 목적 코드 사이의 중간 코드의 형태, 이를테면, 부분적으로 컴파일링된 형태, 또는 임의의 다른 바람직한 형태일 수 있다.
본 발명은 또한, 위에서 언급된 바와 같은 컴퓨터 프로그램의 명령들을 포함하는 컴퓨터-판독가능 저장 매체 또는 데이터 매체에 관한 것이다. 위에서 언급된 기록 매체는 프로그램을 저장할 수 있는 임의의 엔티티 또는 디바이스일 수 있다. 예를 들어, 매체는 저장 수단, 이를테면 ROM, 예를 들어 CD-ROM 또는 마이크로전자 회로 ROM, USB 플래시 드라이브, 또는 자기 기록 수단, 예를 들어 하드 드라이브를 포함할 수 있다. 다른 한편으로, 기록 매체는 전기 또는 광 케이블을 통해, 라디오에 의해 또는 다른 수단에 의해 반송될 수 있는 전기 또는 광 신호와 같은 송신가능 매체에 대응할 수 있다. 본 발명에 따른 프로그램은 특히 인터넷-타입 네트워크 상에 다운로드될 수 있다.
대안적으로, 기록 매체는 프로그램이 내장된 집적 회로에 대응할 수 있으며, 이 회로는 해당 방법의 실행에서 사용되거나 또는 실행되도록 적응된다.
본 발명의 다른 특성들 및 장점들은, 단순한 예시적인 그리고 비-제한적인 예로서 제공되는 특정 실시예의 다음의 설명 및 첨부된 도면들을 읽을 때 더 명확하게 드러날 것이다.
[도 1] 도 1은 멀티-뷰 장면 캡처 시스템의 예를 도식적으로 예시한다.
[도 2] 도 2는 패치들의 코딩에 기반한 멀티-뷰 인코더의 예를 도식적으로 예시한다.
[도 3] 도 3은 패치 추출 및 아틀라스 생성의 예를 도시한다.
[도 4] 도 4는 본 발명의 특정 실시예에 따른 코딩 방법의 단계들을 예시한다.
[도 5] 도 5는 본 발명의 특정 실시예에 따른 디코딩 방법의 단계들을 예시한다.
[도 6] 도 6은 본 발명의 특정 실시예에 따른 데이터 스트림 예를 예시한다.
[도 7] 도 7은 본 발명의 특정 실시예에 따른 코딩 디바이스의 아키텍처의 예를 예시한다.
[도 8] 도 8은 본 발명의 특정 실시예에 따른 디코딩 디바이스의 아키텍처의 예를 예시한다.
도 4는 본 발명의 특정 실시예에 따른, 적어도 하나의 코딩된 데이터 스트림에서의 멀티-뷰 비디오 코딩 방법의 단계들을 예시한다.
본 발명에 따르면, 멀티-뷰 비디오는 도 2와 관련하여 도시된 바와 같은 코딩 방식에 따라 코딩되며, 여기서, 하나 이상의 기본 뷰들이 데이터 스트림에 코딩되고, 텍스처 및 깊이 데이터를 포함하는 서브이미지 또는 패치들이 또한 데이터 스트림에 코딩된다. 이러한 패치들은 데이터 스트림에 완전히 인코딩되지 않은 추가 뷰들로부터 비롯된다. 그러한 패치들 및 하나 이상의 기본 뷰들은 디코더가 이하에서 가상 뷰들 또는 합성 뷰들 또는 심지어 중간 뷰들로 또한 지칭되는, 장면의 다른 뷰들(됨)을 합성할 수 있게 한다. 이러한 합성 뷰들은 데이터 스트림에 코딩되지 않았다. 본 발명의 특정 실시예와 관련된 그러한 코딩 방식의 단계들이 아래에서 설명된다.
예를 들어, 여기서, 장면은 도 1에 도시된 바와 같은 카메라들(C1, C2, ..., CN)의 세트에 의해 캡처되는 것으로 간주된다. 각각의 카메라는 시간이 지남에 따라 변하는 적어도 하나의 소위 텍스처 컴포넌트(texture component)를 포함하는 뷰를 생성한다. 다시 말해서, 뷰의 텍스처 컴포넌트는 뷰의 뷰포인트에 배치된 카메라에 의해 캡처된 이미지들에 대응하는 2D 이미지들의 시퀀스이다. 각각의 뷰는 또한, 뷰에서의 각각의 이미지에 대해 결정되는 깊이 맵으로 지칭되는 깊이 컴포넌트를 포함한다.
깊이 맵은 알려진 방식으로, 텍스처를 사용하여 깊이를 추정함으로써, 또는 Lidar(Light detection and Ranging) 기술을 사용하여 장면으로부터 볼류메트릭 데이터(volumetric data)를 캡처함으로써 생성될 수 있다.
이하에서, "뷰"라는 용어는 뷰포인트로부터 캡처된 장면을 나타내는 깊이 맵들 및 텍스처 이미지들의 시퀀스를 표시하기 위해 사용될 것이다. 언어의 남용(abuse)에 의해, "뷰"라는 용어는 또한, 주어진 시간에서의 뷰의 깊이 맵 및 텍스처 이미지를 의미할 수 있다.
이어서, 멀티-뷰 비디오의 뷰들이 캡처될 때, 인코더는 예를 들어, Basel Salahieh, Bart Kroon, Joel Jung,
Figure pct00001
Test Model 4 for Immersive Video, ISO/IEC JTC 1/SC 29/WG 11 N19002, Brussels, BE(2020년 1월)에서 정의된 코딩 방식에 따라, 아래에서 설명되는 단계들로 진행한다.
단계(E40)에서, 멀티-뷰 비디오의 캡처된 뷰들로부터 하나 이상의 기본 뷰들이 선택된다.
기본 뷰들은 멀티-뷰 비디오의 캡처된 뷰들의 세트로부터 알려진 방식들로 선택된다. 예를 들어, 2 개의 뷰 중에서 하나의 뷰씩 선택하기 위해 공간 서브샘플링(spatial sub-sampling)이 수행될 수 있다. 다른 예에서, 뷰들의 콘텐츠는 어느 뷰들이 베이스 뷰(base view)들로서 유지되어야 하는지를 결정하는 데 사용될 수 있다. 또 다른 예에서, 카메라 파라미터들(포지션, 배향, 초점)은 기본 뷰들로서 선택되어야 하는 뷰들을 결정하는 데 사용될 수 있다. 단계(E40)의 끝에서, 특정 수의 뷰들이 기본 뷰들이 되도록 선택된다.
기본 뷰들로서 선택되지 않은 다른 뷰들은 "추가 뷰들"로 지칭된다.
단계(E41)에서, 각각의 추가 뷰에 대해 디코더에 송신될 하나 이상의 패치들을 식별하기 위해 프루닝 방법이 추가 뷰들에 적용된다. 이 단계는 부가 뷰 이미지들로부터 중간 뷰 합성에 필요한 존들을 추출함으로써 송신될 패치들을 결정한다. 예를 들어, 그러한 존들은 기본 뷰들에서 보이지 않는 폐색 존들, 또는 조명의 변화를 겪었거나 또는 기본 뷰들에서 더 낮은 품질을 갖는 가시 존들에 대응한다. 추출된 존들은 임의의 크기 및 형상을 갖는다. 동일한 뷰의 추출된 존들로부터 코딩 및 배열하기 더 용이한 하나 이상의 직사각형 패치들을 생성하기 위해, 자신들의 이웃들에 연결된 픽셀들의 클러스터링이 수행된다.
단계(E42)에서, 각각의 패치에 대해, 인코더는 패치가 아틀라스에 배열될 때 패치에 적용될 하나 이상의 변환들을 결정한다.
패치들은 텍스처 컴포넌트 및/또는 깊이 컴포넌트를 갖는 패치들일 수 있다는 것이 상기된다.
패치들은, 아틀라스들의 코딩 비용을 최소화하고 그리고/또는 디코더에 의해 프로세싱될 픽셀들의 수를 감소시키도록 아틀라스들에 배열된다. 이를 달성하기 위해, 패치들은 다음을 포함하는 변환들을 겪을 수 있다:
ㆍ 수직 차원에서의 팩터(Nv)에 의한 서브샘플링
ㆍ 수평 차원에서의 Nh의 팩터에 의한 서브샘플링
ㆍ 각각의 차원에서의 Ne의 팩터에 의한 서브샘플링
ㆍ 패치에 포함된 픽셀 값들의 수정
ㆍ 패치를 각도(i*90°)만큼 회전시킴(여기서, i=0, 1, 2 또는 3).
이어서, 인코더는 각각의 패치를 줄곧 실행하고 패치에 적용할 하나 이상의 변환들을 결정한다.
일 변형에서, "항등(identity)" 변환, 다시 말해서, 어떠한 변환들도 또한, 패치에 대해 시험될 변환들의 리스트에 포함되지 않을 수 있다.
가능한 변환들로부터의 변환의 선택은, 변환된 패치를 인코딩하는 데 필요한 레이트 및 오리지널 패치와 코딩된 다음 재구성된 변환된 패치 사이에서 계산된 왜곡을 사용하여 재구성된 신호에 대해 계산된 레이트-왜곡 기준을 평가함으로써 이루어질 수 있다. 선택은 또한, 프로세싱되는 패치를 사용하여 합성된 추가 뷰의 품질의 어세스먼트(assessment)에 기반하여 이루어질 수 있다.
각각의 변환에 대해, 하나 이상의 파라미터들이 시험될 수 있다.
예를 들어, 서브샘플링의 경우, 상이한 팩터들(Nv, Nh 및 Ne)이 시험될 수 있다. 바람직한 실시예에서, 팩터들(Nv, Nh 및 Ne)은 2와 동일하다. 다른 실시예들에서, 4, 8 또는 16과 같은 다른 값들이 가능하다.
픽셀 값들의 변화에 대응하는 변환은 또한, "맵핑(mapping)"으로 지칭된다. 그러한 맵핑 변환은, 예를 들어, 패치의 모든 픽셀 값들을 주어진 값(Dv)으로 나누는 것으로 구성될 수 있다. 예를 들어, Dv는 2와 동일하다. 그러나, 4, 8 또는 16과 같은 다른 값들이 가능하다.
다른 예에서, 맵핑은 또한, 파라미터화된 함수(fP(x) = y)를 사용하여 픽셀들의 x-값들을 새로운 y-값들로 변환하는 것으로 구성될 수 있다. 그러한 함수는, 예를 들어 부품 당 선형 함수이며, 각각의 부품은 자신의 시작 가로좌표 x1, 및 선형 함수 y=ax+b의 파라미터들(a 및 b)에 의해 파라미터화된다. 이어서, 변환의 파라미터(P)는 맵핑의 각각의 선형 부분에 대한 트리플릿 리스트(x1, a, b)이다.
다른 예에서, 맵핑은 또한, 값(y)을 입력(x)과 연관시키는 테이블인 룩업 테이블(LUT: LookUp table)일 수 있다.
회전 변환의 경우, 이는 수직 플립(vertical flip)으로 또한 알려진 180° 수직 회전일 수 있다. 다른 회전 파라미터 값들, 예를 들어, i*90°로 정의된 각도 값들이 또한 시험될 수 있으며, 여기서, i=0, 1, 2 또는 3이다.
패치와 연관된 변환의 결정은 또한, 멀티-뷰 비디오를 인코딩하는 데 이용가능한 아틀란스들의 수를 고려할 수 있고, 글로벌하게 중간 뷰 합성의 품질 또는 아틀라스들을 인코딩하는 레이트/왜곡 비용을 최적화하기 위해서 아틀라스들에서의 패치들의 어레인지먼트를 시뮬레이팅할 수 있다.
단계(E42)의 끝에서, 변환된 패치들의 리스트가 이용가능하다. 각각의 패치는 그 패치에 대해 결정된 변환(들) 및 연관된 파라미터들과 연관된다.
단계(E43) 동안, 패치들은 하나 이상의 아틀라스들에 배열된다. 아틀라스들의 수는, 예를 들어 인코더에 대한 입력으로서 정의된 파라미터들, 이를테면, 주어진 시간 또는 이미지 당 모든 아틀라스들의 텍스처 및 깊이에 대한 픽셀들의 최대 수(M) 및 아틀라스의 크기(길이 및 높이)에 의존한다. 이 최대 수(M)는 멀티-뷰 비디오의 일회(one time)에 대해 디코더에 의해 프로세싱될 픽셀들의 수에 대응한다.
여기서 설명된 특정 실시예에서, 각각의 기본 뷰는 주어진 시간에 기본 뷰의 텍스처 컴포넌트 및 깊이 컴포넌트를 포함하는 패치를 포함하는 아틀라스에 코딩되는 것으로 간주된다. 이 특정 실시예에서, 기본 뷰들이 있는 만큼 그리고 부가 뷰들로부터 추출된 모든 패치들을 전송하는 데 필요한 아틀라스들만큼 많은 아틀라스들이 있다.
입력으로서 주어진 아틀라스들의 크기에 의존하여, 아틀라스는 기본 뷰 및 패치들로 구성될 수 있거나, 또는 만약 뷰 크기가 아틀라스 크기보다 더 크다면, 기본 뷰는 분할되어 여러 아틀라스들 상에서 표현될 수 있다.
이어서, 여기서 설명된 특정 실시예에 따르면, 아틀라스의 패치는 기본 뷰의 전체 이미지, 또는 기본 뷰의 일부, 또는 추가 뷰로부터 추출된 존에 대응할 수 있다.
패치들의 텍스처 픽셀들은 아틀라스의 텍스처 컴포넌트에 배열되고, 패치들의 깊이 픽셀들은 아틀라스의 깊이 컴포넌트에 배열된다.
아틀라스는 단 하나의 텍스처 또는 깊이 컴포넌트만을 포함할 수 있거나, 또는 텍스처 및 깊이 컴포넌트를 포함할 수 있다. 다른 예들에서, 아틀라스는 또한, 중간 뷰 합성에 대한 유용한 정보를 포함하는 다른 타입들의 컴포넌트를 포함할 수 있다. 예를 들어, 다른 타입들의 컴포넌트들은, 대응하는 존이 얼마나 투명(transparent)한지를 표시하기 위한 정보, 이를테면 반사율 인덱스(reflectance index), 또는 그 위치에서의 깊이 값에 관한 신뢰도 정보를 포함할 수 있다.
단계(E43) 동안, 인코더는 패치 리스트 내의 모든 패치들을 스캔한다. 각각의 패치에 대해, 인코더는 이 패치가 어느 아틀라스에 코딩될지를 결정한다. 이 리스트는 변환된 패치와 변환되지 않은 패치 둘 모두를 포함한다. 변환되지 않은 패치들은 변환 또는 항등 변환을 겪지 않은 추가 뷰들로부터 추출된 존들을 포함하는 패치들, 또는 기본 뷰들의 이미지들을 포함하는 패치들이다. 여기서, 패치가 변환되어야 할 때, 패치는 이미 변환된 것으로 간주된다.
아틀라스는 이미지에서 공간적으로 재배열된 패치들의 세트이다. 이 이미지는 코딩되도록 의도된다. 이러한 어레인지먼트의 목적은 코딩하기 위해 아틀라스 이미지들에서의 공간을 최상으로 사용하는 것이다. 실제로, 비디오 코딩의 목표들 중 하나는 뷰가 합성될 수 있기 전에 디코딩될 픽셀들의 수를 최소화하는 것이다. 이를 위해, 패치들은, 아틀라스에서의 패치들의 수가 최대화되는 방식으로 아틀라스들에 배열된다. 그러한 방법은, Basel Salahieh, Bart Kroon, Joel Jung,
Figure pct00002
Test Model 4 for Immersive Video, ISO/IEC JTC 1/SC 29/WG 11 N19002, Brussels, BE(2020년 1월)에 설명된다.
단계(E43)에 후속하여, 각각의 아틀라스에 대한 패치들의 리스트가 생성된다. 이러한 어레인지먼트는 또한, 주어진 시간 동안 코딩될 아틀라스들의 수를 결정한다는 것이 주목되어야 한다.
단계(E44) 동안, 아틀라스들은 데이터 스트림에 코딩된다. 이 단계에서, 2D 이미지의 형태의 텍스처 컴포넌트 및/또는 깊이 컴포넌트를 포함하는 각각의 아틀라스는 HEVC, VVC, MV-HEVC, 3D-HEVC 등과 같은 종래의 비디오 인코더를 사용하여 코딩된다. 위에서 설명된 바와 같이, 기본 뷰들은 여기서 패치들로서 간주된다. 따라서, 아틀라스들의 코딩은 기본 뷰들의 코딩을 수반한다.
단계(E45) 동안, 각각의 아틀라스와 연관된 정보는 데이터 스트림에 코딩된다. 이러한 정보는 통상적으로 엔트로피 인코더에 의해 코딩된다.
각각의 아틀라스에 대해, 패치들의 리스트는 리스트 내의 각각의 패치에 대해 다음의 아이템들을 포함한다:
ㆍ 2D 좌표들의 형태의, 아틀라스에서의 패치의 위치, 예를 들어, 패치를 표현하는 직사각형의 최상부 좌측 코너의 포지션,
ㆍ 2D 좌표들의 형태의, 자신의 오리지널 뷰에서의 패치의 위치, 즉, 패치가 추출된 뷰의 이미지에서의 패치의 포지션, 예를 들어, 패치를 표현하는 직사각형의 최상부 좌측 코너의 이미지에서의 포지션,
ㆍ 패치의 치수들(길이 및 높이),
ㆍ 패치의 오리지널 뷰의 식별자,
ㆍ 패치에 적용된 변환에 대한 정보.
단계(E45)에서, 아틀라스의 적어도 여러 패치들에 대해, 디코딩 동안 패치에 적용될 변환들에 관한 정보가 데이터 스트림에 코딩된다. 디코딩 동안 패치에 적용할 변환들은, 아틀라스의 패치를 배열할 때 패치에 적용되고 위에서 결정된 역변환들에 대응한다.
본 발명의 특정 실시예에서, 각각의 패치에 대해, 적용될 변환을 표시하는 정보가 송신된다.
여기서 설명되는 특정 실시예에서, 표시되는 것은 디코딩에 적용될 변환이고, 인코딩(디코딩의 역변환에 대응함)에 적용된 변환이 아닌 것으로 간주된다. 예를 들어, 인코딩 동안 서브샘플링이 적용될 때, 디코딩 동안 오버샘플링이 적용된다. 본 발명의 다른 특정 실시예들에서, 적용할 변환에 대해 송신된 정보는 코딩에 적용된 변환을 표시하는 정보에 대응할 수 있고, 이어서, 디코더는 이러한 정보로부터 적용될 변환을 추론한다는 것이 명확하게 이해된다.
예를 들어, 적용될 변환을 표시하는 정보는 가능한 변환들의 리스트에서 적용될 변환을 표시하는 인덱스일 수 있다. 그러한 리스트는 항등 변환을 더 포함할 수 있다. 따라서, 어떠한 변환도 패치에 적용되지 않는 경우에, 항등 변환을 표시하는 인덱스가 코딩될 수 있다.
다른 실시예에서, 이진 표시자는 패치가 변환된 상태인지 여부를 표시하기 위해 코딩될 수 있고, 만약 이진 표시자가 패치가 변환되었음을 표시하면, 가능한 변환들의 리스트로부터 어느 변환을 적용할지를 표시하는 인덱스가 코딩된다.
적용할 단 하나의 변환만이 가능한 실시예에서, 패치가 변환된 상태인지 여부를 표시하기 위해 이진 표시자만이 코딩될 수 있다.
가능한 변환들의 리스트는 디코더에 알려질 수 있고, 따라서 데이터 스트림에서 송신될 필요가 없다. 다른 실시예들에서, 가능한 변환들의 리스트는 데이터 스트림에, 예를 들어 뷰의 헤더 또는 멀티-뷰 비디오의 헤더에 코딩될 수 있다.
적용될 변환들과 연관된 파라미터들은 또한, 디폴트로 정의되고 디코더에 알려질 수 있다. 본 발명의 다른 특정 실시예에서, 패치에 적용된 변환과 연관된 파라미터들은 각각의 패치에 대한 데이터 스트림에 인코딩된다.
변환이 하나의 또는 둘 모두의 차원들에서의 오버샘플링(코딩 동안의 동일한 서브샘플링과 동등함)에 대응할 때, 변환과 연관된 파라미터는 모든 차원들에 대해 적용될 보간(interpolation)의 값 또는 각각의 차원에 대해 적용할 보간의 값에 대응할 수 있다.
변환이, 파라미터를 사용하여 맵핑함으로써, 코드에 대한 패치의 픽셀 값들의 수정에 대응할 때, 이러한 변환의 파라미터들은 적용할 맵핑의 특성들: 룩업 테이블(LUT: Look-up Table), 부분 선형(linear by parts), 선형 함수의 파라미터들 등에 대응한다. 특히, 가능한 LUT(들)는 디코더에 알려질 수 있다.
변환이 회전에 대응할 때, 파라미터는 가능한 회전들 중에서 선택된 회전 각도에 대응한다.
변환과 연관된 파라미터들은 있는 그대로(as is) 또는 예측 값에 대한 예측에 의해 코딩될 수 있다.
변형에 따른 일 실시예에서, 파라미터의 값을 예측하기 위해서, 데이터 스트림에서 뷰의 헤더, 또는 컴포넌트, 또는 뷰의 이미지, 또는 심지어, 현재 패치를 포함하는 아틀라스에 예측 값이 정의되고 코딩될 수 있다.
따라서, 주어진 아틀라스에 대해, 파라미터의 값(P)은 아틀라스의 레벨에서 코딩된 값(Ppred)에 의해 예측될 것이다. 이어서, Ppred와 P 사이의 차이는 아틀라스의 각각의 패치에 대해 코딩된다.
다른 실시예에서, 파라미터의 값을 예측하기 위해, 예측 값(Ppred)은 이전에 프로세싱된 패치에 사용된 파라미터의 값에 대응할 수 있다. 예를 들어, 이는 패치 프로세싱 순서에서 이전 패치, 또는 현재 패치와 동일한 뷰에 속하는 이전 패치일 수 있다.
파라미터의 예측 값은 또한, HEVC 인코더의 "병합(Merge)" 모드와 유사한 메커니즘에 의해 획득될 수 있다. 각각의 패치에 대해, 후보 패치들의 리스트가 정의되고, 이러한 후보 패치들 중 하나를 가리키는 인덱스가 패치에 대해 코딩된다.
다른 실시예에서, 후보 패치들의 리스트로부터 패치를 식별하기 위해 기준이 사용될 수 있기 때문에, 인덱스는 송신될 필요가 없다. 따라서, 예를 들어, 현재 패치에 대한 유사성의 척도(measure)를 최대화하는 패치가 선정될 수 있거나, 또는 심지어 현재 패치에 가장 가까운 치수들을 갖는 패치가 선정될 수 있다.
다른 실시예 변형들에서, 패치가 변환을 겪어야 하는지 여부를 표시하는 정보는, 변환의 사용을 표시하는 부분(예를 들어, 이진 표시자) 및 만약 사용이 인에이블(enable)되면 변환의 파라미터들을 표시하는 부분으로 분해될 수 있다. 이러한 시그널링 메커니즘은 패치에 대한 각각의 가능한 변환에 대해 독립적으로 사용될 수 있다.
본 발명의 특정 실시예에서, 이진 표시자는 아틀라스 또는 뷰 또는 컴포넌트의 헤더의 레벨에서 코딩되어 그 아틀라스, 그 뷰 또는 그 컴포넌트의 패치들에 대한 결정된 변환의 사용을 활성화할 수 있다. 이어서, 패치에 대한 결정된 변환의 적용은 이러한 이진 표시자의 값에 의존한다.
예를 들어, 변환(A)의 활성화 및 변환(B)의 활성화와 각각 연관된 2 개의 이진 표시자들(IA 및 IB)이 아틀라스의 헤더에 코딩된다. 이진 표시자(IA)의 값은 변환(A)의 사용이 가능함을 표시하는 한편, 이진 표시자(IB)의 값은 변환(B)의 사용이 가능하지 않음을 표시한다. 이 예에서, 각각의 패치에 대해, 이진 표시자는 변환(A)이 패치에 적용되는지 여부, 및 어쩌면, 연관된 파라미터들을 보여줄 것이다. 이 예에서, 변환(B)이 패치에 적용되는지 여부를 표시하기 위해 각각의 패치에 대한 이진 표시자를 코딩할 필요는 없다.
패치 레벨에서 또는 더 높은 레벨 메이크(make)들에서 변환의 사용을 활성화하는 특정 실시예는, 특히, 어떠한 패치도 이러한 변환을 사용하지 않을 때, 시그널링의 비용을 절감할 수 있다.
만약 이러한 이진 활성화 표시자가 뷰 또는 컴포넌트의 레벨에서 코딩되면, 이러한 이진 활성화 표시자의 값은 패치가 코딩된 아틀라스에 관계없이 뷰 또는 컴포넌트에 속하는 모든 패치들에 적용된다. 따라서, 아틀라스는, 특정 변환이 그 패치에 대해 코딩된 표시자에 따라 적용될 수 있는 패치 및 동일한 변환이 적용될 수 없는 패치를 포함할 수 있다. 이러한 후자의 패치의 경우, 이러한 변환에 대한 어떠한 표시자도 패치 정보에 인코딩되지 않는다.
본 발명의 다른 특정 실시예에서, 변환을 표시하는 어떠한 정보도 패치 레벨에서 인코딩되지 않는다. 이는 패치의 특성으로부터 디코더에서 추정된다. 이어서, 변환은, 이 변환이 특정 기준을 충족시키자마자, 패치에 적용된다. 이러한 특정 모드는 디코딩 프로세스와 관련하여 아래에서 더 상세히 설명될 것이다.
도 5는 본 발명의 특정 실시예에 따라 멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법의 단계들을 예시한다. 예를 들어, 코딩된 데이터 스트림은 도 4와 관련하여 설명된 코딩 방법에 의해 생성되었다.
단계(E50) 동안, 아틀라스 정보가 디코딩된다. 이러한 정보는 통상적으로 적절한 엔트로피 디코더(entropic decoder)에 의해 디코딩된다.
이들은, 패치들의 리스트, 및 각각의 패치에 대해, 다음의 엘리먼트들을 포함한다:
- 좌표들의 형태의, 아틀라스에서의 패치의 위치,
- 좌표들의 형태의, 자신의 오리지널 뷰에서의 패치의 위치,
- 패치의 치수들,
- 패치의 오리지널 뷰의 식별자,
- 변환이 패치에 적용되어야 하는지 여부를 표시하는 정보.
코딩 방법에서와 같이, 이러한 정보는 가능한 변환들의 리스트로부터의 변환을 표시하는 인덱스, 또는 각각의 가능한 변환에 대해, 변환이 패치에 적용되어야 하는지 여부를 표시하는 표시자일 수 있다.
차원들 둘 모두에서 동일한 오버샘플링에 대응하는 변환의 경우, 정보는 변환의 사용을 표시하는 이진 표시자 또는 모든 차원들에 대해 적용할 보간의 값일 수 있다.
2 개의 차원들에서의 별개의 오버샘플링에 대응하는 변환의 경우, 정보는 변환의 사용을 표시하는 이진 표시자 또는 차원들 각각에 대해 적용할 보간 값에 대응할 수 있다.
디코딩할 패치의 픽셀의 수정에 대응하는 변환의 경우, 파라미터를 사용하여 맵핑함으로써, 정보는 맵핑의 사용을 표시하는 정보 항목, 및 어쩌면, 적용할 맵핑의 특성들(룩업 테이블, 부분 선형(linear by parts), 선형 함수의 파라미터들 등)을 나타내는 정보를 포함할 수 있다.
회전에 대응하는 변환의 경우, 파라미터는 가능한 회전들 중에서 어떤 회전이 선택되었는지를 표시할 것이다.
송신된 정보는 패치에 적용될 변환이 적용된 코딩에 적절한 방식으로 디코딩됨을 식별할 수 있다. 따라서, 이는 인코더와 유사한 방식으로 예측적으로 또는 있는 그대로(직접 디코딩) 디코딩될 수 있다.
본 발명의 특정 실시예에 따르면, 패치에 적용될 변환을 식별하기 위한 정보는, 변환의 사용을 표시하는 부분(이진 표시자) 및 만약 사용이 활성화되면 변환의 파라미터들을 표시하는 부분을 포함할 수 있다.
코딩 방법에 대해서와 같이, 본 발명의 특정 실시예에 따르면, 주어진 패치에 대한, 패치에 적용할 변환을 식별하는 정보의 아이템의 디코딩은, 패치가 속하는 컴포넌트의 헤더, 뷰의 헤더 또는 아틀라스의 헤더에 코딩된 활성화 이진 표시자에 의존할 수 있다.
본 발명의 다른 특정 실시예에 따르면, 패치에 적용될 변환을 식별하는 정보는 패치 정보와 함께 코딩되는 것이 아니라, 디코딩된 패치의 특성들로부터 도출된다.
예를 들어, 일 실시예에서, 패치의 디코딩된 픽셀들의 에너지는, 패치의 평균 제곱근 오차를 계산함으로써 측정된다. 만약 이 에너지가 주어진 임계치 미만이면, 예를 들어, 100 미만의 평균 제곱근 오차이면, 패치의 픽셀 값들은 패치의 모든 값들에 특정된 팩터(Dv)를 곱셈함으로써 변환된다. 예를 들어, Dv = 2이다. 다른 임계 값들뿐만 아니라 다른 패치 값 수정 팩터들이 가능하다.
다른 변형에 따르면, 만약 패치의 H/W 디코딩된 치수들의 비(여기서, H는 패치의 높이이고 W는 패치의 길이임)가 주어진 범위 내에 있으면, 예를 들어, 0.75<H/W<1.5이면, 패치는 수직 차원에서 주어진 팩터, 예를 들어 팩터 2로 보간된다. 여기서 고려되는 패치 치수들은, 패치가 코딩된 아틀라스 정보로부터 디코딩된 패치 치수들이다. 이들은 디코더로의 변환 전의(그리고 그에 따라 인코더로의 변환 후의) 패치의 치수들이다. H/W 비가 결정된 범위 내에 있다고 결정될 때, 패치는 오버샘플링되고, 결과적으로, 패치의 치수들이 재계산된다.
이러한 변형은, 서브샘플링을 수행하는 것이 흥미롭지 않은 "롱" 패치들 및 서브샘플링이 수행되는 "롱" 패치들을, 시그널링 없이, 동일한 아틀라스에 혼합하는 것을 가능하게 하며, 이는 이들이 디코더에서 보간될 수 있도록 하는 기준을 이들이 준수하게 한다. 다른 임계 값들, 예를 들어 0.9<H/W<1.1과 같은 더 제한적인 값들이 사용될 수 있다.
단계(E51) 동안, 아틀라스들의 컴포넌트들이 디코딩된다. 2D 텍스처 컴포넌트 및/또는 2D 깊이 컴포넌트를 포함하는 각각의 아틀라스는 AVC 또는 HEVC, VVC, MV-HEVC, 3D-HEVC 등과 같은 종래의 비디오 디코더를 사용하여 디코딩된다.
단계(E52) 동안, 디코딩된 패치들은, 변환이 텍스처 컴포넌트에 적용되는지, 깊이 컴포넌트에 적용되는지 또는 컴포넌트들 둘 모두에 적용되는지에 따라, 단계(E50)에서 식별된 변환을 그 아틀라스에서의 각각의 패치의 텍스처 컴포넌트 및/또는 깊이 컴포넌트에 적용함으로써 재구성된다.
추가 뷰들의 경우, 이러한 단계는 이러한 패치에 대해 식별된 변환을 적용함으로써 각각의 패치를 개별적으로 수정하는 것으로 구성된다. 이는, 다수의 방식들로, 예를 들어, 패치를 포함하는 아틀라스에서 이 패치의 픽셀들을 수정함으로써, 수정된 패치를 버퍼 메모리 존에 복사함으로써, 또는 변환된 패치를 그와 연관된 뷰에 복사함으로써 수행될 수 있다.
이전에 디코딩된 정보에 따라, 재구성할 각각의 패치에는 다음의 변환들 중 하나가 적용될 수 있다:
ㆍ 수직 차원에서의 팩터(Nv)에 의한 서브샘플링,
ㆍ 수평 차원에서의 팩터(Nh)에 의한 서브샘플링,
ㆍ 각각의 차원에서의 팩터(Ne)에 의한 서브샘플링,
ㆍ 패치에 포함된 픽셀 값들의 수정,
ㆍ 패치의 회전.
픽셀 값들의 수정은 코딩 및 디코딩과 유사하다. 송신된 맵핑 파라미터들은 인코더 맵핑의 파라미터들(그리고 이어서, 디코더는 맵핑의 역함수를 적용해야 함) 또는 디코더 맵핑의 파라미터들(그리고 이어서, 인코더는 맵핑의 역함수를 적용해야 함)일 수 있음을 주목한다.
본 발명의 특정 실시예에 따르면, 패치에 대한 여러 변환들을 인코더에 적용하는 것이 가능하다. 이러한 변환들은 패치에 대해 코딩된 정보의 스트림에서 시그널링되거나, 그렇지 않으면 디코딩된 패치의 특성들로부터 추정된다. 예를 들어, 인코더는 패치의 각각의 치수에서 2의 팩터만큼 서브샘플링되고, 이후에, 패치의 픽셀 값들의 맵핑, 그리고 이어서 회전이 후속될 수 있다.
본 발명의 이러한 특정 실시예에 따르면, 적용할 변환들의 순서는 미리 정의되고 인코더 및 디코더에 알려져 있다. 예를 들어, 인코더에서 순서는 다음과 같다: 회전, 이어서 서브샘플링, 이어서 맵핑.
디코더에서 패치를 재구성할 때, 여러 변환들이 패치에 적용되어야 할 때, 역순서(맵핑, 오버샘플링, 이어서 회전)가 패치에 적용된다. 따라서, 디코더와 인코더 둘 모두는 동일한 결과를 생성하기 위해서 변환들을 적용할 순서를 안다.
단계(E52)의 끝에서, 재구성된 패치들의 세트가 이용가능하다.
단계(E53) 동안, 적어도 하나의 기본 뷰 및 적어도 하나의 이전에 재구성된 패치를 사용하여 적어도 하나의 중간 뷰가 합성된다. 선정된 가상 뷰 합성 알고리즘은 디코더에 송신된, 멀티-뷰 비디오의 디코딩 및 재구성된 데이터에 적용된다. 앞서 설명된 바와 같이, 이러한 알고리즘은 카메라들 사이의 뷰포인트로부터의 뷰를 생성하기 위해 기본 및 패치 뷰 컴포넌트들의 픽셀들에 기댄다.
예를 들어, 합성 알고리즘은 기본 뷰들 및/또는 추가 뷰들로부터의 적어도 2 개의 텍스처들 및 2 개의 깊이 맵들을 사용하여 중간 뷰를 생성한다. 합성기들은 알려져 있으며, 예를 들어 DIBR(Depth Image Based Rendering) 카테고리에 속한다. 예를 들어, 표준 조직들에 의해 빈번하게 사용되는 알고리즘들은 다음과 같다:
- 나고야 대학교에 의해 개시되고 MPEG에 의해 향상된, 뷰 합성 레퍼런스 소프트웨어를 위한 VSRS는, 레퍼런스 뷰들과 중간 뷰들 사이의 호모그래피(homography)를 사용하여 깊이 맵들의 포워드 투사(forward projection)들을 적용하고, 이후에, 포워드 워핑 아티팩트(forward warping artifact)들을 제거하기 위한 충전(filling) 단계가 후속된다;
- 브뤼셀(Brussels) 대학교에 의해 개시되고 Philips에 의해 개선된, 기준 뷰 합성기를 위한 RVS는, 계산된 디스패리티(disparity)를 사용하여 레퍼런스 뷰들을 투사하는 것으로 시작한다. 레퍼런스들은 삼각형들로 파티셔닝되고, 그리고 왜곡된다. 이어서, 각각의 레퍼런스의 변형된 뷰(deformed view)들이 블렌딩되고(blended), 기본 인페인팅 충전(basic inpainting filling)이 적용되어 폐색해제(dis-occlusion)들을 충전한다;
- Orange에 의해 개발된 다기능 뷰 합성기를 위한 VVS는, 레퍼런스들을 정렬하고, 특정 깊이 맵 정보의 변형을 적용하고, 이어서, 이러한 깊이들을 조건부로 병합한다. 이어서, 텍스처들의 백워드 워핑(backward warping)이 적용되고, 이후에, 상이한 텍스처들 및 깊이들의 병합이 후속된다. 마지막으로, 중간 이미지의 공간 필터링 전에, 시공간 인페인팅(spatio-temporal inpainting)이 적용된다.
도 6은 본 발명의 특정 실시예에 따른 데이터 스트림, 그리고 특히, 스트림에 코딩되고 아틀라스의 패치들에 적용할 하나 이상의 변환들을 식별하는 데 사용되는 아틀라스 정보의 예를 예시한다. 예를 들어, 데이터 스트림은 도 4와 관련하여 설명된 특정 실시예들 중 임의의 하나에 따른 코딩 방법에 의해 생성되었고, 도 5와 관련하여 설명된 특정 실시예들 중 임의의 하나에 따른 디코딩 방법에 의해 디코딩되기에 적절하다.
본 발명의 이러한 특정 실시예에 따르면, 그러한 스트림은 특히:
- 주어진 변환이 활성화되는지 여부를 표시하기 위해 아틀라스의 헤더에 코딩된 ActTrf 표시자,
- 변환 파라미터 값에 대한 예측 값의 역할을 하기 위한 예측 값(Ppred),
- 아틀라스에서의 코딩된 패치들의 수(Np),
- 아틀라스의 각각의 패치에 대해, 패치 정보, 및 특히, 변환이 패치에 대해 사용되는지 여부를 보여주는 Trf 표시자,
- Trf 표시자가 패치에 대한 변환의 사용을 표시할 때, 예를 들어 예측 값(Ppred)에 대해 획득된 나머지(residue)의 형태의, 변환의 파라미터(Par)를 포함하고, 여기서, 이것이 코딩된다.
위에서 설명된 코딩 및 디코딩 방법들과 관련하여 설명된 바와 같이, 본 발명의 추가적인 특정 실시예들은 패치들에 대해 코딩되는 변환-관련 정보의 관점에서 가능하다.
도 7은 본 발명의 특정 실시예들 중 임의의 하나에 따른 코딩 방법을 구현하도록 적응된 코딩 디바이스(COD)의 단순화된 구조를 도시한다.
본 발명의 특정 실시예에 따르면, 코딩 방법의 단계들은 컴퓨터 프로그램 명령들에 의해 구현된다. 이러한 목적을 위해, 코딩 디바이스(COD)는 컴퓨터의 표준 아키텍처를 가지며, 특히, 메모리(MEM), 및 예를 들어 프로세서(PROC)를 구비하고 메모리(MEM)에 저장된 컴퓨터 프로그램(PG)에 의해 구동되는 프로세싱 유닛(UT)을 포함한다. 컴퓨터 프로그램(PG)은, 프로그램이 프로세서(PROC)에 의해 실행될 때, 위에서 설명된 바와 같은 코딩 방법의 단계들을 구현하기 위한 명령들을 포함한다.
초기화 시에, 컴퓨터 프로그램(PG)의 코드 명령들은, 프로세서(PROC)에 의해 실행되기 전에, 예를 들어 RAM 메모리(도시되지 않음)에 로딩된다. 특히, 프로세싱 유닛(UT)의 프로세서(PROC)는, 컴퓨터 프로그램(PG)의 명령들에 따라, 위에서 설명된 코딩 방법의 단계들을 구현한다.
도 8은 본 발명의 특정 실시예들 중 임의의 하나에 따른 디코딩 방법을 구현하도록 적응된 디코딩 디바이스(DEC)의 단순화된 구조를 도시한다.
본 발명의 특정 실시예에 따르면, 디코딩 디바이스(DEC)는 컴퓨터의 표준 아키텍처를 가지며, 특히, 메모리(MEM0), 및 예를 들어 프로세서(PROC0)를 구비하고 메모리(MEM0)에 저장된 컴퓨터 프로그램(PG0)에 의해 구동되는 프로세싱 유닛(UT0)을 포함한다. 컴퓨터 프로그램(PG0)은, 프로그램이 프로세서(PROC0)에 의해 실행될 때, 위에서 설명된 바와 같은 디코딩 방법의 단계들을 구현하기 위한 명령들을 포함한다.
초기화 시에, 컴퓨터 프로그램(PG0)의 코드 명령들은, 프로세서(PROC0)에 의해 실행되기 전에, 예를 들어 RAM 메모리(도시되지 않음)에 로딩된다. 특히, 프로세싱 유닛(UT0)의 프로세서(PROC0)는, 컴퓨터 프로그램(PG0)의 명령들에 따라, 위에서 설명된 디코딩 방법의 단계들을 구현한다.

Claims (15)

  1. 멀티-뷰 비디오(multi-view video)를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법으로서,
    상기 코딩된 데이터 스트림은 적어도 하나의 아틀라스(atlas)를 나타내는 코딩된 데이터를 포함하고, 상기 적어도 하나의 아틀라스는 적어도 하나의 패치(patch)를 포함하는 이미지에 대응하고, 상기 적어도 하나의 패치는 상기 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터 추출된 픽셀들의 세트에 대응하고, 상기 뷰는 상기 코딩된 데이터에 코딩되지 않으며,
    상기 디코딩하기 위한 방법은,
    - 상기 코딩된 데이터 스트림으로부터, 상기 적어도 하나의 패치를 디코딩하는 것을 포함하여, 상기 적어도 하나의 아틀라스를 디코딩하는 단계,
    - 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 디코딩된 패치에 어느 변환이 적용되어야 하는지를 결정하는 단계 ―상기 변환은 상기 패치의 적어도 하나의 오버샘플링(oversampling) 또는 상기 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―, 및
    - 상기 결정된 변환을 상기 디코딩된 패치에 적용하는 단계
    를 포함하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  2. 제1 항에 있어서,
    상기 적어도 하나의 패치에 대해, 상기 코딩된 데이터 스트림으로부터 디코딩된 적어도 하나의 신택스 엘리먼트(syntax element)로부터, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부가 결정되는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  3. 제2 항에 있어서,
    상기 적어도 하나의 디코딩된 신택스 엘리먼트는, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부를 표시하는 적어도 하나의 표시자를 포함하고, 만약 상기 표시자가 상기 적어도 하나의 패치에 변환이 적용되어야 함을 표시하면, 상기 적어도 하나의 신택스 엘리먼트는 선택적으로 상기 변환의 적어도 하나의 파라미터를 포함하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  4. 제3 항에 있어서,
    상기 패치에 적용할 상기 변환의 상기 적어도 하나의 파라미터는 예측 값에 대해 예측 코딩된 값을 갖는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  5. 제4 항에 있어서,
    상기 예측 값은 상기 아틀라스의 헤더 또는 상기 아틀라스의 컴포넌트의 헤더 또는 뷰의 헤더에 코딩되는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  6. 제4 항에 있어서,
    상기 예측 값은, 패치에 적용되는 변환의 파라미터의 값에 대응하며,
    상기 패치는,
    - 상기 아틀라스의 패치들의 프로세싱 순서에 따른 이전에 프로세싱된 패치,
    - 상기 적어도 하나의 패치가 속하는 것과 상기 멀티-뷰 비디오의 뷰의 동일한 컴포넌트로부터 추출되는 이전에 프로세싱된 패치,
    - 상기 데이터 스트림에 코딩된 인덱스를 사용하여 후보 패치들의 세트로부터 선택된 패치, 및
    - 선택 기준을 사용하여 후보 패치들의 세트로부터 선택된 패치를 포함하는 그룹에 속하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  7. 제1 항에 있어서,
    만약 상기 데이터 스트림의 헤더로부터 디코딩된 신택스 엘리먼트가 상기 데이터 스트림에 코딩된 패치들에 대한 변환들의 적용의 활성화를 표시하면, 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부에 대한 결정이 수행되며, 상기 신택스 엘리먼트는 상기 아틀라스의 헤더 또는 뷰의 컴포넌트의 헤더 또는 뷰의 헤더에 코딩되는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  8. 제1 항에 있어서,
    만약 상기 적어도 하나의 디코딩된 패치의 특성이 기준을 충족시키면, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 한다고 결정되는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  9. 제8 항에 있어서,
    상기 특성은 R=H/W 비(ratio)에 대응하며, H는 상기 적어도 하나의 디코딩된 패치의 높이에 대응하고, W는 상기 적어도 하나의 디코딩된 패치의 폭에 대응하고, 상기 적어도 하나의 패치에 적용될 변환은, 상기 비가 결정된 인터벌(interval) 내에 포함될 때, 미리 결정된 팩터(factor)에 의한 수직 오버샘플링(vertical oversampling)에 대응하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  10. 제8 항에 있어서,
    상기 특성은 상기 적어도 하나의 디코딩된 패치의 픽셀들의 값으로부터 계산된 에너지(E)에 대응하고, 상기 적어도 하나의 패치에 적용될 변환은, 상기 에너지(E)가 임계치보다 낮을 때, 결정된 팩터와 상기 픽셀들의 값의 곱셈에 대응하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 방법.
  11. 멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 방법으로서,
    - 상기 데이터 스트림에 코딩되지 않은, 상기 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터, 상기 컴포넌트의 픽셀들의 세트에 대응하는 적어도 하나의 패치를 추출하는 단계,
    - 상기 적어도 하나의 추출된 패치에 대해, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 패치에 어느 변환이 적용되어야 하는지를 결정하는 단계 ―상기 변환은 상기 패치의 적어도 하나의 서브샘플링(sub-sampling) 또는 상기 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―,
    - 상기 결정된 변환을 상기 적어도 하나의 패치에 적용하는 단계, 및
    - 상기 데이터 스트림에 적어도 하나의 아틀라스를 코딩하는 단계
    를 포함하며,
    상기 적어도 하나의 아틀라스는, 적어도, 상기 적어도 하나의 패치를 포함하는 이미지에 대응하는,
    방법.
  12. 제1 항 또는 제11 항에 있어서,
    여러 변환들이 동일한 패치에 적용되어야 할 때, 상기 변환들이 적용되어야 하는 순서가 미리 정의되는,
    방법.
  13. 멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 디바이스로서,
    상기 코딩된 데이터 스트림은 적어도 하나의 아틀라스를 나타내는 코딩된 데이터를 포함하고,
    상기 적어도 하나의 아틀라스는 적어도 하나의 패치를 포함하는 이미지에 대응하고,
    상기 적어도 하나의 패치는 상기 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터 추출된 픽셀들의 세트에 대응하고,
    상기 뷰는 상기 코딩된 데이터 스트림에 코딩되지 않으며,
    상기 디코딩하기 위한 디바이스는,
    - 상기 코딩된 데이터 스트림으로부터, 상기 적어도 하나의 패치를 디코딩하는 것을 포함하여, 상기 적어도 하나의 아틀라스를 디코딩하고,
    - 상기 적어도 하나의 디코딩된 패치에 대해, 상기 적어도 하나의 디코딩된 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 디코딩된 패치에 어느 변환이 적용되어야 하는지를 결정하고 ―상기 변환은 상기 패치의 적어도 하나의 오버샘플링 또는 상기 패치의 픽셀 값들의 수정을 포함하는 그룹에 속함―, 그리고
    - 상기 결정된 변환을 상기 디코딩된 패치에 적용하도록 구성된 메모리 및 프로세서를 포함하는,
    멀티-뷰 비디오를 나타내는 코딩된 데이터 스트림을 디코딩하기 위한 디바이스.
  14. 멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 디바이스로서,
    - 상기 데이터 스트림에 코딩되지 않은, 상기 멀티-뷰 비디오의 뷰의 적어도 하나의 컴포넌트로부터, 상기 컴포넌트의 픽셀들의 세트에 대응하는 적어도 하나의 패치를 추출하고,
    - 상기 적어도 하나의 추출된 패치에 대해, 상기 적어도 하나의 패치에 변환이 적용되어야 하는지 여부 그리고 상기 적어도 하나의 패치에 어느 변환이 적용되어야 하는지를 결정하고 ―상기 변환은 상기 패치의 적어도 하나의 서브샘플링 또는 상기 패치의 픽셀 값들의 수정을 포함하는 변환들의 그룹에 속함―,
    - 상기 결정된 변환을 상기 적어도 하나의 패치에 적용하고, 그리고
    - 상기 데이터 스트림에 적어도 하나의 아틀라스를 코딩하도록 구성된 메모리 및 프로세서를 포함하며,
    상기 적어도 하나의 아틀라스는, 적어도, 상기 적어도 하나의 패치를 포함하는 이미지에 대응하는,
    멀티-뷰 비디오를 나타내는 데이터 스트림을 코딩하기 위한 디바이스.
  15. 컴퓨터 프로그램으로서,
    상기 프로그램이 프로세서에 의해 실행될 때, 제1 항 내지 제10 항 내지 제12 항 중 어느 한 항에 따른 디코딩 방법을 구현하기 위한 명령들 및/또는 제11 항 또는 제12 항에 따른 코딩 방법을 구현하기 위한 명령들을 포함하는,
    컴퓨터 프로그램.
KR1020227040112A 2020-04-22 2021-03-29 멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들 KR20230002802A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR2003994A FR3109685A1 (fr) 2020-04-22 2020-04-22 Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
FRFR2003994 2020-04-22
PCT/FR2021/050551 WO2021214395A1 (fr) 2020-04-22 2021-03-29 Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues

Publications (1)

Publication Number Publication Date
KR20230002802A true KR20230002802A (ko) 2023-01-05

Family

ID=71452477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227040112A KR20230002802A (ko) 2020-04-22 2021-03-29 멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들

Country Status (8)

Country Link
US (1) US20230164352A1 (ko)
EP (1) EP4140136A1 (ko)
JP (1) JP2023522456A (ko)
KR (1) KR20230002802A (ko)
CN (1) CN115428456A (ko)
BR (1) BR112022020642A2 (ko)
FR (1) FR3109685A1 (ko)
WO (1) WO2021214395A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11457199B2 (en) * 2020-06-22 2022-09-27 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immversive video

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005016827A1 (de) * 2005-04-12 2006-10-19 Siemens Ag Adaptive Interpolation bei der Bild- oder Videokodierung
JP5711098B2 (ja) * 2011-11-07 2015-04-30 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US20210006830A1 (en) * 2019-03-19 2021-01-07 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
KR20210155386A (ko) * 2019-05-14 2021-12-22 인텔 코포레이션 3DoF+/MIV 및 V-PCC에 대한 몰입형 비디오 코딩 기술
KR102292195B1 (ko) * 2019-07-04 2021-08-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN115004230A (zh) * 2020-01-14 2022-09-02 华为技术有限公司 用于v-pcc的缩放参数

Also Published As

Publication number Publication date
JP2023522456A (ja) 2023-05-30
CN115428456A (zh) 2022-12-02
WO2021214395A1 (fr) 2021-10-28
BR112022020642A2 (pt) 2022-11-29
EP4140136A1 (fr) 2023-03-01
FR3109685A1 (fr) 2021-10-29
US20230164352A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US9860563B2 (en) Hybrid video coding supporting intermediate view synthesis
KR101727094B1 (ko) 3d 비디오에서 추가 뷰들을 생성하기 위한 뷰포인트들을 선택하는 방법
US11856219B2 (en) Multi-view coding with effective handling of renderable portions
US11689738B2 (en) Multi-view coding with exploitation of renderable portions
US11910016B2 (en) Method and device for multi-view video decoding and method and device for image processing
KR20230002802A (ko) 멀티-뷰 비디오 시퀀스를 코딩 및 디코딩하기 위한 방법들 및 디바이스들
US20230308682A1 (en) Methods and devices for coding and decoding a multi-view video sequence
Muller et al. Compressing time-varying visual content
US20240179340A1 (en) Multi-view coding with effective handling of renderable portions
US20220092827A1 (en) Method, apparatus, system and computer-readable recording medium for feature information
Lim et al. Adaptive Patch-Wise Depth Range Linear Scaling Method for MPEG Immersive Video Coding
Zhang et al. Block-based in-loop view synthesis for 3-D video coding
KR20230078669A (ko) 다시점 비디오의 인코딩 및 디코딩 방법
RU2587986C2 (ru) Создание изображений с расширенным динамическим диапазоном из изображений с суженным динамическим диапазоном