KR101974261B1 - Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 - Google Patents

Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 Download PDF

Info

Publication number
KR101974261B1
KR101974261B1 KR1020170017959A KR20170017959A KR101974261B1 KR 101974261 B1 KR101974261 B1 KR 101974261B1 KR 1020170017959 A KR1020170017959 A KR 1020170017959A KR 20170017959 A KR20170017959 A KR 20170017959A KR 101974261 B1 KR101974261 B1 KR 101974261B1
Authority
KR
South Korea
Prior art keywords
information
filtering
cnn
loop filter
image
Prior art date
Application number
KR1020170017959A
Other languages
English (en)
Other versions
KR20180001428A (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 CN201780051305.7A priority Critical patent/CN109644268B/zh
Priority to PCT/KR2017/001512 priority patent/WO2017222140A1/ko
Priority to JP2018567746A priority patent/JP6761490B2/ja
Priority to US16/313,052 priority patent/US11095887B2/en
Publication of KR20180001428A publication Critical patent/KR20180001428A/ko
Application granted granted Critical
Publication of KR101974261B1 publication Critical patent/KR101974261B1/ko
Priority to US17/376,162 priority patent/US11627316B2/en
Priority to US18/088,615 priority patent/US20230134212A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/124Quantisation
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/172Methods 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 picture, frame or field
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

CNN 기반 인루프 필터를 포함하는 부호화 장치 및 복호화 장치가 개시된다. 일 실시예에 따른 부호화 장치는 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보를 생성하는 필터링부와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 원본 영상과 복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터와, 및 상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부를 포함한다.

Description

CNN 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치{ENCODING METHOD AND APPARATUS COMPRISING CONVOLUTIONAL NEURAL NETWORK(CNN) BASED IN-LOOP FILTER, AND DECODING METHOD AND APPARATUS COMPRISING CONVOLUTIONAL NEURAL NETWORK(CNN) BASED IN-LOOP FILTER}
아래 실시예들은 CNN 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치에 관한 것이다.
종래에는 인루프 필터링은 양자화에 의해 인접 부호화 블록간 화소 값의 차이로 인해 발생하는 블록 경계가 시각적으로 매우 거슬리는 것을 완화하기 위해 블록 경계를 따라 블록 부화화 타입, 블록 경계 화소 강도, 움직임 정보, 양자화후 잔치 신호 존재 정보 등을 이용하여 인접 부호화 블록의 경계를 화소 간의 차이를 완화하는 방법을 이용하였다. 이때, 비록 고정된 필터 계수를 사용함으로써 계수를 전송하지 않았으나 부호화 블록의 경계에 대해 화질 열화를 완화하는 데만 효과적이다.
최근 HEVC(High Efficiency Video Coding) 표준에는 부호화 블록 경계에 대해 블록 경계 왜곡 완화 필터링(de-blocking filtering)을 적용하는 것뿐만 아니라, 추가적으로 양자화로 인한 영상 에지에 수직 방향으로 발생하는 너울성 왜곡(ringing artefact) 및 밝기차 왜곡을 줄이기 위한 샘플 적응형 오프셋(Sample Adaptive Offset) 필터링을 2차 인루프 필터링으로 사용하고 있다. 이 경우, 고주파 흐려짐 블러 왜곡(blurring artefact)을 제대로 개선하지 못할 뿐만 아니라, 샘플 오프셋 및 에지 방향 타입 등을 디코더로 전송해야 하므로 부호화 효율을 향상 시키는데 있어서 한계가 있다.
실시예들은 양자화로 인한 블록 경계 왜곡, 너울성 왜곡, 및 고주파 흐려짐 블러 왜곡(blurring artefact) 등을 인루프 필터링을 통해 제거하는 기술을 제공할 수 있다.
또한, 실시예들은 부호화 장치 및 복호화 장치에 훈련된 CNN 기반 인루프 필터를 사용하여 인루프 필터 계수를 전송하지 않으면서 화질을 개선하는 기술을 제공할 수 있다.
또한, 실시예들은 부호화 장치 및 복호화 장치가 훈련된 CNN 기반 인루프 필터를 사용하여 화질이 개선된 프레임을 참조 프레임으로 사용하여 부호화 효율 또는 복호화 효율을 크게 향상시키는 기술을 제공할 수 있다.
또한, 실시예들은 슬라이스 타입 별로 인루프 필터링을 적용하는 기술을 제공할 수 있다.
또한, 실시예들은 부호화 블록 별로 인루프 필터링을 적용하는 기술을 제공할 수 있다.
또한, 실시예들은 지정된 영상의 영역 별로 인루프 필터링 적용하는 기술을 제공할 수 있다.
일 실시예에 따른 CNN 기반 인루프 필터 학습 방법은, 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보(filtering information)를 생성하는 단계와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보(inverse filtering information)를 생성하는 단계와, 상기 역필터링 정보를 CNN 기반 인루프 필터(CNN based in-loop filter)에 입력함으로써 복원 정보를 생성하는 단계와, 상기 복원 정보와 상기 원본 영상에 기반한 원본 정보의 차이를 계산하는 단계와, 및 상기 차이에 기초하여 상기 CNN 기반 인루프 필터의 가중치(weight)를 보정하는 단계를 포함하고, 상기 예측 영상은 상기 원본 영상과 상기 복원 정보에 기초하여 생성된다.
상기 필터링 정보를 생성하는 단계는, 상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하는 단계를 포함하고, 상기 역필터링 정보를 생성하는 단계는, 상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는 단계를 포함할 수 있다.
상기 필터링 정보를 생성하는 단계는, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 양자화 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.
상기 필터링 정보를 생성하는 단계는, 왜곡값에 따른 왜곡값 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 왜곡값 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.
상기 필터링 정보를 생성하는 단계는, 영상 특성의 텍스처 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 텍스처 복잡도 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.
상기 필터링 정보를 생성하는 단계는, 영상 특성의 움직임 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 움직임 복잡도 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.
상기 복원 정보를 생성하는 단계는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계를 포함하고, 상기 복원 정보는, 상기 원본 영상과 같은 형식일 수 있다.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는, 상기 예측 정보에 인루프 필터링을 수행하는 단계를 포함할 수 있다.
상기 복원 정보를 생성하는 단계는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계를 포함하고, 상기 복원 정보는, 상기 잔차 영상과 같은 형식일 수 있다.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는, 상기 예측 정보에 인루프 필터링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 부호화 장치는 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보를 생성하는 필터링부와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 원본 영상과 복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부(estimator)와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터와, 상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부(encoder)를 포함한다.
상기 필터링부는, 상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하고, 상기 역필터링부는, 상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성할 수 있다.
상기 복원 정보는, 상기 원본 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.
상기 장치는 상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
상기 인루프 필터는, 디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나를 포함할 수 있다.
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.
상기 장치는, 상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
상기 장치는, 상기 복원 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
일 실시예에 따른 복호화 장치는, 필터링 정보에 복호화를 수행하여 필터링 정보와 예비 예측 정보를 출력하는 엔트로피 복호화부(entropy decoder)와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 예비 예측 정보에 기초하여 예측 영상을 생성하는 예측부와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 복원 정보를 출력하는 CNN 기반 인루프 필터를 포함한다.
상기 복원 정보는, 상기 원본 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.
상기 장치는, 상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.
상기 장치는, 상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기를 더 포함할 수 있다.
상기 장치는, 상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 잔차 복원 정보를 생성할 수 있다.
상기 장치는, 상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기를 더 포함할 수 있다.
상기 최종 복원 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
도 1은 부호화 장치 및/또는 복호화 장치를 이용하는 시스템의 일 예를 설명하기 위한 도면이다.
도 2a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 일 예를 나타낸다.
도 2b는 도 1에 도시된 예측부의 블록도의 일 예를 나타낸다.
도 3은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 4는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 5는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 6은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 7은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 8a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 일 예를 나타낸다.
도 8b는 도 8a에 도시된 예측부의 블록도의 일 예를 나타낸다.
도 9는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 10은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 11은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 12는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 13은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 14는 일 실시예에 따른 CNN 기반 인루프 필터의 구조를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 일 예이다.
도 16은 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 다른 예이다.
도 17은 일 실시예에 따른 CNN 기반 인루프 필터의 훈련 방법을 설명하기 위한 도면의 일 예이다.
도 18은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 19는 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 20은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 21은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 부호화 장치 및/또는 복호화 장치를 이용하는 시스템의 일 예를 설명하기 위한 도면이다.
도 1을 참조하면, 부호화 장치 및/또는 복호화 장치를 이용하는 시스템(10)은 사용자 단말기(11)와 서버 단말기(12)를 포함할 수 있다. 사용자 단말기(11)는 전자 장치(electronic device)를 포함할 수 있다. 전자 장치는 개인용 컴퓨터(personal computer(PC)), 데이터 서버, 텔레비전(TV), 또는 휴대용 장치로 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PSP(playstation portable), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 무선 통신 단말기(wireless communication terminal), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다.
서버 단말기(12)는 응용 서버, 또는 서비스 서버 등을 포함할 수 있다.
사용자 단말기(11)와 서버 단말기(12)는 각종 기기 또는 유무선 통신망(network)과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 및 복호화를 위해 화면 간(inter) 또는 화면 내(intra) 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(18), 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(14) 등을 구비하는 다양한 장치를 포함할 수 있다.
또한, 사용자 단말기(11)와 서버 단말기(12)는 부호화 장치에 의해 비트스트림(bitstream)으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 사용자 단말기(11)와 서버 단말기(12)는 실시간 또는 비실시간으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다.
사용자 단말기(11)와 서버 단말기(12)는 유무선 통신망 또는 다양한 통신 인터페이스를 통해 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 유무선 통신망은 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 또는 이동통신망 등일 수 있다. 통신 인터페이스는 케이블, 또는 범용 직렬 버스(Universal Serial Bus(USB))등을 포함할 수 있다.
또한, 부호화 장치에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 부호화 장치에서 복호화 장치로 전달될 수도 있다.
복호화 장치는 부호화된 영상을 복호화하여 복원된 영상을 재생할 수 있다.
부호화 장치와 복호화 장치는 각각 별도의 장치들일 수 있으나, 구현에 따라서 하나의 부호화 및 복호화 장치로 만들어질 수 있다. 하나의 부호화 및 복호화 장치의 경우, 부호화 장치의 예측부, 역양자화부, 역변환부, 가산부, 필터부 및 DPB는 기재된 순서대로 복호화 장치의 예측부, 역양자화부, 역변환부, 가산부, 필터부 및 DPB와 실질적으로 동일한 기술요소로서 적어도 동일한 구조를 포함하거나 적어도 동일한 기능을 수행하도록 구현될 수 있다. 또한, 엔트로부 부호화부는 그 기능을 역으로 수행할 때, 엔트로피 복호화부에 대응될 수 있다.
따라서 이하의 기술요소들과 이들의 작동 원리 등에 대한 상세 설명에서는 대응 기술요소들의 중복되는 설명을 생략하기로 한다.
또한, 복호화 장치는 부호화 장치에서 수행되는 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응하므로, 이하의 설명에서는 부호화 장치를 중심으로 설명하기로 한다. 부호화 장치는 부호화기로, 복호화 장치는 복호화기로 각각 지칭될 수 있다.
도 2a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 일 예를 나타내고, 도 2b는 도 1에 도시된 예측부의 블록도의 일 예를 나타낸다.
도 2a 및 도 2b를 참조하면, 부호화 장치(100)는 변환 및 양자화부(transformer and quantizer; 120), 엔트로피 부호화부(entropy encoder; 130), 역양자화 및 역변환부(inverse-quantizer and inverse-transformer; 140), CNN 기반 인루프 필터(CNN based in-loop filter; 150a), 부호화 픽쳐 버퍼(decoded picture buffer(DPB); 160), 예측부(estimator; 170), 및 복수의 가산기(adder)를 포함한다.
부호화 장치(100)는 입력 영상(input image; 110) 또는 입력 슬라이스(input slice; 110)에 부호화(인코딩(encoding))을 수행할 수 있다. 예를 들어, 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할한 복수 개의 픽셀 블록(f)에 부호화를 수행할 수 있다. 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할하는 분할부(미도시)를 더 포함할 수 있다. 분할부(미도시)는 입력 영상(110) 또는 입력 슬라이스(110)를 정해진 크기(M x N)의 블록으로 분할할 수 있다. 이때, M 또는 N은 1 이상의 자연수일 수 있다.
분할부(미도시)는 입력 영상(110) 또는 입력 슬라이스(110)의 특성, 또는 해상도 등에 기초하여 블록의 크기(M x N)를 결정할 수 있다. 분할부(미도시)는 블록의 크기(M x N)를 2의 거듭제곱으로 결정할 수 있다. 분할부(미도시)는 블록의 크기(M x N)를 정사각 형태 또는 직사각 형태로 결정할 수 있다. 예를 들어, 분할부(미도시)가 정사각 형태로 결정하는 경우, 블록의 크기(M x N)는 256 x 256, 128 x 128, 64 x 64, 32 x 32, 16 x 16, 8 x 8, 또는 4 x 4 등일 수 있다.
가산기는 픽셀 블록(f) 및 예측 블록(
Figure 112017013493990-pat00001
)에 기초하여 잔차 블록(e)을 생성할 수 있다. 예를 들어, 잔차 블록(e)은 픽셀 블록(f) 및 예측 블록(
Figure 112017013493990-pat00002
)의 차이에 해당하는 블록일 수 있다. 예측 블록(
Figure 112017013493990-pat00003
)은 예측부(170)가 픽셀 블록(f)에 대하여 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 등을 사용하여 생성한 블록일 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및 양자화를 수행할 수 있다. 변환 및 양자화부(120)가 픽셀 블록(f) 대신 잔차 블록(e)에 대하여 변환 및 양자화를 수행함으로써 부호화 효율을 증가시킬 수 있다.
변환 및 양자화부(120)는 잔차 블록(e)에 필터링을 수행하여 필터링 정보(filtering information;
Figure 112017013493990-pat00004
)를 생성할 수 있다. 예를 들어, 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및/또는 양자화를 수행할 수 있다.
변환 및 양자화부(120)는 잔차 블록(e)을 주파수 영역(frequency domain)으로 변환할 수 있다. 잔차 블록(e)의 각 화소는 변환된 잔차 블록의 변환 계수에 대응할 수 있다.
변환 및 양자화부(120)는 변환 매트릭스를 사용하여 잔차 블록(e)을 변환될 수 있다. 변환 매트릭스는 1 차원, 2 차원, 또는 3 차원의 변환 매트릭스일 수 있다. 예를 들어, 변환 및 양자화부(120)는 이산 코사인 변환(discrete cosine transform(DCT)), 이산 사인 변환(discrete cosine transform(DST)), 수평, 수직 단위 등으로 변환 매트릭스를 사용할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)의 크기, 형태, 종류(휘도/색차), 부호화 모드, 예측 모드 정보, 양자화 파라미터, 또는 이웃 블록의 부호화 정보 등에 기초하여 변환 매트릭스의 사용 여부를 결정할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)을 변환하여 변환 블록(E)을 생성할 수 있다.
변환 및 양자화부(120)는 변환 블록(E)에 양자화를 수행하여 양자화된 잔차(
Figure 112017013493990-pat00005
)를 출력할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 변환 계수에 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 양자화 파라미터(quantization parameter(QP))에 따른 양자화 구간, 영상 신호의 특성에 따른 왜곡값 구간, 영상 신호 특성에 따른 텍스처 복잡도 구간, 및 영상 신호 특성에 따른 움직임 복잡도 구간 중 적어도 하나 이상에 기초하여 잔차 영상(e)에 필터링을 수행할 수 있다. 영상 신호는 잔차 블록(e)을 포함할 수 있다.
변환 및 양자화부(120)는 양자화 파라미터(QP)에 기초하여 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 블록 단위로 양자화 파라미터를 결정할 수 있다. 양자화 파라미터는 시퀀스(sequence), 픽쳐(picture), 슬라이스(slice), 또는 블록(block) 등의 단위로 설정될 수 있다.
변환 및 양자화부(120)는 변환 블록(E)의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 적어도 하나의 양자화 파라미터를 사용하여 변환 블록(E)의 양자화 파라미터를 예측할 수 있다. 예를 들어, 변환 및 양자화부(120)는 변환 블록(E)의 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위, 오른쪽 아래, 아래 등의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 예측한 양자화 파라미터와 이웃 블록으로부터 유도한 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.
변환 및 양자화부(120)가 변환 블록(E)의 이웃 블록으로부터 양자화 파라미터를 유도할 수 없는 경우, 변환 및 양자화부(120)는 시퀀스, 픽쳐, 슬라이스, 또는 블록 등의 단위로 전송된 기본 파라미터에 기초하여 양자화 파라미터를 설정할 수 있다. 변환 및 양자화부(120)는 기본 파라미터와 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.
변환 및 양자화부(120)는 양자화된 잔차 변환(
Figure 112017013493990-pat00006
)을 엔트로피 부호화부(130) 및/또는 역양자화 및 역변환부(140)로 전송할 수 있다.
엔트로피 부호화부(130)는 예측 블록(
Figure 112017013493990-pat00007
) 및/또는 양자화된 잔차 변환(
Figure 112017013493990-pat00008
)에 엔트로피 부호화를 수행할 수 있다. 예를 들어, 엔트로피 부호화부(130)는 컨텍스트 적응 가변 길이 코딩(CAVLC), 컨텍스트 적응 2진 산술 코딩(CABAC), 또는 구문 기반 컨텍스트 적응 2진 산술 코딩(SBAC) 등의 부호화 방식을 사용하여 엔트로피 부호화를 수행할 수 있다.
엔트로피 부호화부(130)는 엔트로피 부호화를 수행하여 부호화 데이터를 비트스트림으로 출력할 수 있다. 부호화 데이터는 양자화 파라미터를 부호화한 비트스트림과 부호화된 비트스트림을 복호화하는데 필요한 다양한 정보들을 포함할 수 있다. 또한, 부호화 데이터는 부호화된 블록 형태, 양자화 파라미터, 양자화 블록이 부호화된 비트스트림, 및 예측에 필요한 정보 등을 포함할 수 있다.
역양자화 및 역변환부(140)는 필터링 정보(
Figure 112017013493990-pat00009
)에 역필터링을 수행하여 역필터링 정보(inverse filtering information;
Figure 112017013493990-pat00010
)를 생성할 수 있다. 역필터링 정보(
Figure 112017013493990-pat00011
)는 복원 잔차 블록(
Figure 112017013493990-pat00012
)을 의미할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환(
Figure 112017013493990-pat00013
)에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00014
)을 생성할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 동작을 역으로 수행할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환(
Figure 112017013493990-pat00015
)에 역양자화를 수행하고, 역변환을 수행할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 변환 구조 및 양자화 구조를 반대로 구성할 수 있다.
도 1에서는 설명의 편의상 변환 및 양자화부(120)가 변환 및 양자화를 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 잔차 블록(e)을 변환하는 변환부와, 잔차 블록(e)을 양자화하는 양자화부로 각각 구현될 수 있다.
또한, 역양자화 및 역변환부(140)가 역양자화 및 역변환을 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 양자화된 잔차 변환(
Figure 112017013493990-pat00016
)을 역양자화하는 역양자화부와, 양자화된 잔차 변환(
Figure 112017013493990-pat00017
)을 역변환하는 역변환부로 각각 구현될 수 있다.
가산기는 예측 블록(
Figure 112017013493990-pat00018
) 및 복원 잔차 블록(
Figure 112017013493990-pat00019
)에 기초하여 예비 복원(preliminary reconstruction) 블록(
Figure 112017013493990-pat00020
)을 생성할 수 있다. 예비 복원 블록(
Figure 112017013493990-pat00021
)은 예측 블록(
Figure 112017013493990-pat00022
) 및 복원 잔차 블록(
Figure 112017013493990-pat00023
)을 가산한 블록일 수 있다.
CNN 기반 인루프 필터(150a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(
Figure 112017013493990-pat00024
), 2차 예비 복원 블록(
Figure 112017013493990-pat00025
), 또는 복원 잔차 블록(
Figure 112017013493990-pat00026
) 등일 수 있다. 복원 정보는 복원정보는 복원 블록(
Figure 112017013493990-pat00027
), 2차 복원 잔차 블록(
Figure 112017013493990-pat00028
또는
Figure 112017013493990-pat00029
), 최종 복원 블록(
Figure 112017013493990-pat00030
)등일 수 있다. 도 2a 및 도 2b에서는 CNN 기반 인루프 필터(150a)가 예비 복원 블록(
Figure 112017013493990-pat00031
)에 인루프 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00032
)을 생성하는 동작에 대해 설명한다.
CNN 기반 인루프 필터(150a)가 2차 예측 블록(예비 복원 블록(
Figure 112017013493990-pat00033
))에 인루프 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00034
)을 생성할 수 있다. 예비 복원 블록(
Figure 112017013493990-pat00035
)은 복원 잔차 블록(
Figure 112017013493990-pat00036
)과 예측 블록(
Figure 112017013493990-pat00037
)을 더한 블록일 수 있다. 복원 블록(
Figure 112017013493990-pat00038
)은 예측 블록(
Figure 112017013493990-pat00039
), 또는 예비 복원 블록(
Figure 112017013493990-pat00040
)보다 화질이 향상된 블록일 수 있다.
CNN 기반 인루프 필터(150a)는 심층 콘볼루션 뉴럴 네트워크(deep convolutional neural network)를 사용할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(150a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.
CNN 기반 인루프 필터(150a)는 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함할 수 있다. 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)는 각각 복수의 노드들을 포함할 수 있다.
인접한 레이어 사이의 노드들은 연결 가중치를 가지고 서로 연결될 수 있다. 각 노드들은 활성화 모델에 기초하여 동작할 수 있다. 활성화 모델에 따라 입력 값에 대응하는 출력 값이 결정될 수 있다. 임의의 노드의 출력 값은 해당 노드와 연결된 다음 레이어의 노드로 입력될 수 있다. 다음 레이어의 노드는 복수의 노드들로부터 출력되는 값들을 입력 받을 수 있다. 임의의 노드의 출력 값이 다음 레이어의 노드로 입력되는 과정에서, 연결 가중치가 적용될 수 있다. 다음 레이어의 노드는 활성화 모델에 기초하여 입력 값에 대응하는 출력 값을 해당 노드와 연결된 그 다음 레이어의 노드로 출력할 수 있다.
출력 레이어는 인루프 필터링에 대응하는 노드들을 포함할 수 있다. 출력 레이어의 노드들은 인루프 필터링을 수행한 영상(또는 블록)에 대응하는 특징 값들을 출력할 수 있다.
CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00041
)에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 부호화 장치(100)는 필터링 결과 생성된 복원 블록(
Figure 112017013493990-pat00042
)을 부호화함으로써 부호화 효율과 복잡도를 개선할 수 있다.
CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00043
)에 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00044
)을 생성할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00045
)에 기초하여 복원 블록(
Figure 112017013493990-pat00046
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00047
) 및 픽셀 블록(f)에 기초하여 복원 블록(
Figure 112017013493990-pat00048
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(150a)는 복원 블록(
Figure 112017013493990-pat00049
)을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.
CNN 기반 인루프 필터(150a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.
복호화 픽쳐 버퍼(160)는 복원 블록(
Figure 112017013493990-pat00050
)을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이(display)할 수 있다.
복호화 픽쳐 버퍼(160)가 복원 블록(
Figure 112017013493990-pat00051
)을 저장하는 경우, 복호화 픽쳐 버퍼(160)는 예측부(170)가 예측 블록(
Figure 112017013493990-pat00052
)을 생성할 때, 복원 블록(
Figure 112017013493990-pat00053
)이 사용되도록 전송할 수 있다. 예를 들어, 예측부(170)는 이후의 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 동작 과정에서 복원 블록(
Figure 112017013493990-pat00054
)이 사용하여 예측 블록(
Figure 112017013493990-pat00055
)을 생성할 수 있다.
예측부(170)는 픽셀 블록(f) 및 복원 블록(
Figure 112017013493990-pat00056
)에 기초하여 예측 블록(
Figure 112017013493990-pat00057
)을 생성할 수 있다. 복원 블록(
Figure 112017013493990-pat00058
)과 픽셀 블록(f)은 시간 차이가 있을 수 있다. 예를 들어, 복원 블록(
Figure 112017013493990-pat00059
)은 픽셀 블록(f)보다 먼저 생성된 블록일 수 있다.
예측부(170)는 픽셀 블록(f) 및 복원 블록(
Figure 112017013493990-pat00060
)에 기초하여 예측 블록(
Figure 112017013493990-pat00061
)의 정보를 생성할 수 있다. 예를 들어, 예측 블록(
Figure 112017013493990-pat00062
)의 정보는 화면 내 예측 모드, 화면 간 움직임 예측 모드, 움직임 블록 타입, 및 움직임 벡터 중 적어도 하나를 포함할 수 있다.
예측부(170)는 프레임 내 추정부(171), 움직임 추정부(172), 프레임 내 예측부(173), 움직임 보상부(174), 모드 결정부(175), 및 예측 영상 생성부(176)을 포함할 수 있다.
프레임 내 추정부(171) 및 움직임 추정부(172)는 입력 영상(110) 및 (복호화 픽쳐 버퍼(160)로부터) 복원 블록(
Figure 112017013493990-pat00063
)을 수신할 수 있다.
프레임 내 추정부(171)는 입력 영상(110) 및 복원 블록(
Figure 112017013493990-pat00064
)에 기초하여 인트라 모드(intra mode)를 결정할 수 있다. 프레임 내 추정부(171)는 인트라 모드를 프레임 내 예측부(173) 및 엔트로피 부호화부(130)로 전송할 수 있다.
프레임 내 예측부(173)는 인트라 모드에서 입력 영상(110) 및 복원 블록(
Figure 112017013493990-pat00065
)에 기초하여 화면 내 예측을 수행하고, 모드 결정부(175)로 전송할 수 있다.
움직임 추정부(172)는 입력 영상(110) 및 복원 블록(
Figure 112017013493990-pat00066
)에 기초하여 움직임 벡터들(motion vectors(MVs))을 추출할 수 있다. 움직임 추정부(172)는 움직임 벡터들을 움직임 보상부(174)로 전송할 수 있다.
움직임 보상부(174)는 입력 영상(110) 및 복원 블록(
Figure 112017013493990-pat00067
)의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 모드 결정부(175)로 전송할 수 있다.
모드 결정부(175)는 프레임 내 예측부(173) 및 움직임 보상부(174)로부터의 데이터에 기초하여 부호화 모드를 결정할 수 있다. 예를 들어, 부호화 모드는 인트라 모드(intra mode), 인터 모드(inter mode) 등이 있을 수 있다.
예측 영상 생성부(176)는 모드 결정부(175)가 결정한 부호화 모드에 기초하여 예측 블록(
Figure 112017013493990-pat00068
)을 생성할 수 있다.
예측 영상 생성부(176)는 생성한 예측 블록(
Figure 112017013493990-pat00069
)을 가산기 또는 엔트로피 부호화부(130)로 전송할 수 있다.
도 3은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 3을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(in-loop filter; 145), CNN 기반 인루프 필터(150b), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.
도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(145) 및 CNN 기반 인루프 필터(150b)에 대해 설명한다.
인루프 필터(145)는 가산기로부터 예비 복원 블록(
Figure 112017013493990-pat00070
)을 수신할 수 있다. 인루프 필터(145)는 예비 복원 블록(
Figure 112017013493990-pat00071
)에 필터링을 수행하여 2차 예비 복원 블록(
Figure 112017013493990-pat00072
)을 생성할 수 있다.
인루프 필터(145)는 디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나를 포함할 수 있다.
즉, 인루프 필터(145)가 1 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 하나의 필터로 구현될 수 있다.
인루프 필터(145)가 2 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF) 및 샘플 적응형 오프셋 필터(SAO filter)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 샘플 적응형 오프셋 필터(SAO filter) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 디블록킹 필터(DF) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.
인루프 필터(145)가 3 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.
디블록킹 필터(DF)는 예비 복원 블록(
Figure 112017013493990-pat00073
)을 필터링하여 예비 복원 블록(
Figure 112017013493990-pat00074
)의 경계영역에 나타나는 블록간 화소값 차이 왜곡을 완화시킬 수 있다. 블록간 화소값 차이는 양자화 과정에서 발생할 수 있다. 디블록킹 필터(DF)는 정해진 필터 계수를 필터링에 사용할 수 있다.
샘플 적응형 오프셋 필터(SAO filter)는 부호화 블록 단위로 너울성 왜곡(ringing artefact)이나 화소값 구간 왜곡을 수정할 수 있다. 샘플 적응형 오프셋 필터(SAO filter)는 예비 복원 블록(
Figure 112017013493990-pat00075
)에 디블록킹 필터링을 수행한 결과와 픽셀 블록(f)에 대하여 차이 값을 오프셋으로 복원할 수 있다.
적응형 루프 필터(ALF)는 예비 복원 블록(
Figure 112017013493990-pat00076
)에 상기 샘플 적응형 오프셋 필터링된 결과에 1단 선형 매핑 모델을 사용하여 필터링을 수행할 수 있다.
CNN 기반 인루프 필터(150b)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(
Figure 112017013493990-pat00077
)을 포함하고, 복원 정보는 최종 복원 블록(
Figure 112017013493990-pat00078
)을 포함할 수 있다.
즉, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00079
)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00080
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00081
) 및 픽셀 블록(f)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00082
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(150b)는 최종 복원 블록(
Figure 112017013493990-pat00083
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.
도 4는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 4를 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150c), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.
도 4에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150c)에 대해 설명한다.
CNN 기반 인루프 필터(150c)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150c)는 가산기로부터 예비 복원 블록(
Figure 112017013493990-pat00084
)을 수신할 수 있다. CNN 기반 인루프 필터(150c)는 예비 복원 블록(
Figure 112017013493990-pat00085
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00086
)을 생성할 수 있다.
즉, CNN 기반 인루프 필터(150c)는 예비 복원 블록(
Figure 112017013493990-pat00087
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00088
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150c)는 예비 복원 블록(
Figure 112017013493990-pat00089
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00090
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(150c)는 복원 잔차 블록(
Figure 112017013493990-pat00091
)을 가산기에 전송할 수 있다.
가산기는 복원 잔차 블록(
Figure 112017013493990-pat00092
) 및 예측 블록(
Figure 112017013493990-pat00093
)을 가산하여 복원 블록(
Figure 112017013493990-pat00094
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00095
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.
도 5는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 5를 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), CNN 기반 인루프 필터(150d), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.
도 5에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150d)에 대해 설명한다.
CNN 기반 인루프 필터(150d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150d)는 인루프 필터(145)로부터 2차 예비 복원 블록(
Figure 112017013493990-pat00096
)을 수신할 수 있다. CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00097
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00098
)을 생성할 수 있다. 복원 잔차 블록(
Figure 112017013493990-pat00099
)은 도 4에 도시된 복원 잔차 블록(
Figure 112017013493990-pat00100
)보다 0에 더 가까운 값일 수 있다.
즉, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00101
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00102
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00103
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00104
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(150d)는 복원 잔차 블록(
Figure 112017013493990-pat00105
)을 가산기에 전송할 수 있다.
가산기는 복원 잔차 블록(
Figure 112017013493990-pat00106
)및 예측 블록(
Figure 112017013493990-pat00107
)을 가산하여 최종 복원 블록(
Figure 112017013493990-pat00108
)을 생성할 수 있다. 가산기는 최종 복원 블록(
Figure 112017013493990-pat00109
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.
도 6은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 6을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.
도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150e)에 대해 설명한다.
CNN 기반 인루프 필터(150e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150e)는 역양자화 및 역변환부(140)로부터 역양자화 및 역변환된 복원 잔차 블록(
Figure 112017013493990-pat00110
)을 수신할 수 있다. CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00111
)에 필터링을 수행하여 복원 정보를 생성할 수 있다. 복원 정보는 2차 복원 잔차 블록(
Figure 112017013493990-pat00112
)을 포함할 수 있다.
즉, CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00113
)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00114
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00115
) 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00116
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00117
)을 가산기에 전송할 수 있다.
가산기는 복원 잔차 블록(
Figure 112017013493990-pat00118
) 및 예측 블록(
Figure 112017013493990-pat00119
)을 가산하여 복원 블록(
Figure 112017013493990-pat00120
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00121
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.
도 7은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.
도 7을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 인루프 필터(147), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.
도 7에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(147)에 대해 설명한다.
인루프 필터(147)는 가산기로부터 복원 블록(
Figure 112017013493990-pat00122
)을 수신할 수 있다. 복원 블록(
Figure 112017013493990-pat00123
)은 1차 복원 블록(
Figure 112017013493990-pat00124
)일 수 있다. 인루프 필터(147)는 1차 복원 블록(
Figure 112017013493990-pat00125
)에 필터링을 수행하여 최종 복원 블록(
Figure 112017013493990-pat00126
)을 생성할 수 있다. 인루프 필터(147)는 최종 복원 블록(
Figure 112017013493990-pat00127
)을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.
인루프 필터(147)는 도 3에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
도 8a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 일 예를 나타내고, 도 8b는 도 8a에 도시된 예측부의 블록도의 일 예를 나타낸다.
도 8a 및 도 8b를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230a), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.
복호화 장치(200)는 도 2a 내지 도 7에 도시된 부호화 장치(100)에서 수행되는 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응할 수 있다. 즉, 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 2a에 도시된 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 변환 및 양자화부(120), 복호화 픽쳐 버퍼(160), 예측부(170), 및 가산기에 대응할 수 있다.
엔트로피 복호화부(210)는 부호화된 비트스트림 정보에 파싱을 수행함으로써 복호화를 수행할 수 있다. 엔트로피 복호화부(210)는 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력할 수 있다. 엔트로피 복호화부(210)는 양자화된 잔차(
Figure 112018091230536-pat00128
)를 역양자화 및 역변환부(140) 및/또는 예측부(170)로 전송할 수 있다.
역양자화 및 역변환부(220)는 변환 및/또는 양자화된 잔차(
Figure 112017013493990-pat00129
)에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00130
)을 생성할 수 있다. 역양자화 및 역변환부(220)는 복원 잔차 블록(
Figure 112017013493990-pat00131
)을 가산기로 전송할 수 있다.
가산기는 역양자화 및 역변환부(220)로부터 복원 잔차 블록(
Figure 112017013493990-pat00132
)을 수신하고, 예측부(170)로부터 예측 블록(
Figure 112017013493990-pat00133
)을 수신할 수 있다. 가산기는 복원 잔차 블록(
Figure 112017013493990-pat00134
) 및 예측 블록(
Figure 112017013493990-pat00135
)을 가산하여 예비 복원 블록(
Figure 112017013493990-pat00136
)을 생성할 수 있다. 가산기는 예비 복원 블록(
Figure 112017013493990-pat00137
)을 CNN 기반 인루프 필터(230a)로 전송할 수 있다.
CNN 기반 인루프 필터(230a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(
Figure 112017013493990-pat00138
)을 포함하고, 복원 정보는 복원 블록(
Figure 112017013493990-pat00139
)을 포함할 수 있다.
도 2a에서 상술한 바와 같이, CNN 기반 인루프 필터(230a)는 심층 콘볼루션 뉴럴 네트워크를 사용할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(230a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.
즉, CNN 기반 인루프 필터(230a)는 입력 레이어, 은닉 레이어, 및 출력 레이어를 포함할 수 있다. 입력 레이어, 은닉 레이어, 및 출력 레이어는 각각 복수의 노드들을 포함할 수 있다.
CNN 기반 인루프 필터(230a)는 2차 예측 블록(
Figure 112017013493990-pat00140
)에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 복호화 장치(200)는 필터링 결과 생성된 복원 블록(
Figure 112017013493990-pat00141
)을 복호화함으로써 복호화 효율과 복잡도를 개선할 수 있다.
CNN 기반 인루프 필터(230a)는 예비 복원 블록(
Figure 112017013493990-pat00142
)에 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00143
)을 생성할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 예비 복원 블록(
Figure 112017013493990-pat00144
)에 기초하여 복원 블록(
Figure 112017013493990-pat00145
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230a)는 예비 복원 블록(
Figure 112017013493990-pat00146
) 및 픽셀 블록(f)에 기초하여 복원 블록(
Figure 112017013493990-pat00147
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(230a)는 복원 블록(
Figure 112017013493990-pat00148
)을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.
CNN 기반 인루프 필터(230a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.
부호화 픽쳐 버퍼(240)는 복원 블록(
Figure 112017013493990-pat00149
)을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이할 수 있다.
부호화 픽쳐 버퍼(240)가 복원 블록(
Figure 112017013493990-pat00150
)을 저장하는 경우, 부호화 픽쳐 버퍼(240)는 예측부(250)가 예측 블록(
Figure 112017013493990-pat00151
)을 생성할 때, 복원 블록(
Figure 112017013493990-pat00152
)이 사용되도록 전송할 수 있다. 예를 들어, 예측부(250)는 이후의 화면 내 예측 또는 화면 간 예측 동작 과정에서 복원 블록(
Figure 112017013493990-pat00153
)이 사용하여 예측 블록(
Figure 112017013493990-pat00154
)을 생성할 수 있다.
예측부(250)는 복원 블록(
Figure 112017013493990-pat00155
)에 기초하여 예측 블록(
Figure 112017013493990-pat00156
)을 생성할 수 있다. 예측부(250)는 프레임 내 예측부(251), 움직임 보상부(252), 및 예측 영상 생성부(253)을 포함할 수 있다.
프레임 내 예측부(251) 및 움직임 보상부(252)는 부호화 픽쳐 버퍼(240)로부터 복원 블록(
Figure 112017013493990-pat00157
)을, 엔트로피 복호화부(210)로부터 양자화된 잔차(
Figure 112017013493990-pat00158
)를 수신할 수 있다.
프레임 내 예측부(251)는 인트라 모드에서 양자화된 잔차(
Figure 112017013493990-pat00159
) 및 복원 블록(
Figure 112017013493990-pat00160
)에 기초하여 화면 내 예측을 수행하고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.
움직임 보상부(252)는 양자화된 잔차(
Figure 112017013493990-pat00161
) 및 복원 블록(
Figure 112017013493990-pat00162
)의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.
예측 영상 생성부(253)는 프레임 내 예측부(251) 및 움직임 보상부(252)의 결과값에 기초하여 예측 블록(
Figure 112017013493990-pat00163
)을 생성할 수 있다. 예측 영상 생성부(253)는 생성한 예측 블록(
Figure 112017013493990-pat00164
)을 가산기로 전송할 수 있다.
도 9는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 9를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230b), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.
도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(225) 및 CNN 기반 인루프 필터(230b)에 대하여 설명한다.
인루프 필터(225)는 가산기로부터 예비 복원 블록(
Figure 112017013493990-pat00165
)을 수신할 수 있다. 인루프 필터(225)는 예비 복원 블록(
Figure 112017013493990-pat00166
)에 필터링을 수행하여 2차 예비 복원 블록(
Figure 112017013493990-pat00167
)을 생성할 수 있다. 인루프 필터(225)는 2차 예비 복원 블록(
Figure 112017013493990-pat00168
)을 CNN 기반 인루프 필터(230b)로 전송할 수 있다.
인루프 필터(225)는 상술한 바와 같이 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
CNN 기반 인루프 필터(230b)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(
Figure 112017013493990-pat00169
)을 포함하고, 복워 정보는 최종 복원 블록(
Figure 112017013493990-pat00170
)을 포함할 수 있다.
즉, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00171
)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00172
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00173
) 및 픽셀 블록(f)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00174
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(230b)는 최종 복원 블록(
Figure 112017013493990-pat00175
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.
도 10은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 10을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230c), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기를 포함한다.
도 10에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230c)에 대해서 설명한다.
CNN 기반 인루프 필터(230c)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(
Figure 112017013493990-pat00176
)을 포함하고, 복원 정보는 복원 잔차 블록(
Figure 112017013493990-pat00177
)을 포함할 수 있다. CNN 기반 인루프 필터(230c)는 가산기로부터 예비 복원 블록(
Figure 112017013493990-pat00178
)을 수신할 수 있다. CNN 기반 인루프 필터(230c)는 예비 복원 블록(
Figure 112017013493990-pat00179
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00180
)을 생성할 수 있다.
즉, CNN 기반 인루프 필터(230c)는 예비 복원 블록(
Figure 112017013493990-pat00181
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00182
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230c)는 예비 복원 블록(
Figure 112017013493990-pat00183
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00184
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(230c)는 복원 잔차 블록(
Figure 112017013493990-pat00185
)을 가산기에 전송할 수 있다.
가산기는 복원 잔차 블록(
Figure 112017013493990-pat00186
) 및 예측 블록(
Figure 112017013493990-pat00187
)을 가산하여 복원 블록(
Figure 112017013493990-pat00188
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00189
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.
도 11은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 11을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230d), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기를 포함한다.
도 11에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230d), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230d)에 대하여 설명한다.
CNN 기반 인루프 필터(230d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(
Figure 112017013493990-pat00190
)을 포함하고, 복원 정보는 복원 잔차 블록(
Figure 112017013493990-pat00191
)을 포함할 수 있다. CNN 기반 인루프 필터(230d)는 인루프 필터(225)로부터 2차 예비 복원 블록(
Figure 112017013493990-pat00192
)을 수신할 수 있다. CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00193
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00194
)을 생성할 수 있다. 복원 잔차 블록(
Figure 112017013493990-pat00195
)은 도 10에 도시된 복원 잔차 블록(
Figure 112017013493990-pat00196
)보다 0에 더 가까운 값일 수 있다.
즉, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00197
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00198
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00199
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00200
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(230d)는 복원 잔차 블록(
Figure 112017013493990-pat00201
)을 가산기에 전송할 수 있다.
가산기는 복원 잔차 블록(
Figure 112017013493990-pat00202
)및 예측 블록(
Figure 112017013493990-pat00203
)을 가산하여 최종 복원 블록(
Figure 112017013493990-pat00204
)을 생성할 수 있다. 가산기는 최종 복원 블록(
Figure 112017013493990-pat00205
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.
도 12는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 12를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.
도 12에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230e)에 대해서 설명한다.
CNN 기반 인루프 필터(230e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예측 잔차 블록(
Figure 112017013493990-pat00206
)을 포함하고, 복원 정보는 2차 복원 잔차 블록(
Figure 112017013493990-pat00207
)을 포함할 수 있다. CNN 기반 인루프 필터(230e)는 역양자화 및 역변환부(220)로부터 역양자화 및 역변환된 복원 잔차 블록(
Figure 112017013493990-pat00208
)을 수신할 수 있다. CNN 기반 인루프 필터(230e)는 복원 잔차 블록(
Figure 112017013493990-pat00209
)에 필터링을 수행하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00210
)을 생성할 수 있다.
즉, CNN 기반 인루프 필터(230e)는 복원 잔차 블록(
Figure 112017013493990-pat00211
)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00212
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230e)는 복원 잔차 블록(
Figure 112017013493990-pat00213
) 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00214
)을 생성하도록 학습할 수 있다.
CNN 기반 인루프 필터(230e)는 2차 복원 잔차 블록(
Figure 112017013493990-pat00215
)을 가산기에 전송할 수 있다.
가산기는 2차 복원 잔차 블록(
Figure 112017013493990-pat00216
) 및 예측 블록(
Figure 112017013493990-pat00217
)을 가산하여 복원 블록(
Figure 112017013493990-pat00218
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00219
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.
도 13은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.
도 13을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 인루프 필터(227), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.
도 13에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 12에 도시된 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(227)에 대해서 설명한다.
인루프 필터(227)는 가산기로부터 복원 블록(
Figure 112017013493990-pat00220
)을 수신할 수 있다. 복원 블록(
Figure 112017013493990-pat00221
)은 예비 복원 블록(
Figure 112017013493990-pat00222
)일 수 있다. 인루프 필터(227)는 예비 복원 블록(
Figure 112017013493990-pat00223
)에 필터링을 수행하여 2차 최종 복원 블록(
Figure 112017013493990-pat00224
)을 생성할 수 있다. 인루프 필터(227)는 최종 복원 블록(
Figure 112017013493990-pat00225
)을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.
인루프 필터(227)는 도 9에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.
도 14는 일 실시예에 따른 CNN 기반 인루프 필터의 구조를 설명하기 위한 도면이다.
도 14를 참조하면, CNN 기반 인루프 필터(150)는 입력 레이어(input layer; 151), 은닉 레이어(hidden layer; 152), 및 출력 레이어(output layer; 153)를 포함한다.
입력 레이어(151)는 입력 영상을 수신할 수 잇다. 입력 영상은 열화된 복원 영상을 포함할 수 있다. 예를 들어, 입력 레이어(151)에는 역양자화 및 역변환부(140)에 의해 역양자화 및 역변환이 수행된 복원 영상이 입력될 수 있다. 입력 영상은 블록 경계 왜곡, 너울성 왜곡 및 고주파 흐려짐 블러 왜곡을 포함할 수 있다. 복원 영상은 열화(degradation) 현상을 포함할 수 있다.
입력 레이어(151)는 입력 영상에 이미지 패치(image patch)를 수행하여 은닉 레이어(153)로 추출할 수 있다. 예를 들어, 입력 레이어(151)는 입력 영상을 (f 1 x f 1 )의 크기로 이미지 패치를 수행할 수 있다.
은닉 레이어(152)는 비선형 매핑(non-linear mapping)을 수행할 수 있다. 은닉 레이어(152)는 N 개의 컨볼루션 레이어(convolutional layer)를 포함할 수 있다. 이때, 제1 컨볼루션 레이어(152-1)에서 제N 컨볼루션 레이어(152-N)로 진행할수록 영상의 화질은 향상될 수 있다.
CNN 기반 인루프 필터(150)는 은닉 레이어(152), 출력 레이어(153), 및 손실 함수 (loss function)을 통해 CNN 기반 인루프 필터의 훈련이 수행될 수 있다.
제1 컨볼루션 레이어(152-1)는 수학식 1에 대응될 수 있다.
Figure 112017013493990-pat00226
제2 컨볼루션 레이어는 수학식 2에 대응될 수 있다.
Figure 112017013493990-pat00227
같은 원리로, 제N 컨볼루션 레이어(152-N)는 수학식 3에 대응될 수 있다.
Figure 112017013493990-pat00228
즉, 은닉 레이어(152)는 ReLU(Rectified Linear Unit) 함수를 사용해 훈련의 효율 및 속도를 높일 수 있다.
출력 레이어(153)는 수학식 4에 대응될 수 있다.
Figure 112017013493990-pat00229
출력 레이어(153)는 필터링되어 화질이 향상된 출력 영상을 출력할 수 있다.
손실 함수는 수학식 5에 대응될 수 있다.
Figure 112017013493990-pat00230
CNN 기반 인루프 필터(150)는 손실 함수를 통해 필터링 오류를 최소화할 수 있도록 훈련될 수 있다.
도 15는 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 일 예이다.
도 15를 참조하면, CNN 기반 인루프 필터(150)는 양자화 구간 별로 훈련을 수행할 수 있다. CNN 기반 인루프 필터(150)는 양자화 파라미터(quantization parameter(QP))에 따라 왜곡값이 상이한 복원 영상을 처리할 수 있다. 이에, CNN 기반 인루프 필터(150)는 양자화 구간 별로 훈련을 수행하여 효과적인 필터링을 수행할 수 있다.
양자화 파라미터(QP)는 0 이상 51 이하의 값일 수 있다. 각 양자화 구간은 적어도 하나의 양자화 파라미터(QP)를 포함할 수 있다. 이때, 복수의 양자화 구간이 공통으로 포함하는 양자화 파라미터(QP)도 있을 수 있다. 예를 들어, 제1 구간과 제2 구간은 양자화 파라미터(QP) 5를 공통으로 포함할 수 있다.
부호화 장치(100)에서 부호화시 사용된 양자화 파라미터(QP)는 복호화 장치(200)에서 확인할 수 있는 값이고, 부호화 장치(100)는 부호화시 사용된 양자화 파라미터(QP)를 복호화 장치(200)로 전송하지 않을 수 있다. 이에, 부호화 장치(100)는 오버헤드(overhead)가 발생하지 않고, 부호화 효율을 높일 수 있다.
부호화 장치(100)는 제N 구간의 양자화 파라미터(QP)를 사용하여 복원 훈련 영상(300)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(300)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.
CNN 기반 인루프 필터(150)는 복원 훈련 영상(300)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다.
가산기는 출력 영상 및 원 입력 훈련 영상(original input image; 400)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.
CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치(weight)를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(400)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파(back propagation) 방법을 사용할 수 있다.
복원 훈련 영상(300) 및 입력 훈련 영상(400)은 여러 실시예로 구현될 수 있다. 즉, CNN 기반 인루프 필터(150)는 무수히 많은 훈련 방법이 존재할 수 있다. CNN 기반 인루프 필터(150)는 훈련 방법에 따라 상이하게 동작할 수 있다.
일 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링 적용 이전의 복원 영상(reconstructed frames prior to in-loop filtering)일 수 있다. CNN 기반 인루프 필터(150)는 필터링 적용 이전의 복원 영상에 필터링을 수행하여 입력 훈련 영상(400)에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 2a에 도시된 CNN 기반 인루프 필터(150a)로 동작할 수 있다.
다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상(reconstructed frames after in-loop filtering)일 수 있다. 즉, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 수행하여 원 입력 훈련 영상(400)에 더 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 3에 도시된 CNN 기반 인루프 필터(150b)로 동작할 수 있다.
다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상이고, 입력 훈련 영상(400)은 잔차 영상(e)일 수 있다. 이때, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 적용하여 복원 잔차 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 5에 도시된 CNN 기반 인루프 필터(150d)로 동작할 수 있다.
도 16은 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 다른 예이다.
도 16을 참조하면, CNN 기반 인루프 필터(150)는 왜곡값 구간 별로 훈련을 수행할 수 있다. CNN 기반 인루프 필터(150)는 양자화 파라미터(QP)에 따라 왜곡값이 상이할 수 있다. 이에, CNN 기반 인루프 필터(150)는 왜곡값 구간 별로 훈련을 수행하여 효과적인 필터링을 수행할 수 있다.
부호화 장치(100)에서 부호화시 사용된 왜곡값 구간은 복호화 장치(200)에서 확인할 수 있는 값이고, 부호화 장치(100)는 부호화시 사용된 인덱스(index)를 복호화 장치(200)로 전송하지 않을 수 있다. 이에, 부호화 장치(100)는 오버헤드가 발생하지 않고, 부호화 효율을 높일 수 있다.
왜곡값은 입력 훈련 영상(600) 및 복원 훈련 영상의 차이일 수 있다.
부호화 장치(100)는 제N 구간의 왜곡값에 속하는 복원 훈련 영상(500)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(500)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.
CNN 기반 인루프 필터(150)는 복원 훈련 영상(500)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다. 가산기는 출력 영상 및 원 입력 훈련 영상(600)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.
CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(600)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파 방법을 사용할 수 있다.
복원 훈련 영상(500)는 복원 잔차 영상일 수 있다. 복원 잔차 영상은 잔차 영상에 변환 및 양자화를 수행하고, 다시 역양자화 및 역변환을 수행한 영상일 수 있다.
입력 훈련 영상(600)은 잔차 영상일 수 있다. 잔차 영상은 입력 영상과 복원 영상을 차분한 영상일 수 있다. 복원 영상은 인루프 필터링이 적용된 영상이거나 또는 인루프 필터링이 적용되지 않은 영상일 수 있다.
즉, CNN 기반 인루프 필터(150)는 복원 잔차 영상에 필터링을 수행하여 잔차 영상에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 6에 도시된 CNN 기반 인루프 필터(150e)로 동작할 수 있다.
또한, CNN 기반 인루프 필터(150)는 영상의 슬라이스 타입(slice type) 별로 필터링을 수행할 수 있다. 이하에서는 CNN 기반 인루프 필터(150)가 슬라이스 타입 별로 필터링을 수행하는 동작에 대하여 설명한다.
도 17은 일 실시예에 따른 CNN 기반 인루프 필터의 훈련 방법을 설명하기 위한 도면의 일 예이다.
도 17을 참조하면, CNN 기반 인루프 필터(150)는 저지연 구조(low delay configuration)의 부호화 또는 복호화 과정에서 복수의 영상에 필터링을 수행할 수 있다.
복수의 영상의 슬라이스 타입은 인트라 슬라이스(intra slice(I slice)), 또는 예측 슬라이스(predictive slice(P slice))일 수 있다.
인트라 슬라이스의 영상(700-1 및 700-N)은 화면 내 예측을 수행할 수 있다. 예측 슬라이스의 영상(700-2~700-4)은 화면 간 예측을 수행할 수 있다.
예를 들어, 예측 슬라이스의 영상(700-2)은 인트라 슬라이스의 영상(700-1)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(700-3)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(700-2)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(700-4)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(700-2~700-3)을 참조하여 영상을 예측할 수 있다.
CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(700-1 및 700-N)에 필터링을 수행하여, 왜곡이 적은 영상을 지속적으로 제공할 수 있다. CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(700-1 및 700-N)을 주기적으로 제공할 수 있다.
도 18은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 18을 참조하면, CNN 기반 인루프 필터(150)는 저지연 구조(low delay configuration)의 부호화 또는 복호화 과정에서 복수의 영상(800-1~800-3, 800-5, 및 800-5)에 선택적으로 필터링을 수행할 수 있다.
복수의 영상(800-1~800-3, 800-5, 및 800-5)의 슬라이스 타입은 인트라 슬라이스(I slice), 또는 예측 슬라이스(P slice)일 수 있다.
인트라 슬라이스의 영상(800-1)은 화면 내 예측을 수행할 수 있다. 예측 슬라이스의 영상(800-2, 800-3, 800-5, 및 800-7)은 화면 간 예측을 수행할 수 있다.
예를 들어, 예측 슬라이스의 영상(800-2)은 인트라 슬라이스의 영상(800-1)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(800-3)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(800-2)을 참조하여 영상을 예측할 수 있다. 같은 원리로, 예측 슬라이스의 영상(800-5 및 800-7)은 이전 슬라이스의 영상을 참조하여 영상을 예측할 수 있다.
CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(800-1) 및 예측 슬라이스의 영상(800-3, 800-5, 및 800-7)에 필터링을 수행하여, 왜곡이 적은 영상을 지속적으로 제공할 수 있다. CNN 기반 인루프 필터(150)는 주기적 또는 선택적으로 필터링을 수행하여 예측 슬라이스의 영상(800-3, 800-5, 및 800-7)을 제공할 수 있다.
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(Coding Tree Unit(CTU)) 또는 부호화 블록별(Coding Unit(CU)) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.
도 19는 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 19를 참조하면, CNN 기반 인루프 필터(150)는 전 화면 내 구조(All intra configuration)의 부호화 또는 복호화 과정에서 복수의 영상(900-1~900-N)에 필터링을 수행할 수 있다.
복수의 영상(900-1~900-N)의 슬라이스 타입은 인트라 슬라이스(I slice)일 수 있다.
인트라 슬라이스의 영상(900-1~900-N)은 화면 내 예측을 수행할 수 있다. 즉, 인트라 슬라이스의 영상(900-1~900-N)의 왜곡값은 다른 영상으로 전달되지 않고, CNN 기반 인루프 필터(150)는 모든 인트라 슬라이스의 영상(900-1~900-N)을 필터링 하여 고화질의 영상을 제공할 수 있다.
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.
도 20은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이고, 도 21은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.
도 20 및 도 21을 참조하면, CNN 기반 인루프 필터(150)는 계층적 B 화면 구조(hierarchical B-picture configuration)의 부호화 또는 복호화 과정에서 복수의 영상(1010-1~1010-3, 1020-1~1020-2, 1030-1~1030-4, 1040-1~1040-4)에 필터링을 수행할 수 있다.
계층적 B 화면 구조는 제1 계층 내지 제4 계층을 포함할 수 있다.
제1 계층 영상(1010-1~1010-3)의 슬라이스 타입은 인트라 슬라이스(I slice) 또는 예측 슬라이스(P slice)일 수 있다. 인트라 슬라이스의 영상(1010-1~1010-3)은 화면 내 예측을 수행할 수 있다.
제2 계층 내지 제4 계층 영상(1020-1~1020-2, 1030-1~1030-4, 1040-1~1040-4)의 슬라이스 타입은 양측 예측 슬라이스(bi-predictive slice(B slice))일 수 있다. 양측 예측 슬라이스(B slice)의 영상(1020-1~1020-2, 1030-1~1030-4, 1040-1~1040-4)은 아래 계층의 영상을 참조하여 영상을 예측할 수 있다. 이때, 양측 예측 슬라이스(B slice)의 영상(1020-1~1020-2, 1030-1~1030-4, 1040-1~1040-4)은 아래 계층이 이전의 영상(앞)이든, 또는 이후의 영상(뒤)이든 상관없이 모두 참조할 수 있다. 예를 들어, 제2 계층의 영상(1020-1)은 제1 계층의 영상(1010-1 및 1010-2)를 참조할 수 있다. 제2 계층의 영상(1020-2)은 제1 계층의 영상(1010-2 및 1010-3)를 참조할 수 있다.
같은 원리로, 제4 계층의 영상(1040-1)은 제3 계층의 영상(1030-1) 및 제1 계층의 영상(1010-1)을 참조할 수 있고, 제4 계층의 영상(1040-3)은 제2 계층의 영상(1020-1) 및 제3 계층의 영상(1030-2)을 참조할 수 있다.
CNN 기반 인루프 필터(150)는 특정 계층을 선택하여 필터링을 수행할 수 있다. 일 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3)에 필터링을 수행할 수 있다.
다른 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3) 및 2 계층의 영상(1020-1 및 1020-2)에 필터링을 수행할 수 있다. CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3) 및 2 계층의 영상(1020-1 및 1020-2)에 필터링을 수행하는 동작은 도 20에 도시된 바와 같을 수 있다.
다른 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1110-1~1110-3), 2 계층의 영상(1120-1 및 1120-2), 및 제3 계층의 영상(1130-1~1130-4)에 필터링을 수행할 수 있다. CNN 기반 인루프 필터(150)는 1 계층의 영상(1110-1~1110-3), 2 계층의 영상(1120-1 및 1120-2), 및 제3 계층의 영상(1130-1~1130-4)에 필터링을 수행하는 동작은 도 21에 도시된 바와 같을 수 있다.
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.
CNN 기반 인루프 필터(150)는 영상 내의 특정 영역에 필터링을 적용할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 영상을 복수의 영역으로 분할하고, 복수의 영역 중 일부의 영역만을 선택하여 필터링을 적용할 수 있다. 이때, CNN 기반 인루프 필터(150)는 일부의 영역에 필터링 적용 여부를 시그널링할 수 있다.
또한, CNN 기반 인루프 필터(150)는 영상내의 움직임의 양과 텍스처 복잡도 중 적어도 하나에 기초하여 필터링을 적용할 수도 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (46)

  1. 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보(filtering information)를 생성하는 단계;
    상기 필터링 정보를 역필터링함으로써 역필터링 정보(inverse filtering information)를 생성하는 단계;
    상기 역필터링 정보를 CNN 기반 인루프 필터(CNN based in-loop filter)에 입력함으로써 복원 정보를 생성하는 단계;
    상기 복원 정보와 상기 원본 영상에 기반한 원본 정보의 차이를 계산하는 단계; 및
    상기 차이에 기초하여 상기 CNN 기반 인루프 필터의 가중치(weight)를 보정하는 단계
    를 포함하고,
    상기 예측 영상은 상기 복원 정보에 기초하여 생성되고,
    상기 CNN 기반 인루프 필터의 가중치(weight)는 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치, 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치 중에서 적어도 하나인,
    CNN 기반 인루프 필터 학습 방법.
  2. 제1항에 있어서,
    상기 필터링 정보를 생성하는 단계는,
    상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하는 단계
    를 포함하고,
    상기 역필터링 정보를 생성하는 단계는,
    상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  3. 제1항에 있어서,
    상기 필터링 정보를 생성하는 단계는,
    양자화 파라미터(quantization parameter)에 따른 양자화 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
    를 포함하고,
    상기 보정하는 단계는,
    상기 양자화 구간에 대한 가중치를 보정하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  4. 제1항에 있어서,
    상기 필터링 정보를 생성하는 단계는,
    왜곡값에 따른 왜곡값 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
    를 포함하고,
    상기 보정하는 단계는,
    상기 왜곡값 구간에 대한 가중치를 보정하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  5. 제1항에 있어서,
    상기 필터링 정보를 생성하는 단계는,
    영상 특성의 텍스처 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
    를 포함하고,
    상기 보정하는 단계는,
    상기 텍스처 복잡도 구간에 대한 가중치를 보정하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  6. 제1항에 있어서,
    상기 필터링 정보를 생성하는 단계는,
    영상 특성의 움직임 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
    를 포함하고,
    상기 보정하는 단계는,
    상기 움직임 복잡도 구간에 대한 가중치를 보정하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  7. 제1항에 있어서,
    상기 복원 정보를 생성하는 단계는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계
    를 포함하고,
    상기 복원 정보는,
    상기 원본 영상과 같은 형식인 CNN 기반 인루프 필터 학습 방법.
  8. 제7항에 있어서,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는,
    상기 예측 정보에 인루프 필터링을 수행하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  9. 제1항에 있어서,
    상기 복원 정보를 생성하는 단계는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계
    를 포함하고,
    상기 복원 정보는,
    상기 잔차 영상과 같은 형식인 CNN 기반 인루프 필터 학습 방법.
  10. 제9항에 있어서,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는,
    상기 예측 정보에 인루프 필터링을 수행하는 단계
    를 포함하는 CNN 기반 인루프 필터 학습 방법.
  11. 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보를 생성하는 필터링부;
    상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부;
    복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부(estimator);
    상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터; 및
    상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부(encoder)를 포함하고,
    상기 CNN 기반 인루프 필터의 가중치(weight)는 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치 중에서 적어도 하나인 부호화 장치.
  12. 제11항에 있어서,
    상기 필터링부는,
    상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하고,
    상기 역필터링부는,
    상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는
    부호화 장치.
  13. 제11항에 있어서,
    상기 복원 정보는,
    상기 원본 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
    부호화 장치.
  14. 제13항에 있어서,
    상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 부호화 장치.
  15. 제14항에 있어서,
    상기 인루프 필터는,
    디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나
    를 포함하는 부호화 장치.
  16. 제11항에 있어서,
    상기 복원 정보는,
    상기 잔차 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
    부호화 장치.
  17. 제16항에 있어서,
    상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 부호화 장치.
  18. 제11항에 있어서,
    상기 복원 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 부호화 장치.
  19. 부호화된 비트스트림 정보에 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력하는 엔트로피 복호화부(entropy decoder);
    상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부;
    상기 예측 영상의 정보에 기초하여 예측 영상을 생성하는 예측부; 및
    상기 역필터링 정보와 상기 예측 영상에 기초하여 복원 정보를 생성하고, 인루프 필터링 적용 여부에 따라 상기 복원 정보에 인루프 필터링을 적용하는 CNN 기반 인루프 필터를 포함하는
    복호화 장치.
  20. 제19항에 있어서,
    상기 복원 정보는,
    원본 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
    복호화 장치.
  21. 제20항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 복호화 장치.
  22. 제21항에 있어서,
    상기 인루프 필터는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 포함하는
    복호화 장치.
  23. 제19항에 있어서,
    상기 복원 정보는,
    잔차 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
    복호화 장치.
  24. 제23항에 있어서,
    상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
    를 더 포함하는 복호화 장치.
  25. 제23항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 복호화 장치.
  26. 제25항에 있어서,
    상기 인루프 필터는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나
    를 포함하는 복호화 장치.
  27. 제19항에 있어서,
    상기 복원 정보는,
    잔차 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터는,
    상기 역필터링 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 잔차 복원 정보를 생성하는
    복호화 장치.
  28. 제27항에 있어서,
    상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
    를 더 포함하는 복호화 장치.
  29. 제28항에 있어서,
    상기 최종 복원 정보에 인루프 필터링을 수행하는 인루프 필터
    를 더 포함하는 복호화 장치.
  30. 제29항에 있어서,
    상기 인루프 필터는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나
    를 포함하는 복호화 장치.
  31. 제19항에 있어서,
    상기 CNN 기반 인루프 필터의 가중치(weight)는 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 중에서 적어도 하나인
    복호화 장치.
  32. 제19항에 있어서,
    상기 CNN 기반 인루프 필터는,
    입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 인루프 필터링을 적용하는 CNN 기반 인루프 필터를 포함하는
    복호화 장치.
  33. 부호화된 비트스트림 정보에 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력하는 단계;
    상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 단계;
    상기 예측 영상의 정보에 기초하여 예측 영상을 생성하는 단계; 및
    상기 역필터링 정보와 상기 예측 영상에 기초하여 복원 정보를 생성하고, 인루프 필터링 적용 여부에 따라 상기 복원 정보에 CNN 기반 인루프 필터링을 적용하는 단계
    를 포함하는 복호화 방법.
  34. 제33항에 있어서,
    상기 복원 정보는,
    원본 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터링을 적용하는 단계는,
    상기 역필터링 정보 및 상기 예측영상에 기반한 예측정보에 기초하여 상기 복원 정보를 생성하는 단계
    를 포함하는 복호화 방법.
  35. 제34항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 단계
    를 더 포함하는 복호화 방법.
  36. 제35항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 이용하여 인루프 필터링을 수행하는 단계
    를 포함하는 복호화 방법.
  37. 제33항에 있어서,
    상기 복원 정보는,
    잔차 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터링을 적용하는 단계는,
    상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보에 기초하여 상기 복원 정보를 생성하는 단계
    를 포함하는 복호화 방법.
  38. 제37항에 있어서,
    상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
    를 더 포함하는 복호화 방법.
  39. 제37항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 단계
    를 더 포함하는 복호화 방법.
  40. 제39항에 있어서,
    상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 이용하여 인루프 필터링을 수행하는 단계
    를 포함하는 복호화 방법.
  41. 제33항에 있어서,
    상기 복원 정보는,
    잔차 영상과 같은 형식이고,
    상기 CNN 기반 인루프 필터링을 적용하는 단계는,
    상기 역필터링 정보에 기초하여 잔차 복원 정보를 생성하는 단계
    를 포함하는 복호화 방법.
  42. 제41항에 있어서,
    상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
    를 더 포함하는 복호화 방법.
  43. 제42항에 있어서,
    상기 최종 복원 정보에 인루프 필터링을 수행하는 단계
    를 더 포함하는 복호화 방법.
  44. 제43항에 있어서,
    상기 최종 복원 정보에 인루프 필터링을 수행하는 단계는,
    디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 이용하여 인루프 필터링을 수행하는 단계
    를 포함하는 복호화 방법.
  45. 제33항에 있어서,
    상기 CNN 기반 인루프 필터링을 적용하는 단계는,
    슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 중에서 적어도 하나의 가중치를 적용하여 인루프 필터링을 적용하는 단계
    를 포함하는 복호화 방법.
  46. 제33항에 있어서,
    상기 CNN 기반 인루프 필터링을 적용하는 단계는,
    입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 인루프 필터링을 적용하는 단계
    를 포함하는 복호화 방법.
