KR20240039394A - 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법 - Google Patents

영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법 Download PDF

Info

Publication number
KR20240039394A
KR20240039394A KR1020220117905A KR20220117905A KR20240039394A KR 20240039394 A KR20240039394 A KR 20240039394A KR 1020220117905 A KR1020220117905 A KR 1020220117905A KR 20220117905 A KR20220117905 A KR 20220117905A KR 20240039394 A KR20240039394 A KR 20240039394A
Authority
KR
South Korea
Prior art keywords
frame
stage
neural network
output
denoised
Prior art date
Application number
KR1020220117905A
Other languages
English (en)
Inventor
카이 구어
최승원
최종성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220117905A priority Critical patent/KR20240039394A/ko
Priority to US18/305,625 priority patent/US20240095883A1/en
Priority to CN202310959424.XA priority patent/CN117745565A/zh
Publication of KR20240039394A publication Critical patent/KR20240039394A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따른 영상 처리 장치는, 디노이징 모듈을 실행하는 프로세서, 및 상기 디노이징 모듈을 저장하는 메모리 장치를 포함하고, 상기 디노이징 모듈은, 디노이지드 이전 프레임에 대한 가중화된 프레임을 출력하기 위한 제 1 스테이지 네트워크 유닛, 현재 프레임과 상기 가중화된 프레임을 이용하여 상기 가중화된 프레임에 대한 초기 융합 이미지를 출력하기 위한 제 2 스테이지 네트워크 유닛, 및 상기 현재 프레임, 상기 초기 융합 이미지, 및 상기 디노이지드 이전 프레임을 융합하기 위한 제 3 스테이지 네트워크 유닛을 포함할 수 있다.

Description

영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법{IMAGE PROCESSING DEVICE, ELECTRONIC DEVICE HAVING THE SAME, AND OPERATING METHOD THEREOF}
본 발명은 영상 처리 장치, 그것을 갖는 전자 장치, 및 그것의 동작 방법에 관한 것이다.
일반적으로, 최근 고품질 및 고화질의 사진, 영상 등에 대한 요구가 커짐에 따라 이미지 센서의 픽셀들은 사이즈가 작아지고, 더 많은 개수가 집적되고 있다. 이에 따라, 공정상 이슈로 인해 이미지 장치의 픽셀들은 임의의 위치에서, 임의의 형태를 구성하는 배드 픽셀들을 포함할 수 있다. 임의의 형태의 많은 개수의 배드 픽셀들은 사진, 영상 등을 생성하는 데에 사용되지 않기 때문에 이미지 장치의 성능을 저하시키는 문제가 있었다. 이에 따라, 배드 픽셀들로부터 출력되는 픽셀 데이터들을 보정하는 기술이 요구되고 있다.
본 발명의 목적은 신경망을 이용하여 디노이징(denosing)을 수행하는 영상 처리 장치, 그것을 갖는 전자 장치 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 영상 처리 장치의 동작 방법은, 현재 프레임에 대한 노이즈 표준편차/분산 맵을 획득하는 단계; 상기 현재 프레임을 획득하는 단계; 이전 프레임에 대한 제 1 디노이지드(denoised) 프레임을 획득하는 단계; 상기 노이즈 표준편차/분산 맵, 상기 제 1 디노이지드 프레임, 및 상기 현재 프레임을 수신하고, 제 1 신경망을 이용하여 가중화된 제 1 디노이지드 프레임을 생성하는 제 1 스테이지를 수행하는 단계; 상기 노이즈 표준편차/분산 맵, 상기 현재 프레임, 및 상기 가중화된 제 1 디노이지드 프레임을 수신하고, 제 2 신경망을 이용하여 초기 융합 이미지를 생성하는 제 2 스테이지를 수행하는 단계; 및 상기 노이즈 표준편차/분산 맵, 상기 제 1 디노이지드 프레임, 및 상기 초기 융합 이미지를 수신하고, 제 3 신경망을 이용하여 상기 현재 프레임에 대한 제 2 디노이지드 프레임을 생성하는 제 3 스테이지를 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 영상 처리 장치는, 디노이징 모듈을 실행하는 프로세서; 및 상기 디노이징 모듈을 저장하는 메모리 장치를 포함하고, 상기 디노이징 모듈은, 디노이지드 이전 프레임에 대한 가중화된 프레임을 출력하기 위한 제 1 스테이지 네트워크 유닛; 현재 프레임과 상기 가중화된 프레임을 이용하여 상기 가중화된 프레임에 대한 초기 융합 이미지를 출력하기 위한 제 2 스테이지 네트워크 유닛; 및 상기 현재 프레임, 상기 초기 융합 이미지, 및 상기 디노이지드 이전 프레임을 융합하기 위한 제 3 스테이지 네트워크 유닛을 포함할 수 있다.
본 발명의 실시 예에 따른 전자 장치는, 비디오/멀티 프레임 노이즈를 제거하는 디노이징 모듈을 저장하는 메모리 장치; 상기 메모리 장치를 제어하는 메모리 제어기; 및 입력 이미지의 노이지를 제거하기 위하여 상기 디노이징 모듈을 실행하는 프로세서를 포함하고, 상기 디노이징 모듈은 CNN(Convolutional Neural Network)을 이용하여 반복적인 3-스테이지 점진적 시간 융합(recurrent 3-stage gradual temporal fusion)을 수행하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 영상 처리 장치, 그것을 갖는 전자 장치, 및 그것의 동작 방법은, 반복적인 3-스테이지 점진적 시간 융합을 이용하여 이미지의 세부 사항을 유지하면서 효과적으로 노이즈를 제거할 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 본 발명의 실시 예에 따른 영상 처리 장치(100)를 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 디노이징 모듈(111)을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 제 1 스테이지 네트워크 유닛(111-1)을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 제 2 스테이지 네트워크 유닛(111-2)을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 제 3 스테이지 네트워크 유닛(111-3)을 예시적으로 보여주는 도면이다.
도 6a은 본 발명의 실시 예에 따른 이미지 처리 장치(600)의 이미지 처리 과정을 예시적으로 보여주는 도면이다.
도 6b은 본 발명의 다른 실시 예에 따른 이미지 처리 장치(600a)의 이미지 처리 과정을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 영상 처리 장치의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 8은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 프로그램 모듈의 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명의 실시 예에 따른 영상 처리 장치, 그것을 갖는 전자 장치 및 그것의 동작 방법은, 반복적인 3-스테이지 점진적 시간 융합(recurrent 3-stage gradual temporal fusion)을 이용하여 비디오/멀티 프레임 노이즈를 제거할 수 있다. 여기서 반복적인 3-스테이지 점진적 시간 융합을 위하여 각 스테이지에서 신경망(neural network)이 이용될 수 있다. 본 발명의 실시 예에 따른 영상 처리 장치, 그것을 갖는 전자 장치, 및 그것의 동작 방법은 비디오/멀티 프레임 노이즈 제거에서 반복적인 3-스테이지 점진적 시간 융합을 이용함으로써 이미지의 세부 정보를 유지하면서 효과적으로 디노이징(denosing)을 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 영상 처리 장치(100)를 보여주는 도면이다. 도 1을 참조하면, 영상 처리 장치(100)는 메모리 장치(110) 및 적어도 하나의 프로세서(120)를 포함할 수 있다.
메모리 장치(110)는 프로세서(120)와 전기적으로 연결되고, 구동에 필요한 데이터를 저장하도록 구현될 수 있다. 예를 들어, 메모리 장치(110)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다. 메모리 장치(110)는 데이터 저장 용도에 따라 영상 처리 장치(100)에 임베디드된 메모리 형태로 구현되거나, 영상 처리 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자장치(100)의 구동을 위한 데이터의 경우 영상 처리 장치(100)에 임베디드된 메모리에 저장되고, 영상 처리 장치(100)의 확장 기능을 위한 데이터의 경우 영상 처리 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
한편, 영상 처리 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 혹은 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 혹은 NOR flash 등), 하드 드라이브, 혹은 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 영상 처리 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
또한, 메모리 장치(110)는 입력 이미지의 품질을 개선하기 위해 이용되는 학습 네트워크 모델을 저장할 수 있다. 여기서, 학습 네트워크 모델은 복수의 샘플 이미지, 각 샘플 이미지에 대한 노이즈 맵 및 각 샘플 이미지에 대응되는 원본 이미지에 기초하여 기계 학습(Machine Learning)된 모델일 수 있다. 예를 들어, 학습 네트워크 모델은 복수의 샘플 이미지, 각 샘플 이미지에 대한 노이즈 맵 및 각 샘플 이미지에 대응되는 원본 이미지에 CNN(Convolution Neural Network) 학습된 모델일 수 있다. 여기서, CNN은 음성 처리, 이미지 처리 등을 위해 고안된 특수한 연결 구조를 가진 다층 신경망이다. 한편, 학습 네트워크 모델은 여기에 제한되지 않으며, RNN(Recurrent Neural Network), DNN(Deep Neural Network) 등 다양한 신경망(Neural Network)에 기반한 학습 네트워크 모델일 수도 있다.
또한, 메모리 장치(100)는 디노이징 모듈(111)을 저장할 수 있다. 디노이징 모듈(111)은 신경망을 이용하여 입력 이미지의 노이즈를 제거하면서 세밀한 엣지 처리와 텍스쳐를 유지할 수 있다. 특히, 디노이징 모듈(111)은 반복적인 3-스테이지 점진적 시간 융합(recurrent 3-stage gradual temporal fusion)을 이용하여 세부적인 이미지를 유지하면서 효과적으로 노이즈를 제거할 수 있다.
적어도 하나의 프로세서(120)는 메모리 장치(110)와 전기적으로 연결되어 영상 처리 장치(100)의 전반적인 동작을 제어하도록 구현될 수 있다. 프로세서(120)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), T-CON(Timing controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 혹은 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 혹은 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 입력 이미지를 영상 처리하여 입력 이미지의 품질이 개선된 출력 이미지를 획득할 수 있다. 특히, 프로세서(120)는 입력 이미지로부터 입력 이미지의 퀄리티를 나타내는 노이즈 맵을 획득하며, 입력 이미지 및 노이즈 맵을 복수의 레이어를 포함하는 학습 네트워크 모델에 적용하여 입력 이미지의 품질이 개선된 출력 이미지를 획득할 수 있다.
입력 이미지의 품질 개선 과정에서 입력 이미지로부터 획득된 노이즈 맵이 이용됨에 따라, 입력 이미지의 타입에 따라 적응적으로 품질 개선이 이루어지며, 품질 개선 효과가 향상될 수 있다. 여기서, 학습 네트워크 모델은 복수의 샘플 이미지, 각 샘플 이미지에 대한 노이즈 맵 및 각 샘플 이미지에 대응되는 원본 이미지의 관계를 인공지능 알고리즘을 통해 학습하여 획득된 인공지능 모델일 수 있다. 또한, 학습 네트워크 모델의 복수의 레이어는 입력 레이어, 중간 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 복수의 레이어 중 가장 먼저 연산이 이루어지는 레이어이고, 출력 레이어는 복수의 레이어 중 가장 마지막에 연산이 이루어지는 레이어이며, 중간 레이어는 입력 레이어 및 출력 레이어 사이에 배치된 레이어일 수 있다.
또한, 프로세서(120)는 적어도 하나의 인스트럭션을 수행함으로써 디노이징 모듈(111)을 구동하도록 구현될 수 있다. 디노이징 모듈(111)은 TNR(Temporal Noise Reduction; 시간적 노이즈 저감)을 수행할 수 있다. 일반적으로, TRN은 다양한 조명 조건에서 촬영한 비디오의 경우 ISP(Image Signal Processor)의 핵심 모듈이다. 현재 TNR은 재귀적 통합을 기반으로 한다. 일반적으로 고전적인 이미지 처리 방법(예: 루트의 HWTNR) 혹은 딥 러닝 방법(예: 루트의 DLFE)을 사용하여 융합 가중치 맵을 추정하고, 그 다음 추정된 가중치에 따라 현재 입력 프레임과 이전 프레임의 출력을 융합하고 있다.
저조도 조건에서 노이즈가 심한 장면과 관련하여, 일반적인 TNR 기법은 노이즈를 더 잘 제거하기 위해 이전 프레임 출력의 융합 가중치를 증가시키고 있다. 그러나 이러한 종류의 기법은 이미지 세부 정보 손실 및 로컬 모션 융합 아티팩트와 같은 특정 부작용을 야기하고 있다. 세부 사항을 유지하고 로컬 모션 아티팩트를 방지한다는 전제 하에 더 강력한 노이즈 제거 기능을 갖는 TNR 기법이 요구되고 있다. 본 발명의 TRN 기법은 세부 사항을 유지하고 로컬 모션 아티팩트(artifact)를 방지하면서, 노이즈 제거 기능을 향상시키는 3-스테이지 점진적 융합 딥 러닝 네트워크를 개시하고 있다.
본 발명의 실시 예에 영상 처리 장치(100)는 3-스테이지 점진적 융합 딥 러닝 네트워크를 통하여 TNR를 수행함으로써, 효과적으로 노이즈를 제거하면서 동시에 세부적인 이미지를 유지할 수 있다.
도 2는 본 발명의 실시 예에 따른 디노이징 모듈(111)을 예시적으로 보여주는 도면이다. 디노이징 모듈(111)은 이전 프레임의 노이즈 제거 출력, 현재 프레임 및 노이즈 표준편차/분산이 입력으로 동작하고, 출력이 다음 프레임의 프로세스로 전송되는 재귀적 융합 방식을 채택하고 있다. 디노이징 모듈(111)은 융합 모듈 내부에 3-스테이지(3-stage)의 점진적 융합 방식을 채택하고 있다. 각 단계는 신경망으로 구현될 수 있다. 도 2를 참조하면, 디노이징 모듈(111)은 제 1 스테이지 네트워크 유닛(111-1), 제 2 스테이지 네트워크 유닛(111-2), 및 제 3 스테이지 네트워크 유닛(111-3)을 포함할 수 있다.
제 1 스테이지 네트워크 유닛(111-1)은 제 1 신경망을 사용하여 게이트 가중치를 예측하고, 이전 프레임의 출력(Yn-1)에 게이트 가중치를 곱셈함으로써, 유용한 부분을 식별할 수 있다. 제 1 신경망은 현재 입력 프레임의 노이즈 표준편차/분산(Vn)와 이전 프레임의 출력(Yn-1)과 현재 프레임의 입력(In) 간의 절대 차이를 입력으로 사용할 수 있다. 실시 예에 있어서, 제 1 신경망은 CNN과 sigmoid 활성화 함수로 구현될 수 있다.
제 2 스테이지 네트워크 유닛(111-2)은 제 2 신경망을 이용하여 가중치가 적용된 이전 프레임의 출력(Rn*Yn-1), 현재 프레임의 입력(In) 및 노이즈 표준편차/분산(Vn)를 융합함으로써 초기 융합 이미지(Sn)를 출력할 수 있다. 실시 예에 있어서, 제 2 신경망은 CNN으로 구현될 수 있다.
제 3 스테이지 네트워크 유닛(111-3)은 제 3 신경망을 이용하여 제 2 스테이지 네트워크 유닛(111-2)의 초기 융합 이미지(Sn)와 이전 프레임의 출력(Yn)을 융합하는 데 사용할 융합 가중치를 예측할 수 있다. 제 3 신경망은 이전 프레임의 출력(Yn), 현재 프레임의 노이즈 표준편차/분산(Vn) 및 제 2 스테이지 네트워크 유닛(111-2)의 초기 융합 이미지(Sn)를 입력으로 사용할 수 있다. 실시 예에 있어서, 제 3 신경망은 "CNN + Sigmoid 활성화 함수"로 구현될 수 있다.
본 발명의 실시 예에 따른 디노이징 모듈(111)은 상술된 바와 같이 3-스테이지 점진적 융합 방법을 사용하여 노이즈를 제거할 수 있다. 제 1 스테이지 네트워크 유닛(111-1)은 CNN을 사용하여 제 1 가중치 맵을 예측할 수 있다. 여기서 예측된 제 1 가중치 맵은 이전 프레임의 출력(Yn-1)에서 유용한 내용을 표시할 수 있다. 제 2 스테이지 네트워크 유닛(111-2)은 CNN을 사용하여 표시된 이전 프레임의 출력(Yn-1)과 현재 프레임(In)을 융합함으로써, 초기 융합 이미지(Sn)를 출력할 수 있다. 제 3 스테이지 네트워크 유닛(111-3)은 CNN을 사용하여 제 2 가중치 맵을 예측할 수 있다. 여기서 예측된 제 2 가중치 맵은 초기 융합 이미지(Sn)와 이전 프레임의 출력(Yn-1)을 융합하는 데 사용될 수 있다. 제 3 스테이지 네트워크 유닛(111-3)은 최종 결과를 출력할 수 있다.
도 3은 본 발명의 실시 예에 따른 제 1 스테이지 네트워크 유닛(111-1)을 예시적으로 보여주는 도면이다.
도 3을 참조하면, 제 1 스테이지 네트워크 유닛(111-1)은 절대값 유닛(310), 연결 유닛(320), CNN 유닛(330), 활성화 함수 유닛(340), 및 곱셈 유닛(350)을 포함할 수 있다.
절대값 유닛(310)은 현재 입력 프레임(In)과 이전 출력 프레임(Yn-1) 사이의 절대값을 출력하도록 구현될 수 있다. 연결 유닛(320)은 절대값 유닛(310)의 출력값과 현재 입력 프레임의 노이즈 표준편차/분산(Vn)을 연결(concatenation)하도록 구현될 수 있다. CNN 유닛(330)은 연결 유닛(320)의 출력에 대하여 CNN을 수행하도록 구현될 수 있다. 활성화 함수 유닛(340)은 sigmoid 활성화 함수를 이용하여 CNN 유닛(330)의 출력을 수신하고 가중치(Rn)을 출력하도록 구현될 수 있다. 곱셈 유닛(350)은 활성화 함수 유닛(340)의 가중치(Rn)와 이전 출력 프레임(Yn-1)을 곱셈함으로써 이전 프레임에 대한 가중치(Rn*Yn-1)을 출력하도록 구현될 수 있다.
제 1 스테이지 네트워크 유닛(111-1)은 CNN과 sigmoid 활성화 함수를 -사용하여 이전 프레임 출력(Yn)의 유용한 내용을 나타내는 게이트 가중치(Rn*Yn-1)를 출력할 수 있다.
도 4는 본 발명의 실시 예에 따른 제 2 스테이지 네트워크 유닛(111-2)을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 제 2 스테이지 네트워크 유닛(111-2)은 연결 유닛(410), 및 CNN 유닛(420)을 포함할 수 있다.
연결 유닛(410)은 제 1 스테이지 네트워크 유닛(111-1)로부터 출력하는 게이트 가중치(Rn*Yn-1), 현재 입력 프레임(In) 및 노이즈 표준편차/분산(Vn)을 연결(concatenation) 하도록 구현될 수 있다. CNN 유닛(420)은 연결 유닛(410)의 출력에 대하여 CNN을 수행함으로써 초기 융합 이미지(Sn)를 출력할 수 있다.
도 5는 본 발명의 실시 예에 따른 제 3 스테이지 네트워크 유닛(111-3)을 예시적으로 보여주는 도면이다.
도 5를 참조하면, 제 3 스테이지 네트워크 유닛(111-3)은 연결 유닛(510), CNN 유닛(520), 활성화 함수 유닛(530), 및 융합 유닛(540)을 포함할 수 있다.
연결 유닛(510)은 제 2 스테이지 네트워크 유닛(111-2)로부터 출력하는 초기융합 이미지(Sn), 현재 입력 프레임(In) 및 노이즈 표준편차/분산(Vn)을 연결(concatenation) 하도록 구현될 수 있다. CNN 유닛(520)은 연결 유닛(510)의 출력에 대하여 CNN을 수행하도록 구현될 수 있다. 활성화 함수 유닛(530)은 sigmoid 활성화 함수를 이용하여 CNN 유닛(520)의 출력에 대한 융합 가중치(Fn)을 출력하도록 구현될 수 있다. 융합 유닛(540)은 초기 융합 이미지(Sn), 이전 출력 프레임(Yn-1), 융합 가중치(Fn)를 수신하고, 현재 입력 프레임(In)의 디노이징된 최종값(Yn = Fn *Sn + (1-Fn)*Yn-1)을 출력하도록 구현될 수 있다.
제 3 스테이지 네트워크 유닛(111-3)은 CNN과 sigmoid 활성화 함수를 이용하여 초기 융합 이미지(Sn)와 이전 프레임의 출력(Yn-1)을 융합하는 데 사용되는 융합 가중치(Fn)를 예측할 수 있다.
도 6a은 본 발명의 실시 예에 따른 이미지 처리 장치(600)의 이미지 처리 과정을 예시적으로 보여주는 도면이다. 도 6a을 참조하면, 이미지 처리 장치(600)는 제 1 입력 버퍼(601), 제 2 입력 버퍼(602), 제 3 입력 버퍼(603), 출력 버퍼(604), 디노이징 모듈(620)을 포함할 수 있다.
제 1 입력 버퍼(601)는 현재 프레임에 대한 노이즈 분산/표준편차 맵(Vn)을 저장할 수 있다.
제 2 입력 버퍼(602)는 현재 입력 프레임(In)을 저장할 수 있다. 실시 예에 있어서, 현재 입력 프레임(In)은 YUV/RGB 데이터일 수 있다.
제 3 입력 버퍼(603)는 이전 프레임의 최종 디노이지드 출력(Yn-1)을 저장할 수 있다.
출력 버퍼(604)는 현재 프레임의 최종 디노이지드 출력(Yn = Fn *Sn+(1-Fn )*Yn-1)을 저장할 수 있다. 실시 예에 있어서, 디노이지드 프레임은 YUV/RGB 데이터일 수 있다.
디노이징 모듈(620)은 제 1 스테이지 네트워크 유닛(621), 제 2 스테이지 네트워크 유닛(622), 및 제 3 스테이지 네트워크 유닛(623)을 포함할 수 있다.
제 1 스테이지 네트워크 유닛(621)은 도 3에 도시된 제 1 스테이지 네트워크 유닛(111-1)로 구현될 수 있다. 제 1 스테이지 네트워크 유닛(621)은 이전 프레임 출력(Yn-1)의 유용한 내용을 나타내기 위해 게이트 가중치(Rn)을 예측하기 위해 CNN와 sigmoid 활성화 함수를 사용할 수 있다. 제 1 스테이지 네트워크 유닛(621)은 현재 입력 프레임의 노이즈 표준편차/분산(Vn)와 이전 프레임의 출력(Yn-1)과 현재 입력 프레임(In) 간의 절대 차이(abs(In - Yn-1))를 입력으로 사용하여, 가중된 이전 프레임의 출력(R-n*Yn-1)을 출력할 수 있다. 실시 예에 있어서, 제 1 스테이지 네트워크 유닛(621)은 4개의 채널과 3개의 출력 채널을 포함할 수 있다.
제 2 스테이지 네트워크 유닛(622)은 도 4에 도시된 제 2 스테이지 네트워크 유닛(111-2)로 구현될 수 있다. 제 2 스테이지 네트워크 유닛(622)은 CNN을 사용하여 가중된 이전 프레임의 출력(Rn*Yn-1)을 수신하고, 현재 입력 프레임(In) 및 노이즈 표준편차/분산(Vn)를 융합함으로써, 초기 융합 이미지(Sn)를 생성할 수 있다. 실시 예에 있어서, 제 2 스테이지 네트워크 유닛(622)은 7개의 입력 채널과 3개의 출력 채널을 포함할 수 있다.
제 3 스테이지 네트워크 유닛(623)은 제 5에 도시된 제 3 스테이지 네트워크 유닛(111-3)로 구현될 수 있다. 제 3 스테이지 네트워크 유닛(623)은 CNN과 sigmoid 활성화 함수를 사용하여 융합 가중치(Fn)를 예측하고, 초기 융합 이미지(Sn)의 초기결과와 이전 프레임의 출력(Yn-1)을 융합함으로써, 현재 프레임의 디노이징된 최종값(Fn*Sn+(1-Fn)*Yn-1)을 출력할 수 있다. 실시 예에 있어서, 제 3 스테이지 네트워크 유닛(623)은 7개의 입력 채널과 3개의 출력 채널을 포함할 수 있다.
상술된 이미지 처리 장치(600)는 비디오/다중 프레임 노이즈 제거를 위한 반복적인 3-스테이지 점진적 시간 융합을 수행할 수 있다. 이미지 처리 장치(600)는 입력 이미지를 수신하고, 이미지 패치를 할 수 있다. 실시 예에 있어서, 입력 이미지는 Bayer 패턴 이미지일 수 있다. 실시 예에 있어서, 이미지 패치는 이미지 처리 장치(600)의 입력 이미지의 일부 혹은 전체 영역일 수 있다. 이미지 처리 장치(600)에서 처리된 이미지는 메모리 장치에 저장되거나, 디스플레이 장치로 전송될 수 있다. 이후 디스플레이 장치는 처리된 이미지를 디스플레이 할 수 있다.
한편, 제 1 스테이지 네트워크 유닛에서 생성된 게이트 가중치(Rn)는 옵션적으로 제 3 스테이지 네트워크 유닛에서 융합 가중치(Fn)을 생성하는데 이용될 수 있다.
도 6b은 본 발명의 다른 실시 예에 따른 이미지 처리 장치(600a)의 이미지 처리 과정을 예시적으로 보여주는 도면이다. 도 6b에 도시된 이미지 처리 장치(600a)는 도 6a에 도시된 이미지 처리 장치(600)와 비교하여 1 스테이지 네트워크 유닛(621a)에서 생성된 게이트 가중치(Rn)를 제 3 스테이지 네트워크 유닛(623a)에서 융합 가중치(Fn)을 생성하는데 옵션적으로 이용하는 디노이징 모듈(620a)을 구비할 수 있다.
제 3 스테이지 네트워크 유닛(623a)의 연결 유닛(Con)은, 제 1 스테이지 네트워크 유닛(621a)로부터 옵션적으로 출력되는 게이트 가중치(Rn), 제 2 스테이지 네트워크 유닛(622)로부터 출력하는 초기융합 이미지(Sn), 현재 입력 프레임(In) 및 노이즈 표준편차/분산(Vn)을 연결(concatenation) 하도록 구현될 수 있다. CNN 유닛은 연결 유닛(Con)의 출력에 대하여 CNN을 수행하도록 구현될 수 있다. 활성화 함수 유닛은 sigmoid 활성화 함수를 이용하여 CNN 유닛의 출력에 대한 융합 가중치(Fn)을 출력하도록 구현될 수 있다. 융합 유닛은 초기 융합 이미지(Sn), 이전 출력 프레임(Yn-1), 융합 가중치(Fn)를 수신하고, 현재 입력 프레임(In)의 디노이징된 최종값(Yn = Fn *Sn + (1-Fn)*Yn-1)을 출력하도록 구현될 수 있다.
도 7은 본 발명의 실시 예에 따른 영상 처리 장치의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 7을 참조하면, 영상 처리 장치는 다음과 같이 진행할 수 있다.
영상 처리 장치(100)는 현재 프레임의 노이즈 표준 편차 맵(혹은 분산 맵)(Vn)을 획득하고(S101), 현재 입력 프레임(In)을 획득하고(S102), 이전 프레임의 노이즈가 제거된 출력(Yn-1)을 획득할 수 있다.
이후에, 3-스테이지 점진적 시간 융합 과정이 진행될 수 있다. 제 1 스테이지(S110)에서 가중된 이전 프레임의 출력(Rn*Yn-1)이 생성될 수 있다. 제 1 스테이지 네트워크 유닛(111-1, 도 2 참조)은 현재 입력 프레임(In)과 이전 프레임 출력(Yn-1) 간의 절대 차이(abs(In-Yn-1))를 계산하고, 1-채널 노이즈 맵(Vn)과 3-채널 abs(In-Yn-1)를 4채널 데이터로 연결(concatenation)할 수 있다. 이후에 제 1 스테이지 네트워크 유닛(111-1)은 CNN과 Sigmoid 활성화 함수는 입력된 4 채널 데이터를 처리하고, 가중치(Rn)을 출력할 수 있다. 이후에, 제 1 스테이지 네트워크 유닛(111-1은 가중치(Rn)에 이전 프레임의 출력(Yn-1)을 곱함으로써 가중된 이전 프레임의 출력(Rn*Yn-1)을 생성할 수 있다.
제 2 스테이지(S120)에서 초기 융합 이미지(Sn)이 생성될 수 있다. 제 2 스테이지 네트워크 유닛(111-2, 도 2 참조)은 1-채널 노이즈 맵(Vn), 3-채널 현재 입력 프레임(In) 및 3-채널 제 1 스테이지(S110)의 출력(Rn*Yn-1)을 7-채널 데이터로 연결(concatenation)할 수 있다. 이후에, 제 2 스테이지 네트워크 유닛(111-2)은CNN을 통하여 입력된 7-채널 데이터를 처리하고, 3-채널의 초기 융합 이미지(Sn)을 출력할 수 있다.
제 3 스테이지(S130)에서 현재 프레임의 최종적으로 디노이징된 출력(Yn= Fn*Sn+(1-Fn)*Yn-1) 생성될 수 있다. 실시 예에 있어서, 스테이지 네트워크 유닛(111-3, 도 2 참조)은 1-채널 노이즈 맵(Vn), 3-채널 이전 프레임의 출력(Yn-1) 및 3채널의 제 2 스테이지(S120)의 출력(Sn)을 7-채널 데이터로 연결(concatenation) 할 수 있다. 다른 실시 예에 있어서, 스테이지 네트워크 유닛(111-3, 도 2 참조)은 1-채널 노이즈 맵(Vn), 3-채널 이전 프레임의 출력(Yn-1), 3채널의 제 1 스테이지(S110)의 게이트 가중치(Rn), 3-채널의 제 2 스테이지(S120)의 출력(Sn)을 10-채널 데이터로 연결(concatenation) 할 수 있다. 제 3 스테이지 네트워크 유닛(111-3)은 CNN과 sigmoid 활성화 함수를 통하여 입력된 7-채널 데이터를 처리하고, 융합 가중치(Fn)을 출력할 수 있다. 제 3 스테이지 네트워크 유닛(111-3)은 3-채널의 제 2 스테이지(S120)의 출력(Sn)과 3-채널의 이전 프레임의 출력(Yn-1)을 융합함으로써, 최종적으로 현재 입력 프레임(In)에 대한 디노이징된 출력(Yn=Fn*Sn+(1-Fn)*Yn-1)을 생성할 수 있다.
한편, 본 발명은 전자 장치에 적용 가능하다.
도 8은 본 발명의 실시 예에 따른 전자 장치(3000)를 보여주는 도면이다. 도 8를 참조하면, 전자 장치(3000)는 신경망(neural network) 모델을 실행할 수 있다. 신경망 모델은 인간의 뇌가 정보를 처리하는 학습 방식을 모델링한 것으로서, 음성, 이미지, 비디오 등과 같은 다양한 사용자 데이터에서 객체 혹은 특정 정보를 정확하게 인식하고 판별할 수 있는 모델을 지칭할 수 있다.
전자 장치(3000)는 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 혹은 IOT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 전자 장치(3000)는 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 혹은 내비게이션(navigation)과 같은 차량용 장비(automotive device) 등이 될 수도 있다.
전자 장치(3000)는 시스템 버스(3001), 프로세서(3100), 메모리 제어기(3200), 및 메모리 장치(3300)를 포함할 수 있다. 시스템 버스(3001)은 프로세서(3100), 메모리 제어기(3200) 및 메모리 장치(3300) 간의 통신을 지원할 수 있다.
프로세서(3100)는 메모리 장치(3300)에 저장된 데이터를 이용하여 신경망 연산을 수행할 수 있다. 예를 들어, 신경망 연산은 신경망 모델에 포함되는 노드 별 데이터 및 가중치를 읽고, 데이터 및 가중치의 컨볼루션 연산을 수행하며, 연산 결과를 저장하거나 출력하는 동작을 포함할 수 있다. 특히, 프로세서(3100)은 도 1 내지 도 7에서 설명된 바와 같이 CNN(Convolutional Neural Network)을 이용하여 반복적인 3-스테이지 점진적 시간 융합(recurrent 3-stage gradual temporal fusion)함으로써, 이미지의 세부 사항을 보존하면서 노이즈 제거를 효과적으로 할 수 있다.
또한, 프로세서(3100)는 CPU(Central Processing Unit; 3110), GPU(Graphic Processing unit; 3120), NPU(Neural Processing Unit; 3130), DSP(Digital Signal Processor; 3140), 가속기(3150) 등과 같이 데이터의 처리 및 연산을 수행하는 이기종 연산 장치들을 포함할 수 있다. 구체적으로, CPU(3110)는 범용성이 높은 연산 장치일 수 있다. GPU(3120)는 그래픽 처리와 같은 병렬 연산에 최적화된 연산 장치일 수 있다. NPU(3130)는 신경망 연산에 최적화된 연산 장치로서, 컨볼루션 연산과 같이 신경망 연산에 주로 사용되는 단위 연산을 실행하기 위한 논리 블록들을 포함할 수 있다. DSP(3140)는 아날로그 신호의 실시간 디지털 처리에 최적화된 연산 장치일 수 있다. 그리고, 가속기(3150)는 특정 기능을 신속하게 수행하기 위한 연산 장치일 수 있다.
또한, 프로세서(3100)가 신경망 모델을 실행할 때 다양한 하드웨어 장치들이 함께 동작할 수 있다. 예를 들어, 신경망 모델을 실행하기 위해서 NPU(3130)뿐만 아니라 CPU(3110), GPU(3120) 등의 이기종 연산 장치들이 함께 동작할 수 있다. 뿐만 아니라, 신경망 모델의 입력 데이터를 읽고, 출력 데이터를 저장하기 위해 메모리 제어기(3200) 및 데이터 버스(3001)가 동작할 수 있다.
메모리 장치(3300)는 프로세서(3100)가 신경망 연산을 수행하기 위해 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3300)에는 프로세서(3100)에 의해 실행될 수 있는 하나 이상의 신경망 모델이 로드될 수 있다. 또한, 메모리 장치(3300)에는 신경망 모델의 입력 데이터 및 출력 데이터가 저장될 수 있다. 메모리 장치(3300)는 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), SRAM(Static RAM), RRAM(Resistive RAM) 등과 같은 휘발성 메모리를 포함할 수 있으며, 플래시 메모리와 같은 비휘발성 메모리를 포함할 수도 있다.
메모리 제어기(3200)는 프로세서(3100)로부터 수신된 데이터를 메모리 장치(3300)에 저장하는 동작 및 메모리 장치(3300)에 저장된 데이터를 프로세서(3100)로 출력하는 동작을 제어할 수 있다.
도 9는 본 발명의 실시 예에 따른 전자 장치의 계층구조를 예시적으로 보여주는 도면이다. 도 9를 참조하면, 전자 장치(4000)은 하드웨어 계층(HW), 시스템 소프트웨어 계층(SW) 및 어플리케이션 계층(APP)을 포함할 수 있다.
하드웨어 계층(HW)은 전자 장치(4000)의 최하위 계층으로서, 시스템 버스(4001), 프로세서(4110), 및 메모리 제어기(4120) 등의 하드웨어 장치들을 포함할 수 있다. 프로세서(4110)는 이기종 연산 장치들, 예를 들어 CPU(4111), GPU(4112), NPU(4113), DSP(4114) 및 기타 가속기(4115)를 포함할 수 있다.
시스템 소프트웨어 계층(SW)은 하드웨어 계층(HW)의 하드웨어 장치들을 관리하고, 추상화된 플랫폼을 제공할 수 있다. 예를 들어, 시스템 소프트웨어 계층(SW)은 리눅스와 같은 커널을 구동할 수 있다.
시스템 소프트웨어 계층(SW)은 MH-DVFS(4210) 및 신경망 모델 실행기(4220)를 포함할 수 있다. MH-DVFS(4210)는 마이크로 아키텍처 정보를 이용하여 메모리 계층 별로 하드웨어 장치들의 동작 주파수를 결정할 수 있다. 신경망 모델 실행기(4220)는 MH-DVFS(4210)에 의해 결정된 동작 주파수로 동작하는 하드웨어 장치들을 이용하여 신경망 모델을 실행할 수 있다. 또한, 신경망 모델 실행기(4220)는 신경망 모델 실행 결과로서 신경망 모델의 실제 실행시간을 출력할 수 있다. 또한, 시스템 소프트웨어 계층(SW)은 프로세서(4110)에 의해 구동될 수 있다. 예를 들어, 시스템 소프트웨어 계층(SW)은 CPU(4111)에 의해 구동될 수 있다. 하지만, 시스템 소프트웨어 계층(SW)이 구동될 수 있는 연산 장치는 CPU(4111)로 제한되지 않는다고 이해되어야 할 것이다.
어플리케이션 계층(APP)은 시스템 소프트웨어 계층(SW) 상에서 실행될 수 있으며, 복수의 신경망 모델들(4310 ~ 43k0, k는 2 이상의 정수) 및 기타 어플리케이션들(4301)을 포함할 수 있다. 예를 들어, 기타 어플리케이션들(4301)은 카메라 어플리케이션을 포함할 수 있다. 복수의 신경망 모델들(4310 ~ 43k0)은 카메라 어플리케이션에 의해 획득된 이미지 프레임에 포함된 객체를 감지하는 모델, 상기 감지된 객체가 무엇인지 식별하는 모델, 상기 이미지 프레임에서 대상 영역을 감지하는 모델, 상기 감지된 대상 영역을 식별하는 모델, 식별된 대상 영역들을 사람, 자동차, 나무와 같은 의미에 따라 분류하는 모델 등을 포함할 수 있다. 하지만, 신경망 모델들 및 기타 어플리케이션들의 종류가 여기에 제한되지 않는다고 이해되어야 할 것이다.
한편, 신경망 모델이 실행될 때 기타 어플리케이션이 동시에 실행될 수 있으며, 복수의 신경망 모델들이 동시에 실행될 수도 있다. 예를 들어, 전자 장치(4000)이 모바일 시스템인 경우, 카메라 어플리케이션을 실행하는 것과 동시에 객체를 감지하기 위한 신경망 모델이 실행될 수 있다. 신경망 모델을 비롯하여 복수의 어플리케이션들이 동시에 실행되는 경우, 하드웨어 장치들에서 자원경합이 발생할 수 있다.
한편, 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 혹은 펌웨어(firmware) 중 하나 혹은 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 혹은 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 혹은 그 일부가 될 수 있다. "모듈"은 하나 혹은 그 이상의 기능을 수행하는 최소 단위 혹은 그 일부가 될 수도 있다. "모듈"은 기계적으로 혹은 전자적으로 구현될 수 있다. 예를 들어, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 혹은 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다. 실시 예에 따른 장치(예: 모듈들 혹은 그 기능들) 혹은 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 명령어가 프로세서에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들어, 메모리가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 혹은 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
실시 예에 따른 모듈 혹은 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 혹은 추가적인 다른 구성요소를 더 포함할 수 있다. 다양실시 예에 따른 모듈, 프로그램 모듈 혹은 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 혹은 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 혹은 다른 동작이 추가될 수 있다.
본 발명의 실시 예에 따른 반복적인 3-스테이지 점진적 시간 융합을 이용한 디노이징 기법은, 이미지 세부 사항을 유지하면서 노이즈 제거를 효과적으로 수행할 수 있다. 예를 들어, 본 발명의 디노이징 기법은 로컬 모션 오브젝트와 그 주변 영역에서 노이즈를 더욱 잘 제거할 수 있다. 이로써, 본 발명은 색상 아티팩트를 잘 줄일 수 있다.
TNR(Temporal Noise Reduction) 모듈의 경우, 현재 프레임 및 이전 프레임의 출력 외에 해당 입력 신호에도 현재 프레임의 노이즈 분산/표준편차가 포함될 수 있다. 그리고 이러한 노이즈 분산/표준편차는 ISP 구성 파일을 통해 혹은 카메라 ISO 값 설정(카메라의 수동 모드에서)을 통해 수동으로 조정할 수 있다. TNR의 노이즈 분산 또는 표준 편차가 올바른 값보다 큰 값으로 설정되면 결과 비디오 프레임은 현저하게 과도하게 향상된 질감과 엣지를 갖는다. 노이즈 분산 /표준편차 값이 올바른 값보다 커지면 과도하게 강조된 질감과 가장자리가 점점 더 심각하다. 노이즈 분산/표준편차가 이미지 픽셀의 최대값으로 설정되면(예: 12비트 이미지의 최대값은 4095), 과도하게 강화된 텍스처와 엣지가 릴리프 효과를 나타낼 수 있다. TNR 모듈의 매개변수 구성 파일을 수정할 수 있는 경우, 노이즈 표준 편차를 최대값(예: 12비트 이미지의 최대값은 4095)으로 설정하고 ISP 출력 비디오 프레임이 초과되었는지 여부를 분석할 수 있다. 한편, TNR 모듈의 매개변수 구성 파일을 수정할 수 없는 경우, 카메라의 수동 모드를 사용하여 일반 조명 장면에서 비디오를 촬영하고 ISO를 최대값으로 조정할 수 있다. 그러면 노이즈 표준 편차 설정이 자동으로 최대값으로 설정된다. 마지막으로 캡처된 비디오 프레임에 텍스처와 가장자리가 지나치게 강화되었는지 여부를 분석할 수 있다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체 뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.
100: 영상 처리 장치
110: 메모리 장치
120: 프로세서
111: 디노이징 모듈

Claims (10)

  1. 영상 처리 장치의 동작 방법에 있어서,
    현재 프레임에 대한 노이즈 표준편차/분산 맵을 획득하는 단계;
    상기 현재 프레임을 획득하는 단계;
    이전 프레임에 대한 제 1 디노이지드(denoised) 프레임을 획득하는 단계;
    상기 노이즈 표준편차/분산 맵, 상기 제 1 디노이지드 프레임, 및 상기 현재 프레임을 수신하고, 제 1 신경망을 이용하여 가중화된 제 1 디노이지드 프레임을 생성하는 제 1 스테이지를 수행하는 단계;
    상기 노이즈 표준편차/분산 맵, 상기 현재 프레임, 및 상기 가중화된 제 1 디노이지드 프레임을 수신하고, 제 2 신경망을 이용하여 초기 융합 이미지를 생성하는 제 2 스테이지를 수행하는 단계; 및
    상기 노이즈 표준편차/분산 맵, 상기 제 1 디노이지드 프레임, 및 상기 초기 융합 이미지를 수신하고, 제 3 신경망을 이용하여 상기 현재 프레임에 대한 제 2 디노이지드 프레임을 생성하는 제 3 스테이지를 수행하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 신경망, 상기 제 2 신경망, 및 상기 제 3 신경망 중에서 적어도 하나는 CNN(Convolutional Neural Network)을 이용하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 제 1 스테이지를 수행하는 단계는,
    상기 현재 프레임과 상기 제 1 디노이지드 프레임 사이의 절대값을 계산하는 단계;
    상기 절대값과 상기 노이즈 표준편차/분산 맵을 연결하는 단계;
    상기 연결된 값에 대하여 상기 제 1 신경망을 수행하는 단계;
    활성화 함수를 이용하여 상기 제 1 신경망의 출력에 대응하는 가중치를 계산하는 단계; 및
    상기 가중화된 제 1 디노이지드 프레임을 출력하기 위하여 상기 가중치와 상기 제 1 디노이지드 프레임을 곱셈하는 단계를 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 연결하는 단계는,
    1-채널의 상기 노이즈 표준편차/분산과 3-채널의 상기 절대값을 4 채널의 데이터로 연결하는 단계를 포함하는 방법.
  5. 제 4 항에 있어서,
    상기 제 1 신경망을 수행하는 단계는,
    상기 4 채널의 데이터에 대한 CNN을 수행하는 단계를 포함하는 방법.
  6. 제 3 항에 있어서,
    상기 활성화 함수는 sigmoid 활성화 함수를 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 제 2 스테이지를 수행하는 단계는,
    상기 현재 프레임, 상기 노이즈 표준편차/분산 맵, 및 상기 가중화된 제 1 디노이지드 프레임을 연결하는 단계; 및
    상기 초기 융합 이미지를 출력하기 위하여 상기 연결된 값에 대한 제 2 신경망을 수행하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 연결하는 단계는,
    1-채널의 상기 노이즈 표준편차/분산 맵, 3-채널의 상기 현재 프레임, 3-채널의 상기 제 1 스테이지의 출력들을 7-채널의 데이터로 연결하는 단계를 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 제 3 스테이지를 수행하는 단계는,
    상기 노이즈 표준편차/분산 맵, 상기 초기 융합 이미지, 및 상기 제 1 디노이지드 프레임을 연결하는 단계;
    상기 연결된 값에 대하여 상기 제 3 신경망을 수행하는 단계;
    활성화 함수를 이용하여 상기 제 3 신경망의 출력에 대응하는 융합 가중치를 계산하는 단계; 및
    상기 현재 프레임에 대한 상기 제 2 디노이지드 프레임을 출력하기 위하여 상기 초기 융합 이미지, 상기 융합 가중치, 및 상기 제 1 디노이지드 프레임을 융합하는 단계를 포함하는 방법.
  10. 디노이징 모듈을 실행하는 프로세서; 및
    상기 디노이징 모듈을 저장하는 메모리 장치를 포함하고,
    상기 디노이징 모듈은,
    디노이지드 이전 프레임에 대한 가중화된 프레임을 출력하기 위한 제 1 스테이지 네트워크 유닛;
    현재 프레임과 상기 가중화된 프레임을 이용하여 상기 가중화된 프레임에 대한 초기 융합 이미지를 출력하기 위한 제 2 스테이지 네트워크 유닛; 및
    상기 현재 프레임, 상기 초기 융합 이미지, 및 상기 디노이지드 이전 프레임을 융합하기 위한 제 3 스테이지 네트워크 유닛을 포함하는 영상 처리 장치.
    .

KR1020220117905A 2022-09-19 2022-09-19 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법 KR20240039394A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220117905A KR20240039394A (ko) 2022-09-19 2022-09-19 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법
US18/305,625 US20240095883A1 (en) 2022-09-19 2023-04-24 Image processing device, electronic device having the same, and operating method thereof
CN202310959424.XA CN117745565A (zh) 2022-09-19 2023-08-01 图像处理装置、具有其的电子装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220117905A KR20240039394A (ko) 2022-09-19 2022-09-19 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240039394A true KR20240039394A (ko) 2024-03-26

Family

ID=90244110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220117905A KR20240039394A (ko) 2022-09-19 2022-09-19 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법

Country Status (3)

Country Link
US (1) US20240095883A1 (ko)
KR (1) KR20240039394A (ko)
CN (1) CN117745565A (ko)

Also Published As

Publication number Publication date
CN117745565A (zh) 2024-03-22
US20240095883A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
US11882357B2 (en) Image display method and device
KR102459221B1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US9396523B2 (en) Image restoration cascade
US11127117B2 (en) Information processing method, information processing apparatus, and recording medium
US10262397B2 (en) Image de-noising using an equalized gradient space
CN111402146A (zh) 图像处理方法以及图像处理装置
US20200118249A1 (en) Device configured to perform neural network operation and method of operating same
CN107959798B (zh) 视频数据实时处理方法及装置、计算设备
Varadarajan et al. A distributed psycho-visually motivated Canny edge detector
CN107564085B (zh) 图像扭曲处理方法、装置、计算设备及计算机存储介质
CN112308797A (zh) 角点检测方法、装置、电子设备及可读存储介质
CN110717864B (zh) 一种图像增强方法、装置、终端设备及计算机可读介质
CN113808054B (zh) 用于对眼底图像的视盘区域进行修复的方法和相关产品
CN115082350A (zh) 频闪图像处理方法、装置、电子设备和可读存储介质
CN108734712B (zh) 背景分割的方法、装置及计算机存储介质
KR20240039394A (ko) 영상 처리 장치, 그것을 갖는 전자 장치, 그것의 동작 방법
CN115830362A (zh) 图像处理方法、装置、设备、介质及产品
CN111754412A (zh) 构建数据对的方法、装置及终端设备
WO2021237736A1 (zh) 图像处理方法、装置和系统,计算机可读存储介质
CN114821086A (zh) 一种视频预测方法和系统
CN108109107B (zh) 视频数据处理方法及装置、计算设备
US9077963B2 (en) Systems and methods for generating a depth map and converting two-dimensional data to stereoscopic data
CN107977644B (zh) 基于图像采集设备的图像数据处理方法及装置、计算设备
US10878592B2 (en) Video data processing
CN116917954A (zh) 图像检测方法、装置和电子设备