KR101974261B1 - 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 - Google Patents
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 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
CNN 기반 인루프 필터를 포함하는 부호화 장치 및 복호화 장치가 개시된다. 일 실시예에 따른 부호화 장치는 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보를 생성하는 필터링부와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 원본 영상과 복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터와, 및 상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부를 포함한다.A coding apparatus and a decoding apparatus including a CNN-based in-loop filter are disclosed. The encoding apparatus includes a filtering unit that generates filtering information by filtering a residual image corresponding to a difference between an original image and a predictive image, an inverse filtering unit that generates inverse filtering information by inverse filtering the filtering information, A CNN-based in-loop filter for receiving the inverse filtered information and the predicted image and outputting the reconstructed information, And an encoding unit that performs encoding based on the information of the predictive image.
Description
아래 실시예들은 CNN 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치에 관한 것이다.The following embodiments relate to an encoding method, an apparatus, a decoding method, and an apparatus including a CNN-based in-loop filter.
종래에는 인루프 필터링은 양자화에 의해 인접 부호화 블록간 화소 값의 차이로 인해 발생하는 블록 경계가 시각적으로 매우 거슬리는 것을 완화하기 위해 블록 경계를 따라 블록 부화화 타입, 블록 경계 화소 강도, 움직임 정보, 양자화후 잔치 신호 존재 정보 등을 이용하여 인접 부호화 블록의 경계를 화소 간의 차이를 완화하는 방법을 이용하였다. 이때, 비록 고정된 필터 계수를 사용함으로써 계수를 전송하지 않았으나 부호화 블록의 경계에 대해 화질 열화를 완화하는 데만 효과적이다.Conventionally, in order to mitigate the visual disturbance of a block boundary caused by a difference in pixel values between adjacent encoding blocks by quantization, in the conventional art, in order to mitigate the visual disturbance of a block boundary, a block encapsulation type, a block boundary pixel strength, a motion information, And the presence information of post-feasibility signals are used to mitigate the difference between adjacent pixels of the adjacent encoded blocks. At this time, although the coefficient is not transmitted by using the fixed filter coefficient, it is only effective to alleviate the image quality deterioration with respect to the boundary of the encoding block.
최근 HEVC(High Efficiency Video Coding) 표준에는 부호화 블록 경계에 대해 블록 경계 왜곡 완화 필터링(de-blocking filtering)을 적용하는 것뿐만 아니라, 추가적으로 양자화로 인한 영상 에지에 수직 방향으로 발생하는 너울성 왜곡(ringing artefact) 및 밝기차 왜곡을 줄이기 위한 샘플 적응형 오프셋(Sample Adaptive Offset) 필터링을 2차 인루프 필터링으로 사용하고 있다. 이 경우, 고주파 흐려짐 블러 왜곡(blurring artefact)을 제대로 개선하지 못할 뿐만 아니라, 샘플 오프셋 및 에지 방향 타입 등을 디코더로 전송해야 하므로 부호화 효율을 향상 시키는데 있어서 한계가 있다.Recently, the HEVC (High Efficiency Video Coding) standard has been applied not only to block edge distortion de-blocking filtering on a coding block boundary, but also to a ringing distortion artefact) and sample adaptive offset filtering to reduce brightness difference distortion are used as second in-loop filtering. In this case, not only can blurring artefact of high frequency blurring be improved properly, but also a sample offset and an edge direction type must be transmitted to the decoder, which has a limitation in improving the coding efficiency.
실시예들은 양자화로 인한 블록 경계 왜곡, 너울성 왜곡, 및 고주파 흐려짐 블러 왜곡(blurring artefact) 등을 인루프 필터링을 통해 제거하는 기술을 제공할 수 있다.Embodiments can provide a technique for removing block boundary distortion, waviness distortion, and high frequency blurring artefact due to quantization through in-loop filtering.
또한, 실시예들은 부호화 장치 및 복호화 장치에 훈련된 CNN 기반 인루프 필터를 사용하여 인루프 필터 계수를 전송하지 않으면서 화질을 개선하는 기술을 제공할 수 있다.In addition, embodiments can provide a technology for improving image quality without transmitting in-loop filter coefficients using a CNN-based in-loop filter trained in an encoder and a decoder.
또한, 실시예들은 부호화 장치 및 복호화 장치가 훈련된 CNN 기반 인루프 필터를 사용하여 화질이 개선된 프레임을 참조 프레임으로 사용하여 부호화 효율 또는 복호화 효율을 크게 향상시키는 기술을 제공할 수 있다.In addition, embodiments can provide a technique of greatly improving the coding efficiency or decoding efficiency by using a frame having improved picture quality as a reference frame by using a CNN-based loop filter which is trained by a coding apparatus and a decoding apparatus.
또한, 실시예들은 슬라이스 타입 별로 인루프 필터링을 적용하는 기술을 제공할 수 있다.Embodiments may also provide techniques for applying in-loop filtering on a slice type basis.
또한, 실시예들은 부호화 블록 별로 인루프 필터링을 적용하는 기술을 제공할 수 있다.In addition, embodiments can provide a technique of applying in-loop filtering on a per-encoding-block basis.
또한, 실시예들은 지정된 영상의 영역 별로 인루프 필터링 적용하는 기술을 제공할 수 있다.In addition, embodiments may provide a technique of performing in-loop filtering on a region of a designated image.
일 실시예에 따른 CNN 기반 인루프 필터 학습 방법은, 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보(filtering information)를 생성하는 단계와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보(inverse filtering information)를 생성하는 단계와, 상기 역필터링 정보를 CNN 기반 인루프 필터(CNN based in-loop filter)에 입력함으로써 복원 정보를 생성하는 단계와, 상기 복원 정보와 상기 원본 영상에 기반한 원본 정보의 차이를 계산하는 단계와, 및 상기 차이에 기초하여 상기 CNN 기반 인루프 필터의 가중치(weight)를 보정하는 단계를 포함하고, 상기 예측 영상은 상기 원본 영상과 상기 복원 정보에 기초하여 생성된다.A CNN-based in-loop filter learning method according to an exemplary embodiment includes generating filtering information by filtering a residual image corresponding to a difference between an original image and a predictive image, Generating inverse filtering information, generating reconstruction information by inputting the inverse filtering information to a CNN based in-loop filter, Based in-loop filter based on the difference, and correcting a weight of the CNN-based in-loop filter based on the difference, wherein the predicted image is based on the original image and the reconstruction information .
상기 필터링 정보를 생성하는 단계는, 상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하는 단계를 포함하고, 상기 역필터링 정보를 생성하는 단계는, 상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는 단계를 포함할 수 있다.The generating of the filtering information may include generating filtering information by transforming and quantizing the residual image, and the step of generating the inverse filtering information may include generating inverse filtering information by inversely quantizing and inversely transforming the filtering information, And a step of generating the data.
상기 필터링 정보를 생성하는 단계는, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 양자화 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.The step of generating the filtering information may include filtering the residual image based on a quantization interval according to a quantization parameter, and the correcting may include correcting a weight for the quantization interval .
상기 필터링 정보를 생성하는 단계는, 왜곡값에 따른 왜곡값 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 왜곡값 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.Wherein the step of generating the filtering information includes filtering the residual image based on a distortion value interval according to the distortion value, and the correcting step includes a step of correcting a weight for the distortion value interval .
상기 필터링 정보를 생성하는 단계는, 영상 특성의 텍스처 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 텍스처 복잡도 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.The generating of the filtering information may include filtering the residual image based on a texture complexity interval of the image characteristic, and the correcting may include correcting a weight for the texture complexity interval. have.
상기 필터링 정보를 생성하는 단계는, 영상 특성의 움직임 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계를 포함하고, 상기 보정하는 단계는, 상기 움직임 복잡도 구간에 대한 가중치를 보정하는 단계를 포함할 수 있다.Wherein generating the filtering information comprises filtering the residual image based on a motion complexity interval of an image characteristic and the correcting step may include correcting a weight for the motion complexity interval have.
상기 복원 정보를 생성하는 단계는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계를 포함하고, 상기 복원 정보는, 상기 원본 영상과 같은 형식일 수 있다.Wherein the step of generating the reconstruction information includes generating reconstruction information by inputting the inverse filtering information and the prediction information based on the predicted image into the CNN based in-loop filter, It can be the same format.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는, 상기 예측 정보에 인루프 필터링을 수행하는 단계를 포함할 수 있다.The step of generating reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN based in-loop filter may include performing in-loop filtering on the prediction information.
상기 복원 정보를 생성하는 단계는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계를 포함하고, 상기 복원 정보는, 상기 잔차 영상과 같은 형식일 수 있다.The generating of the reconstruction information may include generating reconstruction information by inputting the inverse filtering information and the prediction information based on the predictive image into the CNN based in-loop filter, It can be the same format.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는, 상기 예측 정보에 인루프 필터링을 수행하는 단계를 포함할 수 있다.The step of generating reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN based in-loop filter may include performing in-loop filtering on the prediction information.
일 실시예에 따른 부호화 장치는 원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보를 생성하는 필터링부와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 원본 영상과 복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부(estimator)와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터와, 상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부(encoder)를 포함한다.The encoding apparatus includes a filtering unit that generates filtering information by filtering a residual image corresponding to a difference between an original image and a predictive image, an inverse filtering unit that generates inverse filtering information by inverse filtering the filtering information, A CNN-based in-loop filter for receiving the inverse filtering information and the predicted image and outputting the reconstructed information, And an encoder that performs encoding based on the prediction image information.
상기 필터링부는, 상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하고, 상기 역필터링부는, 상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성할 수 있다.The filtering unit generates filtering information by transforming and quantizing the residual image, and the inverse filtering unit may generate inverse filtering information by inverse-quantizing and inverse-transforming the filtering information.
상기 복원 정보는, 상기 원본 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.The restoration information is in the same format as the original image, and the CNN-based in-loop filter can generate reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-based in-loop filter .
상기 장치는 상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.The apparatus may further comprise an in-loop filter for performing in-loop filtering on the prediction information.
상기 인루프 필터는, 디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나를 포함할 수 있다.The in-loop filter includes at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO), and an adaptive loop filter (ALF) can do.
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.The reconstruction information is in the same format as the residual image, and the CNN-based in-loop filter can generate reconstruction information by inputting the inverse filtering information and prediction information based on the prediction image to the CNN-based in-loop filter .
상기 장치는, 상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.The apparatus may further comprise an in-loop filter for performing in-loop filtering on the prediction information.
상기 장치는, 상기 복원 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.The apparatus may further include an in-loop filter for performing in-loop filtering on the reconstruction information.
일 실시예에 따른 복호화 장치는, 필터링 정보에 복호화를 수행하여 필터링 정보와 예비 예측 정보를 출력하는 엔트로피 복호화부(entropy decoder)와, 상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부와, 상기 예비 예측 정보에 기초하여 예측 영상을 생성하는 예측부와, 상기 역필터링 정보와 상기 예측 영상을 입력 받아 복원 정보를 출력하는 CNN 기반 인루프 필터를 포함한다.The decoding apparatus according to an embodiment includes an entropy decoder for decoding filtering information and outputting filtering information and preliminary prediction information, an inverse filtering unit for generating inverse filtering information by inverse filtering the filtering information, And a CNN-based in-loop filter for receiving the inverse filtering information and the prediction image and outputting reconstruction information.
상기 복원 정보는, 상기 원본 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.The restoration information is in the same format as the original image, and the CNN-based in-loop filter can generate reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-based in-loop filter .
상기 장치는, 상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.The apparatus may further comprise an in-loop filter for performing in-loop filtering on the inverse filtering information.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter may include at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF).
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성할 수 있다.The reconstruction information is in the same format as the residual image, and the CNN-based in-loop filter can generate reconstruction information by inputting the inverse filtering information and prediction information based on the prediction image to the CNN-based in-loop filter .
상기 장치는, 상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기를 더 포함할 수 있다.The apparatus may further comprise an adder for adding the reconstruction information and the prediction image to generate final reconstruction information.
상기 장치는, 상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.The apparatus may further comprise an in-loop filter for performing in-loop filtering on the inverse filtering information.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter may include at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF).
상기 복원 정보는, 상기 잔차 영상과 같은 형식이고, 상기 CNN 기반 인루프 필터는, 상기 역필터링 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 잔차 복원 정보를 생성할 수 있다.The reconstruction information is in the same format as the residual image, and the CNN-based in-loop filter can generate the residual reconstruction information by inputting the inverse filtering information into the CNN-based in-loop filter.
상기 장치는, 상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기를 더 포함할 수 있다.The apparatus may further include an adder for adding the residual reconstruction information and the prediction image to generate final reconstruction information.
상기 최종 복원 정보에 인루프 필터링을 수행하는 인루프 필터를 더 포함할 수 있다.And an in-loop filter for performing in-loop filtering on the final reconstruction information.
상기 인루프 필터는, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter may include at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop 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 is a view for explaining an example of a system using an encoding apparatus and / or a decoding apparatus.
FIG. 2A shows an example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
2B shows an example of a block diagram of the prediction unit shown in FIG.
FIG. 3 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 4 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 5 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 6 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 7 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 8A shows an example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
8B shows an example of a block diagram of the prediction unit shown in FIG. 8A.
9 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 10 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
11 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
12 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 13 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
FIG. 14 is a diagram for explaining the structure of a CNN-based in-loop filter according to an embodiment.
FIG. 15 is a diagram for explaining a training method for each section of a CNN-based in-loop filter according to an exemplary embodiment.
16 is another example of a diagram for explaining a training method for each section of a CNN-based in-loop filter according to an embodiment.
17 is an example of a diagram for explaining a training method of a CNN-based in-loop filter according to an embodiment.
18 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
19 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
20 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
21 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
도 1은 부호화 장치 및/또는 복호화 장치를 이용하는 시스템의 일 예를 설명하기 위한 도면이다.1 is a view for explaining an example of a system using an encoding apparatus and / or a decoding apparatus.
도 1을 참조하면, 부호화 장치 및/또는 복호화 장치를 이용하는 시스템(10)은 사용자 단말기(11)와 서버 단말기(12)를 포함할 수 있다. 사용자 단말기(11)는 전자 장치(electronic device)를 포함할 수 있다. 전자 장치는 개인용 컴퓨터(personal computer(PC)), 데이터 서버, 텔레비전(TV), 또는 휴대용 장치로 구현될 수 있다.Referring to FIG. 1, a
휴대용 장치는 랩탑(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)로 구현될 수 있다.Portable devices include laptop computers, mobile phones, smart phones, tablet PCs, mobile internet devices (MIDs), personal digital assistants (PDAs), enterprise digital assistants (EDAs) A digital still camera, a digital video camera, a portable multimedia player (PMP), a playstation portable (PSP), a personal navigation or portable navigation device (PND), a handheld game console ), A wireless communication terminal, an e-book, or a smart device.
서버 단말기(12)는 응용 서버, 또는 서비스 서버 등을 포함할 수 있다.The server terminal 12 may include an application server, a service server, or the like.
사용자 단말기(11)와 서버 단말기(12)는 각종 기기 또는 유무선 통신망(network)과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 및 복호화를 위해 화면 간(inter) 또는 화면 내(intra) 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(18), 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(14) 등을 구비하는 다양한 장치를 포함할 수 있다.The
또한, 사용자 단말기(11)와 서버 단말기(12)는 부호화 장치에 의해 비트스트림(bitstream)으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 사용자 단말기(11)와 서버 단말기(12)는 실시간 또는 비실시간으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다.Also, the
사용자 단말기(11)와 서버 단말기(12)는 유무선 통신망 또는 다양한 통신 인터페이스를 통해 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 유무선 통신망은 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 또는 이동통신망 등일 수 있다. 통신 인터페이스는 케이블, 또는 범용 직렬 버스(Universal Serial Bus(USB))등을 포함할 수 있다.The
또한, 부호화 장치에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 부호화 장치에서 복호화 장치로 전달될 수도 있다.In addition, an image encoded by a bit stream by an encoding apparatus may be transferred from a coding apparatus to a decoding apparatus via a computer-readable recording medium.
복호화 장치는 부호화된 영상을 복호화하여 복원된 영상을 재생할 수 있다.The decoding apparatus can decode the encoded image and reproduce the reconstructed image.
부호화 장치와 복호화 장치는 각각 별도의 장치들일 수 있으나, 구현에 따라서 하나의 부호화 및 복호화 장치로 만들어질 수 있다. 하나의 부호화 및 복호화 장치의 경우, 부호화 장치의 예측부, 역양자화부, 역변환부, 가산부, 필터부 및 DPB는 기재된 순서대로 복호화 장치의 예측부, 역양자화부, 역변환부, 가산부, 필터부 및 DPB와 실질적으로 동일한 기술요소로서 적어도 동일한 구조를 포함하거나 적어도 동일한 기능을 수행하도록 구현될 수 있다. 또한, 엔트로부 부호화부는 그 기능을 역으로 수행할 때, 엔트로피 복호화부에 대응될 수 있다.The encoding apparatus and the decoding apparatus may be separate apparatuses, but may be made into one encoding and decoding apparatus according to an implementation. In the case of one encoding and decoding apparatus, the predicting unit, the inverse quantizing unit, the inverse transforming unit, the adding unit, the filter unit, and the DPB of the encoding device are arranged in the order described in the predicting unit, dequantization unit, inverse transform unit, And at least the same structure as the DPB and substantially the same technical element as the DPB. The entropy coding unit may correspond to the entropy decoding unit when performing its function inversely.
따라서 이하의 기술요소들과 이들의 작동 원리 등에 대한 상세 설명에서는 대응 기술요소들의 중복되는 설명을 생략하기로 한다.Therefore, a detailed description of the following technical elements and their operating principles will not be repeated.
또한, 복호화 장치는 부호화 장치에서 수행되는 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응하므로, 이하의 설명에서는 부호화 장치를 중심으로 설명하기로 한다. 부호화 장치는 부호화기로, 복호화 장치는 복호화기로 각각 지칭될 수 있다.Further, the decoding apparatus corresponds to a computing apparatus that applies the encoding method performed in the encoding apparatus to decode, and therefore, the following description will focus on the encoding apparatus. The encoding apparatus may be referred to as an encoder, and the decoding apparatus may be referred to as a decoder.
도 2a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 일 예를 나타내고, 도 2b는 도 1에 도시된 예측부의 블록도의 일 예를 나타낸다.FIG. 2A shows an example of a block diagram of a coding apparatus including a CNN-based in-loop filter according to an embodiment, and FIG. 2B shows an example of a block diagram of the prediction unit shown in FIG.
도 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)를 포함한다.2A and 2B, an
부호화 장치(100)는 입력 영상(input image; 110) 또는 입력 슬라이스(input slice; 110)에 부호화(인코딩(encoding))을 수행할 수 있다. 예를 들어, 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할한 복수 개의 픽셀 블록(f)에 부호화를 수행할 수 있다. 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할하는 분할부(미도시)를 더 포함할 수 있다. 분할부(미도시)는 입력 영상(110) 또는 입력 슬라이스(110)를 정해진 크기(M x N)의 블록으로 분할할 수 있다. 이때, M 또는 N은 1 이상의 자연수일 수 있다.The
분할부(미도시)는 입력 영상(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 등일 수 있다.The division unit (not shown) may determine the size (M x N) of the block based on the characteristics, resolution, or the like of the
가산기는 픽셀 블록(f) 및 예측 블록()에 기초하여 잔차 블록(e)을 생성할 수 있다. 예를 들어, 잔차 블록(e)은 픽셀 블록(f) 및 예측 블록()의 차이에 해당하는 블록일 수 있다. 예측 블록()은 예측부(170)가 픽셀 블록(f)에 대하여 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 등을 사용하여 생성한 블록일 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및 양자화를 수행할 수 있다. 변환 및 양자화부(120)가 픽셀 블록(f) 대신 잔차 블록(e)에 대하여 변환 및 양자화를 수행함으로써 부호화 효율을 증가시킬 수 있다.The adder includes a pixel block ( f ) and a prediction block ( E ) < / RTI > For example, the residual block ( e ) includes a pixel block ( f ) and a prediction block ), ≪ / RTI > Prediction block ( May be a block generated by the
변환 및 양자화부(120)는 잔차 블록(e)에 필터링을 수행하여 필터링 정보(filtering information; )를 생성할 수 있다. 예를 들어, 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및/또는 양자화를 수행할 수 있다.The transforming and
변환 및 양자화부(120)는 잔차 블록(e)을 주파수 영역(frequency domain)으로 변환할 수 있다. 잔차 블록(e)의 각 화소는 변환된 잔차 블록의 변환 계수에 대응할 수 있다.The transform and
변환 및 양자화부(120)는 변환 매트릭스를 사용하여 잔차 블록(e)을 변환될 수 있다. 변환 매트릭스는 1 차원, 2 차원, 또는 3 차원의 변환 매트릭스일 수 있다. 예를 들어, 변환 및 양자화부(120)는 이산 코사인 변환(discrete cosine transform(DCT)), 이산 사인 변환(discrete cosine transform(DST)), 수평, 수직 단위 등으로 변환 매트릭스를 사용할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)의 크기, 형태, 종류(휘도/색차), 부호화 모드, 예측 모드 정보, 양자화 파라미터, 또는 이웃 블록의 부호화 정보 등에 기초하여 변환 매트릭스의 사용 여부를 결정할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)을 변환하여 변환 블록(E)을 생성할 수 있다.The transform and
변환 및 양자화부(120)는 변환 블록(E)에 양자화를 수행하여 양자화된 잔차()를 출력할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 변환 계수에 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 양자화 파라미터(quantization parameter(QP))에 따른 양자화 구간, 영상 신호의 특성에 따른 왜곡값 구간, 영상 신호 특성에 따른 텍스처 복잡도 구간, 및 영상 신호 특성에 따른 움직임 복잡도 구간 중 적어도 하나 이상에 기초하여 잔차 영상(e)에 필터링을 수행할 수 있다. 영상 신호는 잔차 블록(e)을 포함할 수 있다.The transform and
변환 및 양자화부(120)는 양자화 파라미터(QP)에 기초하여 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 블록 단위로 양자화 파라미터를 결정할 수 있다. 양자화 파라미터는 시퀀스(sequence), 픽쳐(picture), 슬라이스(slice), 또는 블록(block) 등의 단위로 설정될 수 있다.The transform and
변환 및 양자화부(120)는 변환 블록(E)의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 적어도 하나의 양자화 파라미터를 사용하여 변환 블록(E)의 양자화 파라미터를 예측할 수 있다. 예를 들어, 변환 및 양자화부(120)는 변환 블록(E)의 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위, 오른쪽 아래, 아래 등의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 예측한 양자화 파라미터와 이웃 블록으로부터 유도한 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.The transform and
변환 및 양자화부(120)가 변환 블록(E)의 이웃 블록으로부터 양자화 파라미터를 유도할 수 없는 경우, 변환 및 양자화부(120)는 시퀀스, 픽쳐, 슬라이스, 또는 블록 등의 단위로 전송된 기본 파라미터에 기초하여 양자화 파라미터를 설정할 수 있다. 변환 및 양자화부(120)는 기본 파라미터와 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.When the transform and
변환 및 양자화부(120)는 양자화된 잔차 변환()을 엔트로피 부호화부(130) 및/또는 역양자화 및 역변환부(140)로 전송할 수 있다.The transform and
엔트로피 부호화부(130)는 예측 블록() 및/또는 양자화된 잔차 변환()에 엔트로피 부호화를 수행할 수 있다. 예를 들어, 엔트로피 부호화부(130)는 컨텍스트 적응 가변 길이 코딩(CAVLC), 컨텍스트 적응 2진 산술 코딩(CABAC), 또는 구문 기반 컨텍스트 적응 2진 산술 코딩(SBAC) 등의 부호화 방식을 사용하여 엔트로피 부호화를 수행할 수 있다.The
엔트로피 부호화부(130)는 엔트로피 부호화를 수행하여 부호화 데이터를 비트스트림으로 출력할 수 있다. 부호화 데이터는 양자화 파라미터를 부호화한 비트스트림과 부호화된 비트스트림을 복호화하는데 필요한 다양한 정보들을 포함할 수 있다. 또한, 부호화 데이터는 부호화된 블록 형태, 양자화 파라미터, 양자화 블록이 부호화된 비트스트림, 및 예측에 필요한 정보 등을 포함할 수 있다.The
역양자화 및 역변환부(140)는 필터링 정보()에 역필터링을 수행하여 역필터링 정보(inverse filtering information; )를 생성할 수 있다. 역필터링 정보()는 복원 잔차 블록()을 의미할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환()에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록()을 생성할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 동작을 역으로 수행할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환()에 역양자화를 수행하고, 역변환을 수행할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 변환 구조 및 양자화 구조를 반대로 구성할 수 있다.The inverse quantization and
도 1에서는 설명의 편의상 변환 및 양자화부(120)가 변환 및 양자화를 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 잔차 블록(e)을 변환하는 변환부와, 잔차 블록(e)을 양자화하는 양자화부로 각각 구현될 수 있다.And a converting unit that is also in the convenience transformation and
또한, 역양자화 및 역변환부(140)가 역양자화 및 역변환을 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 양자화된 잔차 변환()을 역양자화하는 역양자화부와, 양자화된 잔차 변환()을 역변환하는 역변환부로 각각 구현될 수 있다.Also, although the inverse quantization and
가산기는 예측 블록() 및 복원 잔차 블록()에 기초하여 예비 복원(preliminary reconstruction) 블록()을 생성할 수 있다. 예비 복원 블록()은 예측 블록() 및 복원 잔차 블록()을 가산한 블록일 수 있다.The adder includes a prediction block ) And restoration residual block ( A preliminary reconstruction block < RTI ID = 0.0 > Can be generated. Preliminary restoration block ( ) ≪ / RTI > ) And restoration residual block ( ) May be added.
CNN 기반 인루프 필터(150a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(), 2차 예비 복원 블록(), 또는 복원 잔차 블록() 등일 수 있다. 복원 정보는 복원정보는 복원 블록(), 2차 복원 잔차 블록( 또는 ), 최종 복원 블록()등일 수 있다. 도 2a 및 도 2b에서는 CNN 기반 인루프 필터(150a)가 예비 복원 블록()에 인루프 필터링을 수행하여 복원 블록()을 생성하는 동작에 대해 설명한다.The CNN-based in-
CNN 기반 인루프 필터(150a)가 2차 예측 블록(예비 복원 블록())에 인루프 필터링을 수행하여 복원 블록()을 생성할 수 있다. 예비 복원 블록()은 복원 잔차 블록()과 예측 블록()을 더한 블록일 수 있다. 복원 블록()은 예측 블록(), 또는 예비 복원 블록()보다 화질이 향상된 블록일 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150a)는 심층 콘볼루션 뉴럴 네트워크(deep convolutional neural network)를 사용할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(150a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150a)는 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함할 수 있다. 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)는 각각 복수의 노드들을 포함할 수 있다.The CNN-based in-
인접한 레이어 사이의 노드들은 연결 가중치를 가지고 서로 연결될 수 있다. 각 노드들은 활성화 모델에 기초하여 동작할 수 있다. 활성화 모델에 따라 입력 값에 대응하는 출력 값이 결정될 수 있다. 임의의 노드의 출력 값은 해당 노드와 연결된 다음 레이어의 노드로 입력될 수 있다. 다음 레이어의 노드는 복수의 노드들로부터 출력되는 값들을 입력 받을 수 있다. 임의의 노드의 출력 값이 다음 레이어의 노드로 입력되는 과정에서, 연결 가중치가 적용될 수 있다. 다음 레이어의 노드는 활성화 모델에 기초하여 입력 값에 대응하는 출력 값을 해당 노드와 연결된 그 다음 레이어의 노드로 출력할 수 있다.Nodes between adjacent layers can be linked together with connection weights. Each node may operate based on an activation model. The output value corresponding to the input value can be determined according to the activation model. The output value of an arbitrary node can be input to the node of the next layer connected to that node. A node of the next layer can receive values output from a plurality of nodes. In the process of inputting the output value of an arbitrary node to the node of the next layer, a connection weight can be applied. The node of the next layer can output the output value corresponding to the input value to the node of the next layer connected to the node based on the activation model.
출력 레이어는 인루프 필터링에 대응하는 노드들을 포함할 수 있다. 출력 레이어의 노드들은 인루프 필터링을 수행한 영상(또는 블록)에 대응하는 특징 값들을 출력할 수 있다.The output layer may include nodes corresponding to in-loop filtering. The nodes of the output layer can output the feature values corresponding to the image (or block) subjected to the in-loop filtering.
CNN 기반 인루프 필터(150a)는 예비 복원 블록()에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 부호화 장치(100)는 필터링 결과 생성된 복원 블록()을 부호화함으로써 부호화 효율과 복잡도를 개선할 수 있다.The CNN based in-
CNN 기반 인루프 필터(150a)는 예비 복원 블록()에 필터링을 수행하여 복원 블록()을 생성할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 예비 복원 블록()에 기초하여 복원 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150a)는 예비 복원 블록() 및 픽셀 블록(f)에 기초하여 복원 블록()을 생성하도록 학습할 수 있다.The CNN based in-
CNN 기반 인루프 필터(150a)는 복원 블록()을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.The configuration and training method of the CNN-based in-
복호화 픽쳐 버퍼(160)는 복원 블록()을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이(display)할 수 있다.The decoded
복호화 픽쳐 버퍼(160)가 복원 블록()을 저장하는 경우, 복호화 픽쳐 버퍼(160)는 예측부(170)가 예측 블록()을 생성할 때, 복원 블록()이 사용되도록 전송할 수 있다. 예를 들어, 예측부(170)는 이후의 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 동작 과정에서 복원 블록()이 사용하여 예측 블록()을 생성할 수 있다.When the decoded
예측부(170)는 픽셀 블록(f) 및 복원 블록()에 기초하여 예측 블록()을 생성할 수 있다. 복원 블록()과 픽셀 블록(f)은 시간 차이가 있을 수 있다. 예를 들어, 복원 블록()은 픽셀 블록(f)보다 먼저 생성된 블록일 수 있다.The
예측부(170)는 픽셀 블록(f) 및 복원 블록()에 기초하여 예측 블록()의 정보를 생성할 수 있다. 예를 들어, 예측 블록()의 정보는 화면 내 예측 모드, 화면 간 움직임 예측 모드, 움직임 블록 타입, 및 움직임 벡터 중 적어도 하나를 포함할 수 있다.The
예측부(170)는 프레임 내 추정부(171), 움직임 추정부(172), 프레임 내 예측부(173), 움직임 보상부(174), 모드 결정부(175), 및 예측 영상 생성부(176)을 포함할 수 있다.The
프레임 내 추정부(171) 및 움직임 추정부(172)는 입력 영상(110) 및 (복호화 픽쳐 버퍼(160)로부터) 복원 블록()을 수신할 수 있다.The in-
프레임 내 추정부(171)는 입력 영상(110) 및 복원 블록()에 기초하여 인트라 모드(intra mode)를 결정할 수 있다. 프레임 내 추정부(171)는 인트라 모드를 프레임 내 예측부(173) 및 엔트로피 부호화부(130)로 전송할 수 있다.The in-
프레임 내 예측부(173)는 인트라 모드에서 입력 영상(110) 및 복원 블록()에 기초하여 화면 내 예측을 수행하고, 모드 결정부(175)로 전송할 수 있다.The
움직임 추정부(172)는 입력 영상(110) 및 복원 블록()에 기초하여 움직임 벡터들(motion vectors(MVs))을 추출할 수 있다. 움직임 추정부(172)는 움직임 벡터들을 움직임 보상부(174)로 전송할 수 있다.The
움직임 보상부(174)는 입력 영상(110) 및 복원 블록()의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 모드 결정부(175)로 전송할 수 있다.The
모드 결정부(175)는 프레임 내 예측부(173) 및 움직임 보상부(174)로부터의 데이터에 기초하여 부호화 모드를 결정할 수 있다. 예를 들어, 부호화 모드는 인트라 모드(intra mode), 인터 모드(inter mode) 등이 있을 수 있다.The
예측 영상 생성부(176)는 모드 결정부(175)가 결정한 부호화 모드에 기초하여 예측 블록()을 생성할 수 있다.The predictive
예측 영상 생성부(176)는 생성한 예측 블록()을 가산기 또는 엔트로피 부호화부(130)로 전송할 수 있다.The
도 3은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.FIG. 3 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 3을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(in-loop filter; 145), CNN 기반 인루프 필터(150b), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.3, the
도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(145) 및 CNN 기반 인루프 필터(150b)에 대해 설명한다.The transform and
인루프 필터(145)는 가산기로부터 예비 복원 블록()을 수신할 수 있다. 인루프 필터(145)는 예비 복원 블록()에 필터링을 수행하여 2차 예비 복원 블록()을 생성할 수 있다.The in-
인루프 필터(145)는 디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나를 포함할 수 있다.The in-
즉, 인루프 필터(145)가 1 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 하나의 필터로 구현될 수 있다.In other words, if the in-
인루프 필터(145)가 2 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF) 및 샘플 적응형 오프셋 필터(SAO filter)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 샘플 적응형 오프셋 필터(SAO filter) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 디블록킹 필터(DF) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.If the in-
인루프 필터(145)가 3 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.If the in-
디블록킹 필터(DF)는 예비 복원 블록()을 필터링하여 예비 복원 블록()의 경계영역에 나타나는 블록간 화소값 차이 왜곡을 완화시킬 수 있다. 블록간 화소값 차이는 양자화 과정에서 발생할 수 있다. 디블록킹 필터(DF)는 정해진 필터 계수를 필터링에 사용할 수 있다.The deblocking filter (DF) ) To filter the preliminary restoration block ( The distortion of the difference between the pixel values of the blocks appearing in the boundary region between the pixels can be mitigated. Differences in pixel values between blocks may occur during the quantization process. The deblocking filter (DF) can use a predetermined filter coefficient for filtering.
샘플 적응형 오프셋 필터(SAO filter)는 부호화 블록 단위로 너울성 왜곡(ringing artefact)이나 화소값 구간 왜곡을 수정할 수 있다. 샘플 적응형 오프셋 필터(SAO filter)는 예비 복원 블록()에 디블록킹 필터링을 수행한 결과와 픽셀 블록(f)에 대하여 차이 값을 오프셋으로 복원할 수 있다.A sample adaptive offset filter (SAO filter) can correct the ringing artefact or the pixel value interval distortion in units of a coding block. The sample adaptive offset filter (SAO filter) ) And the difference between the pixel block f and the result of the deblocking filtering can be restored to an offset.
적응형 루프 필터(ALF)는 예비 복원 블록()에 상기 샘플 적응형 오프셋 필터링된 결과에 1단 선형 매핑 모델을 사용하여 필터링을 수행할 수 있다.The adaptive loop filter (ALF) ) May perform filtering using the one-stage linear mapping model on the sample adaptive offset filtered result.
CNN 기반 인루프 필터(150b)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록()을 포함하고, 복원 정보는 최종 복원 블록()을 포함할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록()에 기초하여 최종 복원 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록() 및 픽셀 블록(f)에 기초하여 최종 복원 블록()을 생성하도록 학습할 수 있다.In other words, the CNN-based in-
CNN 기반 인루프 필터(150b)는 최종 복원 블록()을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The CNN based in-
도 4는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.FIG. 4 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 4를 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150c), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.4, the
도 4에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150c)에 대해 설명한다.The transform and
CNN 기반 인루프 필터(150c)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150c)는 가산기로부터 예비 복원 블록()을 수신할 수 있다. CNN 기반 인루프 필터(150c)는 예비 복원 블록()에 필터링을 수행하여 복원 잔차 블록()을 생성할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(150c)는 예비 복원 블록()에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150c)는 예비 복원 블록() 및 잔차 블록(e)에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(150c)는 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN-based in-
가산기는 복원 잔차 블록() 및 예측 블록()을 가산하여 복원 블록()을 생성할 수 있다. 가산기는 복원 블록()을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block ( ) And a prediction block ( ) Is added to the restoration block ( Can be generated. The adder is a reconstruction block ( May be transmitted to the decoded
도 5는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.FIG. 5 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 5를 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), CNN 기반 인루프 필터(150d), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.5, the
도 5에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150d)에 대해 설명한다.The transform and
CNN 기반 인루프 필터(150d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150d)는 인루프 필터(145)로부터 2차 예비 복원 블록()을 수신할 수 있다. CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록()에 필터링을 수행하여 복원 잔차 블록()을 생성할 수 있다. 복원 잔차 블록()은 도 4에 도시된 복원 잔차 블록()보다 0에 더 가까운 값일 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록()에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록() 및 잔차 블록(e)에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(150d)는 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN-based in-
가산기는 복원 잔차 블록()및 예측 블록()을 가산하여 최종 복원 블록()을 생성할 수 있다. 가산기는 최종 복원 블록()을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block ( ) And a prediction block ( ) Is added to the final restoration block ( Can be generated. The adder adds the final restoration block ( May be transmitted to the decoded
도 6은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.FIG. 6 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 6을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.6, the
도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150e)에 대해 설명한다.The transform and
CNN 기반 인루프 필터(150e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150e)는 역양자화 및 역변환부(140)로부터 역양자화 및 역변환된 복원 잔차 블록()을 수신할 수 있다. CNN 기반 인루프 필터(150e)는 복원 잔차 블록()에 필터링을 수행하여 복원 정보를 생성할 수 있다. 복원 정보는 2차 복원 잔차 블록()을 포함할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(150e)는 복원 잔차 블록()에 기초하여 2차 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150e)는 복원 잔차 블록() 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(150e)는 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN based in-
가산기는 복원 잔차 블록() 및 예측 블록()을 가산하여 복원 블록()을 생성할 수 있다. 가산기는 복원 블록()을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block ( ) And a prediction block ( ) Is added to the restoration block ( Can be generated. The adder is a reconstruction block ( May be transmitted to the decoded
도 7은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 부호화 장치의 블록도의 다른 예를 나타낸다.FIG. 7 shows another example of a block diagram of an encoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 7을 참조하면, 부호화 장치(100)는 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 인루프 필터(147), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기를 포함한다.7, the
도 7에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(147)에 대해 설명한다.An inverse quantization and
인루프 필터(147)는 가산기로부터 복원 블록()을 수신할 수 있다. 복원 블록()은 1차 복원 블록()일 수 있다. 인루프 필터(147)는 1차 복원 블록()에 필터링을 수행하여 최종 복원 블록()을 생성할 수 있다. 인루프 필터(147)는 최종 복원 블록()을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.The in-
인루프 필터(147)는 도 3에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-
도 8a는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 일 예를 나타내고, 도 8b는 도 8a에 도시된 예측부의 블록도의 일 예를 나타낸다.FIG. 8A shows an example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment, and FIG. 8B shows an example of a block diagram of the prediction unit shown in FIG. 8A.
도 8a 및 도 8b를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230a), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.8A and 8B, the
복호화 장치(200)는 도 2a 내지 도 7에 도시된 부호화 장치(100)에서 수행되는 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응할 수 있다. 즉, 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 2a에 도시된 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 변환 및 양자화부(120), 복호화 픽쳐 버퍼(160), 예측부(170), 및 가산기에 대응할 수 있다.The
엔트로피 복호화부(210)는 부호화된 비트스트림 정보에 파싱을 수행함으로써 복호화를 수행할 수 있다. 엔트로피 복호화부(210)는 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력할 수 있다. 엔트로피 복호화부(210)는 양자화된 잔차()를 역양자화 및 역변환부(140) 및/또는 예측부(170)로 전송할 수 있다.The
역양자화 및 역변환부(220)는 변환 및/또는 양자화된 잔차()에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록()을 생성할 수 있다. 역양자화 및 역변환부(220)는 복원 잔차 블록()을 가산기로 전송할 수 있다.The inverse quantization and
가산기는 역양자화 및 역변환부(220)로부터 복원 잔차 블록()을 수신하고, 예측부(170)로부터 예측 블록()을 수신할 수 있다. 가산기는 복원 잔차 블록() 및 예측 블록()을 가산하여 예비 복원 블록()을 생성할 수 있다. 가산기는 예비 복원 블록()을 CNN 기반 인루프 필터(230a)로 전송할 수 있다.The adder removes the restored residual block from the inverse quantization and inverse transform unit 220 ) From the
CNN 기반 인루프 필터(230a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록()을 포함하고, 복원 정보는 복원 블록()을 포함할 수 있다.The CNN-based in-
도 2a에서 상술한 바와 같이, CNN 기반 인루프 필터(230a)는 심층 콘볼루션 뉴럴 네트워크를 사용할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(230a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.As described above in FIG. 2A, the CNN-based in-
즉, CNN 기반 인루프 필터(230a)는 입력 레이어, 은닉 레이어, 및 출력 레이어를 포함할 수 있다. 입력 레이어, 은닉 레이어, 및 출력 레이어는 각각 복수의 노드들을 포함할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(230a)는 2차 예측 블록()에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 복호화 장치(200)는 필터링 결과 생성된 복원 블록()을 복호화함으로써 복호화 효율과 복잡도를 개선할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(230a)는 예비 복원 블록()에 필터링을 수행하여 복원 블록()을 생성할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 예비 복원 블록()에 기초하여 복원 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230a)는 예비 복원 블록() 및 픽셀 블록(f)에 기초하여 복원 블록()을 생성하도록 학습할 수 있다.The CNN based in-
CNN 기반 인루프 필터(230a)는 복원 블록()을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(230a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.The configuration, training method, and the like of the CNN-based in-
부호화 픽쳐 버퍼(240)는 복원 블록()을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이할 수 있다.The encoded
부호화 픽쳐 버퍼(240)가 복원 블록()을 저장하는 경우, 부호화 픽쳐 버퍼(240)는 예측부(250)가 예측 블록()을 생성할 때, 복원 블록()이 사용되도록 전송할 수 있다. 예를 들어, 예측부(250)는 이후의 화면 내 예측 또는 화면 간 예측 동작 과정에서 복원 블록()이 사용하여 예측 블록()을 생성할 수 있다.When the
예측부(250)는 복원 블록()에 기초하여 예측 블록()을 생성할 수 있다. 예측부(250)는 프레임 내 예측부(251), 움직임 보상부(252), 및 예측 영상 생성부(253)을 포함할 수 있다.The predicting
프레임 내 예측부(251) 및 움직임 보상부(252)는 부호화 픽쳐 버퍼(240)로부터 복원 블록()을, 엔트로피 복호화부(210)로부터 양자화된 잔차()를 수신할 수 있다.The
프레임 내 예측부(251)는 인트라 모드에서 양자화된 잔차() 및 복원 블록()에 기초하여 화면 내 예측을 수행하고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.The
움직임 보상부(252)는 양자화된 잔차() 및 복원 블록()의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.The
예측 영상 생성부(253)는 프레임 내 예측부(251) 및 움직임 보상부(252)의 결과값에 기초하여 예측 블록()을 생성할 수 있다. 예측 영상 생성부(253)는 생성한 예측 블록()을 가산기로 전송할 수 있다.The predictive
도 9는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.9 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 9를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230b), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.9, the
도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(225) 및 CNN 기반 인루프 필터(230b)에 대하여 설명한다.The
인루프 필터(225)는 가산기로부터 예비 복원 블록()을 수신할 수 있다. 인루프 필터(225)는 예비 복원 블록()에 필터링을 수행하여 2차 예비 복원 블록()을 생성할 수 있다. 인루프 필터(225)는 2차 예비 복원 블록()을 CNN 기반 인루프 필터(230b)로 전송할 수 있다.The in-
인루프 필터(225)는 상술한 바와 같이 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-
CNN 기반 인루프 필터(230b)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록()을 포함하고, 복워 정보는 최종 복원 블록()을 포함할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록()에 기초하여 최종 복원 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록() 및 픽셀 블록(f)에 기초하여 최종 복원 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(230b)는 최종 복원 블록()을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The CNN-based in-
도 10은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.FIG. 10 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 10을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230c), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기를 포함한다.10, the
도 10에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230c)에 대해서 설명한다.The
CNN 기반 인루프 필터(230c)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록()을 포함하고, 복원 정보는 복원 잔차 블록()을 포함할 수 있다. CNN 기반 인루프 필터(230c)는 가산기로부터 예비 복원 블록()을 수신할 수 있다. CNN 기반 인루프 필터(230c)는 예비 복원 블록()에 필터링을 수행하여 복원 잔차 블록()을 생성할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(230c)는 예비 복원 블록()에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230c)는 예비 복원 블록() 및 잔차 블록(e)에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(230c)는 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN-based in-
가산기는 복원 잔차 블록() 및 예측 블록()을 가산하여 복원 블록()을 생성할 수 있다. 가산기는 복원 블록()을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder computes the restoration residual block ( ) And a prediction block ( ) Is added to the restoration block ( Can be generated. The adder is a reconstruction block ( ) To the
도 11은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.11 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 11을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230d), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기를 포함한다.11, the
도 11에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230d), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230d)에 대하여 설명한다.The inverse quantization and
CNN 기반 인루프 필터(230d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록()을 포함하고, 복원 정보는 복원 잔차 블록()을 포함할 수 있다. CNN 기반 인루프 필터(230d)는 인루프 필터(225)로부터 2차 예비 복원 블록()을 수신할 수 있다. CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록()에 필터링을 수행하여 복원 잔차 블록()을 생성할 수 있다. 복원 잔차 블록()은 도 10에 도시된 복원 잔차 블록()보다 0에 더 가까운 값일 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록()에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록() 및 잔차 블록(e)에 기초하여 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(230d)는 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN-based in-
가산기는 복원 잔차 블록()및 예측 블록()을 가산하여 최종 복원 블록()을 생성할 수 있다. 가산기는 최종 복원 블록()을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder computes the restoration residual block ( ) And a prediction block ( ) Is added to the final restoration block ( Can be generated. The adder adds the final restoration block ( ) To the
도 12는 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.12 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 12를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.12, the
도 12에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230e)에 대해서 설명한다.The
CNN 기반 인루프 필터(230e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예측 잔차 블록()을 포함하고, 복원 정보는 2차 복원 잔차 블록()을 포함할 수 있다. CNN 기반 인루프 필터(230e)는 역양자화 및 역변환부(220)로부터 역양자화 및 역변환된 복원 잔차 블록()을 수신할 수 있다. CNN 기반 인루프 필터(230e)는 복원 잔차 블록()에 필터링을 수행하여 2차 복원 잔차 블록()을 생성할 수 있다.The CNN-based in-
즉, CNN 기반 인루프 필터(230e)는 복원 잔차 블록()에 기초하여 2차 복원 잔차 블록()을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230e)는 복원 잔차 블록() 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록()을 생성하도록 학습할 수 있다.That is, the CNN-based in-
CNN 기반 인루프 필터(230e)는 2차 복원 잔차 블록()을 가산기에 전송할 수 있다.The CNN-based in-
가산기는 2차 복원 잔차 블록() 및 예측 블록()을 가산하여 복원 블록()을 생성할 수 있다. 가산기는 복원 블록()을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder is a second-order restoration residual block ( ) And a prediction block ( ) Is added to the restoration block ( Can be generated. The adder is a reconstruction block ( ) To the
도 13은 일 실시예에 따른 CNN 기반 인루프 필터를 포함하는 복호화 장치의 블록도의 다른 예를 나타낸다.FIG. 13 shows another example of a block diagram of a decoding apparatus including a CNN-based in-loop filter according to an embodiment.
도 13을 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 인루프 필터(227), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기를 포함한다.13, the
도 13에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 12에 도시된 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(227)에 대해서 설명한다.The
인루프 필터(227)는 가산기로부터 복원 블록()을 수신할 수 있다. 복원 블록()은 예비 복원 블록()일 수 있다. 인루프 필터(227)는 예비 복원 블록()에 필터링을 수행하여 2차 최종 복원 블록()을 생성할 수 있다. 인루프 필터(227)는 최종 복원 블록()을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.The in-
인루프 필터(227)는 도 9에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-
도 14는 일 실시예에 따른 CNN 기반 인루프 필터의 구조를 설명하기 위한 도면이다.FIG. 14 is a diagram for explaining the structure of a CNN-based in-loop filter according to an embodiment.
도 14를 참조하면, CNN 기반 인루프 필터(150)는 입력 레이어(input layer; 151), 은닉 레이어(hidden layer; 152), 및 출력 레이어(output layer; 153)를 포함한다.Referring to FIG. 14, the CNN-based in-
입력 레이어(151)는 입력 영상을 수신할 수 잇다. 입력 영상은 열화된 복원 영상을 포함할 수 있다. 예를 들어, 입력 레이어(151)에는 역양자화 및 역변환부(140)에 의해 역양자화 및 역변환이 수행된 복원 영상이 입력될 수 있다. 입력 영상은 블록 경계 왜곡, 너울성 왜곡 및 고주파 흐려짐 블러 왜곡을 포함할 수 있다. 복원 영상은 열화(degradation) 현상을 포함할 수 있다.The input layer 151 can receive the input image. The input image may include a degraded reconstructed image. For example, a reconstructed image in which an inverse quantization and inverse transform is performed by the inverse quantization and
입력 레이어(151)는 입력 영상에 이미지 패치(image patch)를 수행하여 은닉 레이어(153)로 추출할 수 있다. 예를 들어, 입력 레이어(151)는 입력 영상을 (f 1 x f 1 )의 크기로 이미지 패치를 수행할 수 있다.The input layer 151 may perform an image patch on the input image and extract the image patch to the hidden layer 153. For example, the input layer 151 can perform image patching of the input image with a size of ( f 1 x f 1 ) .
은닉 레이어(152)는 비선형 매핑(non-linear mapping)을 수행할 수 있다. 은닉 레이어(152)는 N 개의 컨볼루션 레이어(convolutional layer)를 포함할 수 있다. 이때, 제1 컨볼루션 레이어(152-1)에서 제N 컨볼루션 레이어(152-N)로 진행할수록 영상의 화질은 향상될 수 있다.The
CNN 기반 인루프 필터(150)는 은닉 레이어(152), 출력 레이어(153), 및 손실 함수 (loss function)을 통해 CNN 기반 인루프 필터의 훈련이 수행될 수 있다.The CNN-based in-
제1 컨볼루션 레이어(152-1)는 수학식 1에 대응될 수 있다.The first convolution layer 152-1 may correspond to Equation (1).
제2 컨볼루션 레이어는 수학식 2에 대응될 수 있다.The second convolution layer may correspond to Equation (2).
같은 원리로, 제N 컨볼루션 레이어(152-N)는 수학식 3에 대응될 수 있다.With the same principle, the Nth convolution layer 152-N may correspond to Equation (3).
즉, 은닉 레이어(152)는 ReLU(Rectified Linear Unit) 함수를 사용해 훈련의 효율 및 속도를 높일 수 있다.That is, the hidden
출력 레이어(153)는 수학식 4에 대응될 수 있다.The output layer 153 may correspond to Equation (4).
출력 레이어(153)는 필터링되어 화질이 향상된 출력 영상을 출력할 수 있다.The output layer 153 may be filtered to output an output image with improved image quality.
손실 함수는 수학식 5에 대응될 수 있다.The loss function may correspond to Equation (5).
CNN 기반 인루프 필터(150)는 손실 함수를 통해 필터링 오류를 최소화할 수 있도록 훈련될 수 있다.The CNN-based in-
도 15는 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 일 예이다.FIG. 15 is a diagram for explaining a training method for each section of a CNN-based in-loop filter according to an exemplary embodiment.
도 15를 참조하면, CNN 기반 인루프 필터(150)는 양자화 구간 별로 훈련을 수행할 수 있다. CNN 기반 인루프 필터(150)는 양자화 파라미터(quantization parameter(QP))에 따라 왜곡값이 상이한 복원 영상을 처리할 수 있다. 이에, CNN 기반 인루프 필터(150)는 양자화 구간 별로 훈련을 수행하여 효과적인 필터링을 수행할 수 있다.Referring to FIG. 15, the CNN-based in-
양자화 파라미터(QP)는 0 이상 51 이하의 값일 수 있다. 각 양자화 구간은 적어도 하나의 양자화 파라미터(QP)를 포함할 수 있다. 이때, 복수의 양자화 구간이 공통으로 포함하는 양자화 파라미터(QP)도 있을 수 있다. 예를 들어, 제1 구간과 제2 구간은 양자화 파라미터(QP) 5를 공통으로 포함할 수 있다.The quantization parameter QP may be a value between 0 and 51 inclusive. Each quantization interval may include at least one quantization parameter (QP). At this time, there may be a quantization parameter (QP) commonly included in a plurality of quantization sections. For example, the first interval and the second interval may include a quantization parameter (QP) 5 in common.
부호화 장치(100)에서 부호화시 사용된 양자화 파라미터(QP)는 복호화 장치(200)에서 확인할 수 있는 값이고, 부호화 장치(100)는 부호화시 사용된 양자화 파라미터(QP)를 복호화 장치(200)로 전송하지 않을 수 있다. 이에, 부호화 장치(100)는 오버헤드(overhead)가 발생하지 않고, 부호화 효율을 높일 수 있다.The quantization parameter QP used in encoding in the
부호화 장치(100)는 제N 구간의 양자화 파라미터(QP)를 사용하여 복원 훈련 영상(300)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(300)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.The
CNN 기반 인루프 필터(150)는 복원 훈련 영상(300)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다.The CNN-based in-
가산기는 출력 영상 및 원 입력 훈련 영상(original input image; 400)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.The adder may subtract the output image and the
CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치(weight)를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(400)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파(back propagation) 방법을 사용할 수 있다.The CNN-based in-
복원 훈련 영상(300) 및 입력 훈련 영상(400)은 여러 실시예로 구현될 수 있다. 즉, CNN 기반 인루프 필터(150)는 무수히 많은 훈련 방법이 존재할 수 있다. CNN 기반 인루프 필터(150)는 훈련 방법에 따라 상이하게 동작할 수 있다.The
일 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링 적용 이전의 복원 영상(reconstructed frames prior to in-loop filtering)일 수 있다. CNN 기반 인루프 필터(150)는 필터링 적용 이전의 복원 영상에 필터링을 수행하여 입력 훈련 영상(400)에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 2a에 도시된 CNN 기반 인루프 필터(150a)로 동작할 수 있다.For example, the
다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상(reconstructed frames after in-loop filtering)일 수 있다. 즉, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 수행하여 원 입력 훈련 영상(400)에 더 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 3에 도시된 CNN 기반 인루프 필터(150b)로 동작할 수 있다.In another example,
다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상이고, 입력 훈련 영상(400)은 잔차 영상(e)일 수 있다. 이때, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 적용하여 복원 잔차 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 5에 도시된 CNN 기반 인루프 필터(150d)로 동작할 수 있다.As another example, the
도 16은 일 실시예에 따른 CNN 기반 인루프 필터의 구간 별 훈련 방법을 설명하기 위한 도면의 다른 예이다.16 is another example of a diagram for explaining a training method for each section of a CNN-based in-loop filter according to an embodiment.
도 16을 참조하면, CNN 기반 인루프 필터(150)는 왜곡값 구간 별로 훈련을 수행할 수 있다. CNN 기반 인루프 필터(150)는 양자화 파라미터(QP)에 따라 왜곡값이 상이할 수 있다. 이에, CNN 기반 인루프 필터(150)는 왜곡값 구간 별로 훈련을 수행하여 효과적인 필터링을 수행할 수 있다.Referring to FIG. 16, the CNN-based in-
부호화 장치(100)에서 부호화시 사용된 왜곡값 구간은 복호화 장치(200)에서 확인할 수 있는 값이고, 부호화 장치(100)는 부호화시 사용된 인덱스(index)를 복호화 장치(200)로 전송하지 않을 수 있다. 이에, 부호화 장치(100)는 오버헤드가 발생하지 않고, 부호화 효율을 높일 수 있다.The distortion value interval used in the coding in the
왜곡값은 입력 훈련 영상(600) 및 복원 훈련 영상의 차이일 수 있다.The distortion value may be the difference between the
부호화 장치(100)는 제N 구간의 왜곡값에 속하는 복원 훈련 영상(500)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(500)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.The
CNN 기반 인루프 필터(150)는 복원 훈련 영상(500)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다. 가산기는 출력 영상 및 원 입력 훈련 영상(600)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(600)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파 방법을 사용할 수 있다.The CNN-based in-
복원 훈련 영상(500)는 복원 잔차 영상일 수 있다. 복원 잔차 영상은 잔차 영상에 변환 및 양자화를 수행하고, 다시 역양자화 및 역변환을 수행한 영상일 수 있다.The
입력 훈련 영상(600)은 잔차 영상일 수 있다. 잔차 영상은 입력 영상과 복원 영상을 차분한 영상일 수 있다. 복원 영상은 인루프 필터링이 적용된 영상이거나 또는 인루프 필터링이 적용되지 않은 영상일 수 있다.The
즉, CNN 기반 인루프 필터(150)는 복원 잔차 영상에 필터링을 수행하여 잔차 영상에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 6에 도시된 CNN 기반 인루프 필터(150e)로 동작할 수 있다.That is, the CNN-based in-
또한, CNN 기반 인루프 필터(150)는 영상의 슬라이스 타입(slice type) 별로 필터링을 수행할 수 있다. 이하에서는 CNN 기반 인루프 필터(150)가 슬라이스 타입 별로 필터링을 수행하는 동작에 대하여 설명한다.In addition, the CNN-based in-
도 17은 일 실시예에 따른 CNN 기반 인루프 필터의 훈련 방법을 설명하기 위한 도면의 일 예이다.17 is an example of a diagram for explaining a training method of a CNN-based in-loop filter according to an embodiment.
도 17을 참조하면, CNN 기반 인루프 필터(150)는 저지연 구조(low delay configuration)의 부호화 또는 복호화 과정에서 복수의 영상에 필터링을 수행할 수 있다.Referring to FIG. 17, the CNN-based in-
복수의 영상의 슬라이스 타입은 인트라 슬라이스(intra slice(I slice)), 또는 예측 슬라이스(predictive slice(P slice))일 수 있다.The slice type of a plurality of images may be an intra slice (I slice) or a predictive slice (P slice).
인트라 슬라이스의 영상(700-1 및 700-N)은 화면 내 예측을 수행할 수 있다. 예측 슬라이스의 영상(700-2~700-4)은 화면 간 예측을 수행할 수 있다.Intra-slice images 700-1 and 700-N can perform in-frame prediction. The images 700-2 to 700-4 of the prediction slice can perform inter-picture prediction.
예를 들어, 예측 슬라이스의 영상(700-2)은 인트라 슬라이스의 영상(700-1)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(700-3)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(700-2)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(700-4)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(700-2~700-3)을 참조하여 영상을 예측할 수 있다.For example, the image 700-2 of the prediction slice can predict the image with reference to the image 700-1 of the intra slice. The image 700-3 of the prediction slice can predict the image with reference to the intra 700-slice image 700-1 and the prediction slice image 700-2. The image 700-4 of the prediction slice can predict the image with reference to the intra 700-slice image 700-1 and the prediction slice images 700-2 to 700-3.
CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(700-1 및 700-N)에 필터링을 수행하여, 왜곡이 적은 영상을 지속적으로 제공할 수 있다. CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(700-1 및 700-N)을 주기적으로 제공할 수 있다.The CNN-based in-
도 18은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.18 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
도 18을 참조하면, CNN 기반 인루프 필터(150)는 저지연 구조(low delay configuration)의 부호화 또는 복호화 과정에서 복수의 영상(800-1~800-3, 800-5, 및 800-5)에 선택적으로 필터링을 수행할 수 있다.Referring to FIG. 18, the CNN-based in-
복수의 영상(800-1~800-3, 800-5, 및 800-5)의 슬라이스 타입은 인트라 슬라이스(I slice), 또는 예측 슬라이스(P slice)일 수 있다.The slice type of the plurality of images 800-1 to 800-3, 800-5, and 800-5 may be an intra slice I slice or a prediction slice P slice.
인트라 슬라이스의 영상(800-1)은 화면 내 예측을 수행할 수 있다. 예측 슬라이스의 영상(800-2, 800-3, 800-5, 및 800-7)은 화면 간 예측을 수행할 수 있다.The intra-slice image 800-1 can perform in-frame prediction. The images 800-2, 800-3, 800-5, and 800-7 of the prediction slice can perform inter-picture prediction.
예를 들어, 예측 슬라이스의 영상(800-2)은 인트라 슬라이스의 영상(800-1)을 참조하여 영상을 예측할 수 있다. 예측 슬라이스의 영상(800-3)은 인트라 슬라이스의 영상(700-1) 및 예측 슬라이스의 영상(800-2)을 참조하여 영상을 예측할 수 있다. 같은 원리로, 예측 슬라이스의 영상(800-5 및 800-7)은 이전 슬라이스의 영상을 참조하여 영상을 예측할 수 있다.For example, the image 800-2 of the prediction slice can predict the image with reference to the intra-slice image 800-1. The image 800-3 of the prediction slice can predict the image with reference to the intra 700-slice image 700-1 and the prediction slice image 800-2. With the same principle, the images 800-5 and 800-7 of the prediction slice can predict the image with reference to the image of the previous slice.
CNN 기반 인루프 필터(150)는 인트라 슬라이스의 영상(800-1) 및 예측 슬라이스의 영상(800-3, 800-5, 및 800-7)에 필터링을 수행하여, 왜곡이 적은 영상을 지속적으로 제공할 수 있다. CNN 기반 인루프 필터(150)는 주기적 또는 선택적으로 필터링을 수행하여 예측 슬라이스의 영상(800-3, 800-5, 및 800-7)을 제공할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(Coding Tree Unit(CTU)) 또는 부호화 블록별(Coding Unit(CU)) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-
도 19는 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.19 is another example of a diagram for explaining a method of applying a CNN-based in-loop filter according to an embodiment.
도 19를 참조하면, CNN 기반 인루프 필터(150)는 전 화면 내 구조(All intra configuration)의 부호화 또는 복호화 과정에서 복수의 영상(900-1~900-N)에 필터링을 수행할 수 있다.Referring to FIG. 19, the CNN-based in-
복수의 영상(900-1~900-N)의 슬라이스 타입은 인트라 슬라이스(I slice)일 수 있다.The slice type of the plurality of images 900-1 to 900-N may be an intra slice (I slice).
인트라 슬라이스의 영상(900-1~900-N)은 화면 내 예측을 수행할 수 있다. 즉, 인트라 슬라이스의 영상(900-1~900-N)의 왜곡값은 다른 영상으로 전달되지 않고, CNN 기반 인루프 필터(150)는 모든 인트라 슬라이스의 영상(900-1~900-N)을 필터링 하여 고화질의 영상을 제공할 수 있다.Intra-slice images 900-1 to 900-N can perform in-picture prediction. That is, the distortion values of the intra-slice images 900-1 to 900-N are not transmitted to other images, and the CNN-based in-
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-
도 20은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이고, 도 21은 일 실시예에 따른 CNN 기반 인루프 필터의 적용 방법을 설명하기 위한 도면의 다른 예이다.FIG. 20 shows another example of a method for applying a CNN-based in-loop filter according to an embodiment, FIG. 21 illustrates another example of a method for applying a CNN-based in-loop filter according to an embodiment to be.
도 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)에 필터링을 수행할 수 있다.Referring to FIGS. 20 and 21, the CNN-based in-
계층적 B 화면 구조는 제1 계층 내지 제4 계층을 포함할 수 있다.The hierarchical B screen structure may include a first layer to a fourth layer.
제1 계층 영상(1010-1~1010-3)의 슬라이스 타입은 인트라 슬라이스(I slice) 또는 예측 슬라이스(P slice)일 수 있다. 인트라 슬라이스의 영상(1010-1~1010-3)은 화면 내 예측을 수행할 수 있다.The slice type of the first layer images 1010-1 to 1010-3 may be an intra slice (I slice) or a prediction slice (P slice). Intra-slice images 1010-1 to 1010-3 can perform intra-frame prediction.
제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)를 참조할 수 있다.The slice type of the second to fourth layer images 1020-1 to 1020-2, 1030-1 to 1030-4, and 1040-1 to 1040-4 is a bi-predictive slice (B slice) Lt; / RTI > The images 1020-1 to 1020-2, 1030-1 to 1030-4, and 1040-1 to 1040-4 of the double-sided prediction slice B slice can predict the image with reference to the image of the lower layer. At this time, the images 1020-1 to 1020-2, 1030-1 to 1030-4, and 1040-1 to 1040-4 of the double-sided prediction slice B slice may be the previous image (previous) (Back) of the image. For example, the second layer image 1020-1 may refer to the first layer images 1010-1 and 1010-2. The second layer image 1020-2 may refer to the first layer images 1010-2 and 1010-3.
같은 원리로, 제4 계층의 영상(1040-1)은 제3 계층의 영상(1030-1) 및 제1 계층의 영상(1010-1)을 참조할 수 있고, 제4 계층의 영상(1040-3)은 제2 계층의 영상(1020-1) 및 제3 계층의 영상(1030-2)을 참조할 수 있다.The fourth layer image 1040-1 can refer to the third layer image 1030-1 and the first layer image 1010-1 and the fourth layer image 1040-1 can be referred to, 3 can refer to the image of the second layer 1020-1 and the image of the third layer 1030-2.
CNN 기반 인루프 필터(150)는 특정 계층을 선택하여 필터링을 수행할 수 있다. 일 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3)에 필터링을 수행할 수 있다.The CNN-based in-
다른 예로, 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에 도시된 바와 같을 수 있다.In another example, the CNN-based in-
다른 예로, 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에 도시된 바와 같을 수 있다.In another example, the CNN-based in-
CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-
CNN 기반 인루프 필터(150)는 영상 내의 특정 영역에 필터링을 적용할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 영상을 복수의 영역으로 분할하고, 복수의 영역 중 일부의 영역만을 선택하여 필터링을 적용할 수 있다. 이때, CNN 기반 인루프 필터(150)는 일부의 영역에 필터링 적용 여부를 시그널링할 수 있다.The CNN-based in-
또한, CNN 기반 인루프 필터(150)는 영상내의 움직임의 양과 텍스처 복잡도 중 적어도 하나에 기초하여 필터링을 적용할 수도 있다.In addition, the CNN-based in-
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (46)
상기 필터링 정보를 역필터링함으로써 역필터링 정보(inverse filtering information)를 생성하는 단계;
상기 역필터링 정보를 CNN 기반 인루프 필터(CNN based in-loop filter)에 입력함으로써 복원 정보를 생성하는 단계;
상기 복원 정보와 상기 원본 영상에 기반한 원본 정보의 차이를 계산하는 단계; 및
상기 차이에 기초하여 상기 CNN 기반 인루프 필터의 가중치(weight)를 보정하는 단계
를 포함하고,
상기 예측 영상은 상기 복원 정보에 기초하여 생성되고,
상기 CNN 기반 인루프 필터의 가중치(weight)는 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치, 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치 중에서 적어도 하나인,
CNN 기반 인루프 필터 학습 방법.
Generating filtering information by filtering a residual image corresponding to a difference between the original image and the predicted image;
Generating inverse filtering information by inverse filtering the filtering information;
Generating restoration information by inputting the inverse filtering information to a CNN based in-loop filter;
Calculating a difference between the restoration information and original information based on the original image; And
Correcting a weight of the CNN based in-loop filter based on the difference;
Lt; / RTI >
Wherein the prediction image is generated based on the reconstruction information,
The weights of the CNN-based in-loop filters are weighted for a quantization interval according to a quantization parameter, a weight for a distortion value interval according to a distortion value, a weight for a texture complexity interval of an image characteristic, Which is at least one of a weight for a motion complexity interval, a weight for a slice type, a weight for a coding layer, a weight for a coding mode,
CNN based in - loop filter learning method.
상기 필터링 정보를 생성하는 단계는,
상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하는 단계
를 포함하고,
상기 역필터링 정보를 생성하는 단계는,
상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the filtering information comprises:
Generating filtering information by transforming and quantizing the residual image
Lt; / RTI >
Wherein the step of generating the inverse filtering information comprises:
Generating inverse filtering information by inverse-quantizing and inverse-transforming the filtering information
Wherein the CNN-based in-loop filter learning method comprises:
상기 필터링 정보를 생성하는 단계는,
양자화 파라미터(quantization parameter)에 따른 양자화 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 양자화 구간에 대한 가중치를 보정하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the filtering information comprises:
Filtering the residual image based on a quantization interval according to a quantization parameter;
Lt; / RTI >
Wherein the correcting comprises:
A step of correcting a weight for the quantization interval
Wherein the CNN-based in-loop filter learning method comprises:
상기 필터링 정보를 생성하는 단계는,
왜곡값에 따른 왜곡값 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 왜곡값 구간에 대한 가중치를 보정하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the filtering information comprises:
Filtering the residual image based on the distortion value interval according to the distortion value
Lt; / RTI >
Wherein the correcting comprises:
Correcting a weight value for the distortion value interval
Wherein the CNN-based in-loop filter learning method comprises:
상기 필터링 정보를 생성하는 단계는,
영상 특성의 텍스처 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 텍스처 복잡도 구간에 대한 가중치를 보정하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the filtering information comprises:
Filtering the residual image based on a texture complexity interval of the image characteristic
Lt; / RTI >
Wherein the correcting comprises:
A step of correcting a weight for the texture complexity section
Wherein the CNN-based in-loop filter learning method comprises:
상기 필터링 정보를 생성하는 단계는,
영상 특성의 움직임 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 움직임 복잡도 구간에 대한 가중치를 보정하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the filtering information comprises:
Filtering the residual image based on a motion complexity interval of the image characteristic
Lt; / RTI >
Wherein the correcting comprises:
A step of correcting a weight for the motion complexity interval
Wherein the CNN-based in-loop filter learning method comprises:
상기 복원 정보를 생성하는 단계는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계
를 포함하고,
상기 복원 정보는,
상기 원본 영상과 같은 형식인 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the reconstruction information comprises:
Generating reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-based in-loop filter
Lt; / RTI >
The restoration information includes:
And a CNN based loop filter learning method in the same format as the original image.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는,
상기 예측 정보에 인루프 필터링을 수행하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
8. The method of claim 7,
Wherein the generating the reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-
Performing in-loop filtering on the prediction information
Wherein the CNN-based in-loop filter learning method comprises:
상기 복원 정보를 생성하는 단계는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계
를 포함하고,
상기 복원 정보는,
상기 잔차 영상과 같은 형식인 CNN 기반 인루프 필터 학습 방법.
The method according to claim 1,
Wherein the generating the reconstruction information comprises:
Generating reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-based in-loop filter
Lt; / RTI >
The restoration information includes:
Wherein the residual image is in the same format as the CNN based loop filter learning method.
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는 단계는,
상기 예측 정보에 인루프 필터링을 수행하는 단계
를 포함하는 CNN 기반 인루프 필터 학습 방법.
10. The method of claim 9,
Wherein the generating the reconstruction information by inputting the inverse filtering information and the prediction information based on the prediction image to the CNN-
Performing in-loop filtering on the prediction information
Wherein the CNN-based in-loop filter learning method comprises:
상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부;
복원 정보에 기초하여 상기 예측 영상을 생성하는 예측부(estimator);
상기 역필터링 정보와 상기 예측 영상을 입력 받아 상기 복원 정보를 출력하는 CNN 기반 인루프 필터; 및
상기 필터링 정보와 상기 예측 영상의 정보에 기초하여 부호화를 수행하는 부호화부(encoder)를 포함하고,
상기 CNN 기반 인루프 필터의 가중치(weight)는 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치 중에서 적어도 하나인 부호화 장치.
A filtering unit for generating filtering information by filtering a residual image corresponding to a difference between the original image and the prediction image;
An inverse filtering unit for generating inverse filtering information by inversely filtering the filtering information;
An estimator for generating the prediction image based on the reconstruction information;
A CNN based in-loop filter for receiving the inverse filtering information and the prediction image and outputting the reconstruction information; And
And an encoder for performing encoding based on the filtering information and the prediction image information,
The weights of the CNN-based in-loop filters are weighted for a quantization interval according to a quantization parameter, a weight for a distortion value interval according to a distortion value, a weight for a texture complexity interval of an image characteristic, Wherein the motion vector is at least one of a weight according to a weight slice type, a weight according to an encoding layer, a weight according to an encoding mode, and a weight according to an encoding region.
상기 필터링부는,
상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하고,
상기 역필터링부는,
상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는
부호화 장치.
12. The method of claim 11,
Wherein the filtering unit comprises:
Generating filtering information by transforming and quantizing the residual image,
Wherein the inverse filtering unit comprises:
And generates inverse filtering information by inverse-quantizing and inverse-transforming the filtering information
Encoding apparatus.
상기 복원 정보는,
상기 원본 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
부호화 장치.
12. The method of claim 11,
The restoration information includes:
The image is in the same format as the original image,
The CNN-based in-
Filtering information and prediction information based on the prediction image to the CNN-based in-loop filter to generate reconstruction information
Encoding apparatus.
상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
14. The method of claim 13,
An in-loop filter for performing in-loop filtering on the prediction information
Further comprising:
상기 인루프 필터는,
디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나
를 포함하는 부호화 장치.
15. The method of claim 14,
The in-
At least one of a deblocking filter (DF), a sample adaptive offset filter (SAO), and an adaptive loop filter (ALF)
.
상기 복원 정보는,
상기 잔차 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
부호화 장치.
12. The method of claim 11,
The restoration information includes:
The residual image is in the same format as the residual image,
The CNN-based in-
Filtering information and prediction information based on the prediction image to the CNN-based in-loop filter to generate reconstruction information
Encoding apparatus.
상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
17. The method of claim 16,
An in-loop filter for performing in-loop filtering on the prediction information
Further comprising:
상기 복원 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
12. The method of claim 11,
An in-loop filter for performing in-loop filtering on the restoration information
Further comprising:
상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부;
상기 예측 영상의 정보에 기초하여 예측 영상을 생성하는 예측부; 및
상기 역필터링 정보와 상기 예측 영상에 기초하여 복원 정보를 생성하고, 인루프 필터링 적용 여부에 따라 상기 복원 정보에 인루프 필터링을 적용하는 CNN 기반 인루프 필터를 포함하는
복호화 장치.
An entropy decoder for decoding the encoded bitstream information and outputting filtering information and information of a prediction image;
An inverse filtering unit for generating inverse filtering information by inversely filtering the filtering information;
A prediction unit for generating a prediction image based on the information of the prediction image; And
And a CNN-based in-loop filter for generating reconstruction information based on the inverse filtering information and the predicted image and applying in-loop filtering to the reconstructed information according to whether in-loop filtering is applied or not
Decoding device.
상기 복원 정보는,
원본 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
복호화 장치.
20. The method of claim 19,
The restoration information includes:
It is in the same format as the original video,
The CNN-based in-
Filtering information and prediction information based on the prediction image to the CNN-based in-loop filter to generate reconstruction information
Decoding device.
상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
21. The method of claim 20,
An in-loop filter for performing in-loop filtering on the inverse filtering information
Further comprising:
상기 인루프 필터는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 포함하는
복호화 장치.
22. The method of claim 21,
The in-
Further comprising at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
Decoding device.
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 복원 정보를 생성하는
복호화 장치.
20. The method of claim 19,
The restoration information includes:
It is in the same format as the residual image,
The CNN-based in-
Filtering information and prediction information based on the prediction image to the CNN-based in-loop filter to generate reconstruction information
Decoding device.
상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
를 더 포함하는 복호화 장치.
24. The method of claim 23,
An adder for adding the reconstruction information and the prediction image to generate final reconstruction information,
Further comprising:
상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
24. The method of claim 23,
An in-loop filter for performing in-loop filtering on the inverse filtering information
Further comprising:
상기 인루프 필터는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나
를 포함하는 복호화 장치.
26. The method of claim 25,
The in-
At least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
.
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터는,
상기 역필터링 정보를 상기 CNN 기반 인루프 필터에 입력함으로써 잔차 복원 정보를 생성하는
복호화 장치.
20. The method of claim 19,
The restoration information includes:
It is in the same format as the residual image,
The CNN-based in-
And inputs the inverse filtering information to the CNN-based in-loop filter to generate residual reconstruction information
Decoding device.
상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
를 더 포함하는 복호화 장치.
28. The method of claim 27,
An adder for adding the residual reconstruction information and the prediction image to generate final reconstruction information,
Further comprising:
상기 최종 복원 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
29. The method of claim 28,
An in-loop filter for performing in-loop filtering on the final reconstruction information
Further comprising:
상기 인루프 필터는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나
를 포함하는 복호화 장치.30. The method of claim 29,
The in-
At least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
.
상기 CNN 기반 인루프 필터의 가중치(weight)는 슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 중에서 적어도 하나인
복호화 장치.
20. The method of claim 19,
The weights of the CNN-based in-loop filters are weighted according to a slice type, a weight according to an encoding layer, a weight according to an encoding mode, a weight according to an encoding region, a weight for a quantization interval according to a quantization parameter, At least one of a weight for the distortion value section according to the distortion value, a weight for the texture complexity section of the image characteristic, and a weight for the motion complexity section of the image characteristic
Decoding device.
상기 CNN 기반 인루프 필터는,
입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 인루프 필터링을 적용하는 CNN 기반 인루프 필터를 포함하는
복호화 장치.
20. The method of claim 19,
The CNN-based in-
Including a CNN-based in-loop filter that selectively applies in-loop filtering for each input slice, and also for each CTU, CU, or designated video region within an input slice
Decoding device.
상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 단계;
상기 예측 영상의 정보에 기초하여 예측 영상을 생성하는 단계; 및
상기 역필터링 정보와 상기 예측 영상에 기초하여 복원 정보를 생성하고, 인루프 필터링 적용 여부에 따라 상기 복원 정보에 CNN 기반 인루프 필터링을 적용하는 단계
를 포함하는 복호화 방법.
Performing decoding on the encoded bitstream information and outputting filtering information and information of a prediction image;
Generating inverse filtering information by inverse filtering the filtering information;
Generating a prediction image based on the prediction image information; And
Generating restoration information based on the inverse filtering information and the predicted image, and applying CNN-based in-loop filtering to the restoration information according to whether in-loop filtering is applied
/ RTI >
상기 복원 정보는,
원본 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터링을 적용하는 단계는,
상기 역필터링 정보 및 상기 예측영상에 기반한 예측정보에 기초하여 상기 복원 정보를 생성하는 단계
를 포함하는 복호화 방법.
34. The method of claim 33,
The restoration information includes:
It is in the same format as the original video,
The step of applying the CNN-based in-loop filtering comprises:
And generating the restoration information based on the inverse filtering information and the prediction information based on the prediction image
/ RTI >
상기 역필터링 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
35. The method of claim 34,
Performing in-loop filtering on the inverse filtering information
Further comprising:
상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 이용하여 인루프 필터링을 수행하는 단계
를 포함하는 복호화 방법.
36. The method of claim 35,
Performing in-loop filtering on the inverse filtering information comprises:
Performing in-loop filtering further using at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
/ RTI >
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터링을 적용하는 단계는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보에 기초하여 상기 복원 정보를 생성하는 단계
를 포함하는 복호화 방법.
34. The method of claim 33,
The restoration information includes:
It is in the same format as the residual image,
The step of applying the CNN-based in-loop filtering comprises:
And generating the restoration information based on the inverse filtering information and the prediction information based on the prediction image
/ RTI >
상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
를 더 포함하는 복호화 방법.
39. The method of claim 37,
Adding the reconstruction information and the prediction image to generate final reconstruction information
Further comprising:
상기 역필터링 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
39. The method of claim 37,
Performing in-loop filtering on the inverse filtering information
Further comprising:
상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 추가적으로 이용하여 인루프 필터링을 수행하는 단계
를 포함하는 복호화 방법.
40. The method of claim 39,
Performing in-loop filtering on the inverse filtering information comprises:
Performing in-loop filtering further using at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
/ RTI >
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 CNN 기반 인루프 필터링을 적용하는 단계는,
상기 역필터링 정보에 기초하여 잔차 복원 정보를 생성하는 단계
를 포함하는 복호화 방법.
34. The method of claim 33,
The restoration information includes:
It is in the same format as the residual image,
The step of applying the CNN-based in-loop filtering comprises:
Generating residual reconstruction information based on the inverse filtered information
/ RTI >
상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
를 더 포함하는 복호화 방법.
42. The method of claim 41,
Adding the residual reconstruction information and the prediction image to generate final reconstruction information
Further comprising:
상기 최종 복원 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
43. The method of claim 42,
Performing in-loop filtering on the final reconstruction information
Further comprising:
상기 최종 복원 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 이용하여 인루프 필터링을 수행하는 단계
를 포함하는 복호화 방법.
44. The method of claim 43,
Performing in-loop filtering on the final reconstruction information comprises:
Performing in-loop filtering using at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF)
/ RTI >
상기 CNN 기반 인루프 필터링을 적용하는 단계는,
슬라이스 타입에 따른 가중치, 부호화 계층에 따른 가중치, 부호화 모드에 따른 가중치, 부호화 영역에 따른 가중치, 양자화 파라미터(quantization parameter)에 따른 양자화 구간에 대한 가중치, 왜곡값에 따른 왜곡값 구간에 대한 가중치, 영상 특성의 텍스처 복잡도 구간에 대한 가중치, 및 영상 특성의 움직임 복잡도 구간에 대한 가중치 중에서 적어도 하나의 가중치를 적용하여 인루프 필터링을 적용하는 단계
를 포함하는 복호화 방법.
34. The method of claim 33,
The step of applying the CNN-based in-loop filtering comprises:
Weight according to the slice type, weight according to the encoding layer, weight according to the encoding mode, weight according to the encoding region, weight for the quantization interval according to the quantization parameter, weight for the distortion value interval according to the distortion value, Applying in-loop filtering by applying at least one weight among weight values for a texture complexity interval of a characteristic and a motion complexity interval of the image characteristic,
/ RTI >
상기 CNN 기반 인루프 필터링을 적용하는 단계는,
입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 인루프 필터링을 적용하는 단계
를 포함하는 복호화 방법.34. The method of claim 33,
The step of applying the CNN-based in-loop filtering comprises:
Selectively applying in-loop filtering for each input slice and for each coding unit block (CTU), coding block (CU), or designated video area within the input slice
/ RTI >
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780051305.7A CN109644268B (en) | 2016-06-24 | 2017-02-13 | Encoding method and apparatus including CNN-based loop filter, and decoding method and apparatus |
US16/313,052 US11095887B2 (en) | 2016-06-24 | 2017-02-13 | Encoding and decoding methods and devices including CNN-based in-loop filter |
PCT/KR2017/001512 WO2017222140A1 (en) | 2016-06-24 | 2017-02-13 | Encoding and decoding methods and devices including cnn-based in-loop filter |
JP2018567746A JP6761490B2 (en) | 2016-06-24 | 2017-02-13 | Coding methods and equipment including CNN-based in-loop filters and decoding methods and equipment |
US17/376,162 US11627316B2 (en) | 2016-06-24 | 2021-07-15 | Encoding and decoding apparatuses including CNN-based in-loop filter |
US18/088,615 US12010302B2 (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 |
---|---|---|---|
KR1020160079240 | 2016-06-24 | ||
KR20160079240 | 2016-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180001428A KR20180001428A (en) | 2018-01-04 |
KR101974261B1 true KR101974261B1 (en) | 2019-04-30 |
Family
ID=60998313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170017959A KR101974261B1 (en) | 2016-06-24 | 2017-02-09 | 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 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11095887B2 (en) |
JP (1) | JP6761490B2 (en) |
KR (1) | KR101974261B1 (en) |
CN (1) | CN109644268B (en) |
Cited By (2)
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 (en) * | 2021-08-17 | 2023-02-23 | 현대자동차주식회사 | Video coding method and device using improved in-loop filter |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932697B (en) * | 2017-05-26 | 2020-01-17 | 杭州海康威视数字技术股份有限公司 | Distortion removing method and device for distorted image and electronic equipment |
KR102285737B1 (en) | 2017-07-06 | 2021-08-05 | 삼성전자주식회사 | Video encoding/decoding method and apparatus therefor |
US10979718B2 (en) | 2017-09-01 | 2021-04-13 | Apple Inc. | Machine learning video processing systems and methods |
EP3725077A1 (en) * | 2017-12-14 | 2020-10-21 | InterDigital VC Holdings, Inc. | Deep learning based image partitioning for video compression |
WO2019143025A1 (en) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | Image processing method and device using line input and output |
WO2019143027A1 (en) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | Image pipeline processing method and device |
WO2019143024A1 (en) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | Super-resolution method and device using linewise operation |
KR102017997B1 (en) | 2018-01-16 | 2019-09-03 | 한국과학기술원 | A method and apparatus of image processing using feature map compression |
WO2019143026A1 (en) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | Image processing method and device using feature map compression |
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 (en) * | 2018-04-06 | 2019-10-10 | 에스케이텔레콤 주식회사 | Apparatus and method for applying artificial neural network to image encoding or decoding |
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 |
US11265549B2 (en) | 2018-04-01 | 2022-03-01 | Lg Electronics Inc. | Method for image coding using convolution neural network and apparatus thereof |
KR102067340B1 (en) * | 2018-07-16 | 2020-01-16 | 한국과학기술원 | Method for generating breast masses according to the lesion characteristics and the system thereof |
US11616988B2 (en) | 2018-10-19 | 2023-03-28 | Samsung Electronics Co., Ltd. | Method and device for evaluating subjective quality of video |
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 |
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 |
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 |
WO2020080873A1 (en) | 2018-10-19 | 2020-04-23 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming data |
KR102525578B1 (en) | 2018-10-19 | 2023-04-26 | 삼성전자주식회사 | Method and Apparatus for video encoding and Method and Apparatus for video decoding |
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 |
KR20200044653A (en) | 2018-10-19 | 2020-04-29 | 삼성전자주식회사 | Method and apparatus for performing ai encoding and ai decoding of image using deep neural network |
CN111105357B (en) * | 2018-10-25 | 2023-05-02 | 杭州海康威视数字技术股份有限公司 | Method and device for removing distortion of distorted image and electronic equipment |
KR102621118B1 (en) * | 2018-11-01 | 2024-01-04 | 삼성전자주식회사 | Encoding apparatus and method of image using quantization table adaptive to image |
KR102013777B1 (en) | 2018-12-12 | 2019-10-21 | 한국과학기술정보연구원 | Method and apparatus for recovering distortion of video |
KR102192980B1 (en) * | 2018-12-13 | 2020-12-18 | 주식회사 픽스트리 | Image processing device of learning parameter based on machine Learning and method of the same |
KR102212442B1 (en) * | 2018-12-13 | 2021-02-04 | 주식회사 픽스트리 | Image processing device of learning parameter based on machine Learning and method of the same |
CN109982092B (en) * | 2019-04-28 | 2022-11-01 | 华侨大学 | HEVC inter-frame rapid method based on multi-branch cyclic convolution neural network |
JP7318314B2 (en) * | 2019-05-30 | 2023-08-01 | 富士通株式会社 | Encoding program, decoding program, encoding device, decoding device, encoding method and decoding method |
US11521074B2 (en) * | 2019-05-31 | 2022-12-06 | Carnegie Mellon University | Flexible, lightweight quantized deep neural networks |
US20220277491A1 (en) * | 2019-05-31 | 2022-09-01 | Electronics And Telecommunications Research Institute | Method and device for machine learning-based image compression using global context |
CN112422993B (en) * | 2019-08-21 | 2021-12-03 | 四川大学 | HEVC video quality enhancement method combined with convolutional neural network |
CN110798690B (en) * | 2019-08-23 | 2021-12-21 | 腾讯科技(深圳)有限公司 | Video decoding method, and method, device and equipment for training loop filtering model |
KR102436512B1 (en) | 2019-10-29 | 2022-08-25 | 삼성전자주식회사 | Method and Apparatus for video encoding and Method and Apparatus for video decoding |
KR20210056179A (en) * | 2019-11-08 | 2021-05-18 | 삼성전자주식회사 | AI encoding apparatus and operating method for the same, and AI decoding apparatus and operating method for the same |
EP4000272A4 (en) | 2019-11-20 | 2022-11-09 | Samsung Electronics Co., Ltd. | Apparatus and method for using ai metadata related to image quality |
WO2021118285A1 (en) * | 2019-12-11 | 2021-06-17 | 한국전자기술연구원 | Method and device for encoding/decoding deep neural network model |
US11496775B2 (en) * | 2020-02-20 | 2022-11-08 | Tencent America LLC | Neural network model compression with selective structured weight unification |
US20210264239A1 (en) * | 2020-02-20 | 2021-08-26 | Tencent America LLC | Method and apparatus for neural network optimized matrix-matrix multiplication (nnmm) |
KR102287942B1 (en) | 2020-02-24 | 2021-08-09 | 삼성전자주식회사 | Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding of image using pre-processing |
CN111314698A (en) * | 2020-02-27 | 2020-06-19 | 浙江大华技术股份有限公司 | Image coding processing method and device |
KR20210127412A (en) * | 2020-04-14 | 2021-10-22 | 삼성전자주식회사 | AI downscale apparatus and operating method for the same, and AI upscale apparatus and operating method for the same |
CN111741300B (en) * | 2020-05-28 | 2023-03-07 | 杭州师范大学 | Video processing method |
CN113766249B (en) * | 2020-06-01 | 2022-05-13 | 腾讯科技(深圳)有限公司 | Loop filtering method, device, equipment and storage medium in video coding and decoding |
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 (en) * | 2020-11-17 | 2023-06-09 | 杭州师范大学 | Video coding method |
CN114868390A (en) * | 2020-12-04 | 2022-08-05 | 深圳市大疆创新科技有限公司 | Video encoding method, decoding method, encoder, decoder, and AI accelerator |
US20220182618A1 (en) * | 2020-12-08 | 2022-06-09 | Electronics And Telecommunications Research Institute | Method, apparatus and storage medium for image encoding/decoding using filtering |
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 (en) * | 2021-06-30 | 2021-10-12 | 浙江大华技术股份有限公司 | Image filtering method, encoding method and related equipment |
WO2023080464A1 (en) * | 2021-11-05 | 2023-05-11 | 삼성전자 주식회사 | Image processing method and device for ai-based filtering |
CN115209147B (en) * | 2022-09-15 | 2022-12-27 | 深圳沛喆微电子有限公司 | Camera video transmission bandwidth optimization method, device, equipment and storage medium |
CN117834864A (en) * | 2022-09-27 | 2024-04-05 | 中兴通讯股份有限公司 | Video coding and decoding loop filtering method, video decoding method and device |
CN117746045B (en) * | 2024-02-08 | 2024-05-28 | 江西师范大学 | Method and system for segmenting medical image by fusion of transducer and convolution |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2788811B2 (en) * | 1992-01-10 | 1998-08-20 | シャープ株式会社 | Block distortion corrector |
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 |
WO2008153856A1 (en) * | 2007-06-08 | 2008-12-18 | Thomson Licensing | Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering |
CA2638465A1 (en) * | 2007-08-01 | 2009-02-01 | Jean-Yves Chouinard | Learning filters for enhancing the quality of block coded still and video images |
JP2009111691A (en) * | 2007-10-30 | 2009-05-21 | Hitachi Ltd | Image-encoding device and encoding method, and image-decoding device and decoding method |
EP2263381A1 (en) | 2008-04-11 | 2010-12-22 | Thomson Licensing | Deblocking filtering for displaced intra prediction and template matching |
US8311111B2 (en) * | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
WO2010036772A2 (en) * | 2008-09-26 | 2010-04-01 | 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 (en) | 2009-07-01 | 2014-10-01 | ソニー株式会社 | Image processing apparatus and method, program, and recording medium |
CN102792690B (en) * | 2010-03-09 | 2016-06-15 | 汤姆森特许公司 | Method and apparatus based on classification loop filter |
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
WO2012134204A2 (en) * | 2011-03-30 | 2012-10-04 | 엘지전자 주식회사 | In-loop filtering method and apparatus for same |
KR101215152B1 (en) * | 2011-04-21 | 2012-12-24 | 한양대학교 산학협력단 | Video encoding/decoding method and apparatus using prediction based on in-loop filtering |
KR102257269B1 (en) | 2013-10-14 | 2021-05-26 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Features of intra block copy prediction mode for video and image coding and decoding |
KR101768865B1 (en) | 2014-06-19 | 2017-08-18 | 에스케이텔레콤 주식회사 | Video Coding Method and Apparatus Using Weighted Prediction |
KR102276854B1 (en) | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | Method and apparatus for video encoding for using in-loof filter parameter prediction, method and apparatus for video decoding for using in-loof filter parameter prediction |
US9563825B2 (en) * | 2014-11-20 | 2017-02-07 | Adobe Systems Incorporated | Convolutional neural network using a binarized convolution layer |
KR102276339B1 (en) * | 2014-12-09 | 2021-07-12 | 삼성전자주식회사 | Apparatus and method for training convolutional neural network for approximation of convolutional neural network |
CN104811276B (en) | 2015-05-04 | 2018-04-03 | 东南大学 | A kind of DL CNN demodulators of super Nyquist rate communication |
CN105611303B (en) * | 2016-03-07 | 2019-04-09 | 京东方科技集团股份有限公司 | Image compression system, decompression systems, training method and device, display device |
US11024009B2 (en) * | 2016-09-15 | 2021-06-01 | Twitter, Inc. | Super resolution using a generative adversarial network |
-
2017
- 2017-02-09 KR KR1020170017959A patent/KR101974261B1/en active IP Right Grant
- 2017-02-13 US US16/313,052 patent/US11095887B2/en active Active
- 2017-02-13 CN CN201780051305.7A patent/CN109644268B/en active Active
- 2017-02-13 JP JP2018567746A patent/JP6761490B2/en active Active
-
2021
- 2021-07-15 US US17/376,162 patent/US11627316B2/en active Active
-
2022
- 2022-12-26 US US18/088,615 patent/US12010302B2/en active Active
Cited By (3)
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 (en) * | 2021-08-17 | 2023-02-23 | 현대자동차주식회사 | Video coding method and device using improved in-loop filter |
Also Published As
Publication number | Publication date |
---|---|
CN109644268B (en) | 2022-03-08 |
US20190230354A1 (en) | 2019-07-25 |
US11095887B2 (en) | 2021-08-17 |
US20210344916A1 (en) | 2021-11-04 |
US12010302B2 (en) | 2024-06-11 |
US11627316B2 (en) | 2023-04-11 |
JP6761490B2 (en) | 2020-09-23 |
CN109644268A (en) | 2019-04-16 |
JP2019525544A (en) | 2019-09-05 |
KR20180001428A (en) | 2018-01-04 |
US20230134212A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101974261B1 (en) | 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 | |
KR20200026863A (en) | Method for intra prediction and apparatus thereof | |
KR101830352B1 (en) | Method and Apparatus Video Encoding and Decoding using Skip Mode | |
JP2022521515A (en) | Methods, devices, and programs for cross-component filtering | |
JP7343669B2 (en) | Method and apparatus for color conversion in VVC | |
KR20090097688A (en) | Method and apparatus of encoding/decoding image based on intra prediction | |
US11412235B2 (en) | Color transform for video coding | |
JP7434588B2 (en) | Method and apparatus for video filtering | |
KR20150047379A (en) | Video encoding devic and driving method thereof | |
JP7498297B2 (en) | METHOD AND APPARATUS FOR VIDEO FILTERING - Patent application | |
JP2023513772A (en) | Method, apparatus and computer program for video coding | |
WO2022072062A1 (en) | Method and apparatus for video coding | |
WO2012081895A1 (en) | Intra prediction method and apparatus | |
EP4042700A1 (en) | Method and apparatus for video coding | |
JP7408834B2 (en) | Method and apparatus for video filtering | |
JP7510006B2 (en) | Improvements for intra-mode coding | |
JP7509916B2 (en) | Method, apparatus and program for boundary processing in video encoding | |
KR102017027B1 (en) | Fast video encoding method and apparatus for the same | |
JP2023550139A (en) | Hardware-friendly design for intra-mode encoding | |
KR20230003566A (en) | Block-by-block content-adaptive online training in neural image compression by post-filtering | |
JP2024510433A (en) | Temporal structure-based conditional convolutional neural network for video compression | |
CN116349225A (en) | Content adaptive online training method and apparatus for deblocking in block-by-block image compression | |
WO2016068630A1 (en) | Method for encoding, decoding video signal and device therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |