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 PDF

Info

Publication number
KR101974261B1
KR101974261B1 KR1020170017959A KR20170017959A KR101974261B1 KR 101974261 B1 KR101974261 B1 KR 101974261B1 KR 1020170017959 A KR1020170017959 A KR 1020170017959A KR 20170017959 A KR20170017959 A KR 20170017959A KR 101974261 B1 KR101974261 B1 KR 101974261B1
Authority
KR
South Korea
Prior art keywords
information
filtering
cnn
loop filter
image
Prior art date
Application number
KR1020170017959A
Other languages
Korean (ko)
Other versions
KR20180001428A (en
Inventor
김문철
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to CN201780051305.7A priority Critical patent/CN109644268B/en
Priority to US16/313,052 priority patent/US11095887B2/en
Priority to PCT/KR2017/001512 priority patent/WO2017222140A1/en
Priority to JP2018567746A priority patent/JP6761490B2/en
Publication of KR20180001428A publication Critical patent/KR20180001428A/en
Application granted granted Critical
Publication of KR101974261B1 publication Critical patent/KR101974261B1/en
Priority to US17/376,162 priority patent/US11627316B2/en
Priority to US18/088,615 priority patent/US12010302B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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.

Figure R1020170017959
Figure R1020170017959

Description

CNN 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치{ENCODING METHOD AND APPARATUS COMPRISING CONVOLUTIONAL NEURAL NETWORK(CNN) BASED IN-LOOP FILTER, AND DECODING METHOD AND APPARATUS COMPRISING CONVOLUTIONAL NEURAL NETWORK(CNN) BASED IN-LOOP FILTER}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encoding method, an apparatus, and a decoding method including a CNN-based in-loop filter and an apparatus and a decoding method and apparatus using the CNN based in- LOOP FILTER}

아래 실시예들은 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 system 10 using a coding apparatus and / or a decoding apparatus may include a user terminal 11 and a server terminal 12. The user terminal 11 may comprise an electronic device. The electronic device may be implemented as a personal computer (PC), a data server, a television (TV), or a portable device.

휴대용 장치는 랩탑(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 user terminal 11 and the server terminal 12 may be a communication device such as a communication modem for performing communication with various devices or a wired or wireless communication network or a communication device such as a communication device for intercommunicating or decoding an image for encoding or decoding, A memory 18 for storing various programs and data for intra prediction, and a processor 14 for executing and calculating and executing a program.

또한, 사용자 단말기(11)와 서버 단말기(12)는 부호화 장치에 의해 비트스트림(bitstream)으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 사용자 단말기(11)와 서버 단말기(12)는 실시간 또는 비실시간으로 부호화된 영상을 영상 복호화 장치로 전송할 수 있다.Also, the user terminal 11 and the server terminal 12 can transmit a bitstream-encoded image to the image decoding apparatus by the encoding apparatus. For example, the user terminal 11 and the server terminal 12 can transmit real-time or non-real-time encoded images to the image decoding apparatus.

사용자 단말기(11)와 서버 단말기(12)는 유무선 통신망 또는 다양한 통신 인터페이스를 통해 부호화된 영상을 영상 복호화 장치로 전송할 수 있다. 예를 들어, 유무선 통신망은 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 또는 이동통신망 등일 수 있다. 통신 인터페이스는 케이블, 또는 범용 직렬 버스(Universal Serial Bus(USB))등을 포함할 수 있다.The user terminal 11 and the server terminal 12 can transmit the encoded image through the wired / wireless communication network or various communication interfaces to the image decoding apparatus. For example, the wired / wireless communication network may be the Internet, a short-range wireless communication network, a wireless LAN network, a WiBro network, or a mobile communication network. The communication interface may include a cable, or a universal serial bus (USB).

또한, 부호화 장치에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 부호화 장치에서 복호화 장치로 전달될 수도 있다.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 encoding apparatus 100 includes a transformer and quantizer 120, an entropy encoder 130, an inverse-quantizer and an inverse-transformer A CNN based in-loop filter 150a, a decoded picture buffer (DPB) 160, a estimator 170, and a plurality of adders .

부호화 장치(100)는 입력 영상(input image; 110) 또는 입력 슬라이스(input slice; 110)에 부호화(인코딩(encoding))을 수행할 수 있다. 예를 들어, 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할한 복수 개의 픽셀 블록(f)에 부호화를 수행할 수 있다. 부호화 장치(100)는 입력 영상(110) 또는 입력 슬라이스(110)를 분할하는 분할부(미도시)를 더 포함할 수 있다. 분할부(미도시)는 입력 영상(110) 또는 입력 슬라이스(110)를 정해진 크기(M x N)의 블록으로 분할할 수 있다. 이때, M 또는 N은 1 이상의 자연수일 수 있다.The encoding apparatus 100 may perform encoding on an input image 110 or an input slice 110. [ For example, the encoding apparatus 100 may perform encoding on a plurality of pixel blocks f obtained by dividing the input image 110 or the input slice 110. The encoding apparatus 100 may further include a division unit (not shown) for dividing the input image 110 or the input slice 110. The segmentation unit (not shown) may divide the input image 110 or the input slice 110 into blocks of a predetermined size (M x N). At this time, M or N may be a natural number of 1 or more.

분할부(미도시)는 입력 영상(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 input image 110 or the input slice 110. A partition (not shown) may determine the size of the block (M x N) as a power of two. A partition (not shown) may determine the size of the block (M x N) in the form of a square or a rectangle. For example, when a partition (not shown) determines a square shape, the block size (M x N) is 256 x 256, 128 x 128, 64 x 64, 32 x 32, 16 x 16, , Or 4 x 4, and so on.

가산기는 픽셀 블록(f) 및 예측 블록(

Figure 112017013493990-pat00001
)에 기초하여 잔차 블록(e)을 생성할 수 있다. 예를 들어, 잔차 블록(e)은 픽셀 블록(f) 및 예측 블록(
Figure 112017013493990-pat00002
)의 차이에 해당하는 블록일 수 있다. 예측 블록(
Figure 112017013493990-pat00003
)은 예측부(170)가 픽셀 블록(f)에 대하여 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 등을 사용하여 생성한 블록일 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및 양자화를 수행할 수 있다. 변환 및 양자화부(120)가 픽셀 블록(f) 대신 잔차 블록(e)에 대하여 변환 및 양자화를 수행함으로써 부호화 효율을 증가시킬 수 있다.The adder includes a pixel block ( f ) and a prediction block
Figure 112017013493990-pat00001
( E ) < / RTI > For example, the residual block ( e ) includes a pixel block ( f ) and a prediction block
Figure 112017013493990-pat00002
), ≪ / RTI > Prediction block (
Figure 112017013493990-pat00003
May be a block generated by the prediction unit 170 using intra prediction or inter prediction with respect to the pixel block f . The transform and quantization unit 120 may perform transform and quantization on the residual block e . The transform and quantization unit 120 may perform the transform and quantization on the residual block e instead of the pixel block f to increase the encoding efficiency.

변환 및 양자화부(120)는 잔차 블록(e)에 필터링을 수행하여 필터링 정보(filtering information;

Figure 112017013493990-pat00004
)를 생성할 수 있다. 예를 들어, 변환 및 양자화부(120)는 잔차 블록(e)에 변환 및/또는 양자화를 수행할 수 있다.The transforming and quantizing unit 120 performs filtering on the residual block e to obtain filtering information.
Figure 112017013493990-pat00004
Can be generated. For example, the transform and quantization unit 120 may perform transform and / or quantization on the residual block ( e ).

변환 및 양자화부(120)는 잔차 블록(e)을 주파수 영역(frequency domain)으로 변환할 수 있다. 잔차 블록(e)의 각 화소는 변환된 잔차 블록의 변환 계수에 대응할 수 있다.The transform and quantization unit 120 may transform the residual block e into a frequency domain. Each pixel of the residual block ( e ) may correspond to the transform coefficient of the transformed residual block.

변환 및 양자화부(120)는 변환 매트릭스를 사용하여 잔차 블록(e)을 변환될 수 있다. 변환 매트릭스는 1 차원, 2 차원, 또는 3 차원의 변환 매트릭스일 수 있다. 예를 들어, 변환 및 양자화부(120)는 이산 코사인 변환(discrete cosine transform(DCT)), 이산 사인 변환(discrete cosine transform(DST)), 수평, 수직 단위 등으로 변환 매트릭스를 사용할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)의 크기, 형태, 종류(휘도/색차), 부호화 모드, 예측 모드 정보, 양자화 파라미터, 또는 이웃 블록의 부호화 정보 등에 기초하여 변환 매트릭스의 사용 여부를 결정할 수 있다. 변환 및 양자화부(120)는 잔차 블록(e)을 변환하여 변환 블록(E)을 생성할 수 있다.The transform and quantization unit 120 may transform the residual block ( e ) using a transformation matrix. The transformation matrix may be a one-, two-, or three-dimensional transformation matrix. For example, the transform and quantization unit 120 may use a transform matrix such as discrete cosine transform (DCT), discrete cosine transform (DST), horizontal, vertical units, The transform and quantization unit 120 determines whether or not the transform matrix is used based on the size, shape, type (luminance / chrominance) of the residual block e , encoding mode, prediction mode information, quantization parameter, You can decide. The transform and quantization unit 120 may transform the residual block ( e ) to generate the transform block ( E ).

변환 및 양자화부(120)는 변환 블록(E)에 양자화를 수행하여 양자화된 잔차(

Figure 112017013493990-pat00005
)를 출력할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 변환 계수에 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 양자화 파라미터(quantization parameter(QP))에 따른 양자화 구간, 영상 신호의 특성에 따른 왜곡값 구간, 영상 신호 특성에 따른 텍스처 복잡도 구간, 및 영상 신호 특성에 따른 움직임 복잡도 구간 중 적어도 하나 이상에 기초하여 잔차 영상(e)에 필터링을 수행할 수 있다. 영상 신호는 잔차 블록(e)을 포함할 수 있다.The transform and quantization unit 120 quantizes the transformed block E to obtain a quantized residual (
Figure 112017013493990-pat00005
Can be output. The transforming and quantizing unit 120 may perform quantization on the transforming coefficients of the transforming block ( E ). The transform and quantization unit 120 generates quantization parameters according to a quantization interval according to a quantization parameter QP, a distortion value interval according to a characteristic of an image signal, a texture complexity interval according to a video signal characteristic, Lt; RTI ID = 0.0 > e. ≪ / RTI > The video signal may include residual block ( e ).

변환 및 양자화부(120)는 양자화 파라미터(QP)에 기초하여 양자화를 수행할 수 있다. 변환 및 양자화부(120)는 변환 블록(E)의 블록 단위로 양자화 파라미터를 결정할 수 있다. 양자화 파라미터는 시퀀스(sequence), 픽쳐(picture), 슬라이스(slice), 또는 블록(block) 등의 단위로 설정될 수 있다.The transform and quantization unit 120 may perform quantization based on the quantization parameter QP. The transform and quantization unit 120 may determine a quantization parameter on a block-by-block basis of the transform block ( E ). The quantization parameter may be set in units of a sequence, a picture, a slice, or a block.

변환 및 양자화부(120)는 변환 블록(E)의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 적어도 하나의 양자화 파라미터를 사용하여 변환 블록(E)의 양자화 파라미터를 예측할 수 있다. 예를 들어, 변환 및 양자화부(120)는 변환 블록(E)의 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위, 오른쪽 아래, 아래 등의 이웃 블록으로부터 적어도 하나의 양자화 파라미터를 유도할 수 있다. 변환 및 양자화부(120)는 예측한 양자화 파라미터와 이웃 블록으로부터 유도한 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.The transform and quantization unit 120 may derive at least one quantization parameter from a neighboring block of the transform block E. [ The transform and quantization unit 120 can predict the quantization parameter of the transform block E using at least one quantization parameter. For example, the transform and quantization unit 120 may derive at least one quantization parameter from a neighbor block such as the left, top left, bottom left, top, right top, bottom right, bottom, etc. of the transform block E . The transform and quantization unit 120 may calculate the difference between the predicted quantization parameter and the quantization parameter derived from the neighboring block, and may transmit the calculated difference value to the entropy encoding unit 130.

변환 및 양자화부(120)가 변환 블록(E)의 이웃 블록으로부터 양자화 파라미터를 유도할 수 없는 경우, 변환 및 양자화부(120)는 시퀀스, 픽쳐, 슬라이스, 또는 블록 등의 단위로 전송된 기본 파라미터에 기초하여 양자화 파라미터를 설정할 수 있다. 변환 및 양자화부(120)는 기본 파라미터와 양자화 파라미터의 차분치를 계산하여 엔트로피 부호화부(130)로 전송할 수 있다.When the transform and quantization unit 120 can not derive a quantization parameter from a neighboring block of the transform block E , the transform and quantization unit 120 transforms and quantizes the basic parameters transmitted in units of a sequence, picture, slice, The quantization parameter can be set. The transforming and quantizing unit 120 may calculate the differential value between the basic parameter and the quantization parameter and transmit the difference value to the entropy encoding unit 130.

변환 및 양자화부(120)는 양자화된 잔차 변환(

Figure 112017013493990-pat00006
)을 엔트로피 부호화부(130) 및/또는 역양자화 및 역변환부(140)로 전송할 수 있다.The transform and quantization unit 120 transforms the quantized residual transform (
Figure 112017013493990-pat00006
) To the entropy encoding unit 130 and / or the inverse quantization and inverse transformation unit 140. [

엔트로피 부호화부(130)는 예측 블록(

Figure 112017013493990-pat00007
) 및/또는 양자화된 잔차 변환(
Figure 112017013493990-pat00008
)에 엔트로피 부호화를 수행할 수 있다. 예를 들어, 엔트로피 부호화부(130)는 컨텍스트 적응 가변 길이 코딩(CAVLC), 컨텍스트 적응 2진 산술 코딩(CABAC), 또는 구문 기반 컨텍스트 적응 2진 산술 코딩(SBAC) 등의 부호화 방식을 사용하여 엔트로피 부호화를 수행할 수 있다.The entropy encoding unit 130 includes a prediction block
Figure 112017013493990-pat00007
) And / or quantized residual transform (
Figure 112017013493990-pat00008
). ≪ / RTI > For example, the entropy encoding unit 130 may use an encoding method such as context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), or syntax based context adaptive binary arithmetic coding (SBAC) Encoding can be performed.

엔트로피 부호화부(130)는 엔트로피 부호화를 수행하여 부호화 데이터를 비트스트림으로 출력할 수 있다. 부호화 데이터는 양자화 파라미터를 부호화한 비트스트림과 부호화된 비트스트림을 복호화하는데 필요한 다양한 정보들을 포함할 수 있다. 또한, 부호화 데이터는 부호화된 블록 형태, 양자화 파라미터, 양자화 블록이 부호화된 비트스트림, 및 예측에 필요한 정보 등을 포함할 수 있다.The entropy encoding unit 130 may perform entropy encoding to output the encoded data as a bitstream. The encoded data may include a bitstream obtained by encoding the quantization parameter and various information necessary for decoding the encoded bitstream. The encoded data may include a coded block type, a quantization parameter, a bitstream in which a quantized block is coded, and information necessary for prediction.

역양자화 및 역변환부(140)는 필터링 정보(

Figure 112017013493990-pat00009
)에 역필터링을 수행하여 역필터링 정보(inverse filtering information;
Figure 112017013493990-pat00010
)를 생성할 수 있다. 역필터링 정보(
Figure 112017013493990-pat00011
)는 복원 잔차 블록(
Figure 112017013493990-pat00012
)을 의미할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환(
Figure 112017013493990-pat00013
)에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00014
)을 생성할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 동작을 역으로 수행할 수 있다. 예를 들어, 역양자화 및 역변환부(140)는 양자화된 잔차 변환(
Figure 112017013493990-pat00015
)에 역양자화를 수행하고, 역변환을 수행할 수 있다. 역양자화 및 역변환부(140)는 변환 및 양자화부(120)의 변환 구조 및 양자화 구조를 반대로 구성할 수 있다.The inverse quantization and inverse transform unit 140 transforms the filtering information
Figure 112017013493990-pat00009
) To perform inverse filtering information (inverse filtering information;
Figure 112017013493990-pat00010
Can be generated. Inverse filtering information (
Figure 112017013493990-pat00011
) Is the restoration residual block (
Figure 112017013493990-pat00012
). ≪ / RTI > For example, the inverse quantization and inverse transform unit 140 performs a quantized residual transform (
Figure 112017013493990-pat00013
) And performing inverse quantization and / or inverse transform on the restored residual block
Figure 112017013493990-pat00014
Can be generated. The inverse quantization and inverse transform unit 140 may inversely perform the operations of the transform and quantization unit 120. [ For example, the inverse quantization and inverse transform unit 140 performs a quantized residual transform (
Figure 112017013493990-pat00015
), And perform inverse transformation. The inverse quantization and inverse transformation unit 140 may reverse the transformation structure and the quantization structure of the transformation and quantization unit 120. [

도 1에서는 설명의 편의상 변환 및 양자화부(120)가 변환 및 양자화를 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 잔차 블록(e)을 변환하는 변환부와, 잔차 블록(e)을 양자화하는 양자화부로 각각 구현될 수 있다.And a converting unit that is also in the convenience transformation and quantization unit 120 of the description is but is shown to perform transform and quantization, not necessarily limited to, converting the residual block (e) 1, the residual block (e) And a quantization unit for quantizing the quantized signal.

또한, 역양자화 및 역변환부(140)가 역양자화 및 역변환을 수행하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니고, 양자화된 잔차 변환(

Figure 112017013493990-pat00016
)을 역양자화하는 역양자화부와, 양자화된 잔차 변환(
Figure 112017013493990-pat00017
)을 역변환하는 역변환부로 각각 구현될 수 있다.Also, although the inverse quantization and inverse transform unit 140 performs inverse quantization and inverse transform, the inverse quantization and inverse transform unit 140 is not necessarily limited to this,
Figure 112017013493990-pat00016
), An inverse quantization unit for inversely quantizing the quantized residual transform
Figure 112017013493990-pat00017
), Respectively, as shown in FIG.

가산기는 예측 블록(

Figure 112017013493990-pat00018
) 및 복원 잔차 블록(
Figure 112017013493990-pat00019
)에 기초하여 예비 복원(preliminary reconstruction) 블록(
Figure 112017013493990-pat00020
)을 생성할 수 있다. 예비 복원 블록(
Figure 112017013493990-pat00021
)은 예측 블록(
Figure 112017013493990-pat00022
) 및 복원 잔차 블록(
Figure 112017013493990-pat00023
)을 가산한 블록일 수 있다.The adder includes a prediction block
Figure 112017013493990-pat00018
) And restoration residual block (
Figure 112017013493990-pat00019
A preliminary reconstruction block < RTI ID = 0.0 >
Figure 112017013493990-pat00020
Can be generated. Preliminary restoration block (
Figure 112017013493990-pat00021
) ≪ / RTI >
Figure 112017013493990-pat00022
) And restoration residual block (
Figure 112017013493990-pat00023
) May be added.

CNN 기반 인루프 필터(150a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(

Figure 112017013493990-pat00024
), 2차 예비 복원 블록(
Figure 112017013493990-pat00025
), 또는 복원 잔차 블록(
Figure 112017013493990-pat00026
) 등일 수 있다. 복원 정보는 복원정보는 복원 블록(
Figure 112017013493990-pat00027
), 2차 복원 잔차 블록(
Figure 112017013493990-pat00028
또는
Figure 112017013493990-pat00029
), 최종 복원 블록(
Figure 112017013493990-pat00030
)등일 수 있다. 도 2a 및 도 2b에서는 CNN 기반 인루프 필터(150a)가 예비 복원 블록(
Figure 112017013493990-pat00031
)에 인루프 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00032
)을 생성하는 동작에 대해 설명한다.The CNN-based in-loop filter 150a may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information is stored in the preliminary restoration block (
Figure 112017013493990-pat00024
), A secondary spare reconstruction block (
Figure 112017013493990-pat00025
), Or restoration residual block (
Figure 112017013493990-pat00026
) And the like. The reconstruction information includes a reconstruction block (
Figure 112017013493990-pat00027
), A secondary restoration residual block (
Figure 112017013493990-pat00028
or
Figure 112017013493990-pat00029
), The final restoration block (
Figure 112017013493990-pat00030
) And the like. 2A and 2B, the CNN-based in-loop filter 150a includes a spare reconstruction block
Figure 112017013493990-pat00031
) To perform in-loop filtering on the restored block (
Figure 112017013493990-pat00032
Will be described.

CNN 기반 인루프 필터(150a)가 2차 예측 블록(예비 복원 블록(

Figure 112017013493990-pat00033
))에 인루프 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00034
)을 생성할 수 있다. 예비 복원 블록(
Figure 112017013493990-pat00035
)은 복원 잔차 블록(
Figure 112017013493990-pat00036
)과 예측 블록(
Figure 112017013493990-pat00037
)을 더한 블록일 수 있다. 복원 블록(
Figure 112017013493990-pat00038
)은 예측 블록(
Figure 112017013493990-pat00039
), 또는 예비 복원 블록(
Figure 112017013493990-pat00040
)보다 화질이 향상된 블록일 수 있다.The CNN-based in-loop filter 150a is a second-order prediction block (preliminary reconstruction block
Figure 112017013493990-pat00033
)) To perform in-loop filtering on the restored block (
Figure 112017013493990-pat00034
Can be generated. Preliminary restoration block (
Figure 112017013493990-pat00035
) Is the restoration residual block (
Figure 112017013493990-pat00036
) And the prediction block (
Figure 112017013493990-pat00037
). ≪ / RTI > Restore block (
Figure 112017013493990-pat00038
) ≪ / RTI >
Figure 112017013493990-pat00039
), Or a preliminary restoration block (
Figure 112017013493990-pat00040
May be a block with improved image quality.

CNN 기반 인루프 필터(150a)는 심층 콘볼루션 뉴럴 네트워크(deep convolutional neural network)를 사용할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(150a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.The CNN-based in-loop filter 150a may use a deep convolutional neural network. That is, the CNN-based in-loop filter 150a may be trained based on a plurality of training data. The CNN-based in-loop filter 150a may be trained to generate an appropriate output image for any input image.

CNN 기반 인루프 필터(150a)는 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함할 수 있다. 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)는 각각 복수의 노드들을 포함할 수 있다.The CNN-based in-loop filter 150a may include an input layer, a hidden layer, and an output layer. The input layer, the hidden layer, and the output layer may each include a plurality of nodes.

인접한 레이어 사이의 노드들은 연결 가중치를 가지고 서로 연결될 수 있다. 각 노드들은 활성화 모델에 기초하여 동작할 수 있다. 활성화 모델에 따라 입력 값에 대응하는 출력 값이 결정될 수 있다. 임의의 노드의 출력 값은 해당 노드와 연결된 다음 레이어의 노드로 입력될 수 있다. 다음 레이어의 노드는 복수의 노드들로부터 출력되는 값들을 입력 받을 수 있다. 임의의 노드의 출력 값이 다음 레이어의 노드로 입력되는 과정에서, 연결 가중치가 적용될 수 있다. 다음 레이어의 노드는 활성화 모델에 기초하여 입력 값에 대응하는 출력 값을 해당 노드와 연결된 그 다음 레이어의 노드로 출력할 수 있다.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)는 예비 복원 블록(

Figure 112017013493990-pat00041
)에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 부호화 장치(100)는 필터링 결과 생성된 복원 블록(
Figure 112017013493990-pat00042
)을 부호화함으로써 부호화 효율과 복잡도를 개선할 수 있다.The CNN based in-loop filter 150a includes a pre-
Figure 112017013493990-pat00041
) May be performed on a slice basis, a coding block basis, or a designated area. Accordingly, the encoding apparatus 100 performs a decoding process on the restored block
Figure 112017013493990-pat00042
) Are coded, it is possible to improve the coding efficiency and the complexity.

CNN 기반 인루프 필터(150a)는 예비 복원 블록(

Figure 112017013493990-pat00043
)에 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00044
)을 생성할 수 있다. 즉, CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00045
)에 기초하여 복원 블록(
Figure 112017013493990-pat00046
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150a)는 예비 복원 블록(
Figure 112017013493990-pat00047
) 및 픽셀 블록(f)에 기초하여 복원 블록(
Figure 112017013493990-pat00048
)을 생성하도록 학습할 수 있다.The CNN based in-loop filter 150a includes a pre-
Figure 112017013493990-pat00043
) To perform a restoration block (
Figure 112017013493990-pat00044
Can be generated. That is, the CNN-based in-loop filter 150a includes a pre-
Figure 112017013493990-pat00045
) ≪ / RTI >
Figure 112017013493990-pat00046
). ≪ / RTI > For example, the CNN-based in-loop filter 150a may include a pre-
Figure 112017013493990-pat00047
) And the pixel block ( f )
Figure 112017013493990-pat00048
). ≪ / RTI >

CNN 기반 인루프 필터(150a)는 복원 블록(

Figure 112017013493990-pat00049
)을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.The CNN-based in-loop filter 150a includes a restoration block
Figure 112017013493990-pat00049
May be transmitted to the decoded picture buffer 160.

CNN 기반 인루프 필터(150a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.The configuration and training method of the CNN-based in-loop filter 150a will be described later with reference to the drawings.

복호화 픽쳐 버퍼(160)는 복원 블록(

Figure 112017013493990-pat00050
)을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이(display)할 수 있다.The decoded picture buffer 160 includes a restoration block (
Figure 112017013493990-pat00050
) Can be stored or output to a display device or the like and displayed.

복호화 픽쳐 버퍼(160)가 복원 블록(

Figure 112017013493990-pat00051
)을 저장하는 경우, 복호화 픽쳐 버퍼(160)는 예측부(170)가 예측 블록(
Figure 112017013493990-pat00052
)을 생성할 때, 복원 블록(
Figure 112017013493990-pat00053
)이 사용되도록 전송할 수 있다. 예를 들어, 예측부(170)는 이후의 화면 내 예측(intra prediction) 또는 화면 간 예측(inter prediction) 동작 과정에서 복원 블록(
Figure 112017013493990-pat00054
)이 사용하여 예측 블록(
Figure 112017013493990-pat00055
)을 생성할 수 있다.When the decoded picture buffer 160 is in the restoration block (
Figure 112017013493990-pat00051
The decoded picture buffer 160 stores the decoded picture in the prediction block 170
Figure 112017013493990-pat00052
), The restoration block (
Figure 112017013493990-pat00053
) May be used for transmission. For example, in the intra prediction or inter prediction operation, the prediction unit 170 may generate a reconstruction block
Figure 112017013493990-pat00054
) To use the prediction block (
Figure 112017013493990-pat00055
Can be generated.

예측부(170)는 픽셀 블록(f) 및 복원 블록(

Figure 112017013493990-pat00056
)에 기초하여 예측 블록(
Figure 112017013493990-pat00057
)을 생성할 수 있다. 복원 블록(
Figure 112017013493990-pat00058
)과 픽셀 블록(f)은 시간 차이가 있을 수 있다. 예를 들어, 복원 블록(
Figure 112017013493990-pat00059
)은 픽셀 블록(f)보다 먼저 생성된 블록일 수 있다.The prediction unit 170 predicts the pixel block f and the restoration block
Figure 112017013493990-pat00056
On the basis of the prediction block
Figure 112017013493990-pat00057
Can be generated. Restore block (
Figure 112017013493990-pat00058
) And the pixel block f may have a time difference. For example, the restoration block (
Figure 112017013493990-pat00059
) May be a block generated before the pixel block f .

예측부(170)는 픽셀 블록(f) 및 복원 블록(

Figure 112017013493990-pat00060
)에 기초하여 예측 블록(
Figure 112017013493990-pat00061
)의 정보를 생성할 수 있다. 예를 들어, 예측 블록(
Figure 112017013493990-pat00062
)의 정보는 화면 내 예측 모드, 화면 간 움직임 예측 모드, 움직임 블록 타입, 및 움직임 벡터 중 적어도 하나를 포함할 수 있다.The prediction unit 170 predicts the pixel block f and the restoration block
Figure 112017013493990-pat00060
On the basis of the prediction block
Figure 112017013493990-pat00061
Can be generated. For example, the prediction block (
Figure 112017013493990-pat00062
) May include at least one of an intra-picture prediction mode, an inter-picture motion prediction mode, a motion block type, and a motion vector.

예측부(170)는 프레임 내 추정부(171), 움직임 추정부(172), 프레임 내 예측부(173), 움직임 보상부(174), 모드 결정부(175), 및 예측 영상 생성부(176)을 포함할 수 있다.The prediction unit 170 includes an in-frame estimation unit 171, a motion estimation unit 172, an intra-frame prediction unit 173, a motion compensation unit 174, a mode determination unit 175, ).

프레임 내 추정부(171) 및 움직임 추정부(172)는 입력 영상(110) 및 (복호화 픽쳐 버퍼(160)로부터) 복원 블록(

Figure 112017013493990-pat00063
)을 수신할 수 있다.The in-frame estimation unit 171 and the motion estimation unit 172 receive the input image 110 and the reconstruction block (from the decoding picture buffer 160)
Figure 112017013493990-pat00063
Can be received.

프레임 내 추정부(171)는 입력 영상(110) 및 복원 블록(

Figure 112017013493990-pat00064
)에 기초하여 인트라 모드(intra mode)를 결정할 수 있다. 프레임 내 추정부(171)는 인트라 모드를 프레임 내 예측부(173) 및 엔트로피 부호화부(130)로 전송할 수 있다.The in-frame estimation unit 171 receives the input image 110 and the reconstruction block
Figure 112017013493990-pat00064
The intra mode can be determined based on the intra mode. The in-frame estimation unit 171 can transmit the intra mode to the intra-frame prediction unit 173 and the entropy encoding unit 130. [

프레임 내 예측부(173)는 인트라 모드에서 입력 영상(110) 및 복원 블록(

Figure 112017013493990-pat00065
)에 기초하여 화면 내 예측을 수행하고, 모드 결정부(175)로 전송할 수 있다.The intra-frame prediction unit 173 predicts an input image 110 and a reconstruction block
Figure 112017013493990-pat00065
), And can transmit the prediction to the mode determination unit 175. [

움직임 추정부(172)는 입력 영상(110) 및 복원 블록(

Figure 112017013493990-pat00066
)에 기초하여 움직임 벡터들(motion vectors(MVs))을 추출할 수 있다. 움직임 추정부(172)는 움직임 벡터들을 움직임 보상부(174)로 전송할 수 있다.The motion estimation unit 172 receives the input image 110 and the reconstruction block
Figure 112017013493990-pat00066
(Motion vectors (MVs)) based on the motion vectors (MVs). The motion estimation unit 172 may transmit the motion vectors to the motion compensation unit 174. [

움직임 보상부(174)는 입력 영상(110) 및 복원 블록(

Figure 112017013493990-pat00067
)의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 모드 결정부(175)로 전송할 수 있다.The motion compensating unit 174 compensates the input image 110 and the restoring block
Figure 112017013493990-pat00067
, And can transmit the intra-picture motion to the mode determination unit 175. The mode determination unit 175 determines the intra-picture motion based on the motion vectors.

모드 결정부(175)는 프레임 내 예측부(173) 및 움직임 보상부(174)로부터의 데이터에 기초하여 부호화 모드를 결정할 수 있다. 예를 들어, 부호화 모드는 인트라 모드(intra mode), 인터 모드(inter mode) 등이 있을 수 있다.The mode determination unit 175 can determine the encoding mode based on the data from the intra-frame prediction unit 173 and the motion compensation unit 174. [ For example, the encoding mode may be an intra mode, an inter mode, or the like.

예측 영상 생성부(176)는 모드 결정부(175)가 결정한 부호화 모드에 기초하여 예측 블록(

Figure 112017013493990-pat00068
)을 생성할 수 있다.The predictive image generation unit 176 generates a predictive image based on the encoding mode determined by the mode determination unit 175
Figure 112017013493990-pat00068
Can be generated.

예측 영상 생성부(176)는 생성한 예측 블록(

Figure 112017013493990-pat00069
)을 가산기 또는 엔트로피 부호화부(130)로 전송할 수 있다.The predictive image generator 176 generates the predictive image
Figure 112017013493990-pat00069
To the adder or the entropy encoding unit 130.

도 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 encoding apparatus 100 includes a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, an in-loop filter 145, An in-loop filter 150b, a decoded picture buffer 160, a predicting unit 170, and a plurality of adders.

도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(145) 및 CNN 기반 인루프 필터(150b)에 대해 설명한다.The transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transformation unit 140, the decoded picture buffer 160, the prediction unit 170, The configuration and operation of the transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transformation unit 140, the decoded picture buffer 160, the prediction unit 170, Can be the same. Hereinafter, the in-loop filter 145 and the CNN-based in-loop filter 150b will be described.

인루프 필터(145)는 가산기로부터 예비 복원 블록(

Figure 112017013493990-pat00070
)을 수신할 수 있다. 인루프 필터(145)는 예비 복원 블록(
Figure 112017013493990-pat00071
)에 필터링을 수행하여 2차 예비 복원 블록(
Figure 112017013493990-pat00072
)을 생성할 수 있다.The in-loop filter 145 receives from the adder a pre-
Figure 112017013493990-pat00070
Can be received. The in-loop filter 145 includes a pre-
Figure 112017013493990-pat00071
) To perform a second-order preliminary restoration block (
Figure 112017013493990-pat00072
Can be generated.

인루프 필터(145)는 디블록킹 필터(deblocking filter(DF)), 샘플 적응형 오프셋 필터(sample adaptive offset(SAO) filter), 및 적응형 루프 필터(adaptive loop filter(ALF)) 중 적어도 하나를 포함할 수 있다.The in-loop filter 145 includes at least one of a deblocking filter (DF), a sample adaptive offset filter (SAO), and an adaptive loop filter (ALF) .

즉, 인루프 필터(145)가 1 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 하나의 필터로 구현될 수 있다.In other words, if the in-loop filter 145 includes one filter, the in-loop filter 145 may include one of a deblocking filter DF, a sample adaptive offset filter SAO filter, and an adaptive loop filter ALF It can be implemented as one filter.

인루프 필터(145)가 2 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF) 및 샘플 적응형 오프셋 필터(SAO filter)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 샘플 적응형 오프셋 필터(SAO filter) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다. 또는, 인루프 필터(145)는 디블록킹 필터(DF) 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.If the in-loop filter 145 includes two filters, the in-loop filter 145 may be implemented to include a deblocking filter DF and a sample adaptive offset filter SAO filter. Alternatively, the in-loop filter 145 may be implemented to include a sample adaptive offset filter (SAO filter) and an adaptive loop filter (ALF). Alternatively, the in-loop filter 145 may be implemented as including a deblocking filter DF and an adaptive loop filter ALF.

인루프 필터(145)가 3 개의 필터를 포함하는 경우, 인루프 필터(145)는 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF)를 포함하는 것으로 구현될 수 있다.If the in-loop filter 145 includes three filters, the in-loop filter 145 includes a deblocking filter DF, a sample adaptive offset filter SAO filter, and an adaptive loop filter ALF ≪ / RTI >

디블록킹 필터(DF)는 예비 복원 블록(

Figure 112017013493990-pat00073
)을 필터링하여 예비 복원 블록(
Figure 112017013493990-pat00074
)의 경계영역에 나타나는 블록간 화소값 차이 왜곡을 완화시킬 수 있다. 블록간 화소값 차이는 양자화 과정에서 발생할 수 있다. 디블록킹 필터(DF)는 정해진 필터 계수를 필터링에 사용할 수 있다.The deblocking filter (DF)
Figure 112017013493990-pat00073
) To filter the preliminary restoration block (
Figure 112017013493990-pat00074
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)는 예비 복원 블록(

Figure 112017013493990-pat00075
)에 디블록킹 필터링을 수행한 결과와 픽셀 블록(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)
Figure 112017013493990-pat00075
) And the difference between the pixel block f and the result of the deblocking filtering can be restored to an offset.

적응형 루프 필터(ALF)는 예비 복원 블록(

Figure 112017013493990-pat00076
)에 상기 샘플 적응형 오프셋 필터링된 결과에 1단 선형 매핑 모델을 사용하여 필터링을 수행할 수 있다.The adaptive loop filter (ALF)
Figure 112017013493990-pat00076
) May perform filtering using the one-stage linear mapping model on the sample adaptive offset filtered result.

CNN 기반 인루프 필터(150b)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(

Figure 112017013493990-pat00077
)을 포함하고, 복원 정보는 최종 복원 블록(
Figure 112017013493990-pat00078
)을 포함할 수 있다.The CNN-based in-loop filter 150b may perform filtering on the prediction information to generate reconstruction information. The prediction information includes a secondary spare reconstruction block (
Figure 112017013493990-pat00077
), And the reconstruction information includes a final reconstruction block (
Figure 112017013493990-pat00078
).

즉, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록(

Figure 112017013493990-pat00079
)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00080
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00081
) 및 픽셀 블록(f)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00082
)을 생성하도록 학습할 수 있다.In other words, the CNN-based in-loop filter 150b performs a post-
Figure 112017013493990-pat00079
) To the final restoration block (
Figure 112017013493990-pat00080
). ≪ / RTI > For example, the CNN-based in-loop filter 150b may include a second-order pre-
Figure 112017013493990-pat00081
) And the pixel block ( f )
Figure 112017013493990-pat00082
). ≪ / RTI >

CNN 기반 인루프 필터(150b)는 최종 복원 블록(

Figure 112017013493990-pat00083
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The CNN based in-loop filter 150b includes a final reconstruction block
Figure 112017013493990-pat00083
May be transmitted to the decoded picture buffer 160.

도 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 encoding apparatus 100 includes a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, a CNN based in-loop filter 150c, a decoded picture buffer 160 ) Prediction unit 170, and a plurality of adders.

도 4에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150c)에 대해 설명한다.The transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transform unit 140, the decoded picture buffer 160, the prediction unit 170, The configuration and operation of the transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transformation unit 140, the decoded picture buffer 160, the prediction unit 170, Can be the same. Hereinafter, the CNN-based in-loop filter 150c will be described.

CNN 기반 인루프 필터(150c)는 예측 정보에 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150c)는 가산기로부터 예비 복원 블록(

Figure 112017013493990-pat00084
)을 수신할 수 있다. CNN 기반 인루프 필터(150c)는 예비 복원 블록(
Figure 112017013493990-pat00085
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00086
)을 생성할 수 있다.The CNN-based in-loop filter 150c may perform filtering on the prediction information to generate reconstruction information. The CNN-based in-loop filter 150c receives from the adder a pre-
Figure 112017013493990-pat00084
Can be received. The CNN-based in-loop filter 150c includes a pre-
Figure 112017013493990-pat00085
) To perform a restoration residual block (
Figure 112017013493990-pat00086
Can be generated.

즉, CNN 기반 인루프 필터(150c)는 예비 복원 블록(

Figure 112017013493990-pat00087
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00088
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150c)는 예비 복원 블록(
Figure 112017013493990-pat00089
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00090
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 150c includes a pre-
Figure 112017013493990-pat00087
) ≪ / RTI >
Figure 112017013493990-pat00088
). ≪ / RTI > For example, the CNN-based in-loop filter 150c may include a pre-
Figure 112017013493990-pat00089
) And a residual block ( e )
Figure 112017013493990-pat00090
). ≪ / RTI >

CNN 기반 인루프 필터(150c)는 복원 잔차 블록(

Figure 112017013493990-pat00091
)을 가산기에 전송할 수 있다.The CNN-based in-loop filter 150c includes a restoration residual block
Figure 112017013493990-pat00091
) To the adder.

가산기는 복원 잔차 블록(

Figure 112017013493990-pat00092
) 및 예측 블록(
Figure 112017013493990-pat00093
)을 가산하여 복원 블록(
Figure 112017013493990-pat00094
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00095
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block (
Figure 112017013493990-pat00092
) And a prediction block (
Figure 112017013493990-pat00093
) Is added to the restoration block (
Figure 112017013493990-pat00094
Can be generated. The adder is a reconstruction block (
Figure 112017013493990-pat00095
May be transmitted to the decoded picture buffer 160.

도 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 encoding apparatus 100 includes a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, an in-loop filter 145, a CNN-based in-loop filter 150d ), A decoded picture buffer 160, a predicting unit 170, and a plurality of adders.

도 5에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 3에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 인루프 필터(145), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150d)에 대해 설명한다.The transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transform unit 140, the in-loop filter 145, the decoded picture buffer 160, the predictor 170, The adders include a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, an in-loop filter 145, a decoded picture buffer 160, 170, and a plurality of adders may be substantially the same in construction and operation. Hereinafter, the CNN-based in-loop filter 150d will be described.

CNN 기반 인루프 필터(150d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150d)는 인루프 필터(145)로부터 2차 예비 복원 블록(

Figure 112017013493990-pat00096
)을 수신할 수 있다. CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00097
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00098
)을 생성할 수 있다. 복원 잔차 블록(
Figure 112017013493990-pat00099
)은 도 4에 도시된 복원 잔차 블록(
Figure 112017013493990-pat00100
)보다 0에 더 가까운 값일 수 있다.The CNN-based in-loop filter 150d may perform in-loop filtering on the prediction information to generate reconstruction information. The CNN based in-loop filter 150d receives the in-loop filter 145 from the secondary spare reconstruction block
Figure 112017013493990-pat00096
Can be received. The CNN based in-loop filter 150d includes a secondary spare reconstruction block
Figure 112017013493990-pat00097
) To perform a restoration residual block (
Figure 112017013493990-pat00098
Can be generated. Restoration residual block (
Figure 112017013493990-pat00099
) Is the restoration residual block shown in FIG. 4
Figure 112017013493990-pat00100
Lt; RTI ID = 0.0 > 0 < / RTI >

즉, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(

Figure 112017013493990-pat00101
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00102
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00103
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00104
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 150d outputs the second preliminary restoration block (
Figure 112017013493990-pat00101
) ≪ / RTI >
Figure 112017013493990-pat00102
). ≪ / RTI > For example, the CNN based in-loop filter 150d may include a secondary spare reconstruction block
Figure 112017013493990-pat00103
) And a residual block ( e )
Figure 112017013493990-pat00104
). ≪ / RTI >

CNN 기반 인루프 필터(150d)는 복원 잔차 블록(

Figure 112017013493990-pat00105
)을 가산기에 전송할 수 있다.The CNN-based in-loop filter 150d includes a restoration residual block
Figure 112017013493990-pat00105
) To the adder.

가산기는 복원 잔차 블록(

Figure 112017013493990-pat00106
)및 예측 블록(
Figure 112017013493990-pat00107
)을 가산하여 최종 복원 블록(
Figure 112017013493990-pat00108
)을 생성할 수 있다. 가산기는 최종 복원 블록(
Figure 112017013493990-pat00109
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block (
Figure 112017013493990-pat00106
) And a prediction block (
Figure 112017013493990-pat00107
) Is added to the final restoration block (
Figure 112017013493990-pat00108
Can be generated. The adder adds the final restoration block (
Figure 112017013493990-pat00109
May be transmitted to the decoded picture buffer 160.

도 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 encoding apparatus 100 includes a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, a CNN based in-loop filter 150e, a decoded picture buffer 160 ) Prediction unit 170, and a plurality of adders.

도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 2a에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(150e)에 대해 설명한다.The transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transformation unit 140, the decoded picture buffer 160, the prediction unit 170, The configuration and operation of the transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transformation unit 140, the decoded picture buffer 160, the prediction unit 170, Can be the same. Hereinafter, the CNN-based in-loop filter 150e will be described.

CNN 기반 인루프 필터(150e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. CNN 기반 인루프 필터(150e)는 역양자화 및 역변환부(140)로부터 역양자화 및 역변환된 복원 잔차 블록(

Figure 112017013493990-pat00110
)을 수신할 수 있다. CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00111
)에 필터링을 수행하여 복원 정보를 생성할 수 있다. 복원 정보는 2차 복원 잔차 블록(
Figure 112017013493990-pat00112
)을 포함할 수 있다.The CNN-based in-loop filter 150e may perform in-loop filtering on the prediction information to generate reconstruction information. The CNN-based in-loop filter 150e receives the inverse quantized and inverse transformed restored residual block (inverse quantized and inverse transformed block)
Figure 112017013493990-pat00110
Can be received. The CNN based in-loop filter 150e includes a restoration residual block
Figure 112017013493990-pat00111
) To generate reconstruction information. The reconstruction information includes a second reconstruction residual block (
Figure 112017013493990-pat00112
).

즉, CNN 기반 인루프 필터(150e)는 복원 잔차 블록(

Figure 112017013493990-pat00113
)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00114
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(150e)는 복원 잔차 블록(
Figure 112017013493990-pat00115
) 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00116
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 150e outputs the restoration residual block
Figure 112017013493990-pat00113
) Based on the second reconstruction residual block
Figure 112017013493990-pat00114
). ≪ / RTI > For example, the CNN-based in-loop filter 150e may include a reconstruction residual block
Figure 112017013493990-pat00115
) And a residual block ( e ).
Figure 112017013493990-pat00116
). ≪ / RTI >

CNN 기반 인루프 필터(150e)는 복원 잔차 블록(

Figure 112017013493990-pat00117
)을 가산기에 전송할 수 있다.The CNN based in-loop filter 150e includes a restoration residual block
Figure 112017013493990-pat00117
) To the adder.

가산기는 복원 잔차 블록(

Figure 112017013493990-pat00118
) 및 예측 블록(
Figure 112017013493990-pat00119
)을 가산하여 복원 블록(
Figure 112017013493990-pat00120
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00121
)을 복호화 픽쳐 버퍼(160)에 전송할 수 있다.The adder computes the restoration residual block (
Figure 112017013493990-pat00118
) And a prediction block (
Figure 112017013493990-pat00119
) Is added to the restoration block (
Figure 112017013493990-pat00120
Can be generated. The adder is a reconstruction block (
Figure 112017013493990-pat00121
May be transmitted to the decoded picture buffer 160.

도 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 encoding apparatus 100 includes a transform and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, a CNN based in-loop filter 150e, an in-loop filter 147 ), A decoded picture buffer 160, a predicting unit 170, and a plurality of adders.

도 7에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기는 도 6에 도시된 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), CNN 기반 인루프 필터(150e), 복호화 픽쳐 버퍼(160), 예측부(170), 및 복수의 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(147)에 대해 설명한다.An inverse quantization and inverse transform unit 140, a CNN based in-loop filter 150e, a decoded picture buffer 160, a predicting unit 170, an entropy coding unit 130, And a plurality of adders includes the transform and quantization unit 120, the entropy encoding unit 130, the inverse quantization and inverse transform unit 140, the CNN based in-loop filter 150e, the decoded picture buffer 160, The predicting unit 170, and a plurality of adders may be substantially the same in structure and operation. Hereinafter, the in-loop filter 147 will be described.

인루프 필터(147)는 가산기로부터 복원 블록(

Figure 112017013493990-pat00122
)을 수신할 수 있다. 복원 블록(
Figure 112017013493990-pat00123
)은 1차 복원 블록(
Figure 112017013493990-pat00124
)일 수 있다. 인루프 필터(147)는 1차 복원 블록(
Figure 112017013493990-pat00125
)에 필터링을 수행하여 최종 복원 블록(
Figure 112017013493990-pat00126
)을 생성할 수 있다. 인루프 필터(147)는 최종 복원 블록(
Figure 112017013493990-pat00127
)을 복호화 픽쳐 버퍼(160)로 전송할 수 있다.The in-loop filter 147 receives the in-
Figure 112017013493990-pat00122
Can be received. Restore block (
Figure 112017013493990-pat00123
) Is a first-order restoration block (
Figure 112017013493990-pat00124
). The in-loop filter 147 includes a primary reconstruction block
Figure 112017013493990-pat00125
) To perform a final restoration block (
Figure 112017013493990-pat00126
Can be generated. The in-loop filter 147 includes a final reconstruction block
Figure 112017013493990-pat00127
May be transmitted to the decoded picture buffer 160.

인루프 필터(147)는 도 3에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter 147 may include at least one of a deblocking filter DF, a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF), as described above in FIG.

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, a CNN based in-loop filter 230a, an encoding picture buffer 240, 250), and an adder.

복호화 장치(200)는 도 2a 내지 도 7에 도시된 부호화 장치(100)에서 수행되는 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응할 수 있다. 즉, 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 2a에 도시된 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 변환 및 양자화부(120), 복호화 픽쳐 버퍼(160), 예측부(170), 및 가산기에 대응할 수 있다.The decoding apparatus 200 may correspond to a computing apparatus that applies the encoding method performed by the encoding apparatus 100 shown in Figs. 2A to 7 to decryption. That is, the entropy decoding unit 210, the inverse quantization and inverse transform unit 220, the encoding picture buffer 240, the predicting unit 250, and the adder are the entropy encoding unit 130 shown in FIG. 2A, the inverse quantization and inverse transform A transforming and quantizing unit 120, a decoding picture buffer 160, a predicting unit 170, and an adder.