KR1020170017959A 2016-06-24 2017-02-09 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 KR101974261B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201780051305.7A CN109644268B (zh) 2016-06-24 2017-02-13 包括基于cnn的环路滤波器的编码方法与装置及解码方法与装置
PCT/KR2017/001512 WO2017222140A1 (ko) 2016-06-24 2017-02-13 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
JP2018567746A JP6761490B2 (ja) 2016-06-24 2017-02-13 Cnn基盤インループフィルタを含む符号化方法と装置及び復号化方法と装置
US16/313,052 US11095887B2 (en) 2016-06-24 2017-02-13 Encoding and decoding methods and devices including CNN-based in-loop filter
US17/376,162 US11627316B2 (en) 2016-06-24 2021-07-15 Encoding and decoding apparatuses including CNN-based in-loop filter
US18/088,615 US20230134212A1 (en) 2016-06-24 2022-12-26 Image processing apparatuses including cnn-based in-loop filter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160079240 2016-06-24
KR1020160079240 2016-06-24

Publications (2)

Publication Number Publication Date
KR20180001428A KR20180001428A (ko) 2018-01-04
KR101974261B1 true KR101974261B1 (ko) 2019-04-30

Family

ID=60998313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170017959A KR101974261B1 (ko) 2016-06-24 2017-02-09 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치

