KR20230022099A - Image processing method and apparatus using a neural network based deblocking filtering - Google Patents

Image processing method and apparatus using a neural network based deblocking filtering Download PDF

Info

Publication number
KR20230022099A
KR20230022099A KR1020220041329A KR20220041329A KR20230022099A KR 20230022099 A KR20230022099 A KR 20230022099A KR 1020220041329 A KR1020220041329 A KR 1020220041329A KR 20220041329 A KR20220041329 A KR 20220041329A KR 20230022099 A KR20230022099 A KR 20230022099A
Authority
KR
South Korea
Prior art keywords
deblocking
neural network
filtering
deblocking filtering
filter
Prior art date
Application number
KR1020220041329A
Other languages
Korean (ko)
Inventor
딘쿠오칸
최광표
박민우
표인지
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2022/011355 priority Critical patent/WO2023014031A1/en
Priority to EP22853408.7A priority patent/EP4354874A1/en
Priority to CN202280054440.8A priority patent/CN117795963A/en
Priority to US17/880,799 priority patent/US20230044532A1/en
Publication of KR20230022099A publication Critical patent/KR20230022099A/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/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Provided are an image processing method and apparatus using neural network-based deblocking filtering, which acquire input data based on deblocking filtering target pixels of at least one line perpendicular to the boundary line between blocks and encoding information on the deblocking filtering target pixels of the at least one line, input data into a first neural network to obtain the feature map of the input data, input the feature map into a second neural network to obtain a deblocking filter coefficient, input the feature map into a third neural network to obtain a deblocking filter compensation value, input the input data into a fourth neural network to obtain a deblocking filter strength, and perform deblocking filtering on the deblocking filtering target pixels of the at least one line by using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength to obtain deblocking-filtered pixels. Therefore, image quality can be increased.

Description

신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 장치. {Image processing method and apparatus using a neural network based deblocking filtering}Image processing method and apparatus using neural network-based deblocking filtering. {Image processing method and apparatus using a neural network based deblocking filtering}

본 개시는 영상 처리 방법 및 영상 처리 장치에 관한 것으로, 구체적으로, AI(Artificial Intelligence) 기반 디블로킹 필터링을 이용하여 비디오의 부호화 및 복호화 과정에서 비디오를 블록 단위로 처리함에 따라 발생하는 블로킹 아티팩트(blocking artifact)를 제거하는 영상 처리 방법 및 영상 처리 장치에 관한 것이다.The present disclosure relates to an image processing method and an image processing apparatus, and more specifically, to block artifacts generated as video is processed in block units during video encoding and decoding using AI (Artificial Intelligence)-based deblocking filtering It relates to an image processing method and an image processing apparatus for removing artifacts.

H.264 AVC 및 HEVC와 같은 코덱에서는 블록 단위로 변환, 예측, 양자화가 수행되어 블록의 경계에서 시각적으로 블로킹 아티팩트가 발생된다. 복원된 영상의 블로킹 아티팩트를 제거하여 화질을 개선하기 위해 미리정해진 디블로킹 필터링 알고리즘을 이용한다. 이러한 디블로킹 필터는 제한된 개수를 가지고, 각각의 필터는 손으로 계산된(handcrafted) 필터 계수를 가진다. 예를 들어, 필터링을 적용하지 않는 경우, 2개의 픽셀들을 수정하는 필터, 4개의 픽셀들을 수정하는 필터, 6개의 픽셀들을 수정하는 강한 필터 등이 있고, 각각의 경우에 대하여 미리정해진 필터 계수가 존재한다. 따라서, 종래의 디블로킹 필터들은 다른 에지, 디테일, 텍스처 들을 가지는 다양한 콘텐트에 잘 적용될 수 없다.In codecs such as H.264 AVC and HEVC, transformation, prediction, and quantization are performed in units of blocks, so blocking artifacts are visually generated at block boundaries. A predetermined deblocking filtering algorithm is used to improve image quality by removing blocking artifacts of the reconstructed image. There are a limited number of such deblocking filters, and each filter has handcrafted filter coefficients. For example, when filtering is not applied, there is a filter that modifies 2 pixels, a filter that modifies 4 pixels, a strong filter that modifies 6 pixels, and the like, and there is a predefined filter coefficient for each case. do. Therefore, conventional deblocking filters cannot be well applied to various contents having different edges, details, and textures.

즉, 영상의 해상도가 커지고, 영상이 컨텐츠가 다양화됨에 따라 영상의 다양한 특성을 유연하게 고려할 수 있는 신경망을 이용하는 유연한 디블로킹 필터링 알고리즘이 요구되고 있다.That is, as the resolution of an image increases and the content of an image diversifies, a flexible deblocking filtering algorithm using a neural network that can flexibly consider various characteristics of an image is required.

일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 영상 처리 장치는 픽셀 값들과 부호화 정보에 기초하여 신경망에 기반한 특정 픽셀들에 대한 특정 필터를 유연하게 생성하여 픽셀 값들과 부호화 정보에 맞는 계수들을 가지는 무한한 개수의 필터들을 가지는 것을 과제로 한다.An image processing method and an image processing apparatus using neural network-based deblocking filtering according to an exemplary embodiment flexibly generate a specific filter for specific pixels based on a neural network based on pixel values and encoding information to fit the pixel values and encoding information. The task is to have an infinite number of filters with coefficients.

또한, 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 영상 처리 장치는 신경망 기반 동적(dynamic) 필터를 통해 보다 효율적으로 블로킹 아티팩트를 제거하여 영상의 화질을 개선할 뿐만 아니라 부호화 효율도 개선하는 것을 과제로 한다.In addition, an image processing method and an image processing apparatus using neural network-based deblocking filtering according to an embodiment not only improve image quality but also improve coding efficiency by more efficiently removing blocking artifacts through a neural network-based dynamic filter. It is a task to improve.

일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 은 블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 디블로킹 필터링을 위한 입력 데이터를 획득하는 단계; 상기 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득하는 단계; 상기 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득하는 단계; 상기 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득하는 단계; 상기 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득하는 단계; 상기 디블로킹 필터 계수, 상기 디블로킹 필터 보상 값, 및 상기 디블로킹 필터 강도를 이용하여 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득하는 단계;를 포함할 수 있다.An image processing method using neural network-based deblocking filtering according to an embodiment includes deblocking filtering target pixels of at least one line perpendicular to a block boundary and encoding information about the deblocking filtering target pixels of the at least one line. obtaining input data for deblocking filtering based on; acquiring a feature map of the input data by inputting the input data to a first neural network; obtaining deblocking filter coefficients by inputting the feature map to a second neural network; obtaining a deblocking filter compensation value by inputting the feature map to a third neural network; obtaining a deblocking filter strength by inputting the input data to a fourth neural network; Obtaining deblocking filtered pixels by performing deblocking filtering on deblocking filtering target pixels of the at least one line using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength. step; may be included.

일 실시예에 따라, 부호화 정보는 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망을 통해 출력된 후, 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들과 동일한 크기로 변환된 것일 수 있다.According to an embodiment, the encoding information may be outputted through a fully connected neural network including a plurality of fully connected layers, and then converted to the same size as the deblocking filtering target pixels of the at least one line.

일 실시예에 따라, 디블로킹 필터링에 스케일링 인자가 추가로 이용될 수 있다.According to one embodiment, a scaling factor may be additionally used for deblocking filtering.

일 실시예에 따라, 스케일링 인자는 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들이 포함된 프레임의 종류에 따라 결정될 수 있다.According to an embodiment, a scaling factor may be determined according to a type of a frame including pixels to be filtered for deblocking of the at least one line.

일 실시예에 따라, 디블로킹 필터링된 픽셀들을 획득하는 단계는: 상기 디블로킹 필터 계수와 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하는 단계; 상기 행렬 곱셈 결과에 상기 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하는 단계; 상기 필터 보상 결과에 상기 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 잔차 디블로킹 필터링 픽셀들을 획득하는 단계; 상기 잔차 디블로킬 필터링 픽셀들을 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들을 더하여 상기 디블로킹 필터링된 픽셀들을 획득하는 단계를 포함할 수 있다.According to an embodiment, the obtaining of deblocking-filtered pixels may include: obtaining a matrix multiplication result by performing matrix multiplication of the deblocking filter coefficient and deblocking filtering target pixels of the at least one line; obtaining a filter compensation result by adding the deblocking filter compensation value to the matrix multiplication result; obtaining residual deblocking filtering pixels by performing component multiplication on the filter compensation result using the deblocking filter strength; and obtaining the deblocking-filtered pixels by adding the residual deblocking-filtered pixels to the deblocking-filtered pixels of the at least one line.

일 실시예에 따라, 디블로킹 필터링된 픽셀들을 획득하는 단계는: 상기 디블로킹 필터 계수와 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하는 단계; 상기 행렬 곱셈 결과에 상기 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하는 단계; 상기 필터 보상 결과에 상기 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 상기 디블로킹 필터링된 픽셀들을 획득하는 단계를 포함할 수 있다.According to an embodiment, the obtaining of deblocking-filtered pixels may include: obtaining a matrix multiplication result by performing matrix multiplication of the deblocking filter coefficient and deblocking filtering target pixels of the at least one line; obtaining a filter compensation result by adding the deblocking filter compensation value to the matrix multiplication result; and obtaining the deblocking-filtered pixels by performing component multiplication on the filter compensation result using the deblocking filter strength.

일 실시예에 따라, 제1 신경망은 복수 개의 레지듀얼 블록들을 포함할 수 있다.According to an embodiment, the first neural network may include a plurality of residual blocks.

일 실시예에 따라, 제2 신경망은 레지듀얼 블록을 포함할 수 있다.According to an embodiment, the second neural network may include a residual block.

일 실시예에 따라, 제3 신경망은 레지듀얼 블록을 포함할 수 있다.According to an embodiment, the third neural network may include a residual block.

일 실시예에 따라, 제4 신경망은 복수개의 컨볼루션 레이어들을 포함할 수 있다.According to an embodiment, the fourth neural network may include a plurality of convolutional layers.

일 실시예에 따라, 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들은 상기 블록의 상기 경계선의 수직인 한 방향으로 n개의 픽셀들 및 상기 경계선의 수직인 다른 방향으로 n개의 픽셀들을 포함하는 2n개의 픽셀들일 수 있다.According to an embodiment, the deblocking filtering target pixels of at least one line may include n pixels in one direction perpendicular to the boundary line of the block and 2n pixels including n pixels in another direction perpendicular to the boundary line of the block. can be picked up

일 실시예에 따라, 부호화 정보는 입력 데이터에 포함되지 않을 수 있다.According to an embodiment, encoding information may not be included in input data.

일 실시예에 따라, 디블로킹 필터 보상 값은 획득되지 않고, 디블로킹 필터 보상 값은 0으로 설정될 수 있다.According to one embodiment, the deblocking filter compensation value may not be obtained and the deblocking filter compensation value may be set to zero.

일 실시예에 따라, 디블로킹 필터 강도는 획득되지 않고, 디블로킹 필터 강도는 1로 설정될 수 있다.According to one embodiment, the deblocking filter strength is not obtained and the deblocking filter strength may be set to 1.

일 실시예에 따라, 디블로킹 필터 보상 값 및 디블로킹 필터 강도는 획득되지 않고, 디블로킹 필터 보상 값은 0으로 설정되고, 디블로킹 필터 강도는 1로 설정될 수 있다.According to one embodiment, the deblocking filter compensation value and the deblocking filter strength may not be obtained, the deblocking filter compensation value may be set to 0, and the deblocking filter strength may be set to 1.

일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 장치 는 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 프로세서를 포함하고, 상기 프로세서는: 블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 입력 데이터를 획득하고, 상기 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득하고, 상기 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득하고, 상기 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득하고, 상기 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득하고, 상기 디블로킹 필터 계수, 상기 디블로킹 필터 보상 값, 및 상기 디블로킹 필터 강도를 이용하여 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득하도록 구성될 수 있다.An image processing apparatus using neural network-based deblocking filtering according to an embodiment includes a memory for storing one or more instructions; and a processor operating according to the one or more instructions, the processor comprising: pixels to be deblocking filtered of at least one line perpendicular to a boundary of a block and pixels to be filtered for deblocking of the at least one line. Acquiring input data based on encoding information, inputting the input data to a first neural network to obtain a feature map of the input data, inputting the feature map to a second neural network to obtain deblocking filter coefficients, The feature map is input to a third neural network to obtain a deblocking filter compensation value, the input data is input to a fourth neural network to obtain a deblocking filter strength, the deblocking filter coefficient, the deblocking filter compensation value, and The method may be configured to obtain deblocking-filtered pixels by performing deblocking filtering on deblocking filtering target pixels of the at least one line using the deblocking filter strength.

일 실시예에 따라, 부호화 정보는 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망을 통해 출력된 후, 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들과 동일한 크기로 변환된 것일 수 있다.According to an embodiment, the encoding information may be outputted through a fully connected neural network including a plurality of fully connected layers, and then converted to the same size as the deblocking filtering target pixels of the at least one line.

일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 영상 처리 장치는 픽셀 값들과 부호화 정보에 기초하여 신경망에 기반한 특정 픽셀들에 대한 특정 필터를 유연하게 생성하여 픽셀 값들과 부호화 정보에 맞는 계수들을 가지는 무한한 개수의 필터들을 가질 수 있다.An image processing method and an image processing apparatus using neural network-based deblocking filtering according to an exemplary embodiment flexibly generate a specific filter for specific pixels based on a neural network based on pixel values and encoding information to fit the pixel values and encoding information. You can have an infinite number of filters with coefficients.

또한, 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 영상 처리 장치는 신경망 기반 동적(dynamic) 필터를 통해 보다 효율적으로 블로킹 아티팩트를 제거하여 영상의 화질을 개선할 뿐만 아니라 부호화 효율도 개선할 수 있다.In addition, an image processing method and an image processing apparatus using neural network-based deblocking filtering according to an embodiment not only improve image quality but also improve coding efficiency by more efficiently removing blocking artifacts through a neural network-based dynamic filter. can be improved

도 1은 일 실시예에 따른 블록의 경계에서의 디블로킹 대상 픽셀들을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 픽셀들에 대한 입력 데이터와 부호화 정보에 대한 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.
도 4는 다른 실시예에 따른 인루프 필터 네트워크에 입력하는 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.
도 5는 다른 실시예에 따른 인트라 예측 네트워크에 입력하는 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 입력 데이터를 특징 맵으로 출력하는 신경망을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 머지 입력 데이터와 특징 맵에 기초하여 각각의 신경망을 통해 필터링 계수, 필터 보상 값, 및 필터 강도를 획득하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인 획득하는 과정을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.
도 16은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 개략적인 구조를 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 19는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 20은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 21은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 22는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 23은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 24는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 25는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 26은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 27은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 28은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 29는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 30은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 31은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 32는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 33은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.
도 34는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법의 순서도이다.
도 35는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 장치의 구성을 도시하는 도면이다.
1 is a diagram for explaining deblocking target pixels at a block boundary according to an exemplary embodiment.
2 is a diagram for explaining neural network-based deblocking filtering according to an exemplary embodiment.
3 is a diagram for explaining a process of fusing input data for pixels and input data for encoding information according to an exemplary embodiment.
4 is a diagram for explaining a process of fusing input data input to an in-loop filter network according to another embodiment.
5 is a diagram for explaining a process of fusing input data input to an intra prediction network according to another embodiment.
6 is a diagram for explaining a neural network that outputs input data as a feature map according to an exemplary embodiment.
7 is a diagram for explaining a method of obtaining filtering coefficients, filter compensation values, and filter strengths through respective neural networks based on merged input data and feature maps, according to an exemplary embodiment.
8 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
9 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
10 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
11 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
12 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
13 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
14 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
15 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.
16 is a diagram for explaining a schematic structure of neural network-based deblocking filtering according to an embodiment.
17 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
18 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.
19 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
20 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
21 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
22 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
23 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
24 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.
25 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.
26 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
27 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
28 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
29 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
30 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
31 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
32 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
33 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.
34 is a flowchart of an image processing method using neural network-based deblocking filtering according to an embodiment.
35 is a diagram illustrating a configuration of an image processing device using neural network-based deblocking filtering according to an exemplary embodiment.

본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present disclosure may have various changes and various embodiments, specific embodiments are illustrated in the drawings, and will be described in detail through detailed description. However, this is not intended to limit the embodiments of the present disclosure, and it should be understood that the present disclosure includes all modifications, equivalents, and substitutes included in the spirit and scope of the various embodiments.

실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the embodiments, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present disclosure, the detailed description will be omitted. In addition, numbers (eg, 1st, 2nd, etc.) used in the description process of the specification are only identifiers for distinguishing one component from another.

본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.In this disclosure, the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.

또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present disclosure, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.

또한, 본 개시에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, in the present disclosure, components expressed as '~ unit (unit)', 'module', etc., are two or more components combined into one component, or one component is divided into two or more for each function. may be differentiated into In addition, each of the components to be described below may additionally perform some or all of the functions of other components in addition to its own main function, and some of the main functions of each component may be different from other components. Of course, it may be performed exclusively by a component.

또한, 본 개시에서, '영상(image) 또는 픽처(picture)'는 정지영상(또는 프레임), 복수의 연속된 정지영상으로 구성된 동영상, 또는 비디오를 의미할 수 있다.Also, in the present disclosure, an 'image or picture' may mean a still image (or frame), a motion picture composed of a plurality of continuous still images, or a video.

또한, 본 개시에서 '신경망(neural network)'은 뇌 신경을 모사한 인공 신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공 신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다. In addition, in the present disclosure, a 'neural network' is a representative example of an artificial neural network model that mimics a cranial nerve, and is not limited to an artificial neural network model using a specific algorithm. A neural network may also be referred to as a deep neural network.

또한, 본 개시에서 '가중치(weight)'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값으로서 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용될 수 있다. 가중치는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.In addition, in the present disclosure, a 'weight' is a value used in the calculation process of each layer constituting the neural network, and may be used, for example, when an input value is applied to a predetermined calculation expression. The weight is a value set as a result of training, and can be updated through separate training data as needed.

또한, 본 개시에서 '현재 블록'은 현재의 처리 대상인 블록을 의미한다. 현재 블록은 현재 영상으로부터 분할된 슬라이스, 타일, 최대 부호화 단위, 부호화 단위, 예측 단위 또는 변환 단위일 수 있다.Also, in the present disclosure, 'current block' means a block that is currently a processing target. The current block may be a slice, tile, maximum coding unit, coding unit, prediction unit, or transformation unit divided from the current image.

또한, 본 개시에서, '샘플'은 영상, 블록, 필터 커널 또는 특징 맵 등의 데이터 내 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미한다. 예를 들어, 샘플은 2차원의 영상 내 픽셀을 포함할 수 있다.In addition, in the present disclosure, 'sample' refers to data to be processed as data allocated to a sampling position within data such as an image, block, filter kernel, or feature map. For example, a sample may include a pixel in a 2D image.

도 1은 일 실시예에 따른 블록의 경계에서의 디블로킹 대상 픽셀들을 설명하기 위한 도면이다.1 is a diagram for explaining deblocking target pixels at a block boundary according to an exemplary embodiment.

도 1을 참조하면, 블록 기반의 변환, 예측, 양자화를 수행하면, 현재 블록(100)과 주변 블록들(110, 120, 130) 사이에 블록의 경계(140)에서 블로킹 아티팩트가 발생한다. 이러한 블로킹 아티팩트를 제거하여 화질을 개선하기 위해 디블로킹 필터링이 필요하다.Referring to FIG. 1 , when block-based transformation, prediction, and quantization are performed, a blocking artifact occurs at a block boundary 140 between a current block 100 and neighboring blocks 110, 120, and 130. Deblocking filtering is required to improve image quality by removing these blocking artifacts.

디블로킹 필터링의 대상 픽셀들은 블록의 경계선에 수직인 픽셀들의 세트인 한 라인 또는 복수개의 라인의 픽셀들(150)이다. 블록의 경계선에 수직인 적어도 하나의 복호화된 라인들이 추출되어 필터링된다. Pixels subject to deblocking filtering are pixels 150 of one line or a plurality of lines, which is a set of pixels perpendicular to the boundary line of a block. At least one decoded line perpendicular to the block boundary is extracted and filtered.

다른 신경망들처럼 직접적으로 픽셀 값을 생성하는 대신에 부호화 정보와 주변의 복호화 픽셀 값들에 의존하여 각각의 픽셀들에 대한 적응적이고 선형적인 필터를 이용하여 각각의 픽셀들이 필터링된다.Instead of directly generating pixel values like other neural networks, each pixel is filtered using an adaptive and linear filter for each pixel depending on encoding information and neighboring decoded pixel values.

도 2는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 설명하기 위한 도면이다.2 is a diagram for explaining neural network-based deblocking filtering according to an exemplary embodiment.

도 2를 참조하면, 일 실시예에 따른 신경망 기반 디블로킹 필터링은 먼저 필터링 대상 픽셀(200)에 대한 부호화 정보(210)와 필터 대상 픽셀(200)에 기초하여 디블로킹 필터링을 위해 입력 데이터를 융합하는 입력 융합(220)을 수행한다. 부호화 정보(210)는 필터 대상 픽셀(200)의 부호화 단위 모드, 부호화 단위 크기 등을 포함한다. 그 후, 필터 계수를 생성하기 위한 입력의 특징 정보를 추출하기 위해, 입력 융합(220)을 통해 머지된 입력 데이터를 신경망을 통해 특징 추출(230)을 수행하여 특징 맵이 추출된다. 필터 생성(240)을 위해 머지된 입력 데이터와 추출된 특징 맵을 이용하여 객관적 화질 및 주관적 화질을 개선할 수 있는 필터 계수, 필터 보상 값, 및 필터 강도를 결정하고, 필터 생성(240) 과정을 통해 결정된 필터 계수, 필터 보상 값, 및 필터 강도와 필터 대상 픽셀(200)을 이용하여 동적 필터링(250)을 수행함으로써 필터링된 픽셀(260)이 획득된다. Referring to FIG. 2 , neural network-based deblocking filtering according to an embodiment first fuses input data for deblocking filtering based on encoding information 210 for a filter target pixel 200 and the filter target pixel 200. and performs input fusion 220. The encoding information 210 includes a coding unit mode, a coding unit size, and the like of the filter target pixel 200 . Thereafter, in order to extract feature information of inputs for generating filter coefficients, a feature map is extracted by performing feature extraction 230 on the input data merged through input fusion 220 through a neural network. For filter generation (240), filter coefficients, filter compensation values, and filter strengths capable of improving objective and subjective image quality are determined using the merged input data and the extracted feature map, and the filter generation (240) process is performed. A filtered pixel 260 is obtained by performing dynamic filtering 250 using the determined filter coefficient, filter compensation value, filter strength, and the filter target pixel 200.

도 3은 일 실시예에 따른 픽셀들에 대한 입력 데이터와 부호화 정보에 대한 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of fusing input data for pixels and input data for encoding information according to an exemplary embodiment.

도 3을 참조하면, 필터 대상 픽셀들(300)의 픽셀 값의 범위는 [0, 2bitdepth-1]이고, 필터 대상 픽셀들(300)에 대한 부호화 정보(310)는 부호화 단위의 부호화 정보로서, 주변 블록들 및 현재 블록의 인트라 모드, 인터 모드, 및 스킵 모드를 나타내는 부호화 단위 모드, 4, 8, 16, 32, 64, 128 등의 부호화 크기에 대한 정보를 포함할 수 있다. 또한, 부호화 정보(310)는 주변 블록들의 양자화 파라미터 값, 현재 블록의 양자화 파라미터 값도 포함할 수 있다. 신경망의 입력으로, 하나 또는 몇 개의 부호화 정보 대신에 복수의 부호화 정보들이 이용된다.Referring to FIG. 3 , the pixel value range of the filter target pixels 300 is [0, 2 bitdepth -1], and the encoding information 310 for the filter target pixels 300 is encoding information of a coding unit. . Also, the encoding information 310 may include quantization parameter values of neighboring blocks and quantization parameter values of the current block. As an input of the neural network, a plurality of pieces of coded information are used instead of one or several pieces of coded information.

필터 대상 픽셀들(300)과 부호화 정보(310)는 서로 다른 도메인에 있으므로, 다양한 자원(source)로 수집된 데이터를 하나의 정보로 표현하는 멀티모달 콤비네이션(multimodal combination)이 필요하다. 즉, 부호화 정보를 접합(concatenation)하는 대신에 픽셀 값에 융합하기 전에 부호화 정보에 별개의 처리가 필요하다.Since the filter target pixels 300 and the encoding information 310 are in different domains, a multimodal combination that expresses data collected from various sources as one piece of information is required. That is, instead of concatenating the encoding information, separate processing is required for the encoding information prior to convergence to pixel values.

도 3에서는 부호화 정보(310)를 필터 대상 픽셀들(300)에 머지(merge)하기 전에 부호화 정보(310)를 복수의 완전-연결된 레이어(fully-connected layer)들을 포함하는 신경망이 이용된다. 구체적으로, 부호화 정보(310)가 완전-연결된 레이어(FC)에 입력되어 제1 중간 특징맵(311)이 획득되고, 제1 중간 특징맵(311)이 다시 완전-연결된 레이어(FC)에 입력되어, 제2 중간 특징맵(312)이 획득되고, 제2 중간 특징맵(312)이 다시 완전-연결된 레이어(FC)에 입력되어, 제3 중간 특징맵(313)이 획득된다. 제3 중간 특징맵(313)의 값들을 필터 대상 픽셀들(300)과 동일한 크기로 타일(tile)화, 즉 재배열함으로써, 필터 대상 픽셀들(300)과 동일한 도메인의 부호화 정보 데이터(320)가 획득된다. 필터 대상 픽셀들(300)과 부호화 정보 데이터(320)를 머지하여, 머지된 입력 데이터(330)를 획득함으로써 입력 융합이 완료된다.In FIG. 3 , a neural network including a plurality of fully-connected layers of the encoding information 310 is used before merging the encoding information 310 into the filter target pixels 300 . Specifically, the encoding information 310 is input to the fully-connected layer (FC) to obtain the first intermediate feature map 311, and the first intermediate feature map 311 is input to the fully-connected layer (FC) again. Then, the second intermediate feature map 312 is obtained, and the second intermediate feature map 312 is again input to the fully-connected layer FC to obtain the third intermediate feature map 313. Encoded information data 320 of the same domain as the filter target pixels 300 by tiling, that is, rearranging, the values of the third intermediate feature map 313 in the same size as the filter target pixels 300 is obtained Input fusion is completed by merging the filter target pixels 300 and the encoded information data 320 to obtain the merged input data 330 .

이러한 입력 융합 방법은 신경망 기반 디블로킹 필터링 외에 다른 신경망에도 이용될 수 있다. 이는 도 4 및 도 5에서 후술된다.This input fusion method can be used for other neural networks besides neural network-based deblocking filtering. This is described later in FIGS. 4 and 5 .

도 4는 다른 실시예에 따른 인루프 필터 네트워크에 입력하는 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of fusing input data input to an in-loop filter network according to another embodiment.

도 4를 참조하면, 인루프 필터링 대상 픽셀들(400)과 인루프 필터링 대상 픽셀들(400)에 대한 부호화 정보(410)를 융합하여 인루프 필터 네트워크(440)에 대한 머지 입력 데이터(430)가 생성된다. 인루프 필터링 대상 픽셀들(400)은 디블로킹 필터링 전의 픽셀들, 디블로킹 필터링 후의 픽셀들, SAO(sample adaptive offset) 필터링 후의 픽셀들, 또는 ALF(adaptive loop filtering) 후의 픽셀들 등일 수 있다. 부호화 정보(410)는 주변 블록들의 양자화 파라미터, 현재 블록의 양자화 파라미터, 주변 블록들의 부호화 단위 모드(인트라 모드, 인터 모드 등), 현재 블록의 부호화 단위 모드 등을 포함할 수 있다.Referring to FIG. 4 , merge input data 430 for the in-loop filter network 440 is formed by fusing in-loop filtering target pixels 400 and encoding information 410 for the in-loop filtering target pixels 400. is created The in-loop filtering target pixels 400 may be pixels before deblocking filtering, pixels after deblocking filtering, pixels after sample adaptive offset (SAO) filtering, or pixels after adaptive loop filtering (ALF). The encoding information 410 may include quantization parameters of neighboring blocks, quantization parameters of the current block, coding unit modes (intra mode, inter mode, etc.) of neighboring blocks, coding unit modes of the current block, and the like.

도 3과 동일하게, 도 4에서도, 부호화 정보(410)를 필터 대상 픽셀들(400)에 머지(merge)하기 전에 부호화 정보(410)를 복수의 완전-연결된 레이어(fully-connected layer)들을 포함하는 신경망이 이용된다. 구체적으로, 부호화 정보(410)가 완전-연결된 레이어(FC)에 입력되어 제1 중간 특징맵(411)이 획득되고, 제1 중간 특징맵(411)이 다시 완전-연결된 레이어(FC)에 입력되어, 제2 중간 특징맵(412)이 획득되고, 제2 중간 특징맵(412)이 다시 완전-연결된 레이어(FC)에 입력되어, 제3 중간 특징맵(413)이 획득된다. 제3 중간 특징맵(413)의 값들을 필터 대상 픽셀들(400)과 동일한 크기로 타일(tile)화, 즉 재배열함으로써, 필터 대상 픽셀들(300)과 동일한 도메인의 부호화 정보 데이터(420)가 획득된다. 필터 대상 픽셀들(400)과 부호화 정보 데이터(420)를 머지하여, 머지된 입력 데이터(430)를 획득함으로써 입력 융합이 완료된다.As in FIG. 3, in FIG. 4, the encoding information 410 is included in a plurality of fully-connected layers before merging the encoding information 410 into the filter target pixels 400. A neural network is used. Specifically, the encoding information 410 is input to the fully-connected layer (FC) to obtain the first intermediate feature map 411, and the first intermediate feature map 411 is input to the fully-connected layer (FC) again. Then, the second intermediate feature map 412 is obtained, and the second intermediate feature map 412 is again input to the fully-connected layer FC to obtain the third intermediate feature map 413. Encoded information data 420 in the same domain as the filter target pixels 300 by tiling, that is, rearranging, the values of the third intermediate feature map 413 in the same size as the filter target pixels 400 is obtained Input fusion is completed by merging the filter target pixels 400 and the encoded information data 420 to obtain the merged input data 430 .

머지된 입력 데이터(430)는 인루프 필터링을 위한 인루프 필터 네트워크(440)에 입력되어, 인루프 필터링된 픽셀들(450)이 획득된다.The merged input data 430 is input to the in-loop filter network 440 for in-loop filtering, and in-loop-filtered pixels 450 are obtained.

도 5는 다른 실시예에 따른 인트라 예측 네트워크에 입력하는 입력 데이터를 융합하는 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of fusing input data input to an intra prediction network according to another embodiment.

도 5를 참조하면, 인트라 예측 대상 픽셀들(500)과 인트라 예측 대상 픽셀들(500)에 대한 부호화 정보(510)를 융합하여 인트라 예측 네트워크(540)에 대한 머지 입력 데이터(530)가 생성된다. 인트라 예측 대상 픽셀들(500)은 이용가능하고 복호화된 주변 픽셀들(501)과 인트라 예측의 대상인 제로 값으로 설정된 현재 블록의 픽셀들(502)을 포함한다. 부호화 정보(510)는 주변 블록들의 양자화 파라미터, 현재 블록의 양자화 파라미터, 주변 블록들의 부호화 단위 모드(인트라 모드, 인터 모드 등) 등을 포함할 수 있다.Referring to FIG. 5 , merge input data 530 for the intra prediction network 540 is generated by fusing intra prediction target pixels 500 and encoding information 510 for the intra prediction target pixels 500 . . The intra prediction target pixels 500 include available decoded neighboring pixels 501 and pixels 502 of the current block set to zero values, which are targets of intra prediction. The encoding information 510 may include quantization parameters of neighboring blocks, quantization parameters of a current block, coding unit modes (intra mode, inter mode, etc.) of neighboring blocks, and the like.

도 3과 동일하게, 도 5에서도, 부호화 정보(510)를 인트라 예측 대상 픽셀들(500)에 머지(merge)하기 전에 부호화 정보(510)를 복수의 완전-연결된 레이어(fully-connected layer)들을 포함하는 신경망이 이용된다. 구체적으로, 부호화 정보(510)가 완전-연결된 레이어(FC)에 입력되어 제1 중간 특징맵(511)이 획득되고, 제1 중간 특징맵(511)이 다시 완전-연결된 레이어(FC)에 입력되어, 제2 중간 특징맵(512)이 획득되고, 제2 중간 특징맵(512)이 다시 완전-연결된 레이어(FC)에 입력되어, 제3 중간 특징맵(513)이 획득된다. 제3 중간 특징맵(513)의 값들을 인트라 예측 대상 픽셀들(500)과 동일한 크기로 타일(tile)화, 즉 재배열함으로써, 인트라 예측 대상 픽셀들(500)과 동일한 도메인의 부호화 정보 데이터(520)가 획득된다. 인트라 예측 대상 픽셀들(500)과 부호화 정보 데이터(520)를 머지하여, 머지된 입력 데이터(530)를 획득함으로써 입력 융합이 완료된다.As in FIG. 3, in FIG. 5, the encoding information 510 is merged into a plurality of fully-connected layers before merging the encoding information 510 with the intra prediction target pixels 500. A neural network including Specifically, the encoding information 510 is input to the fully-connected layer (FC) to obtain the first intermediate feature map 511, and the first intermediate feature map 511 is input to the fully-connected layer (FC) again. Then, the second intermediate feature map 512 is obtained, and the second intermediate feature map 512 is input to the fully-connected layer (FC) again to obtain the third intermediate feature map 513. The values of the third intermediate feature map 513 are tiled, that is, rearranged to have the same size as the intra prediction target pixels 500, so that the encoded information data of the same domain as the intra prediction target pixels 500 ( 520) is obtained. Input fusion is completed by merging the intra prediction target pixels 500 and the encoding information data 520 to obtain the merged input data 530 .

머지된 입력 데이터(530)는 인트라 예측을 위한 인트라 예측 네트워크(540)에 입력되어, 인트라 예측 픽셀들(550)이 획득된다.The merged input data 530 is input to the intra prediction network 540 for intra prediction, and intra prediction pixels 550 are obtained.

도 6은 일 실시예에 따른 입력 데이터를 특징 맵으로 출력하는 신경망을 설명하기 위한 도면이다.6 is a diagram for explaining a neural network that outputs input data as a feature map according to an exemplary embodiment.

도 6을 참조하면, 입력 데이터(600)의 특징을 추출하여 특징 맵을 획득하기 위한 신경망(650)은 복수의 컨볼루션 레이어들을 포함한다. Referring to FIG. 6 , a neural network 650 for obtaining a feature map by extracting features of input data 600 includes a plurality of convolutional layers.

입력 데이터(600)는 복수개의 레지듀얼 블록(ResBlock)들을 포함하는 신경망(650)에 입력된다. 레지듀얼 블록은 입력 데이터를 컨볼루션 레이어에 입력하여 제1 중간 특징맵(610)을 획득하고, 제1 중간 특징맵(620)을 다시 컨볼루션 레이어에 입력하여 제2 중간 특징맵(620)을 획득하고, 제2 중간 특징맵(620)과 입력 데이터를 더하여 출력을 획득하는 스킵-커넥션(skip-connection) 구조의 컨볼루션 연산을 의미한다. Input data 600 is input to the neural network 650 including a plurality of residual blocks (ResBlock). The residual block inputs input data to the convolution layer to obtain a first intermediate feature map 610, and inputs the first intermediate feature map 620 to the convolution layer again to obtain a second intermediate feature map 620. This means a convolution operation of a skip-connection structure in which an output is obtained by adding the second intermediate feature map 620 and the input data.

입력 데이터(600)를 복수개의 레지듀얼 블록들을 포함하는 신경망(650)에 입력함으로써 입력 데이터(600)에 대한 특징 맵(660)이 획득된다.A feature map 660 of the input data 600 is obtained by inputting the input data 600 to the neural network 650 including a plurality of residual blocks.

도 7은 일 실시예에 따른 머지 입력 데이터와 특징 맵에 기초하여 각각의 신경망을 통해 필터링 계수, 필터 보상 값, 및 필터 강도를 획득하는 방법을 설명하기 위한 도면이다.7 is a diagram for explaining a method of obtaining filtering coefficients, filter compensation values, and filter strengths through respective neural networks based on merged input data and feature maps, according to an exemplary embodiment.

도 7을 참조하면, 디블로킹 필터링을 위한 필터링 계수, 필터 보상 값, 필터 강도를 생성하기 위해, 디블로킹 필터 대상 픽셀과 부호화 정보를 머지한 머지 입력(700)과 머지 입력의 특징을 추출한 특징 맵(710)이 이용된다. 구체적으로, 특징 맵(710)을 입력으로 하여 필터링 계수 생성 신경망(720)의 출력으로 필터링 계수가 획득되고, 특징 맵(710)을 입력으로 하여 필터 보상 값 생성 신경망(730)의 출력으로 필터링 보상 값이 획득되고, 머지 입력(700)을 입력으로 하여 필터 강도 생성 신경망의 출력으로 필터 강도가 획득된다.Referring to FIG. 7 , a merge input 700 obtained by merging deblocking filter target pixels and encoding information and a feature map obtained by extracting features of the merge inputs are used to generate filtering coefficients, filter compensation values, and filter strengths for deblocking filtering. (710) is used. Specifically, the filtering coefficient is obtained as an output of the filtering coefficient generating neural network 720 with the feature map 710 as an input, and the filtering compensation is obtained as an output of the filter compensation value generating neural network 730 with the feature map 710 as an input. A value is obtained, and the filter strength is obtained as an output of the filter strength generating neural network using the merge input 700 as an input.

복수개의 신경망은 복수의 필요한 필터링 정보를 생성하기 위한 것이다. 필터링 계수 생성 신경망(720)은 복호화 픽셀을 필터링된 픽셀 또는 필터링된 잔차(residual) 픽셀로 변환하기 위해 이용되고, 필터 보상 값 생성 신경망(730)은 필터링 계수에 따른 필터링 결과가 좋지 않는 경우 필터링을 보상하기 위해 이용되고, 필터 강도 생성 신경망(740)은 서로 다른 예측, 변환, 및 양자화에 의존하여, 서로 다른 에러를 가진 주변 블록들에 서로 다른 필터의 강도를 유연하게 적용하기 위해 이용된다.A plurality of neural networks are for generating a plurality of necessary filtering information. The filtering coefficient generating neural network 720 is used to convert decoded pixels into filtered pixels or filtered residual pixels, and the filter compensation value generating neural network 730 performs filtering when the filtering result according to the filtering coefficient is not good. In order to compensate, the filter strength generation neural network 740 is used to flexibly apply different filter strengths to neighboring blocks having different errors, depending on different prediction, transformation, and quantization.

필터링 계수 생성 신경망(720)과 필터 보상 값 생성 신경망(730)은 다른 신경망처럼 직접 픽셀 값을 생성하는 대신에 적응적 선형 필터와 뉴럴 생성(neural-generated) 픽셀 값을 조합한 필터를 적용하기 위해 이용된다. The filtering coefficient generating neural network 720 and the filter compensation value generating neural network 730 apply a filter combining an adaptive linear filter and a neural-generated pixel value instead of directly generating pixel values like other neural networks. used

필터 강도 생성 신경망(740)은 경계의 양 사이드에 다른 필터 강도를 적용하여, 더 오류가 많은 쪽은 강한 필터가 이용되고, 오류가 덜 많은 쪽은 약한 필터가 이용된다. 즉, 네트워크에 의해 학습된 스케일링에 의해 강한 필터 또는 약한 필터가 구현된다.The filter strength generator neural network 740 applies different filter strengths to both sides of the boundary, with a stronger filter being used on the side with more error and a weaker filter being used on the side with less error. That is, a strong filter or a weak filter is implemented by scaling learned by the network.

이하에서 후술되는 도 8 내지 도 15의 디블로킹 필터들은 크게 "픽셀 필터"와 "잔차 필터"의 2가지 종류로 구분된다. "픽셀 필터"는 필터링 계수, 필터 보상 값, 및 필터 강도 중 적어도 하나를 이용한 결과가 필터링 픽셀인 필터이고, "잔차 필터"는 필터링 계수, 필터 보상 값, 및 필터 강도 중 적어도 하나를 이용한 결과가 잔차 필터링 픽셀이어서 다시 필터링 대상 픽셀을 더함으로써 필터링 픽셀이 획득되는 필터이다.The deblocking filters of FIGS. 8 to 15 to be described later are largely classified into two types: a “pixel filter” and a “residual filter”. A "pixel filter" is a filter in which a result of using at least one of a filtering coefficient, a filter compensation value, and a filter strength is a filtered pixel, and a "residual filter" is a filter in which a result of using at least one of a filtering coefficient, a filter compensation value, and a filter strength is a filter. It is a filter in which a filtering pixel is obtained by adding a pixel to be filtered again since it is a residual filtering pixel.

도 8은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 8을 참조하면, 디블로킹 필터 대상 픽셀들, 필터링 계수, 필터 보상 값, 및 필터 강도를 이용하는 동적 필터링(dynamic filtering)은 행렬 곱셈(matrix multiplication)을 이용하여 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(805)에 기초하여 신경망(860)을 통해 필터링 계수(830), 필터 보상 값(840), 및 필터 강도(850)가 획득된다. 신경망(860)은 필터링 계수(830), 필터 보상 값(840), 및 필터 강도(850) 각각을 획득하기 위한 신경망들을 포함한다. 구체적으로, 필터링 계수(830)와 필터 보상 값(840)은 특징 맵에 기초하여 결정되고, 필터 강도(850)는 디블로킹 필터링 대상 픽셀들에 기초하여 결정된다.Referring to FIG. 8 , dynamic filtering using deblocking filter target pixels, filtering coefficients, filter compensation values, and filter strengths may be performed using matrix multiplication. First, a filtering coefficient 830, a filter compensation value 840, and a filter strength 850 are obtained through a neural network 860 based on pixels to be filtered for deblocking and one of the feature maps 805. The neural network 860 includes neural networks for obtaining each of the filtering coefficient 830 , the filter compensation value 840 , and the filter strength 850 . Specifically, the filtering coefficient 830 and the filter compensation value 840 are determined based on the feature map, and the filter strength 850 is determined based on pixels to be filtered for deblocking.

디블로킹 필터 대상 픽셀 라인(820)과 필터링 계수(830)에 대하여 행렬 곱셈의 선형 연산이 수행된다. 선형 연산 결과에 필터 보상 값(840)을 더하여 잔차 필터링 픽셀 라인이 획득되고, 잔차 필터링 픽셀 라인에 필터 강도(850)를 곱한 뒤 디블로킹 필터 대상 픽셀 라인(820)을 더하여 필터링된 픽셀 라인(810)이 획득된다.A linear operation of matrix multiplication is performed on the deblocking filter target pixel line 820 and the filtering coefficient 830 . A filter compensation value 840 is added to the result of the linear operation to obtain a residual filtered pixel line, and a filtered pixel line 810 is obtained by multiplying the residual filtered pixel line by the filter strength 850 and then adding a deblocking filter target pixel line 820. ) is obtained.

도 8의 동적 필터링을 수학식으로 나타내면, 아래 수학식 1과 같이 표현된다.The dynamic filtering of FIG. 8 is expressed as Equation 1 below.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

여기서, 예를 들어, x는 디블로킹 필터링의 대상인 복호화 픽셀 라인을 나타내는 픽셀 값의 8X1의 벡터이고, W는 필터링 계수를 나타내는 8X8 행렬이고, b는 필터 보상 값을 나타내는 8X1의 벡터이고, s는 필터링 강도를 나타내는 8X1의 벡터이고, *는 성분 곱(Element-wise multiplication)을 나타내고,

Figure pat00002
는 필터링된 픽셀 라인을 나타낸다.Here, for example, x is an 8X1 vector of pixel values representing a decoded pixel line subject to deblocking filtering, W is an 8X8 matrix representing filtering coefficients, b is an 8X1 vector representing filter compensation values, and s is It is an 8X1 vector representing the filtering strength, * represents element-wise multiplication,
Figure pat00002
represents the filtered pixel line.

구체적으로, x×W는 행렬 곱셈의 선형 연산에 의해 출력된 잔차 픽셀 필터링 값이고, b는 선형 연산의 결과가 좋지 않는 경우를 위한 신경망에 의한 잔차 픽셀 보상 값이고, s는 블록 경계의 각 사이드에 적용해야 하는 필터링의 정도를 나타내는 것으로, 예를 들어, 오류가 더 많은 쪽은 s가 1.0이 되고, 오류가 적은 쪽은 s가 0.0이 될 수 있다.Specifically, x × W is the residual pixel filtering value output by the linear operation of matrix multiplication, b is the residual pixel compensation value by the neural network for the case where the result of the linear operation is not good, and s is each side of the block boundary This indicates the degree of filtering that should be applied to . For example, s may be 1.0 for more errors, and s may be 0.0 for less errors.

도 8의 필터는 잔차 필터링 픽셀에 필터링 대상 픽셀을 더함으로써 필터링 픽셀이 획득되는 잔차 필터의 한 예시이다.The filter of FIG. 8 is an example of a residual filter in which a filtering pixel is obtained by adding a filtering target pixel to a residual filtering pixel.

도 9는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.9 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 9를 참조하면, 필터링 계수만을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(905)에 기초하여 신경망(960)을 통해 필터링 계수(930)가 획득된다. 구체적으로, 필터링 계수(930)는 특징 맵에 기초하여 결정된다.Referring to FIG. 9 , dynamic filtering using only filtering coefficients may be performed. First, a filtering coefficient 930 is obtained through a neural network 960 based on one 905 of pixels to be filtered for deblocking and a feature map. Specifically, the filtering coefficient 930 is determined based on the feature map.

신경망(960)은 필터링 계수(930)를 획득하기 위한 신경망을 포함한다. 디블로킹 필터 대상 픽셀 라인(920)과 필터링 계수(930)에 대하여 행렬 곱셈의 선형 연산을 수행함으로써 필터링된 픽셀 라인(910)이 획득된다.Neural network 960 includes a neural network for obtaining filtering coefficient 930 . A filtered pixel line 910 is obtained by performing a linear operation of matrix multiplication on the deblocking filter target pixel line 920 and the filtering coefficient 930 .

도 9의 동적 필터링을 수학식으로 나타내면, 아래 수학식 2와 같이 표현된다.The dynamic filtering of FIG. 9 is expressed as Equation 2 below.

[수학식 2][Equation 2]

Figure pat00003
Figure pat00003

도 9의 필터는 선형 연산에 의해 필터링된 픽셀이 바로 출력되는 픽셀 필터의 한 예시이다.The filter of FIG. 9 is an example of a pixel filter in which pixels filtered by a linear operation are directly output.

도 10은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.10 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 10을 참조하면, 필터링 계수와 필터 보상 값을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1005)에 기초하여 신경망(1060)을 통해 필터링 계수(1030) 및 필터 보상 값(1040)이 획득된다. 신경망(1060)은 필터링 계수(1030) 및 필터 보상 값(1040) 각각을 획득하기 위한 신경망들을 포함한다. 구체적으로, 필터링 계수(1030) 및 필터 보상 값(1040)은 특징 맵에 기초하여 결정된다.Referring to FIG. 10 , dynamic filtering may be performed using filtering coefficients and filter compensation values. First, a filtering coefficient 1030 and a filter compensation value 1040 are obtained through a neural network 1060 based on pixels to be filtered for deblocking and one of the feature maps 1005 . The neural network 1060 includes neural networks for obtaining each of the filtering coefficient 1030 and the filter compensation value 1040 . Specifically, filtering coefficients 1030 and filter compensation values 1040 are determined based on the feature map.

디블로킹 필터 대상 픽셀 라인(1020)과 필터링 계수(1030)에 행렬 곱셈의 선형 연산이 수행되고, 선형 연산 결과에 필터 보상 값(1040)을 더하여 필터링된 픽셀 라인(1010)이 획득된다. A linear operation of matrix multiplication is performed on the deblocking filter target pixel line 1020 and the filtering coefficient 1030, and the filtered pixel line 1010 is obtained by adding the filter compensation value 1040 to the result of the linear operation.

도 10의 동적 필터링을 수학식으로 나타내면, 아래 수학식 3과 같이 표현된다.The dynamic filtering of FIG. 10 is expressed as Equation 3 below.

[수학식 3][Equation 3]

Figure pat00004
Figure pat00004

도 10의 필터는 필터링 계수를 곱하고, 필터 보상값을 더함으로써 필터링된 픽셀이 바로 출력되는 픽셀 필터의 한 예시이다.The filter of FIG. 10 is an example of a pixel filter in which a filtered pixel is directly output by multiplying a filtering coefficient and adding a filter compensation value.

도 11은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인 획득하는 과정을 설명하기 위한 도면이다.11 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 11을 참조하면, 필터링 계수와 단위 행렬을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1105)에 기초하여 신경망(1160)을 통해 필터링 계수(1130)가 획득된다. 구체적으로, 필터링 계수(1130)는 특징 맵에 기초하여 결정된다.Referring to FIG. 11 , dynamic filtering may be performed using filtering coefficients and an identity matrix. First, a filtering coefficient 1130 is obtained through a neural network 1160 based on one 1105 of pixels to be filtered for deblocking and a feature map. Specifically, the filtering coefficient 1130 is determined based on the feature map.

신경망(1160)은 필터링 계수(1130)를 획득하기 위한 신경망을 포함한다. 필터링 계수(1130)와 단위 행렬(1170)를 더한 값과 디블로킹 필터 대상 픽셀 라인(1120)에 대하여 행렬 곱셈의 선형 연산을 수행함으로써 필터링된 픽셀 라인(1110)이 획득된다.Neural network 1160 includes a neural network for obtaining filtering coefficients 1130 . A filtered pixel line 1110 is obtained by performing a linear operation of matrix multiplication of the sum of the filtering coefficient 1130 and the unit matrix 1170 and the pixel line 1120 subject to the deblocking filter.

도 11의 동적 필터링을 수학식으로 나타내면, 아래 수학식 4와 같이 표현된다.The dynamic filtering of FIG. 11 is expressed as Equation 4 below.

[수학식 4][Equation 4]

Figure pat00005
Figure pat00005

여기서, I는 단위 행렬(Identity matrix)을 나타낸다.Here, I represents an identity matrix.

도 11의 필터는 필터링된 픽셀이 바로 출력되는 픽셀 필터의 한 예시이다. The filter of FIG. 11 is an example of a pixel filter in which filtered pixels are directly output.

도 12는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.12 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 12를 참조하면, 필터링 계수와 디블로킹 필터 대상 픽셀을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1205)에 기초하여 신경망(1260)을 통해 필터링 계수(1230)가 획득된다. 구체적으로, 필터링 계수(1230)는 특징 맵에 기초하여 결정된다.Referring to FIG. 12 , dynamic filtering may be performed using filtering coefficients and deblocking filter target pixels. First, a filtering coefficient 1230 is obtained through a neural network 1260 based on one 1205 of deblocking filtering target pixels and a feature map. Specifically, the filtering coefficient 1230 is determined based on the feature map.

신경망(1260)은 필터링 계수(1230)를 획득하기 위한 신경망을 포함한다. 필터링 계수(1230)와 디블로킹 필터 대상 픽셀 라인(1220)에 대하여 행렬 곱셈의 선형 연산이 수행되고, 선형 연산 결과에 디블로킹 필터 대상 픽셀 라인(1220)을 더함으로써 필터링된 픽셀 라인(1210)이 획득된다.Neural network 1260 includes a neural network for obtaining filtering coefficients 1230 . A linear operation of matrix multiplication is performed on the filtering coefficient 1230 and the deblocking filter target pixel line 1220, and the filtered pixel line 1210 is obtained by adding the deblocking filter target pixel line 1220 to the linear operation result. is obtained

도 12의 동적 필터링을 수학식으로 나타내면, 아래 수학식 5와 같이 표현된다.The dynamic filtering of FIG. 12 is expressed as Equation 5 below.

[수학식 5][Equation 5]

Figure pat00006
Figure pat00006

도 12의 필터는 잔차 필터링 픽셀에 필터링 대상 픽셀을 더함으로써 필터링 픽셀이 획득되는 잔차 필터의 한 예시이다.The filter of FIG. 12 is an example of a residual filter in which a filtering pixel is obtained by adding a filtering target pixel to a residual filtering pixel.

도 13은 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.13 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 13을 참조하면, 디블로킹 필터 대상 픽셀, 필터링 계수, 및 필터 보상 값을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1305)에 기초하여 신경망(1360)을 통해 필터링 계수(1330) 및 필터 보상 값(1340)이 획득된다. 신경망(1360)은 필터링 계수(1330) 및 필터 보상 값(1340) 각각을 획득하기 위한 신경망들을 포함한다. 구체적으로, 필터링 계수(1330)와 필터 보상 값(1340)은 특징 맵에 기초하여 결정된다.Referring to FIG. 13 , dynamic filtering may be performed using a deblocking filter target pixel, a filtering coefficient, and a filter compensation value. First, a filtering coefficient 1330 and a filter compensation value 1340 are obtained through a neural network 1360 based on one of pixels to be filtered for deblocking and one of the feature maps 1305 . The neural network 1360 includes neural networks for obtaining each of the filtering coefficient 1330 and the filter compensation value 1340 . Specifically, the filtering coefficient 1330 and the filter compensation value 1340 are determined based on the feature map.

디블로킹 필터 대상 픽셀 라인(1320)과 필터링 계수(1330)에 대하여 행렬 곱셈의 선형 연산이 수행된다. 선형 연산 결과에 필터 보상 값(1340)을 더하여 잔차 필터링 픽셀 라인이 획득되고, 잔차 필터링 픽셀 라인에 다시 디블로킹 필터 대상 픽셀 라인(1320)을 더함으로써 필터링된 픽셀 라인(1310)이 획득된다.A linear operation of matrix multiplication is performed on the deblocking filter target pixel line 1320 and the filtering coefficient 1330 . A filter compensation value 1340 is added to the linear operation result to obtain a residual filtered pixel line, and a filtered pixel line 1310 is obtained by adding the deblocking filter target pixel line 1320 to the residual filtered pixel line.

도 13의 동적 필터링을 수학식으로 나타내면, 아래 수학식 6과 같이 표현된다.The dynamic filtering of FIG. 13 is expressed as Equation 6 below.

[수학식 6][Equation 6]

Figure pat00007
Figure pat00007

도 13의 필터는 잔차 필터링 픽셀에 필터링 대상 픽셀을 더함으로써 필터링 픽셀이 획득되는 잔차 필터의 한 예시이다.The filter of FIG. 13 is an example of a residual filter in which a filtering pixel is obtained by adding a filtering target pixel to a residual filtering pixel.

도 14는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.14 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 14를 참조하면, 디블로킹 필터 대상 픽셀, 필터링 계수, 필터 보상 값, 및 단위 행렬을 이용한 동적 필터링이 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1405)에 기초하여 신경망(1460)을 통해 필터링 계수(1430) 및 필터 보상 값(1440)이 획득된다. 신경망(1460)은 필터링 계수(1430) 및 필터 보상 값(1440) 각각을 획득하기 위한 신경망들을 포함한다. 구체적으로, 필터링 계수(1430)와 필터 보상 값(1440)은 특징 맵에 기초하여 결정된다.Referring to FIG. 14 , dynamic filtering may be performed using a deblocking filter target pixel, a filtering coefficient, a filter compensation value, and an identity matrix. First, a filtering coefficient 1430 and a filter compensation value 1440 are obtained through a neural network 1460 based on one of pixels to be filtered for deblocking and one of the feature maps 1405 . The neural network 1460 includes neural networks for obtaining each of the filtering coefficient 1430 and the filter compensation value 1440 . Specifically, the filtering coefficient 1430 and the filter compensation value 1440 are determined based on the feature map.

필터링 계수(1430)와 단위 행렬(1470)을 더한 값과 디블로킹 필터 대상 픽셀 라인(1420)에 대하여 행렬 곱셈의 선형 연산이 수행되고, 선형 연산 결과에 필터 보상 값(1440)을 더함으로써 필터링된 픽셀 라인(1410)이 획득된다.A linear operation of matrix multiplication is performed on the value obtained by adding the filtering coefficient 1430 and the identity matrix 1470 to the deblocking filter target pixel line 1420, and the filter compensation value 1440 is added to the result of the linear operation. Pixel line 1410 is obtained.

도 14의 동적 필터링을 수학식으로 나타내면, 아래 수학식 7과 같이 표현된다.The dynamic filtering of FIG. 14 is expressed as Equation 7 below.

[수학식 7][Equation 7]

Figure pat00008
Figure pat00008

도 14의 필터는 필터링된 픽셀이 바로 출력되는 픽셀 필터의 한 예시이다.The filter of FIG. 14 is an example of a pixel filter in which filtered pixels are directly output.

도 8 내지 도 14의 동적 필터링은 복수의 컨볼루션 레이어들을 포함하는 신경망들이 더 좋은 성능을 위해 부호화 구성에 매칭되는 것으로 스위칭됨으로써 결정될 수 있다.The dynamic filtering of FIGS. 8 to 14 may be determined by switching neural networks including a plurality of convolutional layers to those matching the coding scheme for better performance.

예를 들어, 필터링 계수, 필터 보상 값, 필터링 강도를 결정하기 위한 각각의 신경망들은 각기 다른 부호화 조건하에서 훈련되고, 필터링의 테스트에서는 부호화 조건에 기초하여 대응하는 신경망 파라미터들(가중치들 및 바이어스들)을 로딩(loading)하여 필터링 대상 픽셀들을 필터링할 수 있다. 따라서, 양자화 파라미터의 다른 범위에 대하여 다른 신경망 파라미터를 가지는 신경망들이 이용되거나, 다른 시간적 레이어(temporal layer)(인트라, 인터)에 대하여 다른 신경망 파라미터를 가지는 다른 신경망들이 이용될 수 있다.For example, each of the neural networks for determining the filtering coefficient, filter compensation value, and filtering strength is trained under different coding conditions, and in the filtering test, the corresponding neural network parameters (weights and biases) based on the coding condition Filtering target pixels may be filtered by loading . Thus, neural networks with different neural network parameters can be used for different ranges of quantization parameters, or different neural networks with different neural network parameters can be used for different temporal layers (intra, inter).

한편, 훈련된 파라미터에 기초하여 성능을 테스트하는 경우에, 훈련 시의 성능과 테스트 시의 성능 사이의 차이가 발생될 수 있다. 이러한 차이를 "일반화 갭(generalization gap)이라고 한다.Meanwhile, when performance is tested based on trained parameters, a difference between performance during training and performance during testing may occur. This difference is called the “generalization gap”.

훈련과 테스트 사이의 일반화 갭은 인트라/인터 프레임에 저하를 가져올 수 있다. 낮은 시간 레이어는 인코딩에서 더 많이 참조된다. 예를 들어, 인트라 프레임은 GOP 4에 대하여 최대 3번 참조될 수 있다. 여러 번 참조되는 픽셀들은 많이 수정되지 않아야 하기 때문에, 도 15에서 후술되는 바와 같이, 다른 시간 레이어에 대하여 다르게 적용하는 스케일링 인자가 이용될 수 있다.A generalization gap between training and testing can result in degradation of intra/inter frames. Lower temporal layers are referenced more in encoding. For example, an intra frame can be referenced up to 3 times for GOP 4. Since pixels referenced multiple times should not be modified much, as will be described later in FIG. 15 , scaling factors that apply differently to different temporal layers can be used.

도 15는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하여 필터링된 픽셀 라인을 획득하는 과정을 설명하기 위한 도면이다.15 is a diagram for explaining a process of obtaining a filtered pixel line using neural network-based deblocking filtering according to an exemplary embodiment.

도 15를 참조하면, 디블로킹 필터 대상 픽셀들, 필터링 계수, 필터 보상 값, 필터 강도, 및 스케일링 인자를 이용하는 동적 필터링(dynamic filtering)은 행렬 곱셈을 이용하여 수행될 수 있다. 먼저, 디블로킹 필터링 대상 픽셀들과 특징 맵 중 하나(1505)에 기초하여 신경망(1560)을 통해 필터링 계수(1530), 필터 보상 값(1540), 및 필터 강도(1550)가 획득된다. 신경망(1560)은 필터링 계수(1530), 필터 보상 값(1540), 및 필터 강도(1550) 각각을 획득하기 위한 신경망들을 포함한다. 디블로킹 필터 대상 픽셀 라인(1520)과 필터링 계수(1530)에 대하여 행렬 곱셈의 선형 연산이 수행되고, 선형 연산 결과에 필터 보상 값(1540)을 더한 결과에 필터 강도(1550)를 곱한 뒤, 그 결과에 다시 스케일링 인자(1580)를 곱하여 잔차 필터링 픽셀 라인이 획득된다. 잔차 디블로킹 픽셀 라인에 디블로킹 필터 대상 픽셀 라인(1520)을 더하여 필터링된 픽셀 라인(1510)이 획득된다.Referring to FIG. 15 , dynamic filtering using deblocking filter target pixels, filtering coefficients, filter compensation values, filter strengths, and scaling factors may be performed using matrix multiplication. First, a filtering coefficient 1530, a filter compensation value 1540, and a filter strength 1550 are obtained through a neural network 1560 based on pixels to be filtered for deblocking and one of the feature maps 1505. The neural network 1560 includes neural networks for obtaining each of the filtering coefficient 1530 , the filter compensation value 1540 , and the filter strength 1550 . A linear operation of matrix multiplication is performed on the deblocking filter target pixel line 1520 and the filtering coefficient 1530, and the filter strength 1550 is multiplied by the result of adding the filter compensation value 1540 to the result of the linear operation. The result is then multiplied by the scaling factor 1580 to obtain the residual filtered pixel line. The filtered pixel line 1510 is obtained by adding the deblocking filter target pixel line 1520 to the residual deblocking pixel line.

도 15의 동적 필터링을 수학식으로 나타내면, 아래 수학식 8과 같이 표현된다.The dynamic filtering of FIG. 15 is expressed as Equation 8 below.

[수학식 8][Equation 8]

Figure pat00009
Figure pat00009

여기서, 예를 들어, x는 디블로킹 필터링의 대상인 복호화 픽셀 라인을 나타내는 픽셀 값의 8X1의 벡터이고, W는 필터링 계수를 나타내는 8X8 행렬이고, b는 필터 보상 값을 나타내는 8X1의 벡터이고, s는 필터링 강도를 나타내는 8X1의 벡터이고, *는 성분 곱(Element-wise multiplication)을 나타내고, STL은 다른 시간적 레이어에 따라 결정되는 스케일링 인자를 나타내고,

Figure pat00010
는 필터링된 픽셀 라인을 나타낸다.Here, for example, x is an 8X1 vector of pixel values representing a decoded pixel line subject to deblocking filtering, W is an 8X8 matrix representing filtering coefficients, b is an 8X1 vector representing filter compensation values, and s is An 8X1 vector representing filtering strength, * represents element-wise multiplication, S TL represents a scaling factor determined according to another temporal layer,
Figure pat00010
represents the filtered pixel line.

스케일링 인자 STL은 낮은 시간적 레이어의 프레임에 대하여 더 작게 설정된다. 예를 들어, 인트라 프레임에 대하여 스케일링 인자는 0.5로 결정되고, 다른 프레임들에 대하여 1로 결정될 수 있다.The scaling factor S TL is set smaller for frames of lower temporal layers. For example, the scaling factor may be determined to be 0.5 for an intra frame and 1 for other frames.

도 15의 필터는 잔차 필터링 픽셀에 필터링 대상 픽셀을 더함으로써 필터링 픽셀이 획득되는 잔차 필터의 한 예시이다.The filter of FIG. 15 is an example of a residual filter in which a filtering pixel is obtained by adding a filtering target pixel to a residual filtering pixel.

후술되는 도 16 내지 도 33은 신경망 기반 디블로킹 필터링의 구조의 다양한 실시예를 설명하는 도면으로, 신경망 기반 디블로킹 필터링의 구조는 이에 한정되지 않는다.16 to 33 are diagrams for explaining various embodiments of a structure of neural network-based deblocking filtering, and the structure of neural network-based deblocking filtering is not limited thereto.

도 16은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 개략적인 구조를 설명하기 위한 도면이다.16 is a diagram for explaining a schematic structure of neural network-based deblocking filtering according to an embodiment.

도 16을 참조하면, 디블로킹 필터 대상 픽셀들(1610)에 대한 부호화 정보(1615)를 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망(1620)을 통해 출력된 결과를 디블로킹 필터 대상 픽셀들(1610)과 동일한 크기로 변환하여 부호화 정보 입력 데이터(1625)가 획득된다. 디블로킹 필터 대상 픽셀들(1610)과 부호화 정보 입력 데이터(1625)를 머지하여, 입력 융합의 결과인 머지 입력 데이터(1630)가 획득된다. Referring to FIG. 16 , encoding information 1615 for deblocking filter target pixels 1610 is passed through a fully connected neural network 1620 including a plurality of fully connected layers, and the output result is converted to deblocking filter target pixels ( 1610), encoding information input data 1625 is obtained. By merging the deblocking filter target pixels 1610 and the encoding information input data 1625, merge input data 1630 as a result of input fusion is obtained.

머지 입력 데이터(1630)를 입력으로 하여 특징 추출 신경망(1635)을 통해 특징 맵(1640)이 획득된다. 특징 맵(1640)을 입력으로 하여 필터 계수 신경망(1650)을 통해 필터 계수(1665)가 획득되고, 특징 맵(1640)을 입력으로 하여 필터 보상 값 신경망(1655)을 통해 필터 보상 값(1670)이 획득된다.A feature map 1640 is acquired through a feature extraction neural network 1635 using the merge input data 1630 as an input. The filter coefficient 1665 is obtained through the filter coefficient neural network 1650 with the feature map 1640 as an input, and the filter compensation value 1670 is obtained through the filter compensation value neural network 1655 with the feature map 1640 as an input. this is obtained

또한, 머지 입력 데이터(1630)를 입력으로 하여 필터 강도 신경망(1645)을 통해 필터 강도(1660)가 획득된다.In addition, the filter strength 1660 is obtained through the filter strength neural network 1645 with the merge input data 1630 as an input.

필터링 대상 픽셀들(1610)과 필터 계수(1665)에 대하여 행렬 곱셈의 선형 연산(1675)을 수행하여 선형 연산 결과가 획득되고, 선형 연산 결과에 필터 보상 값(1670)을 더하고(1680), 필터 보상 값(1670)을 더한 값에 필터 강도(1660)를 성분 곱(1685)하여 잔차 필터링 픽셀들이 획득되고, 잔차 필터링 픽셀들에 필터링 대상 픽셀들(1610)을 다시 더함(1690)으로써 필터링된 픽셀들(1695)이 출력된다.A linear operation 1675 of matrix multiplication is performed on the filter target pixels 1610 and the filter coefficient 1665 to obtain a linear operation result, and a filter compensation value 1670 is added to the linear operation result (1680). Residual filtering pixels are obtained by component multiplication (1685) by the filter strength (1660) to the value obtained by adding the compensation value (1670), and the filtered pixels are obtained by adding the filtering target pixels (1610) to the residual filtered pixels (1690). s 1695 are output.

도 16의 신경망 기반 디블로킹 필터링은, 몇가지의 손으로 계산된 필터들의 필터 계수들 대신에 선형 행렬 곱셈에 의해 수행되는 필터링의 하나의 픽셀 라인에 대한 필터링 계수 세트를 생성하고, 생성된 필터 계수로 설정된 선형 필터가 제대로 작동하지 않는 경우, 즉 결과가 좋지 않은 경우에 필터링 결과를 보상하기 위한 필터 보상 값을 생성하고, 현재 경계 근처의 블록의 서로 다른 코딩 에러들에 대한 필터링을 위해 필터링의 일부를 적응적으로 적용하는 필터 강도를 생성하여 이용한다. 또한, 복호화된 픽셀 값뿐만 아니라 부호화 정보를 이용하여 필터링의 성능이 개선된다. 픽셀 값과 부호화 정보는 서로 다른 양식(modality)을 가지기 때문에, 픽셀 값에 머지하기 전에 복수의 완전 연결 레이어들로 부호화 정보가 처리된다. 이러한 입력 융합은 도 4 및 도 5에서 전술된 바와 같이, 인루프 필터, 인트라 예측과 같은 다른 방법에도 이용될 수 있다. The neural network-based deblocking filtering of FIG. 16 generates a filtering coefficient set for one pixel line of filtering performed by linear matrix multiplication instead of filter coefficients of several hand-calculated filters, and uses the generated filter coefficients. When the set linear filter does not work properly, that is, when the result is not good, a filter compensation value is generated to compensate for the filtering result, and a part of the filtering is performed for filtering different coding errors of blocks near the current boundary. An adaptively applied filter strength is created and used. In addition, filtering performance is improved by using not only decoded pixel values but also encoding information. Since pixel values and encoding information have different modalities, encoding information is processed in a plurality of fully connected layers before being merged into pixel values. Such input fusion can also be used in other methods such as in-loop filters and intra prediction, as described above in FIGS. 4 and 5 .

필터링된 픽셀 값을 생성하기 위해, 선형 필터 계수, 필터 보상, 및 필터 강도를 이용하는 다른 방법들이 적용된다. 예를 들어, 필터링된 픽셀 값이 직접 생성될 수 있고, 필터링된 잔차 픽셀 값이 생성될 수 있다.To generate the filtered pixel values, other methods using linear filter coefficients, filter compensation, and filter strength are applied. For example, filtered pixel values can be generated directly, and filtered residual pixel values can be generated.

또한, 더 좋은 코딩 효율을 위해 다른 부호화 조건에 대해 다른 미리 훈련된 모델이 선택될 수 있다.Also, different pre-trained models can be selected for different coding conditions for better coding efficiency.