엔트로피 복호화부(210)는 부호화된 비트스트림 정보에 파싱을 수행함으로써 복호화를 수행할 수 있다. 엔트로피 복호화부(210)는 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력할 수 있다. 엔트로피 복호화부(210)는 양자화된 잔차(

Figure 112018091230536-pat00128
)를 역양자화 및 역변환부(140) 및/또는 예측부(170)로 전송할 수 있다.The entropy decoding unit 210 may perform decoding by performing parsing on the encoded bitstream information. The entropy decoding unit 210 may perform decoding to output information on the filtering information and the prediction image. The entropy decoding unit 210 decodes the quantized residual (
Figure 112018091230536-pat00128
To the inverse quantization and inverse transformation unit 140 and / or the prediction unit 170. [

역양자화 및 역변환부(220)는 변환 및/또는 양자화된 잔차(

Figure 112017013493990-pat00129
)에 역양자화 및/또는 역변환을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00130
)을 생성할 수 있다. 역양자화 및 역변환부(220)는 복원 잔차 블록(
Figure 112017013493990-pat00131
)을 가산기로 전송할 수 있다.The inverse quantization and inverse transform unit 220 transforms and /
Figure 112017013493990-pat00129
) And performing inverse quantization and / or inverse transform on the restored residual block
Figure 112017013493990-pat00130
Can be generated. The inverse quantization and inverse transform unit 220 transforms the reconstructed residual block
Figure 112017013493990-pat00131
) To the adder.

가산기는 역양자화 및 역변환부(220)로부터 복원 잔차 블록(

Figure 112017013493990-pat00132
)을 수신하고, 예측부(170)로부터 예측 블록(
Figure 112017013493990-pat00133
)을 수신할 수 있다. 가산기는 복원 잔차 블록(
Figure 112017013493990-pat00134
) 및 예측 블록(
Figure 112017013493990-pat00135
)을 가산하여 예비 복원 블록(
Figure 112017013493990-pat00136
)을 생성할 수 있다. 가산기는 예비 복원 블록(
Figure 112017013493990-pat00137
)을 CNN 기반 인루프 필터(230a)로 전송할 수 있다.The adder removes the restored residual block from the inverse quantization and inverse transform unit 220
Figure 112017013493990-pat00132
) From the prediction unit 170, and outputs the prediction block (
Figure 112017013493990-pat00133
Can be received. The adder computes the restoration residual block (
Figure 112017013493990-pat00134
) And a prediction block (
Figure 112017013493990-pat00135
) To the preliminary restoration block (
Figure 112017013493990-pat00136
Can be generated. The adder is a preliminary restoration block (
Figure 112017013493990-pat00137
) To the CNN based in-loop filter 230a.

CNN 기반 인루프 필터(230a)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(

Figure 112017013493990-pat00138
)을 포함하고, 복원 정보는 복원 블록(
Figure 112017013493990-pat00139
)을 포함할 수 있다.The CNN-based in-loop filter 230a may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information is stored in the preliminary restoration block (
Figure 112017013493990-pat00138
), And the reconstruction information includes a reconstruction block (
Figure 112017013493990-pat00139
).

도 2a에서 상술한 바와 같이, CNN 기반 인루프 필터(230a)는 심층 콘볼루션 뉴럴 네트워크를 사용할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 복수의 트레이닝 데이터에 기초하여 훈련될 수 있다. CNN 기반 인루프 필터(230a)는 임의의 입력 영상에 대하여 적절한 출력 영상을 생성하도록 훈련될 수 있다.As described above in FIG. 2A, the CNN-based in-loop filter 230a may use a deep convolution neural network. That is, the CNN-based in-loop filter 230a may be trained based on a plurality of training data. The CNN based in-loop filter 230a may be trained to generate an appropriate output image for any input image.

즉, CNN 기반 인루프 필터(230a)는 입력 레이어, 은닉 레이어, 및 출력 레이어를 포함할 수 있다. 입력 레이어, 은닉 레이어, 및 출력 레이어는 각각 복수의 노드들을 포함할 수 있다.That is, the CNN-based in-loop filter 230a may include an input layer, a hidden layer, and an output layer. The input layer, the hidden layer, and the output layer may each include a plurality of nodes.

CNN 기반 인루프 필터(230a)는 2차 예측 블록(

Figure 112017013493990-pat00140
)에 슬라이스 별로, 부호화 블록 별로, 또는 지정된 영역 별로 필터링을 수행할 수 있다. 이에, 복호화 장치(200)는 필터링 결과 생성된 복원 블록(
Figure 112017013493990-pat00141
)을 복호화함으로써 복호화 효율과 복잡도를 개선할 수 있다.The CNN-based in-loop filter 230a includes a second-order prediction block
Figure 112017013493990-pat00140
) May be performed on a slice basis, a coding block basis, or a designated area. Accordingly, the decoding apparatus 200 decodes the reconstructed block (
Figure 112017013493990-pat00141
), It is possible to improve the decoding efficiency and the complexity.

CNN 기반 인루프 필터(230a)는 예비 복원 블록(

Figure 112017013493990-pat00142
)에 필터링을 수행하여 복원 블록(
Figure 112017013493990-pat00143
)을 생성할 수 있다. 즉, CNN 기반 인루프 필터(230a)는 예비 복원 블록(
Figure 112017013493990-pat00144
)에 기초하여 복원 블록(
Figure 112017013493990-pat00145
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230a)는 예비 복원 블록(
Figure 112017013493990-pat00146
) 및 픽셀 블록(f)에 기초하여 복원 블록(
Figure 112017013493990-pat00147
)을 생성하도록 학습할 수 있다.The CNN based in-loop filter 230a includes a pre-
Figure 112017013493990-pat00142
) To perform a restoration block (
Figure 112017013493990-pat00143
Can be generated. That is, the CNN-based in-loop filter 230a includes a pre-
Figure 112017013493990-pat00144
) ≪ / RTI >
Figure 112017013493990-pat00145
). ≪ / RTI > For example, the CNN based in-loop filter 230a may include a pre-
Figure 112017013493990-pat00146
) And the pixel block ( f )
Figure 112017013493990-pat00147
). ≪ / RTI >

CNN 기반 인루프 필터(230a)는 복원 블록(

Figure 112017013493990-pat00148
)을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.The CNN-based in-loop filter 230a includes a reconstruction block
Figure 112017013493990-pat00148
To the encoding picture buffer 240. [

CNN 기반 인루프 필터(230a)의 구성, 훈련 방법 등에 대해서는 도면을 참조하여 후술하도록 한다.The configuration, training method, and the like of the CNN-based in-loop filter 230a will be described later with reference to the drawings.

부호화 픽쳐 버퍼(240)는 복원 블록(

Figure 112017013493990-pat00149
)을 저장하거나, 또는 디스플레이 장치 등으로 출력하여 디스플레이할 수 있다.The encoded picture buffer 240 includes a reconstruction block
Figure 112017013493990-pat00149
Can be stored or output to a display device or the like for display.

부호화 픽쳐 버퍼(240)가 복원 블록(

Figure 112017013493990-pat00150
)을 저장하는 경우, 부호화 픽쳐 버퍼(240)는 예측부(250)가 예측 블록(
Figure 112017013493990-pat00151
)을 생성할 때, 복원 블록(
Figure 112017013493990-pat00152
)이 사용되도록 전송할 수 있다. 예를 들어, 예측부(250)는 이후의 화면 내 예측 또는 화면 간 예측 동작 과정에서 복원 블록(
Figure 112017013493990-pat00153
)이 사용하여 예측 블록(
Figure 112017013493990-pat00154
)을 생성할 수 있다.When the encoding picture buffer 240 is in the restoration block (
Figure 112017013493990-pat00150
, The encoding picture buffer 240 determines whether or not the prediction unit 250 predicts the prediction block
Figure 112017013493990-pat00151
), The restoration block (
Figure 112017013493990-pat00152
) May be used for transmission. For example, in the intra-picture prediction or inter-picture prediction operation,
Figure 112017013493990-pat00153
) To use the prediction block (
Figure 112017013493990-pat00154
Can be generated.

예측부(250)는 복원 블록(

Figure 112017013493990-pat00155
)에 기초하여 예측 블록(
Figure 112017013493990-pat00156
)을 생성할 수 있다. 예측부(250)는 프레임 내 예측부(251), 움직임 보상부(252), 및 예측 영상 생성부(253)을 포함할 수 있다.The predicting unit 250 estimates the number
Figure 112017013493990-pat00155
On the basis of the prediction block
Figure 112017013493990-pat00156
Can be generated. The prediction unit 250 may include an intra-frame prediction unit 251, a motion compensation unit 252, and a prediction image generation unit 253.

프레임 내 예측부(251) 및 움직임 보상부(252)는 부호화 픽쳐 버퍼(240)로부터 복원 블록(

Figure 112017013493990-pat00157
)을, 엔트로피 복호화부(210)로부터 양자화된 잔차(
Figure 112017013493990-pat00158
)를 수신할 수 있다.The intra-frame prediction unit 251 and the motion compensation unit 252 receive the reconstructed block from the encoded picture buffer 240
Figure 112017013493990-pat00157
) From the entropy decoding unit 210,
Figure 112017013493990-pat00158
Can be received.

프레임 내 예측부(251)는 인트라 모드에서 양자화된 잔차(

Figure 112017013493990-pat00159
) 및 복원 블록(
Figure 112017013493990-pat00160
)에 기초하여 화면 내 예측을 수행하고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.The intra-frame prediction unit 251 multiplies the quantized residual (
Figure 112017013493990-pat00159
) And restoration block (
Figure 112017013493990-pat00160
), And transmits the resultant value to the predicted image generating unit 253. [0145] FIG.

움직임 보상부(252)는 양자화된 잔차(

Figure 112017013493990-pat00161
) 및 복원 블록(
Figure 112017013493990-pat00162
)의 움직임 벡터들에 기초하여 화면 내 움직임을 보상할 수 있고, 결과값을 예측 영상 생성부(253)로 전송할 수 있다.The motion compensating unit 252 receives the quantized residual (
Figure 112017013493990-pat00161
) And restoration block (
Figure 112017013493990-pat00162
The intra-picture motion can be compensated based on the motion vectors of the motion vectors of the motion vectors, and the result can be transmitted to the predictive image generator 253.

예측 영상 생성부(253)는 프레임 내 예측부(251) 및 움직임 보상부(252)의 결과값에 기초하여 예측 블록(

Figure 112017013493990-pat00163
)을 생성할 수 있다. 예측 영상 생성부(253)는 생성한 예측 블록(
Figure 112017013493990-pat00164
)을 가산기로 전송할 수 있다.The predictive image generation unit 253 generates a predictive image based on the result values of the intra-frame prediction unit 251 and the motion compensation unit 252
Figure 112017013493990-pat00163
Can be generated. The predictive image generating unit 253 generates the predictive image
Figure 112017013493990-pat00164
) To the adder.

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, an in-loop filter 225, a CNN based in-loop filter 230b, an encoding picture buffer 240, A prediction unit 250, and an adder.

도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(225) 및 CNN 기반 인루프 필터(230b)에 대하여 설명한다.The entropy decoding unit 210, the inverse quantization and inverse transform unit 220, the encoding picture buffer 240, the prediction unit 250, and the adder shown in FIG. 9 include a decoding unit 210 shown in FIG. 8A, And the inverse transform unit 220, the encoding picture buffer 240, the prediction unit 250, and the adder. Hereinafter, the in-loop filter 225 and the CNN-based in-loop filter 230b will be described.

인루프 필터(225)는 가산기로부터 예비 복원 블록(

Figure 112017013493990-pat00165
)을 수신할 수 있다. 인루프 필터(225)는 예비 복원 블록(
Figure 112017013493990-pat00166
)에 필터링을 수행하여 2차 예비 복원 블록(
Figure 112017013493990-pat00167
)을 생성할 수 있다. 인루프 필터(225)는 2차 예비 복원 블록(
Figure 112017013493990-pat00168
)을 CNN 기반 인루프 필터(230b)로 전송할 수 있다.The in-loop filter 225 receives from the adder a pre-
Figure 112017013493990-pat00165
Can be received. The in-loop filter 225 includes a pre-
Figure 112017013493990-pat00166
) To perform a second-order preliminary restoration block (
Figure 112017013493990-pat00167
Can be generated. The in-loop filter 225 includes a secondary spare reconstruction block
Figure 112017013493990-pat00168
) To the CNN based in-loop filter 230b.

인루프 필터(225)는 상술한 바와 같이 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter 225 may include at least one of a deblocking filter DF, a sample adaptive offset filter SAO filter, and an adaptive loop filter ALF, as described above.

CNN 기반 인루프 필터(230b)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(

Figure 112017013493990-pat00169
)을 포함하고, 복워 정보는 최종 복원 블록(
Figure 112017013493990-pat00170
)을 포함할 수 있다.The CNN-based in-loop filter 230b may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information includes a secondary spare reconstruction block (
Figure 112017013493990-pat00169
), And the boost information includes a final restoration block (
Figure 112017013493990-pat00170
).

즉, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록(

Figure 112017013493990-pat00171
)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00172
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230b)는 2차 예비 복원 블록(
Figure 112017013493990-pat00173
) 및 픽셀 블록(f)에 기초하여 최종 복원 블록(
Figure 112017013493990-pat00174
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 230b includes a secondary spare reconstruction block
Figure 112017013493990-pat00171
) To the final restoration block (
Figure 112017013493990-pat00172
). ≪ / RTI > For example, the CNN based in-loop filter 230b may include a second-order pre-
Figure 112017013493990-pat00173
) And the pixel block ( f )
Figure 112017013493990-pat00174
). ≪ / RTI >

CNN 기반 인루프 필터(230b)는 최종 복원 블록(

Figure 112017013493990-pat00175
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The CNN-based in-loop filter 230b includes a final reconstruction block
Figure 112017013493990-pat00175
) To the coded picture buffer 240. [

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, a CNN based in-loop filter 230c, an encoding picture buffer 240, a prediction unit 250, And a plurality of adders.

도 10에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230c)에 대해서 설명한다.The entropy decoding unit 210, the inverse quantization and inverse transform unit 220, the encoding picture buffer 240, the predicting unit 250, and a plurality of adders shown in FIG. 10 correspond to the decoding unit 210, Quantization and inverse transform unit 220, the encoding picture buffer 240, the prediction unit 250, and the adder. Hereinafter, the CNN-based in-loop filter 230c will be described.

CNN 기반 인루프 필터(230c)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예비 복원 블록(

Figure 112017013493990-pat00176
)을 포함하고, 복원 정보는 복원 잔차 블록(
Figure 112017013493990-pat00177
)을 포함할 수 있다. CNN 기반 인루프 필터(230c)는 가산기로부터 예비 복원 블록(
Figure 112017013493990-pat00178
)을 수신할 수 있다. CNN 기반 인루프 필터(230c)는 예비 복원 블록(
Figure 112017013493990-pat00179
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00180
)을 생성할 수 있다.The CNN-based in-loop filter 230c may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information is stored in the preliminary restoration block (
Figure 112017013493990-pat00176
), And the reconstruction information includes a reconstruction residual block (
Figure 112017013493990-pat00177
). The CNN-based in-loop filter 230c receives the pre-
Figure 112017013493990-pat00178
Can be received. The CNN based in-loop filter 230c includes a pre-
Figure 112017013493990-pat00179
) To perform a restoration residual block (
Figure 112017013493990-pat00180
Can be generated.

즉, CNN 기반 인루프 필터(230c)는 예비 복원 블록(

Figure 112017013493990-pat00181
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00182
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230c)는 예비 복원 블록(
Figure 112017013493990-pat00183
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00184
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 230c performs a pre-
Figure 112017013493990-pat00181
) ≪ / RTI >
Figure 112017013493990-pat00182
). ≪ / RTI > For example, the CNN based in-loop filter 230c may include a pre-
Figure 112017013493990-pat00183
) And a residual block ( e )
Figure 112017013493990-pat00184
). ≪ / RTI >

CNN 기반 인루프 필터(230c)는 복원 잔차 블록(

Figure 112017013493990-pat00185
)을 가산기에 전송할 수 있다.The CNN-based in-loop filter 230c includes a restoration residual block
Figure 112017013493990-pat00185
) To the adder.

가산기는 복원 잔차 블록(

Figure 112017013493990-pat00186
) 및 예측 블록(
Figure 112017013493990-pat00187
)을 가산하여 복원 블록(
Figure 112017013493990-pat00188
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00189
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder computes the restoration residual block (
Figure 112017013493990-pat00186
) And a prediction block (
Figure 112017013493990-pat00187
) Is added to the restoration block (
Figure 112017013493990-pat00188
Can be generated. The adder is a reconstruction block (
Figure 112017013493990-pat00189
) To the coded picture buffer 240. [

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, an in-loop filter 225, a CNN based in-loop filter 230d, an encoding picture buffer 240, A prediction unit 250, and a plurality of adders.

도 11에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), CNN 기반 인루프 필터(230d), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 9에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 인루프 필터(225), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230d)에 대하여 설명한다.The inverse quantization and inverse transform unit 220, the in-loop filter 225, the CNN-based in-loop filter 230d, the encoding picture buffer 240, the prediction unit 250, And a plurality of adders include an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, an in-loop filter 225, an encoding picture buffer 240, a predicting unit 250, And operation may be substantially the same. Hereinafter, the CNN-based in-loop filter 230d will be described.

CNN 기반 인루프 필터(230d)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 2차 예비 복원 블록(

Figure 112017013493990-pat00190
)을 포함하고, 복원 정보는 복원 잔차 블록(
Figure 112017013493990-pat00191
)을 포함할 수 있다. CNN 기반 인루프 필터(230d)는 인루프 필터(225)로부터 2차 예비 복원 블록(
Figure 112017013493990-pat00192
)을 수신할 수 있다. CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00193
)에 필터링을 수행하여 복원 잔차 블록(
Figure 112017013493990-pat00194
)을 생성할 수 있다. 복원 잔차 블록(
Figure 112017013493990-pat00195
)은 도 10에 도시된 복원 잔차 블록(
Figure 112017013493990-pat00196
)보다 0에 더 가까운 값일 수 있다.The CNN-based in-loop filter 230d may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information includes a secondary spare reconstruction block (
Figure 112017013493990-pat00190
), And the reconstruction information includes a reconstruction residual block (
Figure 112017013493990-pat00191
). The CNN-based in-loop filter 230d receives the in-loop filter 225 from the secondary spare reconstruction block
Figure 112017013493990-pat00192
Can be received. The CNN based in-loop filter 230d includes a secondary spare reconstruction block
Figure 112017013493990-pat00193
) To perform a restoration residual block (
Figure 112017013493990-pat00194
Can be generated. Restoration residual block (
Figure 112017013493990-pat00195
) Is the restoration residual block shown in FIG. 10
Figure 112017013493990-pat00196
Lt; RTI ID = 0.0 > 0 < / RTI >

즉, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(

Figure 112017013493990-pat00197
)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00198
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230d)는 2차 예비 복원 블록(
Figure 112017013493990-pat00199
) 및 잔차 블록(e)에 기초하여 복원 잔차 블록(
Figure 112017013493990-pat00200
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 230d includes a secondary spare reconstruction block
Figure 112017013493990-pat00197
) ≪ / RTI >
Figure 112017013493990-pat00198
). ≪ / RTI > For example, the CNN based in-loop filter 230d may include a secondary spare reconstruction block
Figure 112017013493990-pat00199
) And a residual block ( e )
Figure 112017013493990-pat00200
). ≪ / RTI >

CNN 기반 인루프 필터(230d)는 복원 잔차 블록(

Figure 112017013493990-pat00201
)을 가산기에 전송할 수 있다.The CNN-based in-loop filter 230d includes a reconstruction residual block
Figure 112017013493990-pat00201
) To the adder.

가산기는 복원 잔차 블록(

Figure 112017013493990-pat00202
)및 예측 블록(
Figure 112017013493990-pat00203
)을 가산하여 최종 복원 블록(
Figure 112017013493990-pat00204
)을 생성할 수 있다. 가산기는 최종 복원 블록(
Figure 112017013493990-pat00205
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder computes the restoration residual block (
Figure 112017013493990-pat00202
) And a prediction block (
Figure 112017013493990-pat00203
) Is added to the final restoration block (
Figure 112017013493990-pat00204
Can be generated. The adder adds the final restoration block (
Figure 112017013493990-pat00205
) To the coded picture buffer 240. [

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, a CNN based in-loop filter 230e, an encoding picture buffer 240, a prediction unit 250, And an adder.

도 12에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 복수의 가산기는 도 8a에 도시된 복호화부(210), 역양자화 및 역변환부(220), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 CNN 기반 인루프 필터(230e)에 대해서 설명한다.The entropy decoding unit 210, the inverse quantization and inverse transform unit 220, the encoding picture buffer 240, the predicting unit 250, and a plurality of adders shown in FIG. 12 are the same as the decoding unit 210, Quantization and inverse transform unit 220, the encoding picture buffer 240, the prediction unit 250, and the adder. Hereinafter, the CNN-based in-loop filter 230e will be described.

CNN 기반 인루프 필터(230e)는 예측 정보에 인루프 필터링을 수행하여 복원 정보를 생성할 수 있다. 예측 정보는 예측 잔차 블록(

Figure 112017013493990-pat00206
)을 포함하고, 복원 정보는 2차 복원 잔차 블록(
Figure 112017013493990-pat00207
)을 포함할 수 있다. CNN 기반 인루프 필터(230e)는 역양자화 및 역변환부(220)로부터 역양자화 및 역변환된 복원 잔차 블록(
Figure 112017013493990-pat00208
)을 수신할 수 있다. CNN 기반 인루프 필터(230e)는 복원 잔차 블록(
Figure 112017013493990-pat00209
)에 필터링을 수행하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00210
)을 생성할 수 있다.The CNN-based in-loop filter 230e may perform in-loop filtering on the prediction information to generate reconstruction information. The prediction information is a prediction residual block
Figure 112017013493990-pat00206
), And the reconstruction information includes a second-order reconstruction residual block (
Figure 112017013493990-pat00207
). The CNN-based in-loop filter 230e receives the inverse quantized and inverse transformed restored residual block (inverse quantized and inverse transformed)
Figure 112017013493990-pat00208
Can be received. The CNN based in-loop filter 230e includes a restoration residual block
Figure 112017013493990-pat00209
) To perform a second-order restoration residual block (
Figure 112017013493990-pat00210
Can be generated.

즉, CNN 기반 인루프 필터(230e)는 복원 잔차 블록(

Figure 112017013493990-pat00211
)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00212
)을 생성하도록 학습할 수 있다. 예를 들어, CNN 기반 인루프 필터(230e)는 복원 잔차 블록(
Figure 112017013493990-pat00213
) 및 잔차 블록(e)에 기초하여 2차 복원 잔차 블록(
Figure 112017013493990-pat00214
)을 생성하도록 학습할 수 있다.That is, the CNN-based in-loop filter 230e receives the restoration residual block
Figure 112017013493990-pat00211
) Based on the second reconstruction residual block
Figure 112017013493990-pat00212
). ≪ / RTI > For example, the CNN-based in-loop filter 230e may include a restoration residual block
Figure 112017013493990-pat00213
) And a residual block ( e ).
Figure 112017013493990-pat00214
). ≪ / RTI >

CNN 기반 인루프 필터(230e)는 2차 복원 잔차 블록(

Figure 112017013493990-pat00215
)을 가산기에 전송할 수 있다.The CNN-based in-loop filter 230e includes a second-order restoration residual block
Figure 112017013493990-pat00215
) To the adder.

