KR102499286B1 - 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법 - Google Patents

이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102499286B1
KR102499286B1 KR1020180022258A KR20180022258A KR102499286B1 KR 102499286 B1 KR102499286 B1 KR 102499286B1 KR 1020180022258 A KR1020180022258 A KR 1020180022258A KR 20180022258 A KR20180022258 A KR 20180022258A KR 102499286 B1 KR102499286 B1 KR 102499286B1
Authority
KR
South Korea
Prior art keywords
block
image
compression
compressing
electronic device
Prior art date
Application number
KR1020180022258A
Other languages
English (en)
Other versions
KR20190101833A (ko
Inventor
전형주
김성오
김영조
박현희
이아랑
최종범
한창수
박하중
염동현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180022258A priority Critical patent/KR102499286B1/ko
Priority to PCT/KR2019/002244 priority patent/WO2019164352A1/en
Priority to US16/282,707 priority patent/US11032577B2/en
Publication of KR20190101833A publication Critical patent/KR20190101833A/ko
Application granted granted Critical
Publication of KR102499286B1 publication Critical patent/KR102499286B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/917Television signal processing therefor for bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/415Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • 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/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation

Abstract

다양한 실시예에 따른 전자 장치는, 프로세서, 이미지 센서, 및 상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 지정된 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는, 상기 이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하고, 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하고, 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하고, 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하도록 설정될 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE FOR COMPRESSING IMAGE BASED ON COMPRESSION LOSS DATA ASSOCIATED WITH COMPRESSION OF A PLURALITY OF BLOCKS INTO WHICH IMAGE HAS BEEN SEGMENTED AND METHOD FOR OPERATING THEFEOF}
다양한 실시예는, 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법에 관한 것이다.
이미지를 처리하는 전자 장치는, 이미지 센서를 통하여 원시(raw) 이미지를 획득할 수 있으며, 획득된 원시 이미지를 내장된 이미지 신호 프로세서(image signal processor: ISP)를 이용하여 처리할 수 있다. 이미지 신호 프로세서는, 화질 개선 알고리즘을 이용하여 수신된 원시 이미지를 처리할 수 있으며, 이에 따라 화질이 개선된 이미지를 제공할 수 있다. 이미지 프로세서는, 화이트 밸런스(white balance) 조절, 컬러 조정(color adjustment)(예: color matrix, color correction, color enhancement), 색 필터 배열 보간(color filter array interpolation), 잡음 감소(noise reduction) 처리 또는 샤프닝(sharpening), 이미지 개선(image enhancement)(예: HDR(high-dynamic-range), face detection 등) 등의 다양한 처리를 수행할 수 있다. 이미지 신호 프로세서로부터 출력된 이미지는, 예를 들어 YUV 포맷을 가질 수도 있다.
전자 장치의 이미지 센서는, 획득한 원시 이미지를 프로세서로 전송할 수 있다. 예를 들어, 이미지 센서는 MIPI(mobile industry processor interface)를 통해 이미지 센서가 획득한 베이어 이미지 데이터(bayer image data)를 프로세서로 전송할 수 있다.
전자 장치의 이미지 센서로부터 프로세서로 원시 이미지를 전달하기 위한 인터페이스의 전송 속력이 고화질의 이미지의 전송을 위한 속력보다 작을 수 있으며, 이에 따라 이미지 센서는 원시 이미지를 압축하여 프로세서에 전달할 수 있다. 다양한 실시예는, 이미지 센서에서 획득한 이미지를 효율적으로 압축하여 프로세서에 전달하는 전자 장치 및 그 동작 방법을 제공할 수 있다.
다양한 실시예에 따르면, 이미지 센서에서 획득한 이전 이미지를 압축하는 동안 획득한 압축 속성 정보를 이용하여, 이전 이미지 이후에 연속하여 획득한 현재 이미지를 압축하는 이미지 센서를 포함하는 전자 장치가 제공될 수 있다.
다양한 실시예에 따르면, 이미지 센서에서 획득한 이미지 센서 감도(ISO) 또는 모션 정보에 기초하여 압축하고자 하는 현재 이미지와 현재 이미지 이전에 획득한 이전 이미지 사이의 복잡도 차이를 예측하고, 상기 복잡도 차이에 기초하여 이전 이미지를 압축하는 동안 획득한 압축 속성 정보를 선택적으로 이용하여 현재 이미지를 압축하는 전자 장치가 제공될 수 있다.
다양한 실시예에 따르면, 현재 이미지를 복수 개의 블록으로 분할하여 순차로 압축하기 위해서, 블록 단위로 현재 이미지와 이전 이미지 사이의 복잡도 차이를 결정할 수 있고, 상기 복잡도 차이에 기초하여 현재 이미지의 블록에 해당하는 이전 이미지의 블록을 압축하는 동안 획득한 압축 속성 정보를 선택적으로 이용하여 현재 이미지의 블록을 압축하는 전자 장치가 제공될 수 있다.
다양한 실시예에서, 전자 장치는, 프로세서, 이미지 센서, 및 상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 지정된 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는, 상기 이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하고, 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하고, 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하고, 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송할 수 있다.
다양한 실시예에서, 전자 장치의 동작 방법은, 이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작, 제어 회로에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서로 전송하는 동작, 상기 제어 회로에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작, 상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하는 동작을 포함할 수 있다.
컴퓨터 상에서 수행하기 위한 프로그램을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에서, 상기 프로그램은, 프로세서에 의한 실행 시, 상기 프로세서가, 이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작, 제어 회로에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서로 전송하는 동작, 상기 제어 회로에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작, 상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하는 동작을 수행할 수 있다.
다양한 실시예에 따르면, 이미지 센서에서 획득한 제1 이미지에 연속하여 획득한 제2 이미지를 압축하기 위해서, 상기 제1 이미지를 압축하는 동안 획득한 압축 속성 정보를 이용하여 상기 제2 이미지를 압축할 수 있는 전자 장치 및 그의 동작 방법이 제공될 수 있다.
다양한 실시예에 따른 전자 장치는, 압축하고자 하는 현재 이미지와 현재 이미지 이전에 이미지 센서에 의해 획득된 이전 이미지 사이에 장면 변화 여부에 기반하여, 이전 이미지를 압축하면서 생성한 압축 속성 정보를 선택적으로 이용하여 현재 이미지를 효율적으로 압축할 수 있다.
다양한 실시예에 따른 전자 장치는, 이미지 센서에서 획득한 센싱 정보 또는 현재 이미지를 압축하면서 생성한 압축 속성 정보에 기반하여, 현재 이미지와 이전 이미지 사이에 장면이 변경되었는지 여부를 판단할 수 있고, 현재 이미지와 이전 이미지 사이의 유사도를 정확히 예측하여 이미지를 압축하는데 이용할 수 있다.
도 1은, 다양한 실시예들에 따르면, 네트워크 환경 내의 전자 장치의 블럭도를 도시한다.
도 2는 다양한 실시예에 따른 전자 장치 및 서버의 블럭도를 도시한다.
도 3은 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 개념도를 도시한다.
도 4는, 다양한 실시예에 따른 전자 장치에서 이미지 센서로부터 프로세서로 이미지를 압축하여 전송하는 방법을 설명하기 위한 개념도이다.
도 5는, 다양한 실시예에 따른 이미지를 압축하는 전자 장치의 동작 방법을 설명하기 위한 순서도를 도시한다.
도 6은, 다양한 실시예에 따른 전자 장치에서 획득한 원시 이미지의 다양한 예시이다.
도 7은, 다양한 실시예에 따른 전자 장치가, 이미지를 복수의 블록으로 분할한 예시이다.
도 8은, 다양한 실시예에 따른 전자 장치가, 이미지 센서의 센싱 정보에 따라 이미지를 압축하는 방법을 설명하기 위한 순서도를 도시한다.
도 9는 다양한 실시예에 따른 전자 장치가, 이미지를 압축하는 동안 블록 별로 압축 손실 데이터를 생성한 예시이다.
도 10은 다양한 실시예에 따른 전자 장치가, N-1 프레임의 압축 손실 데이터를 반영하여 N 프레임을 압축하는 방법을 설명하기 위한 개념도이다.
도 11은 다양한 실시예에 따른 전자 장치가, N-1 프레임의 압축 손실 데이터와 무관하게 N 프레임을 압축하는 방법을 설명하기 위한 개념도이다.
도 12는 다양한 실시예에 따른 전자 장치가, 이미지를 복수의 블록으로 분할하여 압축하는 방법을 설명하기 위한 순서도를 도시한다.
도 13은 다양한 실시예에 따른 전자 장치가 이미지를 복수의 블록으로 분할하여 블록 단위로 이전 블록의 압축 관련 정보를 고려하여 현재 블록을 압축하는 방법을 설명하기 위한 개념도이다.
도 14는 다양한 실시예에 따른 전자 장치가 현재 프레임을 복수의 블록으로 분할하여 압축할 때 현재 프레임에서 압축된 블록의 압축 정보와 이전 프레임의 압축 정보를 비교하는 방법을 설명하기 위한 개념도이다.
도 15a 내지 도 15c는 다양한 실시예에 따른 전자 장치가 현재 프레임을 압축하는 동안 동적으로 압축 속성 정보를 변경하는 방법의 다양한 실시예를 설명하기 위한 개념도이다.
도 16은 다양한 실시예에 따른 전자 장치가 이미지를 압축하면서, 이미지의 블록별 밝기 정보를 생성한 예시이다.
도 17은 다양한 실시예에 따른 전자 장치가 이미지를 압축하면서, 이미지의 블록별 엣지 정보를 생성한 예시이다.
도 18은 다양한 실시예에 따른 전자 장치가 동일한 두 개의 이미지를 순차로 압축하는 경우 압축된 이미지의 화질을 설명하기 위한 개념도이다.
도 19는 다양한 실시예에 따른 전자 장치가 서로 상이한 두 개의 이미지를 순차로 압축하는 경우 압축된 이미지의 화질을 설명하기 위한 개념도이다.
도 1은, 다양한 실시예들에 따르면, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도를 도시한다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, BLE(bluetooth low energy), WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(101) 및 서버(108)의 블럭도를 도시한다. 도 2를 참조하면, 다양한 실시예에 따라서, 전자 장치(101)는, 프로세서(120), 메모리(130), 표시 장치(160), 카메라 모듈(180) 및 통신 모듈(190)을 포함할 수 있다. 서버(180)는, 프로세서(270), 메모리(280) 및 통신 모듈(284)을 포함할 수 있다. 카메라 모듈(180)은, 제어회로(210) 및 이미지 센서(230)를 포함할 수 있다. 제어회로(210)는, 전처리 장면 변경 감지부(211), 인코더(212) 및 후처리 장면 변경 감지부(213)를 포함할 수 있다. 전자 장치(101)의 프로세서(120)는 ISP(220)를 포함할 수 있다. 서버(108)의 프로세서(270)는, 전처리부(271), 엔진(272), 인코더(273) 및 ISP(274)를 포함할 수 있다. 서버(108)의 메모리(280)는 데이터베이스 저장소(281), 이미지 저장소(282) 및 원시 이미지 저장소(283)를 포함할 수 있다.
다양한 실시예에 따라서, 이미지 센서(230)는, 다양한 형식(format)의 원시 이미지를 획득할 수 있다. 예를 들어, 원시 이미지가 베이어(bayer) 형식을 가지는 경우에는, 원시 이미지는 픽셀에 대하여 적색(red), 녹색(green), 청색(blue) 중 하나의 색으로 표현될 수 있으며, 8 내지 16비트의 비트-뎁스(bit-depth)로 표현될 수 있다. 예를 들어, 원시 이미지에는 CFA 패턴이 적용될 수 있다. 원시 이미지는, 하나의 픽셀에 대하여 여러 가지 색(예: 적색, 녹색, 청색 중 복수의 색) 정보를 포함하는 레이어(layer) 구조를 가질 수도 있다. 이미지 센서(230)는, 예를 들어, 색 정보(RGB 정보)뿐만 아니라, 위상차 정보 등을 포함하는 원시 이미지를 획득할 수도 있다. 이미지 촬영과 연관된 정보(예: 촬영 시간, 촬영 위치, 조도)의 메타데이터는 원시 이미지와 관련되어 저장될 수 있다. 제어 회로(210)는, 이미지 센서(230)에서 획득한 원시 이미지에 대한 간단한 처리를 할 수 있다. 다양한 실시예에서, 제어 회로(210)는, 원시 이미지를 압축할 수 있고, 압축된 원시 이미지를 프로세서(120)에 전송할 수 있다. 다양한 실시예에서, 이미지 센서(230)는 이미지를 촬영할 때 감도(ISO), 노출 시간, 셔터 속도, 및 모션에 대한 정보를 센싱할 수 있다. 이미지 센서(230)가 센싱한 데이터는 제어 회로(210) 또는 프로세서(120)에 전송될 수 있다.
다양한 실시예에 따라서, 제어회로(210)는, 이미지 센서(230)로부터 수신한 원시 이미지 처리와 관련된 다양한 프로세스를 수행할 수 있다. 제어회로(210)는, 하나의 독립적인 프로세서로 구현될 수 있거나, 또는 다른 프로세서(예: 프로세서(120))에 포함될 수도 있다. 제어회로(210)의 전처리 장면 변경 감지부(211), 인코더(212) 또는 후처리 장면 변경 감지부(213) 중 적어도 하나는 다른 프로세서(예: 프로세서(120))에 포함될 수도 있다. 제어회로(210)는, 카메라 모듈(180)의 내부에 또는 카메라 모듈(180)의 외부(예를 들어, 전자 장치(101) 또는 서버(108))에 있거나, 또는 내외부 모두에 있을 수도 있다. 프로세서(120)가 수행하는 프로세스는, 프로세서(120)에 의하여 단독으로 처리되거나, 또는 복수의 프로세서에 의하여 분산 처리될 수 있다.
다양한 실시예에 따라서, 전처리 장면 변경 감지부(211)는, 이미지 센서(230)가 획득한 센싱 정보에 기반하여, 연속하여 획득한 제1 이미지와 제2 이미지 사이에 장면(scene)이 변경(change)되었는지 여부를 판단할 수 있다. 예를 들어, 이미지 센서(230)가 촬영하는 피사체(예: 인물, 사물, 배경, 장소)가 변경되면 장면이 변경될 수 있다. 다양한 실시예에서, 전처리 장면 변경 감지부(211)는 이미지 센서(230)가 센싱한 감도(ISO), 노출 시간, 셔터 속도, 모션 정보, 이미지 촬영과 연관된 정보(예: 촬영 시각, 촬영 장소) 중 어느 하나를 이용하여, 제1 이미지와 제2 이미지 사이에 장면이 변경되었는지 여부를 판단할 수 있다. 다양한 실시예에서, 전처리 장면 변경 감지부(211)는 이미지 센서(230)가 제1 이미지를 촬영할 때와 제2 이미지를 촬영할 때 이미지 센서의 감도(ISO)의 차이가 정해진 임계값보다 큰 경우 제1 이미지와 제2 이미지 사이에 장면이 변경되었다고 판단할 수 있다. 이 경우, 제1 이미지와 제2 이미지 사이의 유사도는 낮다고 예측할 수 있다. 또 다른 예를 들어, 전처리 장면 변경 감지부(211)는 이미지 센서(230)가 제1 이미지를 촬영할 때와 제2 이미지를 촬영한 때의 노출 시간 차이가 정해진 임계값보다 작은 경우 제1 이미지와 제2 이미지 사이에 장면이 변경되지 않았다고 판단할 수 있다. 이 경우, 제1 이미지와 제2 이미지 사이의 유사도는 높다고 예측할 수 있다. 제1 이미지와 제2 이미지가 유사한 경우, 제1 이미지의 영역별 복잡도 분포가 제2 이미지의 영역별 복잡도 분포가 유사할 수 있다. 다양한 실시예에 따른 전자 장치는, 제1 이미지와 제2 이미지 사이의 장면 변경 여부에 기초하여, 제1 이미지와 제2 이미지 사이의 영역별 복잡도 분포가 유사한지를 예측할 수 있고, 유사한 경우, 제2 이미지를 압축하는데 제1 이미지의 영역별 복잡도 분포 정보를 이용하여 제2 이미지를 효율적으로 압축할 수 있다. 이와 같이, 전처리 장면 변경 감지부(211)에 의해 판단된 장면 변경 여부는 인코더(212)에서 이미지를 압축하는데 이용될 수 있다.
다양한 실시예에 따라서, 인코더(212)는 이미지 센서(230)가 획득한 이미지를 압축할 수 있다. 인코더(212)는 이미지 센서(230)가 획득한 제1 이미지와 제1 이미지에 연속하여 획득한 제2 이미지를 순차로 압축할 수 있다. 다양한 실시예에서, 인코더(212)는 이미지 센서(230)가 연속하여 획득한 제1 이미지 및 제2 이미지를 압축하기 위해서, 장면 변경 여부에 기초하여 제1 이미지에 대응하는 압축 속성 정보를 선택적으로 이용하여 제2 이미지를 압축할 수 있다. 예를 들어, 압축하고자 하는 현재 이미지와 현재 이미지를 획득하기 이전에 획득한 이전 이미지 사이에 장면이 변경되지 않은 경우, 인코더(212)는 이전 이미지에 대응하는 압축 속성 정ㅈ보를 이용하여 효율적으로 현재 이미지를 압축할 수 있다. 또 다른 예를 들어, 압축하고자 하는 현재 이미지와 현재 이미지를 획득하기 이전에 획득한 이전 이미지 사이에 장면이 변경된 경우, 인코더(212)는 이전 이미지에 대응하는 압축 속성 정보를 반영하지 않고 정해진 압축 속성에 따라 현재 이미지를 압축할 수 있다. 이전 이미지와 현재 이미지 사이에 장면이 변경되지 않은 경우, 이전 이미지와 현재 이미지가 유사하다고 판단할 수 있고, 이전 이미지를 압축하면서 생성되는 압축 손실 데이터에 기반하여 결정한 압축 속성 정보를 반영하여 현재 이미지를 압축하는 경우 압축된 이미지는 동일한 압축률을 유지하면서 더 좋은 화질을 가질 수 있다.
다양한 실시예에 따라서, 인코더(212)는 이미지 센서(230)가 획득한 제1 이미지와 제1 이미지에 연속하여 획득한 제2 이미지를 압축하는 동안, 제1 이미지 및 제2 이미지에 대한 압축 손실 데이터를 생성하고, 압축 손실 데이터에 기반하여 제1 이미지 및 제2 이미지에 대한 각각의 압축 속성 정보를 결정할 수 있다. 예를 들어, 인코더(212)는 제1 이미지를 복수의 블록으로 분할하고, 복수의 블록을 압축하면서 복수의 블록에 대하여 블록당 압축 손실 데이터량, 밝기 정보, 엣지 정보를 생성할 수 있다. 다양한 실시예에서, 압축 손실 데이터량은 해당 블록을 압축하면서 삭제되는 비트 플레인(bit plane)의 수 또는 손실된 비트량일 수 있다. 밝기 정보는 픽셀당 밝기 값에 대한 평균 값일 수 있다. 엣지 정보는 해당 블록에 포함된 엣지 개수일 수 있다. 인코더(212)는 제1 이미지의 블록 별로 압축 손실 데이터량에 비례하여 압축 속성을 결정할 수 있다. 예를 들어, 인코더(212)는 압축 손실 데이터량이 클수록 비트 버짓을 더 많이 할당하도록 결정할 수 있다. 인코더(212)는 제1 이미지를 압축한 이후에 제2 이미지를 복수의 블록으로 분할하고 복수의 블록을 압축할 수 있다. 다양한 실시예에 따라서, 인코더(212)는 제1 이미지를 압축하면서 생성한 블록당 손실 데이터량, 밝기 정보, 및 엣지 정보 중 어느 하나를 이용하여, 압축 속성을 결정하고, 결정한 압축 속성에 따라 제2 이미지를 압축할 수 있다. 다양한 실시예에 따라서, 인코더(212)는 제1 이미지와 제2 이미지 사이의 장면 변경이 없는 경우, 제1 이미지에 기반하여 결정된 압축 속성 정보를 이용하여 제2 이미지를 압축할 수 있다. 이 경우 제2 이미지의 압축 효율이 개선될 수 있다. 인코더(212)는 제1 이미지와 제2 이미지 사이의 장면 변경이 있는 경우, 제1 이미지에 기반하여 결정된 압축 속성 정보를 이용하지 않고 정해진 압축 속성에 따라 제2 이미지를 압축할 수 있다. 인코더(212)는 압축하는 이미지의 이전 이미지의 압축 속성 정보를 선택적으로 이용하여 장면 변경에 대처할 수 있다.
다양한 실시예에 따라서, 후처리 장면 변경 감지부(213)는 이미지 센서(230)가 획득한 제1 이미지 및 제1 이미지에 연속하여 획득한 제2 이미지를 순차로 압축하면서, 제2 이미지를 압축하는 동안, 제1 이미지와 제2 이미지 사이에 장면이 변경되었는지 판단할 수 있다. 후처리 장면 변경 감지부(213)는 제2 이미지를 압축하면서 생성한 압축 손실 데이터에 기반하여, 제1 이미지의 압축 손실 데이터와 비교할 수 있고, 차이에 기반하여 제1 이미지와 제2 이미지 사이의 장면 변경 여부 및 장면 변경 정도를 결정할 수 있다. 예를 들어, 후처리 장면 변경 감지부(213)는 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축할 수 있고, 제1 블록을 압축하는 동안, 제1 블록에 대응하는 제1 복잡도를 생성할 수 있고, 제2 블록을 압축하는 동안, 제2 블록에 대응하는 제2 복잡도를 생성할 수 있다. 제1 복잡도 및 제2 복잡도는 압축 손실 데이터, 블록의 밝기 정도, 블록에 포함된 엣지의 수에 따라 결정될 수 있다. 후처리 장면 변경 감지부(213)는, 제2 이미지를 제1 이미지의 제1 블록 및 제2 블록의 위치에 대응되는 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축할 수 있고, 제3 블록을 압축하는 동안, 제3 블록에 대한 제3 복잡도를 생성할 수 있다. 후처리 장면 변경 감지부(213)는 제3 블록에 대한 제3 복잡도와 제3 블록에 대응되는 제1 블록에 대한 제1 복잡도를 비교하여, 차이가 임계값보다 큰 경우, 제1 이미지와 제2 이미지 사이에 장면이 변경되었다고 판단할 수 있다. 또는, 후처리 장면 변경 감지부(213)는 제3 블록에 대한 제3 복잡도와 제3 블록에 대응되는 제1 블록에 대한 제1 복잡도를 비교하여, 차이가 임계값 보다 작거나 같은 경우, 제1 이미지와 제2 이미지 사이에 장면이 변경되지 않았다고 판단할 수 있다. 후처리 장면 변경 감지부(213)는 제1 이미지와 제2 이미지 사이의 장면 변경 여부를 인코더(212)에 전송할 수 있다. 인코더(212)는 제2 이미지의 제4 블록에 대한 압축하는데, 후처리 장면 변경 감지부(213)로부터 수신한 장면 변경 여부에 기반하여, 장면 변경이 없는 경우 제1 이미지의 제2 블록에 대한 제2 복잡도를 이용하여 제2 이미지의 제4 블록을 압축할 수 있다. 또는, 인코더(212)는 제2 이미지의 제4 블록에 대한 압축하는데, 후처리 장면 변경 감지부(213)로부터 수신한 장면 변경 여부에 기반하여, 장면 변경이 있는 경우 제1 이미지의 제2 블록에 대한 제2 복잡도를 이용하지 않고, 정해진 압축 속성에 따라 제2 이미지의 제4 블록을 압축할 수 있다.
다양한 실시예에 따라서, 인코더(212)가 압축한 이미지를 프로세서(120)에 전송할 수 있다. 프로세서(120)는, 예를 들어 통신 모듈(190)을 통하여, 원시 이미지 또는 압축된 이미지 중 적어도 하나를, 서버(108)로 송신할 수 있다. 서버(108)는 통신 모듈(290)을 통하여, 원시 이미지 또는 압축된 이미지 중 적어도 하나를 수신할 수 있다. 통신 모듈(290)은, 예를 들어, 통신 모듈(190)과 통신을 수행할 수 있다. 서버(108)는, 전자 장치(101)에 대한 네트워크 관리, 제공 가능한 서비스 및 권한 등과 관련된 서비스 관리, 저장소 관리 등을 수행할 수 있다. 원시 이미지는, 서버(108) 내의 원시 이미지 저장소(283)에 일시적 또는 비일시적으로 저장될 수도 있다.
다양한 실시예 따라서, 전처리부(271)는, 수신된 원시 이미지를 엔진(272) 또는 ISP(274)로 전달하기 전에 요구되는 처리를 수행할 수 있다. 예를 들어, 통신 모듈(290)을 통하여 압축된 원시 이미지가 수신된 경우에는, 전처리부(271)는 압축된 원시 이미지를 압축 해제할 수 있으며, 이에 따라 원시 이미지를 획득할 수 있다. 전처리부(271)는, 또는 원시 이미지를 통신 모듈(290)을 통하여 수신할 수도 있다. 전처리부(271)는, 압축 해제하여 획득하거나 또는 수신한 원시 이미지에 대하여, 화질 개선 알고리즘 적용, 디모자이크(de-mosaic) 처리, 또는 이미지 형식 변경 중 적어도 하나의 작업을 수행할 수 있다.
다양한 실시예에 따라서, 엔진(272)은, 원시 이미지(또는, 이미지 파일)를 분석하여, 다양한 작업(예: 사물 인식, 속도 벡터 판단, 얼굴 인식, 세그먼테이션(segmentation), 신 파싱(scene parsing), 질감(texture) 인식)을 수행할 수 있다. 엔진(272)은 상술한 다양한 작업을 수행하기 위한 다양한 알고리즘을 이용할 수 있다. 다양한 실시예에 따른 서버(108)는, 상대적으로 높은 연산 능력, 저장 크기, 높은 리소스를 가질 수 있으므로, 고연산을 요구하는 알고리즘을 이용할 수 있으며, 새롭게 개발된 알고리즘을 이용할 수도 있다. 엔진(272)은, 다양한 작업 수행의 결과로, ISP(274)에서 다양한 영상 처리에 활용 가능한 정보(예: 레시피 정보(recipe information)(예: 사물 인식 결과, 속도 벡터, 얼굴 인식 결과, 세그먼테이션 결과, 신 카테고리(scene category), 또는 질감에 대한 정보를 포함하는 정보))를 생성, 저장, 또는 전송할 수 있다.
다양한 실시예에 따라서, ISP(274)는, 엔진(272)에서 분석된 원시 이미지에 대한 다양한 정보(예: 레시피 정보)를 이용하여, 원시 이미지에 대한 다양한 이미지 처리를 수행할 수 있다. 또 다른 실시예에서는, 전자 장치(101)가 레시피 정보를 수신하여, 이를 이용하여 이미지 처리를 수행할 수도 있다. 이 경우, 전자 장치(101)는, ISP(260)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수도 있다. 전자 장치(101)는, 이미지 처리가 수행된 이미지를 메모리(130)에 일시적 또는 비일시적으로 저장하거나, 또는 표시 장치(160)에 표시할 수도 있다. 한편, 상술한 바와 같이, ISP(274)가 이미지 처리를 수행하는 경우에, 레시피 정보에 기반한 이미지 처리를 수행할 수도 있다. ISP(274)는 데이터베이스 저장소(281)로부터 레시피 정보에 대응하는 추가 정보(예: 특징 벡터(feature vector))를 수신하여, 이미지 처리에 이용할 수도 있다. 데이터베이스 저장소(281)에는, 이미지 카테고리 등에 대응되는 다양한 특징 정보를 저장할 수 있다. 처리된 이미지는, 전자 장치(101)로 다시 송신되거나, 또는 서버(108) 내의 이미지 저장소(282)에 저장될 수도 있다. ISP(274)는, 화이트 밸런스(white balance) 조절, 컬러 조정(color adjustment)(예: color matrix, color correction, color enhancement), 색 필터 배열 보간(color filter array interpolation), 잡음 감소(noise reduction) 처리 또는 샤프닝(sharpening), 이미지 개선(image enhancement)(예:HDR(high-dynamic-range), face detection 등) 등의 다양한 처리를, 레시피 정보에 적어도 기반하여 수행할 수 있다. ISP(274)는, 아울러, original color mapping, detail re-generation, text reconstruction, image inpainting 등의 고연산량을 요구하는 이미지 처리를 수행할 수도 있다.
다양한 실시예에 따라서, 서버(108)는 클라우드 서버일 수 있다. 서버(108)는, 서버(108)에 연결 가능한 전자 장치(예: 전자 장치(101))에 대한 네트워크 관리, 제공 가능한 서비스 및 권한 등과 관련된 클라우드 서비스 관리, 저장소 관리 등의 역할을 수행할 수도 있다.
도 3은 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 개념도를 도시한다. 다양한 실시예에 따르면, 전자 장치(101)는, 이미지 센서(321), ISP(323) 및 메모리(325)를 포함할 수 있다. 외부 전자 장치(300)(예: 전자 장치(104) 또는 서버(108))는, 인식 모듈(331), ISP(333)(예: ISP(274)) 및 저장소(335)(예: 메모리(280))를 포함할 수 있다. 인식 모듈(331)은 논리 모듈일 수도 있으며, 외부 전자 장치(300)의 프로세서로 구현될 수도 있다. ISP (333) 또한 외부 전자 장치(300)의 프로세서로 구현될 수 있으며, 예를 들어 외부 전자 장치(300)의 프로세서가 인식과 이미지 처리를 모두 수행할 수도 있다. 도시되지는 않았지만, 전자 장치(101)는 외부 전자 장치(300)와 데이터를 송수신할 수 있는 통신 모듈(예: 통신 인터페이스(170) 또는 통신 모듈(190))을 포함할 수 있다. 외부 전자 장치(300)는 전자 장치(101)와 데이터를 송수신할 수 있는 통신 모듈을 포함할 수 있다.
이미지 센서(321)(예: 카메라 모듈(180))는, 외부 객체에 대한 이미지를 획득할 수 있으며, 이에 대응하는 원시 이미지(322)를 생성할 수 있다. 이미지 센서(321)는, 원시 이미지(322)를 ISP(323)로 전달할 수 있다. 다양한 실시예에서, 이미지 센서(321)는 스몰 원시 이미지(3221)를 생성하여 이를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다. 또 다른 실시예에서는, 이미지 센서(321)가 아닌 전자 장치(101)의 프로세서가 스몰 원시 이미지(3221)를 생성할 수도 있으며, 생성된 스몰 원시 이미지(3221)를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다.
외부 전자 장치(300)의 인식 모듈(331)은 통신 모듈을 통하여 스몰 원시 이미지(3221)를 획득할 수 있으며, 스몰 원시 이미지(3221)로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 인식 모듈(331)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 인식 모듈(331)로부터 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보 또는 인식 결과 중 적어도 하나를 포함하는 보정 영역 정보(332)가 생성될 수 있다. 보정 영역 정보(332)는 전자 장치(101)로 송신될 수 있다. ISP(323)는 보정 영역 정보(332)를 이용하여 원시 이미지(322)를 보정할 수 있으며, 이에 따라 보정된 이미지(324)가 생성될 수 있다. 보정된 이미지는, 예를 들어 YUV의 포맷을 가질 수 있다. 보정된 이미지는 메모리(325)에 저장될 수 있다. 또는, 보정된 이미지는 예를 들어 JPEG 방식에 따라 압축될 수 있으며, 압축된 이미지가 메모리(325)에 저장될 수도 있다.
다양한 실시예에서, 이미지 센서(321)로부터 제공되는 원시 이미지(322)는 스몰 원시 이미지(3221)와 별도로 외부 전자 장치(300)로 송신될 수 있다. 원시 이미지(322)는, 스몰 원시 이미지(3221)에 비하여 용량이 크므로, 스몰 원시 이미지(3221)가 우선 외부 전자 장치(300)로 송신되고, 이후 원시 이미지(322)가 외부 전자 장치(300)로 송신될 수 있다. 예를 들어, ISP(323)가 원시 이미지(322)에 대한 보정을 수행하는 동안에 원시 이미지(322)가 외부 전자 장치(300)로 송신될 수도 있다. 원시 이미지(322)는, 이미지 센서(321)에 의하여 생성된 그대로 외부 전자 장치(300)로 업로드될 수도 있으며, 또는 렌즈 왜곡 보상 또는 노이즈 제거가 수행된 전처리 영상이 업로드될 수도 있다. 상술한 전처리는 외부 전자 장치(300)에서 수행될 수도 있다. 외부 전자 장치(300)는, Demosaic 처리 또는 이미지 포맷 변형, 또는 영상 인식률을 높이기 위한 전처리를 수행할 수도 있다. 외부 전자 장치(300)의 ISP(333)는, 수신된 원시 이미지(322)를 보정할 수 있다. 외부 전자 장치(300)는 기존에 생성하였던 보정 영역 정보(332)를 이용하여 원시 이미지(322)를 보정할 수도 있으며, 또는 확장된 보정 영역 정보를 이용하여 원시 이미지(322)를 보정할 수도 있다. 원시 이미지(322)는, 스몰 원시 이미지(3221)에 비하여 해상도가 높을 수도 있으며, 이에 따라 외부 전자 장치(300)의 ISP(333)는 고해상도 이미지로부터 보다 상세한 확장된 보정 영역 정보를 획득할 수 있다. ISP(333)는, 기존에 생성된 보정 영역 정보와 원시 이미지(322)를 함께 이용하여 확장된 보정 영역 정보를 생성할 수도 있다. ISP(333)는 확장된 보정 영역 정보를 이용하여 원시 이미지(322)를 보정함으로써, 고해상도 이미지(high quality image)(334)를 획득할 수 있다. 고해상도 이미지(334)는 외부 전자 장치(300)의 저장소(335)에 저장될 수 있으며, 전자 장치(101)로 다운로드될 수도 있다.
도 4는, 다양한 실시예에 따른 전자 장치에서 이미지 센서로부터 프로세서로 이미지를 압축하여 전송하는 방법을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101))는, 카메라 모듈(180) 및 프로세서(120)를 포함할 수 있다. 카메라 모듈(180)은 이미지 센서(230), 전처리 장면 변경 감지부(PRE)(211), 인코더(212), 후처리 장면 변경 감지부(POST)(213) 및 데이터 전송부(410)를 포함할 수 있다. 프로세서(120)는 데이터 수신부(420), 디코더(430) 및 ISP(220)를 포함할 수 있다.
이미지 센서(230)는 촬영을 수행하여 원시 이미지를 획득할 수 있다. 이미지 센서(230)는 획득한 이미지를 인코더(212)에 전송할 수 있다. 다양한 실시예에서, 이미지 센서(230)는 이미지를 복수의 블록으로 분할하여 순차로 인코더(212)에 전송할 수 있다. 이미지 센서(230)가 획득한 이미지는 베이어 형식을 가질 수 있다. 다양한 실시예에서, 이미지 센서(230)는 베이어 이미지를 라인 별로 인코더(212)에 전송할 수 있다. 예를 들어, 이미지 센서(230)가 생성한 이미지 데이터는 도 6과 같이 베이어 패턴을 포함한 다양한 패턴을 가질 수 있다. 다양한 실시예에서, 이미지 데이터는 프레임 단위로 획득될 수 있다. 다양한 실시예에서, 이미지 센서(230)는 감도(ISO), 노출 시간(exposure time), 셔터 속도(shutter speed), 모션(motion)을 센싱할 수 있다. 이미지 센서(230)는 센싱한 정보를 전처리 장면 변경 감지부(211) 또는 인코더(212)에 전송할 수 있다.
전처리 장면 변경 감지부(211)는 이미지 센서(230)와 인코더(212) 사이에 배치될 수 있다. 전처리 장면 변경 감지부(211)는, 이미지 센서(230)로부터 센싱 정보를 수신할 수 있고, 센싱 정보에 기초하여 현재 프레임(n frame)과 이전 프레임(n-1 frame) 사이의 장면 변경을 판단할 수 있다. 장면 변경 감지부(211)는 이미지 센서(230)가 센싱한 감도(ISO), 노출 시간(exposure time), 셔터 속도(shutter speed), 또는 모션(motion)의 정보 중 적어도 하나를 이용하여 현재 프레임과 이전 프레임 사이의 장면 변경 여부를 판단할 수 있다. 예를 들어, 전처리 장면 변경 감지부(211)는 모션 정보를 이용하여 현재 프레임과 이전 프레임 사이의 차이를 예측할 수 있고, 상기 예측된 차이에 기반하여 현재 프레임과 이전 프레임 사이에 장면이 변경 여부 또는 장면이 변경된 정도 중 적어도 하나를 판단할 수 있다. 전처리 장면 변경 감지부(211)는 장면 변경 여부에 대한 정보를 인코더(212)에 전송할 수 있다. 인코더(212)는 장면 변경 여부에 대한 정보에 기반하여, 현재 프레임을 압축할 수 있다. 예를 들어, 전처리 장면 변경 감지부(211)는 장면 변경 정도에 관한 정보를 생성하여, 인코더(212)에 포함된 비트 버짓 가중치 생성부(2122)에 전송할 수 있다. 비트 버짓 가중치 생성부(2122)는 수신한 장면 변경 정도에 관한 정보에 기반하여, 현재 프레임을 압축하기 위해 비트 버짓을 얼마나 할당할지 판단할 수 있다. 예를 들어, 비트 버짓 가중치 생성부(2122)는 수신한 정보에 기반하여 현재 프레임을 복수의 블록으로 분할하여 압축하는 과정에서, 각 블록마다 압축을 위해 비트를 얼마나 할당할지를 결정할 수 있다.
인코더(212)는 복잡도 정보 생성부(2121) 및 비트 버짓 가중치 생성부(2122)를 포함할 수 있다. 인코더(212)는 이미지 센서(230)로부터 수신한 이미지를 압축할 수 있다. 인코더(212)는 이미지를 압축하기 위해 비트 버짓 가중치 생성부(2122)가 생성한 비트 버짓 가중치에 따라 이미지 내의 블록 각각에 비트를 할당할 수 있다. 다양한 실시예에서, 인코더(212)는, 이전 프레임에서의 복수의 블록들 각각의 복잡도 및 비트 버짓 가중치에 따라, 현재 프레임 내의 블록 각각에 비트를 할당할 수도 있다. 인코더(212)는 이미지를 압축하면서 이미지의 영역별로 압축 손실 데이터, 밝기 정도, 엣지 개수를 생성할 수 있다. 다양한 실시예에 따라서, 인코더(212)는 이미지를 복수의 블록들로 분할하여 압축할 수 있고, 복수의 블록들마다 압축 손실 데이터, 밝기 정도, 엣지 개수를 생성할 수 있다. 예를 들어, 인코더(212)는 복수의 블록들을 각각 압축하면서, 압축 처리한 블록들에 대한 압축 손실 데이터를 생성할 수 있다. 복잡도 정보 생성부(2121)는 인코더(212)가 압축하면서 생성한 압축 손실 데이터, 밝기 정도, 엣지 개수에 기반하여 블록별 복잡도 정보를 생성할 수 있다. 예를 들어, 복잡도 정보 생성부(2121)는 제1 블록의 압축 손실 데이터량이 클수록 제1 블록의 복잡도는 크다고 판단할 수 있다. 또 다른 예를 들어, 복잡도 정보 생성부(2121)는 제1 블록의 밝기가 어두울수록 복잡도가 크다고 판단할 수 있다. 복잡도 정보 생성부(2121)는 제1 블록에 포함된 엣지 개수가 많을수록 복잡도가 크다고 판단할 수 있다. 어느 블록에 대한 복잡도가 클수록 해당 블록을 압축하는데 많은 비트가 필요할 수 있다. 인코더(212)는 블록을 압축한 후에 해당 블록에 대한 복잡도를 계산할 수 있으므로, 어느 블록을 압축하기 위해서 해당 블록에 대한 복잡도를 정확하게 예측할수록 압축 효율이 높아질 수 있다. 비트 버짓 가중치 생성부(2121)는 복수의 블록들의 복잡도 정보에 기반하여, 압축 속성(bit budget)을 결정할 수 있다. 다양한 실시예에서, 비트 버짓 가중치 생성부(2121)는 제1 이미지의 복수의 블록들에 대해서, 각 블록의 복잡도에 기반하여 비트 버짓을 할당하도록 압축 속성을 결정할 수 있다.
후처리 장면 변경 감지부(213)는 인코더(212)가 이미지 센서(230)가 연속하여 획득한 제1 이미지 및 제2 이미지를 순차로 압축하는 과정에서, 제2 이미지를 압축하는 동안, 압축이 완료된 블록의 압축 손실 데이터를 이용하여 제1 이미지와 제2 이미지 사이의 장면 변경 여부 및 장면 변경 정도를 판단할 수 있다. 다양한 실시예에서, 인코더(212)는 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록들로 분할하여, 복수의 블록들을 순차로 압축하면서, 제1 블록에 대응하는 제1 압축 손실 데이터를 생성할 수 있고, 제2 블록에 대응하는 제2 압축 손실 데이터를 생성할 수 있다. 비트 버짓 가중치 생성부(2121)는 제1 압축 손실 데이터 및 제2 압축 손실 데이터에 기반하여, 제1 압축 속성을 결정할 수 있다. 인코더(212)는 제2 이미지를 제1 이미지의 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축할 수 있다. 인코더(212)는 제1 압축 속성에 따라 제3 블록을 압축할 수 있고, 제3 블록을 압축하면서 제3 블록에 대응하는 제3 압축 손실 데이터를 생성할 수 있다. 후처리 장면 변경 감지부(213)는 제3 압축 손실 데이터와 제1 압축 손실 데이터의 차이를 비교하고, 차이가 정해진 임계값보다 큰 경우 제1 이미지와 제2 이미지 사이에 장면 변경이 있다고 판단할 수 있다. 후처리 장면 변경 감지부(213)는 상기 차이가 임계값보다 작거나 같은 경우 장면 변경이 없다고 판단할 수 있다. 후처리 장면 변경 감지부(213)는 판단된 장면 변경 여부를 비트 버짓 가중치 생성부(2122)에 전송할 수 있다. 비트 버짓 가중치 생성부(2122)는 장면 변경이 없는 경우, 제1 압축 속성을 제4 블록을 압축하는데 적용할 수 있다. 비트 버짓 가중치 생성부(2122)는 장면 변경이 있는 경우, 제4 블록을 압축하기 위해 제1 압축 속성과 상이한 제2 압축 속성을 결정할 수 있다.
인코더(212)가 생성한 압축 데이터는 지정된 인터페이스를 통해 프로세서(120)에 전송될 수 있다.
다양한 실시예에 따르면, 카메라 모듈(180)의 데이터 전송부(410)는 인코더(212)가 이미지 데이터를 압축하여 생성한 비트 스트림을 지정된 인터페이스를 통해 프로세서(120)의 데이터 수신부(420)에 전송할 수 있다. 예를 들어, 지정된 인터페이스는 MIPI D-PHY/C-PHY 전송 표준을 따를 수 있다.
데이터 수신부(420)는 수신한 비트 스트림을 이미지 데이터로 압축 해제 하기 위해서 디코더(430)에 전송할 수 있다.
디코더(430)는 비트 스트림을 압축 해제하여 이미지 데이터를 생성할 수 있고, 이미지 데이터를 ISP(220)에 전송할 수 있다.
ISP(220)는 수신한 이미지 데이터에 다양한 처리를 할 수 있다.
도 5는, 다양한 실시예에 따른 이미지를 압축하는 전자 장치의 동작 방법을 설명하기 위한 순서도를 도시한다.
도 5를 참조하면, 다양한 실시예에 따라서, 전자 장치(예: 도 2의 전자 장치(101) 또는 제어 회로(210))는, 510 동작에서, 이미지 센서(예: 도 2의 이미지 센서(230))를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득할 수 있다.
520 동작에서, 제어 회로(210)는, 이미지 센서(230)로부터 제1 이미지에 관련된 제1 센싱 정보 및 제2 이미지에 관련된 제2 센싱 정보를 수신할 수 있다. 예를 들어, 이미지 센서(230)가 제1 이미지를 촬영할 때 획득한 감도 정보, 노출 시간 정보 등을 수신할 수 있다.
530 동작에서, 제어 회로(210)는, 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축할 수 있다. 제어 회로(210)가 제1 이미지를 압축하는 동작은 제1 블록에 대응하는 제1 압축 손실 데이터 및 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함할 수 있다.
540 동작에서, 제어 회로(210)는, 제1 블록 및 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서(예: 도 2의 프로세서(120))에 전송할 수 있다.
550 동작에서, 제어 회로(210)는, 제1 이미지를 압축하는 동안 생성한 정보(예: 제1 압축 손실 데이터 및 제2 압축 손실 데이터)를 선택적으로 이용하여 제2 이미지를 제1 블록 및 제2 블록의 각각 위치에 대응하는 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축할 수 있다. 다양한 실시예에서, 전자 장치(101)는 제1 이미지를 압축하는 동안 생성한 정보에 기반하여 결정된 제1 압축 속성에 따라 제3 블록 또는 제4 블록을 압축할 수 있다. 다양한 실시예에서, 전자 장치(101)는 제1 압축 속성과 상이한 제2 압축 속성에 따라 제3 블록 또는 제4 블록을 압축할 수 있다. 다양한 실시예에서, 전자 장치(101)는 제1 압축 속성에 따라 제3 블록을 압축하고, 제2 압축 속성에 따라 제4 블록을 압축할 수 있다. 예를 들어, 전자 장치(101)는 제1 센싱 정보와 제2 센싱 정보를 비교하여, 제1 이미지와 제2 이미지 사이에 장면 변경을 감지하는 경우, 제2 압축 속성에 따라 제3 블록 및 제4 블록을 압축할 수 있다. 또 다른 예를 들어, 전자 장치(101)는 제1 압축 속성에 따라 제3 블록을 압축하고, 제3 블록을 압축하면서 제3 블록에 대응하는 제3 압축 손실 데이터를 생성할 수 있다. 전자 장치(101)는 제1 압축 손실 데이터와 제3 압축 손실 데이터를 비교하여, 차이가 정해진 조건을 만족하는 경우 제1 이미지와 제2 이미지 사이에 장면 변경이 있다고 판단할 수 있고, 제2 압축 속성에 따라 제4 블록을 압축할 수 있다.
560 동작에서, 제어 회로(210)는, 제3 블록 및 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서(120)에 전송할 수 있다.
도 6은, 다양한 실시예에 따른 전자 장치에서 획득한 원시 이미지의 다양한 예시이다. 다양한 실시예에 따르면, 전자 장치(101)는 이미지 센서(230)를 통해 원시 이미지를 획득할 수 있고, 원시 이미지는 다양한 형식을 가질 수 있다. 도 6을 참조하면, 원시 이미지는 베이어 필터(a), RGBE 필터(b), CYYM 필터(c), CYGM 필터(d), RGBW 베이어(e), RGBW #1(f), RGBW #2(g), 또는 RGBW #3(h)일 수 있다.
베이어 필터(a)는 하나의 청색, 하나의 적색, 및 두 개의 녹색을 가지는 RGB 필터를 이용할 수 있다.
RGBE 필터(b)는 베이터 필터(a)에서 두 개의 녹색 중 하나를 에메랄드(emerald)색으로 조정한 필터를 이용할 수 있다.
CYYM 필터(c)는 하나의 청록색(cyan), 두 개의 황색(yellow), 및 하나의 자홍색(magenta)을 포함할 수 있다.
CYGM 필터(d)는 하나의 청록색, 하나의 황색, 하나의 녹색 및 하나의 자홍색을 포함할 수 있다.
RGBW 베이어(e)는 하나의 청색, 하나의 적색, 하나의 녹색 및 하나의 백색(white)를 포함할 수 있다.
RGBW #1(f), RGBW #2(g) 및 RGBW #3(h)는 RGBW 베이어(e)의 색 배치를 도 6과 같이 다르게 할 수 있다. RGBW #1(f)는 사선으로 청색, 적색, 녹색, 및 백색을 배치할 수 있다. RGBW #2(g)는 녹색, 백색, 적색, 백색을 연속하여 두 번 배치하고, 다음으로 청색, 백색, 녹색, 백색을 연속하여 두 번 배치할 수 있다. RGBW #3(h)는 녹색, 백색, 적색, 백색을 배치하고, 다음으로 청색, 백색, 녹색, 백색을 배치하고, 위의 두 라인을 반복하여 다음으로 배치할 수 있다.
도 7은, 다양한 실시예에 따른 전자 장치가, 이미지를 복수의 블록으로 분할한 예시이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서(230)가 획득한 이미지를 복수의 블록으로 분할하여, 분할된 복수의 블록들을 처리할 수 있다. 예를 들어, 전자 장치(101)는 복수의 블록들을 블록 단위로 압축할 수 있다. 도 7을 참조하면, 이미지 센서(230)가 획득한 이미지(700)를 4개의 블록으로 분할할 수 있다. 제1 블록(710)은 이미지(700)의 첫 번째 라인일 수 있다. 제2 블록(720), 제3 블록(730) 및 제4 블록(740)은 순서대로 이미지(700)의 두 번째 라인 내지 네 번째 라인일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)의 인코더(212)는 이미지 센서(230)로부터 블록 단위로 이미지를 수신하고, 각 블록마다 압축을 수행할 수 있다. 다양한 실시예에 따르면, 이미지 센서(230)가 순서대로 획득한 제1 이미지 및 제2 이미지에 대해서, 제1 이미지의 제1 블록이 도 7의 제1 블록(710)인 경우, 제2 이미지에서 제1 블록에 대응되는 것은 제2 이미지의 첫 번째 라인일 수 있다. 다양한 실시예에서, 이미지(700)는 베이어 이미지일 수 있고, 베이어 이미지의 각 라인에 대응하여 블록을 분할할 수 있다. 상기 실시예에서, 이미지(700)의 제1 블록과 인접한 제2 블록은 서로 상이한 색 구성을 가질 수 있다. 상기 라인(블록) 단위로 베이어 이미지(700)를 압축하는 경우, 동일한 색 구성을 가지는 이전 라인(블록)을 참조하는 것은 제한적일 수 있다. 예를 들어, 세 번째 라인과 동일한 색 구성을 가지는 라인은 첫 번째 라인이지만, 세 번째 라인과 인접한 라인은 두 번째 라인이고, 두 번째 라인은 세 번째 라인과 상이한 색 구성을 가질 수 있다. 세 번째 라인을 압축하면서, 거리 차이에 의해 첫 번째 라인의 압축 정보를 참조하는 것은 제한적일 수 있고, 인접한 두 번째 라인의 압축 정보를 참조하여 세 번째 라인을 압축하는 경우, 두 번째 라인과 세 번째 라인간의 연관성이 떨어져 압축률이 저하될 수 있다. 다양한 실시예에 따른 전자 장치(101)는, 이미지 센서(230)가 연속하여 획득한 제1 베이어 이미지 및 제2 베이어 이미지를 압축하기 위해서, 제2 베이어 이미지의 첫 번째 블록의 위치에 대응하는 제1 베이어 이미지의 블록의 압축 정보에 따라 결정된 압축 속성에 따라 제2 베이어 이미지를 압축할 수 있고, 압축 성능을 높일 수 있다.
도 8은, 다양한 실시예에 따른 전자 장치가, 이미지 센서의 센싱 정보에 따라 이미지를 압축하는 방법을 설명하기 위한 순서도를 도시한다. 다양한 실시예에 따라서, 전자 장치(예: 도 2의 전자 장치(101) 또는 제어 회로(210))는, 이미지 센서가 연속하여 획득한 이전 프레임 및 현재 프레임을 순차로 압축할 수 있다.
810 동작에서, 제어 회로(210)는, 이전 프레임에 관련된 센싱 정보와 현재 프레임의 센싱 정보를 비교할 수 있다. 예를 들어, 제어 회로(210)는 이전 프레임을 촬영한 노출 시간과 현재 프레임을 촬영한 노출 시간의 차이를 비교할 수 있다.
820 동작에서, 제어 회로(210)는 이전 프레임에 관련된 센싱 정보와 현재 프레임에 관련된 센싱 정보의 차이가 정해진 조건을 만족하는지 여부를 판단할 수 있다. 제어 회로(210)는 정해진 조건을 만족하는지에 기반하여, 장면이 변경되었는지 판단할 수 있다.
830 동작에서, 제어 회로(210)는 이전 프레임에 관련된 센싱 정보와 현재 프레임에 관련된 센싱 정보의 차이가 정해진 조건을 만족하는 경우 장면이 변경되지 않았다고 판단하고, 이전 프레임을 압축하는 동안 생성한 정보를 이용하여 현재 프레임을 압축할 수 있다. 예를 들어, 제어 회로(210)는 이전 프레임을 압축하는 동안 생성한 정보에 기반하여 제1 압축 속성을 결정할 수 있고, 제1 압축 속성에 따라 현재 프레임을 압축할 수 있다.
840 동작에서, 제어 회로(210)는 이전 프레임에 관련된 센싱 정보와 현재 프레임에 관련된 센싱 정보의 차이가 정해진 조건을 만족하지 않는 경우 장면이 변경되었다고 판단하고, 이전 프레임을 압축하는 동안 생성한 정보와 다른 정보를 이용하여 현재 프레임을 압축할 수 있다. 예를 들어, 제어 회로(210)는, 제1 압축 속성과 상이한 제2 압축 속성에 따라 현재 프레임을 압축할 수 있다.
도 9는 다양한 실시예에 따른 전자 장치가, 이미지를 압축하는 동안 블록 별로 압축 손실 데이터(900)를 생성한 예시이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서(230)가 획득한 이미지를 복수의 블록으로 분할하고, 블록 단위로 압축할 수 있다. 전자 장치(101)는, 이미지 센서(230)가 획득한 이미지(910)를 제1 블록(901), 제2 블록(902), 제3 블록(903) 및 제4 블록(904)으로 분할할 수 있다. 전자 장치(101)는 이미지(910)를 블록 단위로 압축하면서 각 블록에 대한 압축 손실 데이터(920)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 제1 블록(901)을 압축하는 동안 제1 블록(901)에 대하여 1000 비트만큼 압축 손실이 발생할 수 있고, 전자 장치(101)는 제1 블록(901)에 대한 압축 손실 데이터가 1000 비트인 정보를 생성할 수 있다. 이미지(910)의 제1 블록은 1000 비트, 제2 블록은 500 비트, 제3 블록은 250 비트, 제4 블록은 1000 비트만큼 압축 손실이 발생할수 있다. 압축 손실 데이터가 클수록 해당 블록의 복잡도가 높다는 것을 판단할 수 있고, 블록의 복잡도에 따라 비트 버짓을 할당할수록 압축 효율이 좋아질 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 이미지(910)의 압축 손실 데이터 비율 4:2:1:4를 반영하여 압축 속성를 결정할 수 있다. 전자 장치(101)는 이미지(910)와 유사한 다른 이미지(예: 다음 프레임)를 압축하는 경우, 상기 결정한 압축 속성을 반영할 수 있다. 예를 들어, 전자 장치(101)는 이미지(910)와 유사한 다른 이미지의 각 블록에 비트를 4:2:1:4로 할당할 수 있다.
도 10은 다양한 실시예에 따른 전자 장치가, N-1 프레임의 압축 손실 데이터를 반영하여 N 프레임을 압축하는 방법을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서(230)가 연속하여 획득한 N-1 프레임(1000) 및 N 프레임(1100)을 순차로 압축할 수 있다. 다양한 실시예에서, 전자 장치(101)는 N-1 프레임(1000)과 N 프레임(1100) 사이에 장면 변화가 없다고 판단한 경우, N-1 프레임(1000)의 각 블록에 대한 복잡도 정보를 이용하여 N 프레임(1100)을 압축할 수 있다. N-1 프레임(1000)의 블록별 복잡도 정보는 N-1 프레임(1000)을 압축하는 동안 생성한 압축 손실 데이터에 기반하여 결정될 수 있다.
다양한 실시예에서, 전자 장치(101)는, 압축 속성 정보(1010)를 이용하여 N-1 프레임(1000)을 복수의 블록으로 분할하여, 복수의 블록들을 순차로 압축할 수 있다. 예를 들어, 전자 장치(101)는, N-1 프레임(1000)을 제1 블록(1001) 내지 제4 블록(1004)로 분할하고, 압축 속성 정보(1010)에 따라 제1 블록(1001) 내지 제4 블록(1004)를 순차로 압축하면서, 각 블록에 대한 압축 손실 데이터(1020)를 생성할 수 있다. 2750 비트를 이용하여 제1 블록(1001)을 압축하는 동안, 제1 블록(1001)에서 발생한 압축 손실 데이터는 1000 비트일 수 있다. 전자 장치(101)는 N-1 프레임을 압축한 후, N 프레임을 압축하기 전에 N 프레임을 압축하기 위해서, N-1 프레임을 압축하면서 생성된 정보(예: 압축 손실 데이터)를 이용하여 N 프레임을 압축하기로 결정할 수 있다. 전자 장치(101)는 N-1 프레임(1000)의 각 블록마다 압축 손실 데이터의 비율을 반영하여, 압축 속성 정보(1110)을 생성할 수 있다. 각 프레임을 압축하는데 사용할 수 있는 전체 비트량이 11,000 비트인 경우, N-1 프레임에 대한 압축 속성 정보(1010)는 전체 비트를 각 블록에 동일한 양으로 할당할 수 있다. N 프레임에 대한 압축 속성 정보(1110)는 N-1 프레임의 압축 손실 데이터의 비율에 따라 N 프레임의 각 블록에 상이한 양의 비트를 할당한 정보를 포함할 수 있다. 예를 들어, 압축 속성 정보(1110)에 따르면, N 프레임의 제1 블록(1101)에 4000 비트를 할당하고, 제2 블록(1102)에 2000 비트를 할당하고, 제3 블록(1103)에 1000 비트를 할당하고, 제4 블록(1104)에 4000 비트를 할당할 수 있다. 전자 장치(101)는 압축 속성 정보(1110)에 따라 N 프레임(1100)을 압축할 수 있고, N 프레임(1100)의 각 블록을 압축하는 동안, 각 블록에 대한 압축 손실 데이터(1120)를 생성할 수 있다.
도 11은 다양한 실시예에 따른 전자 장치가, N-1 프레임의 압축 손실 데이터와 무관하게 N 프레임을 압축하는 방법을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서(230)가 연속하여 획득한 N-1 프레임(1000) 및 N 프레임(1100)을 순차로 압축할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)는 N-1 프레임(1000)과 N 프레임(1100) 사이에 장면이 변경되었다고 판단된 경우, N-1 프레임(1000)의 영역별 복잡도 정보를 고려하지 않고, N 프레임(1100)을 압축할 수 있다. 예를 들어, 전자 장치(101)는 N-1 프레임(1000)을 압축하면서 생성한 블록별 압축 손실 데이터(1020)를 고려하지 않고, N 프레임(1100)을 압축하는데 사용할 수 있는 전체 11,000 비트를 N 프레임(1100)의 각 블록에 동일한 양으로 할당할 수 있다. 압축 속성 정보(1130)는 11,000 비트를 각 블록에 동일하게 2750 비트씩 할당된 정보를 포함할 수 있다. 전자 장치(101)는 압축 속성 정보(1130)에 따라 N 프레임(1100)을 압축할 수 있고, N 프레임(1100)의 각 블록을 압축하는 동안, 각 블록에 대한 압축 손실 데이터(1140)를 생성할 수 있다.
도 12는 다양한 실시예에 따른 전자 장치가, 이미지를 복수의 블록으로 분할하여 압축하는 방법을 설명하기 위한 순서도를 도시한다. 다양한 실시예에 따라서, 전자 장치(예: 도 2의 전자 장치(101) 또는 제어 회로(210))는, 이미지 센서가 연속하여 획득한 이전 프레임 및 현재 프레임을 순차로 압축할 수 있다. 제어 회로(210)는 이전 프레임 및 현재 프레임을 복수의 블록으로 분할하여 각각 압축할 수 있다.
1210 동작에서, 제어 회로(210)는, 현재 프레임의 k 번째 블록을 압축하고, k 번째 블록에 대응하는 제1 압축 손실 데이터를 생성할 수 있다.
1220 동작에서, 제어 회로(210)는, 제1 압축 손실 데이터와 이전 프레임의 k 번째 블록에 대응하는 제2 압축 손실 데이터를 비교할 수 있다.
1230 동작에서, 제어 회로(210)는, 제1 압축 손실 데이터와 이전 프레임의 k 번째 블록에 대응하는 제2 압축 손실 데이터의 차이가 정해진 조건을 만족하는지 판단할 수 있다.
1240 동작에서, 제어 회로(210)는 제1 압축 손실 데이터와 이전 프레임의 k 번째 블록에 대응하는 제2 압축 손실 데이터의 차이가 정해진 조건을 만족하는 경우, 이전 프레임과 현재 프레임이 유사하다고 판단하고, 이전 프레임을 압축하는 동안 생성된 정보를 이용하여 현재 프레임의 k+1 번째 블록을 압축할 수 있다. 제어 회로(210)는 이전 프레임을 압축하는 동안 블록 별 압축 손실 데이터에 기반하여 제1 압축 속성을 결정할 수 있고, 제1 압축 속성에 따라 현재 프레임의 k+1 번째 블록을 압축할 수 있다.
1250 동작에서, 제어 회로(210)는 제1 압축 손실 데이터와 이전 프레임의 k 번째 블록에 대응하는 제2 압축 손실 데이터의 차이가 정해진 조건을 만족하지 않는 경우, 이전 프레임과 현재 프레임이 유사하지 않다고 판단하고, 이전 프레임을 압축하는 동안 생성된 정보와 다른 정보를 이용하여 현재 프레임의 k+1 번째 블록을 압축할 수 있다. 제어 회로(210)는 제1 압축 속성과 상이한 제2 압축 속성에 따라 현재 프레임의 k+1 번째 블록을 압축할 수 있다.
도 13은 다양한 실시예에 따른 전자 장치가 이미지를 복수의 블록으로 분할하여 블록 단위로 이전 블록의 압축 관련 정보를 고려하여 현재 블록을 압축하는 방법을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서가 획득한 N 프레임을 복수의 블록으로 분할하여, 복수의 블록들을 순차로 압축할 수 있다. 전자 장치(101)는 N 프레임(1310)을 k개의 블록으로 분할할 수 있다. 전자 장치(101)는 N 프레임(1310)을 압축하는데 사용할 수 있는 전체 비트량에서 각 블록을 순차로 압축하는 동안, 동적으로 각 블록을 압축하는데 얼만큼의 비트를 사용할지 결정할 수 있다. 도 13을 참조하면, 전자 장치(101)는 N 프레임(1310)을 압축하기 위해 각 블록에 할당된 비트 버짓량 및 각 블록을 압축하는 동안 생성한 손실된 비트량에 대한 정보(1320)를 생성할 수 있다. 예를 들어, N 프레임(1310)의 첫 번째 블록은 압축하기 위해 2000 비트가 할당되었고, 압축한 이후 손실된 비트량은 4000 비트일 수 있다. 전자 장치(101)는 첫 번째 블록을 압축한 후 두 번째 블록을 압축하기 전에, 첫 번째 블록의 손실된 비트량과 N 프레임 이전에 이미지 센서에서 획득한 이전 프레임(N-1 프레임)의 첫 번째 블록의 손실된 비트량의 차이를 비교하여, 차이가 정해진 임계값 이내인 경우 N-1 프레임과 N 프레임 사이에 장면 변경이 없고, 두 프레임은 유사하다고 예측할 수 있다. 전자 장치(101)는 N 프레임의 첫 번째 블록의 압축 결과를 이용하여, N 프레임과 N-1 프레임의 복잡도가 유사한지 여부를 판단할 수 있고, 판단 결과 N-1 프레임과 N 프레임이 유사한 경우 N-1 프레임의 블록별 손실된 비트량에 기반한 압축 속성 정보를 N 프레임의 압축에 적용할 수 있다. N 프레임의 두 번째 블록의 비트 버짓량(1322)은 첫 번째 블록의 손실된 비트량(1321)을 이용하여 판단된 결과를 반영하여 결정될 수 있다. 전자 장치(101)는 N 프레임(1310)의 연속된 i-1 블록 및 i 블록에 대해서, i-1 블록을 압축하는 동안 생성한 압축 관련 정보인 손실된 비트량(1323)을 이용하여 N 프레임(1310)과 N-1 프레임이 유사한지 판단할 수 있고, 판단 결과에 따라 i 블록을 압축하기 위한 비트 버짓량(1324)를 결정할 수 있다. 예를 들어, 전자 장치(101)는 N 프레임(1310)이 N-1 프레임과 유사한 경우, N-1 프레임에서 i 번째 블록을 압축하면서 생성한 손실된 비트량을 고려하여 N 프레임의 i 블록을 압축하기 위한 비트량을 결정할 수 있다. 또는, 전자 장치(101)는 N 프레임(1310)이 N-1 프레임과 유사하지 않은 경우, N-1 프레임의 압축 결과를 고려하지 않고, 정해진 압축 속성에 따라 i 블록을 압축하기 위한 비트량을 결정할 수 있다.
도 14는 다양한 실시예에 따른 전자 장치가 현재 프레임을 복수의 블록으로 분할하여 압축할 때 현재 프레임에서 압축된 블록의 압축 정보와 이전 프레임의 압축 정보를 비교하는 방법을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 N-1 프레임(1410)을 복수의 블록으로 분할하여 압축 속성 정보(1420)에 따라 블록별로 압축하면서, 복수의 블록들에 각 블록 별로 압축 손실에 따른 손실된 비트량 정보(1430)을 생성할 수 있다. 전자 장치(101)는 N 프레임을 압축하는 동안, N 프레임과 N-1 프레임이 유사한지 여부를 판단할 수 있다. 도 14를 참조하면, 전자 장치(101)는 N 프레임의 첫 번째 블록(1451)을 압축 속성 정보(1460)에 따라 압축하면서, 압축 손실에 따라 500 비트가 손실될 수 있다. 전자 장치(101)는 첫 번째 블록(1451)에 대응하는 손실된 500 비트(1471)을 블록별 비트량 정보(1470)에 저장할 수 있다. 전자 장치(101)는 N-1 프레임(1410)과 N 프레임(1450) 사이이 유사한지 판단하기 위해서, N-1 프레임(1410)의 첫 번째 블록(1411)의 손실된 비트량(1431)과 N 프레임(1450)의 첫 번째 블록(1451)의 손실된 비트량(1471)을 비교할 수 있다. 손실된 비트량(1431)과 손실된 비트량(1471)의 차이가 정해진 임계값보다 큰 경우, 전자 장치(101)는 N-1 프레임(1410)과 N 프레임(1450)의 유사도가 낮다고 판단할 수 있다. 예를 들어, N-1 프레임(1410)과 N 프레임(1450) 사이에 장면이 변경되었음을 예측할 수 있다. 전자 장치(101)는 N-1 프레임(1410)과 N 프레임(1450)이 유사하지 않기 때문에 N 프레임(1450)을 압축하기 위해서 N-1 프레임(1410)의 복잡도 정보를 이용하지 않을 수 있다. 다양한 실시예에서, 전자 장치(101)는 손실된 비트량(1431)과 손실된 비트량(1471)의 차이가 정해진 임계값보다 작거나 같은 경우, N-1 프레임(1410)과 N 프레임(1450)은 유사하다고 판단할 수 있고, N 프레임(1450)을 압축하기 위해서 N-1 프레임(1410)의 복잡도 정보를 이용할 수 있다. 전자 장치(101)는 N 프레임(1450)의 첫 번째 블록(1451)을 압축한 후에 동적으로 압축 속성 정보(1460) 중 두 번째 이후 블록들(1452, 1453, 1454)에 대한 압축 속성 정보(1461)를 변경할 수 있다. 도 15a 내지 도 15c는 N 프레임(1450)의 첫 번째 블록을 압축한 이후 다음 블록들에 대한 압축 속성 정보(1461)을 변경하는 다양한 방법을 예시한다.
도 15a 내지 도 15c는 다양한 실시예에 따른 전자 장치가 현재 프레임을 압축하는 동안 동적으로 압축 속성 정보를 변경하는 방법의 다양한 실시예를 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서가 연속하여 획득한 N-1 프레임과 N 프레임을 압축할 수 있고, N-1 프레임을 압축한 정보를 선택적으로 이용하여 N 프레임을 압축할 수 있다. 전자 장치(101)는 N 프레임(1510)을 압축하기 위한 압축 속성 정보(1516, 1517)에 따라 N 프레임(1510)의 각 블록들을 순차로 압축할 수 있다. 전자 장치(101)는, N 프레임의 제1 블록(1511)을 압축한 이후, 다음 블록들(1512 내지 1514)에 대한 압축 속성 정보(1517)을 변경할 수 있다. 도 15a를 참조하면, 전자 장치(101)는 N 프레임을 압축하는데 사용할 수 있는 전체 비트량 11,000 비트 중에서 제1 블록(1511)을 압축하는데 사용한 비트량 4000 비트를 제외하고 남은 7,000 비트를 나머지 블록들에 재할당할 수 있다. 예를 들어, 도 14를 참조하면, 전자 장치(101)는 N 프레임(1450)의 첫 번째 블록을 압축한 결과를 이용하여 N-1 프레임과 N 프레임 사이의 유사도를 판단한 결과, 유사하지 않다고 판단된 경우, N-1 프레임의 복잡도 정보를 이용하지 않는 것이 N 프레임을 압축하는데 더 적합하다고 판단할 수 있다. 전자 장치(101)는, 나머지 비트량 7,000 비트를 나머지 블록들에 동일한 양으로 각각 2333 비트씩 할당할 수 있고, 이에 따라 압축 속성 정보(1517)를 변경할 수 있다. 도 15b를 참조하면, 전자 장치(101)는 N 프레임(1450)의 첫 번째 블록을 압축한 결과를 이용하여 N-1 프레임과 N 프레임 사이의 유사도를 판단한 결과, 유사하다고 판단된 경우, N-1 프레임의 복잡도 정보를 이용하는 것이 N 프레임을 압축하는데 더 적합하다고 판단할 수 있다. 이 경우, N-1 프레임의 복잡도 정보가 반영된 도 14의 압축 속성 정보(1461)을 변경하지 않고, 그대로 N 프레임의 나머지 블록들에 적용할 수 있다(1518). 도 15c를 참조하면, 전자 장치(101)는 N 프레임(1450)의 첫 번째 블록을 압축한 결과를 이용하여 N-1 프레임과 N 프레임 사이의 유사도를 판단한 결과, 유사하지 않다고 판단된 경우, N-1 프레임의 복잡도 정보가 반영된 압축 속성 정보(1461)을 일부 조정하여, 나머지 블록들에 대한 압축 속성 정보(1519)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 압축 속성 정부(1461)의 비율의 차이를 절반으로 줄여 2333 비트, 1555 비트, 3111 비트로 조절한 압축 속성 정보(1519)를 생성할 수 있다.
도 16은 다양한 실시예에 따른 전자 장치가 이미지를 압축하면서, 이미지의 블록별 밝기 정보를 생성한 예시이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서가 획득한 이미지를 압축할 수 있고, 압축하는 동안 압축에 관한 정보를 함께 생성할 수 있다. 도 16을 참조하면, 전자 장치(101)는 이미지 센서가 획득한 프레임(1600)을 복수의 블록을 분할하고, 압축할 수 있다. 전자 장치(101)는 프레임(1600)을 압축하면서 각 블록마다 밝기 정보(1620)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 프레임(1600)의 제1 블록(1601)의 밝기가 2, 제2 블록(1602)의 밝기가 5, 제10 블록(1610)의 밝기가 1로 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)는 프레임(1600)의 밝기 정보에 따라 압축 속성을 결정할 수 있다. 이미지에서 상대적으로 밝은 부분은 사용자의 눈에 덜 민감하고, 상대적으로 어두운 부분은 사용자의 눈에 민감할 수 있다. 전자 장치(101)는 프레임의 복수의 블록들에 대해 밝기 정보가 어두울수록 해당 블록을 압축하는데 사용할 수 있는 비트를 더 많이 할당할 수 있다. 이 경우, 동일한 압축 효율에서 고화질의 압축 이미지가 획득될 수 있다.
도 17은 다양한 실시예에 따른 전자 장치가 이미지를 압축하면서, 이미지의 블록별 엣지 정보를 생성한 예시이다. 다양한 실시예에 따른 전자 장치(101)는 이미지 센서가 획득한 프레임(1700)을 복수의 블록으로 분할하여, 복수의 블록들을 압축하면서 각 블록에 대응하는 엣지 정보(1720)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 각 블록에 포함된 엣지의 수를 해당 블록의 엣지 정보로 생성할 수 있다. 도 17을 참조하면, 전자 장치(101)는 프레임(1700)의 제1 블록에 포함된 엣지의 개수를 48개, 제2 블록에 포함된 엣지의 개수를 24개, 제10 블록에 포함된 엣지의 개수를 7개로 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)는 프레임(1600)의 엣지 정보에 따라 압축 속성을 결정할 수 있다. 전자 장치(101)는 이미지에 엣지가 많이 포함된 영역일수록 복잡도가 높다고 판단할 수 있다. 전자 장치(101)는 프레임의 복수의 블록들에 대해 엣지 개수가 많을수록 해당 블록을 압축하는데 사용할 수 있는 비트를 더 많이 할당할 수 있다. 이 경우, 동일한 압축 효율에서 고화질의 압축 이미지가 획득될 수 있다.
도 18은 다양한 실시예에 따른 전자 장치가 동일한 두 개의 이미지를 순차로 압축하는 경우 압축된 이미지의 화질을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 N-1 프레임(1810) 및 N 프레임(1820)을 연속하여 압축할 수 있다. 도 18을 참조하면, N-1 프레임(1810) 및 N 프레임(1820)은 동일한 이미지일 수 있다. 전자 장치(101)는 N-1 프레임(1810)을 제1 블록(1811) 및 제2 블록(1812)로 분할하여, 각각 압축할 수 있다. 전자 장치(101)는 제1 블록(1811)을 압축하고, 제1 블록(1811)에 대응하는 제1 압축 손실 데이터를 생성할 수 있고, 제2 블록(1812)를 압축하고, 제2 블록(1812)에 대응하는 제2 압축 손실 데이터를 생성할 수 있다. 전자 장치(101)는 N 프레임(1820)을 제1 블록(1811) 및 제2 블록(1812)의 위치에 각각 대응하는 제3 블록(1821) 및 제4 블록(1822)로 분할하여 압축할 수 있다. 전자 장치(101)는 N-1 프레임(1810)을 압축하는 동안 생성한 제1 압축 손실 데이터에 기반하여 생성한 압축 속성에 따라 제3 블록(1821)을 압축할 수 있다. 전자 장치(101)는 제3 블록(1821)을 압축하면서 제3 블록(1821)에 대응하는 제3 압축 손실 데이터를 생성할 수 있다. 전자 장치(101)는 제4 블록(1822)을 압축하기 전에, 제3 압축 손실 데이터와 제1 압축 손실 데이터의 차이를 판단할 수 있다. N-1 프레임(1810)과 N 프레임(1820)은 동일하기 때문에, 제3 압축 손실 데이터와 제1 압축 손실 데이터는 동일할 수 있다. 전자 장치(101)는 제3 압축 손실 데이터와 제1 압축 손실 데이터의 차이가 없는 것에 기반하여, N-1 프레임(1810)과 N 프레임(1820)이 유사하다고 판단할 수 있고, N-1 프레임(1810)의 압축 정보인 제2 압축 손실 데이터에 기반하여 생성한 압축 속성으로 제4 블록을 압축할 수 있다. N-1 프레임(1810)에 대한 압축된 데이터의 화질보다 N 프레임(1820)에 대한 압축된 데이터의 화질이 더 개선될 수 있다.
도 19는 다양한 실시예에 따른 전자 장치가 서로 상이한 두 개의 이미지를 순차로 압축하는 경우 압축된 이미지의 화질을 설명하기 위한 개념도이다. 다양한 실시예에 따른 전자 장치(101)는 도 18과 달리, 상이한 N-1 프레임(1910) 및 N 프레임(1920)을 압축할 수 있다. 전자 장치(101)는 N 프레임(1920)을 제1 블록(1921) 및 제2 블록(1922)으로 분할하여 압축할 수 있다. 전자 장치(101)는 N-1 프레임(1910)을 압축하면서 생성한 압축 손실 데이터에 기반하여 결정한 압축 속성에 따라 제1 블록(1921)을 압축할 수 있다. 전자 장치(101)는 제1 블록(1921)을 압축한 후 제1 블록을 압축하면서 생성한 압축 손실 데이터와 제1 블록(1921)의 위치에 대응하는 N-1 프레임의 블록의 압축 손실 데이터를 비교하여 N-1 프레임(1910)과 N 프레임(1920)이 상이한 것을 판단할 수 있다. 전자 장치(101)는 N-1 프레임(1910)과 N 프레임(1920)이 상이한 판단 결과에 따라 N-1 프레임(1910)을 압축하는 동안 생성한 압축 손실 데이터에 기반하여 생성한 압축 속성과 다른 압축 속성으로 제2 블록(1922)을 압축할 수 있다. 전자 장치(101)는 블록마다 N-1 프레임(1910)을 압축하는 동안 생성한 압축 손실 데이터를 선택적으로 이용하여 압축하기 때문에, 제2 블록(1922)을 N-1 프레임(1910)을 압축하면서 생성한 압축 손실 데이터에 기반하여 결정한 압축 속성에 따라 압축한 경우와 다른 압축 속성으로 제2 블록(1922)을 압축한 경우, 압축된 데이터의 화질이 개선될 수 있다.
다양한 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101))에 있어서, 프로세서(예: 도 1의 프로세서(120)), 이미지 센서(예: 도 2의 이미지 센서(230)), 및 상기 이미지 센서(230)와 전기적으로 연결되고, 상기 프로세서(120)와 지정된 인터페이스를 통해 연결된 제어 회로(예: 도 2의 제어 회로(210))를 포함하고, 상기 제어 회로(210)는, 상기 이미지 센서(230)를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하고, 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서(120)로 전송하고, 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하고, 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서(120)로 전송할 수 있다. 일실시예에 따라, 상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 포함하고, 상기 제어 회로(210)는, 상기 제3 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로은, 상기 제1 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제3 블록을 압축하고, 및 상기 제4 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제2 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제4 블록을 압축하도록 설정될 수 있다. 일실시예에 따라, 상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량을 상기 제1 이미지의 상기 복수의 블록들에 동일한 크기로 할당된 비트량 정보를 포함하고, 상기 제어 회로(210)는, 상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 동일한 크기로 할당된 비트량으로 상기 제4 블록을 압축하도록 설정될 수 있다. 일실시예에 따라, 상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 적어도 일부 조정한 비트량 정보를 포함하고, 상기 제어 회로(210)는, 상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 조정된 비트량으로 상기 제4 블록을 압축하도록 설정될 수 있다. 일실시예에 따라, 상기 제어 회로(210)는, 상기 이미지 센서(230)로부터, 상기 제2 이미지와 관련된 센싱 정보를 수신하고, 및 상기 제3 블록을 상기 압축하는 동작의 일부로, 상기 센싱 정보에 기초하여 상기 제2 이미지와 상기 제1 이미지와의 차이를 예측하고, 상기 차이가 정해진 조건을 만족하는 것에 기반하여 상기 제1 압축 속성 또는 상기 제2 압축 속성 중 어느 하나를 선택하여, 상기 선택된 제1 압축 속성 또는 제2 압축 속성에 따라 상기 제3 블록을 압축하도록 설정될 수 있다. 일실시예에 따라, 상기 센싱 정보는, 이미지 센서(230)의 감도(ISO), 노출 시간(exposure time), 셔터 속도(shutter speed), 모션(motion), 이미지 촬영과 연관된 정보 중 적어도 하나를 포함할 수 있다. 일실시예에 따라, 상기 제어 회로(210)는, 상기 제1 블록을 압축하는 동안, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지(edge) 정보 중 적어도 하나를 생성하고, 상기 제1 압축 속성은, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지 정보 중 적어도 하나를 반영하여 결정될 수 있다. 일실시예에 따라, 상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 밝기에 따라 할당된 비트량 정보를 포함하도록 설정될 수 있다. 일실시예에 따라, 상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록드에 대응하는 엣지 개수에 따라 할당된 비트량 정보를 포함하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101))의 동작 방법은, 이미지 센서(예: 도 2의 이미지 센서(230))를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작, 제어 회로(예: 도 2의 제어 회로(210))에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서(예: 도 1의 프로세서(120))로 전송하는 동작, 상기 제어 회로에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작, 상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고, 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서(120)로 전송하는 동작을 포함할 수 있다.
다양한 실시예에서, 컴퓨터 상에서 수행하기 위한 프로그램(예:도 1의 프로그램(140))을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에서, 상기 프로그램(140)은, 프로세서(예: 도 1의 프로세서(120))에 의한 실행 시, 상기 프로세서(120)가, 이미지 센서(예: 도 2의 이미지 센서(230))를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작, 제어 회로(예: 도 2의 제어 회로(210))에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스(예: 도 1의 인터페이스(177))를 통해 프로세서(120)로 전송하는 동작, 상기 제어 회로(210)에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작, 상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록 및 제2 블록 각각의 위치에 대응하는, 제3 블록 및 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이 값이 제2 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고, 및 상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스(177)를 통해 상기 프로세서(120)로 전송하는 동작을 수행할 수 있다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    프로세서;
    이미지 센서; 및
    상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 지정된 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는,
    상기 이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하고,
    상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고,
    상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하고,
    상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하고,
    상기 제2 이미지를, 상기 제1 블록의 위치에 대응하는 제3 블록 및 상기 제2 블록의 위치에 대응하는 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고,
    상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고,
    상기 제4 블록을 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이가 상기 제1 지정된 조건을 만족하지 않는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하고, 및
    상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하도록 설정된 전자 장치.
  2. 제1항에 있어서,
    상기 제1 압축 속성은 상기 제 1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간에 비율에 기반하여 할당된 비트량 정보를 포함하고,
    상기 제어 회로는,
    상기 제3 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제1 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제3 블록을 압축하고, 및
    상기 제4 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제2 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제4 블록을 압축하도록 설정된 전자 장치.
  3. 제1항에 있어서,
    상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량을 상기 제1 이미지의 상기 복수의 블록들에 동일한 크기로 할당된 비트량 정보를 포함하고,
    상기 제어 회로는,
    상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 동일한 크기로 할당된 비트량으로 상기 제4 블록을 압축하도록 설정된 전자 장치.
  4. 제1항에 있어서,
    상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 적어도 일부 조정한 비트량 정보를 포함하고,
    상기 제어 회로는,
    상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 조정된 비트량으로 상기 제4 블록을 압축하도록 설정된 전자 장치.
  5. 제1항에 있어서,
    상기 제어 회로는,
    상기 이미지 센서로부터, 상기 제2 이미지와 관련된 센싱 정보를 수신하고, 및
    상기 제3 블록을 상기 압축하는 동작의 일부로, 상기 센싱 정보에 기초하여 상기 제2 이미지와 상기 제1 이미지와의 차이를 예측하고, 상기 차이가 정해진 조건을 만족하는 것에 기반하여 상기 제1 압축 속성 또는 상기 제2 압축 속성 중 어느 하나를 선택하여, 상기 선택된 제1 압축 속성 또는 제2 압축 속성에 따라 상기 제3 블록을 압축하도록 설정된 전자 장치.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 센싱 정보는, 이미지 센서의 감도(ISO), 노출 시간(exposure time), 셔터 속도(shutter speed), 모션(motion), 이미지 촬영과 연관된 정보 중 적어도 하나를 포함하는 전자 장치.
  7. 제1항에 있어서,
    상기 제어 회로는, 상기 제1 블록을 압축하는 동안, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지(edge) 정보 중 적어도 하나를 생성하고,
    상기 제1 압축 속성은, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지 정보 중 적어도 하나를 반영하여 결정되는 전자 장치.
  8. 제7항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 밝기에 따라 할당된 비트량 정보를 포함하도록 설정된 전자 장치.
  9. 제7항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 엣지 개수에 따라 할당된 비트량 정보를 포함하도록 설정된 전자 장치.
  10. 전자 장치의 동작 방법에 있어서,
    이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작;
    제어 회로에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고;
    상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서로 전송하는 동작;
    상기 제어 회로에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작;
    상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록의 위치에 대응하는 제3 블록 및 상기 제2 블록의 위치에 대응하는 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이가 상기 제1 지정된 조건을 만족하는 않는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고; 및
    상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하는 동작을 포함하는 전자 장치의 동작 방법.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 포함하고,
    상기 제어 회로에 의해, 상기 제3 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제1 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제3 블록을 압축하고, 및
    상기 제어 회로에 의해, 상기 제4 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제2 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제4 블록을 압축하는 동작을 포함하는 전자 장치의 동작 방법.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량을 상기 제1 이미지의 상기 복수의 블록들에 동일한 크기로 할당된 비트량 정보를 포함하고,
    상기 제어 회로에 의해, 상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 동일한 크기로 할당된 비트량으로 상기 제4 블록을 압축하는 동작을 포함하는 전자 장치의 동작 방법.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제2 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 적어도 일부 조정한 비트량 정보를 포함하고,
    상기 제어 회로에 의해, 상기 제4 블록을 상기 제2 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 조정된 비트량으로 상기 제4 블록을 압축하는 동작을 포함하는 전자 장치의 동작 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제어 회로에 의해, 상기 이미지 센서로부터, 상기 제2 이미지와 관련된 센싱 정보를 수신하는 동작, 및
    상기 제어 회로에 의해 상기 제3 블록을 상기 압축하는 동작의 일부로, 상기 센싱 정보에 기초하여 상기 제2 이미지와 상기 제1 이미지와의 차이를 예측하고, 상기 차이가 정해진 조건을 만족하는 것에 기반하여 상기 제1 압축 속성 또는 상기 제2 압축 속성 중 어느 하나를 선택하고, 상기 선택된 제1 압축 속성 또는 제2 압축 속성에 따라 상기 제3 블록을 압축하는 동작을 더 포함하는 전자 장치의 동작 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 센싱 정보는, 이미지 센서의 감도, 노출 시간, 셔터 속도, 모션, 이미지 촬영과 연관된 정보 중 적어도 하나를 포함하는 전자 장치의 동작 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 제어 회로에 의해, 상기 제1 블록을 압축하는 동안, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지(edge) 정보 중 적어도 하나를 생성하는 동작을 더 포함하고,
    상기 제1 압축 속성은, 상기 제1 블록의 밝기 정보 및 상기 제1 블록에 포함된 엣지 정보 중 적어도 하나를 반영하여 결정되는 전자 장치의 동작 방법.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 밝기에 따라 할당된 비트량 정보를 포함하도록 설정된 전자 장치의 동작 방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 엣지 개수에 따라 할당된 비트량 정보를 포함하도록 설정된 전자 장치의 동작 방법.
  19. 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 프로그램은, 프로세서에 의한 실행 시, 상기 프로세서가,
    이미지 센서를 이용하여, 제1 이미지 및 상기 제1 이미지 이후에 연속된 제2 이미지를 획득하는 동작;
    제어 회로에 의해 상기 제1 이미지를 제1 블록 및 제2 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제1 이미지를 상기 압축하는 동작은 상기 제1 블록에 대응하는 제1 압축 손실 데이터 및 상기 제2 블록에 대응하는 제2 압축 손실 데이터를 생성하는 동작을 포함하고;
    상기 제1 블록 및 상기 제2 블록에 대응하는 상기 제1 이미지의 압축 데이터를 지정된 인터페이스를 통해 프로세서로 전송하는 동작;
    상기 제어 회로에 의해 상기 제1 압축 손실 데이터 및 상기 제2 압축 손실 데이터에 기반하여 제1 압축 속성을 결정하는 동작;
    상기 제어 회로에 의해 상기 제2 이미지를, 상기 제1 블록의 위치에 대응하는 제3 블록 및 상기 제2 블록의 위치에 대응하는 제4 블록을 포함하는 복수의 블록으로 분할하여 압축하고, 상기 제3 블록을 상기 압축하는 동작은, 상기 제1 압축 속성에 따라 상기 제3 블록을 압축하고, 상기 제3 블록에 대응하는 제3 압축 손실 데이터를 생성하는 동작을 포함하고, 상기 제4 블록을 상기 압축하는 동작은, 상기 제1 압축 손실 데이터와 상기 제3 압축 손실 데이터의 차이를 비교하고, 상기 차이가 제1 지정된 조건을 만족하는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성에 따라 압축하고, 상기 차이가 상기 제1 지정된 조건을 만족하지 않는 것에 기반하여, 상기 제4 블록을 상기 제1 압축 속성과 다른 제2 압축 속성에 따라 압축하는 동작을 포함하고; 및
    상기 제3 블록 및 상기 제4 블록에 대응하는 상기 제2 이미지의 압축 데이터를 상기 지정된 인터페이스를 통해 상기 프로세서로 전송하는 동작을 수행하는, 기록 매체.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 제1 압축 속성은 상기 제1 이미지를 압축하기 위해 사용하도록 할당된 비트량 및 상기 제1 이미지의 상기 복수의 블록들에 대응하는 압축 손실 데이터의 크기 간의 비율에 기반하여 할당된 비트량 정보를 포함하고,
    상기 제어 회로에 의해 상기 제3 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제1 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제3 블록을 압축하고, 및
    상기 제어 회로에 의해 상기 제4 블록을 상기 제1 압축 속성에 따라 상기 압축하는 동작의 일부로, 상기 제2 압축 손실 데이터의 비율에 따라 할당된 비트량으로 상기 제4 블록을 압축하는 동작을 수행하는 기록 매체.
KR1020180022258A 2018-02-23 2018-02-23 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법 KR102499286B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180022258A KR102499286B1 (ko) 2018-02-23 2018-02-23 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법
PCT/KR2019/002244 WO2019164352A1 (en) 2018-02-23 2019-02-22 Electronic device for compressing image based on compression loss data related to compression of multiple blocks, which are segments of the image, and method for operating the same
US16/282,707 US11032577B2 (en) 2018-02-23 2019-02-22 Electronic device for compressing image based on compression loss data related to compression of multiple blocks, which are segments of the image, and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180022258A KR102499286B1 (ko) 2018-02-23 2018-02-23 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20190101833A KR20190101833A (ko) 2019-09-02
KR102499286B1 true KR102499286B1 (ko) 2023-02-14

Family

ID=67685155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180022258A KR102499286B1 (ko) 2018-02-23 2018-02-23 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US11032577B2 (ko)
KR (1) KR102499286B1 (ko)
WO (1) WO2019164352A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401404B (zh) * 2022-03-24 2022-07-26 深圳比特微电子科技有限公司 一种vpu编码策略的实现方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818959A (ja) * 1994-07-04 1996-01-19 Matsushita Electric Ind Co Ltd 画像信号符号化方法及び画像信号符号化装置
FR2809573B1 (fr) * 2000-05-26 2002-08-16 Thomson Broadcast Systems Procede de codage d'un flux d'images video
JP4019790B2 (ja) 2002-05-23 2007-12-12 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
PL2123051T3 (pl) 2006-12-18 2011-04-29 Koninl Philips Electronics Nv Kompresja i dekompresja obrazu
JP2011049764A (ja) * 2009-08-26 2011-03-10 Toshiba Corp データ圧縮伸長装置
KR101774237B1 (ko) 2011-04-18 2017-09-05 현대모비스 주식회사 적응적 부호화 구조를 이용한 영상의 부호화 방법 및 이를 이용한 인코딩 시스템
US9185424B2 (en) * 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
US9568985B2 (en) 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method
KR102293368B1 (ko) * 2014-12-31 2021-08-26 엘지디스플레이 주식회사 영상 처리 방법 및 장치와 그를 포함한 표시장치
WO2016114788A1 (en) * 2015-01-16 2016-07-21 Hewlett Packard Enterprise Development Lp Video encoder