또한, 복호화된 픽셀에 필터링 출력의 일부에 적용하는 다른 시간적 레이어에 대해 다른 스케일링 인자가 이용될 수 있다.Also, different scaling factors can be used for different temporal layers that apply a portion of the filtering output to the decoded pixels.

도 17은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.17 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 17을 참조하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNxM이고, 이는 M개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4xP의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 P개의 부호화 정보를 의미한다. Referring to FIG. 17, the size of pixel lines subject to deblocking filter is 1xNxM, which means that M pixels are one line and N lines. Also, the encoding information is 1xN/4xP metadata, which means N/4 sets of encoding information and P pieces of encoding information for each of 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터) 등을 포함할 수 있다.The encoding information may include a quantization parameter of a neighboring coding unit, a quantization parameter of a current coding unit, a coding mode (intra/inter) of a neighboring coding unit, a coding mode (intra/inter) of a current coding unit, and the like.

부호화 정보의 메타데이터(1715)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(1720)으로 출력된다. 제1 중간 특징맵(1720)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(1721)으로 출력된다. 제2 중간 특징맵(1721)은 완전 연결된 레이어(FC)에 입력되어 제3 중간 특징맵(1722)으로 출력된다. 제3 중간 특징맵(1722)은 디블로킹 필터링 대상 픽셀 라인들(1710)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(1710)의 크기와 동일한 1xNxM의 메타데이터 입력(1725)이 획득된다.The metadata 1715 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 1720 . The first intermediate feature map 1720 is input to the fully connected layer FC and output as the second intermediate feature map 1721 . The second intermediate feature map 1721 is input to the fully connected layer FC and output as a third intermediate feature map 1722 . The third intermediate feature map 1722 is rearranged to have the same size as the deblocking filtering target pixel lines 1710 and tiled so that the size of the deblocking filtering target pixel lines 1710 is 1xNxM. A metadata input 1725 is obtained.

1xNxM의 디블로킹 필터링 대상 픽셀 라인들(1710)과 1xNxM의 메타데이터 입력(1725)을 접합(concatenation)함으로써 2xNxM의 머지 입력(1730)이 획득된다.A 2xNxM merge input 1730 is obtained by concatenating the 1xNxM deblocking filtering target pixel lines 1710 and the 1xNxM metadata input 1725.

머지 입력(1730)에 컨볼루션 연산(C)을 수행하여 제1 특징맵(1731)이 획득되고, 제1 특징맵(1731)에 대하여 6번의 레지듀얼 블록 연산(1735)을 수행하여 결과적으로 머지 입력(1730)에 대한 특징 맵(1740)이 추출된다. 레지듀얼 블록 연산은 예를 들어, 입력 데이터에 컨볼루션 연산을 수행하여 획득된 제1 중간 특징맵(1732)에 다시 컨볼루션 연산을 수행하여 획득된 제2 중간 특징맵(1733)에 입력 데이터를 다시 더하여 출력을 획득하는 스킵-커넥션(skip-connection) 구조의 컨볼루션 연산이다.A first feature map 1731 is obtained by performing a convolution operation (C) on the merge input 1730, and six residual block operations 1735 are performed on the first feature map 1731, resulting in a merge A feature map 1740 for input 1730 is extracted. The residual block operation, for example, converts the input data to the second intermediate feature map 1733 obtained by performing the convolution operation again on the first intermediate feature map 1732 obtained by performing the convolution operation on the input data. It is a convolution operation of a skip-connection structure in which an output is obtained by adding again.

머지 입력(1730)의 특징 맵(1740)에 대하여 컨볼루션 연산(C), 레지듀얼 블록 연산(1750), 및 컨볼루션 연산(C)을 수행하여 M2xNx1 커널의 디블로킹 필터링 계수(1765)가 획득되고, 머지 입력(1730)의 특징 맵(1740)에 대하여 레지듀얼 블록 연산(1755) 및 컨볼루션 연산(C)을 수행하여 MxNx1의 디블로킹 필터링 보상 값(1770)이 획득된다. 여기서, 컨볼루션 연산(C), 레지듀얼 블록 연산(1750), 및 컨볼루션 연산(C)은 필터 계수 신경망에 대응되고, 레지듀얼 블록 연산(1755) 및 컨볼루션 연산(C)은 필터링 보상값 신경망에 대응된다. 또한, 머지 입력(1730)에 복수의 컨볼루션 연산을 포함하는 필터 강도 신경망(1745)을 통해 1xNxM의 필터링 강도(1760)가 획득된다.A deblocking filtering coefficient (1765) of the M 2 xNx1 kernel by performing a convolution operation (C), a residual block operation (1750), and a convolution operation (C) on the feature map (1740) of the merge input (1730) is obtained, and a deblocking filtering compensation value 1770 of MxNx1 is obtained by performing a residual block operation 1755 and a convolution operation (C) on the feature map 1740 of the merge input 1730. Here, the convolution operation (C), the residual block operation (1750), and the convolution operation (C) correspond to the filter coefficient neural network, and the residual block operation (1755) and the convolution operation (C) are filtering compensation values. corresponds to the neural network. In addition, a filtering strength 1760 of 1xNxM is obtained through a filter strength neural network 1745 including a plurality of convolution operations on the merge input 1730 .

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(1765), 디블로킹 필터링 보상 값(1770), 필터링 강도(1760)와, 머지 입력(1730) 중에서 디블로킹 필터링 대상 픽셀 라인들(1710)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, among the deblocking filtering coefficient 1765, the deblocking filtering compensation value 1770, the filtering strength 1760, and the merge input 1730 obtained based on the neural network, the deblocking filtering target pixel lines 1710 are selected. Neural network-based deblocking filtering is performed using

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(1710)과 디블로킹 필터링 계수(1765)를 이용하여 행렬 곱셈의 선형 연산(1775)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(1770)을 더하고(1780), 보상 값이 더해진 결과에 필터링 강도(1760)를 이용하여 성분 곱(1785)을 수행하여 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(1710)을 다시 더하여(1790) 1xNxM의 디블로킹 필터링된 픽셀 라인들(1795)이 획득된다.Specifically, a linear operation 1775 of matrix multiplication is performed using the deblocking filtering target pixel lines 1710 and the deblocking filtering coefficient 1765, and a deblocking filtering compensation value 1770 is applied to the result of the linear operation. Add (1780), and perform component multiplication (1785) using the filtering strength (1760) on the result of the addition of the compensation value to obtain residual filtered pixel lines, and deblocking filtering target pixel lines (1710) to the residual filtered pixel lines. ) is added again (1790) to obtain 1xNxM deblocking filtered pixel lines 1795.

도 18은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.18 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.

도 18을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4x6의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 6개의 부호화 정보를 의미한다. Referring to FIG. 18 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means that 8 pixels are one line and there are N lines. Also, the encoding information is 1xN/4x6 metadata, which means N/4 sets of encoding information and 6 pieces of encoding information for each of the 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터) 등을 포함할 수 있다.The encoding information may include a quantization parameter of a neighboring coding unit, a quantization parameter of a current coding unit, a coding mode (intra/inter) of a neighboring coding unit, a coding mode (intra/inter) of a current coding unit, and the like.

부호화 정보의 메타데이터(1815)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(1820)으로 출력된다. 제1 중간 특징맵(1820)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(1821)으로 출력된다. 제2 중간 특징맵(1821)은 완전 연결된 레이어(FC)에 입력되어 제3 중간 특징맵(1822)으로 출력된다. 제3 중간 특징맵(1822)은 디블로킹 필터링 대상 픽셀 라인들(1810)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(1810)의 크기와 동일한 1xNx8의 메타데이터 입력(1825)이 획득된다.The metadata 1815 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 1820. The first intermediate feature map 1820 is input to the fully connected layer FC and output as the second intermediate feature map 1821 . The second intermediate feature map 1821 is input to the fully connected layer FC and output as a third intermediate feature map 1822 . The third intermediate feature map 1822 is rearranged and tiled to have the same size as the pixel lines 1810 to be deblocked and filtered, so that the size of the pixel lines 1810 to be deblocked and filtered is 1xNx8. A metadata input 1825 is obtained.

1xNx8의 디블로킹 필터링 대상 픽셀 라인들(1810)과 1xNx8의 메타데이터 입력(1825)을 접합(concatenation)함으로써 2xNx8의 머지 입력(1830)이 획득된다.A 2xNx8 merge input 1830 is obtained by concatenating the 1xNx8 deblocking filtering target pixel lines 1810 and the 1xNx8 metadata input 1825.

머지 입력(1830)에 컨볼루션 연산(C)을 수행하여 제1 특징맵(1831)이 획득되고, 제1 특징맵(1831)에 대하여 6번의 레지듀얼 블록 연산(1835)을 수행하여 결과적으로 머지 입력(1730)에 대한 특징 맵이 추출된다. A first feature map 1831 is obtained by performing a convolution operation (C) on the merge input 1830, and six residual block operations 1835 are performed on the first feature map 1831, resulting in a merge A feature map for input 1730 is extracted.

머지 입력(1830)의 특징 맵에 대하여 컨볼루션 연산(C), 레지듀얼 블록 연산(1850), 및 컨볼루션 연산(C)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(1865)가 획득되고, 머지 입력(1830)의 특징 맵에 대하여 레지듀얼 블록 연산(1855) 및 컨볼루션 연산(C)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(1870)이 획득된다. 여기서, 컨볼루션 연산(C), 레지듀얼 블록 연산(1850), 및 컨볼루션 연산(C)은 필터 계수 신경망에 대응되고, 레지듀얼 블록 연산(1855) 및 컨볼루션 연산(C)은 필터링 보상값 신경망에 대응된다. A deblocking filtering coefficient 1865 of a 64xNx1 kernel is obtained by performing a convolution operation (C), a residual block operation (1850), and a convolution operation (C) on the feature map of the merge input 1830, and A deblocking filtering compensation value 1870 of 8xNx1 is obtained by performing a residual block operation 1855 and a convolution operation (C) on the feature map of the input 1830. Here, the convolution operation (C), the residual block operation (1850), and the convolution operation (C) correspond to the filter coefficient neural network, and the residual block operation (1855) and the convolution operation (C) are filtering compensation values. corresponds to the neural network.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(1865), 디블로킹 필터링 보상 값(1870)과, 머지 입력(1830) 중에서 디블로킹 필터링 대상 픽셀 라인들(1810)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 1865 obtained based on the neural network, the deblocking filtering compensation value 1870, and the deblocking filtering target pixel lines 1810 among the merge inputs 1830 are used to perform deblocking filtering based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(1810)과 디블로킹 필터링 계수(1865)를 이용하여 행렬 곱셈의 선형 연산(1875)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(1870)을 더하여(1880), 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(1810)을 다시 더하여(1890) 1xNx8의 디블로킹 필터링된 픽셀 라인들(1795)이 획득된다.Specifically, a linear operation 1875 of matrix multiplication is performed using the deblocking filtering target pixel lines 1810 and the deblocking filtering coefficient 1865, and a deblocking filtering compensation value 1870 is applied to the result of the linear operation. In addition (1880), the residual-filtered pixel lines are obtained, and the deblocking-filtered pixel lines 1810 are added to the residual-filtered pixel lines again (1890) to obtain 1xNx8 deblocking-filtered pixel lines 1795. .

도 19는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.19 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 19를 참조하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4x6의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 6개의 부호화 정보를 의미한다. Referring to FIG. 19 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means N lines with 8 pixels as one line. Also, the encoding information is 1xN/4x6 metadata, which means N/4 sets of encoding information and 6 pieces of encoding information for each of the 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터), 주변 부호화 단위의 부호화 블록 플래그(cbf), 현재 부호화 단위의 부호화 블록 플래그(cbf) 등을 포함할 수 있다.The encoding information includes the quantization parameter of the neighboring coding unit, the quantization parameter of the current coding unit, the coding mode (intra/inter) of the neighboring coding unit, the coding mode (intra/inter) of the current coding unit, and the coding block flag (cbf) of the neighboring coding unit. ), a coded block flag (cbf) of the current coding unit, and the like.

부호화 정보의 메타데이터(1915)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(1920)으로 출력된다. 제1 중간 특징맵(1920)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(1921)으로 출력된다. 제2 중간 특징맵(1921)은 완전 연결된 레이어(FC)에 입력되어 제3 중간 특징맵(1922)으로 출력된다. 제3 중간 특징맵(1922)은 디블로킹 필터링 대상 픽셀 라인들(1910)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(1910)의 크기와 동일한 1xNx8의 메타데이터 입력(1925)이 획득된다.The metadata 1915 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 1920. The first intermediate feature map 1920 is input to the fully connected layer FC and output as a second intermediate feature map 1921 . The second intermediate feature map 1921 is input to the fully connected layer FC and output as a third intermediate feature map 1922 . The third intermediate feature map 1922 is rearranged and tiled to have the same size as the pixel lines 1910 to be deblocked and filtered, so that the size of the pixel lines 1910 to be deblocked and filtered is 1xNx8. A metadata input 1925 is obtained.

1xNx8의 디블로킹 필터링 대상 픽셀 라인들(1910)과 1xNx8의 메타데이터 입력(1925)을 접합(concatenation)함으로써 2xNx8의 머지 입력(1930)이 획득된다.A 2xNx8 merge input 1930 is obtained by concatenating the 1xNx8 deblocking filtering target pixel lines 1910 and the 1xNx8 metadata input 1925.

머지 입력(1930)에 컨볼루션 연산(C)을 수행하여 제1 특징맵(1931)이 획득되고, 제1 특징맵(1931)에 대하여 6번의 레지듀얼 블록 연산(1935)을 수행하여 결과적으로 머지 입력(1930)에 대한 특징 맵이 추출된다. A first feature map 1931 is obtained by performing a convolution operation (C) on the merge input 1930, and six residual block operations 1935 are performed on the first feature map 1931, resulting in a merge A feature map for input 1930 is extracted.

머지 입력(1930)의 특징 맵에 대하여 컨볼루션 연산(C), 레지듀얼 블록 연산(1950), 및 컨볼루션 연산(C)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(1965)가 획득되고, 머지 입력(1930)의 특징 맵에 대하여 레지듀얼 블록 연산(1955) 및 컨볼루션 연산(C)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(1970)이 획득된다. 여기서, 컨볼루션 연산(C), 레지듀얼 블록 연산(1950), 및 컨볼루션 연산(C)은 필터 계수 신경망에 대응되고, 레지듀얼 블록 연산(1955) 및 컨볼루션 연산(C)은 필터링 보상값 신경망에 대응된다. 또한, 머지 입력(1930)에 컨볼루션 연산(C)을 수행한 제1 중간 특징맵(1932)에 3번의 레지듀얼 블록 연산(1933)을 수행하여 필터링 강도(1960)가 획득된다. 컨볼루션 연산과 3번의 레지듀얼 연산은 필터 강도 신경망(1945)에 대응된다.A deblocking filtering coefficient 1965 of a 64xNx1 kernel is obtained by performing a convolution operation (C), a residual block operation (1950), and a convolution operation (C) on the feature map of the merge input 1930, A deblocking filtering compensation value 1970 of 8xNx1 is obtained by performing a residual block operation 1955 and a convolution operation (C) on the feature map of the input 1930. Here, the convolution operation (C), the residual block operation (1950), and the convolution operation (C) correspond to the filter coefficient neural network, and the residual block operation (1955) and the convolution operation (C) are filtering compensation values. corresponds to the neural network. In addition, the filtering strength 1960 is obtained by performing the residual block operation 1933 three times on the first intermediate feature map 1932 obtained by performing the convolution operation (C) on the merge input 1930. The convolution operation and the residual operation 3 times correspond to the filter strength neural network 1945.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(1965), 디블로킹 필터링 보상 값(1970), 필터링 강도(1960)와, 머지 입력(1930) 중에서 디블로킹 필터링 대상 픽셀 라인들(1910)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, among the deblocking filtering coefficient 1965, the deblocking filtering compensation value 1970, the filtering strength 1960, and the merge input 1930 obtained based on the neural network, the deblocking filtering target pixel lines 1910 are selected. Neural network-based deblocking filtering is performed using

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(1910)과 디블로킹 필터링 계수(1965)를 이용하여 행렬 곱셈의 선형 연산(1975)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(1970)을 더하고(1980), 보상 값이 더해진 결과에 필터링 강도(1960)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(1985)을 수행하여 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(1910)을 다시 더하여(1990) 1xNx8의 디블로킹 필터링된 픽셀 라인들(1995)이 획득된다.Specifically, a linear operation 1975 of matrix multiplication is performed using the deblocking filtering target pixel lines 1910 and the deblocking filtering coefficient 1965, and a deblocking filtering compensation value 1970 is applied to the result of the linear operation. Add (1980), and perform component multiplication (1985) using the result of applying the sigmoid function (Sigmoid()) to the filtering strength (1960) to the result of adding the compensation value to obtain residual filtered pixel lines, and residual filtering 1xNx8 deblocking-filtered pixel lines 1995 are obtained by adding the deblocking filtering target pixel lines 1910 to the pixel lines again (1990).

도 20은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.20 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 20을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4x6의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 6개의 부호화 정보를 의미한다. Referring to FIG. 20 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means N lines with 8 pixels as one line. Also, the encoding information is 1xN/4x6 metadata, which means N/4 sets of encoding information and 6 pieces of encoding information for each of the 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터), 주변 부호화 단위의 부호화 블록 플래그(cbf), 현재 부호화 단위의 부호화 블록 플래그(cbf) 등을 포함할 수 있다.The encoding information includes the quantization parameter of the neighboring coding unit, the quantization parameter of the current coding unit, the coding mode (intra/inter) of the neighboring coding unit, the coding mode (intra/inter) of the current coding unit, and the coding block flag (cbf) of the neighboring coding unit. ), a coded block flag (cbf) of the current coding unit, and the like.

부호화 정보의 메타데이터(2015)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(2020)으로 출력된다. 제1 중간 특징맵(2020)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(2021)으로 출력된다. 제2 중간 특징맵(2021)은 디블로킹 필터링 대상 픽셀 라인들(2010)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(2010)의 크기와 동일한 1xNx8의 메타데이터 입력(2025)이 획득된다.The metadata 2015 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 2020. The first intermediate feature map 2020 is input to the fully connected layer FC and output as the second intermediate feature map 2021 . The second intermediate feature map 2021 is rearranged and tiled to have the same size as the pixel lines 2010 to be deblocked and filtered, so that the size of the pixel lines 2010 to be deblocked and filtered is 1xNx8. Metadata input 2025 is obtained.

1xNx8의 디블로킹 필터링 대상 픽셀 라인들(2010)과 1xNx8의 메타데이터 입력(2025)을 접합(concatenation)함으로써 2xNx8의 머지 입력(2030)이 획득된다.A 2xNx8 merge input 2030 is obtained by concatenating the 1xNx8 deblocking filtering target pixel lines 2010 and the 1xNx8 metadata input 2025.

머지 입력(2030)에 컨볼루션 연산(C)을 수행하여 32xNx7의 제1 중간 특징맵(2031)이 획득되고, 제1 중간 특징맵(2031)에 컨볼루션 연산(C)을 수행하여 32xNx6의 제2 중간 특징맵(2032)이 획득되고, 제2 중간 특징맵(2032)에 컨볼루션 연산(C)을 수행하여 32xNx5의 제3 중간 특징맵(2033)이 획득되고, 제3 중간 특징맵(2033)에 컨볼루션 연산(C)을 수행하여 32xNx4의 제4 중간 특징맵(2034)이 획득되고, 제4 중간 특징맵(2034)에 컨볼루션 연산(C)을 수행하여 결과적으로 머지 입력(2030)에 대한 32xNx3의 특징 맵(2035)이 추출된다. 여기서, 5번의 컨볼루션 연산은 특징 추출 신경망(2036)에 대응된다.A first intermediate feature map 2031 of 32xNx7 is obtained by performing a convolution operation (C) on the merge input 2030, and a second intermediate feature map 2031 of 32xNx6 is obtained by performing a convolution operation (C) on the first intermediate feature map 2031. 2 intermediate feature maps 2032 are obtained, and a third intermediate feature map 2033 of 32xNx5 is obtained by performing a convolution operation (C) on the second intermediate feature map 2032, and the third intermediate feature map 2033 ), a fourth intermediate feature map 2034 of 32xNx4 is obtained, and a convolution operation (C) is performed on the fourth intermediate feature map 2034, resulting in a merge input 2030 A 32xNx3 feature map 2035 for is extracted. Here, the convolution operation 5 times corresponds to the feature extraction neural network 2036.

머지 입력(2030)의 특징 맵(2035)에 대하여 컨볼루션 연산(C)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2065)가 획득되고, 머지 입력(2030)의 특징 맵(2035)에 대하여 컨볼루션 연산(C)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2070)이 획득된다. 여기서, 각각의 컨볼루션 연산(C)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. A convolution operation (C) is performed on the feature map 2035 of the merge input 2030 to obtain the deblocking filtering coefficient 2065 of the 64xNx1 kernel, and the feature map 2035 of the merge input 2030 is convolved. A deblocking filtering compensation value 2070 of 8xNx1 is obtained by performing the arithmetic operation (C). Here, each convolution operation (C) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2065), 디블로킹 필터링 보상 값(2070)과, 머지 입력(2030) 중에서 디블로킹 필터링 대상 픽셀 라인들(2010)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2065 obtained based on the neural network, the deblocking filtering compensation value 2070, and the deblocking filtering target pixel lines 2010 among the merge inputs 2030 are used to perform deblocking filtering based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2010)과 디블로킹 필터링 계수(2065)를 이용하여 행렬 곱셈의 선형 연산(2075)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2070)을 더하여(2080), 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2010)을 다시 더하여(2090) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2095)이 획득된다.Specifically, a linear operation 2075 of matrix multiplication is performed using the deblocking filtering target pixel lines 2010 and the deblocking filtering coefficient 2065, and a deblocking filtering compensation value 2070 is applied to the result of the linear operation. In addition (2080), the residual-filtered pixel lines are obtained, and the deblocking-filtered pixel lines 2010 are added to the residual-filtered pixel lines again (2090) to obtain 1xNx8 deblocking-filtered pixel lines 2095. .

도 21은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.21 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 21을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4x6의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 6개의 부호화 정보를 의미한다. Referring to FIG. 21 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means that 8 pixels are one line and there are N lines. Also, the encoding information is 1xN/4x6 metadata, which means N/4 sets of encoding information and 6 pieces of encoding information for each of the 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터), 주변 부호화 단위의 부호화 블록 플래그(cbf), 현재 부호화 단위의 부호화 블록 플래그(cbf) 등을 포함할 수 있다.The encoding information includes the quantization parameter of the neighboring coding unit, the quantization parameter of the current coding unit, the coding mode (intra/inter) of the neighboring coding unit, the coding mode (intra/inter) of the current coding unit, and the coding block flag (cbf) of the neighboring coding unit. ), a coded block flag (cbf) of the current coding unit, and the like.

부호화 정보의 메타데이터(2115)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(2120)으로 출력된다. 제1 중간 특징맵(2120)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(2121)으로 출력된다. 제2 중간 특징맵(2121)은 디블로킹 필터링 대상 픽셀 라인들(2110)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(2110)의 크기와 동일한 1xNx8의 메타데이터 입력(2125)이 획득된다.The metadata 2115 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 2120 . The first intermediate feature map 2120 is input to the fully connected layer FC and output as the second intermediate feature map 2121 . The second intermediate feature map 2121 is rearranged and tiled to have the same size as the pixel lines 2110 to be deblocked and filtered, so that the size of the pixel lines 2110 to be deblocked and filtered is 1xNx8. A metadata input 2125 is obtained.

1xNx8의 디블로킹 필터링 대상 픽셀 라인들(2110)과 1xNx8의 메타데이터 입력(2125)을 접합(concatenation)함으로써 2xNx8의 머지 입력(2130)이 획득된다.A 2xNx8 merge input 2130 is obtained by concatenating the 1xNx8 deblocking filtering target pixel lines 2110 and the 1xNx8 metadata input 2125.

머지 입력(2130)에 컨볼루션 연산(C)을 수행하여 32xNx7의 제1 중간 특징맵(2131)이 획득되고, 제1 중간 특징맵(2131)에 컨볼루션 연산(C)을 수행하여 32xNx6의 제2 중간 특징맵(2132)이 획득되고, 제2 중간 특징맵(2132)에 컨볼루션 연산(C)을 수행하여 32xNx5의 제3 중간 특징맵(2133)이 획득되고, 제3 중간 특징맵(2133)에 컨볼루션 연산(C)을 수행하여 32xNx4의 제4 중간 특징맵(2134)이 획득되고, 제4 중간 특징맵(2134)에 컨볼루션 연산(C)을 수행하여 결과적으로 머지 입력(2130)에 대한 32xNx3의 특징 맵(2135)이 추출된다. 여기서, 5번의 컨볼루션 연산은 특징 추출 신경망(2136)에 대응된다.A first intermediate feature map 2131 of 32xNx7 is obtained by performing a convolution operation (C) on the merge input 2130, and a second intermediate feature map 2131 of 32xNx6 is obtained by performing a convolution operation (C) on the first intermediate feature map 2131. 2 intermediate feature maps 2132 are obtained, and a third intermediate feature map 2133 of 32xNx5 is obtained by performing a convolution operation (C) on the second intermediate feature map 2132, and the third intermediate feature map 2133 ), a fourth intermediate feature map 2134 of 32xNx4 is obtained, and a convolution operation (C) is performed on the fourth intermediate feature map 2134, resulting in a merge input 2130 A 32xNx3 feature map 2135 for is extracted. Here, the convolution operation 5 times corresponds to the feature extraction neural network 2136.

머지 입력(2130)의 특징 맵(2135)에 대하여 컨볼루션 연산(C)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2165)가 획득되고, 머지 입력(2130)의 특징 맵(2135)에 대하여 컨볼루션 연산(C)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2170)이 획득된다. 여기서, 각각의 컨볼루션 연산(C)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 머지 입력(2130)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2141)이 획득되고, 제1 중간 특징맵(2141)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2142)이 획득되고, 제2 중간 특징맵(2142)에 컨볼루션 연산(Conv)을 수행하여 1xNx8의 필터링 강도(2160)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2145)에 대응된다.A convolution operation (C) is performed on the feature map 2135 of the merge input 2130 to obtain the deblocking filtering coefficient 2165 of the 64xNx1 kernel, and the feature map 2135 of the merge input 2130 is convoluted. A deblocking filtering compensation value 2170 of 8xNx1 is obtained by performing the arithmetic operation (C). Here, each convolution operation (C) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a convolution operation (Conv) is performed on the merge input 2130 to obtain a first intermediate feature map 2141 of 32xNx5, and a convolution operation (Conv) is performed on the first intermediate feature map 2141 to obtain a 32xNx2 A second intermediate feature map 2142 of is obtained, and a filtering strength 2160 of 1xNx8 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2142. The three convolution operations correspond to the filter strength neural network 2145.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2165), 디블로킹 필터링 보상 값(2170), 필터링 강도(2160)와, 머지 입력(2130) 중에서 디블로킹 필터링 대상 픽셀 라인들(2110)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, among the deblocking filtering coefficient 2165, the deblocking filtering compensation value 2170, the filtering strength 2160, and the merge input 2130 obtained based on the neural network, the deblocking filtering target pixel lines 2110 are selected. Neural network-based deblocking filtering is performed using

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2110)과 디블로킹 필터링 계수(2165)를 이용하여 행렬 곱셈의 선형 연산(2175)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2170)을 더하고(2180), 보상 값이 더해진 결과에 필터링 강도(2160)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2185)을 수행하여 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2110)을 다시 더하여(2190) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2195)이 획득된다.Specifically, a linear operation 2175 of matrix multiplication is performed using the deblocking filtering target pixel lines 2110 and the deblocking filtering coefficient 2165, and a deblocking filtering compensation value 2170 is applied to the result of the linear operation. In operation 2180, residual filtering pixel lines are obtained by performing component multiplication 2185 using the result of applying the sigmoid function (Sigmoid()) to the filtering strength 2160 to the result of adding the compensation value, and residual filtering is performed. 1xNx8 deblocking-filtered pixel lines 2195 are obtained by adding the deblocking filtering target pixel lines 2110 to the pixel lines again (2190).

도 22는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.22 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 22를 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 또한, 부호화 정보는 1xN/4x6의 메타데이터이고, 이는 각 4개의 라인에 대한 N/4개의 세트의 부호화 정보와 6개의 부호화 정보를 의미한다. Referring to FIG. 22 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means N lines with 8 pixels as one line. Also, the encoding information is 1xN/4x6 metadata, which means N/4 sets of encoding information and 6 pieces of encoding information for each of the 4 lines.

부호화 정보는 주변 부호화 단위의 양자화 파라미터, 현재 부호화 단위의 양자화 파라미터, 주변 부호화 단위의 부호화 모드(인트라/인터), 현재 부호화 단위의 부호화 모드(인트라/인터), 주변 부호화 단위의 부호화 블록 플래그(cbf), 현재 부호화 단위의 부호화 블록 플래그(cbf) 등을 포함할 수 있다.The encoding information includes the quantization parameter of the neighboring coding unit, the quantization parameter of the current coding unit, the coding mode (intra/inter) of the neighboring coding unit, the coding mode (intra/inter) of the current coding unit, and the coding block flag (cbf) of the neighboring coding unit. ), a coded block flag (cbf) of the current coding unit, and the like.

부호화 정보의 메타데이터(2215)는 완전 연결된 레이어(FC)에 입력되어 제1 중간 특징맵(2220)으로 출력된다. 제1 중간 특징맵(2220)은 완전 연결된 레이어(FC)에 입력되어 제2 중간 특징맵(2221)으로 출력된다. 제2 중간 특징맵(2221)은 디블로킹 필터링 대상 픽셀 라인들(2210)의 크기와 동일하도록 재배열하여 타일(tile)화함으로써, 디블로킹 필터링 대상 픽셀 라인들(2210)의 크기와 동일한 1xNx8의 메타데이터 입력(2225)이 획득된다.The metadata 2215 of the encoding information is input to the fully connected layer (FC) and output as the first intermediate feature map 2220. The first intermediate feature map 2220 is input to the fully connected layer FC and output as the second intermediate feature map 2221 . The second intermediate feature map 2221 is rearranged and tiled to have the same size as the pixel lines 2210 to be deblocked and filtered, so that the size of the pixel lines 2210 to be deblocked and filtered is 1xNx8. A metadata input 2225 is obtained.

1xNx8의 디블로킹 필터링 대상 픽셀 라인들(2210)과 1xNx8의 메타데이터 입력(2225)을 접합(concatenation)함으로써 2xNx8의 머지 입력(2230)이 획득된다.A 2xNx8 merge input 2230 is obtained by concatenating the 1xNx8 deblocking filtering target pixel lines 2210 and the 1xNx8 metadata input 2225.

머지 입력(2230)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2231)이 획득되고, 제1 중간 특징맵(2231)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2232)이 획득되고, 제2 중간 특징맵(2132)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 머지 입력(2230)에 대한 32xNx3의 특징 맵(2233)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2235)에 대응된다.A first intermediate feature map 2231 of 32xNx7 is obtained by performing a convolution operation (Conv) on the merge input 2230, and a second intermediate feature map 2231 of 32xNx6 is obtained by performing a convolution operation (Conv) on the first intermediate feature map 2231. 2 intermediate feature maps 2232 are obtained, a convolution operation (Conv) is performed on the second intermediate feature maps 2132, and as a result, a 32xNx3 feature map 2233 for the merge input 2230 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2235.

머지 입력(2230)의 특징 맵(2233)에 대하여 컨볼루션 연산(Conv)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2265)가 획득되고, 머지 입력(2230)의 특징 맵(2233)에 대하여 컨볼루션 연산(Conv)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2270)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 머지 입력(2230)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2241)이 획득되고, 제1 중간 특징맵(2241)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2242)이 획득되고, 제2 중간 특징맵(2142)에 컨볼루션 연산(Conv)을 수행하여 1xNx8의 필터링 강도(2260)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2245)에 대응된다.A deblocking filtering coefficient 2265 of a 64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2233 of the merge input 2230, and the feature map 2233 of the merge input 2230 is convolved. A deblocking filtering compensation value 2270 of 8xNx1 is obtained by performing a devolution operation (Conv). Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a convolution operation (Conv) is performed on the merge input 2230 to obtain a first intermediate feature map 2241 of 32xNx5, and a convolution operation (Conv) is performed on the first intermediate feature map 2241 to obtain a 32xNx2 A second intermediate feature map 2242 of is obtained, and a filtering strength 2260 of 1xNx8 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2142. The three convolution operations correspond to the filter strength neural network 2245.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2265), 디블로킹 필터링 보상 값(2270), 필터링 강도(2260)와, 머지 입력(2230) 중에서 디블로킹 필터링 대상 픽셀 라인들(2210)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, among the deblocking filtering coefficient 2265, the deblocking filtering compensation value 2270, the filtering strength 2260, and the merge input 2230 obtained based on the neural network, the deblocking filtering target pixel lines 2210 are selected. Neural network-based deblocking filtering is performed using

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2210)과 디블로킹 필터링 계수(2265)를 이용하여 행렬 곱셈의 선형 연산(2275)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2270)을 더하고(2280), 보상 값이 더해진 결과에 필터링 강도(2260)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2285)을 수행하여 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2210)을 다시 더하여(2290) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2295)이 획득된다.Specifically, a linear operation 2275 of matrix multiplication is performed using the deblocking filtering target pixel lines 2210 and the deblocking filtering coefficient 2265, and a deblocking filtering compensation value 2270 is applied to the result of the linear operation. Add (2280), and perform component multiplication (2285) using the result of applying the sigmoid function (Sigmoid()) to the filtering strength (2260) to the result of adding the compensation value to obtain residual filtered pixel lines, and residual filtering 1xNx8 deblocking-filtered pixel lines 2295 are obtained by adding the deblocking filtering target pixel lines 2210 to the pixel lines again (2290).

도 23은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.23 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 23을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다.Referring to FIG. 23 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means that 8 pixels are one line and there are N lines. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input.

디블로킹 필터링 대상 픽셀 라인들(2310)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2331)이 획득되고, 제1 중간 특징맵(2331)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2332)이 획득되고, 제2 중간 특징맵(2332)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들 (2310)에 대한 32xNx3의 특징 맵(2333)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2335)에 대응된다.A first intermediate feature map 2331 of 32xNx7 is obtained by performing a convolution operation (Conv) on the pixel lines 2310 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2331. A second intermediate feature map 2332 of 32xNx6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2332, resulting in a 32xNx3 of 32xNx3 for the deblocking filtering target pixel lines 2310. A feature map 2333 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2335.

디블로킹 필터링 대상 픽셀 라인들 (2310)의 특징 맵(2333)에 대하여 컨볼루션 연산(Conv)을 수행하여 3x64xNx1 커널의 디블로킹 필터링 계수(2365)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들 (2310)의 특징 맵(2333)에 대하여 컨볼루션 연산(Conv)을 수행하여 3x8xNx1의 디블로킹 필터링 보상 값(2370)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 입력(2310)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2341)이 획득되고, 제1 중간 특징맵(2341)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2342)이 획득되고, 제2 중간 특징맵(2342)에 컨볼루션 연산(Conv)을 수행하여 1xNx8의 필터링 강도(2360)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2345)에 대응된다.A deblocking filtering coefficient 2365 of a 3x64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2333 of the deblocking filtering target pixel lines 2310, and the deblocking filtering target pixel lines 2310 A deblocking filtering compensation value 2370 of 3x8xNx1 is obtained by performing a convolution operation (Conv) on the feature map 2333 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a first intermediate feature map 2341 of 32xNx5 is obtained by performing a convolution operation (Conv) on the input 2310, and a convolution operation (Conv) is performed on the first intermediate feature map 2341 to obtain a 32xNx2 A second intermediate feature map 2342 is obtained, and a filtering strength 2360 of 1xNx8 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2342. The three convolution operations correspond to the filter strength neural network 2345.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2365), 디블로킹 필터링 보상 값(2370), 필터링 강도(2360)와, 디블로킹 필터링 대상 픽셀 라인들(2310)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2365, the deblocking filtering compensation value 2370, and the filtering strength 2360 obtained based on the neural network and the deblocking filtering target pixel lines 2310 are used to perform deblocking based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2310)이 디블로킹 필터링 계수(2365)와 디블로킹 필터링 보상 값(2370)의 크기에 정합되도록, 디블로킹 필터링 대상 픽셀 라인들(2310)을 3배로 하여 디블로킹 필터링 대상 픽셀 라인들(2310)이 3xNx8의 크기의 입력으로 타일(tile)화되고, 3xNx8의 입력과 디블로킹 필터링 계수(2365)를 이용하여 행렬 곱셈의 선형 연산(2375)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2370)을 더하고(2380), 보상 값이 더해진 결과에 필터링 강도(2360)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2385)을 수행하여 잔차 필터링 픽셀 라인들이 획득된다. Specifically, the deblocking filtering target pixel lines 2310 are tripled so that the deblocking filtering target pixel lines 2310 match the deblocking filtering coefficient 2365 and the deblocking filtering compensation value 2370. The deblocking filtering target pixel lines 2310 are tiled with a 3xNx8 input, and a linear operation 2375 of matrix multiplication is performed using the 3xNx8 input and the deblocking filtering coefficient 2365, The deblocking filtering compensation value 2370 is added to the result of the linear operation (2380), and the component multiplication (2385) is performed using the result of applying the sigmoid function (Sigmoid()) to the filtering strength (2360) to the result obtained by adding the compensation value. ) to obtain residual filtered pixel lines.

잔차 필터링 픽셀 라인들을 평균내어 평균 잔차 필터링 픽셀 라인들이 획득되고, 평균 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2310)을 다시 더하여(2390) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2395)이 획득된다. 즉, 서로 다른 3개의 출력을 획득하여 3개의 출력의 평균이 최종 출력으로 획득된다. 이를 통해, 복수의 예측을 평균화하여 예측 오류가 감소되는 앙상블 효과(ensemble effect)가 얻어질 수 있다.Average residual-filtered pixel lines are obtained by averaging the residual-filtered pixel lines, and deblocking-filtered pixel lines 2310 are added to the average residual-filtered pixel lines (2390) to obtain 1xNx8 deblocking-filtered pixel lines (2395). ) is obtained. That is, three different outputs are obtained and an average of the three outputs is obtained as a final output. Through this, an ensemble effect in which a prediction error is reduced by averaging a plurality of predictions can be obtained.

도 24는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.24 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.

도 24를 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다.Referring to FIG. 24 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means N lines with 8 pixels as one line. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input.

디블로킹 필터링 대상 픽셀 라인들(2410)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2431)이 획득되고, 제1 중간 특징맵(2431)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2432)이 획득되고, 제2 중간 특징맵(2432)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들(2410)에 대한 32xNx3의 특징 맵(2433)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2435)에 대응된다.A first intermediate feature map 2431 of 32xNx7 is obtained by performing a convolution operation (Conv) on the pixel lines 2410 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2431. A second intermediate feature map 2432 of 32xNx6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2432, resulting in a 32xNx3 of 32xNx3 for the deblocking filtering target pixel lines 2410. A feature map 2433 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2435.

디블로킹 필터링 대상 픽셀 라인들(2410)의 특징 맵(2433)에 대하여 컨볼루션 연산(Conv)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2465)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들(2410)의 특징 맵(2433)에 대하여 컨볼루션 연산(Conv)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2370)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 디블로킹 필터링 대상 픽셀 라인들(2410)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2441)이 획득되고, 제1 중간 특징맵(2441)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2342)이 획득되고, 제2 중간 특징맵(2442)에 컨볼루션 연산(Conv)을 수행하여 1xNx8의 필터링 강도(2460)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2445)에 대응된다.A deblocking filtering coefficient 2465 of a 64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2433 of the deblocking filtering target pixel lines 2410, and the deblocking filtering target pixel lines 2410 A deblocking filtering compensation value 2370 of 8xNx1 is obtained by performing a convolution operation (Conv) on the feature map 2433 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a 32xNx5 first intermediate feature map 2441 is obtained by performing a convolution operation (Conv) on the pixel lines 2410 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2441. ) is performed to obtain a second intermediate feature map 2342 of 32xNx2, and a filtering strength 2460 of 1xNx8 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2442. The three convolution operations correspond to the filter strength neural network 2445.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2465), 디블로킹 필터링 보상 값(2470), 필터링 강도(2460)와, 디블로킹 필터링 대상 픽셀 라인들(2410)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2465, the deblocking filtering compensation value 2470, and the filtering strength 2460 obtained based on the neural network and the deblocking filtering target pixel lines 2410 are used to perform deblocking based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2410)과 디블로킹 필터링 계수(2465)를 이용하여 행렬 곱셈의 선형 연산(2475)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2470)을 더하고(2480), 보상 값이 더해진 결과에 필터링 강도(2460)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2485)을 수행하여 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2410)을 다시 더하여(2490) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2495)이 획득된다. Specifically, a linear operation 2475 of matrix multiplication is performed using the deblocking filtering target pixel lines 2410 and the deblocking filtering coefficient 2465, and a deblocking filtering compensation value 2470 is applied to the result of the linear operation. Add (2480), and perform component multiplication (2485) using the result of applying the sigmoid function (Sigmoid()) to the filtering strength (2460) to the result of adding the compensation value to obtain residual filtered pixel lines, and residual filtering 1xNx8 deblocking-filtered pixel lines 2495 are obtained by adding the deblocking filtering target pixel lines 2410 to the pixel lines again (2490).

도 25는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.25 is a diagram for explaining a structure of neural network-based deblocking filtering according to an embodiment.

도 25를 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다.Referring to FIG. 25 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means that 8 pixels are one line and there are N lines. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input.

디블로킹 필터링 대상 픽셀 라인들(2510)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2531)이 획득되고, 제1 중간 특징맵(2531)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2532)이 획득되고, 제2 중간 특징맵(2532)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들(2510)에 대한 32xNx3의 특징 맵(2533)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2535)에 대응된다.A first intermediate feature map 2531 of 32xNx7 is obtained by performing a convolution operation (Conv) on the pixel lines 2510 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2531. A second intermediate feature map 2532 of 32xNx6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2532, resulting in a 32xNx3 of 32xNx3 for the deblocking filtering target pixel lines 2510. A feature map 2533 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2535.

디블로킹 필터링 대상 픽셀 라인들(2510)의 특징 맵(2533)에 대하여 컨볼루션 연산(Conv)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2565)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들(2510)의 특징 맵(2533)에 대하여 컨볼루션 연산(Conv)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2570)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 입력(2510)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2541)이 획득되고, 제1 중간 특징맵(2541)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2542)이 획득되고, 제2 중간 특징맵(2542)에 컨볼루션 연산(Conv)을 수행하여 1xNx2의 필터링 강도(2560)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2545)에 대응된다.A deblocking filtering coefficient 2565 of a 64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2533 of the deblocking filtering target pixel lines 2510, and the deblocking filtering target pixel lines 2510 A deblocking filtering compensation value 2570 of 8xNx1 is obtained by performing a convolution operation (Conv) on the feature map 2533 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a convolution operation (Conv) is performed on the input 2510 to obtain a first intermediate feature map 2541 of 32xNx5, and a convolution operation (Conv) is performed on the first intermediate feature map 2541 to obtain a 32xNx2 A second intermediate feature map 2542 is obtained, and a filtering strength 2560 of 1xNx2 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2542. The three convolution operations correspond to the filter strength neural network 2545.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2565), 디블로킹 필터링 보상 값(2570), 필터링 강도(2560)와, 디블로킹 필터링 대상 픽셀 라인들(2510)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2565 obtained based on the neural network, the deblocking filtering compensation value 2570, the filtering strength 2560, and the deblocking filtering target pixel lines 2510 are used to perform deblocking filtering based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2510)과 디블로킹 필터링 계수(2565)를 이용하여 행렬 곱셈의 선형 연산(2575)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2570)을 더하고(2580), 보상 값이 더해진 결과에 필터링 강도(2560)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2585)을 수행하여 잔차 필터링 픽셀 라인들이 획득된다. Specifically, a linear operation 2575 of matrix multiplication is performed using the deblocking filtering target pixel lines 2510 and the deblocking filtering coefficient 2565, and a deblocking filtering compensation value 2570 is applied to the result of the linear operation. In operation 2580, residual filtering pixel lines are obtained by performing component multiplication 2585 using a result of applying the sigmoid function (Sigmoid()) to the filtering strength 2560 to the result of adding the compensation value.

필터링 강도 신경망(2545)을 통해 생성된 필터링 강도(2560)의 크기는 1xNx2이고, 디블로킹 필터링 대상 픽셀들(2510)의 크기는 1xNx8이므로, 필터링 강도의 적용 방식이 달라진다. 구체적으로, 수평 방향으로 인접하는 두 블록의 경계에 대하여 수평 라인 필터링(horizontal line filtering)하는 경우에는, 좌측 블록의 오른쪽 경계와 우측 블록의 왼쪽 경계 각각에 대하여 1xNx2의 필터링 강도를 나누어, 각각 1xNx1의 필터링 강도를 이용하여 성분곱이 수행되고, 수직 방향으로 인접하는 두 블록의 경계에 대하여 수직 라인 필터링(vertical line filtering)하는 경우에는, 하측 블록의 위쪽 경계와 상측 블록의 아래쪽 경계 각각에 대하여 1xNx2의 필터링 강도를 나누어, 각각 1xNx1의 필터링 강도를 이용하여 성분곱이 수행될 수 있다. 즉, 필터링할 픽셀 라인들의 각 측면에 1xNx2의 필터링 강도가 별개로 적용된다. 디블로킹 필터링은 블록의 경계에서 블로킹 아티팩트를 제거하는 것이므로, 블록의 경계에서 필터링 강도가 달리 적용될 수 있다.Since the size of the filtering strength 2560 generated through the filtering strength neural network 2545 is 1xNx2 and the size of the deblocking filtering target pixels 2510 is 1xNx8, the method of applying the filtering strength is different. Specifically, in the case of horizontal line filtering on the boundary of two horizontally adjacent blocks, the filtering intensity of 1xNx2 is divided for each of the right boundary of the left block and the left boundary of the right block, respectively, to obtain a value of 1xNx1. When component multiplication is performed using the filtering strength and vertical line filtering is performed on the boundary of two vertically adjacent blocks, 1xNx2 filtering is applied to the upper boundary of the lower block and the lower boundary of the upper block, respectively. Component multiplication may be performed by dividing the intensities and using filtering intensities of 1xNx1, respectively. That is, a filtering strength of 1xNx2 is separately applied to each side of the pixel lines to be filtered. Since deblocking filtering removes blocking artifacts at block boundaries, different filtering strengths may be applied at block boundaries.