가산기는 2차 복원 잔차 블록(

Figure 112017013493990-pat00216
) 및 예측 블록(
Figure 112017013493990-pat00217
)을 가산하여 복원 블록(
Figure 112017013493990-pat00218
)을 생성할 수 있다. 가산기는 복원 블록(
Figure 112017013493990-pat00219
)을 부호화 픽쳐 버퍼(240)에 전송할 수 있다.The adder is a second-order restoration residual block (
Figure 112017013493990-pat00216
) And a prediction block (
Figure 112017013493990-pat00217
) Is added to the restoration block (
Figure 112017013493990-pat00218
Can be generated. The adder is a reconstruction block (
Figure 112017013493990-pat00219
) To the coded picture buffer 240. [

도 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 decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization and inverse transform unit 220, a CNN based in-loop filter 230e, an in-loop filter 227, an encoding picture buffer 240, A prediction unit 250, and an adder.

도 13에 도시된 엔트로피 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기는 도 12에 도시된 복호화부(210), 역양자화 및 역변환부(220), CNN 기반 인루프 필터(230e), 부호화 픽쳐 버퍼(240), 예측부(250), 및 가산기와 구성 및 동작이 실질적으로 동일할 수 있다. 이에, 이하에서는 인루프 필터(227)에 대해서 설명한다.The entropy decoding unit 210, the inverse quantization and inverse transform unit 220, the CNN based in-loop filter 230e, the encoding picture buffer 240, the prediction unit 250, and the adder shown in Fig. The inverse quantization and inverse transform unit 220, the CNN based in-loop filter 230e, the encoding picture buffer 240, the predictor 250, and the adder may be substantially the same in construction and operation have. Hereinafter, the in-loop filter 227 will be described.

인루프 필터(227)는 가산기로부터 복원 블록(

Figure 112017013493990-pat00220
)을 수신할 수 있다. 복원 블록(
Figure 112017013493990-pat00221
)은 예비 복원 블록(
Figure 112017013493990-pat00222
)일 수 있다. 인루프 필터(227)는 예비 복원 블록(
Figure 112017013493990-pat00223
)에 필터링을 수행하여 2차 최종 복원 블록(
Figure 112017013493990-pat00224
)을 생성할 수 있다. 인루프 필터(227)는 최종 복원 블록(
Figure 112017013493990-pat00225
)을 부호화 픽쳐 버퍼(240)로 전송할 수 있다.The in-loop filter 227 receives an in-
Figure 112017013493990-pat00220
Can be received. Restore block (
Figure 112017013493990-pat00221
) Is a preliminary restoration block (
Figure 112017013493990-pat00222
). The in-loop filter 227 is connected to the pre-
Figure 112017013493990-pat00223
) To perform a second final reconstruction block (
Figure 112017013493990-pat00224
Can be generated. The in-loop filter 227 includes a final reconstruction block
Figure 112017013493990-pat00225
To the encoding picture buffer 240. [

인루프 필터(227)는 도 9에서 상술한 바와 같이, 디블록킹 필터(DF), 샘플 적응형 오프셋 필터(SAO filter), 및 적응형 루프 필터(ALF) 중 적어도 하나를 포함할 수 있다.The in-loop filter 227 may include at least one of a deblocking filter DF, a sample adaptive offset filter (SAO filter), and an adaptive loop filter (ALF), as described above in FIG.

도 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-loop filter 150 includes an input layer 151, a hidden layer 152, and an output layer 153.

입력 레이어(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 inverse transform unit 140 may be input to the input layer 151. The input image may include block boundary distortion, waveness distortion, and high frequency blurring blurring. The reconstructed image may include a degradation phenomenon.

입력 레이어(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 hidden layer 152 may perform non-linear mapping. The hidden layer 152 may include N convolutional layers. At this time, the image quality can be improved as the first convolution layer 152-1 advances to the N-th convolution layer 152-N.

CNN 기반 인루프 필터(150)는 은닉 레이어(152), 출력 레이어(153), 및 손실 함수 (loss function)을 통해 CNN 기반 인루프 필터의 훈련이 수행될 수 있다.The CNN-based in-loop filter 150 can be trained on the CNN-based in-loop filter through the hidden layer 152, the output layer 153, and a loss function.

제1 컨볼루션 레이어(152-1)는 수학식 1에 대응될 수 있다.The first convolution layer 152-1 may correspond to Equation (1).

Figure 112017013493990-pat00226
Figure 112017013493990-pat00226

제2 컨볼루션 레이어는 수학식 2에 대응될 수 있다.The second convolution layer may correspond to Equation (2).

Figure 112017013493990-pat00227
Figure 112017013493990-pat00227

같은 원리로, 제N 컨볼루션 레이어(152-N)는 수학식 3에 대응될 수 있다.With the same principle, the Nth convolution layer 152-N may correspond to Equation (3).

Figure 112017013493990-pat00228
Figure 112017013493990-pat00228

즉, 은닉 레이어(152)는 ReLU(Rectified Linear Unit) 함수를 사용해 훈련의 효율 및 속도를 높일 수 있다.That is, the hidden layer 152 can increase the efficiency and speed of the training using a ReLU (Rectified Linear Unit) function.

출력 레이어(153)는 수학식 4에 대응될 수 있다.The output layer 153 may correspond to Equation (4).

Figure 112017013493990-pat00229
Figure 112017013493990-pat00229

출력 레이어(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).

Figure 112017013493990-pat00230
Figure 112017013493990-pat00230

CNN 기반 인루프 필터(150)는 손실 함수를 통해 필터링 오류를 최소화할 수 있도록 훈련될 수 있다.The CNN-based in-loop filter 150 may be trained to minimize filtering errors through a loss function.

도 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-loop filter 150 may perform training for each quantization interval. The CNN-based in-loop filter 150 can process reconstructed images having different distortion values according to a quantization parameter (QP). Accordingly, the CNN-based in-loop filter 150 can perform effective filtering by performing training for each quantization interval.

양자화 파라미터(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 encoding apparatus 100 is a value that can be confirmed in the decoding apparatus 200 and the encoding apparatus 100 uses the quantization parameter QP used in encoding to the decoding apparatus 200 It may not transmit. Therefore, the encoding apparatus 100 can increase the encoding efficiency without causing overhead.

부호화 장치(100)는 제N 구간의 양자화 파라미터(QP)를 사용하여 복원 훈련 영상(300)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(300)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.The encoding apparatus 100 may generate the restoration training image 300 using the quantization parameter QP of the Nth section. The encoding apparatus 100 may transmit the restoration training image 300 to the CNN-based in-loop filter 150. FIG.

CNN 기반 인루프 필터(150)는 복원 훈련 영상(300)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다.The CNN-based in-loop filter 150 performs filtering on the restoration training image 300 to generate an output image and transmit the output image to an adder.

가산기는 출력 영상 및 원 입력 훈련 영상(original input image; 400)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.The adder may subtract the output image and the original input image 400 and transmit the result to the CNN-based in-loop filter 150.

CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치(weight)를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(400)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파(back propagation) 방법을 사용할 수 있다.The CNN-based in-loop filter 150 may adjust the weight of the hidden layer 152 based on the difference. For example, the CNN-based in-loop filter 150 may adjust the weights so that there is no difference between the output image and the input training image 400. At this time, learning for weight correction of the CNN-based in-loop filter 150 can use a back propagation method.

복원 훈련 영상(300) 및 입력 훈련 영상(400)은 여러 실시예로 구현될 수 있다. 즉, CNN 기반 인루프 필터(150)는 무수히 많은 훈련 방법이 존재할 수 있다. CNN 기반 인루프 필터(150)는 훈련 방법에 따라 상이하게 동작할 수 있다.The restoration training image 300 and the input training image 400 may be implemented in various embodiments. That is, the CNN-based in-loop filter 150 may have a myriad of training methods. The CNN-based in-loop filter 150 may operate differently according to the training method.

일 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링 적용 이전의 복원 영상(reconstructed frames prior to in-loop filtering)일 수 있다. CNN 기반 인루프 필터(150)는 필터링 적용 이전의 복원 영상에 필터링을 수행하여 입력 훈련 영상(400)에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 2a에 도시된 CNN 기반 인루프 필터(150a)로 동작할 수 있다.For example, the reconstruction training image 300 may be reconstructed frames prior to in-loop filtering in the in-loop filter 140. The CNN-based in-loop filter 150 may perform filtering on the reconstructed image prior to filtering to generate an output image close to the input training image 400. In this case, the CNN-based in-loop filter 150 may operate as the CNN-based in-loop filter 150a shown in FIG. 2A.

다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상(reconstructed frames after in-loop filtering)일 수 있다. 즉, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 수행하여 원 입력 훈련 영상(400)에 더 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 3에 도시된 CNN 기반 인루프 필터(150b)로 동작할 수 있다.In another example, reconstruction training image 300 may be reconstructed frames after in-loop filtering in in-loop filter 140. That is, the CNN-based in-loop filter 150 may perform filtering on the filtered image to generate an output image closer to the original input training image 400. [ In this case, the CNN-based in-loop filter 150 may operate as the CNN-based in-loop filter 150b shown in FIG.

다른 예로, 복원 훈련 영상(300)은 인루프 필터(140)에서 필터링이 적용된 영상이고, 입력 훈련 영상(400)은 잔차 영상(e)일 수 있다. 이때, CNN 기반 인루프 필터(150)는 필터링이 적용된 영상에 필터링을 적용하여 복원 잔차 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 5에 도시된 CNN 기반 인루프 필터(150d)로 동작할 수 있다.As another example, the restoration training image 300 may be filtered by the in-loop filter 140 and the input training image 400 may be the residual image e . At this time, the CNN-based in-loop filter 150 can generate a reconstructed residual image by applying filtering to the filtered image. In this case, the CNN-based in-loop filter 150 may operate as the CNN-based in-loop filter 150d shown in FIG.

도 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-loop filter 150 may perform training for each distortion value interval. The CNN-based in-loop filter 150 may have a distortion value different according to the quantization parameter QP. Accordingly, the CNN-based in-loop filter 150 can perform effective filtering by performing training for each distortion value interval.

부호화 장치(100)에서 부호화시 사용된 왜곡값 구간은 복호화 장치(200)에서 확인할 수 있는 값이고, 부호화 장치(100)는 부호화시 사용된 인덱스(index)를 복호화 장치(200)로 전송하지 않을 수 있다. 이에, 부호화 장치(100)는 오버헤드가 발생하지 않고, 부호화 효율을 높일 수 있다.The distortion value interval used in the coding in the coding apparatus 100 is a value that can be checked in the decoding apparatus 200 and the coding apparatus 100 does not transmit the index used in coding to the decoding apparatus 200 . Thus, the encoding apparatus 100 can increase the encoding efficiency without causing overhead.

왜곡값은 입력 훈련 영상(600) 및 복원 훈련 영상의 차이일 수 있다.The distortion value may be the difference between the input training image 600 and the restoration training image.

부호화 장치(100)는 제N 구간의 왜곡값에 속하는 복원 훈련 영상(500)을 생성할 수 있다. 부호화 장치(100)는 복원 훈련 영상(500)을 CNN 기반 인루프 필터(150)로 전송할 수 있다.The encoding apparatus 100 may generate the restoration training image 500 belonging to the distortion value of the Nth section. The encoding apparatus 100 may transmit the restoration training image 500 to the CNN-based in-loop filter 150.

CNN 기반 인루프 필터(150)는 복원 훈련 영상(500)에 필터링을 수행하여 출력 영상을 생성하여 가산기로 전송할 수 있다. 가산기는 출력 영상 및 원 입력 훈련 영상(600)을 차분하여 CNN 기반 인루프 필터(150)로 전송할 수 있다.The CNN-based in-loop filter 150 performs filtering on the restoration training image 500 to generate an output image and transmit the output image to an adder. The adder may subtract the output image and the original input training image 600 and transmit the result to the CNN-based in-loop filter 150.

CNN 기반 인루프 필터(150)는 차분에 기초하여 은닉 레이어(152)의 가중치를 조절할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 출력 영상과 입력 훈련 영상(600)의 차이가 없도록 가중치(weights)를 조절할 수 있다. 이때, CNN 기반 인루프 필터(150)의 가중치 보정을 위한 학습은 역전파 방법을 사용할 수 있다.The CNN-based in-loop filter 150 may adjust the weight of the hidden layer 152 based on the difference. For example, the CNN-based in-loop filter 150 may adjust the weights so that there is no difference between the output image and the input training image 600. At this time, learning for weight correction of the CNN-based in-loop filter 150 can use a back propagation method.

복원 훈련 영상(500)는 복원 잔차 영상일 수 있다. 복원 잔차 영상은 잔차 영상에 변환 및 양자화를 수행하고, 다시 역양자화 및 역변환을 수행한 영상일 수 있다.The restoration training image 500 may be a restoration residual image. The reconstructed residual image may be transformed and quantized into a residual image, and further subjected to inverse quantization and inverse transform.

입력 훈련 영상(600)은 잔차 영상일 수 있다. 잔차 영상은 입력 영상과 복원 영상을 차분한 영상일 수 있다. 복원 영상은 인루프 필터링이 적용된 영상이거나 또는 인루프 필터링이 적용되지 않은 영상일 수 있다.The input training image 600 may be a residual image. The residual image may be a sub-image of the input image and the restored image. The reconstructed image may be an image subjected to in-loop filtering or an image not subjected to in-loop filtering.

즉, CNN 기반 인루프 필터(150)는 복원 잔차 영상에 필터링을 수행하여 잔차 영상에 가까운 출력 영상을 생성할 수 있다. 이 경우, CNN 기반 인루프 필터(150)는 도 6에 도시된 CNN 기반 인루프 필터(150e)로 동작할 수 있다.That is, the CNN-based in-loop filter 150 performs filtering on the restored residual image to generate an output image close to the residual image. In this case, the CNN-based in-loop filter 150 may operate as a CNN-based in-loop filter 150e shown in FIG.

또한, CNN 기반 인루프 필터(150)는 영상의 슬라이스 타입(slice type) 별로 필터링을 수행할 수 있다. 이하에서는 CNN 기반 인루프 필터(150)가 슬라이스 타입 별로 필터링을 수행하는 동작에 대하여 설명한다.In addition, the CNN-based in-loop filter 150 may perform filtering based on slice types of images. Hereinafter, an operation in which the CNN-based in-loop filter 150 performs filtering for each slice type will be described.

도 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-loop filter 150 may perform filtering on a plurality of images in the encoding or decoding process of a low delay configuration.

복수의 영상의 슬라이스 타입은 인트라 슬라이스(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-loop filter 150 performs filtering on the intra-slice images 700-1 and 700-N, thereby continuously providing images with less distortion. The CNN-based in-loop filter 150 may periodically provide images 700-1 and 700-N of an intra slice.

도 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-loop filter 150 generates a plurality of images 800-1 to 800-3, 800-5, and 800-5 in the process of encoding or decoding a low delay configuration, Lt; / RTI >

복수의 영상(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-loop filter 150 performs filtering on the intra-slice image 800-1 and the prediction slice images 800-3, 800-5, and 800-7, . The CNN-based in-loop filter 150 may periodically or selectively perform filtering to provide images 800-3, 800-5, and 800-7 of the prediction slice.

CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(Coding Tree Unit(CTU)) 또는 부호화 블록별(Coding Unit(CU)) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-loop filter 150 applies filtering selectively under the low-delay structure, as well as applying filtering on a per-input slice basis, as well as on a Coding Tree Unit (CTU) Coding Unit (CU)) or a designated image area.

도 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-loop filter 150 may perform filtering on a plurality of images 900-1 to 900-N in the process of encoding or decoding an intra intra configuration.

복수의 영상(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-loop filter 150 transforms the images 900-1 to 900- It is possible to provide a high-quality image by filtering.

CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-loop filter 150 applies filtering selectively under the low-delay structure, as well as applying filtering selectively to each input slice in the input slice as well as to each CTU, CU, And can be selectively applied to each region.

도 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-loop filter 150 generates a plurality of images 1010-1 to 1010-3 and 1020-2 in a process of encoding or decoding a hierarchical B- 1 to 1020-2, 1030-1 to 1030-4, and 1040-1 to 1040-4.

계층적 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-loop filter 150 may perform filtering by selecting a specific layer. For example, the CNN-based in-loop filter 150 can perform filtering on the images in the first layer 1010-1 to 1010-3.

다른 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3) 및 2 계층의 영상(1020-1 및 1020-2)에 필터링을 수행할 수 있다. CNN 기반 인루프 필터(150)는 1 계층의 영상(1010-1~1010-3) 및 2 계층의 영상(1020-1 및 1020-2)에 필터링을 수행하는 동작은 도 20에 도시된 바와 같을 수 있다.In another example, the CNN-based in-loop filter 150 may perform filtering on one layer of images 1010-1 to 1010-3 and two layers of images 1020-1 and 1020-2. The CNN-based in-loop filter 150 performs filtering on the images of the first layer 1010-1 to 1010-3 and the images of the second layer 1020-1 and 1020-2 as shown in FIG. 20 .

다른 예로, CNN 기반 인루프 필터(150)는 1 계층의 영상(1110-1~1110-3), 2 계층의 영상(1120-1 및 1120-2), 및 제3 계층의 영상(1130-1~1130-4)에 필터링을 수행할 수 있다. CNN 기반 인루프 필터(150)는 1 계층의 영상(1110-1~1110-3), 2 계층의 영상(1120-1 및 1120-2), 및 제3 계층의 영상(1130-1~1130-4)에 필터링을 수행하는 동작은 도 21에 도시된 바와 같을 수 있다.In another example, the CNN-based in-loop filter 150 includes one-layer images 1110-1 to 1110-3, two-layer images 1120-1 and 1120-2, and a third- To 1130-4. The CNN-based in-loop filter 150 includes a first layer of images 1110-1 to 1110-3, a second layer of images 1120-1 and 1120-2, and a third layer of images 1130-1 to 1130- 4 may be as shown in Fig.

CNN 기반 인루프 필터(150)는 저지연 구조 하에서 선택적으로 필터링을 적용할 뿐만 아니라 일련의 각 입력 슬라이스 별로, 또한 입력 슬라이스 내에서 부호화 단위 블록별(CTU) 또는 부호화 블록별(CU) 또는 지정된 영상 영역별로 선택적으로 적용할 수 있다.The CNN-based in-loop filter 150 applies filtering selectively under the low-delay structure, as well as applying filtering selectively to each input slice in the input slice as well as to each CTU, CU, And can be selectively applied to each region.

CNN 기반 인루프 필터(150)는 영상 내의 특정 영역에 필터링을 적용할 수 있다. 예를 들어, CNN 기반 인루프 필터(150)는 영상을 복수의 영역으로 분할하고, 복수의 영역 중 일부의 영역만을 선택하여 필터링을 적용할 수 있다. 이때, CNN 기반 인루프 필터(150)는 일부의 영역에 필터링 적용 여부를 시그널링할 수 있다.The CNN-based in-loop filter 150 may apply filtering to a specific region in the image. For example, the CNN-based in-loop filter 150 may divide an image into a plurality of regions, and select only a portion of the plurality of regions to apply filtering. At this time, the CNN-based in-loop filter 150 can signal whether to apply filtering to a part of the area.

또한, CNN 기반 인루프 필터(150)는 영상내의 움직임의 양과 텍스처 복잡도 중 적어도 하나에 기초하여 필터링을 적용할 수도 있다.In addition, the CNN-based in-loop filter 150 may apply filtering based on at least one of the amount of motion in the image and the texture complexity.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)

원본 영상과 예측 영상 사이의 차이에 해당하는 잔차 영상을 필터링함으로써 필터링 정보(filtering information)를 생성하는 단계;
상기 필터링 정보를 역필터링함으로써 역필터링 정보(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.
제1항에 있어서,
상기 필터링 정보를 생성하는 단계는,
상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하는 단계
를 포함하고,
상기 역필터링 정보를 생성하는 단계는,
상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는 단계
를 포함하는 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:
제1항에 있어서,
상기 필터링 정보를 생성하는 단계는,
양자화 파라미터(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:
제1항에 있어서,
상기 필터링 정보를 생성하는 단계는,
왜곡값에 따른 왜곡값 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 왜곡값 구간에 대한 가중치를 보정하는 단계
를 포함하는 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:
제1항에 있어서,
상기 필터링 정보를 생성하는 단계는,
영상 특성의 텍스처 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 텍스처 복잡도 구간에 대한 가중치를 보정하는 단계
를 포함하는 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:
제1항에 있어서,
상기 필터링 정보를 생성하는 단계는,
영상 특성의 움직임 복잡도 구간에 기초하여 상기 잔차 영상을 필터링하는 단계
를 포함하고,
상기 보정하는 단계는,
상기 움직임 복잡도 구간에 대한 가중치를 보정하는 단계
를 포함하는 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:
제1항에 있어서,
상기 복원 정보를 생성하는 단계는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 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.
제7항에 있어서,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 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:
제1항에 있어서,
상기 복원 정보를 생성하는 단계는,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 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.
제9항에 있어서,
상기 역필터링 정보 및 상기 예측 영상에 기반한 예측 정보를 상기 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.
제11항에 있어서,
상기 필터링부는,
상기 잔차 영상을 변환 및 양자화함으로써 필터링 정보를 생성하고,
상기 역필터링부는,
상기 필터링 정보를 역양자화 및 역변환함으로써 역필터링 정보를 생성하는
부호화 장치.
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.
제11항에 있어서,
상기 복원 정보는,
상기 원본 영상과 같은 형식이고,
상기 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.
제13항에 있어서,
상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
14. The method of claim 13,
An in-loop filter for performing in-loop filtering on the prediction information
Further comprising:
제14항에 있어서,
상기 인루프 필터는,
디블록킹 필터(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)
.
제11항에 있어서,
상기 복원 정보는,
상기 잔차 영상과 같은 형식이고,
상기 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.
제16항에 있어서,
상기 예측 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
17. The method of claim 16,
An in-loop filter for performing in-loop filtering on the prediction information
Further comprising:
제11항에 있어서,
상기 복원 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 부호화 장치.
12. The method of claim 11,
An in-loop filter for performing in-loop filtering on the restoration information
Further comprising:
부호화된 비트스트림 정보에 복호화를 수행하여 필터링 정보와 예측 영상의 정보를 출력하는 엔트로피 복호화부(entropy decoder);
상기 필터링 정보를 역필터링함으로써 역필터링 정보를 생성하는 역필터링부;
상기 예측 영상의 정보에 기초하여 예측 영상을 생성하는 예측부; 및
상기 역필터링 정보와 상기 예측 영상에 기초하여 복원 정보를 생성하고, 인루프 필터링 적용 여부에 따라 상기 복원 정보에 인루프 필터링을 적용하는 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.
제19항에 있어서,
상기 복원 정보는,
원본 영상과 같은 형식이고,
상기 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.
제20항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
21. The method of claim 20,
An in-loop filter for performing in-loop filtering on the inverse filtering information
Further comprising:
제21항에 있어서,
상기 인루프 필터는,
디블록킹 필터(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.
제19항에 있어서,
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 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.
제23항에 있어서,
상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
를 더 포함하는 복호화 장치.
24. The method of claim 23,
An adder for adding the reconstruction information and the prediction image to generate final reconstruction information,
Further comprising:
제23항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
24. The method of claim 23,
An in-loop filter for performing in-loop filtering on the inverse filtering information
Further comprising:
제25항에 있어서,
상기 인루프 필터는,
디블록킹 필터(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)
.
제19항에 있어서,
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 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.
제27항에 있어서,
상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 가산기
를 더 포함하는 복호화 장치.
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:
제28항에 있어서,
상기 최종 복원 정보에 인루프 필터링을 수행하는 인루프 필터
를 더 포함하는 복호화 장치.
29. The method of claim 28,
An in-loop filter for performing in-loop filtering on the final reconstruction information
Further comprising:
제29항에 있어서,
상기 인루프 필터는,
디블록킹 필터(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)
.
제19항에 있어서,
상기 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.
제19항에 있어서,
상기 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 >
제33항에 있어서,
상기 복원 정보는,
원본 영상과 같은 형식이고,
상기 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 >
제34항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
35. The method of claim 34,
Performing in-loop filtering on the inverse filtering information
Further comprising:
제35항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(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 >
제33항에 있어서,
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 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 >
제37항에 있어서,
상기 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
를 더 포함하는 복호화 방법.
39. The method of claim 37,
Adding the reconstruction information and the prediction image to generate final reconstruction information
Further comprising:
제37항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
39. The method of claim 37,
Performing in-loop filtering on the inverse filtering information
Further comprising:
제39항에 있어서,
상기 역필터링 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(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 >
제33항에 있어서,
상기 복원 정보는,
잔차 영상과 같은 형식이고,
상기 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 >
제41항에 있어서,
상기 잔차 복원 정보와 상기 예측 영상을 더하여 최종 복원 정보를 생성하는 단계
를 더 포함하는 복호화 방법.
42. The method of claim 41,
Adding the residual reconstruction information and the prediction image to generate final reconstruction information
Further comprising:
제42항에 있어서,
상기 최종 복원 정보에 인루프 필터링을 수행하는 단계
를 더 포함하는 복호화 방법.
43. The method of claim 42,
Performing in-loop filtering on the final reconstruction information
Further comprising:
제43항에 있어서,
상기 최종 복원 정보에 인루프 필터링을 수행하는 단계는,
디블록킹 필터(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 >
제33항에 있어서,
상기 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 >
제33항에 있어서,
상기 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 >
KR1020170017959A 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 KR101974261B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006484A1 (en) * 2019-07-05 2021-01-14 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
WO2023022376A1 (en) * 2021-08-17 2023-02-23 현대자동차주식회사 Video coding method and device using improved in-loop filter

Families Citing this family (59)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006484A1 (en) * 2019-07-05 2021-01-14 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
US11495037B2 (en) 2019-07-05 2022-11-08 Samsung Electronics Co., Ltd. Artificial intelligence processor and method of performing neural network operation thereof
WO2023022376A1 (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