KR102508428B1 - Method and apparatus for encoding and decoding video - Google Patents
Method and apparatus for encoding and decoding video Download PDFInfo
- Publication number
- KR102508428B1 KR102508428B1 KR1020180018803A KR20180018803A KR102508428B1 KR 102508428 B1 KR102508428 B1 KR 102508428B1 KR 1020180018803 A KR1020180018803 A KR 1020180018803A KR 20180018803 A KR20180018803 A KR 20180018803A KR 102508428 B1 KR102508428 B1 KR 102508428B1
- Authority
- KR
- South Korea
- Prior art keywords
- noise
- information
- encoding
- video signal
- post
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
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
인코딩 장치가 개시된다. 인코딩 장치는, 통신부, 노이즈 모델이 저장된 메모리, 및 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하고, 현재 블록 및 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행하고, 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하고, 예측 블록에 대응되는 노이즈 메타데이터 및 인코딩 영상 신호를 포함하는 스트림을 통신부를 통해 디코딩 장치로 출력하는 프로세서를 포함한다.An encoding device is disclosed. The encoding apparatus obtains a prediction block for encoding corresponding to a current block of an input image based on a communication unit, a memory in which a noise model is stored, and a noise model, and obtains a difference signal obtained based on a difference between the current block and the prediction block. and a processor for performing quantization on , encoding the quantized differential signal to obtain an encoded video signal, and outputting a stream including noise metadata corresponding to a prediction block and the encoded video signal to a decoding device through a communication unit.
Description
본 발명은 인코딩, 디코딩 방법 및 장치에 대한 것으로, 더욱 상세하게는 영상의 노이즈를 고려하는 인코딩, 디코딩 방법 및 장치에 대한 것이다.The present invention relates to an encoding and decoding method and apparatus, and more particularly, to an encoding and decoding method and apparatus considering noise of an image.
최근 UHD(Ultra High Definition) 영상과 같은 고해상도의 영상이 보급되고 있으며, 전자 기술의 발달로 영상에 대한 후처리 성능이 향상되었다.Recently, high-resolution images such as UHD (Ultra High Definition) images have been popularized, and post-processing performance of images has improved with the development of electronic technology.
고해상도의 영상을 제공하기 위해서는 고효율의 영상 압축 기술이 필요함에 따라 이에 대한 연구 및 개발이 활발하게 진행되고 있는 실정이다.In order to provide a high-resolution image, high-efficiency image compression technology is required, and thus research and development are being actively conducted.
다만, 기존의 영상 압축 기술은 영상에 대한 전자 장치의 후처리 성능을 고려하지 않은 채, 인코딩 및 디코딩 알고리즘에 대한 연구 및 개발에만 집중되는 문제가 있었다.However, existing image compression technologies have a problem in that they focus only on research and development of encoding and decoding algorithms without considering post-processing performance of electronic devices for images.
그에 따라, 영상에 대한 인코딩 시에 전자 장치의 후처리 성능을 고려하고, 불필요한 인코딩 및 디코딩 과정을 생략하여 처리 속도, 성능을 향상시킬 필요성이 대두되었다.Accordingly, a need has arisen to improve processing speed and performance by considering the post-processing performance of an electronic device when encoding an image and omitting unnecessary encoding and decoding processes.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 전자 장치의 후처리를 고려하여 인코딩을 수행하는 인코딩, 디코딩 방법 및 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made in accordance with the above-described needs, and an object of the present invention is to provide an encoding and decoding method and apparatus for performing encoding in consideration of post-processing of an electronic device.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 인코딩 장치는 통신부, 노이즈 모델이 저장된 메모리, 상기 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하고, 상기 현재 블록 및 상기 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행하고, 상기 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하고, 상기 예측 블록에 대응되는 노이즈 메타데이터 및 상기 인코딩 영상 신호를 포함하는 스트림을 상기 통신부를 통해 디코딩 장치로 출력하는 프로세서를 포함하며, 상기 노이즈 모델은, 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이다.An encoding apparatus according to an embodiment of the present invention for achieving the above object obtains a prediction block for encoding corresponding to a current block of an input image based on a communication unit, a memory in which a noise model is stored, and the noise model, Quantization is performed on a difference signal obtained based on a difference between a current block and the prediction block, encoding of the quantized difference signal is performed to obtain an encoded video signal, and noise metadata corresponding to the prediction block and the encoded video are obtained. and a processor outputting a stream including a signal to a decoding device through the communication unit, and the noise model is obtained by learning a noise post-processing process based on a plurality of sample images.
여기서, 상기 노이즈 모델은, 상기 복수의 샘플 영상 각각의 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함하고, 상기 프로세서는, 상기 노이즈 패턴 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득할 수 있다.Here, the noise model includes noise pattern information according to at least one of a different coding unit (CU) size, a coding index, and a bit rate of a coding coefficient of each of the plurality of sample images, The processor may obtain the prediction block corresponding to the current block based on the noise pattern information.
여기서, 상기 프로세서는, 상기 현재 블록에 포함된 노이즈 정보 중 상기 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 예측 블록을 획득하고, 상기 노이즈 메타데이터는, 상기 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함할 수 있다.Here, the processor obtains a prediction block retaining noise information corresponding to the noise pattern information among the noise information included in the current block, and the noise metadata includes noise information corresponding to the noise pattern information. can do.
또한, 상기 노이즈 패턴 정보는, 상기 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 상기 처리 가능한 노이즈에 대한 정보는, 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함할 수 있다.The noise pattern information includes at least one of information on processable noise learned based on each of the plurality of sample images and information on intensity of the processable noise, and the information on processable noise is , ringing noise, flickering noise, blocking noise, and blurring noise.
또한, 상기 프로세서는, 상기 통신부를 통해 상기 디코딩 장치에 대한 정보가 수신되면, 상기 노이즈 모델 및 상기 디코딩 장치에 대한 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득할 수 있다.Also, when the information on the decoding device is received through the communication unit, the processor may obtain the prediction block corresponding to the current block based on the noise model and the information on the decoding device.
또한, 상기 프로세서는, 상기 복수의 샘플 영상에 CNN(Convolution Neural Network)을 수행하여 상기 노이즈 모델을 획득할 수 있다.In addition, the processor may obtain the noise model by performing a convolution neural network (CNN) on the plurality of sample images.
한편, 본 개시의 일 실시 예에 따른 전자 장치는, 통신부 및 인코딩 장치로부터 인코딩 영상 신호 및 노이즈 메타데이터가 상기 통신부를 통해 수신되면, 상기 인코딩 영상 신호를 디코딩하고, 상기 노이즈 메타데이터에 기초하여 상기 디코딩된 영상 신호에 후처리를 수행하는 프로세서를 포함하며, 상기 인코딩 영상 신호는, 노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호이고, 상기 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이며, 상기 프로세서는, 상기 디코딩된 영상 신호에서 상기 노이즈 메타데이터에 포함된 상기 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 상기 후처리를 수행한다.Meanwhile, when an encoded video signal and noise metadata are received from a communication unit and an encoding device through the communication unit, the electronic device according to an embodiment of the present disclosure decodes the encoded video signal, and based on the noise metadata, the electronic device A processor that performs post-processing on a decoded video signal, wherein the encoded video signal is an encoded video signal in a state in which noise information preset in an original video based on a noise model is maintained, and the noise model includes a plurality of A noise post-processing process is learned based on the sample image, and the processor performs the post-processing by filtering noise corresponding to the predetermined noise information included in the noise metadata in the decoded image signal.
여기서, 상기 노이즈 메타데이터는, 노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 상기 프로세서는, 상기 노이즈 메타데이터에 기초하여 디코딩된 영상에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행할 수 있다.Here, the noise metadata includes at least one of information on noise that can be processed in a noise post-processing process and information on the strength of the noise that can be processed, and the processor performs a decoded image based on the noise metadata. At least one of ringing noise filtering, flickering noise filtering, blocking noise filtering, and blurring noise filtering may be performed.
또한, 전자 장치는 디스플레이를 더 포함하고, 상기 프로세서는, 상기 후처리가 수행된 영상을 상기 디스플레이를 통해 제공할 수 있다.In addition, the electronic device may further include a display, and the processor may provide the post-processed image through the display.
한편, 본 개시의 일 실시 예에 따른 노이즈 모델이 저장된 인코딩 장치의 인코딩 방법은 상기 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하는 단계, 상기 현재 블록 및 상기 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행하는 단계, 상기 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하는 단계 및 상기 예측 블록에 대응되는 노이즈 메타데이터 및 상기 인코딩 영상 신호를 포함하는 스트림을 디코딩 장치로 출력하는 단계를 포함하고, 상기 노이즈 모델은, 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이다.Meanwhile, an encoding method of an encoding device storing a noise model according to an embodiment of the present disclosure includes obtaining a prediction block for encoding corresponding to a current block of an input image based on the noise model, the current block and the prediction block. Performing quantization on a difference signal obtained based on a difference between blocks, encoding the quantized difference signal to obtain an encoded video signal, and noise metadata corresponding to the prediction block and the encoded video signal. and outputting the stream to a decoding device, wherein the noise model is learned through a noise post-processing process based on a plurality of sample images.
여기서, 상기 노이즈 모델은, 상기 복수의 샘플 영상 각각의 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함하고, 상기 예측 블록을 획득하는 단계는, 상기 노이즈 패턴 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득할 수 있다.Here, the noise model includes noise pattern information according to at least one of a different coding unit (CU) size, a coding index, and a bit rate of a coding coefficient of each of the plurality of sample images, In the obtaining of the prediction block, the prediction block corresponding to the current block may be obtained based on the noise pattern information.
또한, 상기 예측 블록을 획득하는 단계는, 상기 현재 블록에 포함된 노이즈 정보 중 상기 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 예측 블록을 획득하고, 상기 노이즈 메타데이터는, 상기 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함할 수 있다.In addition, the obtaining of the prediction block may include obtaining a prediction block maintaining noise information corresponding to the noise pattern information among the noise information included in the current block, and the noise metadata corresponding to the noise pattern information. noise information may be included.
또한, 상기 노이즈 패턴 정보는, 상기 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 상기 처리 가능한 노이즈에 대한 정보는, 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함할 수 있다.The noise pattern information includes at least one of information on processable noise learned based on each of the plurality of sample images and information on intensity of the processable noise, and the information on processable noise is , ringing noise, flickering noise, blocking noise, and blurring noise.
또한, 상기 예측 블록을 획득하는 단계는, 상기 디코딩 장치에 대한 정보가 수신되면, 상기 노이즈 모델 및 상기 디코딩 장치에 대한 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득할 수 있다.In the obtaining of the prediction block, when the information on the decoding device is received, the prediction block corresponding to the current block may be obtained based on the noise model and the information on the decoding device.
또한, 상기 복수의 샘플 영상에 CNN(Convolution Neural Network)을 수행하여 상기 노이즈 모델을 획득하는 단계를 더 포함할 수 있다.The method may further include acquiring the noise model by performing a convolution neural network (CNN) on the plurality of sample images.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 디코딩 방법은 인코딩 장치로부터 인코딩 영상 신호 및 노이즈 메타데이터를 수신하는 단계, 상기 인코딩 영상 신호를 디코딩하는 단계 및 상기 노이즈 메타데이터에 기초하여 상기 디코딩된 영상 신호에 후처리를 수행하는 단계를 포함하고, 상기 인코딩 영상 신호는, 노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호이고, 상기 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이며, 상기 후처리를 수행하는 단계는, 상기 디코딩된 영상 신호에서 상기 노이즈 메타데이터에 포함된 상기 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 상기 후처리를 수행할 수 있다.Meanwhile, a decoding method of an electronic device according to an embodiment of the present disclosure includes receiving an encoded video signal and noise metadata from an encoding device, decoding the encoded video signal, and decoding the encoded video signal based on the noise metadata. and performing post-processing on the video signal, wherein the encoded video signal is an encoded video signal in a state in which noise information preset in an original video is maintained based on a noise model, and the noise model is a plurality of sample images. A noise post-processing process is learned based on, and the performing of the post-processing is performed by filtering noise corresponding to the predetermined noise information included in the noise metadata in the decoded video signal to perform the post-processing. can be done
여기서, 상기 노이즈 메타데이터는, 노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 상기 후처리를 수행하는 단계는, 상기 노이즈 메타데이터에 기초하여 디코딩된 영상에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행할 수 있다.Here, the noise metadata includes at least one of information on noise that can be processed in a noise post-processing process and information on the strength of the noise that can be processed, and the performing of the post-processing includes the noise metadata Based on the decoded image, at least one of ringing noise filtering, flickering noise filtering, blocking noise filtering, and blurring noise filtering may be performed.
또한, 상기 후처리가 수행된 영상을 디스플레이를 통해 제공하는 단계를 더 포함할 수 있다.The method may further include providing the post-processed image through a display.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 전자 장치의 후처리에 따라 필터링 가능한 노이즈는 그대로 유지하여 인코딩 및 디코딩 시 요구되는 시간 및 자원을 최소화하고, 성능 및 화질을 향상시킬 수 있다.According to various embodiments of the present invention as described above, it is possible to minimize time and resources required for encoding and decoding, and improve performance and image quality by maintaining filterable noise according to post-processing of the electronic device.
도 1은 본 개시의 일 실시 예에 따른 인코딩 장치를 설명하기 위한 블록도이다.
도 2는 본 개시의 이해를 돕기 위한 인코딩 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 노이즈 모델을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 5는 본 개시의 이해를 돕기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 6은 본 개시의 일 실시 예에 따른 인코딩 장치의 인코딩 방법을 설명하기 위한 흐름도이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 디코딩 방법을 설명하기 위한 흐름도이다.1 is a block diagram for explaining an encoding apparatus according to an embodiment of the present disclosure.
2 is a block diagram showing the configuration of an encoding device to aid understanding of the present disclosure.
3 is a block diagram for explaining a noise model according to an embodiment of the present disclosure.
4 is a block diagram for explaining an electronic device according to an embodiment of the present disclosure.
5 is a block diagram showing the configuration of an electronic device to help understanding of the present disclosure.
6 is a flowchart illustrating an encoding method of an encoding apparatus according to an embodiment of the present disclosure.
7 is a flowchart illustrating a decoding method of an electronic device according to an embodiment of the present disclosure.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the embodiments of the present disclosure have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. . In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the disclosure. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of technology disclosed. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. Terms are only used to distinguish one component from another.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "consist of" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other It should be understood that the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof is not precluded.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In the present disclosure, a “module” or “unit” performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software. In addition, a plurality of "modules" or a plurality of "units" are integrated into at least one module and implemented by at least one processor (not shown), except for "modules" or "units" that need to be implemented with specific hardware. It can be.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. And in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
도 1은 본 개시의 일 실시 예에 따른 인코딩 장치를 설명하기 위한 블록도이다.1 is a block diagram for explaining an encoding apparatus according to an embodiment of the present disclosure.
도 1에 도시된 바와 같이, 인코딩 장치(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함한다.As shown in FIG. 1 , the
인코딩 장치(100)는 영상을 인코딩하여 다른 신호 형태로 변경하는 장치이다. 여기서, 영상은 복수의 프레임으로 구성되어 있으며, 각 프레임은 복수의 픽셀을 포함할 수 있다. 일 예로, 인코딩 장치(100)는 가공되지 않은 원본 영상을 압축하기 위한 장치일 수 있다. 다만, 이에 한정되는 것은 아니며 인코딩 장치(100)는 기 인코딩된 영상을 다른 신호 형태로 변경하는 장치일 수도 있다.The
특히, 인코딩 장치(100)는 영상을 구성하는 각 프레임을 복수의 블록으로 구분하여 인코딩을 수행할 수 있다. 인코딩 장치(100)는 블록 단위로 시간적 또는 공간적 예측, 변환, 양자화, 필터링, 엔트로피 인코딩 등을 거쳐 인코딩을 수행할 수 있다.In particular, the
일 실시 예에 따라, 인코딩 장치(100)는 통신부(110)를 포함한다. According to an embodiment, the
통신부(110)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 일 예로, 통신부(110)는 유/무선 LAN, WAN, 이더넷, 블루투스(Bluetooth), 지그비(Zigbee), IEEE 1394, 와이파이(Wifi) 또는 PLC(Power Line Communication) 등을 이용하여, 외부 장치와 통신을 수행할 수 있다.The
특히, 인코딩 장치(100)는 통신부(110)를 통해 영상을 수신할 수 있고, 통신부(110)를 통해 인코딩된 영상 신호를 디코딩 장치로 출력할 수 있다. 예를 들어, 통신부(110)는 디코딩 장치(200)로 노이즈 메타데이터 및 인코딩 영상 신호를 포함하는 스트림(또는, 비트 스트림) 등을 전송할 수 있다. 노이즈 메타데이터에 대한 구체적인 설명은 후술하도록 한다.In particular, the
메모리(120)는 노이즈 모델을 저장할 수 있다. 여기서, 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것일 수 있다. The
일 실시 예로, 노이즈 모델은 각각 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및 코딩 계수(Coding Coefficient)를 가지는 복수의 샘플 영상을 이용하여 기계 학습(Machine Learning)된 모델일 수 있다. 노이즈 모델은 영상에 대한 후처리를 통해 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보를 포함할 수 있다. 예를 들어, 영상에 블로킹 아티팩트(blocking artifact), 링잉 아트팩트(ringing artifact) 등이 포함되어 있는 경우를 상정할 수 있다. 인코딩 장치(100)는 영상을 인코딩함에 있어서, 아트팩트, 노이즈 등을 처리 또는 제거할 수 있다. 본 개시의 일 실시 예에 따른 인코딩 장치(100)는 영상에 대한 후처리 과정에서 처리 가능한 노이즈에 대한 정보에 기초하여 영상을 인코딩하는 과정에서 일부 노이즈는 처리 또는 제거하지 않고 인코딩할 수도 있다.As an example, the noise model may be a machine-learned model using a plurality of sample images each having a different coding unit (CU) size, coding index, and coding coefficient. The noise model may include information on noise that can be processed through post-processing of the image and information on the intensity of noise that can be processed. For example, it may be assumed that a blocking artifact, a ringing artifact, and the like are included in an image. The
노이즈 모델은 영상의 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함할 수 있고, 노이즈 패턴 정보는 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 노이즈 모델은 복수의 샘플 영상에 CNN(Convolution Neural Network, 컨볼루션 신경망) 학습(training)을 수행하여 획득된 모델일 수 있다. 여기서, CNN은 음성처리, 이미지 처리 등을 위해 고안된 특수한 연결구조를 가진 다층신경망이다. The noise model may include noise pattern information according to at least one of a coding unit (CU) size of an image, a coding index, and a bit rate of coding coefficients, and the noise pattern information is a plurality of sample images It may include at least one of information about the processable noise and information about the strength of the processable noise learned based on each. For example, the noise model may be a model obtained by performing Convolution Neural Network (CNN) training on a plurality of sample images. Here, CNN is a multilayer neural network with a special connection structure designed for voice processing and image processing.
일 실시 예에 따라, 처리 가능한 노이즈에 대한 정보는, 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함할 수 있다. According to an embodiment, information on processable noise may include at least one of ringing noise, flickering noise, blocking noise, and blurring noise. there is.
메모리(120)는 인코딩 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 인코딩 알고리즘, 노이즈 모델, CNN 학습 모듈 등과 같이 다양한 데이터를 저장한다.The
메모리(120)는 프로세서(130)에 포함된 롬(ROM), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(130)와 별도의 메모리로 구현될 수도 있다. 이 경우, 메모리(120)는 데이터 저장 용도에 따라 인코딩 장치(100)에 임베디드된 메모리 형태로 구현되거나, 인코딩 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 인코딩 장치(100)의 구동을 위한 데이터의 경우 인코딩 장치(100)에 임베디드된 메모리에 저장되고, 인코딩 장치(100)의 확장 기능을 위한 데이터의 경우 인코딩 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 인코딩 장치(100)에 임베디드된 메모리의 경우 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등과 같은 형태로 구현되고, 인코딩 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, micro SD 카드, USB 메모리 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.The
프로세서(130)는 인코딩 장치(100)의 동작을 전반적으로 제어한다.The
일 실시 예에 따라 프로세서(130)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.According to an embodiment, the
일 실시 예에 따른 프로세서(130)는 메모리(120)에 저장된 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득할 수 있다.The
노이즈 모델은 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함할 수 있다. 예를 들어, 노이즈 모델은 CU 크기에 따라 후처리 과정에서 처리 가능한 노이즈 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 노이즈 패턴 정보로 포함할 수 있다.The noise model may include noise pattern information according to at least one of a coding unit (CU) size, a coding index, and a bit rate of coding coefficients. For example, the noise model may include, as noise pattern information, at least one of processable noise and information about the strength of processable noise in a post-processing process according to the size of the CU.
노이즈 모델은 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 각각이 상이한 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것일 수 있다. The noise model may be one in which a noise post-processing process is learned based on a plurality of sample images each having a different coding unit (CU) size, coding index, and coding coefficient bit rate.
프로세서(130)는 입력 영상의 현재 블록의 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따라 노이즈 패턴 정보를 획득할 수 있다. 여기서, 노이즈 패턴 정보는 현재 블록에 대한 후처리 시에 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 현재 블록에 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나가 포함되어 있다면, 후처리 시에 서로 다른 노이즈 각각에 대해 처리 가능한지 여부 및 서로 다른 노이즈 각각에 대해 처리 가능한 강도에 대한 정보가 포함되어 있을 수 있다.The
프로세서(130)는 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하고, 현재 블록 및 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행할 수 있다.The
일 실시 예에 따른 프로세서(130)는 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하고, 예측 블록에 대응되는 노이즈 메타데이터 및 인코딩 영상 신호를 디코딩 장치로 출력할 수 있다.The
여기서, 예측 블록에 대응되는 노이즈 메타데이터는 노이즈 패턴 정보에 기초하여 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보를 포함할 수 있다. Here, the noise metadata corresponding to the prediction block may include information on noise that can be processed based on noise pattern information and information on the intensity of noise that can be processed.
일 예로, 프로세서(130)는 현재 블록의 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따라, 현재 블록에 대한 후처리 시에 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하는 노이즈 패턴 정보를 획득하고, 획득된 노이즈 패턴 정보에 기초하여 예측 블록을 획득할 수 있다. 노이즈 메타데이터는 획득된 노이즈 패턴 정보 또는 예측 블록에 기초하여 현재 블록에 대한 후처리 시에 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함할 수 있다.For example, the
예를 들어, 프로세서(130)는 현재 블록에 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따라 플리커링 노이즈(flickering noise)에 대한 처리 가능 여부 및 처리 가능 강도에 대한 정보(또는, 노이즈 패턴 정보)를 획득하고, 획득된 정보에 기초하여 예측 블록 및 노이즈 메타데이터를 획득할 수 있다.For example, the
여기서, 예측 블록은 현재 블록에 포함된 노이즈 정보 중 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 블록일 수 있다. 예를 들어, 현재 블록에 대응되는 노이즈 패턴 정보에 따라 디코딩 장치에서 후처리 시에 링잉 노이즈(ringing noise)를 처리할 수 있다면, 인코딩 장치(100)는 링잉 노이즈는 그대로 유지하는 예측 블록에 기초하여 인코딩을 수행할 수 있다. 이에 따라, 인코딩 장치(100)는 디코딩 장치에서 처리 가능한 노이즈 및 처리 가능한 노이즈 강도를 고려하여 인코딩을 수행할 수 있다. 인코딩 장치(100)는 입력 영상에서 디코딩 장치가 처리 가능한 노이즈에 대해서는 그대로 유지하여 인코딩하므로, 인코딩 속도를 감소시킬 수 있고, 인코딩 시 요구되는 자원을 효율적으로 활용할 수 있다. 예측 블록 및 인코딩 과정에 대한 구체적인 설명은 도 2에서 하도록 한다.Here, the prediction block may be a block that retains noise information corresponding to noise pattern information among noise information included in the current block. For example, if the decoding device can process ringing noise during post-processing according to the noise pattern information corresponding to the current block, the
본 개시의 일 실시 예에 따른 프로세서(130)는 통신부(110)를 통해 디코딩 장치에 대한 정보가 수신되면, 노이즈 모델 및 디코딩 장치에 대한 정보에 기초하여 현재 블록에 대응되는 예측 블록을 획득할 수 있다.When information on the decoding device is received through the
노이즈 모델은 디코딩 장치의 후처리 성능을 고려하지 않은, 복수의 샘플 영상에 기초하여 학습된 모델일 수 있다. 이에 따라, 노이즈 모델은 디코딩 장치를 특정하지 않은 채 일반적인 디코딩 장치에서 후처리 시에 처리 가능한 노이즈 및 처리 가능한 노이즈 강도에 대한 정보를 노이즈 패턴 정보로 포함할 수 있다. 본 개시의 일 실시 예에 따른 인코딩 장치(100)는 디코딩 장치에 대한 정보를 수신하고, 수신된 정보 및 노이즈 모델에 기초하여 예측 블록을 획득할 수도 있다. 여기서, 디코딩 장치에 대한 정보는 디코딩 장치가 후처리 시에 처리 가능한 노이즈 및 노이즈 강도에 대한 정보를 포함할 수 있다.The noise model may be a model learned based on a plurality of sample images without considering the post-processing performance of the decoding device. Accordingly, the noise model may include, as noise pattern information, information about processable noise and processable noise strength during post-processing in a general decoding apparatus without specifying the decoding apparatus. The
한편, 도 1은 인코딩 장치(100)가 통신 기능 및 제어 기능 등과 같은 기능을 구비한 장치인 경우를 예로 들어, 각종 구성 요소들을 간략하게 도시한 것이다. 따라서, 실시 예에 따라서는, 도 1에 도시된 구성 요소 중 일부는 생략 또는 변경될 수도 있고, 다른 구성 요소가 더 추가될 수도 있음은 물론이다.Meanwhile, FIG. 1 briefly illustrates various components by taking the case where the
도 2는 본 개시의 이해를 돕기 위한 인코딩 장치(100)의 구성을 나타내는 블록도이다.2 is a block diagram showing the configuration of the
도 2에 도시된 바와 같이, 인코딩 장치(100)는 노이즈 모델(211), 움직임 예측부(212), 움직임 보상부(212), 인트라 예측부(220), 스위치(215), 감산기(225), 변환부(230), 양자화부(240), 엔트로피 부호화부(250), 역양자화부(260), 역변환부(270), 가산기(275), 필터부(280) 및 참조 영상 버퍼(290)를 포함한다.As shown in FIG. 2 , the
인코딩 장치(100)는 입력 영상의 각 프레임을 복수의 블록으로 구분하여 인코딩을 수행할 수 있다. 인코딩 장치(100)는 블록 단위로 시간적 또는 공간적 예측, 변환, 양자화, 필터링, 엔트로피 인코딩 등을 거쳐 인코딩을 수행할 수 있다.The
예측은 인코딩하고자 하는 현재 블록과 유사한 예측 블록을 생성하는 것을 의미한다. 여기서, 인코딩하고자 하는 블록의 단위는 코딩 트리 유닛 (CTU: Coding Tree Unit), 코딩 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit) 또는 변환 유닛 (TU: Transform Unit)일 수 있다. 다만, 이와 같은 용어들은 본 개시에 대한 설명의 편의를 위해 사용할 뿐이며, 이에 한정되는 것은 아니다.Prediction means generating a prediction block similar to the current block to be encoded. Here, the block unit to be encoded may be a Coding Tree Unit (CTU), Coding Unit (CU), Prediction Unit (PU), or Transform Unit (TU). However, these terms are only used for convenience of description of the present disclosure, and are not limited thereto.
예측은 시간적 예측 및 공간적 예측으로 구분된다. 시간적 예측은 화면 간 예측을 의미한다. 인코딩 장치(100)는 현재 인코딩하려는 영상과 상관도가 높은 일부의 참조 영상(Reference picture)을 저장하고 이를 이용하여 화면 간 예측을 수행할 수 있다. 즉, 인코딩 장치(100)는 이전 시간에 인코딩 후 디코딩된 참조 영상으로부터 예측 블록을 생성할 수 있다. 이 경우, 인코딩 장치(100)는 코딩 인덱스(Coding Index) 중 인터(Inter) 모드로 동작한다고 말한다.Prediction is divided into temporal prediction and spatial prediction. Temporal prediction means inter-screen prediction. The
인터 모드로 동작하는 경우, 움직임 예측부(211)는 참조 영상 버퍼(290)에 저장되어 있는 참조 영상에서 현재 블록과 가장 시간적 상관도가 높은 블록을 검색할 수 있다. 움직임 예측부(211)는 참조 영상을 보간(Interpolation)하여 보간된 영상에서 현재 블록과 가장 시간적 상관도가 높은 블록을 검색할 수도 있다.When operating in the inter mode, the
여기서, 참조 영상 버퍼(290)는 참조 영상을 저장하는 공간이다. 참조 영상 버퍼(290)는 화면 간 예측을 수행하는 경우에만 이용되며, 현재 인코딩하려는 영상과 상관도가 높은 일부의 참조 영상을 저장하고 있을 수 있다. 참조 영상은 후술할 차분 블록을 순차적으로 변환, 양자화, 역양자화, 역변환, 필터링하여 생성된 영상일 수 있다. 즉, 참조 영상은 인코딩 후 디코딩된 영상일 수 있다.Here, the
움직임 보상부(212)는 움직임 예측부(211)에서 찾은 현재 블록과 가장 시간적 상관도가 높은 블록에 대한 움직임 정보를 바탕으로 예측 블록을 생성할 수 있다. 여기서, 움직임 정보는 움직임 벡터, 참조 영상 인덱스 등을 포함할 수 있다.The
공간적 예측은 화면 내 예측을 의미한다. 인트라 예측부(220)는 현재 영상 내의 인코딩된 인접 픽셀들로부터 공간적 예측을 수행하여 현재 블록에 대한 예측 값을 생성할 수 있다. 이 경우, 인코딩 장치(100)는 인트라(Intra) 모드로 동작한다고 말한다.Spatial prediction means intra-picture prediction. The
인터 모드 또는 인트라 모드는 코딩 유닛(Coding Unit, CU) 단위로 결정될 수 있다. 여기서, 코딩 유닛은 적어도 하나의 예측 유닛을 포함할 수 있다. 모드가 결정되면 스위치(215)의 위치가 모드에 대응되도록 변경될 수 있다.Inter mode or intra mode may be determined in units of Coding Units (CUs). Here, the coding unit may include at least one prediction unit. When the mode is determined, the position of the
한편, 시간적 예측에서의 인코딩 후 디코딩된 참조 영상은 필터링이 적용된 영상이나, 공간적 예측에서의 인코딩 후 디코딩된 인접 픽셀들은 필터링이 적용되지 않은 픽셀들일 수 있다.Meanwhile, a reference image decoded after encoding in temporal prediction may be an image to which filtering is applied, but adjacent pixels decoded after encoding in spatial prediction may be pixels to which filtering is not applied.
감산기(225)는 타겟 블록과 시간적 예측 또는 공간적 예측으로부터 얻어진 예측 블록의 차이를 구해 차분 신호(Residual signal 또는 Residual block)을 생성할 수 있다. 차분 신호는 예측 과정에 의해서 중복성이 많이 제거된 블록일 수 있으나, 예측이 완벽하게 이루어지지 않아 인코딩해야 할 정보를 포함하는 블록일 수도 있다.The
변환부(230)는 공간적 중복성을 제거하기 위해 화면 내 또는 화면 간 예측 이후의 차분 신호를 변환하여 주파수 영역의 변환 계수를 출력할 수 있다. 이때, 변환의 단위는 변환 유닛(Transform Unit, TU)이며, 예측 유닛과는 무관하게 결정된다. 예를 들어, 복수의 차분 신호를 포함하는 프레임은 예측 유닛과는 무관하게 복수의 변환 유닛으로 분할되고, 변환부(230)는 각 변환 유닛 별로 변환을 수행할 수 있다. 변환 유닛의 분할은 비트율 최적화에 따라 결정될 수 있다.The
변환부(230)는 각 변환 유닛의 에너지를 특정 주파수 영역에 집중시키기 위해 변환을 수행할 수 있다. 예를 들어, 변환부(230)는 각 변환 유닛에 대해 DCT(Discrete Cosine Transform) 기반의 변환을 수행하여 저주파 영역으로 데이터를 집중시킬 수 있다. 또는, 변환부(230)는 DFT(Discrete Fourier Transform) 기반의 변환 또는 DST(Discrete Sine Transform) 기반의 변환을 수행할 수도 있다.The
양자화부(240)는 변환 계수에 대해 양자화를 수행하며, 변환 계수를 기설정된 수의 대표 값으로 근사화할 수 있다. 즉, 양자화부(240)는 특정 범위의 입력 값을 하나의 대표 값으로 매핑할 수 있다. 이 과정에서 사람이 잘 인지하지 못하는 고주파 신호가 제거되며, 정보의 손실이 발생할 수 있다.The
양자화부(240)는 입력 데이터의 확률 분포나 양자화의 목적에 따라 균등 양자화 및 비균등 양자화 방법 중 하나를 이용할 수 있다. 예를 들어, 양자화부(240)는 입력 데이터의 확률 분포가 균등할 때에는 균등 양자화 방법을 이용할 수 있다. 또는, 양자화부(240)는 입력 데이터의 확률 분포가 균등하지 않을 때에는 비균등 양자화 방법을 이용할 수도 있다.The
엔트로피 부호화부(250)는 양자화부(240)에서 입력된 데이터에 대해 심볼(Symbol)의 발생 확률에 따라 심볼의 길이를 가변적으로 할당하여 데이터양을 축소할 수 있다. 즉, 엔트로피 부호화부(250)는 입력된 데이터를 확률 모델을 기반으로 0과 1로 구성된 가변 길이의 비트열로 표현하여 스트림을 생성할 수 있다.The
예를 들어, 엔트로피 부호화부(250)는 높은 발생 확률을 갖는 심볼에는 적은 수의 비트를 할당하고, 낮은 발생 확률을 갖는 심볼에는 많은 수의 비트를 할당하여 입력 데이터를 표현할 수 있다. 그에 따라, 입력 데이터의 비트열의 크기가 감소될 수 있고, 영상 인코딩의 압축 성능을 향상시킬 수 있다.For example, the
엔트로피 부호화부(250)는 허프만 부호화 및 지수 골룸 부호화와 같은 가변 길이 부호화(Variable Length Coding) 또는 산술 부호화(Arithmetic Coding) 방법에 의해 엔트로피 부호화를 수행할 수 있다.The
역양자화부(260) 및 역변환부(270)는 양자화된 변환 계수를 입력받아 각각 역양자화 후 역변환을 수행하여 복원된 차분 신호를 생성할 수 있다.The
가산기(275)는 복원된 차분 신호와 시간적 예측 또는 공간적 예측으로부터 얻어진 예측 블록를 더해 복원 블록을 생성할 수 있다.The
한편,인코딩 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts) 라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다.Meanwhile, in the encoding process, adjacent blocks are quantized by different quantization parameters, and thus block boundaries may be degraded. This phenomenon is called blocking artifacts, which is one of the important factors in evaluating image quality. A filtering process may be performed to reduce this degradation.
필터부(280)는 디블록킹 필터(Deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나를 복원 영상에 적용할 수 있다. 필터링된 복원 영상은 참조 영상 버퍼(290)에 저장되어 참조 영상으로서 활용될 수 있다.The
본 개시의 일 실시 예에 따른 인코딩 장치(100)는 노이즈 모델(211)에 기초하여 열화를 줄이기 위한 필터링 과정이 수행되지 않은 참조 영상에서 현재 블록에 대응되는 예측 블록을 획득할 수도 있다.Based on the
일 예로, 블록킹 열화(blocking artifacts, 또는 blocking noise)는 디코딩 장치에서 영상에 대한 후처리 시 처리 또는 제거될 수 있다. 이에 따라, 인코딩 장치(100)는 노이즈 모델(211)에 기초하여 블록킹 열화가 존재하는 예측 블록을 획득할 수 있다.For example, blocking artifacts (or blocking noise) may be processed or removed during post-processing of an image in a decoding device. Accordingly, the
인코딩 장치(100)는 노이즈, 열화 등에 대한 필터링을 수행하지 않은 참조 영상에서 현재 블록에 대응되는 예측 블록을 획득할 수 있다. 인코딩 장치(100)는 필터링 수행 과정없이 예측 신호를 획득하고, 스트림을 출력할 수 있으므로 인코딩 시간, 인코딩에 요구되는 자원 등이 효율적으로 관리될 수 있다.The
여기서, 스트림은 노이즈 메타데이터 및 인코딩 영상 신호를 포함할 수 있다. 인코딩 영상 신호는 양자화된 차분 신호에 엔트로피 코딩하여 획득한 신호를 의미할 수 있다.Here, the stream may include noise metadata and an encoded video signal. The encoded video signal may refer to a signal obtained by entropy coding a quantized differential signal.
노이즈 메타데이터는 예측 블록에 기초한 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함할 수 있다. 예를 들어, 노이즈 메타데이터는 현재 블록의 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 기초하여 인코딩 영상 신호에 대한 디코딩을 수행하고, 디코딩 신호에 대한 후처리 시 처리 가능한 노이즈에 대한 정보 및 노이즈의 강도에 대한 정보를 포함할 수 있다.Noise metadata may include noise information corresponding to noise pattern information based on a prediction block. For example, the noise metadata performs decoding on an encoded video signal based on at least one of the size of a coding unit (CU) of a current block, a coding index, and a bit rate of coding coefficients; During post-processing of the decoded signal, information on noise that can be processed and information on the strength of the noise may be included.
한편, 움직임 예측부(212), 움직임 보상부(212), 인트라 예측부(220), 스위치(215), 감산기(225), 변환부(230), 양자화부(240), 엔트로피 부호화부(250), 역양자화부(260), 역변환부(270), 가산기(275), 필터부(280) 각각의 기능 및 동작은 프로세서(130)가 수행하는 기능 및 동작을 의미할 수도 있음은 물론이다.Meanwhile, a
도 3은 본 개시의 일 실시 예에 따른 노이즈 모델을 설명하기 위한 블록도이다.3 is a block diagram for explaining a noise model according to an embodiment of the present disclosure.
도 3에 따르면, 복수의 샘플 영상 각각은 CU(Coding Unit), QP(Quantization Parameter), 인터(Inter)/인트라(Intra) 모드 등 코딩 인덱스(Coding Index), 코딩 계수(Coding Coefficient)의 비트 율 등이 상이할 수 있다.According to FIG. 3, each of a plurality of sample images has a bit rate of coding indexes and coding coefficients such as CU (Coding Unit), QP (Quantization Parameter), Inter/Intra mode, etc. etc. may be different.
인코딩 장치(100)는 복수의 샘플 영상에 기초하여 노이즈 후처리 과정을 학습할 수 있다. 학습 결과에 따라 각 노이즈 별 처리 가능 여부 및 처리 강도에 대한 정보를 획득할 수 있다.The
예를 들어, 인코딩 장치(100)는 노이즈 중에서 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 각각에 대한 처리 가능 여부, 처리 강도 등에 대한 정보를 획득할 수 있다. 여기서, 인코딩 장치(100)가 획득한 정보는, 디코딩을 수행하는 디코딩 장치, 또는 외부 전자 장치가 영상에 후처리를 수행함에 따라 처리 가능한 노이즈 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함할 수 있다. 특정 전자 장치를 한정하는 것이 아닌, 학습 결과에 따라 불특정 전자 장치가 영상에 대한 후처리 시에 필터링 가능한 노이즈에 대한 정보를 의미할 수 있다.For example, the
인코딩 장치(100)는 학습 결과에 기초하여, 현재 블록에 따른 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따라 예측 블록을 획득할 수 있다. 여기서, 획득된 예측 블록은 학습 결과에 따라 후처리 시에 처리 또는 제거 가능한 노이즈 정보는 그대로 유지하는 예측 블록일 수 있다. 다른 예로, 학습 결과에 따라 후처리 시에 처리 또는 제거 불가능한 노이즈 정보가 현재 블록에 포함되어 있다면, 인코딩 장치(100)는 이에 대한 필터링을 수행하여 인코딩 영상 신호를 획득할 수 있다.Based on the learning result, the
본 개시의 일 실시 예에 따른 인코딩 장치(100)는 예측 블록을 획득하고, 후처리 시에 처리 또는 제거 가능한 노이즈 정보를 포함하는 노이즈 메타데이터를 획득할 수 있다.The
노이즈 메타데이터는 인코딩 영상 신호와 함께 스트림으로 디코딩 장치에 전송될 수 있다. 디코딩 장치는 노이즈 메타데이터에 기초하여 디코딩 영상 신호에 후처리(또는 필터링)을 수행할 수 있다.Noise metadata may be transmitted to a decoding device as a stream together with an encoded video signal. The decoding device may perform post-processing (or filtering) on the decoded video signal based on the noise metadata.
본 개시의 일 실시 예에 따른 인코딩 장치(100)는 복수의 샘플 영상에 CNN을 수행하고, 학습 결과에 따른 노이즈 모델을 저장할 수 있다. 여기서, CNN은 음성처리, 이미지 처리 등을 위해 고안된 특수한 연결구조를 가진 다층신경망이다. 특히, CNN은 픽셀에 전처리를 통하여 이미지를 다양하게 필터링하고, 이미지의 특성을 인식할 수 있다.The
도 4는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.4 is a block diagram for explaining an electronic device according to an embodiment of the present disclosure.
도 4에 도시된 바와 같이, 전자 장치(400)는 통신부(410) 및 프로세서(420)를 포함한다. As shown in FIG. 4 , the
전자 장치(400)는 인코딩 영상 신호에 디코딩을 수행할 수 있는 다양한 유형의 장치로 구현될 수 있다. 예를 들어, 셋톱 박스(set-top box), Blu-ray Player등으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며 디코딩된 영상 신호를 디스플레이할 수 있는 디스플레이 장치로 구현될 수도 있음은 물론이다.The
통신부(410)는 인코딩 장치(100)와 통신을 수행할 수 있다. 구체적으로, 통신부(410)는 인코딩 장치(100)로부터 스트림을 수신할 수 있다. 특히, 통신부(410)는 인코딩 영상 신호 및 노이즈 메타데이터를 수신할 수 있다.The
통신부(410)는 유/무선 LAN, WAN, 이더넷, 블루투스(Bluetooth), 지그비(Zigbee), IEEE 1394, 와이파이(Wifi) 또는 PLC(Power Line Communication) 등을 이용하여, 인코딩 장치(100)와 통신을 수행할 수 있다.The
일 실시 예에 따른 전자 장치(400)는 스피커, 디스플레이 등 출력부를 구비한 외부 전자 장치와 통신을 수행할 수 있으며, 디코딩된 영상 신호를 통신부(410)를 통해 출력부를 구비한 외부 전자 장치로 전송할 수도 있다.The
프로세서(420)는 인코딩 장치(100)로부터 인코딩 영상 신호 및 노이즈 메타데이터가 통신부(410)를 통해 수신되면, 인코딩 영상 신호를 디코딩하고, 노이즈 메타데이터에 기초하여 디코딩된 영상 신호에 후처리를 수행할 수 있다. 여기서, 인코딩 영상 신호는, 인코딩 장치(100)에서 노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호일 수 있다.When the encoded video signal and noise metadata are received from the
특히, 프로세서(420)는 디코딩된 영상 신호에서 노이즈 메타데이터에 포함된 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 후처리를 수행할 수 있다.In particular, the
여기서, 노이즈 메타데이터는, 노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함할 수 있다. 프로세서(420)는 노이즈 메타데이터에 기초하여 디코딩된 영상 신호에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행할 수 있다.Here, the noise metadata may include at least one of information on noise that can be processed in a noise post-processing process and information on the intensity of noise that can be processed. The
디스플레이(미도시)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emiiting Display, OLED), LCoS(Liquid Crystal on Silicon) 또는 DLP(Digital Light Processing) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며 이미지를 디스플레이 할 수 있는 다양한 유형의 디스플레이로 구현될 수 있음은 물론이다.Displays (not shown) are various types of displays such as liquid crystal displays (LCDs), organic light emitting displays (OLEDs), liquid crystal on silicon (LCoS), or digital light processing (DLPs). can be implemented as However, it is not limited thereto, and of course it can be implemented in various types of displays capable of displaying images.
특히, 전자 장치(400)는 디코딩된 영상 신호에 후처리를 수행하고, 후처리된 영상 신호를 디스플레이를 통해 출력할 수도 있다.In particular, the
한편, 도 4은 전자 장치(400)가 통신 기능 및 제어 기능 등과 같은 기능을 구비한 장치인 경우를 예로 들어, 각종 구성 요소들을 간략하게 도시한 것이다. 따라서, 실시 예에 따라서는, 도 4에 도시된 구성 요소 중 일부는 생략 또는 변경될 수도 있고, 다른 구성 요소가 더 추가될 수도 있다.Meanwhile, FIG. 4 simplifies various components by taking a case where the
도 5는 본 개시의 이해를 돕기 위한 전자 장치(400)의 구성을 나타내는 블록도이다.5 is a block diagram illustrating the configuration of an
도 4에 도시된 바와 같이, 전자 장치(400)는 엔트로피 복호화부(510), 역양자화부(520), 역변환부(530), 가산기(535), 인트라 예측부(540), 움직임 보상부(550), 스위치(555), 필터부(560) 및 참조 영상 버퍼(570)를 포함한다.As shown in FIG. 4 , the
전자 장치(400)는 인코딩 장치(100)에서 수신된 인코딩 영상 신호에 디코딩을 수행하여 영상을 재구성할 수 있다. 전자 장치(400)는 블록 단위로 엔트로피 복호화, 역양자화, 역변환, 필터링 등을 거쳐 디코딩을 수행할 수 있다.The
엔트로피 복호화부(510)는 입력된 스트림을 엔트로피 디코딩하여 양자화된 변환 계수를 생성할 수 있다. 이때, 엔트로피 디코딩 방법은 도 2에 엔트로피 부호화부(150)에서 이용한 방법을 역으로 적용한 방법일 수 있다.The
역양자화부(520)는 양자화된 변환 계수를 입력받아 역양자화를 수행할 수 있다. 즉, 양자화부(140) 및 역양자화부(520)의 동작에 따라 특정 범위의 입력 값이 특정 범위 내의 어느 하나의 기준 입력 값으로 변경되며, 이 과정에서 입력 값과 어느 하나의 기준 입력 값의 차이만큼의 에러가 발생할 수 있다.The
역변환부(530)는 역양자화부(520)로부터 출력된 데이터를 역변환하며, 변환부(130)에서 이용한 방법을 역으로 적용하여 역변환을 수행할 수 있다. 역변환부(530)는 역변환을 수행하여 복원된 차분 신호을 생성할 수 있다.The
가산기(535)는 복원된 차분 신호와 예측 블록을 더해 복원 블록을 생성할 수 있다. 여기서, 예측 블록은 인터 모드 또는 인트라 모드로 생성된 블록일 수 있다.The
인터 모드로 동작하는 경우, 움직임 보상부(550)는 인코딩 장치(100)로부터 디코딩하고자 하는 현재 블록에 대한 움직임 정보를 수신하여, 수신된 움직임 정보를 바탕으로 예측 블록을 생성할 수 있다. 여기서, 움직임 보상부(550)는 참조 영상 버퍼(570)에 저장되어 있는 참조 영상에서 예측 블록을 생성할 수 있다. 움직임 정보는 타겟 블록과 가장 시간적 상관도가 높은 블록에 대한 움직임 벡터, 참조 영상 인덱스 등을 포함할 수 있다.When operating in the inter mode, the
여기서, 참조 영상 버퍼(570)는 현재 디코딩하려는 영상과 상관도가 높은 일부의 참조 영상을 저장하고 있을 수 있다. 참조 영상은 상술한 복원 블록을 필터링하여 생성된 영상일 수 있다. 즉, 참조 영상은 인코딩 후 디코딩된 영상일 수 있다.Here, the
인트라 모드로 동작하는 경우, 인트라 예측부(540)는 현재 영상 내의 인코딩된 인접 픽셀들로부터 공간적 예측을 수행하여 현재 블록에 대한 예측 값을 생성할 수 있다.When operating in the intra mode, the
한편, 스위치(555)는 현재 블록의 모드에 따라 위치가 변경될 수 있다.Meanwhile, the position of the
필터부(560)는 디블록킹 필터, SAO, ALF 중 적어도 하나를 복원 영상에 적용할 수 있다. 필터링된 복원 영상은 참조 영상 버퍼(570)에 저장되어 참조 영상으로서 활용될 수 있다.The
한편, 필터부(560)는 인코딩 장치(100)로부터 수신된 노이즈 메타데이터에 기초하여 필터링을 수행할 수도 있다. 예를 들어, 인코딩 장치(100)는 노이즈 모델(211)에 기초하여 예측 블록을 획득함에 있어서, 현재 블록의 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 예측 블록 및 노이즈 메타데이터를 획득할 수 있다. 노이즈 패턴 정보는 전자 장치(400)의 디코딩된 영상 신호에 대한 후처리 시 처리 가능한 노이즈 및 노이즈의 강도에 대한 정보를 포함하고 있으므로 필터부(560)는 노이즈 메타데이터에 기초하여 인코딩 장치(100)에서 처리(또는, 제거)되지 않은 노이즈에 대해 필터링을 수행할 수 있다. Meanwhile, the
상술한 바와 같이 인코딩 장치(100)는 인코딩 과정을 통해 입력 영상을 압축하고, 압축된 영상을 전자 장치(400)로 전송할 수 있다. 전자 장치(400)는 압축된 영상을 디코딩하여 영상을 재구성할 수 있다.As described above, the
도 6은 본 개시의 일 실시 예에 따른 인코딩 장치의 인코딩 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating an encoding method of an encoding apparatus according to an embodiment of the present disclosure.
도 6에 도시된 노이즈 모델이 저장된 인코딩 장치의 인코딩 방법에 있어서, 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득한다(S610).In the encoding method of the encoding device in which the noise model shown in FIG. 6 is stored, a prediction block for encoding corresponding to a current block of an input image is obtained based on the noise model (S610).
이어서, 현재 블록 및 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행한다(S620).Subsequently, quantization is performed on the obtained differential signal based on the difference between the current block and the predicted block (S620).
이어서, 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득한다(S630).Subsequently, an encoded video signal is obtained by encoding the quantized differential signal (S630).
이어서, 예측 블록에 대응되는 노이즈 메타데이터 및 인코딩 영상 신호를 포함하는 스트림을 디코딩 장치로 출력한다(S640).Subsequently, a stream including noise metadata and an encoded video signal corresponding to the prediction block is output to the decoding device (S640).
여기서, 노이즈 모델은, 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것일 수 있다.Here, the noise model may be a noise post-processing process learned based on a plurality of sample images.
본 개시의 일 실시 예에 따른 노이즈 모델은, 복수의 샘플 영상 각각의 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함하고, 예측 블록을 획득하는 S610 단계는, 노이즈 패턴 정보에 기초하여 현재 블록에 대응되는 예측 블록을 획득할 수 있다.A noise model according to an embodiment of the present disclosure is noise pattern information according to at least one of a different coding unit (CU) size, a coding index, and a bit rate of a coding coefficient of each of a plurality of sample images Including, in step S610 of obtaining a prediction block, a prediction block corresponding to the current block may be obtained based on the noise pattern information.
또한, 예측 블록을 획득하는 S610 단계는, 현재 블록에 포함된 노이즈 정보 중 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 예측 블록을 획득하고, 여기서, 노이즈 메타데이터는, 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함할 수 있다.In addition, in step S610 of obtaining a prediction block, a prediction block that retains noise information corresponding to noise pattern information among noise information included in the current block is obtained, wherein the noise metadata is noise information corresponding to noise pattern information. information may be included.
여기서, 노이즈 패턴 정보는, 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 처리 가능한 노이즈에 대한 정보는, 링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함할 수 있다.Here, the noise pattern information includes at least one of information on processable noise learned based on each of a plurality of sample images and information on intensity of processable noise, and the information on processable noise includes ringing noise ( It may include at least one of ringing noise, flickering noise, blocking noise, and blurring noise.
일 실시 예에 따른 예측 블록을 획득하는 S610 단계는, 디코딩 장치에 대한 정보가 수신되면, 노이즈 모델 및 디코딩 장치에 대한 정보에 기초하여 현재 블록에 대응되는 예측 블록을 획득할 수 있다.In step S610 of obtaining a prediction block according to an embodiment, when information on a decoding device is received, a prediction block corresponding to the current block may be obtained based on the noise model and the information on the decoding device.
일 실시 예에 따른 인코딩 방법은 복수의 샘플 영상에 CNN(Convolution Neural Network)을 수행하여 노이즈 모델을 획득하는 단계를 더 포함할 수 있다.The encoding method according to an embodiment may further include obtaining a noise model by performing a convolution neural network (CNN) on a plurality of sample images.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 디코딩 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a decoding method of an electronic device according to an embodiment of the present disclosure.
도 7에 도시된 전자 장치의 디코딩 방법에 따르면, 인코딩 장치로부터 인코딩 영상 신호 및 노이즈 메타데이터를 수신되면, 인코딩 영상 신호를 디코딩한다(S710).According to the decoding method of the electronic device shown in FIG. 7, upon receiving the encoded video signal and the noise metadata from the encoding device, the encoded video signal is decoded (S710).
이어서, 노이즈 메타데이터에 기초하여 디코딩된 영상 신호에 후처리를 수행한다(S720).Subsequently, post-processing is performed on the decoded video signal based on the noise metadata (S720).
여기서, 인코딩 영상 신호는, 노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호이고, 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이며, 후처리를 수행하는 S720 단계는, 디코딩된 영상 신호에서 노이즈 메타데이터에 포함된 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 후처리를 수행할 수 있다.Here, the encoded video signal is an encoded video signal in a state in which noise information preset in the original video is maintained based on the noise model, and the noise model is a noise post-processing process learned based on a plurality of sample images. In step S720 of performing processing, post-processing may be performed by filtering noise corresponding to predetermined noise information included in noise metadata in the decoded video signal.
여기서, 노이즈 메타데이터는, 노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고, 후처리를 수행하는 S720 단계는, 노이즈 메타데이터에 기초하여 디코딩된 영상에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행할 수 있다.Here, the noise metadata includes at least one of processable noise information and processable noise intensity information in the noise post-processing process, and the post-processing step S720 includes decoding based on the noise metadata. At least one of ringing noise filtering, flickering noise filtering, blocking noise filtering, and blurring noise filtering may be performed on the image.
본 개시의 일 실시 예에 따른 디코딩 방법은 후처리가 수행된 영상을 디스플레이를 통해 제공하는 단계를 더 포함할 수 있다.The decoding method according to an embodiment of the present disclosure may further include providing a post-processed image through a display.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.Meanwhile, various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다. Meanwhile, computer instructions for performing processing operations according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. Computer instructions stored in such a non-transitory computer readable medium may cause a specific device to perform processing operations according to various embodiments described above when executed by a processor.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.Although the preferred embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the specific embodiments described above, and is common in the technical field belonging to the present disclosure without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications are possible by those with knowledge of, and these modifications should not be individually understood from the technical spirit or perspective of the present disclosure.
100: 인코딩 장치 110: 통신부
120: 메모리 130: 프로세서
400: 전자 장치 410: 통신부
420: 프로세서100: encoding device 110: communication unit
120: memory 130: processor
400: electronic device 410: communication unit
420: processor
Claims (18)
노이즈 모델이 저장된 메모리;
상기 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하고,
상기 현재 블록 및 상기 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행하고,
상기 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하고,
상기 예측 블록에 대응되는 노이즈 메타데이터 및 상기 인코딩 영상 신호를 포함하는 스트림을 상기 통신부를 통해 디코딩 장치로 출력하는 프로세서;를 포함하며,
상기 노이즈 모델은, 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것인, 인코딩 장치.communications department;
a memory in which a noise model is stored;
Obtaining a prediction block for encoding corresponding to a current block of an input image based on the noise model;
Perform quantization on a differential signal obtained based on a difference between the current block and the prediction block;
Encoding the quantized differential signal to obtain an encoded video signal;
A processor outputting a stream including noise metadata corresponding to the prediction block and the encoded video signal to a decoding device through the communication unit;
The noise model is one in which a noise post-processing process is learned based on a plurality of sample images.
상기 노이즈 모델은,
상기 복수의 샘플 영상 각각의 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함하고,
상기 프로세서는,
상기 노이즈 패턴 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득하는, 인코딩 장치.According to claim 1,
The noise model,
Includes noise pattern information according to at least one of a different coding unit (CU) size of each of the plurality of sample images, a coding index, and a bit rate of a coding coefficient;
the processor,
An encoding device that obtains the prediction block corresponding to the current block based on the noise pattern information.
상기 프로세서는,
상기 현재 블록에 포함된 노이즈 정보 중 상기 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 예측 블록을 획득하고,
상기 노이즈 메타데이터는,
상기 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함하는, 인코딩 장치.According to claim 2,
the processor,
Obtaining a prediction block maintaining noise information corresponding to the noise pattern information among the noise information included in the current block;
The noise metadata,
Encoding device comprising noise information corresponding to the noise pattern information.
상기 노이즈 패턴 정보는,
상기 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고,
상기 처리 가능한 노이즈에 대한 정보는,
링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함하는, 인코딩 장치.According to claim 2,
The noise pattern information,
Includes at least one of information on processable noise learned based on each of the plurality of sample images and information on intensity of the processable noise;
Information on the processable noise,
An encoding device comprising at least one of ringing noise, flickering noise, blocking noise, and blurring noise.
상기 프로세서는,
상기 통신부를 통해 상기 디코딩 장치에 대한 정보가 수신되면, 상기 노이즈 모델 및 상기 디코딩 장치에 대한 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득하는, 인코딩 장치.According to claim 1,
the processor,
When information on the decoding device is received through the communication unit, the prediction block corresponding to the current block is obtained based on the noise model and the information on the decoding device.
상기 프로세서는,
상기 복수의 샘플 영상에 CNN(Convolution Neural Network)을 수행하여 상기 노이즈 모델을 획득하는, 인코딩 장치. According to claim 1,
the processor,
An encoding device for obtaining the noise model by performing a convolution neural network (CNN) on the plurality of sample images.
통신부; 및
인코딩 장치로부터 인코딩 영상 신호 및 노이즈 메타데이터가 상기 통신부를 통해 수신되면, 상기 인코딩 영상 신호를 디코딩하고, 상기 노이즈 메타데이터에 기초하여 상기 디코딩된 영상 신호에 후처리를 수행하는 프로세서;를 포함하며,
상기 인코딩 영상 신호는,
노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호이고,
상기 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이며,
상기 프로세서는,
상기 디코딩된 영상 신호에서 상기 노이즈 메타데이터에 포함된 상기 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 상기 후처리를 수행하는, 전자 장치.In electronic devices,
communications department; and
When an encoding video signal and noise metadata are received from an encoding device through the communication unit, a processor that decodes the encoded video signal and performs post-processing on the decoded video signal based on the noise metadata;
The encoded video signal,
Noise information preset in the original video based on the noise model is an encoded video signal while being maintained,
The noise model is learned through a noise post-processing process based on a plurality of sample images,
the processor,
The electronic device performs the post-processing by filtering noise corresponding to the predetermined noise information included in the noise metadata in the decoded video signal.
상기 노이즈 메타데이터는,
노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고,
상기 프로세서는,
상기 노이즈 메타데이터에 기초하여 디코딩된 영상에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행하는, 전자 장치.According to claim 7,
The noise metadata,
Including at least one of information about noise that can be processed in a noise post-processing process and information about the intensity of the noise that can be processed;
the processor,
At least one of ringing noise filtering, flickering noise filtering, blocking noise filtering, and blurring noise filtering is performed on the decoded image based on the noise metadata to do, electronic devices.
디스플레이;를 더 포함하고,
상기 프로세서는,
상기 후처리가 수행된 영상을 상기 디스플레이를 통해 제공하는, 전자 장치.According to claim 7,
further comprising a display;
the processor,
An electronic device that provides the post-processed image through the display.
상기 노이즈 모델에 기초하여 입력 영상의 현재 블록에 대응되는 인코딩을 위한 예측 블록을 획득하는 단계;
상기 현재 블록 및 상기 예측 블록 간 차이에 기초하여 획득된 차분 신호에 대한 양자화를 수행하는 단계;
상기 양자화된 차분 신호를 인코딩하여 인코딩 영상 신호를 획득하는 단계; 및
상기 예측 블록에 대응되는 노이즈 메타데이터 및 상기 인코딩 영상 신호를 포함하는 스트림을 디코딩 장치로 출력하는 단계;를 포함하고,
상기 노이즈 모델은, 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것인, 인코딩 방법.In the encoding method of the encoding device in which the noise model is stored,
obtaining a prediction block for encoding corresponding to a current block of an input image based on the noise model;
performing quantization on a differential signal obtained based on a difference between the current block and the prediction block;
encoding the quantized differential signal to obtain an encoded video signal; and
And outputting a stream including noise metadata corresponding to the prediction block and the encoded video signal to a decoding device,
The noise model is one in which a noise post-processing process is learned based on a plurality of sample images.
상기 노이즈 모델은,
상기 복수의 샘플 영상 각각의 상이한 CU(Coding Unit) 크기, 코딩 인덱스(Coding Index) 및, 코딩 계수(Coding Coefficient)의 비트율 중 적어도 하나에 따른 노이즈 패턴 정보를 포함하고,
상기 예측 블록을 획득하는 단계는,
상기 노이즈 패턴 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득하는, 인코딩 방법.According to claim 10,
The noise model,
Includes noise pattern information according to at least one of a different coding unit (CU) size of each of the plurality of sample images, a coding index, and a bit rate of a coding coefficient;
Obtaining the prediction block,
Acquiring the prediction block corresponding to the current block based on the noise pattern information.
상기 예측 블록을 획득하는 단계는,
상기 현재 블록에 포함된 노이즈 정보 중 상기 노이즈 패턴 정보에 대응되는 노이즈 정보는 유지하는 예측 블록을 획득하고,
상기 노이즈 메타데이터는,
상기 노이즈 패턴 정보에 대응되는 노이즈 정보를 포함하는, 인코딩 방법.According to claim 11,
Obtaining the prediction block,
Obtaining a prediction block retaining noise information corresponding to the noise pattern information among the noise information included in the current block;
The noise metadata,
Encoding method comprising noise information corresponding to the noise pattern information.
상기 노이즈 패턴 정보는,
상기 복수의 샘플 영상 각각에 기초하여 학습된 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고,
상기 처리 가능한 노이즈에 대한 정보는,
링잉 노이즈(ringing noise), 플리커링 노이즈(flickering noise), 블로킹 노이즈(blocking noise) 및 블러링 노이즈(blurring noise) 중 적어도 하나를 포함하는, 인코딩 방법.According to claim 11,
The noise pattern information,
Includes at least one of information on processable noise learned based on each of the plurality of sample images and information on intensity of the processable noise;
Information on the processable noise,
An encoding method comprising at least one of ringing noise, flickering noise, blocking noise, and blurring noise.
상기 예측 블록을 획득하는 단계는,
상기 디코딩 장치에 대한 정보가 수신되면, 상기 노이즈 모델 및 상기 디코딩 장치에 대한 정보에 기초하여 상기 현재 블록에 대응되는 상기 예측 블록을 획득하는, 인코딩 방법.According to claim 10,
Obtaining the prediction block,
If the information on the decoding device is received, obtaining the prediction block corresponding to the current block based on the noise model and the information on the decoding device.
상기 복수의 샘플 영상에 CNN(Convolution Neural Network)을 수행하여 상기 노이즈 모델을 획득하는 단계;를 더 포함하는, 인코딩 방법. According to claim 10,
Acquiring the noise model by performing a convolution neural network (CNN) on the plurality of sample images; further comprising the encoding method.
인코딩 장치로부터 인코딩 영상 신호 및 노이즈 메타데이터를 수신하는 단계;
상기 인코딩 영상 신호를 디코딩하는 단계; 및
상기 노이즈 메타데이터에 기초하여 상기 디코딩된 영상 신호에 후처리를 수행하는 단계;를 포함하고,
상기 인코딩 영상 신호는,
노이즈 모델에 기초하여 원본 영상에서 기설정된 노이즈 정보는 유지된 상태로 인코딩된 영상 신호이고,
상기 노이즈 모델은 복수의 샘플 영상에 기초하여 노이즈 후처리 과정이 학습된 것이며,
상기 후처리를 수행하는 단계는,
상기 디코딩된 영상 신호에서 상기 노이즈 메타데이터에 포함된 상기 기설정된 노이즈 정보에 대응되는 노이즈를 필터링하여 상기 후처리를 수행하는, 디코딩 방법.In the decoding method of the electronic device,
Receiving an encoding video signal and noise metadata from an encoding device;
decoding the encoded video signal; and
Performing post-processing on the decoded video signal based on the noise metadata;
The encoded video signal,
Noise information preset in the original video based on the noise model is an encoded video signal while being maintained,
The noise model is learned through a noise post-processing process based on a plurality of sample images,
In the post-processing step,
The decoding method of performing the post-processing by filtering noise corresponding to the predetermined noise information included in the noise metadata from the decoded video signal.
상기 노이즈 메타데이터는,
노이즈 후처리 과정에서 처리 가능한 노이즈에 대한 정보 및 상기 처리 가능한 노이즈의 강도에 대한 정보 중 적어도 하나를 포함하고,
상기 후처리를 수행하는 단계는,
상기 노이즈 메타데이터에 기초하여 디코딩된 영상에 링잉 노이즈(ringing noise) 필티링, 플리커링 노이즈(flickering noise) 필터링, 블로킹 노이즈(blocking noise) 필터링 및 블러링 노이즈(blurring noise) 필터링 중 적어도 하나를 수행하는, 디코딩 방법.According to claim 16,
The noise metadata,
Including at least one of information about noise that can be processed in a noise post-processing process and information about the intensity of the noise that can be processed;
In the post-processing step,
At least one of ringing noise filtering, flickering noise filtering, blocking noise filtering, and blurring noise filtering is performed on the decoded image based on the noise metadata , decoding method.
상기 후처리가 수행된 영상을 디스플레이를 통해 제공하는 단계;를 더 포함하는, 디코딩 방법.
According to claim 16,
Further comprising, a decoding method comprising: providing the image on which the post-processing has been performed through a display.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180018803A KR102508428B1 (en) | 2018-02-14 | 2018-02-14 | Method and apparatus for encoding and decoding video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180018803A KR102508428B1 (en) | 2018-02-14 | 2018-02-14 | Method and apparatus for encoding and decoding video |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190098634A KR20190098634A (en) | 2019-08-22 |
KR102508428B1 true KR102508428B1 (en) | 2023-03-09 |
Family
ID=67766828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180018803A KR102508428B1 (en) | 2018-02-14 | 2018-02-14 | Method and apparatus for encoding and decoding video |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102508428B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118145B (en) * | 2021-11-15 | 2023-04-07 | 北京林业大学 | Method and device for reducing noise of modulation signal, storage medium and equipment |
WO2023205144A1 (en) * | 2022-04-19 | 2023-10-26 | Dolby Laboratories Licensing Corporation | Metadata-aided removal of film grain |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08149466A (en) * | 1994-09-30 | 1996-06-07 | Sanyo Electric Co Ltd | Moving image processing method and processor therefor |
-
2018
- 2018-02-14 KR KR1020180018803A patent/KR102508428B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190098634A (en) | 2019-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6929907B2 (en) | Video coding and decoding device using abbreviated coding and its method | |
US20220286707A1 (en) | Method and apparatus for image encoding/decoding | |
US10469876B2 (en) | Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel | |
US11375237B2 (en) | Method and apparatus for image encoding/decoding | |
JP5702378B2 (en) | Region-based filter cooperative partition coding method and apparatus | |
KR101482896B1 (en) | Optimized deblocking filters | |
JP2020520163A (en) | Directional Intra Predictive Coding | |
JP2013522956A5 (en) | ||
TW201924332A (en) | Guided filter for video coding and processing | |
TW202029774A (en) | Quantization artifact suppression and signal recovery by the transform domain filtering | |
JP2021503252A (en) | Devices and methods for encoding video data based on a tuned intramode list | |
KR20210021577A (en) | Apparatus and method for filtering in video coding | |
KR102508428B1 (en) | Method and apparatus for encoding and decoding video | |
WO2012118569A1 (en) | Visually optimized quantization | |
CN109906610B (en) | Recovery of video coding using filtering and subspace projection | |
KR102668077B1 (en) | Apparatus and method for image coding and decoding | |
US20200099950A1 (en) | Processing devices and control methods therefor | |
WO2023168257A2 (en) | State transition of dependent quantization for aom enhanced compression model | |
KR20240073227A (en) | Apparatus and method for image coding and decoding | |
US20160150245A1 (en) | System and a method for video encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |