KR20230156318A - 화상 코딩 모드를 결정하는 방법 - Google Patents

화상 코딩 모드를 결정하는 방법 Download PDF

Info

Publication number
KR20230156318A
KR20230156318A KR1020237028189A KR20237028189A KR20230156318A KR 20230156318 A KR20230156318 A KR 20230156318A KR 1020237028189 A KR1020237028189 A KR 1020237028189A KR 20237028189 A KR20237028189 A KR 20237028189A KR 20230156318 A KR20230156318 A KR 20230156318A
Authority
KR
South Korea
Prior art keywords
pixels
coding
mode
decoding
current set
Prior art date
Application number
KR1020237028189A
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 KR20230156318A publication Critical patent/KR20230156318A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 픽셀들의 적어도 하나의 현재 세트를 인코딩 또는 디코딩하기 위해 적어도 두 개의 코딩 또는 디코딩 모드로부터 적어도 하나의 코딩(MCc) 모드 또는 디코딩(MDc) 모드를 결정하는 방법에 관한 것이다. 이러한 결정은, 픽셀들의 적어도 하나의 참조 세트(BR0)의 분석(P1)으로부터 적어도 하나의 코딩 또는 디코딩 모드가 결정(P2)되는 것을 특징으로 한다.

Description

이미지 코딩 모드 결정 방법
본 발명은, 일반적으로 화상 처리 분야에 관한 것으로서, 더욱 구체적으로는 디지털 화상과 디지털 화상 시퀀스의 코딩 및 디코딩에 관한 것이다.
디지털 화상의 코딩/디코딩은 특히 하기를 포함하는 적어도 하나의 비디오 시퀀스로부터의 화상에 적용된다:
- 하나의 동일한 카메라로부터의 시간적으로 연속되는 화상(2D 코딩/디코딩),
- 상이한 뷰로 배향된 다양한 카메라로부터의 화상(3D 코딩/디코딩),
- 해당 텍스처 및 심도 성분(3D 코딩/디코딩),
- 기타.
본 발명은 2D 또는 3D 화상의 코딩/디코딩에 유사하게 적용된다.
본 발명은, 특히 현재의 AVC, HEVC 및 VVC 비디오 인코더 및 이들의 확장(MVC, 3D-AVC, MV-HEVC, 3D-HEVC 등)에서 구현되는 비디오 코딩 및 대응하는 디코딩에 배타적이지 않게 적용될 수 있다.
현재의 비디오 인코더(MPEG, AVC, HEVC, VVC, AV1 등)는 비디오 시퀀스의 블록 단위 표현을 사용한다. 화상들은 재귀적으로 다시 분할될 수 있는 블록들로 분할된다. 이어서, 각 블록은, 예를 들어, 인트라(Intra), 인터(Inter), 스킵(Skip), 머지(Merge) 등의 특정 코딩 모드를 사용하여 코딩된다. 일부 화상은, 예를 들어, 인트라 코딩 모드, IBC("Intra Block Copy")(인트라 블록 카피) 코딩 모드와 같은 코딩 모드를 사용하여, 다른 과거 또는 미래 화상을 참조하지 않고 코딩된다. 다른 화상은 하나 이상의 코딩-디코딩된 참조 화상에 대하여 통상의 기술자에게 잘 알려진 움직임 보상을 사용하여 코딩된다. 이러한 시간적 코딩 모드를 인터 코딩 모드라고 한다.
예측에 의해 감소된 원본 블록에 해당하는 예측 잔차라고도 하는 잔차 블록은 각 블록에 대하여 코딩된다. 스킵 코딩 모드의 경우에, 잔차 블록은 0이다.
이러한 블록에 대하여 다수의 인트라, 인터, 스킵, 머지 등의 코딩 모드들이, 최상의 코딩 모드, 즉, 미리 결정된 코딩 성능 기준, 예컨대, 데이터 속도/왜곡 비용, 즉, 원본 화상과 코딩된 후 디코더에 의해 디코딩된 화상 간의 왜곡 측정치 비교, 및 디코딩 명령어를 전송하는 데 필요한 데이터 속도, 또는 심지어 당업계의 통상의 기술자에게 잘 알려져 있는 기준인 효율/복잡도 절충에 따라 고려 중인 블록의 코딩을 최적화하는 코딩 모드를 선택하는 것을 목표로, 인코더에서 경쟁되고 있다. 인코더는, 디코더가 원본 블록을 재구축할 수 있도록 최적의 코딩 모드에 관한 코딩 정보를 디코더에 전송하는 역할을 한다. 이러한 정보는 통상적으로 이진 표현 형식의 스트림으로 전송된다.
예를 들어, 픽셀-대-픽셀 위치 측면에서, 선택된 코딩 모드가 더 정확할수록, 잔차의 데이터 속도는 느려질 것이다. 반면, 특히 형상의 윤곽선에서 더 많은 정보가 전송되어야 한다.
디코딩은, 스트림으로부터 판독된 후 디코딩된 코딩 정보에 기초하여, 또한, 디코더에서 이미 이용가능한, 즉, 사전에 디코딩된 요소에 기초하여 디코더에서 실행된다.
이미 이용가능한 이러한 요소들은 특히 하기와 같다:
- 현재 디코딩 중인 화상의 요소: 이어서, 예를 들어, 인트라 또는 IBC 디코딩 모드를 참조하고,
- 이전에 디코딩된 다른 화상으로부터의 요소: 이어서, 인터 디코딩 모드를 참조한다.
이러한 두 가지 유형의 인트라 및 인터 코딩 모드는 VVC("Versatile Video Coding")(다용도 비디오 코딩) 표준에 따라 결합될 수 있다. CIIP("Combined Inter and Intra Prediction")(결합된 인터 및 인트라 예측)를 참조한다.
이러한 예측 기술에 따르면, 인코더는 실행될 최적의 모드 유형을 디코더에 시그널링해야 한다. 이 정보는 각 블록에 대하여 전달된다. 이는 스트림에 대량의 정보가 삽입되는 것을 초래할 수 있으므로, 데이터 속도를 제한하기 위해 최소화되어야 한다. 그 결과, 특히 많은 세부 사항을 포함하는 고도로 텍스처링된 화상의 경우에, 정확도가 떨어질 수 있다.
이러한 정확도 부족으로 인해 주어진 데이터 속도에 대하여 재구축된 화상의 품질이 제한된다.
본 발명의 목적들 중 하나는, 픽셀들의 현재 세트의 코딩용으로 결정된 코딩 모드에 관한 정보를 시그널링하는 비용을 감소시키기 위해 종래 기술로부터의 코딩 모드의 결정을 개선함으로써 전술한 종래 기술의 단점을 수정하는 것이다.
이를 위해, 본 발명의 한 가지 주제는, 픽셀들의 적어도 하나의 현재 세트를 각각 코딩, 디코딩하기 위해 적어도 두 개의 코딩 모드, 디코딩 모드 각각 중에서 적어도 하나의 코딩 모드, 디코딩 모드를 각각 결정하는 방법에 관한 것이다. 이러한 결정 방법은, 상기 적어도 하나의 코딩 모드, 디코딩 모드 각각이 픽셀들의 적어도 하나의 참조 세트의 분석에 기초하여 결정되는 것을 특징으로 한다.
본 발명에 따라 적어도 하나의 코딩 모드(디코딩 모드 각각)를 결정하는 이러한 방법은, 적어도 두 개의 가능한 코딩 모드(디코딩 모드 각각) 중에서 픽셀들의 현재 세트의 각 픽셀에 적용될 하나 및/또는 그 이상의 코딩 모드(디코딩 모드 각각)를 결정하기 위해, 픽셀들의 하나 이상의 참조 세트, 즉, 픽셀들의 현재 세트의 코딩 또는 디코딩 시 이미 디코딩된 픽셀들의 하나 이상의 세트에만 의존하는 것을 유리하게 할 수 있다. 이러한 또는 이들 픽셀들의 하나 이상의 참조 세트가 픽셀들의 현재 세트의 코딩(디코딩 각각) 시 이용가능하므로, 이러한/이들 픽셀들의 참조 세트의 정확도는, 종래 기술에서 블록 단위 방식으로 동작하는 인코더(디코더 각각)와는 달리 각 픽셀 위치에 대하여 완벽하게 알려져 있다. 따라서, 픽셀들의 현재 세트의 각 픽셀에 적용될 하나 이상의 코딩(디코딩 각각) 모드의 결정은, 블록당 코딩 성능 기준의 연산에 기초하는 종래 기술에서 구현된 것보다 더 직접적이고 공간적으로 정확하므로, 개선된다.
따라서, 픽셀들의 현재 세트에 적용될 코딩(디코딩 각각) 모드는 더 정확하고 화상의 국부적 속성에 더 잘 맞게 조정된다.
이로 인해 재구축된 화상의 품질이 개선된다.
특정한 일 실시예에 따르면, 적어도 두 개의 모드 중의 단일 코딩 모드, 디코딩 모드는 각각 픽셀들의 현재 세트의 적어도 하나의 픽셀에 대하여 결정되며, 한 모드 또는 다른 모드의 결정은 상기 적어도 하나의 픽셀 내지 상기 세트의 적어도 하나의 다른 픽셀에 걸쳐 가변된다.
이러한 실시예는 유리하게 픽셀 정확도를 갖고 종래 기술(예를 들어, 인트라, 스킵, 인터 등)로부터의 코딩 또는 디코딩 모드를 재사용할 수 있게 한다.
특정한 다른 일 실시예에 따르면, 적어도 두 개의 코딩 모드, 디코딩 모드는 각각 픽셀들의 현재 세트의 적어도 하나의 픽셀에 대하여 조합하여 결정된다.
이러한 실시예는, 유리하게 하나의 동일한 픽셀을 코딩, 디코딩하기 위해 적어도 두 개의 코딩 모드(스킵, 인트라, 인터 등),디코딩 모드를 각각 조합할 수 있게 한다. 이 실시예는, 또한, 블록 효과에 비교될만한 불연속성을 생성하지 않고 하나의 코딩 모드, 디코딩 모드 각각으로부터 다른 코딩, 디코딩 모드로 점진적으로 변경할 수 있게 한다.
특정한 또 다른 일 실시예에 따르면, 상기 적어도 하나의 코딩 모드, 디코딩 모드 각각의 결정은 픽셀들의 현재 세트의 분석으로부터 발생하는 수정 파라미터에 의해 수정된다.
이러한 실시예는, 픽셀들의 현재 세트가 픽셀들의 하나 이상의 참조 세트에서 존재하지 않았던/예측할 수 없었던 요소를 포함할 때 상기 적어도 하나의 코딩 또는 디코딩 모드의 결정에 보정을 적용하는 것을 유리하게 할 수 있다.
위에서 언급한 다양한 실시예 또는 구현 특징은 전술한 결정 방법에 독립적으로 또는 서로 조합하여 추가될 수 있다.
본 발명은, 또한, 적어도 하나의 코딩 모드, 디코딩 모드 각각을 결정하는 장치에 관한 것으로서, 픽셀들의 적어도 하나의 현재 세트를 각각 인코딩, 디코딩하기 위해 적어도 두 개의 코딩 모드, 디코딩 모드 각각 중에서 적어도 하나의 코딩 모드, 디코딩 모드 각각을 결정하도록 구성된 프로세서를 포함한다.
이러한 결정 장치는, 상기 적어도 하나의 코딩 모드, 디코딩 모드 각각이 픽셀들의 적어도 하나의 참조 세트의 분석에 기초하여 결정되는 것을 특징으로 한다.
특정한 일 실시예에서, 결정 장치는 신경망이다.
신경망의 사용은 유리하게 상기 적어도 하나의 코딩 모드, 디코딩 모드 각각의 결정의 정확도를 최적화할 수 있게 한다.
이러한 결정 장치는 특히 전술한 결정 방법을 구현할 수 있다.
본 발명은, 또한, 코딩 장치에 의해 구현되며 픽셀들의 적어도 하나의 현재 세트를 코딩하는 방법에 관한 것으로서, 픽셀들의 현재 세트는 적어도 하나의 코딩 모드의 결정에 기초하여 코딩된다.
이러한 코딩 방법은, 상기 적어도 하나의 코딩 모드가 본 발명에 따른 전술한 결정 방법에 따라 결정되는 것을 특징으로 한다.
이러한 코딩 방법은, 픽셀들의 현재 세트를 코딩하는 데 사용되는 하나 및/또는 그 이상의 코딩 모드를 나타내는 하나 이상의 인덱스의 코딩을 필요로 하지 않는다는 점에서 유리하다. 이는, 이러한 또는 이들 모드 인덱스가 픽셀들의 현재 세트에 대하여 인코더에 의해 디코더에 의해 전송될 필요가 없고, 이에 따라 더 나은 코딩 모드 선택과 관련하여 더 양호한 화상 재구축 품질을 위해 인코더와 디코더 간에 전송되는 정보를 시그널링하는 비용을 감소시킬 수 있게 함을 의미한다.
본 발명은, 또한, 픽셀들의 적어도 하나의 현재 세트를 코딩하는 장치 또는 인코더에 관한 것으로서, 적어도 하나의 코딩 모드의 결정에 기초하여 픽셀들의 현재 세트를 코딩하도록 구성된 프로세서를 포함한다.
이러한 코딩 장치는, 본 발명에 따른 적어도 하나의 코딩 모드를 결정하는 전술한 장치를 포함하는 것을 특징으로 한다.
이러한 코딩 장치는 특히 발명에 따른 전술한 코딩 방법을 구현할 수 있다.
본 발명은, 또한, 디코딩 장치에 의해 구현되며 픽셀들의 적어도 하나의 현재 세트를 디코딩하는 방법에 관한 것으로서, 픽셀들의 현재 세트는 적어도 하나의 디코딩 모드의 결정에 기초하여 디코딩된다.
이러한 디코딩 방법은, 상기 적어도 하나의 디코딩 모드가 본 발명에 따른 전술한 결정 방법에 따라 결정되는 것을 특징으로 한다.
이러한 디코딩 방법의 이점은, 디코더가 인코더로부터 수신된 데이터 신호로부터의 특정 정보를 판독할 필요 없이 픽셀들의 현재 세트를 디코딩하기 위한 적어도 하나의 디코딩 모드의 결정이 픽셀들의 하나 이상의 이용가능한 참조 세트에 기초하여 디코더에 의해 자율적으로 구현된다는 사실에 있다.
본 발명은, 또한, 픽셀들의 적어도 하나의 현재 세트를 디코딩하는 디코딩 장치 또는 디코더에 관한 것으로서, 적어도 하나의 디코딩 모드의 결정에 기초하여 픽셀들의 현재 세트를 디코딩하도록 구성된 프로세서를 포함한다.
이러한 디코딩 장치는, 본 발명에 따른 적어도 하나의 디코딩 모드를 결정하는 전술한 장치를 포함하는 것을 특징으로 한다.
이러한 디코딩 장치는 특히 본 발명에 따른 전술한 디코딩 방법을 구현할 수 있다.
본 발명은, 또한, 컴퓨터 프로그램이 프로세서에 의해 실행될 때 전술한 특정 실시예들 중 임의의 일 실시예에 따라 본 발명에 따른 결정 방법 및 본 발명에 따른 결정 방법을 통합하는 코딩 또는 디코딩 방법을 또한 구현하기 위한 명령어를 포함하는 상기 컴퓨터 프로그램에 관한 것이다.
이러한 명령어는, 전술한 결정 방법을 구현하는 결정 장치, 전술한 코딩 방법을 구현하는 인코더, 전술한 디코딩 방법을 구현하는 디코더의 비일시적 메모리 매체에 영구적으로 저장될 수 있다.
이 프로그램은, 임의의 프로그래밍 언어를 사용할 수 있으며, 소스 코드, 개체 코드, 또는 부분적으로 컴파일링된 형태 또는 다른 임의의 바람직한 형태와 같이 소스 코드와 개체 코드 사이의 중간 코드의 형태일 수 있다.
본 발명은, 또한, 전술한 바와 같은 컴퓨터 프로그램의 명령어를 포함하는 컴퓨터-판독가능 기록 매체 또는 정보 매체를 대상으로 한다.
기록 매체는 프로그램을 저장할 수 있는 임의의 개체 또는 장치일 수 있다. 예를 들어, 매체는, ROM, 예를 들어 CD-ROM, DVD-ROM, 합성 DNA(데옥시리보핵산) 등, 또는 마이크로전자 회로 ROM과 같은 저장 수단, 또는 예를 들어 USB 키 또는 하드 디스크와 같은 자기 기록 수단을 포함할 수 있다.
또한, 기록 매체는, 전기 케이블 또는 광 케이블을 통해, 무선에 의해, 또는 다른 수단에 의해 전달될 수 있는 전기 신호 또는 광 신호와 같은 전송가능 매체일 수 있다. 본 발명에 따른 프로그램은 특히 인터넷과 같은 네트워크로부터 다운로드될 수 있다.
대안으로, 기록 매체는 프로그램이 통합된 집적 회로일 수 있으며, 이 회로는, 전술한 결정 방법, 본 발명에 따른 코딩 방법 또는 디코딩 방법을 실행하도록, 또는 이들의 실행에 사용되도록 설계된다.
다른 특징 및 이점은 예시적이고 비제한적인 예 및 첨부 도면에 의해 제공되는 본 발명의 특정한 실시예를 읽음으로써 명백해질 것이다.
도 1은 본 발명에 따라 적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법의 주요 단계들을 도시한다.
도 2a는 본 발명의 특정한 제1 실시예에서 도 1의 결정 방법에서 분석되는 픽셀들의 참조 세트의 한 유형을 도시한다.
도 2b는 본 발명의 특정한 제2 실시예에서 도 1의 결정 방법에서 분석되는 픽셀들의 참조 세트의 다른 유형을 도시한다.
도 3a는 제1 실시예에서 도 1의 결정 방법을 구현하는 결정 장치를 도시한다.
도 3b는 제2 실시예에서 도 1의 결정 방법을 구현하는 결정 장치를 도시한다.
도 4는 도 3b의 결정 장치를 훈련시키는 방법을 개략적으로 도시한다.
도 5a는 픽셀들의 두 개의 참조 세트에 대한 픽셀들의 현재 세트의 예측된 버전의 예시적인 제1 변위를 도시한다.
도 5b는 픽셀들의 두 개의 참조 세트에 대한 픽셀들의 현재 세트의 예측된 버전의 예시적인 제2 변위를 도시한다.
도 5c는 픽셀들의 두 개의 참조 세트에 대한 픽셀들의 현재 세트의 예측된 버전의 예시적인 제3 변위를 도시한다.
도 5d는 본 발명의 특정한 일 실시예에서 도 5a의 유형의 변위의 경우에 구현된 움직임 보상을 도시한다.
도 5e는 본 발명의 특정한 일 실시예에서 도 5d의 움직임 보상의 종료 시 구현되는 적어도 하나의 코딩 모드, 디코딩 모드 각각의 결정을 도시한다.
도 6은 도 3a의 결정 장치에 의해 구현되는 결정 방법의 소정의 단계들을 보다 상세하게 도시한다.
도 7은 본 발명의 특정한 일 실시예에서 도 1의 적어도 하나의 코딩 모드를 결정하는 방법을 구현하는 화상 코딩 방법의 주요 단계들을 도시한다.
도 8a는 제1 실시예에서 도 7의 코딩 방법을 구현하는 인코더를 도시한다.
도 8b는 제2 실시예에서 도 7의 코딩 방법을 구현하는 인코더를 도시한다.
도 9는 본 발명의 특정한 일 실시예에서 도 1의 적어도 하나의 디코딩 모드를 결정하는 방법을 구현하는 화상 디코딩 방법의 주요 단계들을 도시한다.
도 10a는 제1 실시예에서 도 9의 디코딩 방법을 구현하는 디코더를 도시한다.
도 10b는 제2 실시예에서 도 9의 디코딩 방법을 구현하는 디코더를 도시한다.
도 11은 본 발명의 특정한 일 실시예에서 도 1의 코딩 모드를 결정하는 방법의 변형을 구현하는 화상 코딩 방법의 단계들을 도시한다.
도 12는 본 발명의 특정한 일 실시예에서 도 11의 코딩 방법을 구현하는 인코더를 도시한다.
도 13은 본 발명의 특정한 일 실시예에서 도 1의 디코딩 모드를 결정하는 방법의 변형을 구현하는 화상 디코딩 방법의 단계들을 도시한다.
도 14는 본 발명의 특정한 일 실시예에서 도 13의 디코딩 방법을 구현하는 디코더를 도시한다.
적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법의 예시적인 구현
발명의 일반적 원리
적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법
2D 또는 3D 화상을 각각 코딩, 디코딩하기 위해 적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법에 대한 설명이 아래에 제공되며, 상기 결정 방법은, 예를 들어, AVC, HEVC, VVC 표준 및 이들의 확장(MVC, 3D-AVC, MV-HEVC, 3D-HEVC 등) 등, 예컨대, 컨볼루션 신경망(또는 CNN)을 준수하는 임의의 유형의 비디오 인코더 또는 디코더에서 구현될 수 있다.
도 1을 참조하면, 본 발명에 따른 적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법은, 픽셀들의 적어도 하나의 참조 세트(BR0), 즉, 이미 코딩되었고 디코딩되었으며 따라서 N개 픽셀(p1, p2,..., pN)(N≥1)을 포함하는 픽셀들의 현재 세트(Bc)를 각각 코딩 또는 디코딩하도록 의도된 상기 적어도 하나의 코딩 또는 디코딩 모드를 결정할 때 이용가능한 픽셀들의 참조 세트를 사용한다.
본 발명의 의미 내에서, 픽셀들의 현재 세트(Bc)는 하기를 의미하는 것으로 이해된다:
- 원본 현재 화상;
- 원본 현재 화상의 일부 또는 영역;
- 표준화된 AVC, HEVC 또는 VVC 인코더에서 실행되는 것에 따라 이 화상을 분할함으로써 발생하는 현재 화상의 블록.
본 발명에 따르면, 도 2a에 도시된 바와 같이, 픽셀들의 참조 세트(BR0)는 픽셀들의 현재 세트(Bc)를 포함하는 현재 화상(Ii)에 속할 수 있다. 이 경우, 픽셀들의 현재 세트(Bc)에 대한 적어도 하나의 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는 이 픽셀들의 참조 세트(BR0)에 대하여 결정된다.
물론, 상기 적어도 하나의 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는 픽셀들의 참조 세트(BR0) 및 현재 화상(Ii)에 속하는 픽셀들의 하나 이상의 다른 참조 세트에 대하여 결정될 수 있다.
본 발명에 따르면, 도 2b에 도시된 바와 같이, 픽셀들의 참조 세트(BR0)는, 시간상 현재 화상(Ii)보다 앞서거나 뒤따르는 이미 코딩 및 디코딩된 참조 화상에 속할 수 있다. 이 경우, 픽셀들의 현재 세트(Bc)에 대한 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는 픽셀들의 참조 세트(BR0)에 대하여 결정된다. 도시된 예에서, 픽셀들의 현재 세트(Bc)에 대한 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는 픽셀들의 참조 세트(BR0)에 대하여 연산될 수 있고, 픽셀들의 참조 세트(BR0)는, 예를 들어, 직전 화상(IRi-1)에 속하지만, 다른 참조 화상, 예컨대, 코딩 순서로 현재 화상(Ii)에 선행하는 화상(IRi +1) 또는 기타 참조 화상, 즉, 현재 화상(Ii) 이전에 이미 코딩된 후 디코딩된 화상에 속할 수도 있다. 도시된 예에서, 픽셀들의 현재 세트(Bc)에 대한 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는, 또한, 현재 화상(Ii)에 선행하는 참조 화상에 위치하는 픽셀들의 참조 세트(BR0)에 대하여 및 현재 화상(Ii)을 후속하는 참조 화상에 위치하는 픽셀들의 적어도 하나의 다른 참조 세트(BR1)에 대하여 연산될 수 있다. 도시된 예에서, 픽셀들의 참조 세트(BR0)는 참조 화상(IRi - 2)에 위치하고, 픽셀들의 참조 세트(BR1)는 참조 화상(IRi + 1)에 위치한다. 여전히 참조 화상에 위치하는 픽셀들의 참조 세트에 대한 적어도 하나의 코딩 또는 디코딩 모드의 결정의 맥락에서 그리고 도 2b에 도시된 바와 같이, 픽셀들의 현재 세트(Bc)에 대한 코딩 모드(MCc)(디코딩 모드(MDc) 각각)는 현재 화상(Ii)에 선행하는 참조 화상에 각각 위치하는 픽셀들의 두 개의 참조 세트(BR0, BR1)에 대하여 연산될 수 있다. 도시된 예에서, 픽셀들의 참조 세트(BR0)는 참조 화상(IRi - 2)에 위치하고, 픽셀들의 참조 세트(BR1)는 참조 화상(IRi - 1)에 위치한다.
물론, 픽셀들의 현재 세트(Bc)에 대한 상기 적어도 하나의 현재 코딩 모드(MCc)(디코딩 모드(MDc) 각각)를 연산하기 위해 픽셀들의 참조 세트(BR0 및 BR1)와 함께 픽셀들의 하나 이상의 다른 참조 세트가 사용될 수 있다.
다시 도 1을 참조하면, 본 발명에 따른 이러한 결정 방법은 하기를 포함한다:
P1에서는, 픽셀들의 하나의 현재 세트(Bc)의 적어도 하나의 현재 픽셀(pc(1≤c≤N))에 대하여, 상기 픽셀들의 적어도 하나의 참조 세트(BR0)가 분석된다. 이러한 단계는, 특히 BR0의 위치, 하나의 참조 화상으로부터 다른 하나의 참조 화상으로의 변위, BR0의 변위 동안 폐색(occlusion) 영역이 생성되는지 여부 등을 분석하는 것을 포함한다.
P2에서는, BR0의 분석에 기초하여, 고려 중인 적어도 두 개의 코딩 모드(MC1, MC2), 디코딩 모드(MD1, MD2) 각각 중에서 코딩 모드(MCc), 디코딩 모드(MDc) 각각이 선택된다.
모드(MC1, MD1)는 각각, 예를 들어, 인터 모드이다. 모드(MC2, MD2)는 각각, 예를 들어, 인트라 모드이다. 대안으로, 모드(MC1, MD1)는 각각, 예를 들어, 인터 모드이고, 모드(MC2, MD2)는 각각, 예를 들어, 스킵 모드이다.
단계(P2)의 종료 시, 코딩 모드(MCc), 디코딩 모드(MDc)는 각각 상기 적어도 하나의 현재 픽셀(pc)에 대하여 결정된다.
단계(P1 내지 P2)는 픽셀들의 현재 세트(Bc)의 N개 픽셀 각각에 대하여 반복된다.
물론, 방금 설명한 결정 방법에서 두 개 초과의 코딩 모드, 디코딩 모드 각각이 고려될 수 있다. 예를 들어, 결정 동안 하기의 세 개의 인코딩 또는 디코딩 모드가 고려될 수 있다:
- MC1/MD1 모드는 인터이고,
- MC2/MD2 모드는 인트라이고,
- MC3/MD3 모드는 스킵이다.
단계(P2)의 변형으로서, 상기 적어도 하나의 현재 픽셀(pc)을 코딩/디코딩하기 위해 적어도 두 개의 코딩/디코딩 모드가 조합되어 결정될 수 있다. 예를 들어, Bc를 코딩/디코딩하기 위해 모드들(MC1/MD1=인터 및 MC2/MD2=인트라)의 조합이 결정될 수 있다. 다른 일례로, Bc를 코딩/디코딩하기 위해 모드들(MC1/MD1=인터 및 MC3/MD3=스킵)의 조합이 결정될 수 있다.
적어도 하나의 코딩 또는 디코딩 모드를 결정하는 장치의 예시적인 구현
도 3a는 본 발명의 제1 실시예에 따라 도 1에 예시된 결정 방법을 구현하기에 적합한 적어도 하나의 코딩 또는 디코딩 모드를 결정하는 장치(DMOD1)를 도시한다.
이러한 제1 실시예에 따르면, 결정 방법에 의해 수행되는 동작은 컴퓨터 프로그램 명령어에 의해 구현된다. 이를 위해, 예측 장치(DMOD1)는, 컴퓨터의 종래 아키텍처를 갖고, 특히 메모리(MEM_DM1), 및 예를 들어 프로세서(PROC_DM1)가 장착되고 메모리(MEM_DM1)에 저장된 컴퓨터 프로그램(PG_DM1)에 의해 구동되는 처리 유닛(UT_DM1)을 포함한다. 컴퓨터 프로그램(PG_DM1)은, 프로그램이 프로세서(PROC_DM1)에 의해 실행될 때 전술한 바와 같은 결정 방법의 동작을 구현하기 위한 명령어를 포함한다.
초기화 시, 컴퓨터 프로그램(PG_DM1)의 코드 명령어는, 프로세서(PROC_DM1)에 의해 실행되기 전에, 예를 들어, RAM 메모리(도시하지 않음)에 로딩된다. 처리 유닛(UT_DM1)의 프로세서(PROC_DM1)는 특히 컴퓨터 프로그램(PG_DM1)의 명령어에 따라 전술한 결정 방법의 동작을 구현한다.
결정 장치는, 입력(E_DM1)에서, 픽셀들의 하나 이상의 참조 세트(BR0, BR1 등)를 수신하고, 다양한 이용가능한 코딩 모드(MC1, MC2), 디코딩 모드(MD1, MD2)를 각각 평가하고, 출력(S_DM1)에서, 픽셀들의 현재 세트(Bc)를 각각 코딩 또는 디코딩하는 데 사용될 코딩 모드(MCc) 또는 디코딩 모드(MDc)를 전달한다.
도 3b는 본 발명의 제2 실시예에 따라 도 1에 예시된 결정 방법을 구현하기에 적합한 적어도 하나의 코딩 또는 디코딩 모드를 결정하는 장치(DMOD2)를 도시한다.
이러한 제2 실시예에 따르면, 결정 장치(DMOD2)는, 예를 들어, 입력에서 수신된 픽셀들의 하나 이상의 참조 세트(BR0, BR1 등)로부터 픽셀들의 현재 세트(Bc)의 각 픽셀에 대한 코딩 모드(MCc) 또는 디코딩 모드(MDc)를 출력에서 전달하기 위해 도 1의 결정 방법의 단계들(P1 내지 P2)을 공동 구현하는 RNC1로 표기되는, 컨벌루션 신경망, 다층 퍼셉트론, LSTM("Long Short Term Memory") 등과 같은 신경망이다.
그 자체로 알려진 방식으로, 컨벌루션 신경망(RNC1)은 필터링, 비선형성, 및 스케일링 연산의 연속 층들을 실행한다. 사용되는 각 필터는 컨볼루션 커널에 의해 파라미터화되고 비선형성이 파라미터화된다(ReLU, Leaky ReLU, GDN("generalized divisive normalization") 등). 신경망(RNC1)은, 예를 들어, 문헌 D. Sun, et al., "PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume" CVPR 2018에 설명된 유형이다.
이 경우, 신경망(RNC1)은 도 4에 도시된 방식으로 훈련될 수 있다.
이를 위해, 신경망(RNC1)은 하기를 위해 훈련될 수 있다:
- BR0, BR1 등으로부터의 움직임을 현재 코딩 또는 디코딩 중인 픽셀들의 현재 세트(Bc)로 각각 보간하기 위해, 픽셀들의 예측 세트(BPc)를 획득하기 위해 하나 이상의 변위 벡터(V0, V1 등)를 추정할 수 있도록,
- 적어도 두 개의 코딩 모드, 디코딩 모드 각각으로부터 코딩 모드(MCc), 디코딩 모드(MDc)를 각각 추정하도록.
코딩 모드(MCc), 디코딩 모드(MDc)는 각각, 예를 들어, 하기를 나타내는 적어도 두 개의 값인 0 또는 1을 취한다:
- 인터 모드와 스킵 모드,
- 인트라 모드와 스킵 모드,
- 인터 모드와 인트라 모드,
- 기타.
예비 단계에서, 망(RNC1)은 도 1의 동작(P1 내지 P2)을 실행하도록 훈련된다. 예를 들어, 망(RNC1)은, 코딩될 픽셀들의 현재 세트(Bc)와 하기로부터 선택되는 적어도 하나의 코딩 모드(MCc)(디코딩 모드(MDc) 각각)를 적용한 후에 획득되는 픽셀들의 세트(BSc) 간의 평균 제곱근 오차를 최소화하도륵 훈련된다:
- 스킵 모드에 해당하는, 움직임 보상을 통해 획득된 픽셀들의 현재 예측 세트(BPc)로부터, 및
- 픽셀들의 현재 예측 세트(BPc), 및 Bc의 현재 픽셀들의 값과 픽셀들의 현재 예측 세트(BPc)의 픽셀들의 값 간의 차이의 잔차 신호 특성을 사용하여 획득되었거나 획득되지 않은 픽셀들의 재구축된 현재 세트(BDc)로부터, 이 잔차 신호는 양자화 파라미터(QP)에 의해 양자화된 후 코딩된다.
망(RNC1)은, 픽셀들의 현재 세트(Bc)와 함께 복수의 픽셀들의 연관된 참조 세트들(BR0, BR1 등)을 제시하고, 예를 들어, 코딩 모드(MCc)(디코딩 모드(MDc) 각각)의 선택에 따라 Bc의 픽셀들과 결과(BSc) 간의 평균 제곱근 오차를 최소화하도록 경사 하강 알고리즘을 사용하여 망의 가중치를 변경함으로써 훈련 단계 동안 훈련된다.
이러한 예비 훈련 단계의 종료 시, 망(RNC1)은 고정되고 모드 결정 장치(DMOD2)에서 사용하기에 적합하다.
결정 장치(DEMOD1)에 의해 구현되는 적어도 하나의 코딩/디코딩 모드를 결정하는 방법의 실시예
도 6 및 도 5a 내지 도 5e를 참조하여, 픽셀들의 현재 세트에 대한 적어도 하나의 코딩 또는 디코딩 모드가 도 3a의 결정 장치(DEMOD1)에서 결정되는 일 실시예에 대하여 설명할 것이다.
도시된 예에서는, 적어도 하나의 코딩 또는 디코딩 모드를 결정하기 위해 픽셀들의 두 개의 참조 세트(BR0 및 BR1)가 고려된다.
이를 위해, 도 6에 예시된 바와 같이, 픽셀들의 적어도 하나의 참조 세트의 분석(P1)은 하기를 포함한다:
P10에서는, BR0과 BR1 간의 움직임 추정이 연산된다. 이러한 단계는, 예를 들어, 변위 벡터의 추정과 같은 종래의 움직임 검색 단계를 통해 수행된다.
도 5a 내지 도 5c는 이 단계(P10) 동안 발생할 수 있는 픽셀들의 두 개의 참조 세트(BR0 및 BR1)에 대한 픽셀들의 현재 세트(Bc)의 예측된 버전(BPc)의 3개의 상이한 예시적 변위를 각각 도시한다. 도 5a 내지 도 5c의 예에서, 픽셀들의 참조 세트들(BR0 및 BR1) 간의 요소(E)(원으로 표시됨)의 변위는 움직임 벡터들의 필드에 의해 표현된다. 단순화를 위해, V01로 표시되고 도 5a 내지 도 5c의 점선으로 도시된 단일 벡터는, 도시된 예에서, 요소(E)의 BR0으로부터 BR1로의 움직임을 설명하기 위해 도시된다(화상의 나머지 부분들의 움직임은 제로로 고려된다).그러나, 예를 들어, 광학적 흐름 움직임 추정의 경우와 같이, 픽셀들의 참조 세트(BR0 내지 BR1)를 나타내는 픽셀이 존재하는 만큼 움직임 벡터가 있는 것은 말할 필요도 없다. 도 5a 내지 도 5c에 도시되지 않은 다른 예에 따르면, BR1로부터 BR0으로의 (반대) 움직임을 설명하는 벡터(V10)가 연산될 수 있다.
벡터(V01 또는 V10)가 P10에서 획득되었으므로, P11(도 6)은 BR0 및 BR1에 대하여 예측될 픽셀들의 현재 세트(Bc)의 변위를 추정하는 것을 포함한다. 이 추정은 도 5a 내지 도 5c에 예시되어 있는데, 여기서 요소(E)의 변위는 BR0 및 BR1이 위치하는 시점과는 다른 시점에서 추정되며, 이는 픽셀들의 현재 세트(Bc)가 위치하는 시점이다. V01 또는 V10의 연산에 대하여 동일한 규칙을 사용한다:
- BR0으로부터 Bc의 예측 위치로의 움직임을 설명하는 단일 벡터(V0)가 벡터(V01)로부터 연산되고,
- BR1로부터 Bc의 예측 위치로의 움직임을 설명하는 단일 벡터(V1)가 벡터(V01)로부터 연산된다.
도 5a의 예에서, 픽셀들의 현재 세트(Bc)가 시간상 BR0과 BR1 사이의 중간에 위치하면, 현재 시점에서의 요소(E)의 변위는 BR0과 BR1 사이 변위의 절반, 즉, 벡터(V01 또는 V10)의 절반에 해당하는 것으로 추정된다. 이러한 변위 구성은, 예를 들어, 도 2b에서와 같은 동일한 표기법을 채택하는 경우 BR0이 참조 화상(IRi - 1)에 속하고 BR1이 참조 화상(IRi+1)에 속하는 경우에 발생한다.
도 5b의 예에서, 픽셀들의 현재 세트(Bc)가 BR1보다 BR0에 시간적으로 더 가깝게 위치하면, 현재 시점에서의 요소(E)의 변위는 BR0과 BR1 사이 변위의 절반보다 짧은 것으로 추정된다. 예를 들어, BR0이 참조 화상(IRi - 1)에 속하고 BR1이 참조 화상(IRi+2)에 속한다면, 현재 시점에서의 요소(E)의 변위는 BR0과 BR1 사이의 변위의 1/3, 즉, 벡터(V01 또는 V10)의 1/3에 해당하는 것으로 추정된다.
도 5c의 예에서, 픽셀들의 현재 세트(Bc)가 시간상으로 BR0 뒤에 그리고 BR1 뒤에 위치하고, BR0이 참조 화상(IRi - 2)에 속하고 BR1이 참조 화상(IRi - 2)에 속하면, 현재 시점에서의 요소(E)의 변위는 BR0과 BR1 사이 변위의 두 배, 즉, 벡터(V01 또는 V10)의 두 배로 추정된다.
도 6 및 도 5d를 참조하면, P12에서, BR0 및 BR1은, BRC0 및 BRC1로 표시된 Bc의 두 개의 예측된 버전을 생성하기 위해 벡터(V0 및 V1)를 사용하여 각각 움직임 보상된다.
도 5d의 예시를 통해, 벡터(V0 및 V1)는, 예를 들어, 도 5a에 도시된 움직임 구성에 따라 획득되었으며, 이를 위해 현재 시점에서의 요소(E)의 변위는 BR0과 BR1 사이의 변위의 절반, 즉, 벡터(V01 또는 V10)의 절반에 해당한다고 추정되는 것을 고려할 수 있다.
도 5d는 하기를 도시한다:
- 요소(E)의 보간된 위치가 벡터(V0)에 의해 BR0의 요소(E)의 움직임 보상으로부터 발생하는 픽셀들의 세트(ERC0)를 포함하는 픽셀들의 우측-움직임-보상된 세트(BRC0),
- 요소(E)의 보간된 위치가 벡터(V1)에 의해 BR1의 요소(E)의 움직임 보상으로부터 발생하는 픽셀들의 세트(ERC1)를 포함하는 픽셀들의 좌측-움직임-보상된 세트(BRC1).
반면, ERC0의 부분(Z0)과 ERC1의 부분(Z1)은, BR0의 요소(E)와 BR1의 요소(E) 뒤에 위치하는 미지의 내용이므로, 정의되지 않는다. 그러나, 도 5d에서 알 수 있듯이, 부분(Z0)은 ERC1에서 정의되고 부분(Z1)은 ERC0에서 정의된다.
도 6 및 도 5e를 참조하여, 픽셀들 현재 세트(Bc)의 각 픽셀에 대하여 적어도 두 개의 코딩 모드(MC1, MC2) 또는 디코딩 모드(MD1, MD2) 중 하나의 선택(P2)에 대하여 설명한다. 도 5e는 요소(E)와 정의되지 않은 부분(Z0 및 Z1)의 예측된 위치를 나타내는 픽셀들의 현재 세트(Bc)의 예측 위치를 도시한다.
Z0 및 Z1의 위치(x,y)에 위치하는 픽셀들을 알 수 없으므로, 이러한 픽셀들은 P20에서 제1 코딩 모드(MC1(x,y)=인터), 디코딩 모드(MD1(x,y)=인터)에 각각 연관된다.
요소(E)의 예측된 위치(x,y) 및 (빗금으로 표현된) 배경(AP)의 예측된 위치(x,y)에 위치하는 픽셀들은, 이러한 픽셀들이 요소(E)의 픽셀들 및 픽셀들의 각 참조 세트들(BR0 및 BR1)의 배경(AP)의 픽셀들과 일관성이 있다는 점에서 알려져 있다. 이를 위해, P20에서, 이들 픽셀은, 예를 들어, 제2 코딩 모드(MC2(x,y)=스킵), 디코딩 모드(MD2(x,y)=스킵)와 각각 연관된다.
P21에서, 제1 코딩 모드(MC1(x,y)=인터), 디코딩 모드(MD1(x,y)=인터)는 각각 임의의 값, 예를 들어, 1을 취하는 반면, 제2 코딩 모드(MC2(x,y)=스킵), 디코딩 모드(MD2(x,y)=스킵)는 각각 MC1(x,y)/MD1(x,y)와는 다른 임의의 값, 예를 들어, 0을 취한다.
단계(P21)의 종료 시, 코딩 모드(MCc), 디코딩 모드(MDc)가 각각 결정되며, 이는 픽셀들의 현재 세트(Bc)에서 고려 중인 픽셀에 따라 0 또는 1인 두 개의 상이한 값을 취한다.
변형으로서:
- Z0 및 Z1의 위치에 위치한 픽셀들은 P20에서 제1 코딩 모드(MC1(x,y)=인트라), 디코딩 모드(MD1(x,y)=인트라)에 각각 연관되고,
- 요소(E)의 예측된 위치에 위치한 픽셀들은 P20에서 제2 코딩 모드(MC2(x,y)=인터), 디코딩 모드(MD2(x,y)=인터)에 각각 연관되고,
- 배경(AP)에 위치한 픽셀들은 P20에서 제3 코딩 모드(MC3(x,y)=스킵), 디코딩 모드(MD3(x,y)=스킵)에 각각 연관된다.
P21에서:
- 제1 코딩 모드(MC1(x,y)=인트라), 디코딩 모드(MD1(x,y)=인트라)는 각각 임의의 값, 예를 들어, 1을 취하고,
- 제2 코딩 모드(MC2(x,y)=인터), 디코딩 모드(MD2(x,y)=인터)는 각각, 예를 들어, MC1(x,y)/MD1(x,y)와는 다른 임의의 값인 0을 취하고,
- 제3 코딩 모드(MC3(x,y)=스킵), 디코딩 모드(MD3(x,y)=스킵)는 각각, 예를 들어, MC1(x,y)/MD1(x,y) 및 MC2(x,y)/MD2(x,y)와는 다른 임의의 값인 2를 취한다.
단계(P21)의 종료 시, 코딩 모드(MCc), 디코딩 모드(MDc)가 각각 결정되며, 이는 픽셀들의 현재 세트(Bc)에서 고려 중인 픽셀들에 따라 0, 1, 또는 2인 세 개의 상이한 값을 취한다.
화상 코딩 방법
일반적 원리
도 1을 참조하여 설명된 적어도 하나의 코딩 모드(MCc)의 결정을 구현하는 화상 코딩 방법에 대하여 도 7을 참조하여 아래에서 설명한다.
이러한 코딩 방법은 하기를 포함한다:
C1에서는, 도 1에 예시된 단계(P1 내지 P2)에서 적어도 하나의 코딩 모드(MCc)의 결정이 구현되어, 픽셀들의 현재 세트(Bc)의 N개 픽셀 각각에 대한 현재 코딩 모드(MCc)를 생성한다.
C2에서는, 어떤 코딩 모드가 Bc의 픽셀들의 서브세트(SE1, SE2, SE3 등)와 연관되었는지를 결정하기 위한 테스트가 실행된다.
C20에서는, Bc를 코딩하기 위해 코딩 모드(MCc=인트라)가 결정되었는지를 결정하기 위한 테스트가 실행된다.
응답이 긍정적이면(도 7에서 예), C30에서, 픽셀들의 서브세트(SE1)가 인트라 모드에서 코딩된다. 이 단계의 종료 시, 잔차 픽셀들의 코딩된 서브세트(SER1 cod)가 생성되며, 일반적으로 사용되는 인트라 모드의 인덱스가 수반된다.
응답이 부정적이면(도 7에서 아니오), C21에서, 코딩 Bc를 코딩하도록 코딩 모드(MCc=인터)가 결정되었는지를 결정하기 위한 테스트가 실행된다.
응답이 긍정적이면(도 7에서 예), C31에서, 픽셀들의 서브세트(SE2)는 인터 모드에서 코딩된다. 이 단계의 종료 시, 인터 모드에서 이 코딩 동안 사용된 움직임 벡터(V2 cod)와 함께 잔차 픽셀들의 코딩된 서브세트(SER2 cod)가 생성된다.
응답이 부정적이면(도 7에서 아니오), C22에서, Bc를 코딩하도록 코딩 모드(MCc=스킵)가 결정되었는지 여부를 결정하기 위한 태스트가 실행된다.
응답이 긍정적이면(도 7에서 예), C32에서, 픽셀들의 서브세트(SE3)가 스킵 모드에서 코딩된다. 이 단계의 종료 시, 코딩된 움직임 벡터(V3 cod)가 생성된다. 이 모드에서는 잔차가 연산 및 코딩되지 않는다. 제1 실시예에서는, V3 cod=V2 cod이다. 제2 실시예에서는, V3 cod≠V2 cod이다.
응답이 부정적이면(도 7에서 아니오), Bc를 코딩하도록 다른 코딩 모드(MCc)가 결정되었는지 여부가 결정되고, Bc의 모든 픽셀에 코딩 모드(MCc)가 할당될 때까지 계속된다.
C4에서는, 코딩된 움직임 벡터(V2 cod 및 V3 cod)가, 또는 V3 cod=V2 cod인 경우에는 V3 cod만이, 잔차 픽셀들의 코딩된 서브세트(SER1 cod 및 SER2 cod)로부터의 데이터와 함께 디코더에 전송될 수 있도록 트랜스포트 스트림(F)에 기입되며, 이는 이후에 다시 설명된다. 이러한 기입된 데이터는 Bc cod로 표기되는 픽셀들의 코딩된 현재 세트(Bc)에 해당한다.
본 발명에 따르면, 이러한 하나 이상의 코딩 모드는 유리하게는 코딩되지도 디코더로 전송되지도 않는다.
픽셀들의 서브세트(SE1)(SE2, SE3 각각)는 Bc의 적어도 하나의 픽셀, Bc의 픽셀들의 적어도 하나의 영역, 또는 Bc 전체에 해당할 수 있다.
구현되는 인트라, 인터 및/또는 스킵 코딩 동작들은 통상적이며, AVC, HEVC, VVC 코딩 등을 준수한다.
방금 설명된 코딩은, 물론, 언급된 3개 중 단일 코딩 모드c, 또는 단지 2개의 상이한 코딩 모드, 또는 심지어 3개 이상의 상이한 코딩 모드를 Bc에 적용할 수 있다.
예시적인 인코더 구현
도 8a는 본 발명의 제1 실시예에 따라 도 7에 예시된 코딩 방법을 구현하기에 적합한 인코더(COD1)를 도시한다. 인코더(COD1)는 결정 장치(DEMOD1)를 포함한다.
이러한 제1 실시예에 따르면, 코딩 방법에 의해 수행되는 동작은 컴퓨터 프로그램 명령어에 의해 구현된다. 이를 위해, 코딩 장치(COD1)는, 컴퓨터의 종래 아키텍처를 갖고, 특히, 메모리(MEM_C1), 및 예를 들어 프로세서(PROC_C1)가 장착되고 메모리(MEM_C1)에 저장된 컴퓨터 프로그램(PG_C1)에 의해 구동되는 처리 유닛(UT_C1)을 포함한다. 컴퓨터 프로그램(PG_C1)은 프로그램이 프로세서(PROC_C1)에 의해 실행될 때 전술한 바와 같은 코딩 방법의 동작을 구현하기 위한 명령어를 포함한다.
초기화 시, 컴퓨터 프로그램(PG_C1)의 코드 명령어는, 예를 들어, 프로세서(PROC_C1)에 의해 실행되기 전에 RAM 메모리(도시하지 않음)에 로딩된다. 처리 유닛(UT_C1)의 프로세서(PROC_C1)는 특히 컴퓨터 프로그램(PG_C1)의 명령어에 따라 전술한 코딩 방법의 동작을 구현한다.
인코더(COD1)는, 입력(E_C1)에서 픽셀들의 현재 세트(Bc)를 수신하고, 출력(S_C1)에서 적절한 통신 인터페이스(도시하지 않음)를 사용하여 디코더로 전송되는 트랜스포트 스트림(F)을 전달한다.
도 8b는 본 발명의 제2 실시예에 따라 도 7에 예시된 코딩 방법을 구현하기에 적합한 인코더(COD2)를 도시한다. 인코더(COD2)는, 결정 장치(DEMOD2)에 의해 결정된 하나 및/또는 그 이상의 코딩 모드(MCc)와 함께 픽셀들의 현재 세트(Bc)를 코딩하는 컨볼루션 신경망(RNC2)이 뒤따르는 전술한 결정 장치(DEMOD2)를 포함한다. 이러한 신경망(RNC2)은, 예를 들어, 문헌 Ladune "Optical Flow and Mode Selection for Learning-based Video Coding", IEEE MMSP 2020에 설명된 유형이다.
화상 디코딩 방법
일반적 원리
도 1을 참조하여 설명된 바와 같이 적어도 하나의 디코딩 모드(MDc)의 결정을 구현하는 화상 디코딩 방법에 대하여 도 9를 참조하여 아래에서 설명한다.
이러한 디코딩 방법은 도 7의 화상 코딩에 대응하는 화상 디코딩을 구현한다. 특히, 상기 적어도 하나의 디코딩 모드(MDc)의 결정과는 별개로, 디코딩 방법은 AVC, HEVC, VVC 디코딩 등을 준수하는 종래의 디코딩 단계들을 구현한다.
디코딩 방법은 하기를 포함한다:
D1에서, Bc에 관련된 코딩된 데이터는 수신된 트랜스포트 스트림(F)으로부터 종래의 방식으로 추출되며, 이 데이터는, 도시된 예에서, 하기와 같다:
- 이 데이터가 구현된 도 7의 인트라 코딩(C30)이면, 잔차 픽셀들의 코딩된 서브세트(SER1 cod) 및 이의 인트라 모드 인덱스,
- 이 데이터가 구현된 도 7의 인터 코딩(C31)이면, 잔차 픽셀들의 코딩된 서브세트(SER2 cod) 및 V2 cod≠V3 cod인 경우에 코딩된 움직임 벡터(V2 cod),
- 이 데이터가 구현된 도 7의 스킵 코딩(C32)이면, 코딩된 움직임 벡터(V3 cod).
이러한 데이터는 픽셀들의 코딩된 현재 세트(Bc cod)에 해당한다.
D2에서는, 도 1에 예시된 단계(P1 내지 P2)에서 적어도 하나의 디코딩 모드(MDc)의 결정이 구현되어, 픽셀들의 코딩된 현재 세트(Bc cod)의 N개의 픽셀 각각에 대하여 현재 디코딩 모드(MDc)를 생성한다.
D3에서는, 어떤 디코딩 모드가 Bc의 픽셀들(SE1 cod, SE2 cod, SE3 cod 등)의 코딩된 서브세트와 연관되었는지를 결정하기 위한 테스트가 실행된다.
D30에서는, Bc cod를 디코딩하기 위해 디코딩 모드(MDc=인트라)가 결정되었는지 여부를 결정하기 위한 테스트가 실행된다.
응답이 긍정적이면(도 9에서 예), D40에서, 픽셀들의 서브세트(SE1)가 인트라 모드에서 디코딩된다. 이 단계의 종료 시, 픽셀들의 디코딩된 서브세트(SE1 dec)가 생성된다.
응답이 부정적이면(도 9에서 아니오), D31에서, Bc cod를 디코딩하기 위해 디코딩 모드(MDc=인터)가 결정되었는지 여부를 결정하기 위한 테스트가 실행된다.
응답이 긍정적이면(도 9에서 예), D41에서, 픽셀들의 서브세트(SE2)는, 인터 모드에서 V2 cod≠V3 cod이면 V2 cod의 디코딩으로 인한 움직임 벡터(V2 dec)를 사용하고 V2 cod=V3 cod이면 V3 cod의 디코딩으로 인한 움직임 벡터(V3 dec)를 사용하여 디코딩된다. 이 단계의 종료 시, 픽셀들의 디코딩된 서브세트(SE2 dec)가 생성된다.
응답이 부정적이면(도 9의 아니오), D32에서, Bc cod를 디코딩하도록 디코딩 모드(MDc=스킵)가 결정되었는지 여부를 결정하기 위한 테스트가 실행된다.
응답이 긍정적이면(도 9에서 예), D42에서, 픽셀들의 서브세트(SE3)가 스킵 모드에서 디코딩된다. 이 단계의 종료 시, 디코딩된 움직임 벡터(V3 dec)를 사용하여 픽셀들의 디코딩된 서브세트(SE3 dec)가 생성된다.
응답이 부정적이면(도 9의 아니오), Bc를 디코딩하기 위해 다른 디코딩 모드(MDc)가 결정되었는지 여부가 결정되고 Bc의 코딩된 모든 픽셀에 디코딩 모드(MDc)가 할당될 때까지 계속된다.
D5에서는, 픽셀들의 디코딩된 서브세트(SE1 dec, SE2 dec, SE3 dec)가 연결된다. 단계 D5의 종료 시, 픽셀들의 재구축된 현재 세트(Bc dec)가 생성된다.
본 발명에 따르면, 이러한 하나 이상의 디코딩 모드는 유리하게 디코더에서 자율적으로 결정된다.
구현되는 인트라, 인터 및/또는 스킵 디코딩 동작은 통상적이며, AVC, HEVC, VVC 디코딩 등을 준수한다.
방금 설명된 디코딩은, 물론, 고려 중인 픽셀들의 코딩된 세트, 여기서는 Bc cod에 대해 언급된 3가지 중의 단일 디코딩 모드, 또는 단지 두 개의 상이한 디코딩 모드, 또는 심지어 3개 이상의 상이한 디코딩 모드를 적용할 수 있다. 하나 이상의 디코딩 모드의 적용은 고려 중인 픽셀들의 하나의 코딩된 세트 내지 픽셀들의 다른 하나의 코딩된 세트에 걸쳐 가변될 수 있다.
그 자체로 공지된 방식으로, 픽셀들의 재구축된 현재 세트(Bc dec)는 아마도 루프 필터에 의한 필터링을 겪을 수 있으며, 이는 통상의 기술자에게 잘 알려져 있다.
예시적인 디코더 구현
도 10a는 본 발명의 제1 실시예에 따라 도 9에 예시된 디코딩 방법을 구현하기에 적합한 디코더(DEC1)를 도시한다. 디코더(DEC1)는 결정 장치(DEMOD1)를 포함한다.
이러한 제1 실시예에 따르면, 디코딩 방법에 의해 수행되는 동작은 컴퓨터 프로그램 명령어에 의해 구현된다. 이를 위해, 디코더(DEC1)는, 컴퓨터의 종래의 아키텍처를 갖고, 특히, 메모리(MEM_D1), 및 예를 들어 프로세서(PROC_D1)가 장착되고 메모리(MEM_D1)에 저장된 컴퓨터 프로그램(PG_D1)에 의해 구동되는 처리 유닛(UT_D1)을 포함한다. 컴퓨터 프로그램(PG_D1)은 프로그램이 프로세서(PROC_D1)에 의해 실행될 때 전술한 바와 같이 디코딩 방법의 동작을 구현하기 위한 명령어를 포함한다.
초기화 시, 컴퓨터 프로그램(PG_D1)의 코드 명령어는, 예를 들어, 프로세서(PROC_D1)에 의해 실행되기 전에 RAM 메모리(도시하지 않음)에 로딩된다. 처리 유닛(UT_D1)의 프로세서(PROC_D1)는 특히 컴퓨터 프로그램(PG_D1)의 명령어에 따라 도 9와 관련하여 전술한 디코딩 방법의 동작을 구현한다.
디코더(DEC1)는, 입력(E_D1)에서 도 8a의 인코더(COD1)에 의해 전송된 트랜스포트 스트림(F)을 수신하고, 출력(S_D1)에서 픽셀들의 현재 디코딩된 세트(Bc dec)를 전달한다.
도 10b는 본 발명의 제2 실시예에 따라 도 9에 예시된 디코딩 방법을 구현하기에 적합한 디코더(DEC2)를 도시한다. 디코더(DEC2)는, 예를 들어, 결정 장치(DEMOD2)에 의해 생성된 디코딩 모드(MDc)와 함께 픽셀들의 현재 코딩된 세트(Bc cod)를 디코딩하는 컨볼루션 신경망(RNC3)이 뒤따르는 상술한 결정 장치(DEMOD2)를 포함한다. 이러한 신경망(RNC3)은, 예를 들어, 문헌 Ladune "Optical flow and Mode Selection for Learning-based Video Coding", IEEE MMSP 2020에 설명된 유형이다.
적어도 하나의 코딩 또는 디코딩 모드를 결정하는 방법의 변형
이제 도 1에 예시된 바와 같이 적어도 하나의 코딩 모드를 결정하는 방법의 한 변형에 대하여 도 11 및 도 12를 참조하여 설명할 것이다. 이러한 변형은 인코더(COD3)에서 구현된다.
이러한 변형은, 획득되는 코딩 또는 디코딩 모드의 정확도/품질이 만족스럽지 않을 때 도 1의 적어도 하나의 코딩 또는 디코딩 모드의 결정을 개선하는 것을 목표로 한다.
이를 위해, 인코더 측에서, 도 11에 예시된 바와 같이, C'1에서, 상기 픽셀들의 적어도 하나의 참조 세트(BR0)가 픽셀들의 현재 세트(Bc)와 함께 분석된다. 예를 들어, 픽셀들의 두 개의 참조 세트(BR0 및 BR1)가 Bc와 함께 분석된다. 도시된 예에서, BR0은 시간상 Bc 전에 위치하고, BR1은 시간상 Bc 후에 있다.
도 12에 도시된 바와 같이, 분석(C'1)은, 픽셀들의 두 개의 참조 세트(BR0 및 BR1) 및 픽셀들의 현재 세트(Bc)로부터, 문헌 Ladune "Optical Flow and Mode Selection for Learning-based Video Coding", IEEE MMSP 2020에 기재된 바와 같이 예컨대 비선형성과 데시메이션을 구현하는 층이 후속하는 컨볼루션 필터(CNN)를 구현하는 층 등의 소정 수의 층을 통한 변환을 생성하는 컨볼루션 신경망(RNC4)을 사용하여 구현된다.
단계(C'1)의 종료 시, 잠재 변수들의 세트가 신호(U')의 형태로 획득된다.
신호(U')는, 양자화기(QUANT1), 예를 들어, 양자화 파라미터에 의해 제어되는 균일 또는 벡터 양자화기에 의해 C'2에서 양자화된다. 이어서, 양자화된 신호(U'q)가 획득된다.
C'3에서, 양자화된 신호(U'q)는, 예를 들어, 결정된 통계량과 함께 산술 유형의 엔트로피 인코더(CE1)를 사용하여 코딩된다. 이 통계는, 예를 들어, ICLR 2018 학회에 제시된 간행물 에서와 같이 분산과 평균(σ,μ)을 모델링함으로써, 통계의 확률에 의해 파라미터화된다. 이어서, 코딩되고 양자화된 신호(U'q cod)가 획득된다.
C'4에서, 코딩되고 양자화된 신호(U'q cod)는 트랜스포트 스트림(F')에 기입되고, 이는 도 14에 예시된 디코더(DEC3)로 전송된다.
도시된 예에서, 코딩되고 양자화된 신호(U'q cod)에 포함된 데이터는 도 1을 참조하여 전술한 바와 같이 결정된 코딩 모드(MCc)에 연관된 정보를 나타낸다. 여기에 설명된 실시예에서, MCc는 스킵 코딩 모드의 사용을 나타내기 위해 0으로 설정되고 인터 코딩 모드의 사용을 나타내기 위해 1로 설정된다.
이를 위해, 망(RNC4)은 MCc의 값인 0 내지 1의 가중값들의 연속을 제공하도록 훈련되었다.
코딩 동안, 인코더(COD3)는, C'10에서, 픽셀들의 참조 세트(BR0, BR1) 및 움직임 벡터(V0, V1)를 사용하는 움직임 보상을 실행함으로써 코딩될 픽셀들의 세트(Bc)를 예측한다. 벡터(V0, V1)는, Ladune 간행물인 "Optical Flow and Mode Selection for Learning-based Video Coding", IEEE MMSP 2020에 설명된 바와 같이 "MOFNEt" 신경망에서 파생될 수 있다. 이는 BPc(x,y)라고 하는 Bc의 예측을 제공한다. 예측(C'10)은 신경망(RNC41)을 사용하여 구현된다.
C'11에서, Bc와 BPc(x,y)는 도 12에 예시된 승산기(MU1)를 사용하여 0 내지 1의 모드 값(Mc(x,y))에 의해 픽셀 단위로 승산된다. 이 동작의 종료 시, 획득되는 것은 C'12에서 신경망(RNC42)을 통과한 후 이들 2개의 가중된 입력을 나타내는 신호(U")이다. C'13에서, 신호(U")는 양자화기(QUANT2)에 의해 양자화되어, 양자화된 신호(U"q)를 생성한다. 이어서, 이 신호는 엔트로피 인코더(CE2)에 의해 C'14에서 코딩되어, 코딩되고 양자화된 신호(U"q cod)를 생성한다. 단계(C'13 및 C'14)는, 코딩되고 양자화된 신호(U"q cod)를 생성하기 위해 상술한 문헌에 따라 신경망에 기초하여 인코더에서 구현된다.
C'15에서, 코딩되고 양자화된 신호(U"q cod)는 트랜스포트 스트림(F")에 기입되고, 이는 도 14에 예시된 디코더(DEC3)로 전송된다.
이제, 디코더(DEC3)에서 구현되는 바와 같이, 도 1에 예시된 디코딩 모드를 결정하는 방법의 한 변형에 대하여 도 13 및 도 14를 참조하여 설명할 것이다.
이를 위해, 디코더 측에서, 도 13에 예시된 바와 같이, D'1에서, 픽셀들의 적어도 하나의 참조 세트(BR0)가 분석되고, 도시된 예에서는 픽셀들의 두 개의 참조 세트(BR0 및 BR1)가 분석된다. 이러한 분석은 신경망(RNC1)을 사용하여 도 1의 단계(P1)에서 수행된 것과 동일하다. 이 단계의 종료 시, V0, V1 등, MDc 등을 나타내는 잠재 공간(U)이 획득된다.
스트림(F')의 수신에 이어, D'2에서, 엔트로피 디코딩은, 라플라시안 법칙의 분산 및 평균(σ,μ)의 모델링과 같이 동일한 결정된 통계와 함께 도 12의 엔트로피 인코더(CE1)에 대응하는 엔트로피 디코더(DE1)를 사용하여, 코딩되고 양자화된 신호(U'q cod)에 대하여 실행된다. 이 연산의 종료 시, 디코딩되고 양자화된 신호(U'q)가 획득된다.
D'3에서, 디코딩되고 양자화된 신호(U'q)는, 도 14의 신경망(RNC1)에 의해 획득되고 픽셀들의 참조 세트(BR0 및 BR1)만의 분석을 나타내는 잠재 공간(U)과 연결된다.
이어서, 신경망(RNC1)은, D'4에서, 재구축될 픽셀들의 코딩된 현재 세트(Bc cod)에 적용되는 디코딩 모드(MDc)의 연속인 0 내지 1의 값과 함께 움직임 정보(V0, V1 등)를 추정하기 위해 도 1의 단계(P2)에서와 동일한 방식으로 다양한 층을 통해 이 연결을 처리한다.
여기에 기술된 실시예에서 그리고 도 11의 코딩 방법에서 결정되고 사용되는 코딩 모드(MCc)에 따라, MDc는 스킵 디코딩 모드의 사용을 나타내기 위해 0으로 설정되고, 인터 디코딩 모드의 사용을 나타내기 위해 1로 설정된다.
위에서 언급한 유형의 신경망(RNC5)은, 이 정보를 픽셀들의 재구축된 세트(Bc dec)를 생성하기 위해 픽셀들의 현재 세트를 재구축하도록 입력에서 수신한다. 이러한 망(RNC5)은, 예를 들어, 문헌 Ladune "Optical Flow and Mode Selection for Learning-based Video Coding, IEEE MMSP 2020에 설명된 유형이다. 이를 위해, 신경망(RNC5)은, D'5에서, 망(RNC1)에 의해 전달되는 움직임 정보(V0, V1 등)로부터 및 픽셀들의 참조 세트(BR0, BR1 등)로부터 픽셀들의 현재 예측 세트(BPc(x,y))를 연산하는 신경망(RNC50)을 포함한다.
D'6에서, BPc(x,y)는 도 14에 예시된 승산기(MU2)에서 (1-MDc(x,y))에 의해 픽셀 단위로 승산된다. 이 연산의 종료 시, 획득되는 것은 디코딩 모드(MDc=스킵)에서 디코딩된 Bc의 픽셀들을 나타내는 신호(SIG1)이다.
D'7에서, BPc(x,y)는 도 14에 예시된 승산기(MU3)에서 MDc(x,y)에 의해 픽셀 단위로 승산된다.
도 13 및 도 14를 계속 참조하면, 신경망(RNC5)은, 또한, C'14에서 인코더(COD3)에 의해 생성된 흐름(F")의 수신(도 11 및 도 12 참조)에 이어, D'8에서, 도 12의 인코더(COD3)에 의해 구현된 바와 같은 코딩 모드(MCc)에 의해 가중된 예측으로부터의 픽셀 잔차에 대응하는 코딩되고 양자화된 신호(U"q cod)를 엔트로피 디코딩하는 신경망(RNC51)을 포함한다. 이러한 디코딩은 D'7에서 구현된 승산의 결과를 사용한다.
단계(D'8)의 종료 시, 생성되는 것은 디코딩 모드(MDc=인터)에서 디코딩된 Bc의 픽셀들을 나타내는 신호(SIG2)이다.
D'9에서, 신호(SIG1 및 SIG2)는 가산기(AD)에서 더해져, Bc의 재구축된 픽셀들을 전체적으로 포함하는 픽셀들의 재구축된 현재 세트(Bc dec)를 생성한다.
따라서 MDc(x,y)가 0에 가까우면, 예측(BPc(x,y))이 우세하다.
반대로, MDc(x,y)가 1에 가까우면, 재구축된 신호(Bc dec)는 BPc(x,y)에 더하여 전달되는 차이 신호(SIG2)를 사용하여 형성된다.
도 3a 등을 참조하여 전술한 실시예에서, 픽셀들의 두 개의 참조 세트(BR0, BR1)가 적어도 하나의 코딩 모드를 결정하는 방법에서 사용된다.
이들 실시예는 픽셀들의 3개 이상의 참조 세트로 확장될 수 있다. 이를 위해, 도 3b를 참조하여 설명된 신경망(RNC1)은, 코딩 모드(MCc) 또는 디코딩 모드(MDc)를 획득하기 위해 픽셀들의 3개 이상의 참조 세트(BR0, BR1, BR2)로부터 훈련될 것이다.

Claims (16)

  1. 픽셀들의 적어도 하나의 현재 세트를 각각 코딩, 디코딩하기 위해 적어도 두 개의 코딩 모드, 디코딩 모드 각각 중에서 적어도 하나의 코딩 모드(MCc), 디코딩 모드(MDc)를 각각 결정하는 방법으로서, 상기 방법은, 상기 적어도 하나의 코딩 모드, 디코딩 모드 각각이, 이미 디코딩된 참조 화상에 속하는 픽셀들의 적어도 하나의 참조 세트(BR0)의 분석(P1)에 기초하여 결정(P2)되는 것을 특징으로 하는 결정 방법.
  2. 제1항에 있어서, 픽셀들의 적어도 하나의 참조 세트(BR0; BR0, BR1)의 분석은 상기 픽셀들의 적어도 하나의 참조 세트의 움직임 추정 또는 필터링을 구현하는, 결정 방법.
  3. 제2항에 있어서, 상기 움직임 추정은 광학적 흐름 움직임 추정인, 결정 방법.
  4. 제1항에 있어서, 상기 적어도 두 개의 모드 중의 단일 모드는 픽셀들의 현재 세트의 적어도 하나의 픽셀에 대하여 결정되고, 하나의 또는 나머지 모드의 결정은 상기 적어도 하나의 픽셀 내지 상기 세트의 적어도 하나의 다른 픽셀에 걸쳐 가변되는, 결정 방법.
  5. 제1항에 있어서, 상기 적어도 두 개의 모드는 픽셀들의 현재 세트의 적어도 하나의 픽셀에 대하여 조합하여 결정되는, 결정 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 적어도 하나의 모드의 결정은, 상기 픽셀들의 현재 세트와 픽셀들의 적어도 하나의 참조 세트의 공동 분석으로부터 발생하는 수정 파라미터(U'q)에 의해 수정되는, 결정 방법.
  7. 적어도 하나의 코딩 모드, 디코딩 모드를 각각 결정하는 장치(DEMOD1; DEMOD2)로서, 픽셀들의 적어도 하나의 현재 세트를 각각 코딩, 디코딩하기 위해 적어도 두 개의 코딩 모드, 디코딩 모드 각각 중에서 적어도 하나의 코딩 모드, 디코딩 모드를 각각 결정하도록 구성된 프로세서를 포함하는, 장치에 있어서,
    상기 적어도 하나의 코딩 모드, 디코딩 모드 각각이 이미 디코딩된 참조 화상에 속하는 픽셀들의 적어도 하나의 참조 세트의 분석에 기초하여 결정되는 것을 특징으로 하는 장치.
  8. 제7항에 있어서, 신경망(DEMOD2)을 사용하는 것을 특징으로 하는 결정 장치.
  9. 컴퓨터에서 실행될 때 제1항 내지 제6항 중 어느 한 항의 결정 방법을 구현하기 위한 프로그램 코드 명령어를 포함하는 컴퓨터 프로그램.
  10. 제9항의 컴퓨터 프로그램의 명령어를 포함하는 컴퓨터-판독가능 정보 매체.
  11. 코딩 장치에 의해 구현되며 픽셀들의 적어도 하나의 현재 세트를 코딩하는 방법으로서, 상기 픽셀들의 현재 세트는 적어도 하나의 코딩 모드의 결정에 기초하여 코딩(C1-C4; C'1-C'15)되는, 방법에 있어서,
    상기 코딩 방법은 상기 적어도 하나의 코딩 모드가 제1항 내지 제6항 중 어느 한 항의 결정 방법에 따라 결정되는 것을 특징으로 하는 방법.
  12. 픽셀들의 적어도 하나의 현재 세트를 코딩하는 장치(COD1; COD2; COD3)로서, 적어도 하나의 코딩 모드의 결정에 기초하여 상기 픽셀들의 현재 세트를 코딩하도록 구성된 프로세서를 포함하는, 장치에 있어서,
    상기 코딩 장치는 제7항 또는 제8항의 적어도 하나의 코딩 모드를 결정하는 장치를 포함하는 것을 특징으로 하는 장치.
  13. 디코딩 장치에 의해 구현되며 픽셀들의 적어도 하나의 현재 세트를 디코딩하는 방법으로서, 상기 픽셀들의 현재 세트는 적어도 하나의 디코딩 모드의 결정에 기초하여 디코딩(D1-D5; D'1-D'9)되는, 방법에 있어서,
    상기 디코딩 방법은 상기 적어도 하나의 디코딩 모드가 제1항 내지 제6항 중 어느 한 항의 결정 방법에 따라 결정되는 것을 특징으로 하는 방법.
  14. 픽셀들의 적어도 하나의 현재 세트를 디코딩하는 장치(DEC1; DEC2; DEC3)로서, 적어도 하나의 디코딩 모드의 결정에 기초하여 상기 픽셀들의 현재 세트를 디코딩하도록 구성된 프로세서를 포함하는, 장치에 있어서,
    상기 디코딩 장치는 제7항 또는 제8항의 적어도 하나의 디코딩 모드를 결정하는 장치를 포함하는 것을 특징으로 하는 장치.
  15. 컴퓨터에서 실행될 때 제11항의 코딩 방법 또는 제13항의 디코딩 방법을 구현하기 위한 프로그램 코드 명령어를 포함하는 컴퓨터 프로그램.
  16. 제15항의 컴퓨터 프로그램의 명령어를 포함하는 컴퓨터-판독가능 정보 매체.
KR1020237028189A 2021-02-19 2022-02-15 화상 코딩 모드를 결정하는 방법 KR20230156318A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FRFR2101633 2021-02-19
FR2101633A FR3120173A1 (fr) 2021-02-19 2021-02-19 Détermination d’au moins un mode de codage d’image ou d’au moins un mode de décodage d’image, codage et décodage d’image utilisant une telle détermination
PCT/FR2022/050274 WO2022175626A1 (fr) 2021-02-19 2022-02-15 Determination d'un mode de codage d'image

Publications (1)

Publication Number Publication Date
KR20230156318A true KR20230156318A (ko) 2023-11-14

Family

ID=75746834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237028189A KR20230156318A (ko) 2021-02-19 2022-02-15 화상 코딩 모드를 결정하는 방법

Country Status (7)

Country Link
US (1) US20240137486A1 (ko)
EP (1) EP4295575A1 (ko)
JP (1) JP2024510094A (ko)
KR (1) KR20230156318A (ko)
CN (1) CN116897534A (ko)
FR (1) FR3120173A1 (ko)
WO (1) WO2022175626A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689671A (en) * 1985-06-27 1987-08-25 Nec Corporation Coding apparatus for moving object image
KR0128859B1 (ko) * 1993-08-20 1998-04-10 배순훈 적응적인 영상부호화 제어장치
US6222881B1 (en) * 1994-10-18 2001-04-24 Intel Corporation Using numbers of non-zero quantized transform signals and signal differences to determine when to encode video signals using inter-frame or intra-frame encoding
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses

Also Published As

Publication number Publication date
JP2024510094A (ja) 2024-03-06
CN116897534A (zh) 2023-10-17
FR3120173A1 (fr) 2022-08-26
EP4295575A1 (fr) 2023-12-27
US20240137486A1 (en) 2024-04-25
WO2022175626A1 (fr) 2022-08-25

Similar Documents

Publication Publication Date Title
Djelouah et al. Neural inter-frame compression for video coding
Agustsson et al. Scale-space flow for end-to-end optimized video compression
Lu et al. Dvc: An end-to-end deep video compression framework
CN104067619B (zh) 视频解码器、视频解码方法以及视频解码程序的记录介质
Zhang et al. Implicit neural video compression
JP5078895B2 (ja) 統合時空間予測法
EP2343901B1 (en) Method and device for video encoding using predicted residuals
US8559519B2 (en) Method and device for video encoding using predicted residuals
US9532070B2 (en) Method and device for processing a video sequence
Pessoa et al. End-to-end learning of video compression using spatio-temporal autoencoders
Murn et al. Improved CNN-based learning of interpolation filters for low-complexity inter prediction in video coding
US10091514B1 (en) Apparatus and method for inter and intra mode selection and block partitioning
Klopp et al. Utilising low complexity cnns to lift non-local redundancies in video coding
US20110310975A1 (en) Method, Device and Computer-Readable Storage Medium for Encoding and Decoding a Video Signal and Recording Medium Storing a Compressed Bitstream
Mukati et al. Improved deep distributed light field coding
US20140044167A1 (en) Video encoding apparatus and method using rate distortion optimization
US20220272352A1 (en) Image encoding and decoding apparatus and method using artificial intelligence
KR20230156318A (ko) 화상 코딩 모드를 결정하는 방법
Kirmemis et al. A Practical Approach for Rate-Distortion-Perception Analysis in Learned Image Compression
US20130329792A1 (en) Method and device for optimizing the compression of a video stream
CN114793282A (zh) 带有比特分配的基于神经网络的视频压缩
US11350134B2 (en) Encoding apparatus, image interpolating apparatus and encoding program
CN108432254B (zh) 图像编码和解码方法、装置以及计算机存储介质
KR20230157312A (ko) 가중된 화상 예측, 이러한 가중된 예측을 이용한 화상 코딩 및 디코딩
US7706440B2 (en) Method for reducing bit rate requirements for encoding multimedia data