획득된 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2510)을 다시 더하여(2590) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2595)이 획득된다. 1xNx8 deblocking-filtered pixel lines 2595 are obtained by adding the deblocking filtering target pixel lines 2510 to the obtained residual filtering pixel lines (2590).

도 26은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.26 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 26을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용될 수 있다.Referring to FIG. 26 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means that 8 pixels are one line and there are N lines. Only the deblocking filter target pixels may be used as inputs without fusing the metadata for the encoding information into the input.

디블로킹 필터링 대상 픽셀 라인들(2610)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2631)이 획득되고, 제1 중간 특징맵(2631)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2632)이 획득되고, 제2 중간 특징맵(2632)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들(2610)에 대한 32xNx3의 특징 맵(2633)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2635)에 대응된다.A first intermediate feature map 2631 of 32xNx7 is obtained by performing a convolution operation (Conv) on the pixel lines 2610 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2631. A second intermediate feature map 2632 of 32xNx6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2632, resulting in a 32xNx3 of 32xNx3 for the deblocking filtering target pixel lines 2610. A feature map 2633 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2635.

디블로킹 필터링 대상 픽셀 라인들(2610)의 특징 맵(2633)에 대하여 컨볼루션 연산(Conv)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2665)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들(2610)의 특징 맵(2633)에 대하여 컨볼루션 연산(Conv)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2670)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. A deblocking filtering coefficient 2665 of a 64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2633 of the deblocking filtering target pixel lines 2610, and the deblocking filtering target pixel lines 2610 A deblocking filtering compensation value 2670 of 8xNx1 is obtained by performing a convolution operation (Conv) on the feature map 2633 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2665), 디블로킹 필터링 보상 값(2670)과, 디블로킹 필터링 대상 픽셀 라인들(2610)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking filtering is performed using the deblocking filtering coefficient 2665 obtained based on the neural network, the deblocking filtering compensation value 2670, and the deblocking filtering target pixel lines 2610.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2610)과 디블로킹 필터링 계수(2665)를 이용하여 행렬 곱셈의 선형 연산(2675)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2670)을 더하여(2680), 잔차 필터링 픽셀 라인들이 획득되고, 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2610)을 다시 더하여(2690) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2695)이 획득된다. Specifically, a linear operation 2675 of matrix multiplication is performed using the deblocking filtering target pixel lines 2610 and the deblocking filtering coefficient 2665, and a deblocking filtering compensation value 2670 is applied to the result of the linear operation. In addition (2680), the residual-filtered pixel lines are obtained, and the deblocking-filtered pixel lines 2610 are added to the residual-filtered pixel lines again (2690) to obtain 1xNx8 deblocking-filtered pixel lines 2695. .

도 27은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.27 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 27을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1xNx8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 N개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다.Referring to FIG. 27 , the size of pixel lines subject to the deblocking filter is 1xNx8, which means N lines with 8 pixels as one line. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input.

디블로킹 필터링 대상 픽셀 라인들(2710)에 컨볼루션 연산(Conv)을 수행하여 32xNx7의 제1 중간 특징맵(2731)이 획득되고, 제1 중간 특징맵(2731)에 컨볼루션 연산(Conv)을 수행하여 32xNx6의 제2 중간 특징맵(2732)이 획득되고, 제2 중간 특징맵(2732)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들(2710)에 대한 32xNx3의 특징 맵(2733)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2735)에 대응된다.A first intermediate feature map 2731 of 32xNx7 is obtained by performing a convolution operation (Conv) on the pixel lines 2710 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2731. A second intermediate feature map 2732 of 32xNx6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2732, resulting in a 32xNx3 of 32xNx3 for the deblocking filtering target pixel lines 2710. A feature map 2733 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2735.

디블로킹 필터링 대상 픽셀 라인들(2710)의 특징 맵(2733)에 대하여 컨볼루션 연산(Conv)을 수행하여 64xNx1 커널의 디블로킹 필터링 계수(2765)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들(2710)의 특징 맵(2733)에 대하여 컨볼루션 연산(Conv)을 수행하여 8xNx1의 디블로킹 필터링 보상 값(2770)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 디블로킹 필터링 대상 픽셀 라인들(2710)에 컨볼루션 연산(Conv)을 수행하여 32xNx5의 제1 중간 특징맵(2741)이 획득되고, 제1 중간 특징맵(2741)에 컨볼루션 연산(Conv)을 수행하여 32xNx2의 제2 중간 특징맵(2742)이 획득되고, 제2 중간 특징맵(2742)에 컨볼루션 연산(Conv)을 수행하여 1xNx1의 필터링 강도(2760)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2745)에 대응된다.A deblocking filtering coefficient 2765 of a 64xNx1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2733 of the deblocking filtering target pixel lines 2710, and the deblocking filtering target pixel lines 2710 A deblocking filtering compensation value 2770 of 8xNx1 is obtained by performing a convolution operation (Conv) on the feature map 2733 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a 32xNx5 first intermediate feature map 2741 is obtained by performing a convolution operation (Conv) on the pixel lines 2710 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2741. ) to obtain a second intermediate feature map 2742 of 32xNx2, and a filtering strength 2760 of 1xNx1 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2742. 3 convolution operations correspond to the filter strength neural network 2745.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2765), 디블로킹 필터링 보상 값(2770), 필터링 강도(2760)와, 디블로킹 필터링 대상 픽셀 라인들(2710)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2765, the deblocking filtering compensation value 2770, and the filtering strength 2760 obtained based on the neural network and the deblocking filtering target pixel lines 2710 are used to perform deblocking filtering based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2710)과 디블로킹 필터링 계수(2765)를 이용하여 행렬 곱셈의 선형 연산(2775)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2770)을 더하고(2780), 보상 값이 더해진 결과에 필터링 강도(2760)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2785)을 수행하여 잔차 필터링 픽셀 라인들이 획득된다. Specifically, a linear operation 2775 of matrix multiplication is performed using the deblocking filtering target pixel lines 2710 and the deblocking filtering coefficient 2765, and a deblocking filtering compensation value 2770 is applied to the result of the linear operation. In operation 2780, residual filtering pixel lines are obtained by performing component multiplication 2785 using a result of applying the sigmoid function (Sigmoid()) to the filtering strength 2760 to the result of adding the compensation value.

필터링 강도 신경망(2745)을 통해 생성된 필터링 강도(2760)의 크기는 1xNx1이고, 디블로킹 필터링 대상 픽셀들(2710)의 크기는 1xNx8이므로, 필터링 강도의 적용 방식이 달라진다. Since the size of the filtering strength 2760 generated by the filtering strength neural network 2745 is 1xNx1 and the size of the deblocking filtering target pixels 2710 is 1xNx8, the method of applying the filtering strength is different.

일 예로, 수평 방향으로 인접하는 두 블록의 경계에 대하여 수평 라인 필터링(horizontal line filtering)하는 경우에는, 좌측 블록의 오른쪽 경계와 우측 블록의 왼쪽 경계 각각에 대하여 동일한 1xNx1의 필터링 강도를 이용하여 성분곱이 수행되고, 수직 방향으로 인접하는 두 블록의 경계에 대하여 수직 라인 필터링(vertical line filtering)하는 경우에는, 하측 블록의 위쪽 경계와 상측 블록의 아래쪽 경계 각각에 대하여 동일한 1xNx1의 필터링 강도를 이용하여 성분곱이 수행될 수 있다. For example, in the case of horizontal line filtering on the boundary of two horizontally adjacent blocks, the component product is obtained by using the same filtering strength of 1xNx1 for the right boundary of the left block and the left boundary of the right block, respectively. In the case of performing vertical line filtering on the boundary of two vertically adjacent blocks, the component multiplication is performed using the same filtering strength of 1xNx1 for the upper boundary of the lower block and the lower boundary of the upper block, respectively. can be performed

또한, 다른 예로, 필터링할 모든 픽셀 라인들에 대하여 1xNx1의 필터링 강도가 동일하게 적용되어 성분곱이 수행될 수 있다.Also, as another example, component multiplication may be performed by applying the same filtering intensity of 1xNx1 to all pixel lines to be filtered.

획득된 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2710)을 다시 더하여(2790) 1xNx8의 디블로킹 필터링된 픽셀 라인들(2795)이 획득된다. 1xNx8 deblocking-filtered pixel lines 2795 are obtained by adding deblocking filtering target pixel lines 2710 to the obtained residual filtering pixel lines (2790).

도 28은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.28 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 28을 참고하면, 디블로킹 필터 대상 픽셀 라인들의 크기는 1x4x8이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 4개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다.Referring to FIG. 28 , the size of pixel lines subject to the deblocking filter is 1x4x8, which means that 8 pixels constitute 4 lines. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input.

디블로킹 필터링 대상 픽셀 라인들(2810)에 컨볼루션 연산(Conv)을 수행하여 32x4x7의 제1 중간 특징맵(2831)이 획득되고, 제1 중간 특징맵(2831)에 컨볼루션 연산(Conv)을 수행하여 32x4x6의 제2 중간 특징맵(2832)이 획득되고, 제2 중간 특징맵(2832)에 컨볼루션 연산(Conv)을 수행하여 결과적으로 디블로킹 필터링 대상 픽셀 라인들(2810)에 대한 32x4x3의 특징 맵(2833)이 추출된다. 여기서, 3번의 컨볼루션 연산은 특징 추출 신경망(2835)에 대응된다.A 32x4x7 first intermediate feature map 2831 is obtained by performing a convolution operation (Conv) on the pixel lines 2810 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2831. A second intermediate feature map 2832 of 32x4x6 is obtained, and a convolution operation (Conv) is performed on the second intermediate feature map 2832, resulting in a 32x4x3 pixel line 2810 for deblocking filtering. A feature map 2833 is extracted. Here, the convolution operation No. 3 corresponds to the feature extraction neural network 2835.

디블로킹 필터링 대상 픽셀 라인들(2810)의 특징 맵(2833)에 대하여 컨볼루션 연산(Conv)을 수행하여 64x4x1 커널의 디블로킹 필터링 계수(2865)가 획득되고, 디블로킹 필터링 대상 픽셀 라인들(2810)의 특징 맵(2833)에 대하여 컨볼루션 연산(Conv)을 수행하여 8x4x1의 디블로킹 필터링 보상 값(2870)이 획득된다. 여기서, 각각의 컨볼루션 연산(Conv)은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 디블로킹 필터링 대상 픽셀 라인들(2810)에 컨볼루션 연산(Conv)을 수행하여 32x3x5의 제1 중간 특징맵(2841)이 획득되고, 제1 중간 특징맵(2841)에 컨볼루션 연산(Conv)을 수행하여 32x2x2의 제2 중간 특징맵(2842)이 획득되고, 제2 중간 특징맵(2842)에 컨볼루션 연산(Conv)을 수행하여 4x1x1의 필터링 강도(2860)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2845)에 대응된다.A deblocking filtering coefficient 2865 of a 64x4x1 kernel is obtained by performing a convolution operation (Conv) on the feature map 2833 of the deblocking filtering target pixel lines 2810, and the deblocking filtering target pixel lines 2810 A deblocking filtering compensation value 2870 of 8x4x1 is obtained by performing a convolution operation (Conv) on the feature map 2833 of . Here, each convolution operation (Conv) corresponds to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a 32x3x5 first intermediate feature map 2841 is obtained by performing a convolution operation (Conv) on the pixel lines 2810 subject to deblocking filtering, and a convolution operation (Conv) is performed on the first intermediate feature map 2841. ) to obtain a second intermediate feature map 2842 of 32x2x2, and a filtering strength 2860 of 4x1x1 is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2842. The three convolution operations correspond to the filter strength neural network 2845.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2865), 디블로킹 필터링 보상 값(2870), 필터링 강도(2860)와, 디블로킹 필터링 대상 픽셀 라인들(2810)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, the deblocking filtering coefficient 2865, the deblocking filtering compensation value 2870, and the filtering strength 2860 obtained based on the neural network and the deblocking filtering target pixel lines 2810 are used to perform deblocking filtering based on the neural network. Blocking filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인들(2810)과 디블로킹 필터링 계수(2865)를 이용하여 행렬 곱셈의 선형 연산(2875)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2870)을 더하고(2880), 보상 값이 더해진 결과에 필터링 강도(2860)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2885)을 수행하여 잔차 필터링 픽셀 라인들이 획득된다.Specifically, a linear operation 2875 of matrix multiplication is performed using the deblocking filtering target pixel lines 2810 and the deblocking filtering coefficient 2865, and a deblocking filtering compensation value 2870 is applied to the result of the linear operation. In operation 2880, residual filtering pixel lines are obtained by performing component multiplication 2885 using a result of applying the sigmoid function (Sigmoid()) to the filtering strength 2860 to the result of adding the compensation value.

필터링 강도 신경망(2845)을 통해 생성된 필터링 강도(2860)의 크기는 4x1x1이고, 디블로킹 필터링 대상 픽셀들(2810)의 크기는 1x4x8이므로, 필터링 강도의 적용 방식이 달라진다. 도 27의 필터링 강도(2760)와 다르게, 도 28의 필터링 강도(2860)는 치수(dimension)가 다르므로, 이를 디블로킹 필터링 대상 픽셀 라인들(2810)의 크기에 맞게 스위칭하여 필터링 강도가 적용될 수 있다. 즉, 4x1x1의 ??터링 강도(2860)를 1x4x1의 형태로 변환하여 필터링 강도가 적용될 수 있다.Since the size of the filtering strength 2860 generated through the filtering strength neural network 2845 is 4x1x1 and the size of the deblocking filtering target pixels 2810 is 1x4x8, the method of applying the filtering strength is different. Unlike the filtering strength 2760 of FIG. 27 , the filtering strength 2860 of FIG. 28 has a different dimension, and thus the filtering strength 2860 of FIG. there is. That is, the filtering strength 2860 of 4x1x1 may be converted into a form of 1x4x1 and the filtering strength may be applied.

일 예로, 수평 방향으로 인접하는 두 블록의 경계에 대하여 수평 라인 필터링(horizontal line filtering)하는 경우에는, 좌측 블록의 오른쪽 경계와 우측 블록의 왼쪽 경계 각각에 대하여 동일한 1x4x1의 필터링 강도를 이용하여 성분곱이 수행되고, 수직 방향으로 인접하는 두 블록의 경계에 대하여 수직 라인 필터링(vertical line filtering)하는 경우에는, 하측 블록의 위쪽 경계와 상측 블록의 아래쪽 경계 각각에 대하여 동일한 1x4x1의 필터링 강도를 이용하여 성분곱이 수행될 수 있다. For example, in the case of horizontal line filtering on the boundary of two horizontally adjacent blocks, the component product is obtained by using the same filtering strength of 1x4x1 for the right boundary of the left block and the left boundary of the right block, respectively. In the case of performing vertical line filtering on the boundary of two blocks adjacent in the vertical direction, the component multiplication is performed using the same filtering strength of 1x4x1 for the upper boundary of the lower block and the lower boundary of the upper block, respectively. can be performed

또한, 다른 예로, 필터링할 모든 픽셀 라인들에 대하여 1x4x1의 필터링 강도가 동일하게 적용되어 성분곱이 수행될 수 있다.Also, as another example, component multiplication may be performed by applying the same filtering intensity of 1x4x1 to all pixel lines to be filtered.

획득된 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(2810)을 다시 더하여(2890) 1x4x8의 디블로킹 필터링된 픽셀 라인들(2895)이 획득된다. 1x4x8 deblocking-filtered pixel lines 2895 are obtained by adding deblocking filtering target pixel lines 2810 to the obtained residual filtering pixel lines (2890).

도 29는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.29 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 29를 참고하면, 디블로킹 필터 대상 픽셀 라인의 크기는 8x1이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 1개의 라인임을 의미한다. 부호화 정보에 대한 메타데이터를 입력에 융합하지 않고, 디블로킹 필터 대상 픽셀들만이 입력으로 이용된다. 또한, 필터링 계수(2965), 필터링 보상값(2970), 및 필터링 강도(2960)을 획득하기 위한 입력으로 8x1의 디블로킹 필터 대상 픽셀 라인을 포함하는 4개의 라인의 1x4x8의 입력 데이터가 이용된다. 이는 8x1의 디블로킹 필터 대상 픽셀 라인 주변의 추가적인 정보를 더 이용함으로써 더 효과적인 필터링 계수(2965), 필터링 보상값(2970), 및 필터링 강도(2960)을 획득하기 위함이다.Referring to FIG. 29 , the size of a pixel line subject to a deblocking filter is 8×1, which means that 8 pixels are 1 line and 1 line is formed. Metadata for encoding information is not fused to input, and only deblocking filter target pixels are used as input. In addition, 1x4x8 input data of four lines including 8x1 deblocking filter target pixel lines are used as inputs to obtain the filtering coefficient 2965, the filtering compensation value 2970, and the filtering strength 2960. This is to obtain more effective filtering coefficients 2965, filtering compensation values 2970, and filtering strengths 2960 by further using additional information around the 8×1 deblocking filter target pixel line.

디블로킹 필터링 대상 픽셀 라인(2910)을 포함하는 1x4x8의 4개 라인의 입력 데이터를 완전 연결된 레이어(FC)에 입력하여 제1 중간 특징맵(2931)이 획득되고, 제1 중간 특징맵(2931)을 완전 연결된 레이어(FC)에 입력하여 제2 중간 특징맵(2932)이 획득되고, 제2 중간 특징맵(2932)을 완전 연결된 레이어(FC)에 입력하여 결과적으로 디블로킹 필터링 대상 픽셀 라인(2910)을 포함하는 1x4x8의 4개 라인의 입력 데이터에 대한 특징 맵(2933)이 추출된다. 여기서, 3번의 완전 연결된 레이어에 대한 입력은 특징 추출 신경망(2935)에 대응된다.A first intermediate feature map 2931 is obtained by inputting input data of four lines of 1x4x8 including a pixel line 2910 to be deblocked and filtered to a fully connected layer (FC), and the first intermediate feature map 2931 is input to the fully-connected layer (FC) to obtain a second intermediate feature map 2932, and the second intermediate feature map 2932 is input to the fully-connected layer (FC) as a result of deblocking filtering target pixel lines (2910). A feature map 2933 for four lines of input data of 1x4x8 including ) is extracted. Here, the input for the third fully connected layer corresponds to the feature extraction neural network 2935.

추출된 특징 맵(2933)을 완전 연결된 레이어(FC)에 입력하여 8x8 커널의 디블로킹 필터링 계수(2965)가 획득되고, 추출된 특징 맵(2933)을 완전 연결된 레이어(FC)에 입력하여 8x1의 디블로킹 필터링 보상 값(2970)이 획득된다. 여기서, 각각의 완전 연결된 레이어에 대한 입력은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 디블로킹 필터링 대상 픽셀 라인(2910)을 포함하는 1x4x8의 4개 라인의 입력 데이터에 컨볼루션 연산(Conv)을 수행하여 32x3x5의 제1 중간 특징맵(2941)이 획득되고, 제1 중간 특징맵(2941)에 컨볼루션 연산(Conv)을 수행하여 32x2x2의 제2 중간 특징맵(2942)이 획득되고, 제2 중간 특징맵(2942)에 컨볼루션 연산(Conv)을 수행하여 4x1x1의 필터링 강도(2960)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(2945)에 대응된다.The extracted feature map 2933 is input to the fully connected layer (FC) to obtain the deblocking filtering coefficient 2965 of the 8x8 kernel, and the extracted feature map 2933 is input to the fully connected layer (FC) to obtain the 8x1 A deblocking filtering compensation value 2970 is obtained. Here, inputs to each fully connected layer correspond to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a first intermediate feature map 2941 of 32x3x5 is obtained by performing a convolution operation (Conv) on the input data of four lines of 1x4x8 including the pixel line 2910 to be deblocked and filtered, and the first intermediate feature A 32x2x2 second intermediate feature map 2942 is obtained by performing a convolution operation (Conv) on the map 2941, and a 4x1x1 filtering strength is obtained by performing a convolution operation (Conv) on the second intermediate feature map 2942. (2960) is obtained. The three convolution operations correspond to the filter strength neural network 2945.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(2965), 디블로킹 필터링 보상 값(2970), 필터링 강도(2960)와, 디블로킹 필터링 대상 픽셀 라인(2910)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking is performed using the deblocking filtering coefficient 2965, the deblocking filtering compensation value 2970, the filtering strength 2960, and the deblocking filtering target pixel line 2910 obtained based on the neural network. filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인(2910)과 디블로킹 필터링 계수(2965)를 이용하여 행렬 곱셈의 선형 연산(2975)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(2970)을 더하고(2980), 보상 값이 더해진 결과에 필터링 강도(2960)에 시그모이드 함수(Sigmoid())를 적용한 결과를 이용하여 성분 곱(2985)을 수행하여 잔차 필터링 픽셀 라인이 획득된다.Specifically, a linear operation 2975 of matrix multiplication is performed using the deblocking filtering target pixel line 2910 and the deblocking filtering coefficient 2965, and a deblocking filtering compensation value 2970 is added to the result of the linear operation. In operation 2980, a residual filtering pixel line is obtained by performing component multiplication 2985 using a result of applying a sigmoid function (Sigmoid()) to the filtering strength 2960 to the result of adding the compensation value.

필터링 강도 신경망(2945)을 통해 생성된 필터링 강도(2960)의 크기는 4x1x1이고, 디블로킹 필터링 대상 픽셀(2910)의 크기는 8x1이므로, 필터링 강도의 적용 방식이 달라진다. 4x1x1의 필터링 강도(2960)는 8x1의 디블로킹 필터링 대상 픽셀(2910)과 크기가 다르므로, 이를 디블로킹 필터링 대상 픽셀(2910)의 크기에 맞게 스위칭하여 필터링 강도가 적용될 수 있다. 즉, 4x1x1의 ??터링 강도(2960)를 4x1의 형태로 변환하여 필터링 강도가 8x1의 디블로킹 필터링 대상 픽셀(2910)에 2번 적용될 수 있다.Since the size of the filtering strength 2960 generated through the filtering strength neural network 2945 is 4x1x1 and the size of the deblocking filtering target pixel 2910 is 8x1, the method of applying the filtering strength is different. Since the 4x1x1 filtering strength 2960 has a different size from the 8x1 deblocking filtering target pixel 2910 , the filtering strength can be applied by switching it according to the size of the deblocking filtering target pixel 2910 . That is, the filtering intensity 2960 of 4x1x1 may be converted into a 4x1 form and the filtering intensity may be applied twice to the 8x1 deblocking filtering target pixel 2910 .

또한, 다른 예로, 8x1의 디블로킹 필터링 대상 픽셀(2910) 중 블록의 경계를 포함하는 일 부분에 대해서만 4x1의 필터링 강도가 적용되어 성분곱이 수행될 수 있다.Also, as another example, component multiplication may be performed by applying a filtering strength of 4x1 to only a portion including a block boundary among the 8x1 deblocking filtering target pixels 2910 .

획득된 잔차 필터링 픽셀 라인에 디블로킹 필터링 대상 픽셀 라인(2910)을 다시 더하여(2990) 8x1의 디블로킹 필터링된 픽셀 라인들(2995)이 획득된다. 8×1 deblocking-filtered pixel lines 2995 are obtained by adding the deblocking filtering target pixel line 2910 to the obtained residual filtering pixel line (2990).

도 30은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.30 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 30을 참고하면, 디블로킹 필터 대상 픽셀 라인의 크기는 8x1이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 1개의 라인임을 의미한다. 또한, 필터링 강도를 획득하기 위해, 디블로킹 필터 대상 픽셀 라인을 포함하는 디블로킹 필터 대상 픽셀들의 라인이 복수개 이용된다. 이는 8x1의 디블로킹 필터 대상 픽셀 라인 주변의 추가적인 정보를 더 이용함으로써 더 효과적인 필터링 강도(3060)을 획득하기 위함이다.Referring to FIG. 30 , the size of a pixel line subject to a deblocking filter is 8x1, which means that 8 pixels are 1 line and 1 line is formed. Also, in order to obtain the filtering strength, a plurality of lines of deblocking filter target pixels including deblocking filter target pixel lines are used. This is to obtain a more effective filtering strength 3060 by further using additional information around the 8×1 deblocking filter target pixel line.

디블로킹 필터링 대상 픽셀 라인(3010)을 완전 연결된 레이어(FC)에 입력하여 제1 중간 특징맵(3031)이 획득되고, 제1 중간 특징맵(3031)을 완전 연결된 레이어(FC)에 입력하여 제2 중간 특징맵(3032)이 획득되고, 제2 중간 특징맵(3032)을 완전 연결된 레이어(FC)에 입력하여 결과적으로 디블로킹 필터링 대상 픽셀 라인(3010)에 대한 특징 맵(3033)이 추출된다. 여기서, 3번의 완전 연결된 레이어에 대한 입력은 특징 추출 신경망(3035)에 대응된다.A first intermediate feature map 3031 is obtained by inputting the pixel line 3010 subject to deblocking filtering to the fully connected layer FC, and the first intermediate feature map 3031 is input to the fully connected layer FC to obtain the first intermediate feature map 3031. 2 intermediate feature maps 3032 are obtained, the second intermediate feature maps 3032 are input to the fully connected layer FC, and as a result, a feature map 3033 for the pixel line 3010 subject to deblocking filtering is extracted. . Here, the input for the third fully connected layer corresponds to the feature extraction neural network 3035.

디블로킹 필터링 대상 픽셀 라인(3010)의 특징 맵(3033)을 완전 연결된 레이어(FC)에 입력하여 8x8 커널의 디블로킹 필터링 계수(3065)가 획득되고, 디블로킹 필터링 대상 픽셀 라인(3010)의 특징 맵(3033)을 완전 연결된 레이어(FC)에 입력하여 8x1의 디블로킹 필터링 보상 값(3070)이 획득된다. 여기서, 각각의 완전 연결된 레이어에 대한 입력은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 8x1의 디블로킹 필터링 대상 픽셀 입력(3010)을 포함하는 1x4x8의 디블로킹 필터링 대상 픽셀 라인들(3040)에 컨볼루션 연산(Conv)을 수행하여 32x3x5의 제1 중간 특징맵(3041)이 획득되고, 제1 중간 특징맵(3041)에 컨볼루션 연산(Conv)을 수행하여 32x2x2의 제2 중간 특징맵(3042)이 획득되고, 제2 중간 특징맵(2942)에 컨볼루션 연산(Conv)을 수행하여 4x1x1의 필터링 강도(3060)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(3045)에 대응된다.The feature map 3033 of the pixel line 3010 subject to deblocking filtering is input to the fully connected layer FC to obtain the deblocking filtering coefficient 3065 of the 8x8 kernel, and the feature of the pixel line 3010 subject to deblocking filtering A deblocking filtering compensation value 3070 of 8×1 is obtained by inputting the map 3033 to the fully connected layer FC. Here, inputs to each fully connected layer correspond to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a 32x3x5 first intermediate feature map 3041 is obtained by performing a convolution operation (Conv) on the 1x4x8 deblocking filtering target pixel lines 3040 including the 8x1 deblocking filtering target pixel input 3010. Then, a convolution operation (Conv) is performed on the first intermediate feature map 3041 to obtain a second intermediate feature map 3042 of 32x2x2, and a convolution operation (Conv) is performed on the second intermediate feature map 2942. As a result, a filtering strength 3060 of 4x1x1 is obtained. The three convolution operations correspond to the filter strength neural network 3045.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(3065), 디블로킹 필터링 보상 값(3070), 필터링 강도(3060)와, 디블로킹 필터링 대상 픽셀 라인(3010)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking is performed using the deblocking filtering coefficient 3065, the deblocking filtering compensation value 3070, the filtering strength 3060, and the deblocking filtering target pixel line 3010 obtained based on the neural network. filtering is performed.

구체적으로, 디블로킹 필터링 대상 픽셀 라인(3010)과 디블로킹 필터링 계수(3065)를 이용하여 행렬 곱셈의 선형 연산(3075)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(3070)을 더하고(3080), 보상 값이 더해진 결과에 필터링 강도(3060)에 클립 함수(Clip(0, 1))를 적용한 결과를 이용하여 성분 곱(3085)을 수행하여 잔차 필터링 픽셀 라인이 획득된다.Specifically, a linear operation 3075 of matrix multiplication is performed using the deblocking filtering target pixel line 3010 and the deblocking filtering coefficient 3065, and a deblocking filtering compensation value 3070 is added to the result of the linear operation, In operation 3080, component multiplication 3085 is performed using a result of applying a clip function (Clip(0, 1)) to the filtering intensity 3060 to the result of adding the compensation value, and a residual filtering pixel line is obtained.

필터링 강도 신경망(3045)을 통해 생성된 필터링 강도(3060)의 크기는 4x1x1이고, 디블로킹 필터링 대상 픽셀(3010)의 크기는 8x1이므로, 필터링 강도의 적용 방식이 달라진다. 4x1x1의 필터링 강도(3060)는 8x1의 디블로킹 필터링 대상 픽셀(3010)과 크기가 다르므로, 이를 디블로킹 필터링 대상 픽셀(3010)의 크기에 맞게 스위칭하여 필터링 강도가 적용될 수 있다. 즉, 4x1x1의 ??터링 강도(3060)를 4x1의 형태로 변환하여 필터링 강도가 8x1의 디블로킹 필터링 대상 픽셀(3010)에 2번 적용될 수 있다.Since the size of the filtering strength 3060 generated through the filtering strength neural network 3045 is 4x1x1 and the size of the deblocking filtering target pixel 3010 is 8x1, the filtering strength application method is different. Since the 4x1x1 filtering strength 3060 has a different size from the 8x1 deblocking filtering target pixel 3010, the filtering strength can be applied by switching it according to the size of the deblocking filtering target pixel 3010. That is, the filtering intensity 3060 of 4x1x1 may be converted into a form of 4x1 and the filtering intensity may be applied twice to the 8x1 deblocking filtering target pixel 3010 .

또한, 다른 예로, 8x1의 디블로킹 필터링 대상 픽셀(3010) 중 블록의 경계를 포함하는 일 부분에 대해서만 4x1의 필터링 강도가 적용되어 성분곱이 수행될 수 있다.Also, as another example, component multiplication may be performed by applying a filtering strength of 4x1 only to a portion including a block boundary among the 8x1 deblocking filtering target pixels 3010 .

획득된 잔차 필터링 픽셀 라인에 디블로킹 필터링 대상 픽셀 라인(3010)을 다시 더하여(3090) 8x1의 디블로킹 필터링된 픽셀 라인(3095)이 획득된다. An 8×1 deblocking-filtered pixel line 3095 is obtained by adding the deblocking filtering target pixel line 3010 to the obtained residual filtering pixel line (3090).

도 31은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.31 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 31을 참고하면, 디블로킹 필터 대상 픽셀들의 크기는 8x1이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 1개의 라인임을 의미한다. 또한, 필터링 강도를 획득하기 위해, 디블로킹 필터 대상 픽셀들의 라인이 복수개 이용된다. 이는 8x1의 디블로킹 필터 대상 픽셀 라인 주변의 추가적인 정보를 더 이용함으로써 더 효과적인 필터링 강도(3160)을 획득하기 위함이다.Referring to FIG. 31 , the size of pixels subject to the deblocking filter is 8x1, which means that 8 pixels are 1 line. Also, in order to obtain the filtering intensity, a plurality of lines of deblocking filter target pixels are used. This is to obtain a more effective filtering strength 3160 by further using additional information around the 8x1 deblocking filter target pixel line.

디블로킹 필터링 대상 픽셀 라인(3110)을 완전 연결된 레이어(FC)에 입력하여 제1 중간 특징맵(3131)이 획득되고, 제1 중간 특징맵(3131)을 완전 연결된 레이어(FC)에 입력하여 제2 중간 특징맵(3132)이 획득되고, 제2 중간 특징맵(3132)을 완전 연결된 레이어(FC)에 입력하여 결과적으로 디블로킹 필터링 대상 픽셀 라인(3110)에 대한 특징 맵(3133)이 추출된다. 여기서, 3번의 완전 연결된 레이어에 대한 입력은 특징 추출 신경망(3135)에 대응된다.A first intermediate feature map 3131 is obtained by inputting the pixel line 3110 subject to deblocking filtering to the fully connected layer FC, and the first intermediate feature map 3131 is input to the fully connected layer FC to obtain the first intermediate feature map 3131. 2 intermediate feature maps 3132 are obtained, the second intermediate feature maps 3132 are input to the fully connected layer FC, and as a result, a feature map 3133 for the pixel line 3110 subject to deblocking filtering is extracted. . Here, the input for the third fully connected layer corresponds to the feature extraction neural network 3135.

디블로킹 필터링 대상 픽셀 라인(3110)의 특징 맵(3133)을 완전 연결된 레이어(FC)에 입력하여 8x8 커널의 디블로킹 필터링 계수(3165)가 획득되고, 디블로킹 필터링 대상 픽셀 라인(3110)의 특징 맵(3133)을 완전 연결된 레이어(FC)에 입력하여 8x1의 디블로킹 필터링 보상 값(3170)이 획득된다. 여기서, 각각의 완전 연결된 레이어에 대한 입력은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. 또한, 8x1의 디블로킹 필터링 대상 픽셀 라인(3110)을 포함하는 1x4x8의 디블로킹 필터링 대상 픽셀 라인들(3140)에 컨볼루션 연산(Conv)을 수행하여 32x3x5의 제1 중간 특징맵(3141)이 획득되고, 제1 중간 특징맵(3141)에 컨볼루션 연산(Conv)을 수행하여 32x2x2의 제2 중간 특징맵(3142)이 획득되고, 제2 중간 특징맵(3142)에 컨볼루션 연산(Conv)을 수행하여 4x1x1의 필터링 강도(3160)가 획득된다. 3번의 컨볼루션 연산은 필터 강도 신경망(3145)에 대응된다.The feature map 3133 of the pixel line 3110 subject to deblocking filtering is input to the fully connected layer (FC) to obtain the deblocking filtering coefficient 3165 of the 8x8 kernel, and the feature of the pixel line 3110 subject to deblocking filtering is obtained. A deblocking filtering compensation value 3170 of 8x1 is obtained by inputting the map 3133 to the fully connected layer FC. Here, inputs to each fully connected layer correspond to a filter coefficient neural network and a filtering compensation value neural network, respectively. In addition, a 32x3x5 first intermediate feature map 3141 of 32x3x5 is obtained by performing a convolution operation (Conv) on the 1x4x8 deblocking filtering target pixel lines 3140 including the 8x1 deblocking filtering target pixel line 3110. Then, a convolution operation (Conv) is performed on the first intermediate feature map 3141 to obtain a second intermediate feature map 3142 of 32x2x2, and a convolution operation (Conv) is performed on the second intermediate feature map 3142. A filtering strength 3160 of 4x1x1 is obtained. The three convolution operations correspond to the filter strength neural network 3145.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(3165), 디블로킹 필터링 보상 값(3170), 필터링 강도(3160)와, 디블로킹 필터링 대상 픽셀 라인(3110)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking is performed using the deblocking filtering coefficient 3165, the deblocking filtering compensation value 3170, the filtering strength 3160, and the deblocking filtering target pixel line 3110 obtained based on the neural network. filtering is performed.

구체적으로, 디블로킹 필터링 계수(3165)에 필터링 강도(3160)에 클립 함수(Clip(0, 1))를 적용한 결과를 이용하여 성분 곱(3185)이 수행되고, 성분 곱(3185)의 수행 결과와 디블로킹 필터링 대상 픽셀 라인들(3110)을 이용하여 행렬 곱셈의 선형 연산(3175)이 수행되고, 디블로킹 필터링 보상 값(3170)에 필터링 강도(3160)에 클립 함수(Clip(0, 1))를 적용한 결과를 이용하여 성분 곱(3186)이 수행되고, 성분 곱(3186)의 수행 결과와 선형 연산(3175) 결과를 더하고(3180), 보상 값이 더해진 결과에 따라 잔차 필터링 픽셀 라인들이 획득된다.Specifically, component multiplication 3185 is performed using the result of applying the clip function (Clip(0, 1)) to the filtering strength 3160 to the deblocking filtering coefficient 3165, and the component product 3185 is performed. A linear operation 3175 of matrix multiplication is performed using the deblocking filtering target pixel lines 3110, and the clip function (Clip (0, 1) ) is applied, component multiplication 3186 is performed, the result of performing the component multiplication 3186 and the result of the linear operation 3175 are added (3180), and residual filtering pixel lines are obtained according to the result of adding the compensation value. do.

필터링 강도 신경망(3145)을 통해 생성된 필터링 강도(3160)의 크기는 4x1x1이고, 디블로킹 필터링 계수(3165)의 크기는 8x8이고, 디블로킹 필터링 보상 값(3170)의 크기는 8x1이므로, 필터링 강도의 적용 방식이 달라진다. 4x1x1의 필터링 강도(3160)는 8x8의 디블로킹 필터링 계수(3165) 및 8x1의 디블로킹 필터링 보상 값(3170)과 각각 크기가 다르므로, 이를 디블로킹 필터링 계수(3165) 및 디블로킹 필터링 보상 값(3170)의 크기에 맞게 스위칭하여 필터링 강도가 적용될 수 있다. 즉, 4x1x1의 ??터링 강도(3160)를 4x1의 형태로 변환하여 필터링 강도가 8x8의 디블로킹 필터링 계수(3165)에 16번 적용되고, 8x1의 디블로킹 필터링 보상 값(3170)에 2번 적용될 수 있다.Since the size of the filtering strength 3160 generated by the filtering strength neural network 3145 is 4x1x1, the size of the deblocking filtering coefficient 3165 is 8x8, and the size of the deblocking filtering compensation value 3170 is 8x1, the filtering strength The application method is different. Since the filtering strength 3160 of 4x1x1 has a different size from the 8x8 deblocking filtering coefficient 3165 and the 8x1 deblocking filtering compensation value 3170, respectively, they are used as the deblocking filtering coefficient 3165 and the deblocking filtering compensation value ( 3170), the filtering intensity may be applied by switching according to the size. That is, the filtering strength 3160 of 4x1x1 is converted into a form of 4x1, and the filtering strength is applied 16 times to the 8x8 deblocking filtering coefficient 3165 and applied twice to the 8x1 deblocking filtering compensation value 3170. can

또한, 다른 예로, 8x8의 디블로킹 필터링 계수(3165) 중 블록의 경계에 적용되는 일 부분에 대해서만 4x1의 필터링 강도가 적용되고, 8x8의 디블로킹 필터링 보상 값(3170) 중 블록의 경계에 적용되는 일 부분에 대해서만 4x1의 필터링 강도가 적용되어 성분곱이 수행될 수 있다.In addition, as another example, a filtering strength of 4x1 is applied only to a portion of the 8x8 deblocking filtering coefficients 3165 applied to the block boundary, and among the 8x8 deblocking filtering compensation values 3170 applied to the block boundary, Component multiplication may be performed by applying a filtering strength of 4x1 to only one portion.

획득된 잔차 필터링 픽셀 라인들에 디블로킹 필터링 대상 픽셀 라인들(3110)을 다시 더하여(3190) 8x1의 디블로킹 필터링된 픽셀 라인들(3195)이 획득된다.8×1 deblocking-filtered pixel lines 3195 are obtained by adding deblocking filtering target pixel lines 3110 to the obtained residual filtering pixel lines (3190).

도 31은 도 30과 비교하여, 필터링 강도의 성분곱이 수행되는 순서가 변경된 것일 뿐, 실질적으로 동일한 결과가 획득되는 실시예이다. FIG. 31 is an embodiment in which substantially the same results are obtained compared to FIG. 30 except that the order in which component multiplication of filtering strengths is performed is changed.

도 32는 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.32 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 32를 참고하면, 디블로킹 필터 대상 픽셀 라인의 크기는 8x1이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 1개의 라인임을 의미한다. Referring to FIG. 32 , the size of a pixel line subject to a deblocking filter is 8x1, which means that 8 pixels are one line and one line.

디블로킹 필터링 대상 픽셀 라인(3210)을 완전 연결된 레이어(FC)에 입력하여 제1 중간 특징맵(3231)이 획득되고, 제1 중간 특징맵(3231)을 완전 연결된 레이어(FC)에 입력하여 제2 중간 특징맵(3232)이 획득되고, 제2 중간 특징맵(3232)을 완전 연결된 레이어(FC)에 입력하여 결과적으로 디블로킹 필터링 대상 픽셀 라인(3210)에 대한 특징 맵(3233)이 추출된다. 여기서, 3번의 완전 연결된 레이어에 대한 입력은 특징 추출 신경망(3235)에 대응된다.A first intermediate feature map 3231 is obtained by inputting the pixel line 3210 subject to deblocking filtering to the fully connected layer FC, and the first intermediate feature map 3231 is input to the fully connected layer FC to obtain the first intermediate feature map 3231. 2 intermediate feature maps 3232 are obtained, the second intermediate feature maps 3232 are input to the fully connected layer FC, and as a result, a feature map 3233 for the pixel line 3210 subject to deblocking filtering is extracted. . Here, the input for the third fully connected layer corresponds to the feature extraction neural network 3235.

디블로킹 필터링 대상 픽셀 라인(3210)의 특징 맵(3233)을 완전 연결된 레이어(FC)에 입력하여 8x8 커널의 디블로킹 필터링 계수(3265)가 획득되고, 디블로킹 필터링 대상 픽셀 라인(3210)의 특징 맵(3233)을 완전 연결된 레이어(FC)에 입력하여 8x1의 디블로킹 필터링 DC 보상 값(3270)이 획득된다. 여기서, 각각의 완전 연결된 레이어에 대한 입력은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. The feature map 3233 of the pixel line 3210 subject to deblocking filtering is input to the fully connected layer (FC) to obtain the deblocking filtering coefficient 3265 of the 8x8 kernel, and the feature of the pixel line 3210 subject to deblocking filtering is obtained. A deblocking filtering DC compensation value 3270 of 8×1 is obtained by inputting the map 3233 to the fully connected layer FC. Here, inputs to each fully connected layer correspond to a filter coefficient neural network and a filtering compensation value neural network, respectively.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(3265), 디블로킹 필터링 DC 보상 값(3270)과, 디블로킹 필터링 대상 픽셀 라인(3210)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking filtering is performed using the deblocking filtering coefficient 3265 obtained based on the neural network, the deblocking filtering DC compensation value 3270, and the deblocking filtering target pixel line 3210.

구체적으로, 디블로킹 필터링 대상 픽셀 라인(3210)과 디블로킹 필터링 계수(3265)를 이용하여 행렬 곱셈의 선형 연산(3275)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 DC 보상 값(3270)을 더하여 DC 보상(3280)이 수행되어, 잔차 필터링 픽셀 라인이 획득되고, 잔차 필터링 픽셀 라인에 디블로킹 필터링 대상 픽셀 라인(3210)을 다시 더하여(3290) 8x1의 디블로킹 필터링된 픽셀 라인(3295)이 획득된다. Specifically, a linear operation 3275 of matrix multiplication is performed using the deblocking filtering target pixel line 3210 and the deblocking filtering coefficient 3265, and a deblocking filtering DC compensation value 3270 is applied to the result of the linear operation. In addition, DC compensation (3280) is performed to obtain a residual-filtered pixel line, and the deblocking-filtered pixel line (3210) is added (3290) to the residual-filtered pixel line to obtain an 8x1 deblocking-filtered pixel line (3295). is obtained

도 33은 일 실시예에 따른 신경망 기반 디블로킹 필터링의 구조를 설명하기 위한 도면이다.33 is a diagram for explaining the structure of neural network-based deblocking filtering according to an embodiment.

도 33을 참고하면, 디블로킹 필터 대상 픽셀 라인의 크기는 8x1이고, 이는 8개의 픽셀들을 하나의 라인으로 하여 1개의 라인임을 의미한다. Referring to FIG. 33 , the size of a pixel line subject to a deblocking filter is 8×1, which means that 8 pixels are one line and one line.

디블로킹 필터링 대상 픽셀 라인(3310)을 완전 연결된 레이어(FC)에 입력하여 제1 중간 특징맵(3331)이 획득되고, 제1 중간 특징맵(3331)을 완전 연결된 레이어(FC)에 입력하여 제2 중간 특징맵(3332)이 획득되고, 제2 중간 특징맵(3332)을 완전 연결된 레이어(FC)에 입력하여 결과적으로 디블로킹 필터링 대상 픽셀 라인(3310)에 대한 특징 맵(3333)이 추출된다. 여기서, 3번의 완전 연결된 레이어에 대한 입력은 특징 추출 신경망(3335)에 대응된다.A first intermediate feature map 3331 is obtained by inputting the pixel line 3310 subject to deblocking filtering to the fully connected layer FC, and the first intermediate feature map 3331 is input to the fully connected layer FC to obtain the first intermediate feature map 3331. 2 intermediate feature maps 3332 are obtained, the second intermediate feature maps 3332 are input to the fully connected layer FC, and as a result, a feature map 3333 for the pixel line 3310 subject to deblocking filtering is extracted. . Here, the input for the third fully connected layer corresponds to the feature extraction neural network 3335.

디블로킹 필터링 대상 픽셀 라인(3310)의 특징 맵(3333)을 완전 연결된 레이어(FC)에 입력하여 8x8 커널의 디블로킹 필터링 계수(3365)가 획득되고, 디블로킹 필터링 대상 픽셀 라인(3310)의 특징 맵(3333)을 완전 연결된 레이어(FC)에 입력하여 8x1의 디블로킹 필터링 보상 값(3370)이 획득된다. 여기서, 각각의 완전 연결된 레이어에 대한 입력은 각각 필터 계수 신경망 및 필터링 보상값 신경망에 대응된다. The feature map 3333 of the pixel line 3310 subject to deblocking filtering is input to the fully connected layer FC to obtain the deblocking filtering coefficient 3365 of the 8x8 kernel, and the feature of the pixel line 3310 subject to deblocking filtering A deblocking filtering compensation value 3370 of 8×1 is obtained by inputting the map 3333 to the fully connected layer FC. Here, inputs to each fully connected layer correspond to a filter coefficient neural network and a filtering compensation value neural network, respectively.

위와 같이, 신경망에 기반하여 획득된 디블로킹 필터링 계수(3365), 디블로킹 필터링 보상 값(3370)과, 디블로킹 필터링 대상 픽셀 라인(3310)을 이용하여 신경망 기반의 디블로킹 필터링이 수행된다.As described above, neural network-based deblocking filtering is performed using the deblocking filtering coefficient 3365 obtained based on the neural network, the deblocking filtering compensation value 3370, and the deblocking filtering target pixel line 3310.

구체적으로, 디블로킹 필터링 대상 픽셀 라인(3310)과 디블로킹 필터링 계수(3365)를 이용하여 행렬 곱셈의 선형 연산(33275)이 수행되고, 선형 연산의 결과에 디블로킹 필터링 보상 값(3370)을 더하여(3380), 잔차 필터링 픽셀 라인이 획득되고, 잔차 필터링 픽셀 라인에 디블로킹 필터링 대상 픽셀 라인(3310)을 다시 더하여(3390) 8x1의 디블로킹 필터링된 픽셀 라인(3395)이 획득된다. Specifically, a linear operation 33275 of matrix multiplication is performed using the deblocking filtering target pixel line 3310 and the deblocking filtering coefficient 3365, and a deblocking filtering compensation value 3370 is added to the result of the linear operation. In operation 3380, a residual filtering pixel line is obtained, and an 8×1 deblocking filtered pixel line 3395 is obtained by adding the deblocking filtering target pixel line 3310 to the residual filtering pixel line again (3390).

도 34는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법의 순서도이다.34 is a flowchart of an image processing method using neural network-based deblocking filtering according to an embodiment.

도 34를 참고하면, S3410 단계에서, 영상 처리 장치(3500)는, 블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 디블로킹 필터링을 위한 입력 데이터를 획득한다.Referring to FIG. 34 , in step S3410, the image processing apparatus 3500 determines pixels to be subjected to deblocking filtering of at least one line perpendicular to the block boundary and pixels to be filtered for deblocking of the at least one line. Based on the encoding information, input data for deblocking filtering is acquired.

일 실시예에 따라, 부호화 정보는 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망을 통해 출력된 후, 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들과 동일한 크기로 변환된 것일 수 있다.According to an embodiment, the encoding information may be outputted through a fully connected neural network including a plurality of fully connected layers, and then converted to the same size as the deblocking filtering target pixels of the at least one line.

일 실시예에 따라, 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들은 상기 블록의 상기 경계선의 수직인 한 방향으로 n개의 픽셀들 및 상기 경계선의 수직인 다른 방향으로 n개의 픽셀들을 포함하는 2n개의 픽셀들일 수 있다.According to an embodiment, the deblocking filtering target pixels of at least one line may include n pixels in one direction perpendicular to the boundary line of the block and 2n pixels including n pixels in another direction perpendicular to the boundary line of the block. can be picked up

일 실시예에 따라, 부호화 정보는 입력 데이터에 포함되지 않을 수 있다.According to an embodiment, encoding information may not be included in input data.

S3420 단계에서, 영상 처리 장치(3500)는, 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득한다.In step S3420, the image processing device 3500 acquires a feature map of the input data by inputting the input data to the first neural network.

일 실시예에 따라, 제1 신경망은 복수 개의 레지듀얼 블록들을 포함할 수 있다.According to an embodiment, the first neural network may include a plurality of residual blocks.

일 실시예에 따라, 제1 신경망은 복수개의 완전 연결된 레이어들을 포함할 수 있다.According to an embodiment, the first neural network may include a plurality of fully connected layers.

일 실시예에 따라, 제1 신경망은 복수개의 컨볼루션 레이어들을 포함할 수 있다.According to an embodiment, the first neural network may include a plurality of convolutional layers.

S3430 단계에서, 영상 처리 장치(3500)는, 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득한다.In step S3430, the image processing apparatus 3500 acquires deblocking filter coefficients by inputting the feature map to the second neural network.

일 실시예에 따라, 제2 신경망은 적어도 하나의 레지듀얼 블록을 포함할 수 있다.According to an embodiment, the second neural network may include at least one residual block.

일 실시예에 따라, 제2 신경망은 적어도 하나의 완전 연결된 레이어를 포함할 수 있다.According to an embodiment, the second neural network may include at least one fully connected layer.

일 실시예에 따라, 제2 신경망은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다.According to an embodiment, the second neural network may include at least one convolutional layer.

S3440 단계에서, 영상 처리 장치(3500)는, 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득한다.In step S3440, the image processing apparatus 3500 obtains a deblocking filter compensation value by inputting the feature map to the third neural network.

일 실시예에 따라, 제3 신경망은 적어도 하나의 레지듀얼 블록을 포함할 수 있다.According to an embodiment, the third neural network may include at least one residual block.

일 실시예에 따라, 제3 신경망은 적어도 하나의 완전 연결된 레이어를 포함할 수 있다.According to an embodiment, the third neural network may include at least one fully connected layer.

일 실시예에 따라, 제3 신경망은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다.According to an embodiment, the third neural network may include at least one convolutional layer.

일 실시예에 따라, 디블로킹 필터 보상 값은 획득되지 않고, 디블로킹 필터 보상 값은 0으로 설정될 수 있다.According to one embodiment, the deblocking filter compensation value may not be obtained and the deblocking filter compensation value may be set to zero.

S3450 단계에서, 영상 처리 장치(3500)는, 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득한다. In step S3450, the image processing device 3500 obtains the strength of the deblocking filter by inputting the input data to the fourth neural network.

일 실시예에 따라, 제4 신경망은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다.According to an embodiment, the fourth neural network may include at least one convolutional layer.

일 실시예에 따라, 디블로킹 필터 강도는 획득되지 않고, 디블로킹 필터 강도는 1로 설정될 수 있다.According to one embodiment, the deblocking filter strength is not obtained and the deblocking filter strength may be set to 1.

일 실시예에 따라, 디블로킹 필터 보상 값 및 디블로킹 필터 강도는 획득되지 않고, 디블로킹 필터 보상 값은 0으로 설정되고, 디블로킹 필터 강도는 1로 설정될 수 있다.According to one embodiment, the deblocking filter compensation value and the deblocking filter strength may not be obtained, the deblocking filter compensation value may be set to 0, and the deblocking filter strength may be set to 1.

S3460 단계에서, 영상 처리 장치(3500)는, 디블로킹 필터 계수, 디블로킹 필터 보상 값, 및 디블로킹 필터 강도를 이용하여 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득한다.In step S3460, the image processing apparatus 3500 performs deblocking filtering on deblocking filtering target pixels of at least one line using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength, Obtain deblocking filtered pixels.

일 실시예에 따라, 디블로킹 필터링에 스케일링 인자가 추가로 이용될 수 있다.According to one embodiment, a scaling factor may be additionally used for deblocking filtering.

일 실시예에 따라, 스케일링 인자는 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들이 포함된 프레임의 종류에 따라 결정될 수 있다.According to an embodiment, the scaling factor may be determined according to the type of a frame including pixels to be deblocked and filtered for at least one line.

일 실시예에 따라, 영상 처리 장치(3500)는, 디블로킹 필터 계수와 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하고, 상기 행렬 곱셈 결과에 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하고, 필터 보상 결과에 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 잔차 디블로킹 필터링 픽셀들을 획득하고, 잔차 디블로킬 필터링 픽셀들을 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들을 더하여 디블로킹 필터링된 픽셀들을 획득할 수 있다.According to an embodiment, the image processing apparatus 3500 obtains a matrix multiplication result by performing matrix multiplication of deblocking filter coefficients and deblocking filtering target pixels of at least one line, and a deblocking filter is applied to the matrix multiplication result. A filter compensation result is obtained by adding the compensation value, component multiplication is performed on the filter compensation result using the deblocking filter strength to obtain residual deblocking filtering pixels, and the residual deblocking filtering pixels are subjected to deblocking filtering of at least one line. Deblocking-filtered pixels may be obtained by adding target pixels.

일 실시예에 따라, 영상 처리 장치(3500)는, 디블로킹 필터 계수와 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하고, 행렬 곱셈 결과에 상기 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하고, 필터 보상 결과에 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 디블로킹 필터링된 픽셀들을 획득할 수 있다.According to an embodiment, the image processing apparatus 3500 obtains a matrix multiplication result by performing matrix multiplication of deblocking filter coefficients and deblocking filtering target pixels of at least one line, and the deblocking filter is applied to the matrix multiplication result. A filter compensation result may be obtained by adding a compensation value, and deblocking-filtered pixels may be obtained by performing component multiplication using the deblocking filter strength to the filter compensation result.

도 35는 일 실시예에 따른 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 장치의 구성을 도시하는 도면이다.35 is a diagram illustrating a configuration of an image processing device using neural network-based deblocking filtering according to an exemplary embodiment.

도 35를 참고하면, 영상 처리 장치(3500)는 입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)를 포함한다.Referring to FIG. 35 , the image processing apparatus 3500 includes an input data acquisition unit 3510, a feature map acquisition unit 3520, a filter coefficient acquisition unit 3530, a filter compensation value acquisition unit 3540, and a filter strength acquisition unit. 3550, and a filtered pixel acquisition unit 3560.

입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)는 뉴럴 프로세서로 구현될 수 있고, 입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.Input data acquisition unit 3510, feature map acquisition unit 3520, filter coefficient acquisition unit 3530, filter compensation value acquisition unit 3540, filter strength acquisition unit 3550, and filtered pixel acquisition unit 3560 may be implemented as a neural processor, and includes an input data acquisition unit 3510, a feature map acquisition unit 3520, a filter coefficient acquisition unit 3530, a filter compensation value acquisition unit 3540, a filter strength acquisition unit 3550, And the filtered pixel acquisition unit 3560 may operate according to instructions stored in a memory (not shown).

도 35는 입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)를 개별적으로 도시하고 있으나, 입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit), GPU(graphic processing unit), 또는 NPU(neural processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다. 35 shows an input data acquisition unit 3510, a feature map acquisition unit 3520, a filter coefficient acquisition unit 3530, a filter compensation value acquisition unit 3540, a filter strength acquisition unit 3550, and a filtered pixel acquisition unit. Although 3560 is shown individually, the input data acquisition unit 3510, the feature map acquisition unit 3520, the filter coefficient acquisition unit 3530, the filter compensation value acquisition unit 3540, the filter strength acquisition unit 3550 , and the filtered pixel acquisition unit 3560 may be implemented through one processor. In this case, the input data acquisition unit 3510, the feature map acquisition unit 3520, the filter coefficient acquisition unit 3530, the filter compensation value acquisition unit 3540, the filter strength acquisition unit 3550, and the filtered pixel acquisition unit 3560 may be implemented as a dedicated processor, or may be implemented through a combination of software and a general-purpose processor such as an application processor (AP), central processing unit (CPU), graphic processing unit (GPU), or neural processing unit (NPU). there is. In addition, a dedicated processor may include a memory for implementing an embodiment of the present disclosure or a memory processing unit for using an external memory.

입력 데이터 획득부(3510), 특징맵 획득부(3520), 필터 계수 획득부(3530), 필터 보상값 획득부(3540), 필터 강도 획득부(3550), 및 필터링된 픽셀 획득부(3560)는 복수의 프로세서로 구성될 수도 있다. 이 경우, 전용 프로세서들의 조합으로 구현되거나, AP, CPU, GPU, 또는 NPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. Input data acquisition unit 3510, feature map acquisition unit 3520, filter coefficient acquisition unit 3530, filter compensation value acquisition unit 3540, filter strength acquisition unit 3550, and filtered pixel acquisition unit 3560 may be composed of a plurality of processors. In this case, it may be implemented by a combination of dedicated processors or a combination of software and a plurality of general-purpose processors such as an AP, CPU, GPU, or NPU.

입력 데이터 획득부(3510)는 블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 디블로킹 필터링을 위한 입력 데이터를 획득한다. The input data acquisition unit 3510 performs deblocking filtering based on deblocking filtering target pixels of at least one line perpendicular to the block boundary and encoding information about the deblocking filtering target pixels of the at least one line. Acquire input data.

특징맵 획득부(3520)는 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득한다.The feature map acquisition unit 3520 acquires a feature map of the input data by inputting the input data to the first neural network.

필터 계수 획득부(3530)는 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득한다.The filter coefficient acquisition unit 3530 acquires deblocking filter coefficients by inputting the feature map to the second neural network.

필터 보상값 획득부(3540)는 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득한다.The filter compensation value acquisition unit 3540 obtains a deblocking filter compensation value by inputting the feature map to the third neural network.

필터 강도 획득부(3550)는 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득한다.The filter strength acquisition unit 3550 acquires the deblocking filter strength by inputting the input data to the fourth neural network.

필터링된 픽셀 획득부(3560)는 디블로킹 필터 계수, 디블로킹 필터 보상 값, 및 디블로킹 필터 강도를 이용하여 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득한다.The filtered pixel acquisition unit 3560 performs deblocking filtering on deblocking filtering target pixels of at least one line using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength, thereby performing deblocking filtering. get the pixels.

기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as . For example, a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least a part of a computer program product (eg, a downloadable app) is stored on a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.

Claims (17)

블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 디블로킹 필터링을 위한 입력 데이터를 획득하는 단계;
상기 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득하는 단계;
상기 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득하는 단계;
상기 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득하는 단계;
상기 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득하는 단계;
상기 디블로킹 필터 계수, 상기 디블로킹 필터 보상 값, 및 상기 디블로킹 필터 강도를 이용하여 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득하는 단계;를 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
obtaining input data for deblocking filtering based on deblocking filtering target pixels of at least one line perpendicular to a block boundary and encoding information about the deblocking filtering target pixels of the at least one line;
acquiring a feature map of the input data by inputting the input data to a first neural network;
obtaining deblocking filter coefficients by inputting the feature map to a second neural network;
obtaining a deblocking filter compensation value by inputting the feature map to a third neural network;
obtaining a deblocking filter strength by inputting the input data to a fourth neural network;
Obtaining deblocking filtered pixels by performing deblocking filtering on deblocking filtering target pixels of the at least one line using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength. An image processing method using neural network-based deblocking filtering, including;
제1항에 있어서,
상기 부호화 정보는 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망을 통해 출력된 후, 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들과 동일한 크기로 변환된 것인, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
After the encoding information is output through a fully connected neural network including a plurality of fully connected layers, the image using neural network-based deblocking filtering is converted to the same size as the deblocking filtering target pixels of the at least one line. processing method.
제1항에 있어서,
상기 디블로킹 필터링에 스케일링 인자가 추가로 이용되는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
An image processing method using neural network-based deblocking filtering, wherein a scaling factor is additionally used for the deblocking filtering.
제3항에 있어서,
상기 스케일링 인자는 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들이 포함된 프레임의 종류에 따라 결정되는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 3,
Wherein the scaling factor is determined according to a type of a frame including pixels to be subjected to deblocking filtering of the at least one line, the image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 디블로킹 필터링된 픽셀들을 획득하는 단계는:
상기 디블로킹 필터 계수와 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하는 단계;
상기 행렬 곱셈 결과에 상기 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하는 단계;
상기 필터 보상 결과에 상기 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 잔차 디블로킹 필터링 픽셀들을 획득하는 단계;
상기 잔차 디블로킬 필터링 픽셀들을 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들을 더하여 상기 디블로킹 필터링된 픽셀들을 획득하는 단계를 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
Obtaining the deblocking filtered pixels is to:
obtaining a matrix multiplication result by performing matrix multiplication of the deblocking filter coefficient and pixels to be filtered for deblocking of the at least one line;
obtaining a filter compensation result by adding the deblocking filter compensation value to the matrix multiplication result;
obtaining residual deblocking filtering pixels by performing component multiplication on the filter compensation result using the deblocking filter strength;
and obtaining the deblocking-filtered pixels by adding the residual deblocking filtering pixels to deblocking filtering target pixels of the at least one line.
제1항에 있어서,
상기 디블로킹 필터링된 픽셀들을 획득하는 단계는:
상기 디블로킹 필터 계수와 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들의 행렬 곱셈을 수행하여 행렬 곱셈 결과를 획득하는 단계;
상기 행렬 곱셈 결과에 상기 디블로킹 필터 보상 값을 더하여 필터 보상 결과를 획득하는 단계;
상기 필터 보상 결과에 상기 디블로킹 필터 강도를 이용하여 성분 곱을 수행하여 상기 디블로킹 필터링된 픽셀들을 획득하는 단계를 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
Obtaining the deblocking filtered pixels is to:
obtaining a matrix multiplication result by performing matrix multiplication of the deblocking filter coefficient and pixels to be filtered for deblocking of the at least one line;
obtaining a filter compensation result by adding the deblocking filter compensation value to the matrix multiplication result;
and obtaining the deblocking-filtered pixels by performing component multiplication using the deblocking filter strength on the filter compensation result.
제1항에 있어서,
상기 제1 신경망은 복수 개의 레지듀얼 블록들을 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The image processing method using neural network-based deblocking filtering, wherein the first neural network includes a plurality of residual blocks.
제1항에 있어서,
상기 제2 신경망은 레지듀얼 블록을 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The second neural network includes a residual block, an image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 제3 신경망은 레지듀얼 블록을 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The third neural network includes a residual block, an image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 제4 신경망은 복수개의 컨볼루션 레이어들을 포함하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The fourth neural network includes a plurality of convolutional layers, an image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들은 상기 블록의 상기 경계선의 수직인 한 방향으로 n개의 픽셀들 및 상기 경계선의 수직인 다른 방향으로 n개의 픽셀들을 포함하는 2n개의 픽셀들인, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The deblocking filtering target pixels of the at least one line are 2n pixels including n pixels in one direction perpendicular to the boundary line of the block and n pixels in another direction perpendicular to the boundary line of the block, An image processing method using blocking filtering.
제1항에 있어서,
상기 부호화 정보는 입력 데이터에 포함되지 않는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
An image processing method using neural network-based deblocking filtering, wherein the encoding information is not included in input data.
제1항에 있어서,
상기 디블로킹 필터 보상 값은 획득되지 않고,
상기 디블로킹 필터 보상 값은 0으로 설정되는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The deblocking filter compensation value is not obtained,
The deblocking filter compensation value is set to 0, an image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 디블로킹 필터 강도는 획득되지 않고,
상기 디블로킹 필터 강도는 1로 설정되는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
The deblocking filter strength is not obtained,
The deblocking filter strength is set to 1, an image processing method using neural network-based deblocking filtering.
제1항에 있어서,
상기 디블로킹 필터 보상 값 및 상기 디블로킹 필터 강도는 획득되지 않고,
상기 디블로킹 필터 보상 값은 0으로 설정되고, 상기 디블로킹 필터 강도는 1로 설정되는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법.
According to claim 1,
the deblocking filter compensation value and the deblocking filter strength are not obtained;
The image processing method using neural network-based deblocking filtering, wherein the deblocking filter compensation value is set to 0 and the deblocking filter strength is set to 1.
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 하나 이상의 인스트럭션에 따라 동작하는 프로세서를 포함하고,
상기 프로세서는:
블록의 경계선에 수직인 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들 및 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 대한 부호화 정보에 기초하여 입력 데이터를 획득하고,
상기 입력 데이터를 제1 신경망에 입력하여 상기 입력 데이터의 특징 맵을 획득하고,
상기 특징 맵을 제2 신경망에 입력하여 디블로킹 필터 계수를 획득하고,
상기 특징 맵을 제3 신경망에 입력하여 디블로킹 필터 보상 값을 획득하고,
상기 입력 데이터를 제4 신경망에 입력하여 디블로킹 필터 강도를 획득하고,
상기 디블로킹 필터 계수, 상기 디블로킹 필터 보상 값, 및 상기 디블로킹 필터 강도를 이용하여 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들에 디블로킹 필터링을 수행함으로써, 디블로킹 필터링된 픽셀들을 획득하는, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 장치.
a memory that stores one or more instructions; and
a processor operating in accordance with the one or more instructions;
The processor:
Obtaining input data based on deblocking filtering target pixels of at least one line perpendicular to a boundary line of a block and encoding information on deblocking filtering target pixels of the at least one line;
Inputting the input data to a first neural network to obtain a feature map of the input data;
Obtaining deblocking filter coefficients by inputting the feature map to a second neural network;
Obtaining a deblocking filter compensation value by inputting the feature map to a third neural network;
Obtaining deblocking filter strength by inputting the input data to a fourth neural network;
Obtaining deblocking filtered pixels by performing deblocking filtering on deblocking filtering target pixels of the at least one line using the deblocking filter coefficient, the deblocking filter compensation value, and the deblocking filter strength. , An image processing device using neural network-based deblocking filtering.
제16항에 있어서,
상기 부호화 정보는 복수의 완전 연결된 레이어들을 포함하는 완전 연결 신경망을 통해 출력된 후, 상기 적어도 하나의 라인의 디블로킹 필터링 대상 픽셀들과 동일한 크기로 변환된 것인, 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 장치.
According to claim 16,
After the encoding information is output through a fully connected neural network including a plurality of fully connected layers, the image using neural network-based deblocking filtering is converted to the same size as the deblocking filtering target pixels of the at least one line. processing unit.
KR1020220041329A 2021-08-06 2022-04-01 Image processing method and apparatus using a neural network based deblocking filtering KR20230022099A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2022/011355 WO2023014031A1 (en) 2021-08-06 2022-08-02 Image processing method and device using neural network-based deblocking filtering
EP22853408.7A EP4354874A1 (en) 2021-08-06 2022-08-02 Image processing method and device using neural network-based deblocking filtering
CN202280054440.8A CN117795963A (en) 2021-08-06 2022-08-02 Image processing method and apparatus using neural network-based deblocking filtering
US17/880,799 US20230044532A1 (en) 2021-08-06 2022-08-04 Image processing method and apparatus using neural network based deblocking filtering

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210104200 2021-08-06
KR1020210104200 2021-08-06

Publications (1)

Publication Number Publication Date
KR20230022099A true KR20230022099A (en) 2023-02-14

Family

ID=85220620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220041329A KR20230022099A (en) 2021-08-06 2022-04-01 Image processing method and apparatus using a neural network based deblocking filtering

Country Status (1)

Country Link
KR (1) KR20230022099A (en)

Similar Documents

Publication Publication Date Title
US11589041B2 (en) Method and apparatus of neural network based processing in video coding
CN111133756B (en) Neural network method and apparatus for video coding
TWI600326B (en) Luma-based chroma intra prediction
WO2019174542A1 (en) Method and apparatus of loop filtering for vr360 videos
KR101547201B1 (en) Apparatus and method of sample adaptive offset for video coding
CN104025593B (en) Being derived using improved image block boundaries intensity carries out block elimination filtering
KR20240068078A (en) Method and apparatus for filtering with mode-aware deep learning
JP2019525679A5 (en)
CN103385001B (en) For Efficient decisions for deblocking
CN111937392B (en) Neural network method and device for video encoding and decoding
TWI677239B (en) Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel
CN107172427A (en) Coding/decoding method and decoding apparatus
US20150189276A1 (en) Video encoding method and apparatus, video decoding method and apparatus, and programs therefor
US20180359486A1 (en) Non-local adaptive loop filter processing
CN109756734A (en) The method and apparatus that data array is encoded
KR20130095927A (en) Apparatus for correcting of in-loop pixel filter using parameterized complexity measure and method of the same
CN116076073A (en) Hardware codec accelerator for high performance video coding
WO2023029045A1 (en) Parallel encoding of video frames without filtering dependency
KR20230022099A (en) Image processing method and apparatus using a neural network based deblocking filtering
Hoang et al. B-DRRN: A block information constrained deep recursive residual network for video compression artifacts reduction
US20230044532A1 (en) Image processing method and apparatus using neural network based deblocking filtering
EP4354874A1 (en) Image processing method and device using neural network-based deblocking filtering
CN117795963A (en) Image processing method and apparatus using neural network-based deblocking filtering
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
Pourreza-Shahri et al. A gradient-based optimization approach for reduction of blocking artifacts in JPEG images