Country Status (4)

Country Link
US (3) US11095887B2 (ko)
JP (1) JP6761490B2 (ko)
KR (1) KR101974261B1 (ko)
CN (1) CN109644268B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006484A1 (en) * 2019-07-05 2021-01-14 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
WO2023022376A1 (ko) * 2021-08-17 2023-02-23 현대자동차주식회사 개선된 인루프 필터를 이용하는 비디오 코딩방법 및 장치

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932697B (zh) * 2017-05-26 2020-01-17 杭州海康威视数字技术股份有限公司 一种失真图像的去失真方法、装置及电子设备
WO2019009490A1 (ko) 2017-07-06 2019-01-10 삼성전자 주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
JP6903132B2 (ja) * 2017-07-07 2021-07-14 三菱電機株式会社 データ処理装置およびデータ処理方法
US10979718B2 (en) * 2017-09-01 2021-04-13 Apple Inc. Machine learning video processing systems and methods
CN111742553A (zh) * 2017-12-14 2020-10-02 交互数字Vc控股公司 用于视频压缩的基于深度学习的图像分区
WO2019143026A1 (ko) * 2018-01-16 2019-07-25 한국과학기술원 특징맵 압축을 이용한 이미지 처리 방법 및 장치
WO2019143024A1 (ko) * 2018-01-16 2019-07-25 한국과학기술원 라인 단위 연산을 이용한 초해상화 방법 및 장치
WO2019143025A1 (ko) * 2018-01-16 2019-07-25 한국과학기술원 라인 입력 및 출력을 이용한 이미지 처리 방법 및 장치
WO2019143027A1 (ko) 2018-01-16 2019-07-25 한국과학기술원 이미지 파이프라인 처리 방법 및 장치
KR102017995B1 (ko) * 2018-01-16 2019-09-03 한국과학기술원 라인 단위 연산을 이용한 초해상화 방법 및 장치
US11265540B2 (en) 2018-02-23 2022-03-01 Sk Telecom Co., Ltd. Apparatus and method for applying artificial neural network to image encoding or decoding
WO2019194425A1 (ko) * 2018-04-06 2019-10-10 에스케이텔레콤 주식회사 영상 부호화 또는 복호화에 인공 신경망을 적용하는 장치 및 방법
US20190289327A1 (en) * 2018-03-13 2019-09-19 Mediatek Inc. Method and Apparatus of Loop Filtering for VR360 Videos
US11393160B2 (en) * 2018-03-23 2022-07-19 Intel Corporation Deep geometric model fitting
WO2019194460A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 컨벌루션 뉴럴 네트워크를 이용한 영상 코딩 방법 및 그 장치
KR102067340B1 (ko) * 2018-07-16 2020-01-16 한국과학기술원 유방암 병변 특성에 따른 유방 종괴 생성 방법 및 그 시스템
KR102285738B1 (ko) 2018-10-19 2021-08-05 삼성전자주식회사 영상의 주관적 품질을 평가하는 방법 및 장치
WO2020080765A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
WO2020080827A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Ai encoding apparatus and operation method of the same, and ai decoding apparatus and operation method of the same
KR102525578B1 (ko) 2018-10-19 2023-04-26 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2020080698A1 (ko) 2018-10-19 2020-04-23 삼성전자 주식회사 영상의 주관적 품질을 평가하는 방법 및 장치
WO2020080665A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
US11720997B2 (en) 2018-10-19 2023-08-08 Samsung Electronics Co.. Ltd. Artificial intelligence (AI) encoding device and operating method thereof and AI decoding device and operating method thereof
WO2020080873A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Method and apparatus for streaming data
CN111105357B (zh) * 2018-10-25 2023-05-02 杭州海康威视数字技术股份有限公司 一种失真图像的去失真方法、装置及电子设备
KR102621118B1 (ko) * 2018-11-01 2024-01-04 삼성전자주식회사 영상 적응적 양자화 테이블을 이용한 영상의 부호화 장치 및 방법
KR102013777B1 (ko) 2018-12-12 2019-10-21 한국과학기술정보연구원 동영상 왜곡 복원 방법 및 이를 적용한 장치
KR102192980B1 (ko) * 2018-12-13 2020-12-18 주식회사 픽스트리 기계 학습 기반으로 파라미터를 학습하는 영상 처리 장치 및 동작 방법
KR102212442B1 (ko) 2018-12-13 2021-02-04 주식회사 픽스트리 기계 학습 기반으로 파라미터를 학습하는 영상 처리 장치 및 동작 방법
CN109982092B (zh) * 2019-04-28 2022-11-01 华侨大学 基于多分支循环卷积神经网络的hevc帧间快速方法
JP7318314B2 (ja) * 2019-05-30 2023-08-01 富士通株式会社 符号化プログラム、復号プログラム、符号化装置、復号装置、符号化方法及び復号方法
US11521074B2 (en) * 2019-05-31 2022-12-06 Carnegie Mellon University Flexible, lightweight quantized deep neural networks
WO2020242260A1 (ko) * 2019-05-31 2020-12-03 한국전자통신연구원 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치
CN112422993B (zh) * 2019-08-21 2021-12-03 四川大学 一种结合卷积神经网络的hevc视频质量增强方法
CN110798690B (zh) * 2019-08-23 2021-12-21 腾讯科技(深圳)有限公司 视频解码方法、环路滤波模型的训练方法、装置和设备
KR102436512B1 (ko) 2019-10-29 2022-08-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR20210056179A (ko) * 2019-11-08 2021-05-18 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
CN114731455A (zh) * 2019-11-20 2022-07-08 三星电子株式会社 使用与图像质量相关的ai元数据的设备和方法
WO2021118285A1 (ko) * 2019-12-11 2021-06-17 한국전자기술연구원 심층 신경망 모델의 부호화/복호화 방법 및 장치
US20210264239A1 (en) * 2020-02-20 2021-08-26 Tencent America LLC Method and apparatus for neural network optimized matrix-matrix multiplication (nnmm)
US11496775B2 (en) * 2020-02-20 2022-11-08 Tencent America LLC Neural network model compression with selective structured weight unification
KR102287942B1 (ko) 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
CN111314698A (zh) * 2020-02-27 2020-06-19 浙江大华技术股份有限公司 一种图像编码处理方法及装置
KR20210127412A (ko) * 2020-04-14 2021-10-22 삼성전자주식회사 Ai 다운스케일 장치 및 그 동작방법, 및 ai 업스케일 장치 및 그 동작방법
CN111741300B (zh) * 2020-05-28 2023-03-07 杭州师范大学 一种视频处理方法
CN113766249B (zh) * 2020-06-01 2022-05-13 腾讯科技(深圳)有限公司 视频编解码中的环路滤波方法、装置、设备及存储介质
US20230188713A1 (en) * 2020-06-04 2023-06-15 Interdigital Vc Holdings France, Sas Neural network based filter in video coding
US11334967B2 (en) * 2020-07-30 2022-05-17 Novatek Microelectronics Corp. Method and image processing device for generating image filter
CN112422989B (zh) * 2020-11-17 2023-06-09 杭州师范大学 一种视频编码方法
WO2022116165A1 (zh) * 2020-12-04 2022-06-09 深圳市大疆创新科技有限公司 视频编码方法、解码方法、编码器、解码器以及ai加速器
US20220191482A1 (en) * 2020-12-16 2022-06-16 Tencent America LLC Method and apparatus for video coding
US11490085B2 (en) 2021-01-14 2022-11-01 Tencent America LLC Model sharing by masked neural network for loop filter with quality inputs
EP4064133A3 (en) * 2021-03-24 2022-12-28 Samsung Electronics Co., Ltd. Method for optimising a machine learning model for image processing
US20220383554A1 (en) 2021-05-18 2022-12-01 Tencent America LLC Substitutional quality factor learning for quality-adaptive neural network-based loop filter
CN113497941A (zh) * 2021-06-30 2021-10-12 浙江大华技术股份有限公司 图像滤波方法、编码方法及相关设备
WO2023080464A1 (ko) * 2021-11-05 2023-05-11 삼성전자 주식회사 Ai 기반 필터링을 위한 영상 처리 방법 및 장치
CN115209147B (zh) * 2022-09-15 2022-12-27 深圳沛喆微电子有限公司 摄像头视频传输带宽优化方法、装置、设备及存储介质
CN117834864A (zh) * 2022-09-27 2024-04-05 中兴通讯股份有限公司 一种视频编解码环路滤波方法、视频解码方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2788811B2 (ja) * 1992-01-10 1998-08-20 シャープ株式会社 ブロック歪補正器
US5825646A (en) * 1993-03-02 1998-10-20 Pavilion Technologies, Inc. Method and apparatus for determining the sensitivity of inputs to a neural network on output parameters
US5461699A (en) * 1993-10-25 1995-10-24 International Business Machines Corporation Forecasting using a neural network and a statistical forecast
EP2160901A1 (en) * 2007-06-08 2010-03-10 Thomson Licensing Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering
US8204128B2 (en) * 2007-08-01 2012-06-19 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Learning filters for enhancing the quality of block coded still and video images
JP2009111691A (ja) * 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
KR101655444B1 (ko) 2008-04-11 2016-09-22 톰슨 라이센싱 변위된 인트라 예측과 템플릿 매칭을 위한 디블록 필터링
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
JP5597968B2 (ja) 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
CN102792690B (zh) * 2010-03-09 2016-06-15 汤姆森特许公司 基于分类环路滤波器的方法和装置
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
EP2693750A4 (en) 2011-03-30 2016-09-28 Lg Electronics Inc IN-LOOP FILTER PROCESS AND DEVICE THEREFOR
US9008180B2 (en) * 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
KR101768865B1 (ko) 2014-06-19 2017-08-18 에스케이텔레콤 주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
KR102276854B1 (ko) 2014-07-31 2021-07-13 삼성전자주식회사 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US9563825B2 (en) * 2014-11-20 2017-02-07 Adobe Systems Incorporated Convolutional neural network using a binarized convolution layer
KR102276339B1 (ko) * 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
CN104811276B (zh) * 2015-05-04 2018-04-03 东南大学 一种超奈奎斯特速率通信的dl‑cnn解调器
CN105611303B (zh) * 2016-03-07 2019-04-09 京东方科技集团股份有限公司 图像压缩系统、解压缩系统、训练方法和装置、显示装置
WO2018053340A1 (en) * 2016-09-15 2018-03-22 Twitter, Inc. Super resolution using a generative adversarial network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006484A1 (en) * 2019-07-05 2021-01-14 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
US11495037B2 (en) 2019-07-05 2022-11-08 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
WO2023022376A1 (ko) * 2021-08-17 2023-02-23 현대자동차주식회사 개선된 인루프 필터를 이용하는 비디오 코딩방법 및 장치

Also Published As

Publication number Publication date
US20210344916A1 (en) 2021-11-04
JP6761490B2 (ja) 2020-09-23
CN109644268B (zh) 2022-03-08
US20230134212A1 (en) 2023-05-04
US20190230354A1 (en) 2019-07-25
US11627316B2 (en) 2023-04-11
CN109644268A (zh) 2019-04-16
JP2019525544A (ja) 2019-09-05
KR20180001428A (ko) 2018-01-04
US11095887B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
KR101974261B1 (ko) Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
KR20200026863A (ko) 인트라 예측 방법 및 그 장치
KR101830352B1 (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
JP2022521515A (ja) 交差成分フィルタリングのための方法、装置、およびプログラム
JP7343669B2 (ja) Vvcにおける色変換のための方法及び機器
KR20090097688A (ko) 영상의 인트라 예측 부호화/복호화 방법 및 장치
US11902545B2 (en) Color transform for video coding
JP7434588B2 (ja) ビデオ・フィルタリングのための方法および装置
KR20150047379A (ko) 비디오 인코딩 장치 그리고 이의 구동 방법
KR102647645B1 (ko) 비디오 코딩을 위한 방법 및 장치
CN116349225A (zh) 用于逐块图像压缩中的去块的内容自适应在线训练方法和装置
JP2023513772A (ja) ビデオコーディングのための方法、装置およびコンピュータプログラム
WO2022072062A1 (en) Method and apparatus for video coding
WO2012081895A1 (ko) 인트라 예측 방법 및 그 장치
EP4042700A1 (en) Method and apparatus for video coding
JP7408834B2 (ja) ビデオフィルタリングのための方法および装置
KR102017027B1 (ko) 고속 영상 부호화 방법 및 장치
JP2023550139A (ja) イントラモード符号化のためのハードウェアフレンドリーな設計
KR20230003566A (ko) 포스트 필터링에 의한 신경 이미지 압축에서의 블록별 컨텐츠-적응적 온라인 훈련
EP4229867A1 (en) Modification on fusion of intra prediction
JP2024510433A (ja) ビデオ圧縮のための時間的構造ベースの条件付き畳み込みニューラルネットワーク
WO2016068630A1 (ko) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치

Legal Events

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