Also Published As

Publication number Publication date
KR20190101833A (ko) 2019-09-02
US20190266756A1 (en) 2019-08-29
WO2019164352A1 (en) 2019-08-29
US11032577B2 (en) 2021-06-08

Similar Documents

Publication Publication Date Title
KR102495753B1 (ko) 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치
KR102386385B1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
US11290641B2 (en) Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme
US10867372B2 (en) Electronic device and method for correcting images based on image feature information and image correction scheme
KR20190096748A (ko) 외부 전자 장치를 이용한 이미지 보정 방법 및 전자 장치
US11393078B2 (en) Electronic device and method for correcting image on basis of image transmission state
US11425300B2 (en) Electronic device and method for processing image by electronic device
US10970587B2 (en) Electronic device for notifying of update of image signal processing and method for operating the same
US11303805B2 (en) Electronic device for compressing image by using compression attribute generated in image acquisition procedure using image sensor, and operating method thereof
KR102499286B1 (ko) 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법
US11330227B2 (en) Electronic device for compressing image acquired by using camera, and operation method therefor
US20230156349A1 (en) Method for generating image and electronic device therefor
US11392719B2 (en) Electronic device and method for securing personal information included in image
KR20220016695A (ko) 딥러닝에 기반한 이미지 분할 장치 및 방법
US20190349519A1 (en) Electronic device and image processing method therefor
US11477443B2 (en) Electronic device for performing image compression and operating method of electronic device
US11380096B2 (en) Electronic device for performing image processing and method thereof

Legal Events

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