KR102524593B1 - 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념 - Google Patents

블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념 Download PDF

Info

Publication number
KR102524593B1
KR102524593B1 KR1020207030912A KR20207030912A KR102524593B1 KR 102524593 B1 KR102524593 B1 KR 102524593B1 KR 1020207030912 A KR1020207030912 A KR 1020207030912A KR 20207030912 A KR20207030912 A KR 20207030912A KR 102524593 B1 KR102524593 B1 KR 102524593B1
Authority
KR
South Korea
Prior art keywords
intra prediction
block
template
preliminary
samples
Prior art date
Application number
KR1020207030912A
Other languages
English (en)
Other versions
KR20200128586A (ko
Inventor
조나단 파프
필립 헬레
필립 메어클레
뵨 스탈렌버거
미샤 지크만
마틴 빈켄
아담 와잇카우스키
보이치에흐 자메크
스테판 칼텐스타들러
헤이코 슈바르츠
데틀레브 마르페
토마스 비에그란트
Original Assignee
프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority to KR1020237013131A priority Critical patent/KR20230057481A/ko
Publication of KR20200128586A publication Critical patent/KR20200128586A/ko
Application granted granted Critical
Publication of KR102524593B1 publication Critical patent/KR102524593B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop

Abstract

블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념이 개시된다. 특히, 데이터 스트림(12)으로부터 화상(10)을 블록 단위로 디코딩 및/또는 화상(10)을 데이터 스트림(12)으로 인코딩하는 장치(14-1, 54-2)가 개시되고,
상기 장치는 현재 블록의 이웃하는 샘플들의 제1 템플릿(130, 170)을 신경망(80)에 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고,
상기 장치는 미리 정해진 크기와 다른 현재 블록(18)에 대하여, 리샘플링 된 템플릿(130, 170)을 얻기 위해 제1 템플릿(130, 170)과 일치하도록 현재 블록(18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하고,
예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 샘플 템플릿(130, 170)의 샘플을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하고,
상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 상기 현재 블록(18)과 일치하도록 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140, 180)하도록 구성될 수 있다.

Description

블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념
본 출원은 HEVC와 같은 비디오 코덱 또는 HEVC의 임의의 후속 장치에서 이용 가능한 것과 같은 블록 단위(block-wise) 화상(picture) 코딩을 위한 개선된 인트라 예측 모드 개념에 관한 것이다.
인트라 예측 모드는 화상 및 비디오 코딩에서 널리 사용된다. 비디오 코딩에서, 인트라 예측 모드는 모션 보상 예측 모드와 같은 인터 예측 모드와 같은 다른 예측 모드와 경쟁한다. 인트라 예측 모드에서, 현재 블록은 이웃하는 샘플들, 즉 인코더 측에 관한 한 이미 인코딩된 샘플들 및 디코더 측에 관한 한 이미 디코딩된 샘플들에 기초하여 현재 블록이 예측된다. 현재 블록에 대한 데이터 스트림에서 전송되는 예측 잔차와 함께 현재 블록에 대한 예측 신호를 형성하기 위해 이웃하는 샘플 값이 현재 블록으로 외삽된다. 예측 신호가 양호할수록, 예측 잔차가 낮아지고, 따라서 예측 잔차를 코딩하기 위해 더 적은 수의 비트가 필요하다.
효과적이기 위해서는, 블록 단위의 화상 코딩 환경에서 인트라 예측을 위한 효과적인 프레임 워크를 형성하기 위해 몇 가지 측면이 고려되어야 한다. 예를 들어, 코덱에 의해 지원되는 인트라 예측 모드의 수가 많을수록, 선택을 디코더에 시그널링하기 위해 부가 정보 레이트 소비가 더 크다. 한편, 지원되는 인트라 예측 모드 세트는 양호한 예측 신호, 즉 낮은 예측 잔차를 야기하는 예측 신호를 제공할 수 있어야 한다.
본 출원은 개선된 인트라 예측 모드 개념을 사용하는 경우 블록 단위 화상 코덱의 보다 효율적인 압축을 허용하는 인트라 예측 모드 개념을 제공하고자 한다.
이러한 목적은 본 출원의 독립 청구항의 주제에 의해 달성된다.
데이터 스트림으로부터 픽쳐를 블록 단위로 디코딩하는 장치(예를 들어, 디코더)가 개시되며, 상기 장치는 현재 블록의 이웃하는 샘플들의 제1 템플릿을 신경망에 적용함으로써 상기 화상의 미리 정해진 크기의 블록에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고, 미리 정해진 크기와 다른 현재 블록에 대하여, 다음과 같이 구성된다:
리샘플링 된 템플릿을 획득하기 위해 제1 템플릿과 일치하도록 현재 블록에 인접한 샘플들의 제2 템플릿을 리샘플링하고;
예비 인트라 예측을 얻기 위해 리샘플링 된 샘플 템플릿을 신경망에 적용하고; 그리고
현재 블록에 대한 인트라 예측 신호를 얻기 위해 현재 블록과 일치하도록 예비 인트라 예측 신호를 리샘플링한다.
또한 데이터 스트림으로부터 화상을 블록 단위로 인코딩하기위한 장치(예를 들어, 인코더)가 개시되며, 상기 장치는 현재 블록의 이웃하는 샘플들의 제1 템플릿을 신경망에 적용함으로써 상기 화상의 미리 정해진 크기의 블록에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고, 미리 정해진 크기와 다른 현재 블록에 대하여, 다음과 같이 구성된다:
리샘플링 된 템플릿을 획득하기 위해 제1 템플릿과 일치하도록 현재 블록에 인접한 샘플들의 제2 템플릿을 리샘플링하고;
예비 인트라 예측을 얻기 위해 리샘플링 된 샘플 템플릿을 신경망에 적용하고; 그리고
현재 블록에 대한 인트라 예측 신호를 얻기 위해 현재 블록과 일치하도록 예비 인트라 예측 신호를 리샘플링한다.
상기 장치는 제1 템플릿을 얻기 위해 제2 템플릿을 다운샘플링함으로써 리샘플링하도록 구성될 수있다.
상기 장치는 예비 인트라 예측 신호를 업샘플링함으로써 예비 인트라 예측 신호를 리샘플링하도록 구성될 수 있다.
상기 장치는 예비 인트라 예측 신호를 공간 영역으로부터 변환 영역으로 변환하고; 그리고 변환 영역에서 예비 인트라 예측 신호를 리샘플링하도록 구성될 수 있다.
상기 장치는 예비 인트라 예측 신호의 계수를 스케일링하여 변환 영역의 예비 인트라 예측 신호를 리샘플링하도록 구성될 수 있다.
상기 장치는 인트라 예측 신호의 차원을 증가시켜 현재 블록(18)의 차원에 부합 (182)하도록 하고, 상기 예비 인트라 예측 신호(176)의 증가된 계수들-더 높은 주파수 빈과 관련되어 증가됨-의 상기 계수들을 제로 패딩함으로써 상기 변환 영역의 예비 인트라 예측 신호(176)를 리샘플링(140)하도록 구성될 수 있다.
상기 장치는 예측 잔차 신호의 역양자화 된 버전을 사용하여 변환 영역의 예비 인트라 예측 신호를 구성하도록 구성될 수 있다.
상기 장치는 공간 영역에서 예비 인트라 예측 신호를 리샘플링하도록 구성될 수 있다.
상기 장치는 쌍 선형 보간을 수행함으로써 예비 인트라 예측 신호를 리샘플링하도록 구성될 수 있다.
상기 장치는 리샘플링 및/또는 다른 차원에 대한 신경망의 사용에 관한 정보를 데이터 필드에 인코딩하도록 구성될 수 있다.
또한, 데이터 스트림에 화상을 블록 단위로 디코딩하기 위한 장치(예를 들어, 디코더)가 개시되며, 상기 장치는 상기 화상의 현재 블록에 대한 인트라 예측 신호가, 현재 블록(18)의 변환에 대한 변환 계수 세트의 예측을 얻기 위해 현재 블록의 이웃하는 샘플들의 제1 세트를 신경망에 적용함으로써 결정되는 적어도 하나의 인트라 예측 모드를 지원하도록 구성될 수 있다.
또한, 데이터 스트림에 화상을 블록 단위로 인코딩하기 위한 장치(예를 들어, 인코더)가 개시되며, 상기 장치는 상기 화상의 현재 블록에 대한 인트라 예측 신호가, 현재 블록(18)의 변환에 대한 변환 계수 세트의 예측을 얻기 위해 현재 블록의 이웃하는 샘플들의 제1 세트를 신경망에 적용함으로써 결정되는 적어도 하나의 인트라 예측 모드를 지원하도록 구성될 수 있다.
상기 장치들 중 하나는 재구성된 신호를 얻기 위해 예측을 역변환하도록 구성될 수 있다.
상기 장치들 중 하나는 가변 길이 코드를 사용하여 데이터스트림으로부터 인덱스를 디코딩하고, 인덱스를 사용하여 선택을 수행하도록 구성될 수 있다.
상기 장치들 중 하나는 인트라 예측 모드들의 세트의 순위를 결정하고, 그리고 이어서 제2 템플릿을 리샘플링하도록 구성될 수 있다.
다음을 포함하는 방법이 개시된다:
리샘플링된 템플릿을 얻기 위해 제1 템플릿과 일치하도록 현재 블록과 이웃하는 샘플들의 제2 템플릿을 리샘플링하는 단계;
예비 인트라 예측 신호를 얻기 위해 리샘플링 된 샘플 템플릿을 신경망에 적용하는 단계; 및
상기 현재 블록에 대한 인트라 예측 신호를 얻기 위해 상기 현재 블록과 일치하도록 예비 인트라 예측 신호를 리샘플링하는 단계.
다음을 포함하는 데이터 스트림으로부터 화상을 블록 단위로 디코딩하기 위한 방법이 개시된다:
현재 블록의 변환에 대한 변환 계수 세트의 예측을 얻기 위해 현재 블록의 이웃하는 샘플들의 제1 세트를 신경망에 적용하는 단계.
다음을 포함하는 데이터 스트림에 화상을 블록 단위로 인코딩하기 위한 방법이 개시된다:
현재 블록의 변환에 대한 변환 계수 세트의 예측을 얻기 위해 현재 블록의 이웃하는 샘플들의 제1 세트를 신경망에 적용하는 단계.
상기 및/또는 하기 방법은 상기 및/또는 하기와 같은 적어도 하나의 장치를 포함하는 장비를 사용할 수 있다.
또한, 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 상기 및/또는 하기와 같은 방법을 수행하고/하거나 상기 및/또는 하기의 장치의 적어도 하나의 구성 요소를 구현하도록 하는 명령어를 포함하는 컴퓨터 판독 가능 저장매체가 개시된다.
또한, 상기 및/또는 하기의 방법 및/또는 상기 및/또는 하기의 장치에 의해 획득된 데이터 스트림이 개시된다.
전술한 신경망의 설계에 관한 한, 본 출원은 그 파라미터를 적절하게 결정하기 위한 많은 예를 제공한다.
본 출원의 유리한 구현은 종속항의 주제이다. 본 출원의 바람직한 실시예는 도면과 관련하여 다음과 같이 설명된다:
도 1은 본 출원의 실시예들이 구현될 수 있는 일반적인 예로서 화상을 데이터스트림으로 인코딩하기 위한 인코더를 도시하는 개략적인 블록도를 도시한다;
도 2는 도 1에 따른 인코더에 대한 보다 구체적인 예의 블록도를 도시한다;
도 3은 도 1의 인코더에 적합하고 본 출원의 실시예가 구현될 수 있는 디코더의 예로서 역할을 하는 디코더를 도시하는 개략적인 블록도를 도시한다;
도 4는 도 2의 인코더에 맞는, 도 3의 디코더의 보다 구체적인 예의 블록도를 도시한다;
도 5는 인트라 예측을 사용하여 블록을 처리하는 것과 관련하여 본 출원의 실시예에 따른 인코더 및 디코더에서의 동작 모드를 도시하는 개략도를 도시한다;
도 6은 여러 신경망 기반 인트라 예측 모드를 포함하는 본 출원의 실시예에 따른 디코더를 도시한 개략적인 블록도를 도시한다;
도 7a는 사용되는 인트라 예측 모드가 신경망 기반 인트라 예측 모드 세트의 멤버인지 아닌지를 나타내는 플렉(fleck)과 함께, 신경망 기반 인트라 예측 모드의 정렬된 리스트로 인덱스를 송신하는 신경망 기반 인트라 예측 모드 및 이들 모드의 신경망 기반 순서를 지원하는 실시예에 따른 인코더 및 디코더의 동작 모드를 도시하는 개략도를 도시한다. 결정(90)에 의해 결정되는 상이한 주파수를 이용하기 위해 인덱스는 가변 길이 코딩을 사용하여 코딩될 수 있음은 말할 필요도 없다;
도 7b는 플렉 시그널라이제이션이 사용되지 않는다는 점에서도 7a와 다른 개략도를 도시한다;
도 7c는 모드 순서가 신경망을 사용하여 제어되지 않는다는 점에서 7b와 다른 개략도를 도시한다;
도 7d는 모드 시그널라이제이션에서 신경망 지원이 모드 순서보다는 엔트로피 인/디코딩에서의 확률 분포 추정을 제어하는 데 사용된다는 점에서 7a와 다른 개략도를 도시한다;
도 8은 일 실시예에 따른 한 세트의 신경망 기반 인트라 예측 모드를 설계하기 위한 장치를 도시한 도면이다;
도 9a는 신경망 기반인지 아닌지에 관계없이 지원되는 인트라 예측 모드를 순서화하기 위해 신경망이 사용되는 실시예에 따른 인코더 및 디코더의 동작 모드를 도시하는 개략도를 도시한다;
도 9b는 신경망 베이스가 지원되는 인트라 예측 모드 세트로의 인덱스의 엔트로피 디/인코딩을 위한 확률 분포 추정을 제어하는 데 사용된다는 점에서 도 9a와 다른 개략도를 도시한다;
도 10은 일 실시예에 따른 블록 기반 화상 코딩을 위한 인트라 예측 모드 세트 중 하나를 지원하고 선택하기 위한 신경망을 설계하기 위한 장치를 도시한다.
도 11a은 일 실시예에 따른 인코더를 도시한다.
도 11b는 일 실시예에 따른 디코더를 도시한다.
도 12는 일 실시예에 따른 인코더 및 디코더의 동작 모드를 예시하는 개략도를 도시한다.
도 13a 및 13b는 실시예들에 따른 기술의 개략도를 도시한다.
이하에서, 인트라 예측을 사용할 때보다 효과적인 압축을 달성하는 것을 돕는 다양한 실시예들이 설명된다. 일부 실시예는 신경망 기반의 인트라 예측 모드 세트를 소비함으로써 압축 효율 증가를 달성한다. 후자는 예를 들어 경험적으로 설계되는 다른 인트라 예측 모드에 추가되거나 배타적으로 제공될 수 있다. 다른 실시예는 복수의 인트라 예측 모드 중에서 선택을 수행하기 위해 신경망을 사용한다. 그리고 다른 실시예조차도 방금 논의된 전문 분야를 모두 이용한다.
본 출원의 다음 실시예의 이해를 용이하게 하기 위해, 설명은 본 출원의 후속 개요 실시예가 구축될 수 있는 가능한 인코더 및 디코더의 제시로 시작된다. 도 1은 화상(10)을 데이터스트림(12)으로 블록 단위로 인코딩하기 위한 장치를 도시한다. 장치는 참조 부호 14를 사용하여 표시되며 정지 화상 인코더 또는 비디오 인코더일 수 있다. 다시 말해, 화상(10)은 인코더(14)가 화상(10)을 포함하는 비디오(16)를 데이터스트림(12)으로 인코딩하도록 구성될 때 비디오(16)로부터의 현재 화상일 수 있거나, 인코더(14)는 화상(10)을 배타적으로 데이터 스트림(12)으로 인코딩할 수 있다.
언급된 바와 같이, 인코더(14)는 블록 단위 방식으로 또는 블록 베이스로 인코딩을 수행한다. 이를 위해, 인코더(14)는 화상(10)을 화상(10)을 데이터스트림(12)으로 인코딩하는 단위로 팀을 블록으로 세분화한다. 블록(18)으로의 화상(10)의 가능한 세분의 예는 아래에서 보다 상세히 설명된다. 일반적으로, 세분은 결국 일정한 크기의 블록(18)이 될 수 있으며, 화상(10)의 전체 화상 영역으로부터 또는 화상(10)의 사전 분할로부터 트리 블록의 어레이로 멀티 트리 세분화를 시작하는 계층적 멀티 트리 세분화를 사용하는 것과 같이, 행 및 열로 배열된 블록들의 어레이 또는 상이한 블록 크기의 블록들(18)을 제안하며, 여기서 이 예들은 화상(10)을 세분화하는 다른 가능한 방법을 블록(18)으로 배제하는 것으로 취급되지 않아야 한다.
또한, 인코더(14)는 화상(10)을 데이터스트림(12)으로 예측적으로 인코딩하도록 구성된 예측 인코더이다. 특정 블록(18)에 대해, 이것은 인코더(14)가 블록(18)에 대한 예측 신호를 결정하고 예측 잔차, 즉 예측 신호가 블록(18) 내의 실제 화상 컨텐츠로부터 벗어난 예측 오차를 데이터스트림(12)으로 인코딩한다는 것을 의미한다.
인코더(14)는 특정 블록(18)에 대한 예측 신호를 도출하기 위해 상이한 예측 모드를 지원할 수 있다. 다음의 실시예들에서 중요한 예측 모드는 블록(18)의 내부가 이미 인코딩된 인접 화상(10)의 샘플들로부터 공간적으로 예측되는 인트라 예측 모드이다. 화상(10)를 데이터 스트림(12)으로 인코딩하고, 따라서 대응하는 디코딩 절차는 블록(18)들 사이에 정의된 특정 코딩 순서(20)에 기초할 수 있다. 예를 들어, 코딩 순서(20)는 예를 들어 각각의 행을 왼쪽에서 오른쪽으로 가로 지르면서 위에서 아래로 행 방향으로 래스터 스캔 순서로 블록(18)을 가로지를 수 있다. 계층적 멀티 트리 기반 세분화의 경우, 래스터 스캔 순서가 각각의 계층 구조 레벨 내에서 적용될 수 있으며, 여기서 깊이 우선 순회 순서가 적용될 수 있다, 즉 특정 계층 레벨의 블록 내의 리프 노트는 코딩 순서(20)에 따라 동일한 부모 블록을 갖는 동일한 계층 레벨의 블록보다 우선할 수 있다. 코딩 순서(20)에 따라, 블록(18)의 이웃하는 이미 인코딩된 샘플들은 일반적으로 블록(18)의 하나 이상의 측면에 위치될 수 있다. 본 명세서에 제시된 예의 경우, 예를 들어, 블록(18)의 이미 인코딩된 이웃하는 샘플들은 블록(18)의 상단 및 좌측에 위치된다.
인트라 예측 모드가 인코더 14에서 지원되는 유일한 모드는 아니다. 예를 들어, 인코더(14)가 비디오 인코더인 경우, 인코더(14)는 또한 블록(18)이 이전에 인코딩된 비디오(16)의 화상으로부터 일시적으로 예측되는 인트라 예측 모드를 지원할 수 있다. 이러한 인트라 예측 모드는 블록(18)의 예측 신호가 카피로서 도출될 부분의 상대 공간 오프셋을 나타내는 그러한 블록(18)에 대해 모션 벡터가 시그널링되는 모션 보상 예측 모드일 수 있다. 부가적으로 또는 대안적으로, 인코더(14)가 멀티-뷰(inter-view) 인코더인 경우의 인터-뷰(inter-view) 예측 모드 또는 블록(18)의 내부가 있는 그대로, 즉 어떠한 예측도 없이 코딩되는 비 예측 모드와 같은 다른 비 인트라 예측 모드가 이용 가능할 수 있다.
본 출원의 설명을 인트라 예측 모드에 초점을 맞추기 전에, 가능한 블록 기반 인코더, 즉 도 2와 관련하여 설명된 바와 같이 인코더(14)의 가능한 구현에 대한보다 구체적인 실시예는 각각 도 1 및 도 2에 적합한 디코더에 대한 2개의 대응하는 실시예를 제시한다.
도 2는 도 1의 인코더(14)의 가능한 구현, 즉 인코더가 예측 잔차를 인코딩하기 위해 변환 코딩을 사용하도록 구성된 구현을 도시하나, 이것은 거의 예이며, 본 출원은 그러한 종류의 예측 잔차 코딩으로 제한되지 않는다. 도 2에 따르면, 인코더(14)는 예측 잔차 신호(26)를 획득하여 예측 잔차 인코더(28)에 의해 데이터 스트림(12)으로 인코딩하기 위하여, 인바운드 신호, 즉 화상(10) 또는 블록 단위로 현재 블록(18)에서 대응하는 예측 신호(24)를 감산하도록 구성된 감산기(22)를 포함한다. 예측 잔차 인코더(28)는 손실 인코딩 스테이지(28a) 및 무손실 인코딩 스테이지(28b)로 구성된다. 손실 스테이지(28a)는 예측 잔차 신호(26)를 수신하고 예측 잔차 신호(26)의 샘플들을 양자화하는 양자화기(30)를 포함한다. 전술한 바와 같이, 본 예는 예측 잔차 신호(26)의 변환 코딩을 사용하고, 따라서, 손실 인코딩 스테이지(28a)는 감산기(22)와 양자화기(30) 사이에 연결된 변환 스테이지(32)를 포함하여, 그러한 스펙트럼 분해 예측 잔차(26)를 잔차 신호(26)를 나타내는 변환된 계수들에서 발생하는 양자화기(30)의 양자화로 변환한다. 변환은 DCT, DST, FFT, Hadamard 변환 등일 수 있다. 변환되고 양자화된 예측 잔차 신호(34)는 엔트로피 코더 엔트로피 코딩 양자화된 예측 잔차 신호(34)인 무손실 인코딩 스테이지(28b)에 의해 데이터스트림(12)으로의 무손실 코딩을 받는다. 인코더(14)는 또한 양자화기(30)의 출력에 연결된 예측 잔차 신호 재구성 스테이지(36)를 포함하여, 변환 및 양자화된 예측 잔차 신호(34)로부터 디코더에서 이용 가능한 방식으로 예측 잔차 신호를 재구성한다, 즉 코딩 손실을 고려하는 것은 양자화기(30)를 고려하는 것이다. 이를 위해, 예측 잔차 재구성 스테이지(36)는 양자화기(30)의 양자화의 역수를 수행하는 역양자화기(38)를 포함하고, 전술한 임의의 변형 예 중 어느 것과 역전된 것과 같은 스펙트럼 분해의 역수와 같은 변환기(transformer, 32)에 의해 수행된 변환에 대한 역변환을 수행하는 역 변환기(40)가 뒤따른다.
인코더(14)는 재구성된 신호, 즉 재구성 예를 출력하기 위해 역 변환기(40) 및 예측 신호(24)에 의해 출력되고 재구성된 예측 잔차 신호를 가산하는 가산기(42)를 포함한다. 이 출력은 인코더(14)의 예측기(44)에 공급되고, 그에 기초하여 예측 신호(24)를 결정한다. 도 1과 관련하여 위에서 이미 논의된 모든 예측 모드를 지원하는 것은 예측기(44)이다. 도 2는 인코더(14)가 비디오 인코더 인 경우, 인코더(14)는 또한 필터링된 후 인터 예측된 블록과 관련하여 예측기(44)에 대한 참조 화상을 형성하는 필터가 완전히 재구성된 화상을 갖는 인-루프(in-loop) 필터(46)를 포함할 수 있는 것을 또한 도시한다.
전술한 바와 같이, 인코더(14)는 블록 기반으로 동작한다. 이후의 설명을 위해, 관심 있는 블록 베이스는 예측기(44) 또는 인코더(14)에 의해 지원되는 세트 또는 복수의 인트라 예측 모드 중에서 인트라 예측 모드가 각각 선택되는 블록들로 분할되는 하나의 세분화 화상(10)이고, 선택된 인트라 예측 모드는 개별적으로 수행된다. 그러나, 화상(10)이 세분화되는 다른 종류의 블록도 존재할 수 있다. 예를 들어, 화상(10)이 인터 코딩되는지 또는 인트라 코딩되는지에 관한 전술된 결정은 세분성 또는 블록(18)으로부터 벗어난 블록 단위로 수행될 수 있다. 예를 들어, 인터/인트라 모드 결정은 화상(10)이 세분화되는 코딩 블록의 레벨에서 수행될 수 있고, 각각의 코딩 블록은 예측 블록으로 세분된다. 인트라 예측이 사용되는 것으로 결정된 인코딩 블록을 갖는 예측 블록은 각각 인트라 예측 모드 결정으로 세분된다. 이를 위해, 이들 예측 블록 각각에 대해, 각각의 예측 블록에 대해 어느 지원되는 인트라 예측 모드가 사용되어야 하는지가 결정된다. 이들 예측 블록은 여기서 관심 있는 블록(18)을 형성할 것이다. 인터 예측과 관련된 코딩 블록 내의 예측 블록은 예측기(44)에 의해 다르게 취급될 것이다. 이들은 모션 벡터를 결정하고 모션 벡터에 의해 지시된 참조 화상의 위치로부터 이 블록에 대한 예측 신호를 카피함으로써 참조 화상으로부터 인터 예측될 것이다. 다른 블록 세분화는 변환기(32) 및 역 변환기(40)에 의한 변환이 수행되는 단위에서 변환 블록으로의 세분화에 관한 것이다. 예를 들어, 변환된 블록은 추가의 세분화 코딩 블록의 결과일 수 있다. 당연히, 본 명세서에 제시된 예는 제한적인 것으로 취급되어서는 안되며 다른 예도 존재한다. 오직 완전성을 위해, 코딩 블록들로의 세분화는 예를 들어 멀티 트리 세분화를 사용할 수 있고, 예측 블록들 및/또는 변환 블록들은 또한 멀티 트리 세분화를 이용하여 코딩 블록들을 세분화함으로써 획득될 수 있음에 유의한다.
도 1의 인코더(14)에 적합한 블록 단위의 디코딩을 위한 디코더 또는 장치가 도 3에 도시되어 있다. 이 디코더(54)는 인코더(14)의 반대, 즉 데이터스트림(12) 화상(10)으로부터 블록 방식으로 디코딩하고, 이를 위해 복수의 인트라 예측 모드를 지원한다. 도 1과 관련하여 위에서 논의된 다른 모든 가능성은 디코더(54)에도 유효하다. 이를 위해, 디코더(54)는 정지 화상 디코더 또는 비디오 디코더일 수 있고 모든 예측 모드 및 예측 가능성은 디코더(54)에 의해 지원된다. 인코더(14)와 디코더(54)의 차이는 주로 인코더(14)가 예를 들어 코딩 레이트 및/또는 코딩 왜곡에 의존할 수 있는 일부 비용 함수를 최소화하기 위해 일부 최적화 제안에 따라 코딩 결정을 선택하거나 선택한다는 사실에 있다. 이들 코딩 옵션 또는 코딩 파라미터 중 하나는 이용 가능하거나 지원되는 인트라 예측 모드 중에서 현재 블록(18)에 사용될 인트라 예측 모드의 선택을 포함할 수 있다. 선택된 인트라 예측 모드는 데이터스트림(12) 내의 현재 블록(18)에 대한 인코더(14)에 의해 블록(18)에 대한 데이터스트림(12)에서이 신호를 이용하여 선택을 다시 실행하는 디코더(54)와 함께 시그널링될 수 있다. 유사하게, 블록(18)으로의 화상(10)의 세분화는 인코더(14) 내에서 최적화될 수 있고, 해당하는 세분화 정보는 디코더(54)와 함께 세분화 정보에 기초하여 화상(10)의 세분화를 블록(18)으로 복구하는 데이터스트림(12) 내에서 전달될 수 있다. 전술한 바와 같이, 디코더(54)는 블록 베이스 상에서 동작하는 예측 디코더일 수 있고, 인트라 예측 모드 외에, 디코더(54)는 예를 들어, 디코더(54)가 비디오 디코더인 경우에 인터 예측 모드와 같은 다른 예측 모드를 지원할 수 있다. 디코딩에서, 디코더(54)는 또한 도 1과 관련하여 논의된 코딩 순서(20)를 사용할 수 있으며, 이 코딩 순서(20)는 인코더(14) 및 디코더(54)에서 모두 준수되므로, 동일한 이웃하는 샘플들이 인코더(14) 및 디코더(54) 둘 다에서 현재 블록(18)에 이용 가능하다. 따라서, 불필요한 반복을 피하기 위해, 인코더(14)의 동작 모드에 대한 설명은 또한, 예를 들어 예측에 관한 한 그리고 예측 잔차의 코딩에 관한 한, 화상(10)의 블록으로의 세분화에 관한 한 디코더(54)에도 적용된다. 차이는 인코더(14)가 최적화에 의해, 일부 코딩 옵션 또는 코딩 파라미터 및 데이터 스트림(12) 내에서 데이터스트림(12) 내로 삽입되거나 삽입되는 코딩 파라미터를 선택하여, 디코더(54)에 의해 데이터스트림(12)으로부터 도출되어 예측, 세분화를 다시 실행한다는 사실에 있다.
도 4는 도 3의 디코더(54)의 가능한 구현, 즉 도 2에 도시된 바와 같이 도 1의 인코더(14)의 구현에 적합한 것을 도시한다. 도 4의 인코더(54)의 많은 요소가 도 2의 대응하는 인코더에서 발생하는 요소와 동일하므로, 아포스트로피(apostrophe)가 제공된 동일한 참조 부호가 이들 요소를 나타내기 위해 도 4에서 사용된다. 특히, 가산기(42'), 선택적 인-루프 필터(46') 및 예측기(44')는 도 2의 인코더와 동일한 방식으로 예측 루프에 연결된다. 추가된 42'에 적용된 재구성된, 즉 역양자화 및 재변환된 예측 잔차 신호는 엔트로피 인코더(28b)의 엔트로피 인코딩을 역전시키는 엔트로피 디코더(56)의 시퀀스에 의해 유도되며, 인코딩 측의 경우와 같이, 양자화해제기(38') 및 역 변환기(40')로 구성된 잔차 신호 재구성 스테이지(36')가 뒤따른다. 디코더의 출력은 화상(10)의 재구성이다. 화상(10)의 재구성은 가산기(42')의 출력에서 또는 대안적으로 인-루프 필터(46')의 출력에서 이용 가능할 수 있다. 일부 포스트 필터(post-filter)는 화질을 향상시키기 위해 화상(10)의 재구성을 일부 포스트 필터링에 적용하기 위해 디코더의 출력에 배열될 수 있지만, 이 옵션은 도 4에 도시되지 않았다.
다시, 도 4와 관련하여, 인코더가 단지 코딩 작업과 관련하여 최적화 작업 및 관련 결정을 수행하는 것을 제외하고는, 도 2와 관련하여 앞서 설명된 내용은 도 4에도 유효할 것이다. 그러나, 블록 세분, 예측, 역 양자화, 및 재변환에 관한 모든 설명은 도 4의 디코더(54)에도 유효하다.
본 출원의 가능한 실시예들의 설명을 진행하기 전에, 상기 예들과 관련하여 약간의 주의가 이루어질 것이다. 위에서 명시적으로 언급되지 않았지만, 블록(18)은 임의의 형상을 가질 수 있음이 명백하다. 예를 들어, 직사각형 또는 2차 형상일 수 있다. 또한, 인코더(14) 및 디코더(54)의 동작 모드에 대한 상기 설명은 종종 "현재 블록"(18)을 언급하지만, 인코더(14) 및 디코더(54)는 인트라 예측 모드가 선택될 각각의 블록에 따라 적절하게 작용한다는 것이 명백하다. 전술한 바와 같이, 다른 블록들도 있을 수 있지만, 이하의 설명은 화상(10)이 세분화되고 인트라 예측 모드가 선택될 블록들(18)에 초점을 둔다.
인트라 예측 모드가 선택되는 특정 블록(18)의 상황을 요약하기 위해, 도 5를 참조한다. 도 5는 현재 블록(18), 즉 현재 인코딩되거나 디코딩될 블록을 도시한다. 도 5는 이웃하는 샘플들(62)의 세트(60), 즉 공간적으로 이웃하는 블록(18)을 갖는 샘플들(62)을 도시한다. 블록(18) 내의 샘플들(64)이 예측될 것이다. 따라서, 도출될 예측 신호는 블록(18) 내의 각각의 샘플(64)에 대한 예측이다. 위에서 이미 논의된 바와 같이, 복수의 예측 모드(66)가 각각의 블록(18)에 대해 이용 가능하고, 블록(18)이 인트라 예측 될 경우, 이 복수의 모드(66)는 단지 인터 예측 모드를 포함한다. 이웃하는 샘플 세트(60)에 기초하여 블록(18)에 대한 예측 신호(71)를 예측하기 위해 사용될 복수의 66 중에서 인트라 예측 모드 중 하나를 결정하기 위해 선택기(68)가 인코더 및 디코더 측에서 수행된다. 아래에 더 설명되는 실시예는 이용 가능한 인트라 예측 모드(66)와 관련하여 상이하고, 선택(68)에 대한 동작 모드는, 예를 들어, 블록(18)에 대한 선택(68)에 대해 데이터스트림(12)에 부가 정보가 설정되어 있는지의 여부를 제안한다. 그러나, 이들 실시예의 설명은 수학적 세부 사항을 제공하는 구체적인 설명으로 시작한다. 이 초기 실시예에 따르면, 인트라 예측될 특정 블록(18)에 대한 선택은 대응하는 부가 정보 시그널링(70)과 관련되고, 인트라 예측 모드의 데이터 스트림 및 복수의 신경망 기반 인트라 예측 모드(66)들의 세트(72)와 휴리스틱(heuristic) 설계의 추가적인 인트라 예측 모드의 세트(74)를 포함한다. 모드(74)의 인트라 예측 모드 중 하나는 예를 들어 이웃하는 샘플 세트(60)에 기초하여 일부 평균값이 결정되고, 이 평균값이 블록(18) 내의 모든 샘플들(64)에 할당되는 DC 예측 모드일 수 있다. 부가적으로 또는 대안적으로, 세트 (74)는 각도 인터 예측 모드로 지칭될 수 있는 인터 예측 모드를 포함할 수 있으며, 각도 인터 예측 모드에 따라, 이웃하는 샘플 세트 (60)의 샘플 값은 이러한 각도 예측 모드마다 상이한 이 인트라 예측 방향을 갖는 특정 인트라 예측 방향을 따라 블록(18)으로 복사된다.
도 5는 데이터스트림(12)은 복수의 인트라 예측 모드(66) 중 선택(68)에 관한 선택적으로 존재하는 부가 정보(70) 외에, 전술한 바와 같이, 코딩이 변환 영역에서 양자화를 갖는 변환 코딩을 선택적으로 포함할 수 있는 예측 잔차가 인코딩되는 부분(76)을 포함하는 것을 도시한다.
특히, 본 출원의 특정 실시예에 대한 다음 설명의 이해를 용이하게 하기 위해, 도 6은 인코더 및 디코더에서의 인트라 예측 블록에 대한 일반적인 동작 모드를 도시한다. 도 6은 인트라 예측이 수행되는 것에 기초하여 이웃하는 샘플 세트(60)와 함께 블록(18)을 도시한다. 이 세트(60)는 카디널리티(cardinality)의 관점에서, 복수의 인트라 예측 모드의 복수의 66개의 인트라 예측 모드, 즉 블록(18)에 대한 예측 신호를 결정하기 위해 각각의 인트라 예측 모드에 따라 실제로 사용된 세트(60)의 샘플들의 수에 따라 변할 수 있음에 유의한다. 그러나, 이것은 이해의 편의를 위해 도 6에 표시하지 않았다. 도 6은 인코더 및 디코더가 세트(72)의 각각의 신경망 기반 인트라 예측 모드에 대해 하나의 신경망(800 내지 80KB-1)을 갖는 것을 도시한다. 세트(60)는 세트(72) 중 대응하는 인트라 예측 모드를 도출하기 위해 각각의 신경망에 적용된다. 이 외에도,도 6은 입력, 즉 이웃하는 샘플의 세트(60), 세트 74의 하나 이상의 인트라 예측 모드의 하나 이상의 예측 신호, 예를 들어 DC 모드 예측 신호 및/또는 각도 인트라 예측 모드 예측 신호에 기초하여 제공하는 하나의 블록(82)을 대표적으로 도시한다. 다음의 설명은 i = 0…KB-1을 갖는 신경망(80i)에 대한 파라미터가 유리하게 결정될 수 있는 방법에 대해 설명할 것이다. 이하에 설명되는 특정 실시예는 또한 세트(60)와 일치하거나 일치하지 않을 수 있는 이웃하는 샘플들의 세트(86)에 기초하여 세트(72) 내의 각각의 신경망 기반 인트라 예측 모드에 대한 확률 값을 제공하기 위해 전용인 다른 신경망(84)을 갖는 인코더 및 디코더를 제공한다. 따라서, 확률 값은 신경망(84)이 모드 선택을 위한 부가 정보(70)를 보다 효과적으로 렌더링하는 것을 보조할 때 제공된다. 예를 들어, 후술하는 실시예에서, 가변 길이 코드는 인트라 예측 모드 중 하나를 가리키고 적어도 세트(72)에 관한 한 사용되며, 신경망(84)에 의해 제공되는 확률 값은 부가 정보(70) 내의 가변 길이 코드를 세트(72) 내의 신경망 기반 인트라 예측 모드를 위한 신경망(84)에 의해 출력된 확률 값에 따라 정렬된 인트라 예측 모드의 순서화된 리스트에 대한 인덱스로서 사용할 수 있게 함으로써, 부가 정보(70)에 대한 코드 레이트를 최적화 또는 감소시키는 것으로 가정된다. 이에 대해, 도 6에 도시된 바와 같이, 모드 선택(68)은 추가 신경망(84)에 의해 제공되는 확률 값뿐만 아니라 데이터스트림(12) 내의 부가 정보(70)에 따라 효과적으로 수행된다.
1. 인트라 예측을 수행하는 신경망의 파라미터를 트레이닝시키는 알고리즘
Figure 112020113898590-pct00001
를 비디오 프레임의 블록, 즉 블록(18)이라고 하자. B에 M개의 픽셀을 갖는다고 가정한다. 고정 색상 컴포넌트의 경우, B의 비디오 신호 내용으로 가정하자. 우리는 im을
Figure 112020113898590-pct00002
의 요소로 간주한다. L 픽셀을 갖고 이미 재구성된 이미지
Figure 112020113898590-pct00003
을 이용할 수 있는 B의 이웃
Figure 112020113898590-pct00004
가 존재한다고 가정한다(즉, 샘플 세트 60 및 86은 대안적으로 상이할 수는 있다). 인트라 예측 함수는 함수
Figure 112020113898590-pct00005
을 의미한다.
Figure 112020113898590-pct00006
를 im에 대한 예측자로 간주한다.
다음에 설명할 것은 전형적인 하이브리드 비디오 코딩 표준, 즉 세트(72)에서 발생할 수 있는 몇몇 블록 B에 대한 데이터 구동 최적화 접근법을 통해 인트라 예측 함수를 설계하는 알고리즘이다. 이러한 목표를 달성하기 위해 다음과 같은 주요 설계 특징을 고려했다:
1. 우리가 수행하는 최적화 알고리즘에서, 특히 예측 잔차를 시그널링하기 위해 소비할 수 있는 비트 수를 포함하는 비용 함수의 근사치를 사용하고자 한다.
2. 서로 다른 신호 특성을 처리할 수 있도록 여러 인트라 예측을 공동으로 트레이닝하려고 한다.
3. 인트라 예측을 트레이닝할 때, 어떤 인트라 모드가 사용될지를 시그널링하는 데 필요한 비트 수를 고려해야 한다.
4. HEVC 인트라 예측과 같이 이미 정의된 인트라 예측 세트를 유지하고 예측을 보완 예측으로 트레이닝하려고 한다.
5. 전형적인 하이브리드 비디오 코딩 표준은 일반적으로 주어진 블록 B이 분할될 수 있는 몇 개의 블록 형태를 지원한다.
다음 4개의 섹션에서는 이러한 각각의 요구 사항을 처리하는 방법을 설명할 수 있다. 보다 정확하게 섹션 1.1에서 첫 번째 항목을 다루는 방법을 설명할 것이다. 섹션 1.2에서는 항목 2 ~ 3을 처리하는 방법에 대해 설명한다. 섹션 1.4에서는 항목 4를 고려하는 방법에 대해 설명한다. 마지막으로, 1.5 절에서는 마지막 항목을 처리하는 방법에 대해 설명한다.
1.1 비디오 코덱의 레이트(Rate) 함수와 비슷한 손실 함수를 트레이닝시키는 알고리즘
비디오 코덱에 사용되는 알 수 없는 파라미터를 결정하기 위한 데이터 기반 접근 방식은 일반적으로 주어진 트레이닝 예에서 미리 정의된 손실 함수를 최소화하려고 하는 최적화 알고리즘으로 설정된다. 일반적으로 수치 최적화 알고리즘이 실제로 작동하기 위해서는 후자의 손실 함수가 일부 평활도 요구 사항을 충족해야 한다.
반면 HEVC와 같은 비디오 인코더는 레이트-왜곡(Rate-Distortion) 비용
Figure 112020113898590-pct00007
을 최소화하여 결정을 내릴 때 최상의 성능을 발휘한다. 여기서, D는 디코딩된 비디오 신호의 재구성 에러이고, R은 레이트, 즉 비디오 신호를 코딩하는 데 필요한 비트 수이다. 또한,
Figure 112020113898590-pct00008
은 선택된 양자화 파라미터(Quantization Parameter)에 의존하는 라그랑주 파라미터(Lagrangian Parameter)이다.
실제 함수
Figure 112020113898590-pct00009
은 일반적으로 매우 복잡하며 데이터 기반 최적화 알고리즘을 제공할 수 있는 닫힌 식으로 제공되지 않는다. 따라서, 우리는 전체 함수
Figure 112020113898590-pct00010
또는 최소한 비율 함수 R을 조각 단위의 평활한 함수로 근사한다.
보다 정확하게, 이전과 같이 B를 비디오 프레임(10)의 주어진 블록 1/로 하고 고정된 색상 컴포넌트에서 B상의 대응하는 비디오 신호라고 하자. B에 M개의 픽셀을 갖는다고 가정한다. 그런 다음 예측 후보
Figure 112020113898590-pct00011
에 대해 예측 잔차
Figure 112020113898590-pct00012
을 고려한다. 주어진 양자화 파라미터(Quantization Parameter) 및 주어진 변환에 대해, R(res)는 진정한 비디오 인코더가 res의 양자화된 변환을 시그널링하는데 필요한 레이트가 되게 한다. 또한, D(res)는 res의 역 양자화 및 역변환에 의해 발생하는 재구성 에러라고 하자. 그런 다음, 우리는 H(res)가
Figure 112020113898590-pct00013
의 훌륭한 근사의 역할을 하고 가 R(res)의 훌륭한 근사의 역할을 할 수 있도록 평활하게 함수
Figure 112020113898590-pct00014
을 결정하고자 한다.
일부
Figure 112020113898590-pct00015
을 수정하고 미리 정의된 "아키텍처", 즉 조각별 다음의 평활한 함수를 수정한다:
Figure 112020113898590-pct00016
그리고 나서,
Figure 112020113898590-pct00017
을 구하여 함수 H와
Figure 112020113898590-pct00018
을 다음과 같이 모델링한다:
Figure 112020113898590-pct00019
가중치
Figure 112020113898590-pct00020
Figure 112020113898590-pct00021
를 결정하기 위해, 주어진 하이브리드 비디오 코딩 표준을 사용하는 전형적인 인코더에서 우리는 예측 잔차
Figure 112020113898590-pct00022
,
Figure 112020113898590-pct00023
및 유한한 대형 인덱스 세트
Figure 112020113898590-pct00024
에 대한 각각의 레이트 값
Figure 112020113898590-pct00025
에 대응하는 레이트 왜곡 값
Figure 112020113898590-pct00026
에 대한 방대한 트레이닝 예를 수집했다. 그런 다음,
Figure 112020113898590-pct00027
Figure 112020113898590-pct00028
를 찾아서 다음과 같이 표현을 최소화하거나 최소한 작게 만든다:
Figure 112020113898590-pct00029
이 작업을 위해 우리는 일반적으로 (확률(stochastic)) 그레디언트(gradient) 하강 접근법을 사용한다.
1.2 고정 블록 형태에 대한 예측 트레이닝
이 섹션에서는 주어진 블록(B, 18), 세트(72)의 블록 및 이미 재구성된 샘플에 대한 영역 Brec(60)에 대한 KB 인트라 예측을 설계하기 위해 설정한 알고리즘에 대해 설명한다.
우리는 예측에 대해 사전 정의된 "아키텍처"가 제공된다고 가정한다. 이것은 고정된
Figure 112020113898590-pct00030
에 대해 다음과 같은 함수가 주어진다는 것을 의미한다:
Figure 112020113898590-pct00031
(1)
그리고, "가중치"
Figure 112020113898590-pct00032
를 결정하여 인트라 예측이 다음과 같이 제공되도록 한다:
Figure 112020113898590-pct00033
여기서
Figure 112020113898590-pct00034
인 경우, 다음과 같이 한다:
Figure 112020113898590-pct00035
(2)
다음 섹션에서는 이와 관련하여 자세한 내용을 제공한다. (2)의 함수는 도 6의 신경망 800-80KB-1을 정의한다.
다음으로 두 번째 파라미터 종속 함수를 사용하여 설계하려고 하는 인트라 모드의 시그널라이제이션 비용을 다음과 같이 모델링한다:
Figure 112020113898590-pct00036
(3)
다시,
Figure 112020113898590-pct00037
인 경우, 다음과 같이 정의하며:
Figure 112020113898590-pct00038
(4)
에 의해
Figure 112020113898590-pct00039
다시, 예가 도 6의 신경망(84)을 나타내는 (4)의 함수를 갖는 섹션 1.3에 제공된다.
우리는 다음과 같은 함수가 있다고 가정한다:
Figure 112020113898590-pct00040
예를 들어, 이 함수는 부가 정보(70)에 사용되는 VLC 코드 길이 분포, 즉 CAD 정보가 세트(72)보다 많은 부가 정보(70)에 의해 연관된 코드 길이를 정의한다. 그 다음에, 우리는 다음의 같이 정의한다:
Figure 112020113898590-pct00041
에 의해
Figure 112020113898590-pct00042
일단,
Figure 112020113898590-pct00043
의 M의 k번째 컴포넌트
Figure 112020113898590-pct00044
를 트레이닝하는 k번째 인트라 모드를 시그널링하는 데 필요한 비트 수를 모델링해야 한다.
만약
Figure 112020113898590-pct00045
Figure 112020113898590-pct00046
라고 주어지고, 재구성된 이미지
Figure 112020113898590-pct00047
과 원본 이미지
Figure 112020113898590-pct00048
라고 2.1 절에서 정의된 함수라면, 다음과 같으며:
Figure 112020113898590-pct00049
이는 모든
Figure 112020113898590-pct00050
인 경우에 대해
Figure 112020113898590-pct00051
인 속성을 갖는 가장 작은
Figure 112020113898590-pct00052
를 나타낸다.
M은 인트라 모드의 단일화를 위한 실제 비트 수를 모델링하기 때문에 그레디언트는 0이거나 정의되지 않는다. 따라서, M은 모두 그레디언트 하강 기반 알고리즘을 통해 가중치
Figure 112020113898590-pct00053
를 최적화하기에 충분하지 않다. 따라서, 함수
Figure 112020113898590-pct00054
를 softmax 함수를 사용하여 확률 분포로 변환하여 인트라 모드의 교차 엔트로피를 호출한다. 우리는 후자의 함수의 정의를 다시 호출한다.
Figure 112020113898590-pct00055
의 경우, xi가 x의 i번째 컴포넌트를 나타낸다. 그러면,softmax 함수
Figure 112020113898590-pct00056
는 다음과 같이 정의된다:
Figure 112020113898590-pct00057
그레디언트 업데이트의 경우, 후자의 확률 분포와 관련하여 모드 kopt의 잔차 비율과 교차 엔트로피의 합을 최소화하려고 시도한다. 따라서, 블록 B에 대한 손실 함수 LossB를 다음과 같이 정의한다:
Figure 112020113898590-pct00058
Figure 112020113898590-pct00059
(5)
이며, 여기서
Figure 112020113898590-pct00060
이다.
(5)의 손실 함수가 주어지면 데이터 중심 최적화로 가중치
Figure 112020113898590-pct00061
를 결정한다. 따라서 유한 인덱스 세트 JB의 경우 B에 대한 이미지
Figure 112020113898590-pct00062
와 Brec에 대응하는 재구성된 이미지 reci의 트레이닝 예
Figure 112020113898590-pct00063
가 주어지면, 예를 들어(확률) 그레디언트 하강 방법을 기반으로 최적화 알고리즘을 적용하여 다음과 같이 식을 최소화하는 가중치
Figure 112020113898590-pct00064
를 찾는다:
Figure 112020113898590-pct00065
(6)
1.3 함수
Figure 112020113898590-pct00066
Figure 112020113898590-pct00067
의 명세
이 섹션에서는 함수
Figure 112020113898590-pct00068
Figure 112020113898590-pct00069
의 형식을 보다 정확하게 정의한다. 다시, 일부는 신경망(80과 84)을 정의한다는 것을 상기한다. 이들 함수 각각은 1) 아핀 변환(afffine transofrmation) Aff, 또는 2) 비선형 활성화 함수 Act로 구성된다.
아핀 변환
Figure 112020113898590-pct00070
은 다음과 같은 형식의 맵을 의미한다:
Figure 112020113898590-pct00071
여기서
Figure 112020113898590-pct00072
은 선형 변환이다, 즉 모든
Figure 112020113898590-pct00073
이고,
Figure 112020113898590-pct00074
인 경우, 다음을 만족시킨다:
Figure 112020113898590-pct00075
각각의 선형 맵
Figure 112020113898590-pct00076
Figure 112020113898590-pct00077
의 행렬에 의해 완전히 결정되며, 즉 벡터
Figure 112020113898590-pct00078
에 고유하게 대응한다. 따라서, 각각의 아핀 함수
Figure 112020113898590-pct00079
Figure 112020113898590-pct00080
가중치, 즉 벡터
Figure 112020113898590-pct00081
에 의해 완전히 결정된다. 각각의
Figure 112020113898590-pct00082
에 대해 앞에서 언급한 방식으로 Θ에 해당하는 고유한 아핀 변환에 대해
Figure 112020113898590-pct00083
를 작성한다.
비선형 활성화 함수
Figure 112020113898590-pct00084
은 다음과 같은 형식의 함수를 의미한다:
Figure 112020113898590-pct00085
여기서, (Act(x))i는 Act(x)의 i번째 컴포넌트을 나타내고, xi는 x의 i번째 컴포넌트을 나타낸다. 마지막으로,
Figure 112020113898590-pct00086
는 다음의 형태일 수 있거나:
Figure 112020113898590-pct00087
(7)
다음의 형태일 수 있다:
Figure 112020113898590-pct00088
(8)
이들 예는 본 출원의 실시예를 이러한 명시적인 예로 제한하는 것으로 해석되지 않을 것이다.
Figure 112020113898590-pct00089
또는 다른 비선형 함수와 같은 다른 공식도 사용될 수 있다.
Figure 112020113898590-pct00090
은 대안적으로 예를 들어 부분적으로 평활한 함수일 수 있다.
함수
Figure 112020113898590-pct00091
는 이제 다음과 같다. 고정된
Figure 112020113898590-pct00092
인 경우,
Figure 112020113898590-pct00093
이고,
Figure 112020113898590-pct00094
이며,
Figure 112020113898590-pct00095
,
Figure 112020113898590-pct00096
라고 하면, 다음과 같다:
Figure 112020113898590-pct00097
여기서,
Figure 112020113898590-pct00098
,
Figure 112020113898590-pct00099
Figure 112020113898590-pct00100
은 (1)에서와 같다. 그 다음에,
Figure 112020113898590-pct00101
이고,
Figure 112020113898590-pct00102
인 경우, 다음과 같이 정의한다:
Figure 112020113898590-pct00103
따라서,
Figure 112020113898590-pct00104
는 파라미터 Θ를 사용하여 파라미터화된 신경망(80i)을 설명할 것이다. 이 함수는 선형 함수
Figure 112020113898590-pct00105
및 비선형 함수 ρ의 시퀀스이며, 이 예에서는 시퀀스에서 교대로 적용되고, 여기서 파라미터 Θ는
Figure 112020113898590-pct00106
의 선형 함수 가중치를 포함한다. 선형 함수
Figure 112020113898590-pct00107
와 비선형 함수 ρ의 시퀀스에서, 선형 함수 와 비선형 함수 ρ의 쌍은 뉴런 층을 나타내며, 예를 들어, j번째 층과 같은, 신경망의 피드-포워드 방향으로 이 뉴런 층 j 앞에 있는 선행 노드의 수는
Figure 112020113898590-pct00108
의 차원 m,
Figure 112020113898590-pct00109
의 열의 수, 및 뉴런 층 j 자체의 뉴런 수는
Figure 112020113898590-pct00110
의 차원 n, 그 행의 수 j에 의해 결정된다.
Figure 112020113898590-pct00111
의 각각의 행은 각각의 m 개의 선행 뉴런의 각각의 활성화 신호 강도가 각각의 행에 대응하는 뉴런 층 j의 각각의 뉴런으로 전달되는 강도를 제어하는 가중치를 포함한다. ρ는 뉴런 층의 각 뉴런에 대해 전달된 선행 뉴런 활성화의 선형 조합의 자체 비선형 매핑의 비선형 매핑을 자신의 활성화로 제어한다. 위의 예에서 k개의 뉴런 층이 있다. 층당 뉴런의 수는 다를 수 있다. 뉴런 층의 수(k)는 다양한 신경 네트워크(80j), 즉 다른 j에 따라 달라질 수 있다. 비선형 함수는 신경 층 또는 뉴런 또는 다른 단위에 따라 다를 수 있음에 유의한다.
마찬가지로, 우리의 함수
Figure 112020113898590-pct00112
는 다음과 같다. 우리는 다음과 같이 가정한다: 고정된
Figure 112020113898590-pct00113
인 경우,
Figure 112020113898590-pct00114
이고,
Figure 112020113898590-pct00115
이며,
Figure 112020113898590-pct00116
,
Figure 112020113898590-pct00117
라고 하면,
Figure 112020113898590-pct00118
이다.
여기서,
Figure 112020113898590-pct00119
,
Figure 112020113898590-pct00120
Figure 112020113898590-pct00121
은 (3)에서와 같다. 그 다음에,
Figure 112020113898590-pct00122
이고,
Figure 112020113898590-pct00123
인 경우, 다음과 같이 정의한다:
Figure 112020113898590-pct00124
따라서,
Figure 112020113898590-pct00125
는 파라미터 Ψ를 사용하여 파라미터화된 신경망(84)을 설명할 것이다. 이는 예측 신호 계산에 관한 뉴런 층들에 대하여 위에서 설명된 바와 같이, 선형 함수
Figure 112020113898590-pct00126
및 비선형 함수 ρ의 시퀀스일 것이다. 신경 네트워크(84)의 뉴런 층의 수(k')는 신경 네트워크(80i)의 뉴런 층의 수(k) 중 하나 이상과 상이할 수 있다.
1.4 기존 예측을 고려한 트레이닝
기존 섹션의 예측을 보완하는 예측을 트레이닝할 수 있도록 이전 섹션의 알고리즘을 확장했다.
즉,
Figure 112020113898590-pct00127
은 이미 사용 가능한 일련의 고정 인트라 예측 함수라고 하자. 예를 들어,
Figure 112020113898590-pct00128
는 HEVC의 DC 예측 또는 평면 예측 및 HEVC에 따라 정의된 각도 예측으로 구성될 수 있으며; 이러한 모든 예측은 또한 재구성된 샘플의 예비 평활화를 포함할 수 있다. 또한, 우리는 다음과 같은 함수가 있다고 가정한다:
Figure 112020113898590-pct00129
Figure 112020113898590-pct00130
는 원래의 이미지 im이 주어지면 rec에 적용된 k번째 인트라 예측 함수
Figure 112020113898590-pct00131
의 손실을 모델링한다.
그런 다음, 손실 함수를 (5)에서 다음의 손실 함수로 확장한다:
Figure 112020113898590-pct00132
Figure 112020113898590-pct00133
Figure 112020113898590-pct00134
(9)
큰 세트의 트레이닝 예제에 대해 이전 섹션의 끝에서 표기법을 유지하면서 다음을 최소화하여 가중치
Figure 112020113898590-pct00135
를 결정한다:
Figure 112020113898590-pct00136
이를 위해 일반적으로 먼저 최적화(6)하여 가중치를 찾은 다음 가중치로 초기화하여 최적화하는 가중치를 찾는다(10).
1.5 여러 블록 형태에 대한 예측의 공동 트레이닝
이 섹션에서 우리는 예측 트레이닝에서 전형적인 비디오 코딩 표준에서 일반적으로 블록을 다양한 방식으로 더 작은 서브 블록으로 분할하고 더 작은 서브 블록에 대해 인트라 예측을 수행하는 것이 가능한 방법을 고려할 수 있다고 설명했다.
즉, 일부
Figure 112020113898590-pct00137
의 경우,
Figure 112020113898590-pct00138
영역 세트와 함께 허용 가능한 블록
Figure 112020113898590-pct00139
Figure 112020113898590-pct00140
세트가 주어지며, 각각의
Figure 112020113898590-pct00141
는 Bi의 이웃인 것으로 주어진다. 일반적으로,
Figure 112020113898590-pct00142
는 Bi의 왼쪽과 위의 두 사각형의 합 세트이다.
각각의
Figure 112020113898590-pct00143
에 대해
Figure 112020113898590-pct00144
가 되도록 하는 블록
Figure 112020113898590-pct00145
이 있다고 가정한다. P(BL)을 BL의 전력 세트라고 하자. 그러면,
Figure 112020113898590-pct00146
의 경우, 각각의
Figure 112020113898590-pct00147
에 대해 블록 B는 분리 결합
Figure 112020113898590-pct00148
로 작성될 수 있도록 하는
Figure 112020113898590-pct00149
가 주어진다.
주어진 색상 컴포넌트에 대해 im을 Bmax의 이미지라고 하며, 제한적으로 각각의
Figure 112020113898590-pct00150
에 대해 Bi의 이미지
Figure 112020113898590-pct00151
로 간주한다. 또한
Figure 112020113898590-pct00152
에 재구성된 이미지 rec가 있다고 가정하며, 제한적으로, 각각의
Figure 112020113898590-pct00153
에 대해
Figure 112020113898590-pct00154
의 이미지
Figure 112020113898590-pct00155
로 간주한다.
섹션 1.2의 표기법을 유지하면서, 각각의
Figure 112020113898590-pct00156
에 대해, KB 인트라 예측 함수들
Figure 112020113898590-pct00157
에 대한 가중치들의 세트로서
Figure 112020113898590-pct00158
를 구하고, 모드 예측 함수 GB의 가중치로
Figure 112020113898590-pct00159
를 구한다. 모든
Figure 112020113898590-pct00160
에 대한 이러한 가중치는 다음과 같이 공동으로 결정된다.
Figure 112020113898590-pct00161
및 주어진 가중치 세트
Figure 112020113898590-pct00162
,
Figure 112020113898590-pct00163
,
Figure 112020113898590-pct00164
,
Figure 112020113898590-pct00165
인 경우, 다음과 같이 주어진다:
Figure 112020113898590-pct00166
또한,
Figure 112020113898590-pct00167
인 경우,
Figure 112020113898590-pct00168
을 다음과 같이 정의한다:
Figure 112020113898590-pct00169
섹션 1.4에서와 같이, 각각의
Figure 112020113898590-pct00170
에 대해 인트라 예측 함수의 빈 세트
Figure 112020113898590-pct00171
가 이용 가능하다고 가정한다. 다음과 같다고 하자:
Figure 112020113898590-pct00172
그런 다음, 손실 함수
Figure 112020113898590-pct00173
를 다음과 같이 정의한다. 세트를 포함하여 세트 BL에 대한 순서가 ≤다. 은 BL의 모든 최소 요소 세트이라고 하자.
Figure 112020113898590-pct00174
인 경우, 다음과 같다:
Figure 112020113898590-pct00175
여기서, 후자의 함수는 (9)에서와 같다.
다음으로,
Figure 112020113898590-pct00176
이라고 하고,
Figure 112020113898590-pct00177
인 모든
Figure 112020113898590-pct00178
에 대해
Figure 112020113898590-pct00179
가 이미 정의되어 있다고 가정한다.
그 다음에, 우리는 다음과 같이 정의한다:
Figure 112020113898590-pct00180
Figure 112020113898590-pct00181
Figure 112020113898590-pct00182
Figure 112020113898590-pct00183
마지막으로, Bmax에 대한 이미지 imi의 고정된 트레이닝 예 세트
Figure 112020113898590-pct00184
를 고려하여, 다음과 같이 식을 최소화하거나 최소한 작게 하여
Figure 112020113898590-pct00185
,
Figure 112020113898590-pct00186
를 결정한다:
Figure 112020113898590-pct00187
Figure 112020113898590-pct00188
일반적으로, 각각의
Figure 112020113898590-pct00189
에 대해 먼저 (9)를 최소화하여 가중치
Figure 112020113898590-pct00190
,
Figure 112020113898590-pct00191
를 초기화한다.
2. 트레이닝된 신경망을 비디오 코덱에 통합
주어진 색상 컴포넌트에 대해 주어진 블록
Figure 112020113898590-pct00192
에 대한 비디오 신호의 내용이 디코더에 의해 생성되는 하이브리드 비디오 코딩 표준을 고려한다. M을 B의 픽셀 수로 하자. 또한,
Figure 112020113898590-pct00193
는 디코더가 Brec에 재구성된 이미지 rec를 대체할 수 있도록 B의 고정된 이웃으로 하자. L을 Brec의 픽셀 수로하자. 그런 다음, rec를
Figure 112020113898590-pct00194
의 요소로 간주한다. 코덱은 현재 블록 B(10)에 대한 예측 코딩에 의해 동작한다고 가정한다. 그런 다음, R에 대한 예측 신호를 생성하기 위해 디코더가 수행할 수 있는 다음 단계에 대한 저작권을 주장하며,
Figure 112020113898590-pct00195
의 요소로 간주한다:
1. 디코더는 그 고정된 숫자 KB,
Figure 112020113898590-pct00196
, 다음의 함수를 갖는다:
Figure 112020113898590-pct00197
, 즉
Figure 112020113898590-pct00198
Figure 112020113898590-pct00199
, 즉 84, 뿐만 아니라 가중치
Figure 112020113898590-pct00200
및 가중치
Figure 112020113898590-pct00201
를 가지며, 여기서 후자의 가중치는 이전 섹션에서 설명한 트레이닝 알고리즘에 의해 미리 결정된다.
2. 디코더는 비트스트림으로부터 부가 정보(70)의 일부인 플래그를 재구성하고 다음 옵션 중 정확히 하나가 참인지를 표시한다: [label=)]
(i) 예측
Figure 112020113898590-pct00202
중 하나, 즉, 세트(72) 이외의 모드가 사용된다.
(ii) 예측
Figure 112020113898590-pct00203
중 어느 것도 사용되지 않아야 한다(즉, 예를 들어, 74 중 하나).
여기서, 함수
Figure 112020113898590-pct00204
는 (2)에서와 같다.
3. 단계 2의 옵션 2가 참이면, 디코더는 기본 하이브리드 비디오 코딩 표준에서와 같이 주어진 블록(10)에 대해 진행한다.
4. 단계 2의 옵션 1이 참이면, 디코더는 (4)에 따라 정의된 함수
Figure 112020113898590-pct00205
, 즉 84를 재구성된 이미지 rec에 적용한다.
Figure 112020113898590-pct00206
Figure 112020113898590-pct00207
로 정의한다. 그런 다음 표준은 디코더가 다음 2개의 옵션 중 하나를 사용하여 수
Figure 112020113898590-pct00208
를 정의하는 방식으로 변경된다:
(i) 디코더는 세트
Figure 112020113898590-pct00209
에 대한 확률 분포
Figure 112020113898590-pct00210
를 다음과 같이 정의한다:
Figure 112020113898590-pct00211
그리고 후자 확률 분포 를 사용하여 데이터 스트림(12)으로부터 기초 표준에 사용된 엔트로피 코딩 엔진을 통해 부가 정보(70)의 일부인 인덱스
Figure 112020113898590-pct00212
를 파싱하고 m:=k라고 정의한다.
(ii) 디코더는
Figure 112020113898590-pct00213
로 하고- 여기서
Figure 112020113898590-pct00214
는 모든
Figure 112020113898590-pct00215
에 대해
Figure 112020113898590-pct00216
을 갖는 최소값-
Figure 112020113898590-pct00217
라고 하여- 여기서
Figure 112020113898590-pct00218
는 모든
Figure 112020113898590-pct00219
에 대해
Figure 112020113898590-pct00220
인 최소수-, 순열
Figure 112020113898590-pct00221
를 유도적으로 정의한다.
그 다음에, 디코더는 비트스트림(12)으로부터 데이터 스트림(12)의 일부인 고유 인덱스
Figure 112020113898590-pct00222
를 재구성하고
Figure 112020113898590-pct00223
라고 한다.
후자의 인덱스 i를 구문 분석하는 코드 설계에서, 인덱스
Figure 112020113898590-pct00224
를 알리는 데 필요한 비트 수는
Figure 112020113898590-pct00225
인 경우 인덱스
Figure 112020113898590-pct00226
를 알리는 비트 수보다 작거나 같거나, 엔트로피 코딩 엔진에 의해 사용된 모든 관련된 기본 확률이 동일한 확률로 설정되는 경우가 요구된다.
5. 단계 2의 옵션 1이 참이고 디코더가 이전 단계 4에 따라 인덱스 m을 결정한 경우, 디코더는 예측 신호
Figure 112020113898590-pct00227
Figure 112020113898590-pct00228
로서, 즉 선택된 신경망(80m)을 사용하여 생성한다(71). 그 다음에, 디코더는 예측 신호로서 pred를 사용하여 기본 하이브리드 비디오 코딩 표준에서와 같이 진행한다.
설계를 가진 인트라 예측 함수의 통합은 기존 하이브리드 비디오 코덱에 대한 데이터 기반 학습 접근 방식을 기반으로 한다. 설명에는 두 가지 주요 부분이 있다. 첫 번째 부분에서는 인트라 예측 함수의 오프라인 학습을 위한 구체적인 알고리즘을 설명했다. 두 번째 부분에서, 비디오 디코더가 주어진 블록에 대한 예측 신호를 생성하기 위해 후자의 예측 기능을 어떻게 사용할 수 있는지 설명했다.
따라서, 섹션 1.1 내지 2에서 설명된 것은 특히 데이터스트림(12)으로부터 화상(10)을 블록 단위로 디코딩하기 위한 장치이다. 장치(54)는 적어도 인트라 예측 모드들의 세트(72)를 포함하는 복수의 인트라 예측 모드를 지원하며, 이에 따라, 화상(10)의 현재 블록(18)에 대한 인트라 예측 신호는 현재 블록(18)의 이웃하는 샘플의 제1 세트(60)를 신경망(80i)에 적용함으로써 결정된다. 장치(54)는 복수의 인트라 예측 모드(66) 중에서 현재 블록(18)에 대해 하나의 인트라 예측 모드를 선택하고(68) 하나의 인트라 예측 모드를 사용하여, 즉 대응하는 신경망(80m)이 선택된 것을 사용하여, 현재 블록(18)을 예측한다(71). 섹션 2에 제시된 디코더는 세트(72)의 신경망 기반에 더하여 지원되는 인트라 예측 모드의 복수(66) 내에 인트라 예측 모드(74)를 가졌지만, 이것은 단지 예일뿐이며 반드시 그럴 필요는 없다. 또한, 섹션 1 및 섹션 2에서의 상기 설명은 디코더(54)가 추가 신경망(84)을 사용하지 않고 포함하지 않는다는 점에서 달라질 수 있다. 위에서 설명한 최적화와 관련하여, 이는
Figure 112020113898590-pct00229
를 찾기 위해 섹션 1.2에 제시된 내부 품질의 제2 가산기가 확률 값 신경망 함수 GB에 적용된 함수 MB의 연결 필요는 없음을 의미한다. 오히려, 선택 주파수가 MB의 코드 레이트 표시를 적절히 따르도록 하는 방식으로 신경망(80i)에 적합한 파라미터를 결정하는 것의 최적화 알고리즘이 이루어진다. 예를 들어, 디코더(54)는 코드 길이가 MB로 표시되는 가변 길이 코드를 사용하여 블록(18)에 대한 인덱스를 데이터 스트림(12)으로부터 디코딩할 수 있고, 디코더(54)는 이 인덱스에 기초하여 선택(68)을 수행할 것이다. 인덱스는 부가 정보(70)의 일부일 것이다.
섹션 2에서 앞서 설명한 설명에 대한 추가 대안은, 디코더(54)는 대안적으로 제1 부분 이외의 데이터 스트림의 제2 부분에 따라 인트라 예측 모드의 순서화된 리스트로부터 최종적으로 사용될 인트라 예측 모드를 선택하여 순서화된 인트라 예측 모드의 리스트를 획득하기 위해, 현재 블록(18)의 주변에 관한 데이터 스트림의 제1 부분에 따라 신경망 기반 인트라 예측 모드들의 세트(72) 사이의 순위를 도출할 수 있다. "제1 부분"은 예를 들어 현재 블록(18)에 인접한 하나 이상의 블록과 관련된 코딩 파라미터 또는 예측 파라미터와 관련될 수 있다. "제2 부분"은 예를 들어 신경망 기반 인트라 예측 모드 세트(72)를 지시하거나 그의 인덱스인 인덱스일 수 있다. 전술한 섹션 2와 일치하여 해석될 때, 디코더(54)는 인트라 예측 모드들의 세트(72)의 각각의 인트라 예측 모드에 대해, 세트(72)의 각각의 인트라 예측 모드에 대한 순위를 결정하기 위해 이웃하는 샘플들의 세트(86)를 적용하고 이들 확률 값들을 순서화함으로써 확률 값을 결정함으로써, 순서화 인트라 예측 모드의 리스트를 획득하는 추가 신경망(84)을 포함할 수 있다. 부가 정보(70)의 일부로서 데이터스트림(12)의 인덱스는 순서 리스트의 인덱스로서 사용된다. 여기서, 이 인덱스는 MB가 코드 길이를 나타내는 가변 길이 코드를 사용하여 코딩될 수 있다. 그리고 다른 대안적인 실시예에 따라, 섹션 2에서, 항목 4i에서 설명된 바와 같이, 디코더(54)는 세트(72)로의 인덱스의 엔트로피 코딩을 효율적으로 수행하기 위해 세트(72)의 각각의 신경망 기반 인트라 예측 모드에 대해 추가 신경망(84)에 의해 결정된 방금 언급된 확률 값을 사용할 수도 있다. 부가 정보(70)의 일부이고 세트(72)에 대한 인덱스로서 사용되는 이 인덱스의 기호 알파벳은 세트(72) 내의 각각의 모드에 대한 기호 또는 값을 포함할 것이고, 신경망(84)에 의해 제공되는 확률 값은 상기 설명에 따른 신경망(84) 설계의 경우에, 이러한 확률 값이 실제 심볼 통계를 밀접하게 나타내는 점에서 효율적인 엔트로피 코딩을 야기할 확률 값을 제공할 것이다. 이 엔트로피 코딩을 위해, 예를 들어 확률 간격 분할 엔트로피(probability interval partitioning entropy, PIPE) 코딩과 같은 산술 코딩이 사용될 수 있다.
바람직하게는, 세트(72)의 인트라 예측 모드 중 임의의 것에 대해 추가 정보가 필요하지 않다. 예를 들어, 섹션 1 및 2의 상기 설명에 따라 인코더 및 디코더를 위해 유리하게 파라미터화된 각각의 신경망(80i)은 데이터스트림에서 추가적인 안내 없이 현재 블록(18)에 대한 예측 신호를 도출한다. 전술한 바와 같이, 세트(72)의 신경망 기반 모드 외에 다른 인트라 예측 모드의 존재는 선택적이다. 그것들은 세트(74)로 표시되었다. 이와 관련하여, 세트(60), 즉 인트라 예측(71)에 대한 입력을 형성하는 이웃하는 샘플 세트를 선택하는 하나의 가능한 방법은 이 세트(60)가 세트(74)의 인트라 예측 모드에 대해 동일하도록, 즉 신경망 기반 인트라 예측 모드에 대한 세트(60)가 세트(60)에 포함된 이웃하는 샘플의 수의 관점에서 더 크고 인트라 예측(71)에 영향을 미치는 휴리스틱 모드가 선택될 수 있음에 유의해야 한다. 다시 말해, 세트(60)의 카디널리티는 세트(74)의 다른 모드에 비해 신경망 기반 인트라 예측 모드(72)에 대해 더 클 수 있다. 예를 들어, 세트(74)의 임의의 인트라 예측 모드의 세트(60)는 단지 좌측 및 상부와 같은 블록(18)의 측면을 따라 연장되는 1차원 라인을 따라 이웃하는 샘플을 포함할 수 있다. 신경망 기반 인트라 예측 모드의 세트(60)는 블록(18)의 방금 언급된 측면을 따라 연장되지만 세트(74)의 인트라 예측 모드에 대한 세트(60)만큼 단지 하나의 샘플보다 넓은 L형 부분을 커버할 수 있다. 이러한 방식으로, 신경 네트워크 기반 인트라 예측 모드는 대응하여 더 낮은 예측 잔차를 갖는 더 나은 인트라 예측을 초래할 수 있다.
섹션 2에서 전술한 바와 같이, 데이터 스트림(12)에서 인트라 예측된 블록(18)으로 전달되는 부가 정보(70)는 블록(18)에 대해 선택된 인트라 예측 모드가 세트(72)의 멤버인지 또는 세트(74)의 멤버인지를 나타내는 플렉을 포함할 수 있다. 그러나, 이 플렉은 예를 들어 세트(72 및 74)를 포함하는 복수의 전체 인트라 예측 모드(66)로의 인덱스를 나타내는 부가 정보(70)를 갖는 단지 선택적인 것이다.
방금 논의된 대안은 다음에서 도 7a 내지 7d와 관련하여 간략하게 논의된다. 상기 도면들은 디코더와 인코더를 동시에, 즉 인트라 예측된 블록(18)과 관련한 기능성 측면에서 정의한다. 인트라 코딩된 블록(18)에 대한 인코더 동작 모드와 디코더 동작 모드의 차이점은, 한편으로, 인코더가 예를 들어, 일부 비용 함수 최소화 감각의 관점에서 90을 최상의 것으로 결정하기 위해 이용 가능한 인트라 예측 모드(66) 전부 또는 적어도 일부를 수행한다는 것이고, 인코더는 데이터 스트림(12), 즉 그 날짜의 코드를 형성하는 반면, 디코더는 각각 디코딩 및 판독에 의해 데이터를 도출한다는 것이다. 도 7a는 블록(18)에 대한 부가 정보(70) 내의 플래그(70a)가 단계(90)에서 인코더에 의해 블록(18)에 대한 최상의 모드로 결정되었는지를 나타내는, 전술한 대안에 대한 동작 모드가 세트(72) 내에 있는지 여부 즉, 신경망 기반 인트라 예측 모드이거나 세트(74) 내에, 즉 비 신경망 기반 인트라 예측 모드 중 하나인 것을 도시한다. 인코더는 그에 따라 플래그(70a)를 데이터 스트림(12)에 삽입하고, 디코더는 그로부터 플래그를 검색한다.
도 7a는 결정된 인트라 예측 모드(92)가 세트(72) 내에 있다고 가정한다. 개별 신경망(84)은 그 후 세트(72)의 인트라 예측 모드에 기초하고 이들 확률 값 세트(72)를 이용하여 각각의 신경망에 대한 확률 값을 결정하고, 또는 더 정확하게 말하면, 신경망 기반의 인트라 예측 모드는 확률 값의 내림차순과 같은 확률 값에 따라 순서가 정해지고, 이로써 인트라 예측 모드의 순서화된 리스트(94)가 된다. 부가 정보(70)의 일부인 인덱스(70b)는 인코더에 의해 데이터 스트림(12)으로 코딩되고 그로부터 디코더에 의해 디코딩된다. 따라서, 디코더는 어떤 세트들의 세트(72 및 74)를 결정할 수 있다. 블록(18)에 사용될 인트라 예측 모드가 위치하고, 사용될 인트라 예측 모드가 세트(72)에 있는 경우 세트(72)의 순서(96)를 수행한다. 결정된 인트라 예측 모드가 세트(74)에 위치하는 경우 인덱스는 또한 데이터 스트림(12)에서 송신될 수 있다. 따라서, 디코더는 그에 따라 선택(68)을 제어함으로써 결정된 인트라 예측 모드를 사용하여 블록(18)에 대한 예측 신호를 생성할 수 있다.
도 7b는 플래그(70a)가 데이터 스트림(12)에 존재하지 않는 대안을 도시한다. 대신, 순서화된 리스트(94)는 세트(72)의 인트라 예측 모드뿐만 아니라 세트(74)의 인트라 예측 모드를 포함할 것이다. 부가 정보(70) 내의 인덱스는 이 더 큰 순서 리스트에 대한 인덱스일 것이고, 결정된 인트라 예측 모드, 즉 결정된 인트라 예측 모드를 나타낸다. 신경망(84)이 72 내에서만 신경망 기반 인트라 예측 모드에 대한 확률 값을 제공하는 경우, 세트(74)의 인트라 예측 모드에 대한 세트(72)의 인트라 예측 모드 사이의 순위는 순서 리스트(94)가 순서 리스트(94)에서 세트(74)의 모드보다 우선하도록 또는 세트(72)의 신경망 기반 인트라 예측 모드를 불가피하게 배열하거나 서로에 대해 교대로 배열하는 것과 같은 다른 수단에 의해 결정될 수 있다. 즉, 디코더는 데이터 스트림(12)으로부터 인덱스를 도출할 수 있고, 신경망(84)에 의해 출력된 확률 값을 이용하여 복수의 인트라 예측 모드(66)로부터 순서 리스트(94)를 도출하면서 순서 리스트(94)로 인덱스에서와 같이 인덱스(70)를 사용한다.
도 7c는 다른 변형을 도시한다. 도 7c는 플래그(70a)를 사용하지 않는 경우를 도시하지만, 플래그가 대안적으로 사용될 수 있다. 도 7c에 관한 문제는 인코더 및 디코더가 신경망(84)을 사용하지 않을 가능성에 관한 것이다. 오히려, 순서화(96)는 하나 이상의 이웃 블록(18), 즉 그러한 하나 이상의 이웃 블록에 속하는 데이터 스트림(12)의 부분(98)에 대해 데이터 스트림(12) 내에 전달되는 코딩 파라미터와 같은 다른 수단에 의해 도출된다.
도 7d는 도 7a의 다른 변형, 즉 인덱스(70b)가 엔트로피 코딩을 사용하여 코딩되고 엔트로피 디코딩을 사용하여 데이터 스트림(12)으로부터 디코딩되고, 일반적으로 참조 부호(100)를 사용하여 표시되는 변형을 도시한다. 엔트로피 코딩(100)에 사용된 샘플 통계 또는 확률 분포는 전술한 바와 같이 신경망(84)에 의해 출력된 확률 값에 의해 제어되며, 이는 인덱스(70b)의 엔트로피 코딩을 매우 효율적으로 만든다.
모든 실시예(7a 내지 7d)에 대해, 세트(74) 모드가 존재하지 않을 수 있다는 것은 사실이다. 따라서, 각각의 모듈(82)이 누락될 수 있고, 플래그(70a)는 어쨌든 불필요할 것이다.
또한, 도 1에는 도시되지 않았지만, 인코더 및 디코더에서의 모드 선택(68)은 임의의 명시적인 시그널링(70) 없이, 즉 임의의 부가 정보를 소비하지 않고 서로 동기화될 수 있음이 명백하다. 오히려, 선택은 불가피하게 순서 리스트(94)의 제1 리스트를 취하거나 하나 이상의 이웃 블록과 관련된 코딩 파라미터에 기초하여 순서 리스트(94)로 인덱스를 유도하는 것과 같은 다른 수단으로부터 도출될 수 있다. 도 8은 블록 기반 화상 코딩에 사용될 세트(72)의 인트라 예측 모드 세트를 설계하기 위한 장치를 도시한다. 장치(108)는 신경망(84)뿐만 아니라 신경망(800 내지 80KB-1)의 파라미터화 가능한 버전을 상속하거나 포함하는 파라미터화 가능한 네트워크(109)를 포함한다. 여기서, 도 8에서, 개별 유닛들, 즉 신경망 기반 인트라 예측 모드 0에 대한 확률 값을 제공하는 신경망(840) 내지 신경망 기반 인트라 예측 모드(KB-1)와 연관된 확률 값을 제공하기 위한 신경망(84KB-1)으로 도시된다.
신경망(84)를 파라미터화하기 위한 파라미터(111) 및 신경망(800 내지 80KB-1)를 파라미터화하기 위한 파라미터(113)는 업데이터(110)에 의해 이들 신경망의 각각의 파라미터 입력에 입력되거나 적용된다. 장치(108)는 대응하는 이웃하는 샘플 세트(116)와 함께 저장소 또는 복수의 화상 테스트 블록(114)에 액세스할 수 있다. 이 블록들(114)의 쌍 및 그들의 연관된 이웃하는 샘플 세트(116)는 장치(108)에 의해 순차적으로 사용된다. 특히, 현재 화상 테스트 블록(114)은 파라미터화 가능한 신경망(109)에 적용되어 신경망(80)은 세트(72)의 각 신경망 기반 인트라 예측 모드에 대한 예측 신호(118)를 제공하고, 각각의 신경망(80)은 이들 모드 각각에 대한 확률 값을 제공한다. 이를 위해, 이러한 신경망은 현재 파라미터(111 및 113)를 사용한다.
상기 설명에서, rec는 화상 테스트 블록(114)을 나타내기 위해 사용되었고,
Figure 112020113898590-pct00230
는 모드 B의 예측 잔차(118)이고, 확률 값은
Figure 112020113898590-pct00231
는 확률 값(120)이다. 각각의 모드 0…Kb-1에 대해, 각각의 모드에 대해 획득된 예측 신호(118)에 기초하여 각각의 모드에 대한 비용 추정치를 계산하는 장치(108)에 의해 구성되는 비용 추정기(122)가 존재한다. 상기 예에서, 비용 추정기(122)는 섹션 1.2에서 불평등의 좌측 및 우측에 표시된 바와 같이 비용 추정치를 계산하였다. 즉, 여기서, 비용 추정기(122)는 또한 각각의 모드에 대해 대응하는 확률 값(120)을 사용하였다. 그러나, 이것은 이미 위에서 논의한 것과 같은 경우일 필요는 없다. 그러나 비용 추정은 어쨌든 2개의 애드-인(add-in)의 합이며, 상기 불평등에서
Figure 112020113898590-pct00232
용어로 표시된 예측 잔차에 대한 코딩 비용의 추정치이고, 다른 하나는 모드를 표시하기 위한 코딩 비용을 추정하는 애드-인이다. 예측 잔차와 관련된 코딩 비용에 대한 추정치를 계산하기 위해, 비용 추정기(122)는 또한 현재 화상 테스트 블록(114)의 원래 컨텐츠를 획득한다. 신경망(80 및 84)은 그들의 입력에서 대응하는 이웃하는 샘플 세트(116)를 적용하였다. 비용 추정기(122)에 의해 출력된 비용 추정치(124)는 모드를 최소화하거나 이와 관련된 최소 비용 추정치를 갖는 모드를 결정하는 최소 비용 선택기(126)에 의해 수신된다. 위의 수학 표기법에서. 이것은
Figure 112020113898590-pct00233
이다. 업데이터는 이 최적 모드를 수신하고, 가장 낮은 코딩 추정의 인트라 예측 모드에 대해 획득된 예측 신호(118)에 따라 잔차 레이트 추정을 형성하는 제1 애드-인, 및 선택기(126)에 의해 지시된 바와 같이, 예측 신호 및 최저 코딩 비용 추정의 인트라 예측 모드에 대해 획득된 확률 값에 따라 모드 시그널라이제이션 부가 정보 레이트 추정을 형성하는 제2 애드-인을 갖는 코딩 비용 함수를 사용한다. 전술한 바와 같이, 이는 그레디언트 거리하강을 사용하여 수행될 수 있다. 따라서, 코딩 비용 함수는 미분 가능하고 상기 수학 표현에서 이 함수의 예는 수학식 5에 주어진다. 여기서, 모드 시그널라이제이션 부가 정보 레이트 추정에 관한 제2 애드-인은 가장 낮은 코딩 비용 추정의 인트라 예측 모드에 대한 교차 엔트로피를 계산했다.
따라서, 업데이터(110)는 코딩 비용 함수를 감소시키기 위해 파라미터(111 및 113)를 업데이트하려고 시도하고, 이 업데이트된 파라미터(111 및 113)는 파라미터화 가능한 신경망(109)에 의해 복수의의 다음 화상 테스트 블록(112)을 처리하기 위해 사용된다. 섹션 1.5와 관련하여 위에서 논의된 바와 같이, 화상 테스트 블록들(114)의 쌍들 및 그와 연관된 이웃하는 샘플 세트들(116)이 주로 인트라 예측이 레이트 왜곡 감지에서 재귀 업데이트 프로세스에 적용되도록 제어하는 메커니즘이 있을 수 있으며, 바람직하게는 임의의 블록 세분 없이 수행되므로, 파라미터(111 및 113)는 어쨌든 서브 블록 단위의 코딩이 더 비용 효율적인 화상 테스트 블록에 기초하여 너무 많이 최적화되는 것을 피할 수 있다.
지금까지, 상기 논의된 실시예들은 인코더 및 디코더가 그들의 지원되는 인트라 예측 모드(66) 내에 신경망 기반 인트라 예측 모드 세트를 갖는 경우에 주로 관련된다. 도 1 및 도 2와 관련하여 논의된 실시예들에 따르면, 도 9a 및 도 9b는 반드시 그럴 필요는 없다.
도 9a는 일 실시예에 따른 인코더 및 디코더의 동작 모드를 개략적으로 나타내며, 여기서 그 설명은 도 7a와 관련하여 앞서 설명된 내용과의 차이점에 초점을 둔 방식으로 제공된다. 지원되는 인트라 예측 모드의 복수(66)는 신경망 기반 인트라 예측 모드를 포함하거나 포함하지 않을 수 있고 비신경망 기반 인트라 예측 모드를 포함하거나 포함하지 않을 수 있다. 도 9a의 모듈(170)은 각각 지원되는 모드(66)를 제공하기 위해 인코더 및 디코더로 각각 구성되며, 따라서 대응하는 예측 신호는 반드시 신경망일 필요는 없다. 전술한 바와 같이, 이러한 인트라 예측 모드는 신경망 기반일 수도 있고, 휴리스틱하게 동기 부여되어 DC 인트라 예측 모드 또는 각도 인트라 예측 모드 또는 기타 다른 것에 기초하여 예측 신호를 계산할 수도 있다. 따라서, 이들 모듈(170)은 예측 신호 컴퓨터로 표시될 수 있다.
그러나, 도 9a의 실시예에 따른 인코더 및 디코더는 신경망(84)을 포함한다. 신경망(84)은 이웃하는 샘플 세트(86)에 기초하여, 복수의 인트라 예측 모드(66)가 순서화된 리스트(94)로 전환될 수 있도록 지원되는 인트라 예측 모드(66)에 대한 확률 값을 계산한다. 블록(18)에 대한 데이터 스트림(12) 내의 인덱스(70)는 이 순서화된 리스트(94)를 가리킨다. 따라서, 신경망(84)은 인트라 예측 모드 시그널라이제이션에 소비되는 부가 정보 레이트를 낮추는 것을 돕는다.
도 9b는 도 9a의 대안을 도시하는데, 순서화 대신에, 인덱스(70)의 엔트로피 디코딩/인코딩(100)은 확률 또는 그 간단한 통계, 즉 복수 개(66)의 각각의 모드에 대한 신경망(84)에 대해 결정된 확률 값에 따라 인코더/디코더에서 엔트로피 디코딩/인코딩에 대한 엔트로피 확률 분포를 제어하는 데 사용된다.
도 10은 신경망(84)을 설계 또는 파라미터화하기 위한 장치를 도시한다. 따라서, 그것은 인트라 예측 모드의 세트(66) 중에서 선택하는 것을 돕는 신경망을 설계하기 위한 장치(108)이다. 여기서, 세트(66)의 각각의 모드에 대해, 신경망(84)을 형성하는 대응하는 신경망 블록이 존재하고, 장치(108)의 파라미터화 가능 신경망(109)은 이들 블록에 대해 단지 파라미터화 가능하다. 각각의 모드에 대해, 도 10에 따라 파라미터화될 필요가 없는 예측 신호 컴퓨터(170)가 또한 존재한다. 따라서, 도 10의 장치(108)는 대응하는 예측 신호 컴퓨터(170)에 의해 계산된 예측 신호(118)에 기초하여, 그리고 선택적으로, 이 모드에 대한 대응하는 신경망 블록에 의해 결정된 대응하는 확률 값에 기초하여, 각각의 모드에 대한 비용 추정치를 계산한다. 결과 비용 추정치(124)에 기초하여, 최소 비용 선택기(126)는 최소 비용 추정의 모드를 선택하고 업데이터(110)는 신경(84)에 대한 파라미터(111)를 업데이트한다.
다음은 도 7a 내지 7d 및 9a 및 9b의 설명과 관련하여 주목된다. 도 7a 내지 도 7d의 실시예들 중 일부에서도 사용되는 도 9a 및 도 9b의 실시예들의 공통적인 특징은 최적화 프로세스(90)에서 인코더 측에서 결정된 모드를 디코더에 시그널링하기 위한 부가 정보(70)와 관련된 오버헤드를 개선 또는 감소시키기 위해 신경망 값의 확률 값이었다. 그러나, 도 7a 내지 도 7d의 실시예와 관련하여 전술한 바와 같이, 도 9a 및 도 9b의 실시예는 모드 선택과 관련하여 데이터 스트림(12)에서 부가 정보(70)가 전혀 소비되지 않는 정도로 변경될 수 있음이 분명할 것이다. 오히려, 각각의 모드에 대해 신경망(84)에 의해 출력된 확률 값은 필연적으로 인코더와 디코더 사이의 모드 선택을 동기화하는 데 사용될 수 있다. 이 경우, 모드 선택에 대한 인코더 측에서 최적화 결정(90)이 없을 것이다. 오히려, 세트(66) 중 사용될 모드는 동일한 방식으로 인코더 및 디코더 측에서 결정될 것이다.
데이터스트림(12)에서 어떠한 부가 정보(70)도 사용하지 않도록 변경될 때 도 7a 내지 도 7d의 대응하는 실시예들에 대해서도 유사한 진술이 적용된다. 그러나, 다시 도 9a 및 도 9b의 실시예들로 돌아가면, 흥미롭게도, 디코더 측에서의 선택 프로세스(68)는 확률 값들에 대한 순서 또는 확률 분포 추정 의존성이 인코더에 관한 한, 부가 정보의 해석을 변화시킨다는 점에서 신경망에 의해 출력된 확률 값들에 의존하지만, 확률 값들에 대한 의존성은 예를 들어, 순서화된 리스트로의 인덱스의 각각의 가변 길이 코딩을 사용하거나 또는 신경망의 확률 값들에 따른 확률 분포 추정과 함께 엔트로피 인/디코딩을 사용하여 부가 정보(70)를 데이터스트림(12)으로의 코딩, 뿐만 아니라 최적화 단계(90)에 영향을 줄 수 있다: 여기서, 부가 정보(70)를 송신하기 위한 코드 레이트는 고려될 수 있고, 따라서 결정(90)에 영향을 미칠 수 있다.
도 11a의 예
도 11a은 인코더(14-1)의 가능한 구현, 즉 인코더가 예측 잔차를 인코딩하기 위해 변환 코딩을 사용하도록 구성된 구현을 도시하나, 이것은 거의 예이며, 본 출원은 그러한 종류의 예측 잔차 코딩으로 제한되지 않는다. 도 11a에 따르면, 인코더(14-1)는 예측 잔차 신호(26-1)를 획득하여 예측 잔차 인코더(28)에 의해 데이터 스트림(12)으로 인코딩하기 위하여, 인바운드 신호, 즉 화상(10) 또는 블록 단위로 현재 블록(18)에서 대응하는 예측 신호(24-1)를 감산하도록 구성된 감산기(22)를 포함한다. 예측 잔차 인코더(28)는 손실 인코딩 스테이지(28a) 및 무손실 인코딩 스테이지(28b)로 구성된다. 손실 스테이지(28a)는 예측 잔차 신호(26)를 수신하고 예측 잔차 신호(26)의 샘플들을 양자화하는 양자화기(30)를 포함한다. 본 예는 예측 잔차 신호(26)의 변환 코딩을 사용하고, 따라서, 손실 인코딩 스테이지(28a)는 감산기(22)와 양자화기(30) 사이에 연결된 변환 스테이지(32)를 포함하여, 그러한 스펙트럼 분해 예측 잔차(27)를 잔차 신호(26)를 나타내는 변환된 계수들에서 발생하는 양자화기(30)의 양자화로 변환한다. 변환은 DCT, DST, FFT, Hadamard 변환 등일 수 있다. 변환되고 양자화된 예측 잔차 신호(34)는 엔트로피 코더 엔트로피 코딩 양자화된 예측 잔차 신호(34)인 무손실 인코딩 스테이지(28b)에 의해 데이터스트림(12)으로의 무손실 코딩을 받는다.
인코더(14-1)는 또한 양자화기(30)의 출력에 연결된 예측 잔차 신호 재구성 스테이지(36-1)를 포함하여, (변환 영역에서) 변환 및 양자화된 예측 잔차 신호(34)로부터 디코더에서 이용 가능한 방식으로 예측 잔차 신호를 재구성한다, 즉 코딩 손실을 고려하는 것은 양자화기(30)를 고려하는 것이다. 이를 위해, 예측 잔차 재구성 스테이지(36-1)는 예측 잔차 신호(34)의 역양자화 된 버전(39-1)을 얻기 위해 양자화기(30)의 양자화의 역수를 수행하는 역양자화기(38-1)를 포함하고, 전술한 임의의 변형 예 중 어느 것과 역전된 것과 같은 스펙트럼 분해의 역수와 같은 변환기(transformer, 32)에 의해 수행된 변환에 대한 역변환을 수행하는 역 변환기(40-1)가 뒤따른다.
역 변환기(40-1)의 다운 스트림에는 예측 신호(24-1)를 얻는 데 도움이 될 템플릿을 포함할 수 있는 공간 영역 출력(60)이 있다. 특히, 예측기(44-1)는 역 변환기(51-1)에서 역변환 되면 공간 영역 예측 신호(24-1)를 제공할 변환 영역 출력(45-1)을 제공할 수 있다(예측 신호(24-1)는 시간 영역에서 예측 잔차(26)를 얻기 위해 인바운드 신호(10)에서 감산 될 것이다.). 인터-프레임 모드에서, 인-루프 필터(46-1)가 완전히 재구성된 화상(60)을 필터링하고, 필터링 후 인터-예측 블록에 대해 예측기(44-1)에 대한 참조 화상(47-1)을 형성할 가능성도 있다(따라서 이러한 경우 요소(44-1, 36-1)에서 입력된 가산기(57-1)가 필요하지만, 점선(53-1)으로 표시된 대로 감산기(22)에 예측 신호(24-1)를 제공하하기 위한 역 변환기(51-1)는 필요하지 않다.).
그러나 도 2의 인코더(14)와 달리, 인코더(14-1)(예측 잔차 재구성 단계(36-1))는 역양자화기(38-1)와 역변환기(40) 사이에 위치하는 변환 영역 가산기(42-1)를 포함한다. 변환 영역 가산기(42-1)는 (역양자화 기 (38-1)에 의해 제공되는) 예측 잔차 신호(34)의 역양자화 된 버전(39-1)의 합(43-1)(변환 영역에서)을 변환 예측기(44-1)에 의해 제공되는 변환 영역 예측 신호(45-1)와 함께 역 변환기(40-1)에 제공한다. 예측기(44-1)는 역변환기(40-1)의 출력을 피드백 입력으로 획득할 수 있다.
따라서, 공간 영역의 예측 신호(24-1)는 변환 영역의 예측 신호(45-1)로부터 획득된다. 또한 위의 예에 따라 신경망으로 동작 할 수 있는 변환 영역 예측기(44-1)는 공간 영역의 신호로 입력되지만 변환 영역의 신호를 출력한다.
도 11b의 예
도 11b는 디코더(54-2)의 가능한 구현, 즉 인코더(14-1)의 구현에 적합한 일실시예를 도시한다. 인코더(54-2)의 많은 요소들이 도 11a의 해당 인코더에서 발생하는 것과 동일하기 때문에, 이러한 요소를 나타내기 위해 "-2"로 표시된 동일한 참조 부호가 도 11b에서 사용된다. 특히, 가산기(42-2), 선택적 인-루프 필터(46-2) 및 예측기(44-2)는 도 11a의 인코더에 있는 것과 동일한 방식으로 예측 루프에 연결된다. 재구성된, 즉 역양자화 및 재변환 된 예측 잔차 신호(24-2)(예를 들어, 60)는 엔트로피 인코더(28b)의 엔트로피 인코딩을 역으로 하는 엔트로피 디코더(56)의 시퀀스에 의해 유도되고, 다음과 같은 잔차 신호 재구성 단계(36-2)가 이어진다. 인코딩 측의 경우와 같이 역양자화기(38-2)와 역변환기(40-2)로 구성된다. 디코더의 출력은 화상(10)의 재구성이다. 일부 포스트 필터(46-2)는 화상 품질을 개선하기 위해 화상(10)의 재구성을 약간의 포스트 필터링에 적용하기 위해 디코더의 출력에 배열될 수 있다. 다시 말하지만, 도 11a과 관련하여 위에서 설명한 설명은 인코더가 코딩 옵션과 관련하여 최적화 작업 및 관련 결정을 수행한다는 점을 제외하고는 도 11b에 대해서도 유효하다. 그러나, 블록 세분화, 예측, 역양자화 및 재변환에 관한 모든 설명은 도 11b의 디코더(54)에 대해서도 유효하다. 재구성된 신호(24-2)는 예측기(44-2)에 제공되고, 예측기(44-2)는 도 5 내지 도 10의 예들에 따라 신경망으로 동작할 수 있다. 예측기(44-2)는 변환 영역의 예측 값(45-2)을 제공할 수 있다.
도 4의 예와는 반대로, 그러나 도 11a의 예와 유사하게, 역양자화기(38-2)는 (변환 영역에서) 예측 잔차 신호(34)의 역양자화 된 버전(39-2)을 제공하며, 이는 역변환기(40-2)로 직접 제공되지 않는다. 대신, 예측 잔차 신호(34)의 역양자화 된 버전(39-2)이 가산기(42-2)에 입력되어 변환 영역 예측 값(45-2)으로 구성된다. 따라서, 그 후에 역변환기(40-2)에 의해 역변환 될 때, 화상(10)을 표시하기 위해 사용되는 공간 영역에서 재구성 된 신호(24-2)가 되는 변환 영역 재구성 신호(43-2)가 획득된다.
도 12의 예
이제 도 12를 참조한다. 디코더와 인코더를 동시에, 즉 인트라 예측된 블록(18)과 관련한 기능성 측면에서 정의한다. 인트라 코딩된 블록(18)에 대한 인코더 동작 모드와 디코더 동작 모드의 차이점은, 한편으로, 인코더가 예를 들어, 일부 비용 함수 최소화 감각의 관점에서 90을 최상의 것으로 결정하기 위해 이용 가능한 인트라 예측 모드(66) 전부 또는 적어도 일부를 수행한다는 것이고, 인코더는 데이터 스트림(12), 즉 그 날짜의 코드를 형성하는 반면, 디코더는 각각 디코딩 및 판독에 의해 데이터를 도출한다는 것이다. 도 12는 블록(18)에 대한 부가 정보(70) 내의 플래그(70a)가 단계(90)에서 인코더에 의해 블록(18)에 대한 최상의 모드로 결정되었는지를 나타내는, 전술한 대안에 대한 동작 모드가 세트(72) 내에 있는지 여부 즉, 신경망 기반 인트라 예측 모드이거나 세트(74) 내에, 즉 비 신경망 기반 인트라 예측 모드 중 하나인 것을 도시한다. 인코더는 그에 따라 플래그(70a)를 데이터 스트림(12)에 삽입하고, 디코더는 그로부터 플래그를 검색한다. 도 12는 결정된 인트라 예측 모드(92)가 세트(72) 내에 있다고 가정한다. 개별 신경망(84)은 그 후 세트(72)의 인트라 예측 모드에 기초하고 이들 확률 값 세트(72)를 이용하여 각각의 신경망에 대한 확률 값을 결정하고, 또는 더 정확하게 말하면, 신경망 기반의 인트라 예측 모드는 확률 값의 내림차순과 같은 확률 값에 따라 순서가 정해지고, 이로써 인트라 예측 모드의 순서화된 리스트(94)가 된다. 부가 정보(70)의 일부인 인덱스(70b)는 인코더에 의해 데이터 스트림(12)으로 코딩되고 그로부터 디코더에 의해 디코딩된다. 따라서, 디코더는 어떤 세트들의 세트(72 및 74)를 결정할 수 있다. 블록(18)에 사용될 인트라 예측 모드가 위치하고, 사용될 인트라 예측 모드가 세트(72)에 있는 경우 세트(72)의 순서(96)를 수행한다. 결정된 인트라 예측 모드가 세트(74)에 위치하는 경우 인덱스는 또한 데이터 스트림(12)에서 송신될 수 있다. 따라서, 디코더는 그에 따라 선택(68)을 제어함으로써 결정된 인트라 예측 모드를 사용하여 블록(18)에 대한 예측 신호를 생성할 수 있다.
도 12에서 볼 수 있는 바와 같이, (변환 영역) 예측 잔차 신호(34)는 데이터 스트림(12)에서 인코딩된다. 역양자화기(38-1, 38-2)는 변환 영역 역양자화된 예측 잔차 신호(39-1, 39-2)를 유도한다. 예측기(44-1, 44-2)로부터 변환 영역 예측 신호(45-1, 45-2)가 얻어진다. 그런 다음 가산기(42-1)는 39-1과 45-1의 값을 합산(또는 가산기(42-2)는 39-2와 45-2의 값을 합산)하여 변환 영역 재구성 신호(43-1 또는 43-2)를 얻는다. 역변환기(40-1, 40-2)의 다운 스트림에서 공간 영역 예측 신호(24-1, 24-2)(예를 들어, 템플릿 60)가 획득되고 블록(18)을 재구성하는데 사용될 수 있다(예를 들어, 표시될 수 있다.).
도 7b-7d의 변형은 도 11a, 11b 및 12의 예를 구현하기 위해 사용될 수 있다.
고찰
신경망을 통해 인트라 예측 신호를 생성하는 방법을 정의하고 이 방법이 비디오 또는 스틸 이미지 코덱에 포함되는 방법을 설명한다. 이러한 예들에서, 공간 영역으로 예측하는 대신, 예측기(44-1, 44-2)는 예를 들어 기본 코덱(예를 들어, 이산 코사인 변환)에서 이미 이용 가능할 수 있는 미리 정의된 이미지 변환에 대해 변환 영역으로 예측할 수 있다. 둘째, 특정 형태의 블록에 대한 영상에 대해 정의된 각각의 인트라 예측 모드는 더 큰 블록의 영상에 대해 인트라 예측 모드를 유도한다.
B를 이미지 im이있는 M개의 행과 N개의 열이 있는 픽셀 블록이라고 가정한다. 이미 재구성된 이미지 rec를 사용할 수 있는 B(블록 18)의 이웃 Brec(템플릿 60 또는 86)가 있다고 가정한다. 그런 다음 도 5내지 10의 예에서, 신경망에서 정의한 새로운 인트라 예측 모드가 도입된다. 이러한 인트라 예측 모드 각각은 재구성된 샘플 rec(24-1, 24-2)를 사용하여 다시 Brec의 이미지인 예측 신호 pred(45-1, 45-2)를 생성한다.
T를 Brec상의 이미지들에 정의된 이미지 변환(예를 들어, 요소(30)에 의해 출력되는 예측 잔차 신호(34))이고 S를 T의 역변환(예를 들어, 43-1 또는 43-2)이라고 하자. 그러면 예측 신호 pred(45-1, 45-2)는 T(im)에 대한 예측으로 간주된다. 이는 재구성 단계에서 pred(45-1,45-2)를 계산한 후 이미지 im(10)에 대한 실제 예측을 얻기 위해 이미지 S(pred)(24-1, 24-2)를 계산해야 함을 의미한다.
우리가 작업하는 변환 T는 자연 이미지에 대한 에너지 압축 특성을 가지고 있다. 이것은 다음과 같은 방식으로 개발된다. 신경망에 의해 정의된 각 인트라 모드에 대해 사전 정의된 규칙에 따라 변환 영역의 특정 위치에서 pred(45-1, 45-2) 값은 입력 rec(24-1, 24-2)에 관계없이 0으로 설정된다. 이것은 변환 영역에서 예측 신호 pred(45-1, 45-2)를 얻기 위한 계산 복잡도를 감소시킨다.
(도 5 내지 10을 참조하면, 변환 T (32에서) 및 역변환 S(40에서)가 기본 코덱의 변환-잔차 코딩에 사용된다고 가정한다. 재구성 신호(24, 24') B에서 예측 잔차 res(34)는 S(res)를 얻기 위해 역변환 S(40에서)에 의해 역변환되며 S(res)는 최종 재구성 신호(24)를 얻기 위해 기본 예측 신호(24)에 추가된다.)
이와 대조적으로, 도 11 및 12는 다음과 같은 순서를 참조한다: 상기와 같은 신경망 인트라 예측 방법에 의해 예측 신호(45-1, 45-2)가 생성되는 경우, 최종 재구성 신호(24-1, 24-2)는 pred+res의 역변환(40-1, 40-2에서)에 의해 얻어진다. (여기서 pred는 45-1 또는 45-2이고; res는 39-1 또는 39-2이고, 그들의 합계는 43-1 또는 43-2이고, 최종 재구성 신호(24-1, 24-2)의 변환 영역 버전이다.)
우리는 마지막으로 상기와 같이 신경망에 의해 수행된 인트라 예측의 상기 수정들은 선택 사항이며 서로 필수적이지 않게 상호 관련되어 있다는 점을 말한다. 이는 역변환 S(40-1, 40-2에서)를 사용하는 주어진 변환 T(32에서) 및 위와 같이 신경망에 의해 정의된 인트라 예측 모드 중 하나에 대해 비트스트림 또는 미리 정의된 설정으로부터 상기 모드가 T에 해당하는 변환 영역으로 예측하는 것으로 간주되는지 여부가 추출될 수 있음을 의미한다.
도 13a 및 13b
도 13a 및 13b를 참조하면, 예를 들어 공간 영역 기반 방법 (예를 들어, 도 11a 및 11b) 및/또는 변환 영역 기반 방법(예를 들어, 도 1 내지 4)에 적용될 수 있는 전략이 도시된다.
어떤 경우에는 특정 크기(예를 들어, MxN, 여기서 M은 행 수, N은 열 수)의 블록에 맞게 조정된 신경망이 있으며, 재구성될 이미지의 실제 블록(18)은 다른 크기(예를 들어, M1xN1)를 갖는다. 특별 훈련된 신경망을 사용할 필요 없이 특정 크기(예를 들어, MxN)에 맞게 조정된 신경망을 사용할 수 있는 작업을 수행할 수 있다.
특히, 상기 장치(14 또는 54)는 데이터 스트림(예를 들어, 12)으로부터 화상(예를 들어, 10)을 블록 단위로 디코딩하는 것을 허용할 수 있다. 상기 장치(14, 54)는 기본적으로 현재 블록(예를 들어, 136, 176)의 이웃하는 샘플들의 제1 템플릿(예를 들어, 130, 170)을 신경망(예를 들어, 80)에 적용함으로써 상기 화상의 미리 정해진 크기(예를 들어, MxN)의 블록(예를 들어, 136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원한다. 상기 장치는 상기 미리 정해진 크기와 다른(예를 들어, M1xN1) 현재 블록(예를 들어, 18)에 대하여, 다음과 같이 구성될 수 있다:
- 리샘플링된 템플릿(예를 들어, 130, 170)을 얻기 위해 제1 템플릿(예를 들어, 130, 170)과 일치하도록 현재 블록(예를 들어, 18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(예를 들어, 134, 166)한다.
- 예비 인트라 예측 신호(예를 들어, 138)를 얻기 위해 리샘플링된 템플릿(예를 들어, 130, 170)을 신경망(예를 들어, 80)에 적용한다.
- 상기 현재 블록에 대한 인트라 예측 신호를 얻기 위해 상기 현재 블록(18, B1)과 일치하도록 예비 인트라 예측 신호(138)를 리샘플링(예를 들어, U, V, 182)한다.
도 13a는 공간 영역의 예를 보여준다. 공간 영역 블록(18)(B1으로도 표시됨)은 이미지 im1이 재구성될 M1xN1 블록 일 수 있다(현재 이미지 im1이 아직 이용 가능하지 않더라도). 템플릿 B1,rec(예를 들어, 세트 60)는 이미 재구성된 이미지(rec1)를 가지며, 여기서 rec1은 im1에 인접(B1,rec는 B1에 인접함)하는 점이 주목된다. 블록(18) 및 템플릿(60)("제2 템플릿")은 요소(132)를 형성할 수 있다.
B1의 차원으로 인해 B1을 재구성하는 데 사용할 수 있는 신경망이 없을 가능성이 있다. 그러나, 다른 차원 (예를 들어, "제1 템플릿")을 가진 블록에 대해 신경망을 사용할 수 있는 경우 다음의 절차가 구현될 수 있다.
예를 들어, 변환 동작(여기서 D 또는 134로 표시됨)은 요소(130)에 적용될 수 있다. 그러나, B1이 아직 알려지지 않았기 때문에, 변환 D(130)를 B1,rec에 단독으로 적용하는 것이 간단하게 가능하다는 것에 주목하였다. 상기 변환(130)은 변환된(리샘플링 된) 템플릿(130) 및 블록(138)으로 형성된 요소(136)를 제공할 수 있다.
예를 들어, M1xN1 블록 B1(18)(계수를 알 수 없음)은 이론적으로 MxN 블록 B(138)(계수를 알 수 없음)로 변환할 수 있다. 그러나 블록 B(138)의 계수를 알 수 없기 때문에 실제로 변환을 수행할 필요가 없다.
유사하게, 변환 D(134)는 템플릿 B1,rec(60)를 다른 차원의 다른 템플릿 Brec(130)로 변환한다. 템플릿(130)은 수직 두께 L(즉, 수직 부분에서 L 열) 및 수평 두께 K(즉, 수평 부분에서 K 행), Brec = D(B1,rec)를 갖는 L자형일 수 있다. 템플릿(130)은 다음을 포함할 수 있음이 이해될 수 있다:
- Brec(130) 위의 KxN 블록;
- Brec(130) 왼쪽의 MxL 블록; 및
- Brec(130) 위의 KxN 블록의 왼쪽의 KxL 블록, 그리고 Brec(130) 왼쪽의 MxL 블록 위의 KxL 블록.
일부의 경우에, 변환 동작 D(134)는 M1> M 및 N1> N(특히 M이 M1의 배수이고 N이 N1의 배수 인 경우)일 때, 다운 샘플링 동작 일 수 있다. 예를 들어, M1 = 2M 및 N1 = 2N의 경우, 변환 작업 D는 단순히 체스와 같은 방식으로 일부 빈을 숨기는 것에 기반 할 수 있다(예를 들어, B1,rec(60)에서 대각선을 삭제하여 Brec(130)의 값을 얻음).
이 때, Brec(Brec = D(rec1) 포함)는 MxN에서 재구성된 이미지이다. 경로(138a)에서, 장치(14, 54)는 이제 MxN 블록에 대해 고유하게 훈련된 필요한 신경망(예를 들어, 도 5 내지 10에서와 같이 작동함으로써)을 사용할 수 있다(예를 들어, 예측기(44, 44')에서). 상기에서 논의된 경로(138a)를 적용함으로써, 이미지 im1이 블록 B에 대해 획득된다. (일부 예들에서, 경로(138a)은 신경망을 사용하지 않지만 당업계에 알려진 다른 기술을 사용한다).
이 때, 블록 B(138)의 이미지 im1은 MxN 크기를 가지며, 표시될 이미지는 M1xN1 크기로 요청된다. 그러나, 블록 B(138)의 이미지 im1을 M1xN1으로 전송하는 변환(예를 들어, U)(140)을 수행하는 것이 간단히 가능하다는 것이 주목되었다.
134에서 수행된 D가 다운샘플링 동작 인 경우, 140에서의 U는 업샘플링 동작일 수 있다는 것이 주목되었다. 따라서, U(140)는 신경망을 이용하여 138a 단계에서 획득한 MxN 블록(138)의 계수 외에 M1xN1 블록에 계수를 도입하여 획득할 수 있다.
예를 들어, M1 = 2M 및 N1 = 2N의 경우 단순히 보간(예를 들어, 쌍선형 보간)을 수행하여 변환 D에 의해 폐기 된 im1의 계수를 근사("추측")하는 것이 가능하다. 따라서 M1xN1 이미지 im1은 요소(142)로서 획득되고, 이미지(10)의 일부로서 블록 이미지를 디스플레이하기 위해 사용될 수 있다.
특히, 블록(144)을 얻는 것이 이론적으로 가능하지만, 그럼에도 불구하고 템플릿(60)과 동일할 것이다 (변환 D 및 U로 인한 오류는 제외). 따라서, 유리하게도, 템플릿(60)으로서 이미 처분중인 B1,rec의 새로운 버전을 얻기 위해 Brec을 변환 할 필요가 없다.
도 13a에 도시된 동작은 예를 들어 예측기(44 또는 44')에서 수행될 수 있다. 따라서 M1xN1 이미지 im1(142)은 재구성된 신호를 얻기 위해 역변환기(40 또는 40')에 의해 출력 된 예측 잔차 신호와 합산되는 예측 신호 24(도 2) 또는 24'(도 4)로 이해될 수 있다.
도 13b는 변환 영역(예를 들어, 도 11a, 11b의 예)에서의 실시예를 도시한다. 요소(162)는 공간 영역 템플릿(60)(이미 디코딩 됨) 및 공간 영역 블록(18)(미지 계수 포함)에 의해 형성된 것으로 표현된다. 블록(18)은 크기 M1xN1을 가질 수 있고, 예를 들어 예측기(44-1 또는 44-2)에서 결정될 미지의 계수를 가질 수 있다.
결정된 MxN 크기에 대한 신경망을 처분할 수 있지만 변환 영역에서 M1xN1 블록으로 직접 작동할 신경망이 없을 가능성이 있다.
그러나, 예측기(44-1, 44-2)에서, 다른 차원(예를 들어, 축소된 차원)을 갖는 공간 영역 템플릿(170)을 얻기 위해 템플릿(60)("제 2 템플릿")에 적용된 변환 D(166)를 사용할 수 있음이 주목되었다. 상기 템플릿(170)("제 1 템플릿")은 예를 들어 템플릿(130)의 모양(상기 참조)과 같은 L 자 모양을 가질 수 있다.
이 때, 경로(170a)에서, 신경망 (예를 들어, 800-80N)은 상기의 예(도 5 내지 10 참조) 중 임의의 예에 따라 적용될 수 있다. 따라서, 경로(170a)의 끝에서, 블록(18)의 버전(172)에 대한 알려진 계수가 획득될 수 있다.
그러나, 172의 차원 MxN은 시각화 되어야 하는 블록(18)의 차원 M1xN1에 맞지 않는다는 점에 유의한다. 따라서, 변환 영역으로의 변환(예를 들어, 180에서)이 작동될 수 있다. 예를 들어, MxN 변환 영역 블록 T(176)가 획득될 수 있다. 행과 열의 수를 각각 M1과 N1으로 늘리기 위해 제로 패딩(zero padding)이라고 알려진 기술이 사용될 수 있다. 예를 들어, MxN 변환 T(176)에 존재하지 않는 주파수와 관련된 주파수 값에 대응하여 값 "0"을 대입한다. 따라서 제로 패딩 영역(178)이 사용될 수 있다(예를 들어, L 형상을 가질 수 있음). 특히, 제로 패딩 영역(178)은 블록(182)을 얻기 위해 블록(176)에 삽입되는 복수의 빈(모두 0)을 포함한다. 이것은 T(172에서 변환됨)에서 T1(182)으로의 변환 V로 획득될 수 있다. T(176)의 차원은 블록(18)의 차원과 일치하지 않지만, 제로 패딩 영역(178)의 삽입으로 인해 T1(182)의 차원은 실제로 블록(18)의 차원과 일치한다. 또한, 제로 패딩은 더 높은 주파수 빈(값이 0 인)을 삽입하여 얻어지며, 이는 보간과 유사한 결과를 갖는다.
따라서 가산기(42-1, 42-2)에서 45-1, 45-2의 버전인 변환 T1(182)을 추가할 수 있다. 이후, 화상(10) 시각화에 사용될 공간 영역에서 재구성된 값 (60)을 얻기 위해 역변환 T-1이 수행될 수 있다.
인코더는 리샘플링(및 블록(18)과 크기가 다른 블록들에 대한 신경망의 사용)에 관한 정보를 데이터스트림(12)에 인코딩하여 디코더가 이에 대한 지식을 가질 수 있다.
고찰
B1 (예를 들어, 18)을 M1 행과 N1 열이 있는 블록으로 가정하고 M1 ≥ M 및 N1 ≥ N이라고 가정한다. B1,rec를 B1의 이웃(예를 들어, 템플릿 60의 옆)이라고 두고 영역 Brec(예를 들어, 130)는 B1,rec의 하위 집합으로 간주된다고 가정한다. im1(예를 들어, 38)을 B1의 이미지로, rec1(예를 들어, B1,rec의 계수)을 B1,rec의 이미 재구성 된 이미지로 둔다. 상기 솔루션은 B1,rec의 이미지를 B1의 이미지에 매핑하는 미리 정의된 다운 샘플링 작업 D(예를 들어, 134, 166)를 기반으로 한다. 예를 들어, M1 = 2M, N1 = 2N 인 경우 Brec가 B 위의 K 행과 B의 왼쪽의 L 열과 B의 왼쪽 상단에 크기 K × L의 모서리로 구성되어 있고, B1,rec가 B1위의 2K 행과 B의 왼쪽의 2L 열과 B의 왼쪽 상단에 크기 2K × 2L의 모서리로 구성되어 있는 경우,
D는 스무딩 필터를 적용한 다음 각 방향으로 팩터 2 다운 샘플링 작업을 수행하는 작업일 수 있다. 따라서 D(rec1)는 Brec에서 재구성된 이미지로 볼 수 있다. 위와 같은 신경망 기반 인트라 예측 모드를 사용하여 우리는 D(rec1) 중에서 B의 이미지인 예측 신호 pred(45-1)를 형성할 수 있다.
이제 두 가지 경우를 구분한다: 첫째, B에서 신경망 기반 인트라 예측이 도 2, 4 및 13a와 같이 샘플(공간) 영역으로 예측한다고 가정한다. U (140)를 B(예를 들어, 138)의 이미지를 B1(예를 들어, 142)의 이미지에 매핑하는 고정된 업샘플링 필터라고 가정한다. 예를 들어 M1 = 2M이고 N1 = 2N이면 U는 쌍선형 보간 연산이 될 수 있다. 그런 다음 우리는 im1(예를 들어, 10)에 대한 예측 신호로 간주하는 B1(예를 들어, 45-1)의 이미지를 얻기 위해 U(pred)를 형성할 수 있다.
둘째, 우리는 도 11a, 11b 및 13b에서, B상의 예측 신호 pred(예를 들어, 45-2)는 역변환 S를 갖는 B상의 이미지 변환 T에 대한 변환 영역에서 예측 신호로 간주된다고 가정한다. T1을 역변환 S1을 사용하는 B1의 이미지 변환이라고 가정한다. T의 변환 영역에서 T1의 변환 영역으로 이미지를 매핑하는 미리 정의된 매핑 V가 제공된다고 가정한다. 예를 들어 T가 역변환 S를 사용하는 MxN 블록의 이산 코사인 변환이고 T1이 역변환 S1을 사용하는 M1 × N1의 이산 코사인 변환이면 B의 변환 계수 블록을 제로 패딩 및 스케일링으로 B1의 변환 계수 블록에 매핑할 수 있다(예를 들어, 178 참조). 이는 주파수 공간의 위치가 수평 응답에서 M 또는 N보다 큰 경우 B1의 모든 변환 계수를 0으로 설정한다는 것을 의미한다. 수직 방향이고 B1의 나머지 M * N 변환 계수에 적절하게 스케일링 된 변환 계수를 B에 복사한다. 그런 다음 V(pred)를 형성하여 T1(im1)에 대한 예측 신호로 간주될 T1에 대한 변환 영역의 요소를 얻을 수 있다. 신호 V(pred)는 이제 상기에서 설명한대로 추가로 처리될 수 있다.
도 1 내지 10과 관련하여 위에서 설명한 바와 같이, 우리는 또한 신경망 기반 연산을 사용하여 이러한 모드 간에 조건부 확률 분포를 생성하여 주어진 블록 B에서 여러 인트라 예측 모드의 순위를 매기는 방법과 이 순위를 사용하여 현재 블록에 적용할 인트라 예측 모드를 시그널링하는 방법을 설명하였다. 실제 예측 모드와 동일한 방식으로 후자의 순위를 생성하는 신경망의 입력에 다운샘플링 작업(예를 들어, 166)을 사용하면 방금 설명한 더 큰 블록 B1에 대한 예측 모드의 확장에 대한 순위가 생성되고 따라서 블록 B1에서 사용할 확장 모드를 시그널링하는 것에 사용된다. 주어진 블록 B1에서 더 작은 블록 B의 신경망 기반 인트라 예측 모드가 예측 신호를 생성하는 데 사용되는지 여부는 사전 정의되거나 기본 비디오 코덱의 부가 정보로 시그널링 될 수 있다.
다른 예
일반적으로, 상기와 같은 디코더는 상기와 같은 인코더를 포함할 수 있고/있거나 또는 그 반대도 가능하다. 예를 들어, 인코더(14)는 디코더(54)이거나 이를 포함할 수있다 (또는 그 반대의 경우도 마찬가지); 인코더(14-1)는 디코더(54-2)(또는 그 반대) 등 일 수 있다. 또한, 양자화된 예측 잔차 신호(34)가 예측 신호(24 또는 24-1)를 얻기 위해 디코딩되는 스트림을 형성하기 때문에, 인코더(14 또는 14-1)는 자체적으로 디코더를 포함하는 것으로 이해될 수 있다.
일부 양태가 장치의 맥락에서 설명되었지만, 이러한 양태 또한 대응하는 방법의 설명을 나타내는 것이 명백하며, 여기서 블록 및 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 문맥에서 설명된 양태는 또한 대응하는 블록 또는 아이템의 설명 또는 대응하는 장치의 특징을 나타낸다. 방법 단계의 일부 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시예에서, 가장 중요한 방법 단계 중 하나 이상이 그러한 장치에 의해 실행될 수 있다.
본 발명의 인코딩된 데이터 스트림은 디지털 저장 매체에 저장될 수 있거나 인터넷과 같은 유선 송신 매체 또는 무선 송신 매체와 같은 송신 매체를 통해 송신될 수 있다.
특정 구현 요건에 따라, 본 발명의 실시예는 하드웨어로 또는 소프트웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협력하는 (또는 협력할 수 있는) 전기적으로 판독 가능한 제어 신호가 저장된, 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루 레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시예는 본원에 설명된 방법 중 하나가 수행되도록 프로그래밍 가능 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예는 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행되는 경우 방법들 중 하나를 수행하도록 동작하는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예를 들어 머신 판독 가능 캐리어에 저장될 수 있다.
다른 실시예는 기계 판독 가능 캐리어 상에 저장된, 본원에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
다시 말해, 본 발명의 방법의 실시예는, 따라서, 컴퓨터 프로그램이 컴퓨터 상에서 실행되는 경우, 본원에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 다른 실시예는 그 위에 기록된, 본원에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터 판독 가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 통상적으로 유형 및/또는 비일시적이다.
따라서, 본 발명의 방법의 다른 실시예는 본원에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호의 시퀀스이다. 데이터 스트림 또는 신호의 시퀀스는 데이터 통신 접속을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
다른 실시예는 본원에 설명된 방법 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터 또는 프로그램 가능 논리 디바이스를 포함한다.
다른 실시예는 본원에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 다른 실시예는 본원에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예에서, 프로그램 가능 논리 디바이스(예를 들어, 필드 프로그램 가능 게이트 어레이)는 본원에 설명된 방법의 기능 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예에서, 필드 프로그램 가능 게이트 어레이는 본원에 설명된 방법 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본원에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 기재된 장치 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
본원에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 설명된 방법 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 적어도 부분적으로 하드웨어 및/또는 소프트웨어에 의해 수행될 수 있다.
위에서 설명된 실시예는 본 발명의 원리를 예시하기 위한 것일 뿐이다. 본원에 설명된 구성 및 세부사항의 수정 및 변형은 본 기술분야의 통상의 기술자에게 명백할 것임을 이해한다. 따라서, 곧 있을 청구범위의 범위에 의해서만 제한되고 본원의 실시예에 대한 기술 및 설명에 의해 제공된 특정 세부사항에 의해서만 한정되는 것은 아니다.

Claims (39)

  1. 데이터 스트림(12)으로부터 화상(10)을 블록 단위로 디코딩하기 위한 장치(54-2)에 있어서,
    상기 장치는 상기 블록에 이웃하는 샘플들의 제1 템플릿(130, 170)을 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고,
    상기 장치는 상기 미리 정해진 크기와 다른 현재 블록(18)에 대하여,
    샘플들의 리샘플링된 템플릿(130, 170)을 획득하기 위해 제2 템플릿(60)을 다운 샘플링(D)함으로써, 제1 템플릿의 차원을 갖는 샘플들의 리샘플링 된 템플릿(130, 170)을 얻기 위해 현재 블록(18)과 이웃하는 이미 재구성된 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하고,
    예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 템플릿(130, 170)의 샘플을 적용(138a, 170a, 44-1, 44-2)하여 인트라 예측을 수행하고,
    상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140, 180)하도록 구성되고,
    예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 것은 예비 인트라 예측 신호(138, 172)를 업 샘플링(U, 140)하는 것을 포함하는,
    장치.
  2. 제1항에 있어서,
    상기 장치는
    현재 블록에 이웃한 샘플들의 제1 템플릿(130, 170)을 적용하여 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호를 결정하는 적어도 하나의 인트라 예측 모드를 지원하고,
    여기서 상기 장치는 추가적으로 예비 인트라 예측 신호(138, 172 176)를 획득하기 위해 리샘플링된 템플릿(130, 170)을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하도록 구성되는 장치.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 장치는
    예비 인트라 예측 신호(138)를 공간 영역에서 변환 영역으로 변환하고,
    변환 영역에서 예비 인트라 예측 신호(176)를 리샘플링 하도록 구성되는 장치.
  6. 제5항에있어서,
    상기 장치는
    예비 인트라 예측 신호(176)의 계수를 스케일링함으로써 변환 영역의 예비 인트라 예측 신호(176)를 리샘플링하도록 구성되는 장치
  7. 제5항에 있어서,
    상기 장치는
    인트라 예측 신호(176)의 차원을 증가시켜 현재 블록(18)의 차원을 갖도록 하고,
    상기 예비 인트라 예측 신호(176)의 더 높은 주파수 빈의 증가된 계수들을 제로 패딩함으로써
    상기 변환 영역의 예비 인트라 예측 신호(176)를 리샘플링(V)하도록 구성되는 장치.
  8. 제5항에 있어서,
    상기 장치는
    예측 잔차 신호(34)의 역양자화 된 버전(39-1, 39-2)에 변환 영역의 예비 인트라 예측 신호(176)를 추가(42-1, 42-2)하도록 구성되는 장치.
  9. 제1항에 있어서,
    상기 장치는
    공간 영역에서 예비 인트라 예측 신호(138)를 리샘플링(140)하도록 구성되는 장치.
  10. 제9항에 있어서,
    상기 장치는
    쌍 선형 보간을 수행함으로써 예비 인트라 예측 신호(138)를 리샘플링(140)하도록 구성되는 장치.
  11. 제1항에 있어서,
    상기 장치는
    리샘플링 및/또는 다른 차원에 대한 신경망의 사용에 관한 정보를 데이터 필드에 디코딩하도록 추가적으로 구성되는 장치.
  12. 제1항에 있어서,
    상기 장치는
    상기 화상의 현재 블록(18)에 대한 인트라 예측 신호(24-1, 24-2)가,
    현재 블록(18)의 변환(34, 39-1, 39-2)에 대한 변환 계수 세트의 예측(45-1, 45-2)을 얻기 위해 현재 블록(18)의 이웃하는 샘플들의 제1 세트(60)를 신경망(80)에 적용함으로써 결정되는 적어도 하나의 인트라 예측 모드를 지원하는 장치.
  13. 제1항에 있어서,
    상기 장치는
    재구성된 신호(24-1, 24-2)를 얻기 위해 예측(45-1, 45-2)을 역변환(40-1, 40-2, 51-1)하도록 구성되는 장치.
  14. 제1항에 있어서,
    상기 장치는
    가변 길이 코드를 사용하여 데이터 스트림(12)으로부터 인덱스(70b)를 디코딩하고,
    인덱스(70b)를 사용하여 선택을 수행하도록 구성되는 장치.
  15. 제1항에 있어서,
    상기 장치는
    인트라 예측 모드들의 세트(72)의 순위를 결정하고, 그리고 이어서
    제2 템플릿(60)을 리샘플링하도록 구성되는 장치.
  16. 데이터 스트림(12)에 화상(10)을 블록 단위로 인코딩하기 위한 장치(14-1)에 있어서,
    상기 장치는 블록의 이웃하는 샘플들의 제1 템플릿(130, 170)을 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고,
    상기 장치는 상기 미리 정해진 크기와 다른 현재 블록(18)에 대하여,
    샘플들의 리샘플링된 템플릿(130, 170)을 획득하기 위해 제2 템플릿(60)을 다운 샘플링(D)함으로써, 제1 템플릿의 차원을 갖는 샘플들의 리샘플링 된 템플릿(130, 170)을 얻기 위해 이미 재구성된 현재 블록(18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하고,
    예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 템플릿(130, 170)의 샘플을 적용(138a, 170a, 44-1, 44-2)하여 인트라 예측을 수행하고,
    상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140, 180)하도록 구성되고,
    예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 것은 예비 인트라 예측 신호(138, 172)를 업 샘플링(U, 140)하는 것을 포함하는,
    장치.
  17. 제16항에 있어서,
    상기 장치는
    현재 블록에 이웃한 샘플들의 제1 템플릿(130, 170)을 적용하여 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호를 결정하는 적어도 하나의 인트라 예측 모드를 지원하고,
    여기서 상기 장치는 예비 인트라 예측 신호(138, 172, 176)를 획득하기 위해 리샘플링된 템플릿 (130, 170)을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하도록 추가로 구성되는 장치.
  18. 삭제
  19. 삭제
  20. 제17항에 있어서,
    상기 장치는
    예비 인트라 예측 신호(138)를 공간 영역에서 변환 영역으로 변환하고,
    변환 영역에서 예비 인트라 예측 신호를 리샘플링하도록 구성되는 장치.
  21. 제20항에 있어서,
    상기 장치는
    예비 인트라 예측 신호(176)의 계수를 스케일링함으로써 변환 영역의 예비 인트라 예측 신호(176)를 리샘플링(140)하도록 구성되는 장치.
  22. 제20항에 있어서,
    상기 장치는
    인트라 예측 신호(176)의 차원을 증가시켜 현재 블록(18)의 차원을 갖도록 하고,
    상기 예비 인트라 예측 신호(176)의 더 높은 주파수 빈의 증가된 계수들을 제로 패딩함으로써
    상기 변환 영역의 예비 인트라 예측 신호(176)를 리샘플링(140) 하도록 구성되는 장치.
  23. 제20항에 있어서,
    상기 장치는
    예측 잔차 신호(34)의 역양자화 된 버전(39-1, 39-2)에 변환 영역의 예비 인트라 예측 신호(176)를 추가(42-1, 42-2)하도록 구성되는 장치.
  24. 제17항에 있어서,
    상기 장치는
    공간 영역에서 예비 인트라 예측 신호(138)를 리샘플링(140)하도록 구성되는 장치.
  25. 제24항에 있어서,
    상기 장치는
    쌍 선형 보간을 수행함으로써 예비 인트라 예측 신호(138)를 리샘플링(140)하도록 구성되는 장치.
  26. 제17항에 있어서,
    상기 장치는
    리샘플링 및/또는 다른 차원에 대한 신경망의 사용에 관한 정보를 데이터 필드에 인코딩하도록 추가적으로 구성되는 장치.
  27. 제17항에 있어서,
    상기 장치는
    상기 화상의 현재 블록(18)에 대한 인트라 예측 신호(24-1, 24-2)가,
    현재 블록(18)의 변환(34, 39-1, 39-2)에 대한 변환 계수 세트의 예측(45-1, 45-2)을 얻기 위해 현재 블록(18)의 이웃하는 샘플들의 제1 세트(60)를 신경망(80)에 적용함으로써 결정되는 적어도 하나의 인트라 예측 모드를 지원하도록 구성되는 장치.
  28. 제17항에 있어서,
    상기 장치는
    재구성된 신호(24-1, 24-2)를 얻기 위해 예측(45-1, 45-2)을 역변환(40-1, 40-2)하도록 구성되는 장치.
  29. 제17항에 있어서,
    상기 장치는
    가변 길이 코드를 사용하여 데이터 스트림(12)으로부터 인덱스(70b)를 디코딩하고,
    인덱스(70b)를 사용하여 선택을 수행하도록 구성되는 장치.
  30. 제17항에 있어서,
    상기 장치는
    인트라 예측 모드들의 세트(72)의 순위를 결정하고, 그리고 이어서
    제2 템플릿(60)을 리샘플링하도록 구성되는 장치.
  31. 데이터 스트림(12)으로부터 화상(10)을 블록 단위로 디코딩하기 위한 방법에 있어서,
    상기 방법은 블록에 이웃하는 샘플들의 제1 템플릿(130, 170)을 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고,
    상기 방법은
    샘플들의 리샘플링된 템플릿(130, 170)을 획득하기 위해 제2 템플릿(60)을 다운 샘플링(D)함으로써, 샘플들의 리샘플링 된 템플릿(130, 170)을 얻기 위해 제1 템플릿(130, 170)의 차원을 갖도록 현재 블록(18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하는 단계;
    예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 템플릿(130, 170)의 샘플을 적용(138a, 170a, 44-1, 44-2)하여 인트라 예측을 수행하는 단계; 및
    상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140, 180)하는 단계를 포함하고,
    예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 단계는 예비 인트라 예측 신호(138, 172)를 업 샘플링(U, 140)하는 단계를 포함하는,
    방법.
  32. 제31항에 있어서,
    상기 방법은
    상기 블록에 이웃한 샘플들의 제1 템플릿(130, 170)을 신경망에 적용하여 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호를 결정하는 적어도 하나의 인트라 예측 모드를 지원하고,
    여기서 인트라 예측을 수행하는 단계는 예비 인트라 예측 신호(138, 172 176)를 획득하기 위해 리샘플링된 템플릿(60)을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하는 단계를 포함하는 방법.
  33. 데이터 스트림(12)에 화상(10)을 블록 단위로 인코딩하기 위한 방법에 있어서,
    상기 방법은 상기 블록에 이웃하는 샘플들의 제1 템플릿(130, 170)을 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하고,
    상기 방법은
    샘플들의 리샘플링된 템플릿(130, 170)을 획득하기 위해 제2 템플릿(60)을 다운 샘플링(D)함으로써, 샘플들의 리샘플링 된 템플릿(130, 170)을 얻기 위해 제1 템플릿(130, 170)의 차원을 갖도록 현재 블록(18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하는 단계;
    예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 템플릿(130, 170)의 샘플을 적용(138a, 170a, 44-1, 44-2) 하여 인트라 예측을 수행하는 단계; 및
    상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140, 180)하는 단계를 포함하고,
    예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 단계는 예비 인트라 예측 신호(138, 172)를 업 샘플링(U, 140)하는 단계를 포함하는,
    방법.
  34. 제33항에 있어서,
    상기 방법은
    현재 블록에 이웃한 샘플들의 제1 템플릿(130, 170)을 신경망(80)에 적용하여 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호를 결정하는 적어도 하나의 인트라 예측 모드를 지원하고,
    여기서 인트라 예측을 수행하는 단계는 예비 인트라 예측 신호(138, 172 176)를 획득하기 위해 리샘플링된 템플릿(60)을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하는 단계를 포함하는 방법.
  35. 컴퓨터 상에서 의해 실행될 때, 제31항 내지 제33항 중 어느 한 항에 따른 방법을 수행하기 위한 명령어를 포함하는 컴퓨터로 판독 가능한 저장 매체.
  36. 화상(10)을 인코딩하고,
    블록에 이웃하는 샘플들의 제1 템플릿(130, 170)을 적용함으로써 상기 화상의 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호가 결정되는 적어도 하나의 인트라 예측 모드를 지원하는 방법을 사용하여 생성되는 데이터 스트림에 있어서,
    샘플들의 리샘플링된 템플릿(130, 170)을 획득하기 위해 제2 템플릿(60)을 다운 샘플링(D)함으로써, 리샘플링 된 템플릿(130, 170)을 얻기 위해 제1 템플릿(130, 170)의 차원을 갖도록 현재 블록(18)과 이웃하는 샘플들의 제2 템플릿(60)을 리샘플링(134, 166)하는 단계;
    예비 인트라 예측 신호(138, 172, 176)를 얻기 위해 리샘플링 된 템플릿(130, 170)의 샘플을 적용(138a, 170a, 44-1, 44-2)하여 인트라 예측을 수행하는 단계; 및
    상기 현재 블록(18)에 대한 인트라 예측 신호(142, 24-1, 24-2)를 얻기(140) 위해 예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 단계를 포함하는 방법을 사용하여 생성되고,
    예비 인트라 예측 신호(138, 172, 176)를 리샘플링(140)하는 단계는 예비 인트라 예측 신호(138, 172)를 업 샘플링(U, 140)하는 단계를 포함하는,
    데이터 스트림이 저장되는 컴퓨터 판독 가능 저장 매체.
  37. 제36항에 있어서,
    상기 방법은
    현재 블록에 이웃한 샘플들의 제1 템플릿(130, 170)을 신경망(80)에 적용하여 미리 정해진 크기의 블록(136, 172)에 대한 인트라 예측 신호를 결정하는 적어도 하나의 인트라 예측 모드를 지원하고,
    여기서 인트라 예측을 수행하는 단계는 예비 인트라 예측 신호(138, 172 176)를 획득하기 위해 리샘플링된 템플릿(60)을 신경망(80)에 적용(138a, 170a, 44-1, 44-2)하는 단계를 포함하는 방법을 사용하여 생성되는,
    데이터 스트림이 저장되는 컴퓨터 판독 가능 저장 매체.
  38. 삭제
  39. 삭제
KR1020207030912A 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념 KR102524593B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237013131A KR20230057481A (ko) 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18165224.9 2018-03-29
EP18165224 2018-03-29
PCT/EP2019/057882 WO2019185808A1 (en) 2018-03-29 2019-03-28 Intra-prediction mode concept for block-wise picture coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237013131A Division KR20230057481A (ko) 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념

Publications (2)

Publication Number Publication Date
KR20200128586A KR20200128586A (ko) 2020-11-13
KR102524593B1 true KR102524593B1 (ko) 2023-04-21

Family

ID=61868352

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237013131A KR20230057481A (ko) 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념
KR1020207030912A KR102524593B1 (ko) 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237013131A KR20230057481A (ko) 2018-03-29 2019-03-28 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념

Country Status (7)

Country Link
US (2) US11601672B2 (ko)
EP (1) EP3777141A1 (ko)
JP (2) JP7217288B2 (ko)
KR (2) KR20230057481A (ko)
CN (1) CN112204963A (ko)
TW (1) TWI763987B (ko)
WO (1) WO2019185808A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3562162A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
US11418811B2 (en) 2019-03-12 2022-08-16 Apple Inc. Method for encoding/decoding image signal, and device therefor
EP4042681A1 (en) * 2019-10-11 2022-08-17 InterDigital VC Holdings France, SAS Deep intra predictor generating side information
EP4107945A1 (en) * 2020-02-21 2022-12-28 InterDigital VC Holdings France Neural network-based intra prediction for video encoding or decoding
US11652994B2 (en) * 2021-01-19 2023-05-16 Tencent America LLC Neural image compression with adaptive intra-prediction
US11595665B2 (en) * 2021-02-11 2023-02-28 Qualcomm Incorporated Upsampling reference pixels for intra-prediction in video coding
EP4278603A1 (en) * 2021-04-01 2023-11-22 Huawei Technologies Co., Ltd. Configurable positions for auxiliary information input into a picture data processing neural network
WO2022216051A1 (ko) * 2021-04-08 2022-10-13 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2023165596A1 (en) * 2022-03-03 2023-09-07 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for visual data processing
WO2023200246A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2023200243A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Mvd 부호 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2023200237A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 기하 분할된 블록에 대한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2024058494A1 (ko) * 2022-09-13 2024-03-21 엘지전자 주식회사 예측 모델의 학습에 기반한 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140105276A1 (en) 2011-06-23 2014-04-17 JVC Kenwood Corporation Picture coding device, picture coding method, picture coding program, picture decoding device, picture decoding method, and picture decoding program
WO2016199330A1 (ja) 2015-06-12 2016-12-15 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN101836455B (zh) 2007-09-02 2012-06-20 Lg电子株式会社 用于处理视频信号的方法和装置
US9467705B2 (en) * 2009-12-30 2016-10-11 Ariscale Inc. Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block
CN101854551B (zh) * 2010-06-08 2012-08-15 浙江大学 帧内预测模式编解码方法及装置
PT2773118T (pt) * 2011-10-24 2020-09-25 Innotive Ltd Método e aparelho para descodificação de imagens
WO2017014412A1 (ko) * 2015-07-20 2017-01-26 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US20170374369A1 (en) * 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
WO2018199051A1 (ja) 2017-04-25 2018-11-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
JP7343487B2 (ja) * 2017-09-20 2023-09-12 ヴィド スケール インコーポレイテッド 360度ビデオ符号化におけるフェイス不連続の処理
KR102454936B1 (ko) 2017-10-13 2022-10-17 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념
KR102595070B1 (ko) * 2017-11-16 2023-10-27 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140105276A1 (en) 2011-06-23 2014-04-17 JVC Kenwood Corporation Picture coding device, picture coding method, picture coding program, picture decoding device, picture decoding method, and picture decoding program
WO2016199330A1 (ja) 2015-06-12 2016-12-15 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US20180184123A1 (en) 2015-06-12 2018-06-28 Panasonic Intellectual Property Management Co., Ltd. Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus

Also Published As

Publication number Publication date
TWI763987B (zh) 2022-05-11
US20210014531A1 (en) 2021-01-14
JP2023052578A (ja) 2023-04-11
US20230254508A1 (en) 2023-08-10
CN112204963A (zh) 2021-01-08
WO2019185808A1 (en) 2019-10-03
US11601672B2 (en) 2023-03-07
EP3777141A1 (en) 2021-02-17
KR20200128586A (ko) 2020-11-13
TW201946455A (zh) 2019-12-01
JP2021519542A (ja) 2021-08-10
KR20230057481A (ko) 2023-04-28
JP7217288B2 (ja) 2023-02-02

Similar Documents

Publication Publication Date Title
KR102524593B1 (ko) 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념
KR102454936B1 (ko) 블록 단위의 화상 코딩을 위한 인트라 예측 모드 개념
JP6753914B2 (ja) 変換係数ブロック復号装置および方法、ならびに変換係数ブロック符号化装置および方法
US10659804B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
KR102622452B1 (ko) 아핀 선형 가중 인트라 예측
US11641481B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US10652541B2 (en) Method and device for encoding video data
WO2008149327A2 (en) Method and apparatus for motion-compensated video signal prediction
KR20140124443A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR102059842B1 (ko) 일반화된 그래프 파라미터를 이용하여 그래프 기반 변환을 수행하는 방법 및 장치
WO2015068051A2 (en) Method for encoding and decoding a media signal and apparatus using the same
US20240137500A1 (en) Intra-prediction mode concept for block-wise picture coding
KR20190119459A (ko) 변환 계수 부호 정보 Hiding을 이용한 비디오 신호 처리 방법 및 장치
KR20200025171A (ko) 다중 변환 선택을 사용하는 비디오 신호 처리 방법 및 장치

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