KR101998036B1 - Artifact reduction method and apparatus - Google Patents

Artifact reduction method and apparatus Download PDF

Info

Publication number
KR101998036B1
KR101998036B1 KR1020180155090A KR20180155090A KR101998036B1 KR 101998036 B1 KR101998036 B1 KR 101998036B1 KR 1020180155090 A KR1020180155090 A KR 1020180155090A KR 20180155090 A KR20180155090 A KR 20180155090A KR 101998036 B1 KR101998036 B1 KR 101998036B1
Authority
KR
South Korea
Prior art keywords
distortion
input data
path
compression
subnetworks
Prior art date
Application number
KR1020180155090A
Other languages
Korean (ko)
Other versions
KR20190067107A (en
Inventor
김문철
전진
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Publication of KR20190067107A publication Critical patent/KR20190067107A/en
Application granted granted Critical
Publication of KR101998036B1 publication Critical patent/KR101998036B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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

Landscapes

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

Abstract

왜곡 제거 방법 및 장치가 개시된다. 일 실시예에 따른. 일 실시예에 따른 왜곡 제거 방법은, 입력 데이터를 수신하는 단계와, 뉴럴 네트워크로 상기 입력 데이터의 왜곡의 정도를 판별하고, 상기 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택하는 단계와, 상기 적어도 하나의 경로로 상기 입력 데이터를 인가함으로써 상기 왜곡을 제거하는 단계를 포함한다.A distortion canceling method and apparatus are disclosed. According to one embodiment. According to an embodiment of the present invention, there is provided a distortion canceling method comprising the steps of: receiving input data; determining a degree of distortion of the input data by a neural network; determining, based on the degree of distortion, Selecting at least one path and removing the distortion by applying the input data to the at least one path.

Description

왜곡 제거 방법 및 장치{ARTIFACT REDUCTION METHOD AND APPARATUS}[0001] ARTIFACT REDUCTION METHOD AND APPARATUS [0002]

아래 실시예들은 왜곡을 제거하는 방법 및 장치에 관한 것이다.The following embodiments are directed to a method and apparatus for removing distortion.

제한된 저장 및 전송 대역폭으로 이미지 및 비디오를 저장하고 전달하려면 손실이 발생하는 비디오 압축이 필수적이다. 이미지와 비디오의 압축률이 높을수록 성능 저하는 더 커진다.Lossy video compression is essential to store and deliver images and video with limited storage and transmission bandwidth. The higher the compression rate of the image and video, the greater the performance degradation.

높은 압축비로 압축을 수행할 경우, 블로킹(blocking), 컨투어링(contouring), 블러링(blurring) 및 링잉(ringing) 효과와 같은 코딩 아티팩트가 발생할 수 있다.When performing compression with a high compression ratio, coding artifacts such as blocking, contouring, blurring and ringing effects can occur.

최근 CNN(Convolutional Neural Network) 기반의 방법들이 이미지 분류 및 객체 검출과 같은 높은 수준의 컴퓨터 비전 문제를 위해 연구되고 있다.Recently, CNN (Convolutional Neural Network) based methods have been studied for high level computer vision problems such as image classification and object detection.

압축 영상의 왜곡을 제거함에 있어서, QP(Quantization Parameter) 정보를 이용하여 고정된 QP의 압축 왜곡을 제거하는 네트워크를 학습하여 해당 QP의 압축 영상에 대해서만 압축 왜곡 제거가 가능한 문제점이 있다. 이에 따라 다른 QP 영상이 입력되면 효과적인 압축 왜곡 제거를 할 수 없다는 단점이 있다.In eliminating the distortion of the compressed image, there is a problem that the compression distortion can be removed only for the compressed image of the QP by learning a network that removes the compression distortion of the fixed QP using the QP (Quantization Parameter) information. Accordingly, when another QP image is input, effective compression distortion can not be removed.

실시예들은 압축 왜곡을 제거하는 기술을 제공할 수 있다.Embodiments can provide a technique for eliminating compression distortion.

일 실시예에 따른 왜곡 제거 방법은, 입력 데이터를 수신하는 단계와, 뉴럴 네트워크로 상기 입력 데이터의 왜곡의 정도를 판별하고, 상기 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택하는 단계와, 상기 적어도 하나의 경로로 상기 입력 데이터를 인가함으로써 상기 왜곡을 제거하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a distortion canceling method comprising the steps of: receiving input data; determining a degree of distortion of the input data by a neural network; determining, based on the degree of distortion, Selecting at least one path and removing the distortion by applying the input data to the at least one path.

상기 수신하는 단계는, 상이한 양자화 파라미터(quantization parameter) 값에 의해 압축된 복수의 입력 데이터를 수신하는 단계를 포함할 수 있다.The receiving may comprise receiving a plurality of input data compressed by a different quantization parameter value.

상기 선택하는 단계는, 상기 입력 데이터를 패치 블록 단위로 분할하는 단계와, 상기 패치 블록의 압축 왜곡의 양, 압축 왜곡 타입, 압축 타입 및 양자화 파라미터 중 적어도 하나에 기초하여 상기 패치 블록의 카테고리를 분류하는 단계와, 상기 카테고리에 기초하여 상기 적어도 하나의 경로를 선택하는 단계를 포함할 수 있다.Wherein the step of selecting includes classifying the category of the patch block based on at least one of a compression distortion amount, a compression distortion type, a compression type, and a quantization parameter of the patch block, And selecting the at least one route based on the category.

상기 적어도 하나의 경로를 선택하는 단계는, 상기 바이패스 및 상기 복수의 서브 네트워크의 출력을 비교하여 상기 왜곡이 가장 적은 경로를 선택하는 단계를 포함할 수 있다.The selecting of the at least one path may include comparing the outputs of the bypass and the plurality of subnetworks and selecting the path with the smallest distortion.

상기 선택하는 단계는, 선택된 경로를 출력하도록 상기 뉴럴 네트워크를 학습시키는 단계를 더 포함할 수 있다.The selecting may further include learning the neural network to output the selected path.

상기 복수의 서브 네트워크 중 적어도 하나는 잔차 블록(residual block)을 포함하는 컨벌루션 뉴럴 네트워크로 구현될 수 있다.At least one of the plurality of subnetworks may be implemented as a convolution neural network including a residual block.

상기 제거하는 단계는, 상기 적어도 하나의 경로로 상기 패치 블록을 통과시켜 상기 왜곡을 제거하는 단계와, 왜곡이 제거된 패치 블록으로부터 왜곡이 제거된 입력 데이터를 생성하는 단계를 포함할 수 있다.The removing may include passing the patch block through the at least one path to remove the distortion, and generating input data from which the distortion has been removed from the distorted patch block.

상기 패치 블록을 통과시켜 상기 왜곡을 제거하는 단계는, 상기 적어도 하나의 경로에 기초하여 상기 패치 블록의 카테고리 정보를 생성하는 단계를 포함할 수 있다.The step of passing the patch block to remove the distortion may include generating category information of the patch block based on the at least one path.

상기 복수의 서브 네트워크는, 상기 입력 데이터의 부호화 타입에 따라 상이하게 학습될 수 있다.The plurality of subnetworks can be learned differently depending on the encoding type of the input data.

일 실시예에 따른 왜곡 제거 장치(10)는 입력 데이터를 수신하는 수신기와, 뉴럴 네트워크로 상기 입력 데이터의 왜곡의 정도를 판별하고, 상기 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택하고, 상기 적어도 하나의 경로로 상기 입력 데이터를 인가함으로써 상기 왜곡을 제거하는 프로세서를 포함한다.A distortion canceling apparatus (10) according to an embodiment includes a receiver for receiving input data, a neural network for determining the degree of distortion of the input data, and a bypass and a plurality of sub- And a processor for selecting at least one path from the network and removing the distortion by applying the input data to the at least one path.

상기 수신기는, 상이한 양자화 파라미터(quantization parameter) 값에 의해 압축된 복수의 입력 데이터를 수신할 수 있다.The receiver may receive a plurality of input data compressed by different quantization parameter values.

상기 프로세서는, 상기 입력 데이터를 패치 블록 단위로 분할하고, 상기 패치 블록의 압축 왜곡의 양, 압축 왜곡 타입, 압축 타입 및 양자화 파라미터 중 적어도 하나에 기초하여 상기 패치 블록의 카테고리를 분류하고, 상기 카테고리에 기초하여 상기 적어도 하나의 경로를 선택할 수 있다.Wherein the processor divides the input data into patch blocks and classifies the categories of the patch blocks based on at least one of a compression distortion amount, a compression distortion type, a compression type, and a quantization parameter of the patch block, Lt; RTI ID = 0.0 > a < / RTI >

상기 프로세서는, 상기 바이패스 및 상기 복수의 서브 네트워크의 출력을 비교하여 상기 왜곡이 가장 적은 경로를 선택할 수 있다.The processor can compare the outputs of the bypass and the plurality of subnetworks to select the path with the least distortion.

상기 프로세서는, 선택된 경로를 출력하도록 상기 뉴럴 네트워크를 학습시킬 수 있다.The processor may learn the neural network to output the selected path.

상기 복수의 서브 네트워크 중 적어도 하나는 잔차 블록(residual block)을 포함하는 컨벌루션 뉴럴 네트워크로 구현될 수 있다.At least one of the plurality of subnetworks may be implemented as a convolution neural network including a residual block.

상기 프로세서는, 상기 적어도 하나의 경로로 상기 패치 블록을 통과시켜 상기 왜곡을 제거하고, 왜곡이 제거된 패치 블록으로부터 왜곡이 제거된 입력 데이터를 생성할 수 있다.The processor may pass the patch block through the at least one path to remove the distortion and generate input data from which distortion is removed from the distorted patch block.

상기 프로세서는, 상기 적어도 하나의 경로에 기초하여 상기 패치 블록의 카테고리 정보를 생성할 수 있다.The processor may generate category information of the patch block based on the at least one path.

상기 복수의 서브 네트워크는, 상기 입력 데이터의 부호화 타입에 따라 상이하게 학습될 수 있다.The plurality of subnetworks can be learned differently depending on the encoding type of the input data.

도 1은 일 실시예에 따른 왜곡 제거 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 왜곡 제거 장치의 동작을 나타낸다.
도 3a는 도 1에 도시된 왜곡 제거 장치가 경로를 선택하는 동작을 나타낸다.
도 3b는 도 1에 도시된 왜곡 제거 장치가 왜곡을 제거하는 동작을 나타낸다.
도 4는 도 1에 도시된 왜곡 제거 장치가 경로를 선택하기 위해 사용하는 뉴럴 네트워크의 구조의 예를 나타낸다.
도 5는 도 1에 도시된 왜곡 제거 장치가 왜곡을 제거하기 위해 사용하는 뉴럴 네트워크의 구조의 예를 나타낸다.
도 6은 도 1에 도시된 왜곡 제거 장치가 왜곡 제거를 위한 네트워크를 학습시키는 동작의 일 예를 나타낸다.
도 7은 도 1에 도시된 왜곡 제거 장치가 왜곡 제거를 위한 뉴럴 네트워크를 학습시키는 동작의 다른 예를 나타낸다.
도 8은 도 1에 도시된 왜곡 제거 장치가 경로 선택을 위한 뉴럴 네트워크를 학습시키는 동작의 예를 나타낸다.
도 9a는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 일 예를 나타낸다.
도 9b는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 다른 예를 나타낸다.
도 9c는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 또 다른 예를 나타낸다.
도 10a는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 일 예를 나타낸다.
도 10b는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 다른 예를 나타낸다.
도 10c는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 또 다른 예를 나타낸다.
도 11a는 전 화면 내 구조(all intra configuration)에 도 1에 도시된 왜곡 제거 장치를 적용한 예를 나타낸다.
도 11b는 저지연 구조(low delay configuration)에 도 1에 도시된 왜곡 제거 장치를 적용한 예를 나타낸다.
도 12a는 왜곡을 제거하는 제1 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 12b는 왜곡을 제거하는 제2 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 12c는 왜곡을 제거하는 제3 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 12d는 왜곡을 제거하는 제4 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 12e는 왜곡을 제거하는 제5 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 12f는 왜곡을 제거하는 제6 서브 네트워크의 PSNR 성능의 예를 나타낸다.
도 13a는 압축 전 데이터의 일 예를 나타낸다.
도 13b는 HEVC 압축된 데이터의 일 예를 나타낸다.
도 13c는 DCAD에 의해 왜곡이 제거된 데이터의 일 예를 나타낸다.
도 13d는 도 1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 일 예를 나타낸다.
도 14a는 압축 전 데이터의 다른 예를 나타낸다.
도 14b는 HEVC 압축된 데이터의 다른 예를 나타낸다.
도 14c는 DCAD에 의해 왜곡이 제거된 데이터의 다른 예를 나타낸다.
도 14d는 도1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 다른 예를 나타낸다.
도 15a는 압축 전 데이터의 또 다른 예를 나타낸다.
도 15b는 HEVC 압축된 데이터의 또 다른 예를 나타낸다.
도 15c는 DCAD에 의해 왜곡이 제거된 데이터의 또 다른 예를 나타낸다.
도 15d는 도1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 또 다른 예를 나타낸다.
도 16은 도 1에 도시된 왜곡 제거 장치와 종래 기술들의 PSNR 성능의 비교 결과를 나타낸다.
1 shows a schematic block diagram of a distortion elimination apparatus according to an embodiment.
Fig. 2 shows the operation of the distortion canceling apparatus shown in Fig.
3A shows an operation in which the distortion elimination apparatus shown in Fig. 1 selects a path.
Fig. 3B shows an operation in which the distortion elimination apparatus shown in Fig. 1 removes distortion.
Fig. 4 shows an example of the structure of a neural network that the distortion elimination apparatus shown in Fig. 1 uses to select a route.
Fig. 5 shows an example of the structure of a neural network used by the distortion elimination apparatus shown in Fig. 1 to remove distortion.
Fig. 6 shows an example of an operation in which the distortion elimination apparatus shown in Fig. 1 learns a network for distortion elimination.
Fig. 7 shows another example of an operation in which the distortion elimination apparatus shown in Fig. 1 learns a neural network for distortion elimination.
Fig. 8 shows an example of an operation in which the distortion canceling apparatus shown in Fig. 1 learns a neural network for path selection.
9A shows an example of an encoder using the distortion removal apparatus shown in FIG.
Fig. 9B shows another example of the encoder using the distortion canceling apparatus shown in Fig.
FIG. 9C shows another example of the encoder using the distortion canceling apparatus shown in FIG.
10A shows an example of a decoder using the distortion removal apparatus shown in FIG.
Fig. 10B shows another example of a decoder using the distortion removal apparatus shown in Fig.
Fig. 10C shows another example of a decoder using the distortion removal apparatus shown in Fig.
FIG. 11A shows an example in which the distortion elimination apparatus shown in FIG. 1 is applied to an all intra configuration.
FIG. 11B shows an example in which the distortion canceling apparatus shown in FIG. 1 is applied to a low delay configuration.
12A shows an example of the PSNR performance of the first sub-network that eliminates distortion.
12B shows an example of the PSNR performance of the second subnetwork for eliminating distortion.
12C shows an example of the PSNR performance of the third sub-network that removes distortion.
12D shows an example of the PSNR performance of the fourth sub-network for eliminating distortion.
12E shows an example of the PSNR performance of the fifth sub-network that eliminates distortion.
12F shows an example of the PSNR performance of the sixth subnetwork for eliminating distortion.
13A shows an example of the data before compression.
13B shows an example of HEVC compressed data.
13C shows an example of data whose distortion is removed by DCAD.
13D shows an example of data whose distortion has been removed by the distortion removal apparatus shown in FIG.
14A shows another example of the data before compression.
14B shows another example of HEVC compressed data.
Fig. 14C shows another example of data whose distortion is removed by DCAD.
Fig. 14D shows another example of data whose distortion has been removed by the distortion removing apparatus shown in Fig.
15A shows another example of the data before compression.
15B shows another example of HEVC compressed data.
Fig. 15C shows another example of data whose distortion is removed by DCAD.
Fig. 15D shows another example of data whose distortion has been removed by the distortion removal apparatus shown in Fig.
16 shows a comparison result of PSNR performance between the distortion elimination apparatus shown in FIG. 1 and the prior art.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made in the embodiments, and the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and alternatives to the embodiments are included in the scope of the right.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for descriptive purposes only and are not to be construed as limiting. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다. The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the embodiment, the first element being referred to as the second element, The second component may also be referred to as a first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification and may mean computer program codes capable of performing specific functions and operations , Or an electronic recording medium, e.g., a processor or a microprocessor, equipped with computer program code capable of performing certain functions and operations.

다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.

도 1은 일 실시예에 따른 왜곡 제거 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a distortion elimination apparatus according to an embodiment.

도 1을 참조하면, 왜곡 제거 장치(10)는 입력 데이터를 수신하여 입력 데이터의 왜곡을 제거할 수 있다. 입력 데이터는 컴퓨터가 처리할 수 있는 문자, 숫자 소리, 그림 등의 형태로 된 정보를 포함할 수 있다. 예를 들어, 입력 데이터는 이미지 및 비디오를 포함할 수 있다.Referring to FIG. 1, the distortion elimination apparatus 10 may receive input data and remove distortion of the input data. The input data may include information in the form of letters, numbers, pictures, etc. that can be processed by the computer. For example, input data may include images and video.

왜곡(distortion 또는 artifact)은 데이터를 압축하면서 발생하는 압축 왜곡(coding artifact)을 포함할 수 있다. 왜곡은 블로킹(blocking), 컨투어링(contouring), 블러링(blurring) 및 링잉(ringing) 효과를 포함할 수 있다.Distortion or artifact may include compression artifacts that occur while compressing data. Distortion may include blocking, contouring, blurring, and ringing effects.

압축은 표준 코덱을 이용한 압축을 의미할 수 있다. 예를 들어, 압축은 HEVC(High Efficiency Video Coding) 표준 코덱을 이용한 압축을 포함할 수 있다.Compression may mean compression using a standard codec. For example, compression may include compression using a High Efficiency Video Coding (HEVC) standard codec.

왜곡 제거 장치(10)는 뉴럴 네트워크를 이용하여 입력 데이터의 왜곡을 제거할 수 있다. 예를 들어, 왜곡 제거 장치(10)는 CNN(Convolutional Neural Network)를 이용하여 입력 데이터의 왜곡을 제거할 수 있다.The distortion removal apparatus 10 can remove distortion of input data using a neural network. For example, the distortion removal apparatus 10 can remove distortion of input data by using CNN (Convolutional Neural Network).

왜곡 제거 장치(10)는 복수의 뉴럴 네트워크를 이용하여 입력 데이터의 왜곡을 제거할 수 있다. 복수의 뉴럴 네트워크는 선택(또는 판별) 서브 네트워크(selector sub network) 및 왜곡 제거를 위한 복수의 서브 뉴럴 네트워크를 포함할 수 있다. 선택 서브 네트워크 및 왜곡 제거를 위한 복수의 서브 뉴럴네트워크는 도 4 및 5를 참조하여 자세하게 설명할 것이다.The distortion removal apparatus 10 can remove distortion of input data by using a plurality of neural networks. The plurality of neural networks may include a selector sub network and a plurality of sub-neural networks for distortion removal. A plurality of sub-neural networks for selective sub-network and distortion cancellation will be described in detail with reference to Figs.

왜곡 제거 장치(10)는 뉴럴 네트워크를 이용하여 입력 데이터의 왜곡 정도에 따라서 입력 데이터를 하나 이상의 카테고리로 분류하여 카테고리 별로 적합한 서브 네트워크를 선택할 수 있다. 왜곡 제거 장치(10)는 선택된 서브 네트워크를 이용하여 입력 데이터의 왜곡을 제거할 수 있다. The distortion eliminator 10 may classify the input data into one or more categories according to the degree of distortion of the input data using the neural network, and select a subnetwork suitable for each category. The distortion removal apparatus 10 can remove distortion of input data using the selected sub-network.

왜곡 제거 장치(10)는 수신기(100), 프로세서(200) 및 메모리(300)를 포함한다. 수신기(100)는 입력 데이터를 수신할 수 있다. 수신기(100)는 상이한 양자화 파라미터(Quantization Parameter, QP) 값에 의해 압축된 복수의 입력 데이터를 수신할 수 있다. 예를 들어, 수신기(100) 22, 27, 32 및 37의 QP 값으로 압축된 입력 데이터를 수신할 수 있다.The distortion elimination apparatus 10 includes a receiver 100, a processor 200 and a memory 300. [ Receiver 100 may receive input data. The receiver 100 may receive a plurality of input data compressed by different quantization parameter (QP) values. For example, it may receive input data compressed with the QP values of the receivers 100, 22, 27, 32 and 37.

프로세서(200)는 뉴럴 네트워크로 입력 데이터의 왜곡의 정도를 판별하고, 입력 데이터의 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택할 수 있다. 바이패스는 입력 상태 그대로를 출력하는 경로를 의미할 수 있다. 뉴럴 네트워크는 선택기 서브 네트워크를 포함할 수 있다.The processor 200 may determine the degree of distortion of the input data by the neural network and select at least one of bypass and a plurality of subnetworks based on the degree of distortion of the input data. Bypass can refer to a path that outputs an input state as it is. The neural network may include a selector subnetwork.

프로세서(200)는 입력 데이터를 패치 블록 단위로 분할할 수 있다. 프로세서(200)는 패치 블록의 압축 왜곡의 양, 압축 왜곡 타입, 압축 타입 및 양자화 파라미터 중 적어도 하나에 기초하여 상기 패치 블록의 카테고리를 분류할 수 있다.The processor 200 may divide the input data into patch blocks. The processor 200 may classify the category of the patch block based on at least one of the amount of compression distortion of the patch block, the compression distortion type, the compression type, and the quantization parameter.

프로세서(200)는 분류된 카테고리에 기초하여 적어도 하나의 경로를 선택할 수 있다. 프로세서(200)는 바이패스 및 복수의 서브 네트워크의 출력을 비교하여 왜곡이 가장 적은 경로를 선택할 수 있다. 예를 들어, 프로세서(200)는 바이패스 및 복수의 서브 네트워크의 출력과 압축하기 전의 입력 데이터 간의 차이가 가장 적은 경로를 선택할 수 있다.The processor 200 may select at least one route based on the classified category. The processor 200 can compare the outputs of the bypass and the plurality of subnetworks to select the path with the least distortion. For example, the processor 200 may select the path with the smallest difference between the output of the bypass and the plurality of subnetworks and the input data before compression.

프로세서(200)는 왜곡이 가장 적은 경로를 출력하도록 뉴럴 네트워크를 학습시킬 수 있다. 프로세서(200)는 입력 데이터의 왜곡을 제거하도록 복수의 서브 네트워크를 학습시킬 수 있다. 복수의 서브 네트워크 중 적어도 하나는 잔차 블록(residual block)을 포함하는 컨벌루션 뉴럴 네트워크로 구현될 수 있다.The processor 200 can learn the neural network to output the path with the least distortion. The processor 200 can learn a plurality of subnetworks to eliminate distortion of input data. At least one of the plurality of subnetworks may be implemented as a convolution neural network including a residual block.

복수의 서브 네트워크는 입력 데이터의 부호화 타입에 따라 상이하게 학습될 수 있다. 예를 들어, 부호화 타입은 화면 간 예측 부호화 및 화면 내 예측 부호화를 포함할 수 있다.The plurality of subnetworks can be learned differently depending on the encoding type of the input data. For example, the encoding type may include inter picture prediction coding and intra picture prediction coding.

프로세서(200)는 적어도 하나의 경로로 입력 데이터를 인가함으로써 입력 데이터의 왜곡을 제거할 수 있다. 프로세서(200)는 패치 블록 단위(patch block)로 입력 데이터를 분할할 수 있다. 예를 들어, 프로세서(200)는 128×128 크기의 패치 블록 단위로 입력 데이터를 분할할 수 있다. 프로세서(200)는 패치 데이터를 적어도 하나의 경로로 인가함으로써 입력 데이터의 왜곡을 제거할 수 있다.The processor 200 may remove the distortion of the input data by applying the input data to at least one path. The processor 200 may divide the input data into patch blocks. For example, the processor 200 may divide the input data by a patch block unit of 128x128 size. The processor 200 can remove the distortion of the input data by applying the patch data to at least one path.

즉, 프로세서(200)는 적어도 하나의 경로로 패치 블록을 통과시켜 왜곡을 제거할 수 있다. 프로세서(200)는 왜곡이 제거된 패치 블록으로부터 왜곡이 제거된 입력 데이터를 생성할 수 있다. 또한, 프로세서(200)는 선택된 적어도 하나의 경로에 기초하여 패치 블록의 카테고리 정보를 생성할 수 있다.That is, the processor 200 may pass the patch block through at least one path to remove the distortion. The processor 200 can generate the distortion-free input data from the distortion-removed patch block. In addition, the processor 200 may generate category information of the patch block based on the selected at least one path.

메모리(300)는 프로세서(200)에 의해 실행될 명령들(instructions), 뉴럴 네트워크의 필터 파라미터, 특징맵 등을 저장할 수 있다. 또한, 메모리(300)는 학습 데이터, 입력 데이터 및 복원된 입력 데이터를 저장할 수 있다.The memory 300 may store instructions to be executed by the processor 200, filter parameters of a neural network, feature maps, and the like. In addition, the memory 300 may store learning data, input data, and restored input data.

도 2는 도 1에 도시된 왜곡 제거 장치의 동작을 나타내고, 도 3a는 도 1에 도시된 왜곡 제거 장치가 경로를 선택하는 동작을 나타내고, 도 3b는 도 1에 도시된 왜곡 제거 장치가 왜곡을 제거하는 동작을 나타낸다.Fig. 2 shows the operation of the distortion elimination apparatus shown in Fig. 1, Fig. 3a shows the operation of selecting the path by the distortion elimination apparatus shown in Fig. 1, Fig. 3b shows the distortion elimination apparatus shown in Fig. .

도 2내지 도 3b를 참조하면, 왜곡 제거 장치(10)는 뉴럴 네트워크(예를 들어, 선택(selector) 서브 네트워크)를 이용하여 입력 데이터의 왜곡을 제거할 서브 네트워크를 선택할 수 있다. 왜곡 제거 장치(10)는 선택된 서브 네트워크를 통해서 입력 데이터의 왜곡을 제거할 수 있다.Referring to Figs. 2 to 3B, the distortion eliminator 10 may select a subnetwork to remove distortion of input data using a neural network (e.g., a selector subnetwork). The distortion eliminator 10 can remove distortion of the input data through the selected sub-network.

예를 들어, 왜곡 제거 장치(10)는 도 3a와 같이 선택 서브 네트워크는 입력 데이터의 압축 오류의 정도에 따라 제2 서브 네트워크를 선택할 수 있다. 그 후, 왜곡 제거 장치(10)는 도 3b와 같이 입력 데이터를 제2 서브 네트워크로 인가함으로써 왜곡을 제거할 수 있다.For example, the distortion eliminator 10 can select the second subnetwork according to the degree of compression error of the input data, as shown in FIG. 3A. Thereafter, the distortion removal apparatus 10 can remove the distortion by applying the input data to the second sub-network as shown in Fig. 3B.

일반적으로, HEVC의 압축 왜곡(또는 코딩 아티팩트(artifact))은 변환 계수(transform coefficient)의 양자화로부터 발생할 수 있다. 변환은 블록 단위로 수행되기 때문에 양자화 오류(quantization error)는 동일한 블록의 픽셀의 영향을 받을 수 있다.In general, the compression distortion (or coding artifact) of an HEVC may result from quantization of a transform coefficient. Since the transform is performed on a block-by-block basis, the quantization error can be affected by the pixels of the same block.

HEVC는 압축 효율 향상을 위해 가변 블록 크기 변환 유닛(Transform Units(TUs))을 채택하는데, 왜곡 제거 장치(10)는 다양한 블록 크기 변환 및 양자화로 재구성됨으로써 저하된 프레임(frame)들을 처리할 수 있다.The HEVC employs a variable block size conversion unit (TUs) to improve the compression efficiency, and the distortion eliminator 10 can process the degraded frames by reconstructing with various block size conversion and quantization .

왜곡 제거 장치(10)는 다양한 종류와 다양한 수준의 압축 왜곡을 처리할 수 있다. 구체적으로, 왜곡 제거 장치(10)는 복수의 뉴럴 네트워크를 통해 HEVC의 다양한 QP(Quantization Parameter) 값에 대해 다양한 종류와 다양한 수준의 압축 왜곡을 처리할 수 있다. 이를 통해, 왜곡 제거 장치(10)는 디코딩된 HEVC 비디오에 직접 적용되어 추가 비트를 전송하지 않고도 압축 효율을 크게 향상시킬 수 있다.Distortion eliminator 10 is capable of handling various types and levels of compression distortion. Specifically, the distortion removal apparatus 10 can process various kinds of compression distortion of various levels and various levels of quantization parameter (QP) values of the HEVC through a plurality of neural networks. Thereby, the distortion removal apparatus 10 can be directly applied to the decoded HEVC video, thereby greatly improving the compression efficiency without transmitting additional bits.

왜곡 제거 장치(10)는 복수의 서브 네트워크 및 바이패스로 이루어진 왜곡 제거 경로와, 왜곡 제거 경로를 선택하는 뉴럴 네트워크를 포함할 수 있다. 도 2의 예시에서, 왜곡 제거 장치(10)는 6개의 서브 네트워크, 하나의 바이패스(bypass) 및 하나의 선택 서브 네트워크를 포함할 수 있다.The distortion elimination apparatus 10 may include a distortion elimination path made up of a plurality of subnetworks and bypasses, and a neural network for selecting a distortion elimination path. In the example of FIG. 2, the distortion eliminator 10 may include six subnetworks, one bypass, and one optional subnetwork.

선택 서브 네트워크는 6개의 서브 네트워크 및 바이패스 경로 중에서 입력 데이터의 왜곡을 가장 잘 제거하는(또는 가장 잘 복원되는) 경로를 선택할 수 있다. 바이패스는 단순히 입력 데이터가 그대로 출력되는 경로를 의미할 수 있다.The selected subnetwork can select the path that best removes (or is best restored) the distortion of the input data among the six subnetworks and the bypass path. Bypass can simply mean the path through which input data is output as is.

왜곡 제거 장치(10)는 각각의 서브 네트워크를 특정한 범위의 열화 수준을 갖는 학습 프레임 패치로 학습시킬 수 있다. 예를 들어, 제1 서브 네트워크는 가장 적은 왜곡(예를 들어, 품질 손실)을 갖는 학습 패치 그룹으로 학습되고, 제2 서브 네트워크는 다음으로 적은 왜곡을 갖는 학습 패치 그룹으로 학습될 수 있고, 나머지 서브 네트워크도 같은 방식으로 다른 왜곡 정도를 가지는 학습 패치 그룹으로 학습될 수 있다.Distortion eliminator 10 can learn each sub-network with a learning frame patch having a certain range of degradation levels. For example, the first sub-network may be trained as a training patch group with the least distortion (e.g., quality loss), the second sub-network may be learned as a next less likely group of training patches, The subnetwork can also be learned in the same way as a learning patch group with different degrees of distortion.

필터의 가중치(weight)를 업데이트 할 때마다, 학습 프레임 패치의 멤버십(membership)은 결과로 복원된 출력이 가장 적은 오류를 산출하는 최장의 서브 네트워크에 따라 변경될 수 있다.Each time the filter weight is updated, the membership of the learning frame patch may be changed according to the longest subnetwork that yields the error with the lowest recovered output.

복수의 서브 네트워크 각각은 컨벌루션 뉴럴 네트워크로 구현될 수 있다. 예를 들어, 각각의 서브 네트워크는 앞과 뒤의 두 개의 단일 컨벌루션 레이어와 ResNets으로 구성된 7개의 4-레이어 잔차 블록(4-layered residual block)으로 구성될 수 있다. 학습 중에 서브 네트워크들은 다양한 QP 값(22, 27, 32, 37, 42 및 47)에서 HEVC에 의해 압축된 입력 프레임 패치를 수신할 수 있다.Each of the plurality of subnetworks may be implemented as a convolution neural network. For example, each subnetwork may be composed of four single-convolutional layers, front and back, and four 4-layered residual blocks, consisting of ResNets. During learning, the subnetworks may receive input frame patches compressed by the HEVC at various QP values (22, 27, 32, 37, 42 and 47).

각 입력 패치의 압축 오류에 따라 선택 서브 네트워크는 가장 적절한 서브 네트워크 또는 바이패스 중 하나의 경로를 선택하여 출력 오류가 가장 적은 경로를 선택할 수 있다. 출력 오류란 원본 데이터와 서브 네트워크에 의해 왜곡이 제거된 데이터 간의 차이를 의미할 수 있다.Depending on the compression error of each input patch, the selected subnetwork can select one of the most appropriate subnetworks or bypasses and select the path with the least output error. An output error can mean the difference between the original data and the distortion-free data by the subnetwork.

모든 학습 프레임 패치에 대하여 가장 적절한 경로가 선택될 수 있고, 왜곡 제거 장치(10)는 각 서브 네트워크의 필터 파라미터를 학습 프레임 패치에 의해 업데이트할 수 있다. 이를 통해, 복수의 서브 네트워크들은 각자 할당된 범위의 압축 오류 수준의 입력 패치들을 복원하는데 집중할 수 있다.The most appropriate path for all the learning frame patches can be selected and the distortion elimination device 10 can update the filter parameters of each sub network by the learning frame patch. In this way, the plurality of subnetworks can concentrate on restoring the input patches of each assigned range of compression error levels.

압축 오류가 있는 입력 패치는 원래의 패치와 유사하기 때문에 종래의 서브 네트워크에 잔여 학습을 통합하여 VDSR(Very Deep Super Resolution)과 유사하게 왜곡된 입력 패치와 출력 간의 차이점이 학습될 수 있다.Since the input patches with compression errors are similar to the original patches, we can learn the difference between distorted input patches and outputs similar to VDSR (Very Deep Super Resolution) by incorporating residual learning into conventional subnetworks.

도 4는 도 1에 도시된 왜곡 제거 장치가 경로를 선택하기 위해 사용하는 뉴럴 네트워크의 구조의 예를 나타낸다.Fig. 4 shows an example of the structure of a neural network that the distortion elimination apparatus shown in Fig. 1 uses to select a route.

도 4를 참조하면, 복수의 서브 네트워크 각각은 컨벌루션 뉴럴 네트워크로 구성될 수 있다. 서브 네트워크는 HEVC-인프라 압축으로 인코딩된 YCbCr 입력의 Y 채널에 대해서만 학습될 수 있다.Referring to FIG. 4, each of the plurality of subnetworks may be configured as a convolution neural network. The subnetwork can only be learned for the Y channel of the YCbCr input encoded with HEVC-infrastructure compression.

각 서브 네트워크는 2 개의 단일 컨벌루션 레이어와 7 개의 4-레이어 잔차 블록으로 구성될 수 있다. 첫 번째 컨벌루션 레이어는 128×128 크기의 단일 Y 채널 입력 패치를 입력 받아서 5×5 크기의 64 개의 필터를 이용하여 64 개의 특징맵을 출력으로 생성할 수 있다. 마지막 컨벌루션 레이어는 64 개의 특징맵을 입력으로 사용하여 3×3 크기의 단일 필터를 이용하여 128×128 크기의 복원된 출력을 생성할 수 있다.Each subnetwork may be composed of two single convolution layers and seven 4-layer residual blocks. The first convolution layer can receive 64 single-channel input patches of 128 × 128 size and generate 64 feature maps as output using 64 × 5 × 5 filters. The last convolution layer can generate a 128 x 128 reconstructed output using a single 3x3 filter with 64 feature maps as input.

각각의 잔차 블록은 64 개의 5×5 크기의 필터를 갖는4 개의 컨벌루션 레이어로 구성되고, 4 개의 컨벌루션 레이어는 HEVC의 32×21 변환 유닛(transform unit)의 가장 큰 크기까지 커버하도록 설계될 수 있다.Each residual block consists of four convolutional layers with 64 5x5 filters, and the four convolutional layers can be designed to cover the largest size of the 32x21 transform unit of the HEVC .

각 컨벌루션 레이어의 뒤에는 3×3 크기의 필터를 갖는 마지막 컨벌루션 레이어를 제외한 비선형 활성화를 수행하는 LeakyReLU(Leaky Rectified Linear Unit)이 위치할 수 있다. 마지막 레이어 다음에는 [-1, 1] 범위로 출력 값을 매핑하는 tanh 활성화 함수가 뒤따라서 위치할 수 있다.Each convolution layer may be followed by a LeakyRectified Linear Unit (LeakyReLLU) that performs non-linear activation except for the last convolution layer with a 3x3 filter. The last layer can be followed by a tanh activation function that maps the output value to the [-1, 1] range.

서브 네트워크의 출력은 tanh 활성화 함수의 출력에 각 입력 패치를 추가함으로써 최종적으로 계산될 수 있다. 각 서브 네트워크의 입력은 수학식 1과 같이 표현될 수 있다.The output of the subnetwork can be finally computed by adding each input patch to the output of the tanh activation function. The input of each subnetwork can be expressed as Equation (1).

Figure 112018121790777-pat00001
Figure 112018121790777-pat00001

여기서,

Figure 112018121790777-pat00002
는 HEVC-인트라 압축에 의해 인코딩된 압축 왜곡(coding artifact)을 갖는 입력 패치(예를 들어, 패치 블록)를 의미할 수 있다. 이 때, k 번째 레이어의 출력은 수학식 2와 같이 나타낼 수 있다.here,
Figure 112018121790777-pat00002
May refer to an input patch (e. G., A patch block) having a compression artifact encoded by HEVC-Intra compression. At this time, the output of the k-th layer can be expressed by Equation (2).

Figure 112018121790777-pat00003
Figure 112018121790777-pat00003

여기서 W k 는 k 번째 컨벌루션 레이어의 64 개의5×5 컨벌루션 필터를 의미할 수 있고, b k 는 64 채널 출력에 대한 바이어스를 의미할 수 있다. F k -1(·)은 k-1 번째 레이어 연산을 의미할 수 있다. 'max' 연산은 0 < α < 1인 LeakyReLU를 나타낼 수 있다.Where W k may mean 64 5 × 5 convolution filters of the k th convolution layer and b k may mean a bias for 64 channel outputs. F k -1 (·) may mean k-1 th layer operation. The 'max' operation can represent a LeakyReLU with 0 <α <1.

이 때, 마지막을 복원된 출력 I rec 은 수학식 3과 같이 나타낼 수 있다.At this time, the restored output I rec can be expressed by Equation (3).

Figure 112018121790777-pat00004
Figure 112018121790777-pat00004

여기서 W k 는 마지막 컨벌루션 레이어의 3×3 컨벌루션 필터를 의미할 수 있고, b k 는 그들의 바이어스를 의미할 수 있다. I rec 은 서브 네트워크의 출력에 입력 패치를 더함으로써 계산될 수 있다. 복원된 출력은 수학식 4에 의해 최적화함으로써 획득될 수 있다.Where W k may refer to a 3 × 3 convolution filter of the last convolution layer, and b k may refer to their bias. I rec can be calculated by adding an input patch to the output of the subnetwork. The restored output can be obtained by optimization by equation (4).

Figure 112018121790777-pat00005
Figure 112018121790777-pat00005

여기서, θ는 서브 네트워크의 파라미터 셋{W, b}을 의미할 수 있고, l 은 손실 함수를 의미할 수 있다. 손실함수에 대해서 MSE(Mean Squared Error)는 수학식 5와 같이 나타낼 수 있다.Here,? Can mean the subset of network parameter sets { W , b }, where 1 can be a loss function. The MSE (Mean Squared Error) for the loss function can be expressed by Equation (5).

Figure 112018121790777-pat00006
Figure 112018121790777-pat00006

여기서,

Figure 112018121790777-pat00007
Figure 112018121790777-pat00008
는 원본 입력 패치 및 복원된 출력에 대한 (x, y) 위치 에서의 픽셀 값을 의미할 수 있다. 이미지 패치 크기는 너비 W=128, 높이 H=128로 설정될 수 있다.here,
Figure 112018121790777-pat00007
And
Figure 112018121790777-pat00008
May refer to the pixel value at the (x, y) position relative to the original input patch and the reconstructed output. The image patch size can be set to a width W = 128 and a height H = 128.

손실 함수는 역전파(back-propagation)에 의한 미니 배치 경사 하강(mini-batch gradient descent)에 의해 최소화되고 미니 배치의 크기는 16으로 설정될 수 있다.The loss function can be minimized by mini-batch gradient descent by back-propagation and the size of the mini-batch can be set to 16.

도 5는 도 1에 도시된 왜곡 제거 장치가 왜곡을 제거하기 위해 사용하는 뉴럴 네트워크의 구조의 예를 나타낸다.Fig. 5 shows an example of the structure of a neural network used by the distortion elimination apparatus shown in Fig. 1 to remove distortion.

도 5를 참조하면, 왜곡 제거 장치(10)는 뉴럴 네트워크(예를 들어, 선택 서브 네트워크)를 통해 입력 데이터의 왜곡의 정도에 기초하여 왜곡을 제거할 경로를 선택할 수 있다. 입력 데이터는 패치 블록 단위로 분할되어 입력될 수 있다. Referring to Fig. 5, the distortion eliminator 10 may select a path to remove distortion based on the degree of distortion of the input data through a neural network (e.g., a selected subnetwork). The input data can be divided and input in units of patch blocks.

선택 서브 네트워크는 가장 적은 오류(또는 손실)에서 각 입력 패치의 압축 왜곡의 제거를 수행하는 가장 적합한 서브 네트워크를 결정할 수 있다. 선택 서브 네트워크는 6 개의 컨벌루션 레이어와 ReLU 활성화 및 4 개의 맥스 풀링 레이어(max pooling layer)로 구성될 수 있다.The selected subnetwork can determine the most suitable subnetwork to perform the removal of compression distortion of each input patch at the least error (or loss). The selected subnetwork can be composed of 6 convolution layers, ReLU activation and 4 max pooling layers.

왜곡 제거 장치(10)는 마지막 맥스 풀링 레이어를 제외하고 맥스 풀링 레이어 이후에 특징맵의 크기를 두 배로 증가시킬 수 있다. 왜곡 제거 장치(10)는 컨벌루션 전에 제로 패딩(zero-padding)을 이용하여 특징 맵의 크기를 동일하게 유지하고, 풀리 커넥티드 레이어(fully connected layer)를 사용할 수 있다. 마지막 레이어에서, 분류 작업(classification task)를 위한 활성화로 소프트맥스(softmax) 함수가 사용될 수 있다.The distortion removal apparatus 10 may increase the size of the feature map after the max-pulling layer by a factor of two except for the last max-pulling layer. The distortion eliminator 10 may use zero-padding to keep the feature map size the same before convolution and use a fully connected layer. At the last layer, a softmax function can be used as an activation for the classification task.

도 6은 도1에 도시된 왜곡 제거 장치가 왜곡 제거를 위한 네트워크를 학습시키는 동작의 일 예를 나타낸다.Fig. 6 shows an example of an operation in which the distortion elimination apparatus shown in Fig. 1 learns a network for distortion elimination.

도 6을 참조하면, 왜곡 제거 장치(10)는 입력 데이터를 패치 블록 단위로 분할할 수 있다. 예를 들어, 왜곡 제거 장치(10)는 입력 데이터를 128×128 크기의 패치블록으로 분할할 수 있다.Referring to FIG. 6, the distortion elimination apparatus 10 may divide input data into patch blocks. For example, the distortion eliminator 10 may divide the input data into patch blocks of 128x128 size.

왜곡 제거 장치(10)는 패치 블록의 왜곡의 정도에 기초하여 패치 블록의 카테고리를 결정할 수 있다. 예를 들어, 왜곡 제거 장치(10)는 패치 블록 내의 압축 왜곡의 양, 압축 왜곡 타입, 패치의 압축 타입(예를 들어, 화면 간 예측 부호화, 화면 내 예측 부호화), 압축 양자화 파라미터 값 중 적어도 하나의 특성을 이용하여 카테고리를 결정할 수 있다. 도 6은 양자화 파라미터 값에 기초하여 서브 네트워크를 선택하는 경우를 나타낼 수 있다.The distortion removal apparatus 10 can determine the category of the patch block based on the degree of distortion of the patch block. For example, the distortion elimination apparatus 10 may include at least one of a compression distortion amount in a patch block, a compression distortion type, a compression type of a patch (for example, inter picture prediction coding, intra picture prediction coding) The category can be determined by using the characteristics of FIG. 6 shows a case where a subnetwork is selected based on the quantization parameter values.

도 7은 도1에 도시된 왜곡 제거 장치가 왜곡 제거를 위한 뉴럴 네트워크를 학습시키는 동작의 다른 예를 나타낸다.Fig. 7 shows another example of an operation in which the distortion elimination apparatus shown in Fig. 1 learns a neural network for distortion elimination.

도 7을 참조하면, 왜곡 제거 장치(10)는 입력 데이터에서 무작위로 패치블록을 샘플링할 수 있다. 왜곡 제거 장치(10)는 학습 이미지 패치 블록을 무작위로 추출하여 바이패스 및 복수의 서브 네트워크 중 하나로 인가한 후, 압축 왜곡을 가장 잘 제거하는 경로로 패치블록을 할당하여 학습할 수 있다.Referring to Fig. 7, the distortion elimination apparatus 10 can randomly sample patch blocks from input data. The distortion eliminator 10 may learn the patch image by allocating a patch block to a path that randomly extracts a learning image patch block and applies it to one of bypass and a plurality of subnetworks and then best removes compression distortion.

이 때, 압축 왜곡을 가장 잘 제거하는 지 여부는 원본 이미지와 왜곡이 제거된 이미지 간의 차이에 의해 결정될 수 있다. 도 7의 예시와 같이 절대 값 차의 합(sum of absolute difference)가 가장 작은 거리(the smallest distance)를 갖는 경로로 패치 블록을 할당하여 학습시킬 수 있다.At this time, whether to best remove compression distortion can be determined by the difference between the original image and the distorted image. It is possible to perform learning by allocating a patch block to a path having the smallest distance of the sum of absolute differences as shown in FIG.

도 8은 도1에 도시된 왜곡 제거 장치가 경로 선택을 위한 뉴럴 네트워크를 학습시키는 동작의 예를 나타낸다.Fig. 8 shows an example of an operation in which the distortion canceling apparatus shown in Fig. 1 learns a neural network for path selection.

도 8을 참조하면, 선택 서브 네트워크는 왜곡을 가장 잘 제거하는 경로를 선택하도록 학습될 수 있다. 왜곡 제거 장치(10)는 왜곡을 제거하는 복수의 서브 네트워크와 바이패스 경로 중에서 가장 왜곡을 잘 제거하는 경로가 출력되도록 선택 서브 네트워크를 학습시킬 수 있다.Referring to FIG. 8, the selected sub-network may be learned to select a path that best eliminates distortion. The distortion eliminator 10 can learn the selected sub-network so that a plurality of sub-networks for eliminating distortion and a path for removing the best distortion from the bypass path are output.

도 9a는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 일 예를 나타내고, 도 9b는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 다른 예를 나타내고, 도 9c는 도 1에 도시된 왜곡 제거 장치를 이용한 인코더의 또 다른 예를 나타낸다.FIG. 9A shows an example of an encoder using the distortion elimination device shown in FIG. 1, FIG. 9B shows another example of an encoder using the distortion elimination device shown in FIG. 1, FIG. 9C shows a distortion elimination Lt; RTI ID = 0.0 &gt; encoder. &Lt; / RTI &gt;

도 9a 내지 9c를 참조하면, 왜곡 제거 장치(10)는 입력 프레임을 압축하는 인코더에 사용될 수 있다. 왜곡 제거 장치(10)는 SAO(Sample Adaptive Offset)의 출력단에 위치할 수 있다. 다른 실시예에서 왜곡 제거 장치(10)는 SAO가 없이 DF(Deblocking Filter)의 출력단에 위치할 수 있고, 또 다른 실시예로 왜곡 제거 장치(10)는 DF 및 SAO 없이 연결되어 기준 프레임(reference frame)을 출력할 수 있다. Referring to Figs. 9A to 9C, the distortion elimination apparatus 10 can be used in an encoder for compressing an input frame. The distortion elimination device 10 may be placed at the output end of the SAO (Sample Adaptive Offset). In another embodiment, the distortion eliminator 10 may be located at the output of a deblocking filter (DF) without SAO, and in another embodiment, the distortion eliminator 10 may be connected without a DF and SAO to form a reference frame Can be output.

도 10a는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 일 예를 나타내고, 도 10b는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 다른 예를 나타내고, 도 10c는 도 1에 도시된 왜곡 제거 장치를 이용한 디코더의 또 다른 예를 나타낸다.FIG. 10A shows an example of a decoder using the distortion removal apparatus shown in FIG. 1, FIG. 10B shows another example of a decoder using the distortion removal apparatus shown in FIG. 1, Lt; RTI ID = 0.0 &gt; decoder. &Lt; / RTI &gt;

도 10a 내지 10c를 참조하면, 왜곡 제거 장치(10)는 압축된 데이터를 해제하는 디코더에 사용될 수 있다. 왜곡 제거 장치(10)는 SAO(Sample Adaptive Offset)의 출력단에 위치할 수 있다. 다른 실시예에서 왜곡 제거 장치(10)는 SAO가 없이 DF(Deblocking Filter)의 출력단에 위치할 수 있고, 또 다른 실시예로 왜곡 제거 장치(10)는 DF 및 SAO 없이 연결되어 기준 프레임(reference frame)을 출력할 수 있다.Referring to Figs. 10A to 10C, the distortion elimination apparatus 10 can be used for a decoder which releases compressed data. The distortion elimination device 10 may be placed at the output end of the SAO (Sample Adaptive Offset). In another embodiment, the distortion eliminator 10 may be located at the output of a deblocking filter (DF) without SAO, and in another embodiment, the distortion eliminator 10 may be connected without a DF and SAO to form a reference frame Can be output.

도 11a는 전 화면 내 구조(all intra configuration)에 도 1에 도시된 왜곡 제거 장치를 적용한 예를 나타내고, 도 11b는 저지연 구조(low delay configuration)에 도 1에 도시된 왜곡 제거 장치를 적용한 예를 나타낸다.FIG. 11A shows an example in which the distortion elimination apparatus shown in FIG. 1 is applied to an all intra configuration, FIG. 11B shows an example in which the distortion elimination apparatus shown in FIG. 1 is applied to a low delay configuration .

도 11a 및 도 11b를 참조하면, I는 인트라 슬라이스(Intra slice) 또는 인트라 픽처(intra picture)를 의미할 수 있다. P는 왜곡 제거 장치(10)는 전 화면 내 구조(all intra configuration) 하에서의 부호화 과정에 적용될 수 있다.Referring to FIGS. 11A and 11B, I may denote an intra slice or an intra picture. P can be applied to the encoding process under the all intra configuration of the distortion removal apparatus 10.

또한, 왜곡 제거 장치(10)는 복수의 서브 네트워크를 이용하여 저지연 구조(low delay configuration) 하에서의 부호화 과정에 적용될 수 있다. 이 경우, 인트라 슬라이스와 예측 슬라이스(predictive slice 또는 predictive picture) 각각에 상이한 서브 네트워트가 적용되어 왜곡이 제거될 수 있다.In addition, the distortion removal apparatus 10 can be applied to a coding process under a low delay configuration using a plurality of subnetworks. In this case, different subnetworks may be applied to the intra slice and the predictive slice (predictive slice or predictive picture), respectively, so that the distortion can be removed.

도 12a는 왜곡을 제거하는 제1 서브 네트워크의 PSNR 성능의 예를 나타내고, 도 12b는 왜곡을 제거하는 제2 서브 네트워크의 PSNR 성능의 예를 나타내고, 도 12c는 왜곡을 제거하는 제3 서브 네트워크의 PSNR 성능의 예를 나타낸다.FIG. 12A shows an example of PSNR performance of a first sub-network for eliminating distortion, FIG. 12B shows an example of PSNR performance of a second sub-network for eliminating distortion, FIG. 12C shows an example of a PSNR performance of a third sub- An example of PSNR performance is shown.

도 12d는 왜곡을 제거하는 제4 서브 네트워크의 PSNR 성능의 예를 나타내고, 도 12e는 왜곡을 제거하는 제5 서브 네트워크의 PSNR 성능의 예를 나타내고, 도 12f는 왜곡을 제거하는 제6 서브 네트워크의 PSNR 성능의 예를 나타낸다.12D shows an example of the PSNR performance of the fourth sub-network for eliminating distortion, FIG. 12E shows an example of the PSNR performance of the fifth sub-network for eliminating distortion, and FIG. 12F shows an example of the PSNR performance of the sixth sub- An example of PSNR performance is shown.

도 12a 내지 도 12f 를 참조하면, 왜곡 제거 장치(10)는 2 개의 NVIDA Titan XPTM GPU로 TensorFlowTM 소프트웨어를 이용하여 구현될 수 있다. 왜곡 제거 장치(10)는 118K 이미지가 포함된 MSCOCO 2018 트레인 데이터 세트를 사용하여 학습될 수 있다.Referring to Figures 12A-12F, the distortion remover 10 may be implemented using TensorFlow (TM) software with two NVIDIA Titan XPTM GPUs. Distortion eliminator 10 may be learned using a MSCOCO 2018 train data set that includes a 118K image.

먼저 22, 27, 32, 37, 42 및 47의 QP 값에서 endcoer_intra_main.cfg 구성으로 HEVC의 HM 16.0 기준 인코더(reference encoder)를 이용하여 이미지가 압축될 수 있다. 왜곡 제거 장치(10)는 YCbCr 색상 데이터에서 추출된 Y 채널 데이터를 이용하여 뉴럴 네트워크를 학습시킬 수 있다.First, the image can be compressed using the HM 16.0 reference encoder of the HEVC from the QP values of 22, 27, 32, 37, 42, and 47 to the endcoer_intra_main.cfg configuration. The distortion eliminator 10 can learn the neural network using the Y channel data extracted from the YCbCr color data.

미니 배치 학습의 경우, 16 개의 128 ×128 패치를 무작위로 추출하여 수행될 수 있다. 이 때, 학습은 ADAM 최적화기(optimizer)를 이용하여 러닝 레이트(learning rate) 10-4, 모멘텀 값 0.9로 5만 회를 반복하여 학습될 수 있다.In the case of mini-batch learning, it can be performed by randomly extracting 16 128 x 128 patches. At this time, the learning can be learned by repeating 50,000 times with a learning rate of 10 -4 and a momentum value of 0.9 using an ADAM optimizer.

학습 단계는 초기(initial) 학습 및 전이(transfer)학습의 두 단계로 진행될 수 있다. 초기 학습 단계 동안에는 제1 서브네트워크가 QP=22에서 압축된 무작위로 샘플링된 학습 데이터로 학습되고, 제2 서브 네트워크는 QP=27로, 제3 서브 네트워크는 QP=32로, 제4 네트워크는 QP=37로, 제5 네트워크는 QP=42로 제6 네트워크는 QP=47로 수렴할 때까지 학습될 수 있다.The learning phase may proceed in two phases: initial learning and transfer learning. During the initial learning phase, the first subnetwork is learned with random sampled learning data compressed at QP = 22, the second subnetwork is QP = 27, the third subnetwork is QP = 32, the fourth network is QP = 37, the fifth network can be learned until QP = 42 and the sixth network converges to QP = 47.

전이 학습 단계 동안에, 각각의 서브 네트워크는 초기 학습에서의 필터 가중치로 초기화 될 수 있고, 학습 샘플들은 QP = 22, 27, 32, 37, 42, 및 47에서 압축된 118k 이미지의 모든 학습데이터로부터 무작위로 선택될 수 있다.During the transition learning phase, each sub-network may be initialized to a filter weight in the initial learning and the learning samples may be randomized from all learning data of the compressed 118k image at QP = 22, 27, 32, 37, 42, .

각각의 무작위로 선택된 학습 샘플은 6 개의 서브 네트워크로 인가되고, 가장 적은 복원 오류(restoration error)를 출력하는 서브 네트워크 하나에 대하여 학습 데이터의 멤버쉽을 가질 수 있다.Each randomly selected learning sample is applied to six subnetworks and may have membership of learning data for one subnetwork that outputs the least restoration error.

임의의 서브 네트워크가 16개의 샘플들을 가지고 가중치가 업데이트될 수 있다. 즉, 각각의 서브 네트워크는 가장 작은 값의 복원 오류(예를 들어, SAD(Sum of Absolute Difference))를 갖는 데이터 샘플들로 학습될 수 있다. 서브 네트워크에 대해 멤버쉽을 갖는 학습 데이터들에 대하여 선택 서브 네트워크는 16 개의 128 ×128 패치들의 미니 배치로 학습될 수 있다.Any subnetwork may have 16 samples and the weights may be updated. That is, each sub-network may be learned with data samples having the smallest value of the reconstruction error (e.g., a Sum of Absolute Difference (SAD)). For learning data with membership for the subnetwork, the selective subnetwork can be learned by mini-placement of 16 128 x 128 patches.

테스트를 위해서, 왜곡 제거 장치(10)는 HEVC 표준 테스트 시퀀스를 이용하여 테스트될 수 있다. 여기서 128 ×128 크기의 입력 패치가 선택 서브 네트워크로 인가되고, 그 후, 선택 서브 네트워크에 의해 할당된 입력 멤버쉽을 갖는 왜곡 제거를 위한 서브 네트워크에 입력될 수 있다.For testing, the distortion elimination device 10 may be tested using the HEVC standard test sequence. Where an input patch of size 128x128 is applied to the selected sub-network and then input to the sub-network for distortion removal with the input membership assigned by the selected sub-network.

QP = 22, 25, 27, 30, 32, 35, 37, 40, 42, 45 및 47로 압축된 HEVC 표준 테스트 시퀀스에 대하여 원본 HEVC를 기준으로 사용하고, VRCNN, DACD 방식과 왜곡 제거 장치(10)의 PSNR(Peak Signal to Noise Ratio) 성능이 비교될 수 있다. 비교를 위해서 HEVC 표준 테스트 시퀀스는 학습에 사용되지 않고, QP 값 25, 30, 35, 40 및 45는 학습에 사용되지 않을 수 있다.The original HEVC is used as a reference for the HEVC standard test sequence compressed with QP = 22, 25, 27, 30, 32, 35, 37, 40, 42, 45 and 47, and the VRCNN, ) Can be compared with the performance of PSNR (Peak Signal to Noise Ratio). For comparison, the HEVC standard test sequence is not used for learning, and the QP values 25, 30, 35, 40 and 45 may not be used for learning.

도 12a 내지 12f의 PSNR 그래프는 LIVE1 검증 데이터세트에 대한 6 개의 왜곡 제거 서브네트워크의 PSNR 학습 곡선을 나타낼 수 있다. 인덱스가 작은 서브 네트워크는 초기 학습 단계에서 QP 값이 작은 학습 데이터로 학습되어 낮은 압축 결과물에 초점을 맞출 수 있다. The PSNR graphs of FIGS. 12A-12F may represent PSNR learning curves of six distortion-canceling subnetworks for the LIVE1 validation data set. A sub-network with a small index can be learned by learning data with a small QP value in the initial learning stage, thereby focusing on low compression results.

제1 서브 네트워크부터 제6 서브네트워크 인덱스에 대하여 0.91dB, 0.8dB, 0.62dB, 0.56dB, 0.46dB 및 0.33dB의 PSNR 향상이 있음을 확인할 수 있다. 즉, 서브 네트워크의 PSNR 성능이 제1 네트워크에서부터 제6 네트워크로 갈수록 감소됨을 알 수 있다.It can be seen that there is a PSNR improvement of 0.91dB, 0.8dB, 0.62dB, 0.56dB, 0.46dB and 0.33dB for the first subnetwork to the sixth subnetwork index. That is, it can be seen that the PSNR performance of the subnetwork decreases from the first network to the sixth network.

이것은 서브 네트워크가 동일한 네트워크 구조를 갖고, 더 높은 인덱스 값을 갖는 서브 네트워크가 더 작은 인덱스를 갖는 다른 네트워크 보다 더 큰 압축 왜곡을 갖는 보다 어려운 CAR 문제를 학습하기 때문일 수 있다.This may be because subnetworks have the same network structure and subnetworks with higher index values learn more difficult CAR problems with greater compression distortion than other networks with smaller indexes.

HEVC는 52 개의 가능한 다른 QP 값으로 양자화된 가변 블록 크기의 TU를 사용하기 때문에 하나의 단일 모델이 다양한 압축 왜곡 타입 및 왜곡 수준에 대해 압축 왜곡의 제거를 학습하게 하는 것이 어려울 수 있다.Because the HEVC uses a variable block size TU quantized with 52 possible different QP values, it can be difficult for one single model to learn the removal of compression distortion for various compression distortion types and distortion levels.

왜곡 제거 장치(10)는 압축 왜곡의 수준에 따라 복수의 서브 네트워크에 대해 다양한 압축 왜곡을 제거하도록 학습시킴으로써 압축 왜곡 문제를 보다 잘 처리할 수 있다.The distortion removal apparatus 10 can better handle the compression distortion problem by learning to eliminate various compression distortions for a plurality of subnetworks according to the level of compression distortion.

압축 효율을 평가하기 위해서 휘도(luminance) 채널(Y)과 색차(chrominance) 채널(U, V) 각각에 대해 BD(Bjø)-레이트가 계산될 수 있다. 휘도 학습 데이터에 대해 학습된 서브 네트워크가 색차 데이터에 적용될 수 있다. BD 레이트는 표 1과 같이 나타낼 수 있다.In order to evaluate the compression efficiency, a BD (Bjø) -rate can be calculated for each of a luminance channel (Y) and a chrominance channel (U, V). The learned sub-network for the luminance learning data can be applied to the color difference data. The BD rate can be expressed as shown in Table 1.

SequenceSequence YY UU VV Class BClass B KimonoKimono -8.8%-8.8% -4.8%-4.8% -2.9%-2.9% ParkSceneParkScene -7.3%-7.3% -4.1%-4.1% -1.9%-1.9% CactusCactus -8.9%-8.9% -5.7%-5.7% -12.6%-12.6% BasketballDriveBasketballDrive -5.4%-5.4% -11.5%-11.5% -16.2%-16.2% BQTerraceBQTerrace -5.3%-5.3% -4.3%-4.3% -2.5%-2.5% AverageAverage -7.1%-7.1% -6.1%-6.1% -7.2%-7.2% Class CClass C BasketballDrillBasketballDrill -14.6%-14.6% -18.0%-18.0% -20.2%-20.2% BQMallBQMall -9.5%-9.5% -7.6%-7.6% -8.6%-8.6% PartyScenePartyScene -6.9%-6.9% -7.0%-7.0% -7.9%-7.9% RaceHorsesRaceHorses -6.0%-6.0% -10.0%-10.0% -12.9%-12.9% AverageAverage -9.2%-9.2% -10.6%-10.6% -12.4%-12.4% Class DClass D BasketballPassBasketballPass -9.9%-9.9% -10.0%-10.0% -16.0%-16.0% BQSquareBQSquare -8.2%-8.2% -1.9%-1.9% -5.3%-5.3% BlowingBubblesBlowingBubbles -7.8%-7.8% -8.6%-8.6% -10.0%-10.0% RaceHorsesRaceHorses -10.4%-10.4% -12.1%-12.1% -13.8%-13.8% AverageAverage -9.1%-9.1% -8.2%-8.2% -11.3%-11.3% Class EClass E FourPeopleFourPeople -8.2%-8.2% -7.4%-7.4% -7.3%-7.3% JohnnyJohnny -10.8%-10.8% -10.5%-10.5% -7.6%-7.6% KristenAndSaraKristenandSara -10.5%-10.5% -9.5%-9.5% -7.8%-7.8% AverageAverage -9.9%-9.9% -9.1%-9.1% -7.6%-7.6% Total AveragesTotal Averages -8.7%-8.7% -8.3%-8.3% -9.6%-9.6%

표 1을 참조하면, 모든 테스트 시퀀스에서 왜곡 제거 장치(10)가 BD 레이트가 감소되었음을 확인할 수 있다. 휘도 채널에 대해서만 네트워크를 학습시켰지만, 색차 채널에서의 BD-레이트 향상을 확인할 수 있다.Referring to Table 1, it can be confirmed that the distortion elimination device 10 has decreased the BD rate in all the test sequences. Although the network is learned only for the luminance channel, the BD-rate improvement in the chrominance channel can be confirmed.

왜곡 제거 장치(10)는 모든 시퀀스의 Y, U 및 V 채널에 대해 평균 8.7%, 8.3% 및 9.6%의 BD레이트 감소를 달성했고, 특히 BasketballDrill 시퀀스의 Y, U 및 V 채널에 대해서는 평균 14.6%, 18.0% 및 20.2%의 BD레이트 감소를 달성했음을 확인할 수 있다.Distortion eliminator 10 achieved an average of 8.7%, 8.3% and 9.6% BD rate reduction for the Y, U and V channels of all sequences and an average of 14.6% for the Y, U and V channels of the BasketballDrill sequence, , 18.0%, and 20.2%, respectively.

도 13a는 압축 전 데이터의 일 예를 나타내고, 도 13b는 HEVC 압축된 데이터의 일 예를 나타낸다.13A shows an example of the data before compression, and FIG. 13B shows an example of HEVC compressed data.

도 13c는 DCAD에 의해 왜곡이 제거된 데이터의 일 예를 나타내고, 도 13d는 도 1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 일 예를 나타낸다.FIG. 13C shows an example of data in which distortion is removed by DCAD, and FIG. 13D shows an example of data in which distortion is removed by the distortion elimination apparatus shown in FIG.

도 14a는 압축 전 데이터의 다른 예를 나타내고, 도 14b는 HEVC 압축된 데이터의 다른 예를 나타낸다.Fig. 14A shows another example of the data before compression, and Fig. 14B shows another example of HEVC compressed data.

도 14c는 DCAD에 의해 왜곡이 제거된 데이터의 다른 예를 나타내고, 도 14d는 도1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 다른 예를 나타낸다.Fig. 14C shows another example of data whose distortion has been removed by DCAD, and Fig. 14D shows another example of data whose distortion is removed by the distortion elimination apparatus shown in Fig.

도 15a는 압축 전 데이터의 또 다른 예를 나타내고, 도 15b는 HEVC 압축된 데이터의 또 다른 예를 나타낸다.Fig. 15A shows another example of the data before compression, and Fig. 15B shows another example of HEVC compressed data.

도 15c는 DCAD에 의해 왜곡이 제거된 데이터의 또 다른 예를 나타내고, 도 15d는 도1에 도시된 왜곡 제거 장치에 의해 왜곡이 제거된 데이터의 또 다른 예를 나타낸다.Fig. 15C shows another example of data with distortion removed by DCAD, and Fig. 15D shows another example of data with distortion removed by the distortion removal apparatus shown in Fig.

도 13a 내지 도 15d를 참조하면, 왜곡 제거 장치(10)의 압축 효율이 BD-레이트 측면에서 VRCN과 DCAD 방식과 비교될 수 있다. 표 2는 QP 세트 1과 QP 세트 2에서의 HEVC 부호화 Y 채널 테스트 시퀀스에 대한 VRCNN, DCAD 및 왜곡 제거 장치(10)의 BD-레이트 성능을 나타낼 수 있다.13A to 15D, the compression efficiency of the distortion removal apparatus 10 can be compared with the VRCN and the DCAD scheme in terms of the BD-rate. Table 2 shows the BD-rate performance of the VRCNN, DCAD, and distortion removal apparatus 10 for the HEVC encoded Y channel test sequences in QP set 1 and QP set 2.

SequencesSequences QP Set 1-1:{22, 27, 32, 37}QP Set 1-1: {22, 27, 32, 37} QP Set 1-2:{32, 37, 42, 47}QP Set 1-2: {32, 37, 42, 47} QP Set 2:{25, 30, 35, 40}QP Set 2: {25, 30, 35, 40} VRCNN
[11]
VRCNN
[11]
DCAD
[18]
DCAD
[18]
왜곡제거장치Distortion eliminator VRCNN
[11]
VRCNN
[11]
DCAD
[18]
DCAD
[18]
왜곡제거장치Distortion eliminator VRCNN
[11]
VRCNN
[11]
DCAD
[18]
DCAD
[18]
왜곡제거장치Distortion eliminator
Class BClass B -3.9%-3.9% -5.8%-5.8% -7.1%-7.1% -5.3%-5.3% -8.2%-8.2% -10.0%-10.0% -4.1%-4.1% -6.3%-6.3% -8.4%-8.4% Class CClass C -5.3%-5.3% -7.6%-7.6% -9.2%-9.2% -7.8%-7.8% -10.7%-10.7% -13.7%-13.7% -6.4%-6.4% -8.8%-8.8% -11.2%-11.2% Class DClass D -5.1%-5.1% -7.3%-7.3% -9.1%-9.1% -8.1%-8.1% -10.7%-10.7% -13.3%-13.3% -6.2%-6.2% -8.4%-8.4% -10.5%-10.5% Class EClass E -7.4%-7.4% -11.0%-11.0% -9.9%-9.9% -7.9%-7.9% -11.7%-11.7% -13.5%-13.5% -7.3%-7.3% -11.0%-11.0% -12.2%-12.2% OverallOverall -5.2%-5.2% -7.6%-7.6% -8.7%-8.7% -7.1%-7.1% -10.1%-10.1% -12.4%-12.4% -5.8%-5.8% -8.3%-8.3% -10.3%-10.3%

QP 값의 한 세트는 학습에 사용된 22, 27, 32, 37, 42 및 47을 포함하고, 다른 세트는 학습에 사용되지 않은 다른 값들(25, 30, 35, 40 및 45)을 포함할 수 있다.One set of QP values includes 22, 27, 32, 37, 42 and 47 used in the learning and the other set can include other values (25, 30, 35, 40 and 45) have.

왜곡 제거 장치(10)는 QP 세트 1로 압축된 데이터를 학습하기 위한 단일 모델로 학습될 수 있고, QP 세트 1과 QP 세트 2로 HEVC 압축된 테스트 시퀀스에 대해 테스트될 수 있다.Distortion eliminator 10 can be learned in a single model for learning data compressed with QP set 1 and tested for HEVC compressed test sequences with QP set 1 and QP set 2.

반면, VRCNN과 DCAD는 QP세트 1의 특정 QP 값에 전용의 다중 모델로 별도로 학습될 수 있고, 각각의 모델은 QP 세트 1과 QP 세트 2를 사용하여 HEVC 압축된 테스트 시퀀스에 대해 개별적으로 테스트될 수 있다.On the other hand, VRCNN and DCAD can be separately learned with multiple models dedicated to specific QP values of QP set 1, and each model is tested separately for HEVC compressed test sequences using QP set 1 and QP set 2 .

QP 세트 2의 경우 VRCNN 및 DCAD는 가장 가까운 QP가 잇는 학습된 모델을 사용하여 테스트될 수 있다. 예를 들어, QP=27인 학습 모델은 QP=25에 대해 테스트될 수 있다.For QP set 2, VRCNN and DCAD can be tested using the learned model with the closest QP. For example, a learning model with QP = 27 can be tested for QP = 25.

표 2에서 확인할 수 있듯이, 왜곡 제거 장치(10)는 QP 세트 1-1, QP 세트 1-2 및 QP 세트 2에 대해 각각 평균 8.7%, 12.4% 및 10.3%의 BD 레이트 개선을 달성할 수 있다. 특히 왜곡 제거 장치(10)의 BD-레이트 향상은 QP 세트 1-2의 VRCNN 및 DCAD보다 각각 5.3% 및 2.3% 높다는 것을 확인할 수 있다.As can be seen in Table 2, the distortion eliminator 10 can achieve a BD rate improvement of 8.7%, 12.4% and 10.3% on average for QP set 1-1, QP set 1-2 and QP set 2, respectively . In particular, it can be seen that the BD-rate improvement of the distortion eliminator 10 is 5.3% and 2.3% higher than the VRCNN and DCAD of the QP set 1-2, respectively.

표 3은 HEVC로 압축된 테스트 시퀀스의 선택 서브 네트워크의 오류율(error rate)을 나타낼 수 있다. Table 3 shows the error rate of the selected sub-network of the test sequence compressed with HEVC.

Top-1 ErrorTop-1 Error Top-2 ErrorTop-2 Error Top-3 ErrorTop-3 Error Selector sub-networkSelector sub-network 31.17%31.17% 11.41%11.41% 3.02%3.02%

선택 서브 네트워크가 압축 왜곡을 갖는 입력 패치에 대해 가장 적절한 서브 네트워크를 선택할 수 없지만, 결과적인 BD-레이트 손실은 중요하지 않을 수 있다. 즉, 선택 서브 네트워크의 선택 문제는 종래의 분류 문제와 상이할 수 있다.Although the selected subnetwork can not select the most appropriate subnetwork for the input patches with compression distortion, the resulting BD-rate loss may not be significant. That is, the selection problem of the selected sub-network may be different from the conventional classification problem.

선택 서브 네트워크에 의해 탑-2/또는 탑-3 오류를 통해 선택된 서브 네트워크는 최상의 서브 네트워크는 아닐지라도, 압축 왜곡을 효과적으로 감소시킬 수 있다. 도 13a 내지 도 15d는 DCAD와 왜곡 제거 장치(10)에 의해 QP 값이 32, 40, 47인 HEVC 압축 비디오 프레임의 복원된 프레임의 품질을 비교한 결과를 나타낼 수 있다.The sub-network selected by the selected sub-network via the top-2 / or top-3 error can effectively reduce the compression distortion, even if it is not the best sub-network. FIGS. 13A to 15D show the results of comparing the quality of reconstructed frames of HEVC compressed video frames having QP values of 32, 40, and 47 by the DCAD and distortion removing apparatus 10. FIG.

HEVC 압축된 비디오 프레임은 블로킹 및 링잉 아티팩트와 같은 압축 왜곡을 포함할 수 있다. 도 13a 내지 도 15d를 통해서, 왜곡 제거 장치(10)가 DCAD에 비해 압축 왜곡을 보다 효과적으로 감소시킨다는 것을 확인할 수 있다. 이것은 왜곡 제거 장치(10)가 복수의 서브 네트워크를 통해 적절하게 훈련되어 32, 40 및 47의 QP 값에 대해 DCAD를 능가하기 때문일 수 잇다.HEVC compressed video frames may contain compression distortions such as blocking and ringing artifacts. 13A to 15D, it can be seen that the distortion removing apparatus 10 more effectively reduces the compression distortion as compared with the DCAD. This may be because the distortion eliminator 10 is properly trained over a plurality of subnetworks to outperform DCAD for the QP values of 32, 40 and 47.

왜곡 제거 장치(10)의 BD-레이트 성능을 분석하기 위해 서로 다른 QP 값에 대해 서브 네트워크를 선택하는 빈도를 확인할 수 있다. 표 4는 HEVC로 압축된 테스트 시퀀스의 각 QP 값에 대해 선택된 서브 네트워크의 백분율을 나타낼 수 있다.In order to analyze the BD-rate performance of the distortion eliminator 10, it is possible to confirm the frequency of selecting a sub-network for different QP values. Table 4 can represent the percentage of the selected subnetwork for each QP value of the HEVC compressed test sequence.

QPQP 왜곡 제거 장치Distortion eliminator sub-net.
#1
sub-net.
#One
sub-net.
#2
sub-net.
#2
sub-net.
#3
sub-net.
# 3
sub-net.
#4
sub-net.
#4
sub-net.
#5
sub-net.
# 5
sub-net.
#6
sub-net.
# 6
BypassBypass
2222 52.1%52.1% 17.3%17.3% 3.1%3.1% 00 00 00 27.6%27.6% 2727 6.4%6.4% 55.0%55.0% 34.1%34.1% 0.1%0.1% 00 00 4.3%4.3% 3232 00 0.3%0.3% 70.9%70.9% 28.8%28.8% 00 00 00 3737 00 00 0.5%0.5% 75.3%75.3% 22.6%22.6% 1.6%1.6% 00 4242 00 00 00 0.1%0.1% 50.0%50.0% 44.9%44.9% 00 4747 00 00 00 00 00 99.6%99.6% 00

표 4를 참조하면, 더 작은 인덱스 번호를 갖는 서브 네트워크는 더 작은 QP 값들에 대해 가장 큰 선택 백분율을 가지고, 대각 셀들을 따르는 백분율들이 높은 값을 가질 수 있다. 이는 초기 학습 단계에서 낮은 QP 값을 갖는 낮은 인덱스 값의 서브 네트워크가 학습되고, 그 후 전이 학습 단계에서 압축 왜곡 수준에 따라 학습되기 때문일 수 있다.Referring to Table 4, a subnetwork with a smaller index number has the largest selection percentage for smaller QP values, and the percentages along diagonal cells can have a higher value. This may be because subnetworks with low index values with low QP values are learned in the initial learning phase and then learned according to the compression distortion level in the transition learning step.

표 4의 바이패스(bypass)는 낮은 QP 값으로 압축된 입력 패치가 더 작은 압축 왜곡을 갖는 경향이 있으므로, 선택 서브 네트워크에 의하여 바이패스 결정을 유도하기 때문에 낮은 QP 값에 대한 높은 비율을 나타냄을 알 수 있다.Bypass in Table 4 shows a high ratio of low QP values because the input patches compressed to low QP values tend to have smaller compression distortions and thus induce bypass decisions by the selected sub-network Able to know.

표 4의 결과를 참조하면, 특정 QP 값에 대해 학습된 네트워크가 테스트 시퀀스의 동일한 QP 값에 대해 최상의 압축 왜곡 제거를 수행하지 않을 수 있다. 즉, 높은 QP 값의 학습 이미지로 학습된 네트워크는 낮은 QP 값의 학습 이미지로 학습된 다른 네트워크보다 압축 왜곡을 더 잘 감소시킬 수 있다.Referring to the results in Table 4, the learned network for a particular QP value may not perform the best compression distortion removal for the same QP value of the test sequence. That is, a network learned with a learning image with a high QP value can more effectively reduce compression distortion than another learning network with a learning image with a low QP value.

따라서, 특정 QP 값에 대해 학습된 전용 단일 모델은 다른 압축 왜곡 수준에 대해 학습된 하나의 통합 모델보다 효과적이지 않을 수 있다. 또한, 바이패스 경로는 특정 HEVC 압축된 입력 패치에 압축 왜곡이 거의 없기 때문에 왜곡 제거 장치(10)에 있어서 중요한 요소일 수 있고, 이 경우, 서브 네트워크를 통과하지 않고 출력 패치를 바이패스 경로로 인가하는 것이 유리할 수 있다.Thus, a dedicated single model learned for a particular QP value may not be as effective as one integrated model learned for different compression distortion levels. In addition, the bypass path may be an important factor in the distortion eliminator 10 because there is little compression distortion in a particular HEVC compressed input patch. In this case, May be advantageous.

도 16은 도 1에 도시된 왜곡 제거 장치와 종래 기술들의 PSNR 성능의 비교 결과를 나타낸다.16 shows a comparison result of PSNR performance between the distortion elimination apparatus shown in FIG. 1 and the prior art.

도 16을 참조하면, 성능 일관성(consistency)를 확인하기 위해 다양한 QP 값에 대하여 추가 실험이 수행될 수 있다. 도 16은 11가지 QP 값에서 HEVC 압축된 Y 채널 테스트 시퀀스에 대한 VRCNN, DCAD 및 왜곡 제거 장치(10)의 PSNR 개선을 나타낼 수 있다.Referring to Figure 16, further experiments may be performed on various QP values to ascertain performance consistency. FIG. 16 may show PSNR improvement of VRCNN, DCAD, and distortion removal apparatus 10 for HEVC compressed Y channel test sequences at 11 QP values.

도 16의 그래프와 같이, 왜곡 제거 장치(10)는 QP=22를 제외한 모든 QP 값에서 일관된 성능으로 가장 높은 PSNR 성능을 나타내고, QP=22에서 학습된 DCAD는 평균 0.2753dB 향상을 보인 반면 왜곡 제거 장치(10)는 0.2539dB로 아주 약간의 차이를 보임을 확인할 수 있다.16, the distortion canceling apparatus 10 exhibits the highest PSNR performance with consistent performance at all QP values except QP = 22, while DCAD learned at QP = 22 shows an improvement of 0.2753 dB on the average, while distortion elimination It can be seen that the device 10 shows a slight difference of 0.2539 dB.

특정 QP 값에 대해 훈련된 VRCNN 및 DCAD가 유사한 QP 값에 대해 상대적을 높은 PSNR 성능을 나타내지만, PSNR 성능은 학습에 사용된 QP 값과 상이한 QP 값에 대해서는 상당이 떨어진다는 것을 확인할 수 있다.It can be seen that although the VRCNN and DCAD trained for a particular QP value exhibit a high PSNR performance relative to similar QP values, the PSNR performance is significantly less for the QP values used for learning than for the QP values.

QP=22에서 압축된 테스트 시퀀스의 경우, QP=47에서 학습된 DCAD는 6.9dB의 상당한 성능저하를 나타낼 수 있다. 도 16의 QP=22에서 학습된 DCAD가 CAR에 대해 소량의 압축 왜곡으로 압축된 입력을 덜 변경하도록 학습되었기 때문일 수 있다.For a compressed test sequence at QP = 22, the learned DCAD at QP = 47 may exhibit a significant performance degradation of 6.9 dB. The learned DCAD at QP = 22 in FIG. 16 may have been learned to change the input compressed to a small amount of compression distortion for CAR.

반면, 왜곡 제거 장치(10)는 특정 QP 값에 대해서만 학습된 것이 아니고, 압축 왜곡에 의한 왜곡 수준에 따라 모든 QP 값에 대해 학습되었기 때문에 모든 QP 값에 대해 일관된 PSNR 향상을 보일 수 있다.On the other hand, the distortion eliminator 10 is not only learned for a specific QP value, but can also show a consistent improvement in PSNR for all QP values because it is learned for all QP values according to distortion levels due to compression distortion.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (18)

입력 데이터를 수신하는 단계;
뉴럴 네트워크로 상기 입력 데이터의 왜곡의 정도를 판별하고, 상기 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택하는 단계; 및
상기 적어도 하나의 경로로 상기 입력 데이터를 인가함으로써 상기 왜곡을 제거하는 단계
를 포함하고,
상기 바이패스 및 상기 복수의 서브 네트워크 각각은 서로 다른 왜곡 정도에 대응하는 독립적인 경로인 왜곡 제거 방법.
Receiving input data;
Determining a degree of distortion of the input data with a neural network, and selecting at least one path among bypass and a plurality of subnetworks based on the degree of distortion; And
Removing said distortion by applying said input data to said at least one path
Lt; / RTI &gt;
Wherein the bypass and the plurality of subnetworks are independent paths corresponding to different degrees of distortion.
제1항에 있어서,
상기 수신하는 단계는,
상이한 양자화 파라미터(quantization parameter) 값에 의해 압축된 복수의 입력 데이터를 수신하는 단계
를 포함하는 왜곡 제거 방법.
The method according to claim 1,
Wherein the receiving comprises:
Receiving a plurality of input data compressed by a different quantization parameter value
/ RTI &gt;
제1항에 있어서,
상기 선택하는 단계는,
상기 입력 데이터를 패치 블록 단위로 분할하는 단계;
상기 패치 블록의 압축 왜곡의 양, 압축 왜곡 타입, 압축 타입 및 양자화 파라미터 중 적어도 하나에 기초하여 상기 패치 블록의 카테고리를 분류하는 단계; 및
상기 카테고리에 기초하여 상기 적어도 하나의 경로를 선택하는 단계
를 포함하는 왜곡 제거 방법.
The method according to claim 1,
Wherein the selecting comprises:
Dividing the input data into patch blocks;
Classifying the category of the patch block based on at least one of an amount of compression distortion of the patch block, a compression distortion type, a compression type, and a quantization parameter; And
Selecting the at least one route based on the category
/ RTI &gt;
제3항에 있어서,
상기 적어도 하나의 경로를 선택하는 단계는,
상기 바이패스 및 상기 복수의 서브 네트워크의 출력을 비교하여 상기 왜곡이 가장 적은 경로를 선택하는 단계
를 포함하는 왜곡 제거 방법.
The method of claim 3,
Wherein the selecting of the at least one path comprises:
Comparing the outputs of the bypass and the plurality of subnetworks to select a path having the least distortion;
/ RTI &gt;
제3항에 있어서,
상기 선택하는 단계는,
선택된 경로를 출력하도록 상기 뉴럴 네트워크를 학습시키는 단계
를 더 포함하는 왜곡 제거 방법.
The method of claim 3,
Wherein the selecting comprises:
Learning the neural network to output the selected path
Further comprising:
제1항에 있어서,
상기 복수의 서브 네트워크 중 적어도 하나는 잔차 블록(residual block)을 포함하는 컨벌루션 뉴럴 네트워크로 구현되는
왜곡 제거 방법.
The method according to claim 1,
At least one of the plurality of subnetworks is implemented as a convolution neural network including a residual block
How to remove distortion.
제3항에 있어서,
상기 제거하는 단계는,
상기 적어도 하나의 경로로 상기 패치 블록을 통과시켜 상기 왜곡을 제거하는 단계; 및
왜곡이 제거된 패치 블록으로부터 왜곡이 제거된 입력 데이터를 생성하는 단계
를 포함하는 왜곡 제거 방법.
The method of claim 3,
Wherein the removing comprises:
Passing the patch block through the at least one path to remove the distortion; And
Generating input data from which distortion has been removed from the patch block from which distortion has been removed;
/ RTI &gt;
제7항에 있어서,
상기 패치 블록을 통과시켜 상기 왜곡을 제거하는 단계는,
상기 적어도 하나의 경로에 기초하여 상기 패치 블록의 카테고리 정보를 생성하는 단계
를 포함하는 왜곡 제거 방법.
8. The method of claim 7,
Wherein the step of passing the patch block to remove the distortion comprises:
Generating category information of the patch block based on the at least one path
/ RTI &gt;
제1항에 있어서,
상기 복수의 서브 네트워크는,
상기 입력 데이터의 부호화 타입에 따라 상이하게 학습된
왜곡 제거 방법.
The method according to claim 1,
Wherein the plurality of sub-
And the difference between the input data and the input data
How to remove distortion.
입력 데이터를 수신하는 수신기; 및
뉴럴 네트워크로 상기 입력 데이터의 왜곡의 정도를 판별하고, 상기 왜곡의 정도에 기초하여 바이패스(bypass) 및 복수의 서브 네트워크 중에서 적어도 하나의 경로를 선택하고, 상기 적어도 하나의 경로로 상기 입력 데이터를 인가함으로써 상기 왜곡을 제거하는 프로세서
를 포함하고,
상기 바이패스 및 상기 복수의 서브 네트워크 각각은 서로 다른 왜곡 정도에 대응하는 독립적인 경로인 왜곡 제거 장치.
A receiver for receiving input data; And
The method comprising the steps of: determining a degree of distortion of the input data by a neural network; selecting at least one path from a bypass and a plurality of subnetworks based on the degree of distortion; A processor that removes the distortion by applying
Lt; / RTI &gt;
Wherein the bypass and the plurality of subnetworks are independent paths corresponding to different degrees of distortion.
제10항에 있어서,
상기 수신기는,
상이한 양자화 파라미터(quantization parameter) 값에 의해 압축된 복수의 입력 데이터를 수신하는
왜곡 제거 장치.
11. The method of claim 10,
The receiver includes:
A method for receiving a plurality of input data compressed by different quantization parameter values
Distortion eliminator.
제10항에 있어서,
상기 프로세서는,
상기 입력 데이터를 패치 블록 단위로 분할하고, 상기 패치 블록의 압축 왜곡의 양, 압축 왜곡 타입, 압축 타입 및 양자화 파라미터 중 적어도 하나에 기초하여 상기 패치 블록의 카테고리를 분류하고, 상기 카테고리에 기초하여 상기 적어도 하나의 경로를 선택하는
왜곡 제거 장치.
11. The method of claim 10,
The processor comprising:
Classifying the category of the patch block based on at least one of a compression distortion amount, a compression distortion type, a compression type, and a quantization parameter of the patch block, dividing the input data by a patch block unit, Select at least one path
Distortion eliminator.
제12항에 있어서,
상기 프로세서는,
상기 바이패스 및 상기 복수의 서브 네트워크의 출력을 비교하여 상기 왜곡이 가장 적은 경로를 선택하는
를 포함하는 왜곡 제거 장치.
13. The method of claim 12,
The processor comprising:
And comparing the outputs of the bypass and the plurality of subnetworks to select a path having the least distortion
.
제12항에 있어서,
상기 프로세서는,
선택된 경로를 출력하도록 상기 뉴럴 네트워크를 학습시키는
왜곡 제거 장치.
13. The method of claim 12,
The processor comprising:
Learning the neural network to output the selected path
Distortion eliminator.
제10항에 있어서,
상기 복수의 서브 네트워크 중 적어도 하나는 잔차 블록(residual block)을 포함하는 컨벌루션 뉴럴 네트워크로 구현되는
왜곡 제거 장치.
11. The method of claim 10,
At least one of the plurality of subnetworks is implemented as a convolution neural network including a residual block
Distortion eliminator.
제12항에 있어서,
상기 프로세서는,
상기 적어도 하나의 경로로 상기 패치 블록을 통과시켜 상기 왜곡을 제거하고, 왜곡이 제거된 패치 블록으로부터 왜곡이 제거된 입력 데이터를 생성하는
왜곡 제거 장치.
13. The method of claim 12,
The processor comprising:
Passing the patch block through the at least one path to remove the distortion, and generating input data from which the distortion is removed from the distorted patch block
Distortion eliminator.
제16항에 있어서,
상기 프로세서는,
상기 적어도 하나의 경로에 기초하여 상기 패치 블록의 카테고리 정보를 생성하는
왜곡 제거 장치.
17. The method of claim 16,
The processor comprising:
And generates category information of the patch block based on the at least one path
Distortion eliminator.
제10항에 있어서,
상기 복수의 서브 네트워크는,
상기 입력 데이터의 부호화 타입에 따라 상이하게 학습된
왜곡 제거 장치.
11. The method of claim 10,
Wherein the plurality of sub-
And the difference between the input data and the input data
Distortion eliminator.
KR1020180155090A 2017-12-06 2018-12-05 Artifact reduction method and apparatus KR101998036B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170166988 2017-12-06
KR1020170166988 2017-12-06

Publications (2)

Publication Number Publication Date
KR20190067107A KR20190067107A (en) 2019-06-14
KR101998036B1 true KR101998036B1 (en) 2019-07-08

Family

ID=66846732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180155090A KR101998036B1 (en) 2017-12-06 2018-12-05 Artifact reduction method and apparatus

Country Status (1)

Country Link
KR (1) KR101998036B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210074228A (en) * 2019-12-11 2021-06-21 한국전자기술연구원 A method and apparatus for encoding/decoding deep neural network model
US20220222505A1 (en) * 2021-01-11 2022-07-14 Tencent America LLC Multi-task neural network by micro-structured parameter sharing for multi-quality loop filter

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597968B2 (en) * 2009-07-01 2014-10-01 ソニー株式会社 Image processing apparatus and method, program, and recording medium
US9008180B2 (en) * 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
KR102276339B1 (en) * 2014-12-09 2021-07-12 삼성전자주식회사 Apparatus and method for training convolutional neural network for approximation of convolutional neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUKAS CAVIGELLI ET AL., ‘CAS-CNN: A Deep Convolutaional Neural Network for Image Compression Artifact Suppression’, Cornell University, 8pages, 2016.11.22.*

Also Published As

Publication number Publication date
KR20190067107A (en) 2019-06-14

Similar Documents

Publication Publication Date Title
KR100265722B1 (en) Image processing method and apparatus based on block
CN107197260A (en) Video coding post-filter method based on convolutional neural networks
CN108028920A (en) The method and device of the middle-and-high-ranking block elimination filtering of coding and decoding video
Li et al. CNN based post-processing to improve HEVC
JPH05304610A (en) Method and device for decoding picture data
WO2023274074A1 (en) Systems and methods for image filtering
CN105791877A (en) Adaptive loop filter method in video coding and decoding
CN112738511B (en) Fast mode decision method and device combined with video analysis
CN111885280B (en) Hybrid convolutional neural network video coding loop filtering method
EP3541076A1 (en) Error resilient rate distortion optimization for image and video encoding
KR101998036B1 (en) Artifact reduction method and apparatus
Zhang et al. Reducing blocking artifacts in compressed images via transform-domain non-local coefficients estimation
Zhang et al. Efficient CTU-based intra frame coding for HEVC based on deep learning
KR20210134556A (en) Apparatus and method for intra-prediction based video encoding or decoding
KR102648464B1 (en) Method and apparatus for image enhancement using supervised learning
CN112188217A (en) JPEG compressed image decompression effect removing method combining DCT domain and pixel domain learning
Lee et al. CNN-based approach for visual quality improvement on HEVC
KR102245682B1 (en) Apparatus for compressing image, learning apparatus and method thereof
CN112954350B (en) Video post-processing optimization method and device based on frame classification
Zhao et al. Content adaptive image de-blocking
JP7141007B2 (en) Encoding device, encoding method and program
Li et al. A neural network lifting based secondary transform for improved fully scalable image compression in jpeg 2000
JP7075012B2 (en) Image processing device, image processing method and image processing program
Lanz et al. Scalable lossless coding of dynamic medical CT data using motion compensated wavelet lifting with denoised prediction and update
Neethu et al. Improved quality of JPEG compressed image using approximate K-SVD algorithm

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant