KR102037951B1 - 파일 형식에 기반한 이미지 처리 장치 및 방법 - Google Patents
파일 형식에 기반한 이미지 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR102037951B1 KR102037951B1 KR1020180011842A KR20180011842A KR102037951B1 KR 102037951 B1 KR102037951 B1 KR 102037951B1 KR 1020180011842 A KR1020180011842 A KR 1020180011842A KR 20180011842 A KR20180011842 A KR 20180011842A KR 102037951 B1 KR102037951 B1 KR 102037951B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- compressed
- file format
- complexity
- converted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 원본 이미지를 압축 또는 변환하고자 하는 파일 형식에 따라서 화질의 열화를 최소화하면서 압축 또는 변환된 이미지를 제공할 수 있는 이미지 처리 장치 및 방법에 관한 것이다. 이를 위해, 본 발명에 따른 이미지 처리 방법은, 원본 이미지를 복수의 이미지 블록으로 구분하는 단계; 구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 단계; 상기 원본 이미지를 압축 또는 변환하고자 하는 파일 형식을 판단하는 단계; 상기 파일 형식과 이미지 복잡도에 따라 상기 원본 이미지에 대해 서로 상이한 이미지 처리를 수행한 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계; 상기 파일 형식에 따라 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계; 및 데이터의 크기를 비교하여 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 어느 하나를 선택하여 상기 파일 형식에 상응하는 이미지를 출력하는 단계를 포함한다.
Description
본 발명은 파일 형식에 기반한 이미지 처리 장치 및 방법에 관한 것으로, 보다 상세하게는 원본 이미지를 압축 또는 변환하고자 하는 파일 형식에 따라서 화질의 열화를 최소화하면서 압축 또는 변환된 이미지를 제공할 수 있는 이미지 처리 장치 및 방법에 관한 것이다.
현대는 컴퓨터와 컴퓨터 네트워크로 인해 컴퓨터와 컴퓨터 간에 그리고 컴퓨터와 저장장치 간에 엄청난 양의 정보가 전달되고 있다. 로컬 하드 드라이브나 로컬 플로피 드라이브와 같은 로컬 저장장치에 컴퓨터가 액세스되면, 엄청난 양의 데이터가 빠르게 액세스된다. 그러나, 광역통신망(WAN; Wide Area Network), 인터넷, 또는 무선 통신 채널(셀룰러 폰 네트워크 등)을 통한 원격 저장 위치로부터 데이터를 액세스할 때에는, 데이터 전달 속도는 현저하게 떨어진다. 그러므로, 용량이 큰 파일을 전달하는 것은 엄청난 시간이 걸린다. 게다가, 용량이 큰 파일을 저장한다는 것은 값비싸고 한정된 저장 공간을 필요로 한다. 일반적으로 이미지는 이미지 내의 화소(pixel) 각각에 대한 정보를 필요로 하기 때문에, 포토그래픽 이미지 또는 그와 유사한 그래픽 이미지는 용량이 큰 파일들로 간주된다. 따라서, 포토그래픽 이미지 또는 그와 유사한 그래픽 이미지는 1MByte 이상의 저장 공간이 필요하고, 전송률이 낮은 통신망을 통할 경우 상당한 전송 시간을 필요로 한다. 따라서, 최근 몇 년간 이미지를 저장하기에 필요로 하는 저장 공간의 양의 줄이고 전송 시간을 주이기 위해서 이미지를 압축하는 많은 프로토콜(protocol)과 표준이 개발되어 왔다.
이미지 압축 기법은 손실 압축 기법(lossy compression method)과 비손실 압축 기법(lossless compression method)로 나누어지며, 이러한 압축 기법은 공간적, 시간적, 확률적 중복성들을 제거함으로써 이미지를 압축한다. 특히, 손실 압축 기법(lossy compression method)은 어느 정도 원본 데이터가 손실되어 열화가 발생지만, 비손실 압축 방법(lossless compression method)은 원본 이미지를 디코딩 후 정확하게 재생할 수 있다.
본 발명의 목적은, 원본 이미지를 압축하고자 하는 파일 형식에 따라 압축 이미지 파일의 크기를 줄일 수 있는 최적화된 압축 알고리즘을 제공하고자 함에 있다.
또한, 본 발명의 목적은, 원본 이미지의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 압축 이미지를 생성할 수 있는 압축 알고리즘을 제공하고자 함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 이미지 처리 방법은, 원본 이미지를 복수의 이미지 블록으로 구분하는 단계; 구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 단계; 상기 원본 이미지를 압축 또는 변환하고자 하는 파일 형식을 판단하는 단계; 상기 파일 형식과 이미지 복잡도에 따라 상기 원본 이미지에 대해 서로 상이한 이미지 처리를 수행한 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계; 상기 파일 형식에 따라 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계; 및 데이터의 크기를 비교하여 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 어느 하나를 선택하여 상기 파일 형식에 상응하는 이미지를 출력하는 단계를 포함하는 것을 특징으로 한다.
이때, 상기 이미지 복잡도를 산출하는 단계에서는, 상기 이미지 블록을 그레이 이미지로 변환하고, 각 화소 별로 기설정된 화소값과의 차이를 구한 후, 상기 화소값의 차의 평균으로 계산되는 변화량이 기설정된 값 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출할 수 있다.
이때, 상기 이미지 복잡도를 산출하는 단계에서는, 상기 이미지 블록의 색상수가 기설정된 기준 색상수(Nc _standard) 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출할 수 있다.
이때, 상기 이미지 복잡도를 산출하는 단계에서는, 상기 이미지 블록에 대해 양자화를 수행하고, 양자화 레벨의 평균값을 구한 후, 상기 양자화 레벨의 평균값을 벗어나는 화소의 갯수가 기설정된 갯수 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출할 수 있다.
이때, 상기 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계는, 상기 파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 상기 이미지 복잡도가 낮은 이미지 블록에 대해 블러링(blurring) 처리하여 제1 변환 이미지를 생성하는 단계; 상기 원본 이미지에 대해 블러링 처리하여 블러 이미지를 생성하는 단계; 상기 원본 이미지에 대해 에지(edge)를 산출하여 에지 이미지를 생성하는 단계; 상기 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성하는 단계; 및 상기 이진화 이미지에서 0의 값을 갖는 화소에 상응하는 원본 이미지의 화소를 상기 블러 이미지 상에 복사하여 제2 변환 이미지를 생성하는 단계를 포함할 수 있다.
이때, 상기 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계에서는, 상기 파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성할 수 있다.
이때, 상기 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계는, 상기 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우, 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc _2; Nc _2≥Nc _1) 이상인 이미지 블록에 대해 상기 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제1 변환 이미지를 생성하는 단계; 및 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 블러링 처리한 후 상기 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc _2) 이상인 이미지 블록에 대해 상기 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제2 변환 이미지를 생성하는 단계를 포함할 수 있다.
이때, 상기 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계에서는, 상기 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우, 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성할 수 있다.
*이때, 상기 파일 형식에 상응하는 이미지를 출력하는 단계는, 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 데이터 크기가 작은 압축 이미지를 선택하여 상기 파일 형식에 상응하는 이미지를 출력할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 이미지 처리 장치는, 이미지 처리를 수행하는 소프트웨어가 저장된 메모리; 및 상기 소프트웨어를 실행하는 프로세서를 포함하되, 상기 프로세서는 상기 소프트웨어의 실행에 따라, 원본 이미지를 복수의 이미지 블록으로 구분하는 단계; 구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 단계; 상기 원본 이미지를 압축 또는 변환하고자 하는 파일 형식을 판단하는 단계; 상기 파일 형식과 이미지 복잡도에 따라 상기 원본 이미지에 대해 서로 상이한 이미지 처리를 수행한 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계; 상기 파일 형식에 따라 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계; 및 데이터의 크기를 비교하여 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 어느 하나를 선택하여 상기 파일 형식에 상응하는 이미지를 출력하는 단계를 수행하도록 구성되는 것을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 이미지 처리 장치는, 원본 이미지를 복수의 이미지 블록으로 구분하는 이미지 블록 생성부; 구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 복잡도 산출부; 상기 원본 이미지를 압축 또는 변환하고자 하는 파일 형식을 판단하는 파일 형식 결정부; 상기 파일 형식과 이미지 복잡도에 따라 상기 원본 이미지에 대해 서로 상이한 이미지 처리를 수행하여 제1 변환 이미지와 제2 변환 이미지를 생성하는 이미지 변환부; 상기 파일 형식에 따라 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 이미지 압축부; 및 데이터의 크기를 비교하여 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 어느 하나를 선택하여 상기 파일 형식에 상응하는 이미지를 출력하는 이미지 출력부를 포함하는 것을 특징으로 한다.
이때, 상기 이미지 복잡도 산출부는, 상기 이미지 블록을 그레이 이미지로 변환하고, 각 화소 별로 기설정된 화소값과의 차이를 구한 후, 상기 화소값의 차의 평균으로 계산되는 변화량이 기설정된 값 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출하는 화소값 판단부를 포함할 수 있다.
이때, 상기 이미지 복잡도 산출부는, 상기 이미지 블록의 색상수가 기설정된 기준 색상수(Nc _standard) 이상인지 여부를 판단하여 이미지 복잡도를 산출하는 색상수 판단부를 포함할 수 있다.
이때, 상기 이미지 복잡도 산출부는, 상기 이미지 블록에 대해 양자화를 수행하고, 양자화 레벨의 평균값을 구한 후, 상기 양자화 레벨의 평균값을 벗어나는 화소의 갯수가 기설정된 갯수 이상인지 여부를 판단하여 이미지 복잡도를 산출하는 양자화 판단부를 포함할 수 있다.
이때, 상기 이미지 변환부는, 상기 파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 상기 이미지 복잡도가 낮은 이미지 블록에 대해 블러링(blurring) 처리하여 제1 변환 이미지를 생성하는 제1 손실 압축 이미지 처리부; 및 상기 파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 상기 제2 변환 이미지를 생성하는 제2 손실 압축 이미지 처리부를 포함하고, 상기 제2 손실 압축 이미지 처리부는, 상기 원본 이미지에 대해 블러링 처리하여 블러 이미지를 생성하는 블러 이미지 생성부; 상기 원본 이미지에 대해 에지를 산출하여 에지 이미지를 생성하는 에지 이미지 생성부; 상기 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성하는 이진화부; 및 상기 이진화 이미지에서 0의 값을 갖는 화소에 상응하는 원본 이미지의 화소를 상기 블러 이미지 상에 복사하여 제2 변환 이미지를 생성하는 이미지 합성부를 포함할 수 있다.
이때, 상기 이미지 압축부는, 상기 파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성할 수 있다.
이때, 상기 이미지 변환부는, 상기 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우, 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc _2; Nc _2≥Nc _1) 이상인 이미지 블록에 대해 상기 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제1 변환 이미지를 생성하는 제1 비손실 압축 이미지 처리부; 및 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 블러링 처리한 후 상기 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc _2) 이상인 이미지 블록에 대해 상기 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제2 변환 이미지를 생성하는 제2 비손실 압축 이미지 처리부를 포함할 수 있다.
이때, 상기 이미지 압축부는, 상기 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우, 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성할 수 있다.
이때, 상기 이미지 출력부는, 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 데이터 크기가 작은 압축 이미지를 선택하여 상기 파일 형식에 상응하는 이미지를 출력할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 컴퓨터 판독가능 매체는, 상기 실행 가능 명령들이 실행 시에 프로세스로 하여금, 원본 이미지를 복수의 이미지 블록으로 구분하는 단계; 구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 단계; 상기 원본 이미지를 압축 또는 변환하고자 하는 파일 형식을 판단하는 단계; 상기 파일 형식과 이미지 복잡도에 따라 상기 원본 이미지에 대해 서로 상이한 이미지 처리를 수행한 제1 변환 이미지와 제2 변환 이미지를 생성하는 단계; 상기 파일 형식에 따라 상기 제1 변환 이미지와 상기 제2 변환 이미지 각각에 대해 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 단계; 및 데이터의 크기를 비교하여 상기 제1 압축 이미지 또는 상기 제2 압축 이미지 중 어느 하나를 선택하여 상기 파일 형식에 상응하는 이미지를 출력하는 단계를 수행하도록 구성되는 것을 특징으로 한다.
본 발명에 따르면, 원본 이미지를 압축하고자 하는 파일 형식에 따라 압축 이미지 파일의 크기를 줄일 수 있는 최적화된 압축 알고리즘을 제공할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 원본 이미지의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 압축 이미지를 생성할 수 있는 압축 알고리즘을 제공할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 원본 이미지에 대한 전처리 과정을 거치기 때문에 압축을 위한 기존 인코딩 기법에도 적용할 수 있는 압축 알고리즘을 제공할 수 있는 효과가 있다.
도 1은 본 발명에 따른 이미지 처리 장치의 구성 및 동작을 설명하기 위한 블록도이다.
도 2는 도 1에 도시된 복잡도 산출부의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 도 1에 도시된 이미지 변환부의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 이미지 블록 별로 이미지 복잡도에 따라 상이한 이미지 처리를 수행하는 것을 예시적으로 설명하기 위한 도면이다.
도 5는 도 3에 도시된 제2 손실 압축 이미지 처리부의 구체적인 구성을 설명하기 위한 블록도이다.
도 6은 도 3에 도시된 제2 손실 압축 이미지 처리부에서 변환 이미지를 생성하는 과정을 설명하기 위한 도면이다.
도 7은 도 1에 도시된 이미지 출력부의 구체적인 구성을 설명하기 위한 도면이다.
도 8은 본 발명에 따른 이미지 처리 방법을 설명하기 위한 전체적인 흐름도이다.
도 9는 도 8에 도시된 흐름도에서 S400 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 10은 도 8에 도시된 흐름도에서 S500 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 11은 도 8에 도시된 흐름도에서 S600 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 2는 도 1에 도시된 복잡도 산출부의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 도 1에 도시된 이미지 변환부의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 이미지 블록 별로 이미지 복잡도에 따라 상이한 이미지 처리를 수행하는 것을 예시적으로 설명하기 위한 도면이다.
도 5는 도 3에 도시된 제2 손실 압축 이미지 처리부의 구체적인 구성을 설명하기 위한 블록도이다.
도 6은 도 3에 도시된 제2 손실 압축 이미지 처리부에서 변환 이미지를 생성하는 과정을 설명하기 위한 도면이다.
도 7은 도 1에 도시된 이미지 출력부의 구체적인 구성을 설명하기 위한 도면이다.
도 8은 본 발명에 따른 이미지 처리 방법을 설명하기 위한 전체적인 흐름도이다.
도 9는 도 8에 도시된 흐름도에서 S400 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 10은 도 8에 도시된 흐름도에서 S500 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 11은 도 8에 도시된 흐름도에서 S600 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
*
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 보다 상세하게 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 이미지 처리 장치의 구성 및 동작을 설명하기 위한 블록도이다.
도 1을 참조하면 본 발명에 따른 이미지 처리 장치(10)는, 이미지 블록 생성부(100), 복잡도 산출부(200), 파일 형식 결정부(300), 이미지 변환부(400), 이미지 압축부(500), 및 이미지 출력부(600)로 구성된다.
이미지 블록 생성부(100)는 원본 이미지(20)를 입력받아 원본 이미지(20) 전체를 소정의 행과 열(M * N)로 나누어진 블록 단위의 복수의 이미지 블록(image block)으로 구분한다. 이미지 블록 생성부(100)에 의해 구분되는 이미지 블록은 일반적으로 8 * 8 화소(pixel) 등으로 구성될 수 있고, 각 화소는 8비트(bit)의 계조데이터(gradation data)로 이루어질 수 있으나, 경우에 따라 이미지 블록은 32 * 32, 16 * 16, 32 * 16 또는 16 * 8 화소 등으로 구성될 수 있고, 각 화소의 데이터 비트수도 다양하게 가감될 수 있다. 이미지 블록의 해상도 혹은 화소 수는 상기 예시된 예에 한정되지 않고, 이미지에 따라서 다양하게 설정될 수 있다. 이미지 블록 생성부(100)에서 구분된 이미지 블록 정보는 복잡도 산출부(200)로 전송된다.
복잡도 산출부(200)는 원본 이미지(20) 전체 또는 이미지 블록 생성부(100)에 의해 원본 이미지(20)로부터 산출되는 복수의 이미지 블록에 대하여 이미지 복잡도를 산출한다. 본원에서 이미지의 복잡한 정도(이미지 복잡도)라는 것은 이미지가 변화하는 정도를 말하는 것으로, 이를 판단하는 방식은 후술하도록 한다. 복잡도 산출부(200)는 도 2에 도시된 바와 같이 화소값 판단부(210), 색상수 판단부(230), 및 양자화 판단부(250)로 구성된다.
화소값 판단부(210)는 원본 이미지(20) 전체 또는 복수의 이미지 블록 각각에 대해 그레이 이미지(gray image)로 변환한 후, 화소값의 변화량을 측정하여 이미지 복잡도를 산출한다. 여기서, 상기 그레이 이미지는 명도 정보, 즉 밝고 어두운 정도에 관한 정보만으로 표현되는 이미지를 의미한다. 통상적으로 상기 그레이 이미지를 표현하는 그레이 레벨은 28(=256)개의 레벨을 가진다. 상기 그레이 레벨이 0에 근접할수록 어두우며, 255에 근접할수록 밝은 이미지가 된다. 화소값 판단부(210)는 그레이 이미지로 변환된 원본 이미지(20) 전체 또는 이미지 블록의 각 화소 별로 특정한 화소값 과의 차이(디퍼렌셜 값)를 구한 후에, 화소값의 차의 평균으로 계산되는 변화량이 기설정된 값 이상인지 여부를 판단할 수 있다. 디퍼렌셜 값의 평균이 높다는 것은 그레이 이미지로 변환된 원본 이미지(20) 전체 또는 이미지 블록에 상응하는 부분의 이미지 복잡도가 높음을 의미하게 된다. 이때, 화소값 판단부(210)는 그레이 이미지로 변환된 원본 이미지(20) 전체 또는 이미지 블록에 대하여 상기 변화량이 기설정된 값 이상인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 값 미만인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.
색상수 판단부(230)는 원본 이미지(20) 전체 또는 복수의 이미지 블록 각각에 대해 색상수를 측정하여 이미지 복잡도를 산출한다. 특히, 색상수 판단부(230)는 원본 이미지(20) 전체 또는 복수의 이미지 블록 각각의 색상수가 특정한 색상수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다. 이때, 색상수 판단부(230)는 원본 이미지(20) 전체 또는 이미지 블록에 대하여 상기 색상수가 기설정된 기준 색상수(Nc _standard) 이상인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 기준 색상수(Nc _standard) 미만인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.
양자화 판단부(250)는 미리 결정된 양자화 레벨을 기반으로 원본 이미지(20) 전체 또는 복수의 이미지 블록 각각을 양자화한 후 이에 상응하는 히스토그램을 기반으로 양자화 레벨의 전체적인 분포를 측정하여 이미지 복잡도를 산출한다. 이를 위해, 먼저 양자화 판단부(250)는 원본 이미지(20) 전체 또는 복수의 이미지 블록에 대해 양자화를 수행하여 양자화된 이미지를 생성한다. 양자화 시에 정수 값 0, 1, 2, … , 2n-1로 구성된 2n개의 양자화 레벨로 원본 이미지(20) 전체 또는 복수의 이미지 블록을 구성하는 각 화소값이 구성된다. 양자화 구분 값은 히스토그램(histogram) 상의 중간 값(median)을 기준으로 한다. 예를 들어 4진 양자화의 경우, 히스토그램 값이 25%, 50%, 75%를 기준으로 이루어지는 것을 가정한다. 한편, 상기 히스토그램은 도수 분포를 나타내는 그래프로써, 관측한 데이터의 분포 특징이 한눈에 보이도록 기둥 모양으로 나타낸 것이다. 상기 히스토그램은 기둥 그래프 또는 그림 모양 그림 등으로 불리기도 한다. 이때 상기 히스토그램의 가로축에 각 양자화 레벨이 소정 간격을 가지고 나타나도록 표시하고, 세로축에 각 양자화 레벨에 분포하는 화소의 도수(이하, 화소의 갯수라 한다)가 소정 간격을 가지고 나타나도록 표시한다. 즉 상기 히스토그램은 각 양자화 레벨 간의 구간 별로 해당 구간에서의 화소의 갯수를 비례하는 높이의 기둥으로 표현된다. 양자화 판단부(250)는 원본 이미지(20) 전체 또는 복수의 이미지 블록에 대해 양자화를 수행한 결과를 나타내는 히스토그램를 분석하여 양자화 레벨의 평균값을 구한 후에, 양자화 레벨의 평균값이 속한 소정의 범위를 벗어나는(양자화 레벨의 평균값을 벗어나는) 화소의 개수갯가 기설정된 개수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다. 예시적으로, 양자화 판단부(250)는 원본 이미지(20) 전체 또는 복수의 이미지 블록에 대해 양자화를 수행한 결과를 나타내는 히스토그램에서 평균값을 벗어나는 화소의 개수가 50% 이상인 경우 이미지 복잡도가 높은 것으로 판단할 수 있다.
파일 형식 결정부(300)는 원본 이미지 파일을 압축 또는 변환하고자 하는 파일의 형식을 판단한다. 여기서, 상기 파일의 형식은 손실 압축 이미지(예를 들어, JPEG, TIFF 등), 비손실 압축 이미지(예를 들어, PNG, GIF 등) 또는 비압축 이미지(예를 들어, BMP, TGA 등) 파일 형식 중 어느 하나에 해당한다. 이때, 파일 형식 결정부(300)는 사용자의 입력에 따라 파일 형식을 판단할 수 있다.
이미지 변환부(400)는 파일 형식 결정부(300)에서 판단한 파일 형식과 복잡도 산출부(200)에서 판단한 이미지 복잡도에 따라 원본 이미지에 대해 서로 상이한 이미지 처리를 수행하여 제1 변환 이미지와 제2 변환 이미지를 생성한다. 이미지 변환부(400)는 도 3에 도시된 바와 같이 제1 손실 압축 이미지 처리부(410), 제2 손실 압축 이미지 처리부(430), 제1 비손실 압축 이미지 처리부(450), 및 제2 비손실 압축 이미지 처리부(470)로 구성된다. 이때, 파일 형식 결정부(300)에서 판단한 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에는 제1 손실 압축 이미지 처리부(410)와 제2 손실 압축 이미지 처리부(430)가 동작하고, 비손실 압축 이미지 또는 비압축 이미지 파일에 해당하는 경우에는 제1 비손실 압축 이미지 처리부(450)와 제2 비손실 압축 이미지 처리부(470)가 동작한다.
먼저, 파일 형식 결정부(300)에서 판단한 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에 제1 손실 압축 이미지 처리부(410) 및 제2 손실 압축 이미지 처리부(430)가 수행하는 동작에 대해 설명하도록 한다.
파일 형식이 손실 압축 이미지 파일에 해당하는 경우, 제1 손실 압축 이미지 처리부(410)는 원본 이미지를 구분한 복수의 이미지 블록 중에서 이미지 복잡도가 낮은 이미지 블록에 대해 블러링(blurring) 처리하여 제1 변환 이미지를 생성한다. 여기서, 블러링(blurring) 처리란 이미지를 부드럽게 보이도록 하기 위해 고주파 성분을 제거하는 방식을 이용한 화상 처리를 의미한다. 저주파는 화소값의 변화율이 작은 주파수이고, 고주파는 화소값의 변화율이 큰 주파수를 말한다. 이미지에서 고주파 성분을 제거하게 되면, 화소값의 변화율이 작아지므로 이웃하는 화소들에 대하여 극단적인 값들이 줄어들어 이미지가 부드럽게 처리된다. 따라서, 블러링 처리를 통해 이미지에서 나타나는 미세한 잡음이나 잡티 등의 두드러짐을 약화시켜 이미지를 수정할 수 있다. 제1 손실 압축 이미지 처리부(410)는 이미지 복잡도가 낮은 이미지 블록 각각에 대하여 화소들의 휘도값을 추출하고, 휘도값에 따라 가중치를 부여하여 블러링 처리를 수행할 수 있다. 본 발명에서 블러링 처리는 일반적으로 널리 사용하는 가우시안 블러링(gaussian blurring)을 적용할 수 있다. 한편, 이미지 복잡도가 낮은 이미지 블록에 해당하는지 여부는 앞서 설명한 화소값 판단부(210), 색상수 판단부(230), 또는 양자화 판단부(250) 중 어느 하나에서 판단한 이미지 복잡도에 따라 결정될 수 있고, 경우에 따라서는 2 이상에서 판단한 이미지 복잡도를 조합하여 결정될 수도 있다. 도 4를 참조하면, 예시적으로 원본 이미지(20)가 도 4의 (a)에 도시된 바와 같이 총 6개의 이미지 블록으로 구성되어 있고, 1, 3, 및 5으로 표시된 이미지 블록의 이미지 복잡도가 낮다고 판단되면, 제1 손실 압축 이미지 처리부(410)는 도 4의 (b)에 도시된 바와 같이 1, 3, 및 5으로 표시된 이미지 블록에 대해 블러링 처리를 수행하고, 이미지 복잡도가 높은 2, 4, 및 6으로 표시된 이미지 블록에 대해서는 원본 데이터를 유지한다.
제2 손실 압축 이미지 처리부(430)는 도 5에 도시된 바와 같이 블러 이미지 생성부(431), 에지 이미지 생성부(433), 이진화부(435), 및 이미지 합성부(437)로 구성된다. 블러 이미지 생성부(431)는 원본 이미지(20)에 대하여 블러링 처리를 수행하여 블러 이미지를 생성한다. 그 다음으로, 에지 이미지 생성부(433)가 원본 이미지(20)에 대해 고주파 영역에 해당하는 모서리 영역인 에지(edge)를 산출하여 에지 이미지(예시적으로 도 6의 (a)에 도시된 바와 같은 에지 이미지)를 생성한 후, 이진화부(435)가 생성된 에지 이미지에 대해 이진화를 수행하여 이진화 이미지(예시적으로 도 6의 (b)에 도시된 바와 같은 이진화 이미지)를 생성한다. 이때, 이진화부(435)는 에지 이미지 생성부에 의해 생성된 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성하게 된다. 그리고, 이미지 합성부(437)가 이진화부(435)에 의해 생성된 에지 이미지에서 0의 값을 갖는 화소에 상응하는 원본 이미지(20)의 화소를 블러 이미지 생성부(431)에 의해 생성된 블러 이미지 상으로 복사하여 최종적으로 제2 변환 이미지를 생성하게 된다.
반면, 파일 형식 결정부(300)에서 판단한 파일 형식이 비손실 압축 이미지 또는 비압축 이미지 파일에 해당하는 경우에 제1 비손실 압축 이미지 처리부(450) 및 제2 비손실 압축 이미지 처리부(470)가 수행하는 동작에 대해 설명하면, 제1 비손실 압축 이미지 처리부(450)는 색상수가 적은 이미지 블록에 대해 낮은 비트수로 디더링 처리한다. 그리고, 제1 비손실 압축 이미지 처리부(450)는 색상수가 많은 이미지 블록에 대해서는 높은 비트수로 디더링 처리하여 제1 변환 이미지를 생성한다. 여기서, 디더링(dithering) 처리란 이미지의 색 공간의 차이에서 오는 결점을 보완해 주는 화상 처리를 의미하는 것으로서, 원본 이미지 보다 적은 수의 색상수를 갖는 이미지로 변환한다. 보다 구체적으로, 제1 비손실 압축 이미지 처리부(450)는 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해서 기설정된 비트수 보다 낮은 비트수(예를 들어, 원본 이미지의 비트수가 24비트이고, 기설정된 비트수가 16비트라고 하면, 7, 8, 9, 12 또는 15비트)로 디더링 처리하는 한편, 색상수가 기설정된 제2 색상수(Nc _2; Nc _2≥Nc _1, Nc _2는 원본 이미지 전체 색상수 이하) 이상인 이미지 블록에 대해서는 기설정된 비트수 보다 높은 비트수(예를 들어, 원본 이미지의 비트수가 24비트이고, 기설정된 비트수가 16비트라고 하면, 18 또는 21비트)로 디더링 처리하여 제1 변환 이미지를 생성한다. 한편, 제2 비손실 압축 이미지 처리부(470)는 색상수가 적은 이미지 블록에 대해 블러링한 후 낮은 비트수로 디더링 처리한다. 그리고, 제2 비손실 압축 이미지 처리부(470)는 색상수가 많은 이미지 블록에 대해서는 높은 비트수로 디더링 처리하여 제2 변환 이미지를 생성한다. 보다 구체적으로, 제2 비손실 압축 이미지 처리부(470)는 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해서 먼저 블러링 처리를 수행한 후에 기설정된 비트수 보다 낮은 비트수로 디더링 처리하는 한편, 색상수가 기설정된 제2 색상수(Nc _2) 이상인 이미지 블록에 대해서는 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제2 변환 이미지를 생성한다.
이미지 압축부(500)는 파일 형식 결정부(300)에서 판단한 파일 형식에 따라서 제1 변환 이미지와 제2 변환 이미지 각각에 대해 손실 압축 또는 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성한다. 보다 구체적으로 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에 이미지 압축부(500)는 이미지 변환부(400)에서 생성된 제1 변환 이미지와 제2 변환 이미지 각각에 대해 손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 반면, 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우에 이미지 압축부(500)는 이미지 변환부(400)에서 생성된 제1 변환 이미지와 제2 변환 이미지 각각에 대해 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성한다. 즉, 이미지 압축부(500)는 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에는 제1 변환 이미지에 대해 손실 압축을 수행하여 제1 압축 이미지, 제2 변환 이미지에 대해 손실 압축을 수행하여 제2 압축 이미지를 생성하나, 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우에는 제1 변환 이미지에 대해 비손실 압축을 수행하여 제1 압축 이미지, 제2 변환 이미지에 대해 비손실 압축을 수행하여 제2 압축 이미지를 생성한다.
이미지 출력부(600)는 이미지 압축부(500)에서 압축된 제1 압축 이미지와 제2 압축 이미지 간에 데이터 크기를 비교하여 어느 하나의 압축 이미지를 선택한 후, 파일 형식 결정부(300)에서 판단한 파일 형식에 따라 그에 상응하는 이미지(30)를 출력한다. 도 7을 참조하면, 이미지 출력부(600)는 이미지 선택부(610)와 파일 형식 이미지 출력부(630)를 포함하는데, 먼저 이미지 선택부(610)에서 제1 압축 이미지와 제2 압축 이미지 중 데이터의 크기가 작은 압축 이미지를 선택한다. 그리고, 파일 형식 이미지 출력부(630)는 파일 형식이 손실 압축 또는 비손실 압축 이미지 파일에 해당하는 경우에는 이미지 선택부(610)에서 선택한 압축 이미지를 그대로 출력한다, 반면, 파일 형식이 비압축 이미지 파일에 해당하는 경우에는 파일 형식 이미지 출력부(630)는 이미지 선택부(610)에서 선택한 압축 이미지에 대해 이미지 압축부(500)에 의해 압축되기 이전의 변환 이미지를 출력한다. 즉, 파일 형식 이미지 출력부(630)는 파일 형식이 비압축 이미지 파일에 해당하는 경우에 그에 상응하는 이미지로서, 제2 압축 이미지에 비해 제1 압축 이미지의 데이터 크기가 작다면 제1 압축 이미지의 압축 전 변환 이미지인 제1 변환 이미지를 출력하고, 제1 압축 이미지에 비해 제2 압축 이미지의 데이터 크기가 작다면 제2 압축 이미지의 압축 전 변환 이미지에 해당하는 제2 변환 이미지를 출력한다.
이하에서는 본 발명에 따른 이미지 처리 방법에 대하여 설명하도록 한다. 앞서, 도 1 내지 도 7을 참조한 본 발명에 따른 이미지 처리 장치의 동작에 대한 설명과 일부 중복되는 부분은 생략하여 설명하기로 한다.
도 8은 본 발명에 따른 이미지 처리 방법을 설명하기 위한 전체적인 흐름도이다.
도 8을 참조하면, 본 발명에 따른 이미지 처리 방법은 원본 이미지(20)를 복수의 이미지 블록으로 구분하고(S100), 구분된 복수의 이미지 블록 별로 이미지 복잡도를 산출한다(S200). 이때, 상기 S200 단계에서 산출되는 이미지 블록 별 이미지 복잡도는 이미지 블록을 그레이 이미지로 변환한 후 화소값의 변화량을 측정하여 기설정된 값 이상인지 여부로 판단하거나, 이미지 블록의 색상 수가 기설정된 기준 색상수(Nc _standard) 이상인지 여부로 판단하거나, 이미지 블록에 대해 양자화를 수행하고 양자화 레벨의 평균값을 구한 후에 양자화 레벨의 평균값을 벗어나는 화소의 갯수가 기설정된 갯수 이상인지 여부로 판단하는 방식에 따를 수 있다.
그리고, 사용자가 원본 이미지(20)를 압축 또는 변환하고자 하는 파일의 형식을 판단한다(S300). 여기서, 원본 이미지(20)를 압축 또는 변환하고자 하는 파일의 형식은 손실 압축 이미지(예를 들어, JPEG, TIFF 등), 비손실 압축 이미지(예를 들어, PNG, GIF 등) 또는 비압축 이미지(예를 들어, BMP, TGA 등) 파일 형식 중 어느 하나에 해당할 수 있다.
그 다음으로, S200 단계에서 산출된 이미지 복잡도와 S300 단계에서 판단된 파일 형식에 따라서 원본 이미지(20)에 대해 서로 상이한 이미지 처리를 수행하여 제1 변환 이미지와 제2 변환 이미지를 생성한다(S400).
그리고, 상기 400 단계에서 생성된 제1 변환 이미지와 제2 변환 이미지 각각에 대해 S300 단계에서 판단된 파일 형식에 따라서 손실 압축 또는 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성한다(S500).
마지막으로, 상기 S500 단계에서 생성된 제1 압축 이미지와 제2 압축 이미지 간에 데이터의 크기를 비교하여 어느 하나의 압축 이미지를 선택한 후, S300 단계에서 판단된 파일 형식에 상응하는 이미지를 출력한다(S600). 이때, 압축 이미지의 선택은 제1 압축 이미지와 제2 압축 이미지 중에서 데이터의 크기가 작은 압축 이미지가 선택되고, S300 단계에서 판단된 파일 형식이 손실 압축 또는 비손실 압축 이미지 파일인 경우에는 손실 압축 또는 비손실 압축이 이루어진 선택된 이미지를 그대로 출력하나, 비압축 이미지 파일인 경우에는 선택된 압축 이미지에 대해 S500 단계에서 압축이 이루어지기 전인 S400 단계에서 변환된 이미지를 비압축 이미지로서 출력한다.
도 9는 도 8에 도시된 흐름도에서 S400 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 9를 참조하면, 파일 형식에 따라서 원본 이미지(20)에 대해 서로 상이한 이미지 처리를 수행하여 제1 변환 이미지와 제2 변환 이미지를 생성하는 S400 단계는, 먼저 S300 단계에서 판단된 파일 형식이 손실 압축 이미지 파일에 해당하는지 여부를 판단한다(S410).
상기 S410 단계에서의 판단 결과, 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에는 이미지 복잡도가 낮은 이미지 블록에 대해 블러링 처리를 수행하고, 이미지 복잡도가 높은 이미지 블록에 대해서는 원본 데이터를 유지하여 제1 변환 이미지를 생성한다(S430). 그리고, 원본 이미지에 대해 블러링 처리를 수행하여 블러 이미지를 생성하는 한편, 원본 이미지에 대해 에지를 산출하여 에지 이미지를 생성하고 상기 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성한 후에, 상기 이진화 이미지에서 0(검은색)의 값을 갖는 화소에 상응하는 원본 이미지의 화소를 블러 이미지 상에 복사하여 제2 변환 이미지를 생성한다(S450).
반면, 상기 S410 단계에서의 판단 결과, 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우에는 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc _2; Nc _2≥Nc _1) 이상인 이미지 블록에 대해 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제1 변환 이미지를 생성한다(S470), 그리고, 색상수가 기설정된 제1 색상수(Nc _1) 미만인 이미지 블록에 대해 블러링 처리한 후 기설정된 비트수 보다 낮은 비트수로 디더링 처리하고, 색상수가 기설정된 제2 색상수(Nc_2) 이상인 이미지 블록에 대해 기설정된 비트수 보다 높은 비트수로 디더링 처리하여 제2 변환 이미지를 생성한다(S490).
도 10은 도 8에 도시된 흐름도에서 S500 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 10을 참조하면, 제1 변환 이미지와 제2 변환 이미지 각각에 대해 파일 형식에 따라서 손실 압축 또는 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성하는 S500 단계는, 먼저 S300 단계에서 판단된 파일 형식이 손실 압축 이미지 파일에 해당하는지 여부를 판단한다(S510).
상기 S510 단계에서의 판단 결과, 파일 형식이 손실 압축 이미지 파일에 해당하는 경우에는 S400 단계에서 생성된 제1 변환 이미지와 제2 변환 이미지 각각에 대해 손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성한다(S530).
반면, 상기 S510 단계에서의 판단 결과, 파일 형식이 비손실 압축 또는 비압축 이미지 파일에 해당하는 경우에는 S400 단계에서 생성된 제1 변환 이미지와 제2 변환 이미지 각각에 대해 비손실 압축을 수행하여 제1 압축 이미지와 제2 압축 이미지를 생성한다(S550).
도 11은 도 8에 도시된 흐름도에서 S600 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 11을 참조하면, 데이터의 크기를 비교하여 제1 압축 이미지 또는 제2 압축 이미지 중 어느 하나를 선택하여 파일 형식에 상응하는 이미지를 출력하는 S600 단계는, 먼저 S500 단계에서 생성된 제1 압축 이미지와 제2 압축 이미지 간에 데이터의 크기를 비교한다(S610).
그리고, S300 단계에서 판단된 파일 형식이 비압축 이미지 파일에 해당하는지 여부를 판단한다(S630).
상기 S630 단계에서의 판단 결과, 파일 형식이 비압축 이미지 파일에 해당하는 경우에는 S610 단계에서의 비교에 따라 데이터 크기가 작은 압축 이미지를 선택하고, 선택된 압축 이미지에 대해 S500 단계에서 압축이 이루어지기 전인 S400 단계에서 변환된 이미지를 비압축 이미지로서 출력한다(S650).
반면, 상기 S630 단계에서의 판단 결과, 파일 형식이 손실 또는 비손실 압축 이미지 파일에 해당하는 경우에는 S610 단계에서의 비교에 따라 데이터 크기가 작은 압축 이미지를 선택하여 출력한다(S670).
원본 이미지와 본 발명을 적용하여 압축이 수행된 이미지 간에 일반적인 화질의 측정 기준인 PSNR(Peak Signal-to-Noise Ratio) 평가를 수행한 결과, 손실 압축 이미지 형식인 JPEG의 경우에는 38 ~ 45dB, 비손실 압축 이미지 형식인 PNG의 경우에는 48 ~ 51dB 정도로서, 원본 이미지와 시각적으로 구분이 힘들 정도로 실질적으로 동일한 화질의 압축 이미지를 얻을 수 있었다.
본원에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이 둘의 조합에서 직접 구현될 수 있다. 상기 소프트웨어 모듈은 랜덤 액세스 메모리(RAM), 플래시 메모리, 판독 전용 메모리(ROM), 프로그래머블 판독 전용 메모리(PROM), 소거 가능한 프로그래머블 판독 전용 메모리(EPROM), 전기적으로 소거 가능한 프로그래머블 판독 전용 메모리(EEPROM), 레지스터, 하드 디스크, 착탈형 디스크, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 또는 당해 분야에서 알려진 임의의 다른 형태의 컴퓨터 판독가능 매체에 상주할 수도 있다. 경우에 따라 본원에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 컴퓨터로 실행 가능한 명령들로 구현되어 컴퓨터 판독가능 매체에 포함될 수 있다. 예시적으로 컴퓨터 판독가능 매체가 프로세서에 커플링되어, 프로세서는 컴퓨터 판독가능 매체로부터 정보를 판독하고, 컴퓨터 판독가능 매체에 데이터를 기입할 수 있다. 경우에 따라, 컴퓨터 판독가능 매체가 프로세서에 통합될 수도 있다. 프로세서 및 컴퓨터 판독가능 매체는 주문형 집적 회로(ASIC)에 상주할 수도 있다. ASIC는 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 경우에 따라, 프로세서 및 컴퓨터 판독가능 매체는 컴퓨팅 디바이스 또는 사용자 단말기에서 별개의 컴포넌트들로서 상주할 수도 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 이미지 처리 장치
100: 이미지 블록 생성부
200: 복잡도 산출부
210: 화소값 판단부
230: 색상수 판단부
250: 양자화 판단부
300: 파일 형식 결정부
400: 이미지 변환부
410: 제1 손실 압축 이미지 처리부
430: 제2 손실 압축 이미지 처리부
431: 블러 이미지 생성부
433: 에지 이미지 생성부
435: 이진화부
437: 이미지 합성부
450: 제1 비손실 압축 이미지 처리부
470: 제2 비손실 압축 이미지 처리부
500: 이미지 압축부
600: 이미지 출력부
610: 이미지 선택부
630: 파일 형식 이미지 출력부
100: 이미지 블록 생성부
200: 복잡도 산출부
210: 화소값 판단부
230: 색상수 판단부
250: 양자화 판단부
300: 파일 형식 결정부
400: 이미지 변환부
410: 제1 손실 압축 이미지 처리부
430: 제2 손실 압축 이미지 처리부
431: 블러 이미지 생성부
433: 에지 이미지 생성부
435: 이진화부
437: 이미지 합성부
450: 제1 비손실 압축 이미지 처리부
470: 제2 비손실 압축 이미지 처리부
500: 이미지 압축부
600: 이미지 출력부
610: 이미지 선택부
630: 파일 형식 이미지 출력부
Claims (3)
- 손실 압축 이미지 파일에 대한 이미지 처리 방법으로서,
상기 이미지 처리 방법은 제1 손실 압축 이미지 처리단계를 포함하고,
상기 제1 손실 압축 이미지 처리단계는
원본 이미지에 대해 블러링 처리하여 블러 이미지를 생성하는 단계;
상기 원본 이미지에 대해 에지(edge)를 산출하여 에지 이미지를 생성하는 단계;
상기 에지 이미지의 각 화소의 화소값에 이진화를 수행하여 이진화 이미지를 생성하는 단계; 및
상기 이진화 이미지에서 에지를 나타내는 검은색의 화소값을 갖는 화소에 상응하는 원본 이미지의 화소를 상기 블러 이미지 상에 복사하여 제1 변환 이미지를 생성하는 단계;를 포함하는 이미지 처리 방법.
- 청구항 1에 있어서,
상기 이미지 처리 방법은 제2 손실 압축 이미지 처리단계를 더 포함하고,
상기 제2 손실 압축 이미지 처리단계는,
원본 이미지를 복수의 이미지 블록으로 구분하는 단계;
구분된 상기 복수의 이미지 블록 별로 이미지 복잡도를 산출하는 단계;
상기 이미지 복잡도가 낮은 이미지 블록에 대해 블러링(blurring) 처리하여 제2 변환 이미지를 생성하는 단계;를 포함하는, 이미지 처리 방법.
- 청구항 2에 있어서,
상기 제2 손실 압축 이미지 처리단계에서 상기 이미지 복잡도를 산출하는 단계는,
상기 이미지 블록을 그레이 이미지로 변환하고, 각 화소 별로 기설정된 화소값과의 차이를 구한 후, 상기 화소값의 차의 평균으로 계산되는 변화량이 기설정된 값 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출하거나,
상기 이미지 블록의 색상수가 기설정된 기준 색상수(Nc_standard) 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출하거나,
상기 이미지 블록에 대해 양자화를 수행하고, 양자화 레벨의 평균값을 구한 후, 상기 양자화 레벨의 평균값을 벗어나는 화소의 갯수가 기설정된 갯수 이상인지 여부를 판단하여 상기 이미지 복잡도를 산출하는, 이미지 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180011842A KR102037951B1 (ko) | 2018-01-31 | 2018-01-31 | 파일 형식에 기반한 이미지 처리 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180011842A KR102037951B1 (ko) | 2018-01-31 | 2018-01-31 | 파일 형식에 기반한 이미지 처리 장치 및 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160002529A Division KR101826040B1 (ko) | 2016-01-08 | 2016-01-08 | 파일 형식에 기반한 이미지 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180035745A KR20180035745A (ko) | 2018-04-06 |
KR102037951B1 true KR102037951B1 (ko) | 2019-10-29 |
Family
ID=61973691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180011842A KR102037951B1 (ko) | 2018-01-31 | 2018-01-31 | 파일 형식에 기반한 이미지 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102037951B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396670B (zh) * | 2022-07-28 | 2024-05-03 | 西安空间无线电技术研究所 | 一种局域处理的图像数据压缩方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014036296A (ja) | 2012-08-08 | 2014-02-24 | Mega Chips Corp | データ記憶制御装置、データ読出制御装置、およびデータ記憶方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0654208A (ja) * | 1992-07-31 | 1994-02-25 | Canon Inc | 画像処理方法および画像処理装置 |
US7295608B2 (en) * | 2001-09-26 | 2007-11-13 | Jodie Lynn Reynolds | System and method for communicating media signals |
KR100723505B1 (ko) * | 2005-10-06 | 2007-05-30 | 삼성전자주식회사 | 하이브리드 방식의 영상 데이터 처리 시스템 및 영상데이터 처리 방법 |
KR101517019B1 (ko) | 2013-06-07 | 2015-05-11 | 주식회사 큐램 | 블록특성을 이용한 적응 이미지 압축방법 및 그 시스템 |
-
2018
- 2018-01-31 KR KR1020180011842A patent/KR102037951B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014036296A (ja) | 2012-08-08 | 2014-02-24 | Mega Chips Corp | データ記憶制御装置、データ読出制御装置、およびデータ記憶方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180035745A (ko) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6640929B2 (ja) | 異なる表示機能の間で知覚ルミナンス非線形性ベースの画像データ交換を改善する装置および方法 | |
US8340445B2 (en) | Image encoding device, image encoding method, image encoding/decoding system | |
JP4418762B2 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7486829B2 (en) | Apparatus and method for image processing, and computer product | |
JP5632431B2 (ja) | 画像符号化装置、及び画像符号化方法 | |
US10609372B2 (en) | Up-conversion to content adaptive perceptual quantization video signals | |
US8213727B2 (en) | Image encoding apparatus and image decoding apparatus, and control method thereof | |
US11341624B2 (en) | Reducing banding artifacts in HDR imaging via adaptive SDR-to-HDR reshaping functions | |
JP2019530309A (ja) | シングルレイヤー後方互換性コーデックのリアルタイム再構成 | |
JP2014194706A (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
US8041135B2 (en) | Image encoding apparatus and control method thereof | |
JP4235583B2 (ja) | 画像処理装置、画像処理用プログラム及び記憶媒体 | |
KR101847459B1 (ko) | 이미지 변환장치 및 방법 | |
US8396308B2 (en) | Image coding based on interpolation information | |
KR102037951B1 (ko) | 파일 형식에 기반한 이미지 처리 장치 및 방법 | |
US10142604B2 (en) | Imaging apparatus and control method thereof | |
JP2003110869A (ja) | 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体 | |
KR101826040B1 (ko) | 파일 형식에 기반한 이미지 처리 장치 및 방법 | |
JP2020123917A (ja) | 画像処理プログラム、画像処理装置及び画像処理方法 | |
US8463057B2 (en) | Image encoding apparatus and control method therefor | |
KR101930389B1 (ko) | 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 | |
JP2802629B2 (ja) | 画像データの圧縮装置、及び画像処理装置 | |
CN110418133B (zh) | 用于为图像数据编码的方法和装置 | |
JP6389748B2 (ja) | 画像処理装置、及びプログラム | |
KR20180134799A (ko) | 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |