KR20120003909A - 이미지 압축을 위한 시스템 및 방법 - Google Patents

이미지 압축을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20120003909A
KR20120003909A KR1020117025402A KR20117025402A KR20120003909A KR 20120003909 A KR20120003909 A KR 20120003909A KR 1020117025402 A KR1020117025402 A KR 1020117025402A KR 20117025402 A KR20117025402 A KR 20117025402A KR 20120003909 A KR20120003909 A KR 20120003909A
Authority
KR
South Korea
Prior art keywords
image
subregion
dictionary
template pattern
template
Prior art date
Application number
KR1020117025402A
Other languages
English (en)
Other versions
KR101496422B1 (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 와치투, 인코포레이티드
Publication of KR20120003909A publication Critical patent/KR20120003909A/ko
Application granted granted Critical
Publication of KR101496422B1 publication Critical patent/KR101496422B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/97Matching pursuit coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Analysis (AREA)

Abstract

디지털 이미지를 압축할 수 있는 시스템 및 방법이다. 스토리지 유닛은 코드에 의하여 각각 식별되는 복수 개의 미리 정해진 템플릿 패턴을 가지는 사전을 저장할 수 있다. 분해 모듈은 이미지를 복수 개의 하위 영역으로 분할할 수 있다. 압축 모듈은 사전으로부터 각각의 하위 영역에 대한 이미지 특징과 가장 밀접하게 부합하는 템플릿 패턴을 선택할 수 있다. 상기 압축 모듈은 각각의 하위 영역은 그것을 위해 선택된 템플릿 패턴을 식별하는 코드로 표현되는 이미지에 대한 압축 데이터 집합을 생성할 수 있다. 일단 데이터가 압축이 되고 나면, 압축 해제 유닛은 이미지를 재구성할 수 있다. 상기 압축 해제 유닛은 압축 데이터 집합으로부터 코드를 사용하여 각각의 하위 영역에 대하여 사전으로부터 템플릿 패턴을 가져오고, 모든 하위 영역에 대한 템플릿 패턴을 결합하여 전체 이미지를 재구성할 수 있다. 출력 디바이스는 재구성된 이미지를 표시할 수 있다.

Description

이미지 압축을 위한 시스템 및 방법{SYSTEM AND METHOD FOR IMAGE COMPRESSION}
본 발명은 이미지 압축을 위한 시스템 및 방법, 구체적으로는 이미지를 표현하기 위하여 사용되는 데이터의 양을 감소시키기 위한 시스템 및 방법에 관한 것이다.
디지털 이미징 기법은, 통상적으로 물리적 객체로부터, 디지털 이미지를 만들 수 있다. 디지털 이미지는 카메라 또는 유사 디바이스에 의하여 물리적인 장면으로부터 바로 만들어질 수 있다. 이와는 달리, 디지털 이미지는 사진, 사진 필름 또는 인쇄지와 같은 아날로그 매체의 다른 이미지로부터 얻어질 수 있고, 스캐너 또는 유사 디바이스에 의하여 디지털 매체로 변환될 수 있다. 컴퓨터단층촬영(computed tomography, CT) 스캔, 측방감시 레이더(side-looking radar) 또는 전파망원경(radio telescope)과 같은 지형 장비(topographic equipment)를 사용하여 얻은 것들과 같은, 많은 기술적 이미지(technical image)는, 이미지가 아닌 데이터(non-image data)의 복잡한 처리에 의하여 얻어진다. 결국, 디지털 이미지는 또한 기하 모델 또는 수학 식으로부터 계산될 수도 있다.
디지털 이미지는 픽셀을 포함할 수 있다. 픽셀은 이미지에서 정보의 가장 작은 단위일 수 있다. 픽셀은 보통 일반적인 2차원 격자에 배치되며, 흔히 점, 정사각형, 또는 직사각형을 사용하여 표현된다. 각각의 픽셀은 원본 이미지의 샘플의 속성을 나타내는 값을 가질 수 있다. 통상적으로 픽셀 또는 샘플의 밀도를 증가시킴으로써 해상도를 높이거나 원본 이미지를 더 정확하게 표현할 수 있다. 각 픽셀의 강도(intensity)는 가변적일 수 있다. 색상 시스템에서, 각각의 픽셀은 적색, 녹색, 및 청색과 같은 세 가지 색 요소를 가지거나 시안(cyan), 마젠타(magenta), 황색, 및 흑색의 네 가지 색 요소를 가질 수 있다.
이미지 해상도는 이미지의 품질을 나타낼 수 있다. 이미지 해상도는 디지털 이미지에서 픽셀 치수(pixel dimension)에 의하여 정의된다. 세로 N개 픽셀, 가로 M개 픽셀(N, M은 정수)의 이미지는 (그림 높이가 N개 라인에 걸치거나, N개의 TV라인에 걸치는)N x M 픽셀보다 작거나 같은 임의의 해상도를 가질 수 있다. 이와 다르게 많이 쓰이는 방식은 이미지의 픽셀의 총 개수로서 해상도를 정의하는 것이고, 총 개수는 통상적으로 메가픽셀(megapixel) 단위의 수로서 주어지며, 픽셀 열(pixel column)에 픽셀 행(pixel row)를 곱한 후(N x M), 백만으로 나누어서 계산될 수 있다. 다른 방식은, 인치 당 픽셀 수 또는 인치의 제곱 당 픽셀 수와 같이, 길이 단위 당 픽셀 수 또는 면적 단위 당 픽셀 수에 의하여 해상도를 정의한다. 이들 계산된 픽셀 해상도는 일반적으로 정밀하지 않으며(계산된 해상도는 실제 해상도보다 작을 수 있음), 실제 이미지 해상도의 근사치 또는 상한(upper bound) 값으로 제공될 수 있다. 일반적으로, 해상도가 높을수록, 그림은 더 세밀하게 표현된다.
픽셀은 작은 정수 값들의 2차원 배열인: 래스터 이미지(raster image) 또는 래스터 맵(raster map), 또는 비트맵(bitmap)으로 컴퓨터 메모리에 저장될 수 있다. 이들 값들은 흔히 압축된 형태로 전송되거나 저장된다. 래스터 이미지의 각각의 픽셀은 통상적으로 2차원(2D) 이미지 영역 내의 구체적인 "위치" 및 그 위치에서의 하나 이상의 이미지 특징의 값과 연관되어 있다. 디지털 이미지는 저들 픽셀 샘플의 수와 성격에 따라 분류될 수 있다.
이미지 압축은 저장되거나 전송될 이미지 정보의 양을 감소시키기 위하여 이미지 데이터의 리던던시(redundancy)를 줄일 수 있다. 이미지 압축은 "손실"(데이터의 손실로 인하여 압축 해제된 데이터가 원본과 상이한 경우) 또는 "무손실"(압축 해제된 데이터가 완전하게 원본 데이터와 일치하는 경우)일 수 있다. 손실된 데이터가 충분히 적은 경우 또는 데이터 감소(data reduction)가 데이터 손실로 인한 손해를 능가하는 경우에는 손실 데이터가 사용될 수 있다. 무손실 데이터 압축은 압축된 데이터로부터 완전한 원본 데이터가 재구성되도록 한다. 무손실 압축은, 원본과 압축 해제된 데이터가 동일한 것이 중요한 경우, 또는 완전한 복제의 중요성 또는 그것으로부터의 허용 편차가 알려지지 않은 경우에 사용될 수 있다. 무손실 데이터 압축으로 압축된 통상의 데이터 유형은 실행가능한 프로그램 및 소스 코드이다. PNG(Portable Network Graphics) 또는 GIF(Graphics Interchange Format)와 같은 일부 이미지 파일 포맷은 통상적으로 무손실 압축만을 사용하는 반면, TIFF(Tagged Image File Format) 및 MNG(Multiple-image Network Graphics)와 같은 다른 포맷은 무손실 압축을 사용할 수도 있고 손실 압축을 사용할 수도 있다.
압축 메커니즘은 인코딩 및 디코딩을 하기 위하여 상이한 양의 처리 능력을 요구할 수 있다. 압축 방법의 품질은 흔히 피크 신호 대 잡음비(peak signal-to-noise ratio)에 의하여 측정된다. 피크 신호 대 잡음비는 이미지의 손실 압축을 통하여 발생한 오차 또는 잡음(noise)의 양을 측정할 수 있다. 그러나, 관찰자(viewer)의 주관적 결정 또한 압축 정확도 측정으로서 중요한 것, 아마도 가장 중요한 것으로 여겨진다.
이미지 내용 자체의 실제에 더 가까우면서도 또한 이미지 데이터의 폭넓은 압축도 제공하는, 이미지 압축을 위한 시스템 및 방법이 충족되어야 할 필요성이 있고, 그것은 매우 유용할 것이다.
본 발명의 구현예는, 이미지를 복수 개의 하위 영역으로 분할하고 각각의 이미지 하위 영역을 기존의 이미지 템플릿 패턴(들)의 사전 또는 데이터베이스 중에서의 하나 이상의 유사한 템플릿 패턴(들)로 표현함으로써, 배경 기술의 결함을 극복할 수 있다.
본 발명에 의하여, 이미지를 표현하기 위하여 원본 이미지 데이터에 비해 더 적은 양의 데이터가 사용될 수 있으며, 그와 같이 하여, 전송 및 저장을 보다 효율적으로 할 수 있다.
발명으로 간주되는 기술적 사상은 특히 명세서의 결론 부분에 드러나 있고 뚜렷하게 주장되어 있다. 그러나, 본 발명은, 단계의 구성 및 방법 모두와, 객체, 특징, 및 그것들의 장점과 함께, 첨부된 도면과 다음의 상세한 설명을 참조할 때 가장 잘 이해될 수 있다. 본 발명의 구체적인 구현예는 다음의 도면을 참조하여 설명될 것이다.
도 1은 본 발명의 구현예에 따른, 이미지를 압축하는 시스템의 개략도이다.
도 2는 본 발명의 구현예에 따른, 이미지를 압축하는 데이터 구조의 개략도이다.
도 3은 본 발명의 구현예에 따른, 하나 이상의 이미지 프레임에 대한 이미지 데이터를 압축하는 방법의 흐름도이다.
도 4는 본 발명의 구현예에 따른, 하나 이상의 원본 이미지 프레임을 복원하기 위한 이미지 데이터를 압축 해제하는 방법의 흐름도이다.
간단하고 명확하게 도시하기 위하여, 그림에 나타난 요소들은 반드시 비율에 맞추어 그려진 것은 아니다. 예를 들어, 일부 요소의 치수는 명확성을 위하여 다른 요소들에 비하여 과장되어 있을 수 있다. 또한, 적절하게 고려되는 한, 대응하는 또는 유사한 요소를 나타내기 위하여 그림에서 참조 번호가 반복된다.
본 발명은 압축을 통하여 이미지의 크기를 감소시키는 시스템 및 방법이다.
본 발명의 구현예는 이미지를 복수 개의 하위 영역으로 분할하고 각각의 이미지 하위 영역을 기존의 이미지 템플릿 패턴(들)의 사전 또는 데이터베이스로부터 가져온 하나 이상의 유사한 템플릿 패턴(들)로 표현할 수 있다. 예를 들면, 이미지의 일부가, 잔디와 나무를 포함하는 숲의 장면의 경우와 같이, 주로 녹색 색상을 포함한다면, 그 이미지 부분을 표현하기 위하여 녹색 템플릿이 사용될 수 있다. 선택적으로, 전체의 이미지는 전반적인(예컨대, 평균) 템플릿 패턴으로 태깅될 수(tagged) 있는 한편, 이미지의 각 픽셀은 해당 템플릿 패턴(또는 선택적으로, 복수 개의 템플릿 패턴)과 관련된 데이터에 의하여 표현된다. 그러한 구현예에서, 각각의 픽셀을 절대적인 측정치(예컨대, 적색, 청색, 또는 녹색)로 표현하는 대신에, 각각의 픽셀 값은 (예컨대, 적색, 청색, 및/또는 녹색의)템플릿 패턴(들)과 관련된 속성(예컨대, "빨간 상태", "파란 상태", 및/또는 "초록 상태"의 정도)을 나타낼 수 있다. 템플릿 패턴(들)은 원본 이미지에 근사하기 때문에, 다수의 픽셀은 템플릿 패턴과 완전하게 부합할 수 있어서 상기 픽셀을 표현하기 위하여 이미지 데이터가 사용되지 않을 수 있다. 그러한 구현예에 따르면, 이미지를 표현하기 위하여, 원본 이미지 데이터에 비해 더 적은 양의 데이터가 사용될 수 있으며, 그와 같이 하여, 전송 및 저장을 보다 효율적으로 할 수 있다.
그러한 구현예는 전체 이미지 또는 이미지의 일부에 똑같이 적용될 수 있고, 복수 개의 픽셀 그룹은, 예를 들어 색상의 템플릿 패턴과 같이, 일정하거나 지배적인(governing) 함수 속성에 의하여 표현된다. 이미지는 여러 가지 방법으로 하위 영역으로 분할될 수 있다. 예를 들면, 이미지 매트릭스는 이미지 내의 더 적은 그룹의 픽셀을 표현하기 위하여 선형적으로 분할될 수 있고, 예를 들면, 이미지의 3 x 3 하위 매트릭스 각각은 하위 영역을 나타낼 수 있다. 픽셀의 지역(area) 또는 하위 영역을 선택하기 위하여, 이미지 분할을 하는 알려진 알고리즘, 예를 들면, "k-평균(k-means)"(이에 제한되지 않음) 또는 기타 알고리즘이 이미지 내의 하위 영역을 식별하기 위하여 선택적으로 활용될 수 있다.
이미지는 복수 개의 하위 영역으로 분할될 수 있고, 각각의 하위 영역은 이미지 매트릭스의 하위 매트릭스를 형성하고, 따라서 픽셀의 하위 영역을 나타낸다. 예를 들면, 각각의 하위 매트릭스는 복수 개의 픽셀로 된, 정사각형, 직사각형 또는 기타 다각형을 나타낼 수 있다. 한정되지 않는 예로서, 각 정사각형은 선택적으로 10 x 10 픽셀 하위 영역에 대한 값을 포함할 수 있다.
일단 이미지가 복수 개의 하위 영역으로 분할되고 나면, 해당 하위 영역에 대하여 색상 또는 기타 이미지 특징이 조사될 수 있다. 조사된 이미지 특징은 하위 영역에서 가장 주된 특징일 수 있다. 예를 들면, 이미지 특징이 특정 색상을 가지는 패턴과 관련된다면, 해당 하위 영역에서 가장 주된 색상이 조사된다. 그 후 주된 색상(또는 기타 이미지 특징)은 사전 또는 이미지 특징 데이터베이스에 저장된 복수 개의 그러한 색상(또는 기타 이미지 특징)과 비교될 수 있다. 프로세싱 유닛은 자동적으로 어떤 사전 색상(또는 기타 이미지 특징)이 각각의 하위 영역에 대한 색상(또는 특징)과 가장 밀접하게 부합하는지를 결정한다. 이와는 달리, 각각의 하위 영역에 대하여 복수 개의 색상이 조사될 수 있고, 이러한 경우에 복수 개의 색상 및 그것들과 관련된 위치(들)에 관하여 상기 프로세스가 수행될 수 있다.
다음으로, 각각의 하위 영역에 대한 표현에 가장 밀접하게 부합하는 이미지 특징 표현을 포함하는 템플릿 패턴이 사전으로부터 선택될 수 있다. 그 후 해당 하위 영역의 모든 픽셀은 해당 템플릿 패턴의 대응하는 픽셀 값으로 교체될 수 있다. 템플릿 패턴은 사전 번호(예컨대, 사전에서 템플릿 패턴 또는 함수를 고유하게 식별하는 코드, 주소 또는 기타 참조 마커(marker))에 의하여 표현될 수 있다. 일부 구현예에서, 각각의 하위 영역에서의 복수 개의 픽셀을 표현하거나 인코딩하기 위하여, 단 하나의 사전 번호가 전송되거나, 저장되거나, 또는 다르게는 사용될 수 있고, 그로 인해 각각의 이미지 하위 영역의 픽셀을 표현하기 위하여 필요한 데이터의 양을 현저하게 감소시키는 결과가 된다.
각각의 하위 영역에 대하여 임의의 모양 또는 개수의 픽셀이 선택적으로 사용될 수 있다; 그러나, 각각의 하위 영역의 크기가 작을수록, 이미지 당 사용된 하위 영역의 개수는 많아진다. 이러한 하위 영역의 총 개수의 증가 및 각각의 하위 영역의 크기의 감소는 픽셀 해상도를 증가시키고 원본 이미지에 대한 충실도(fidelity)를 증가시킬 수 있지만, 또한 원본 이미지를 표현하기 위하여 필요한 데이터의 양은 증가할 수 있다. (예를 들면, 이미지를 표현하는 미리 정해진 최대 허용 데이터 및/또는 원본 이미지를 표현하기 위하여 허용되는 미리 정해진 최소 충실도 또는 정확도를 유지하기 위하여) 이미지 하위 영역의 크기, 모양, 및/또는 밀도를 정의하는 파라미터는 사용자에 의하여 조정이 될 수 있거나, 이와는 달리, 컴퓨터 프로세서에 의하여 자동적으로 조정되거나 설정될 수 있다.
본 발명의 일부 구현예에 따라, 각각의 템플릿 패턴은 복수 개의 이미지 특징, 속성, 또는 변수에 대한 값을 포함할 수 있다. 이미지 특징 또는 변수는 색상, 색상 변화(gradient), 변화 방향, 또는 참조 픽셀을 포함할 수 있으나, 이에 제한되지 않는다.
일부 구현예에서, 픽셀을 표현하는 압축 데이터는 단순히 사전으로부터의 하나 이상의 유사한 템플릿 패턴(들) 또는 가치 함수(value function)에 대한 참조가 될 수 있다. 템플릿 패턴(들)이 원본 이미지와 완전하게 부합하지 않는 경우에, 압축 데이터는 "손실압축된(lossy)" 것 일 수 있다. 다른 구현예에서, "무손실" 압축을 하기 위하여, 템플릿 패턴(들) 및 원본 이미지 사이의 차이를 정의하는, 추가적인 차이(또는 "오차") 값이 각각의 픽셀에 할당될 수 있다. 그로 인해 템플릿 패턴(들)을 사용한 후 각각의 픽셀에 대한 오차 값을 더함으로써 원본 이미지는 완전하게 재구성(디코딩)될 수 있다.
이미지가 템플릿 패턴으로부터 재구성되는, 압축 데이터를 디코딩하는 반대의 동작은 프로세서 또는 디코더에 의하여 실행될 수 있다. 디코더는 사전 또는 데이터베이스(예컨대, 사전 코드에 의하여 식별됨)로부터 이미지의 가장 밀접한 함수 특성 표현 또는 템플릿 패턴을 탐색(retrieve)할 수 있다. 디코더는 원본 이미지를 재구성하기 위하여 템플릿(들)(및 선택적으로 오차 데이터)을 사용할 수 있다. 손실 압축이 사용되는 경우, 템플릿 패턴 및 원본 이미지 사이의 모든 차이는 압축에 의하여 손실된 데이터이다. 무손실 압축이 사용되는 경우, 차이 및 오차 값은 각각의 픽셀에 기록되고, 예를 들면, 템플릿 데이터와 함께 또는 템플릿 데이터와 개별적으로 디코더에 전송될 수 있으며, 템플릿 패턴 및 원본 이미지 사이의 차이에 관한 데이터의 손실이 없이, 원본 이미지를 재생성한다.
손실 압축에서, 템플릿 패턴 및 원본 이미지가 더 가깝게 매칭될수록, 더 적은 데이터가 손실된다. 무손실 압축이 사용되는 경우, 템플릿 패턴 및 원본 이미지가 더 가깝게 매칭될수록, 더 적은 오차 데이터가 저장되고 압축된 이미지 데이터와 함께 전송된다(완벽한 부합은 오차 데이터를 만들지 않는다). 이에 따라, 손실 압축의 정확도를 개선시키기 위하여, 또는 무손실 압축에 사용되는 오차 데이터의 양을 감소시키기 위하여, 사전은 압축 프로세스 동안 조정되어 원본 이미지에 더 맞게 된다. 일 구현예에서, 복수 개의 수정된 사전에 추가적인, 또는 수정된 템플릿 패턴(들)이 제공될 수 있다. 예를 들면, 이미지 전송을 위하여, 사전 또는 그것의 수정된 부분만이, 이미지가 압축되고 전송되는 동안, 적어도 한 번 이상, 주기적으로 전송될 수 있다.
예를 들면, 초기의 이미지는 총 81 픽셀 이미지로 주어지는, 9 x 9 픽셀 매트릭스로 표현되었다고 가정하자. 본 이미지는, 예를 들면, 9개의 3 x 3 픽셀의 하위 영역 또는 하위 매트릭스의 그룹으로 분할될 수 있다. 하나 이상의 상기 이미지 특징 또는 변수를 포함하는 관련된 패턴에 대해 각각의 하위 영역은 평가될 수 있다. 가장 밀접한 템플릿 패턴이, 복수 개의 그러한 템플릿 패턴을 비교하여, 사전으로부터 선택될 수 있다. 이와 다르게, 사전의 어떤 패턴도 다른 것들보다 현저한 이득을 보이지 않는다면, 예를 들면, 평균 색상 값을 가지는 단색의(monochromatic) 템플릿과 같은, 최소의 데이터 량을 가지는, 디폴트(default) 템플릿 패턴이 사용될 수 있다. 다른 구현예에서, 충분히 밀접한 템플릿 패턴이 사전에 존재하지 않는다면, 새로운 템플릿 패턴이 사전에 추가될 수 있다. 새로운 템플릿 패턴은 사전에 이전에 존재하던 패턴을 교체할 수 있거나, 추가적인 패턴으로 추가될 수 있다. 이전에 존재하던 패턴을 교체하기 위하여, 하나 이상의 기준에 따라 이전에 존재하던 패턴 중 교체가 될 패턴이 선택될 수 있고, 이미지 하위 영역을 표현하기 위하여 적어도 이전에 사용된 것이 아닌 것(또는 가장 드물게 사용된 것)을 포함할 수 있다. 추가적으로 또는 이와 다르게, 교체가 될 패턴은, 예를 들면, 보다 넓은 범위의 템플릿 옵션을 제공하기 위해, 새로운 패턴에 밀접한 패턴 또는 사전에서의 다른 기존의 패턴과 가장 상이한 패턴일 수 있다.
일부 구현예에서, 프로세서는 사전에서의 어떤 템플릿 패턴이 원본 이미지 또는 이미지 하위 영역과 "가장 밀접(closest)"한지 자동적으로 결정할 수 있다. 원본 이미지 또는 이미지 하위 영역에 대한 템플릿 패턴의 "밀접 정도(closeness)"는 관련 기술 분야에 알려진 임의의 유형의 패턴 또는 이미지 비교 함수(image comparation function)에 따라 결정될 수 있다. 일부 구현예에서, 다른 특징(예컨대, 종합적인 색상 및/또는 밝기 변화, 또는 그 역)보다 일부 특징(예컨대, 각 픽셀의 색상)의 밀접 정도가 더 많이 강조될 수 있다. 예를 들면, 프로세서는, 상이한 특징의 비교에 상이한 가중치 또는 우선순위가 주어질 수 있는, 가중치 비교 함수(weighted comparison function)를 사용하여 각각의 템플릿에 순위 또는 점수를 매길 수 있다.
일단 각각의 이미지 하위 영역을 표현하기 위하여 대표적인 템플릿 패턴(들)이 선택되었다면, 하위 영역은 상기 템플릿(들)에 대응하는 사전의 주소, 숫자, 또는 코드에 의하여 표현될 수 있다. 선택적으로, 압축 데이터는 이미지 하위 영역의 크기 또는 차원을 포함할 수 있다; 그러나, 이미지가 같은 크기의 하위 영역으로 분할되면, 이러한 크기 서술자(descriptor)는 포함될 필요가 없거나, 데이터와 함께 한 번만 포함되거나, 또는 하위 영역의 크기가 변화하는 때에만 포함될 수 있다. 추가적으로, 압축 데이터는 원본 이미지 내의 각각의 하위 영역의 상대적인 위치를 포함할 수 있다; 그러나, 이미지 하위 영역이 미리 정해진 순서 또는 예정한 순서에 따라 압축되면, 각각의 구체적인 하위 영역의 위치는 포함될 필요가 없다.
압축 데이터가 이미지의 복수 개의 특징을 정의한다면, 각각의 특징은 벡터의 좌표로서 표현될 수 있다. 상기 벡터는 색상 번호뿐 아니라, 예를 들어, 시작 색상, 색상 변화, 색상 변화의 방향 및 픽셀 참조 마크와 같은, 기타 정보도 또한 포함할 수 있다. 따라서, 9개의 3 x 3 픽셀 하위 영역으로 분할된 81개 픽셀의 초기 이미지는, 9개의 "픽셀 벡터"로 정의될 수 있고, 각각의 벡터는 각각의 하위 영역에 대한 복수 개의 선택된 특징에 대한 이미지 값을 정의한다. 상이한 특징 값을 벡터에 통합하는 것은 데이터의 총 저장 크기 및 프로세싱 유닛 상의 계산 부담을 감소시킬 수 있다. 예를 들면, 처리되는 변수의 개수는 81(9 x 9) 에서 36(9 x 4)으로 약 45% 감소한다. 예를 들어, 짧은 주기의 시간에 걸쳐 연속된 이미지가 처리되는 경우에는 데이터 크기가 더 감소할 수 있다. 각각의 연속된 이미지는 원본 기초 벡터(original base vector) 변수의 함수일 수 있다; 따라서, 시간에 따라, 각각의 이미지는 처리되는 변수의 개수를 약 45% 감소시키기 때문에, 처리되는 각각의 이미지에 대해 이러한 감소는 배가된다(multiplied). 이미지 데이터 크기를 추가적으로 감소시키기 위하여, 각각의 이미지 하위 영역은 (예컨대, 세 개 또는 네 개의 색상이 아닌) 단지 두 개의 색상의 단순한 이진 패턴(binary pattern)으로 표현될 수 있다.
본 발명의 일부 구현예에 따라, 각각의 하위 영역에 대한 하나 이상의 변수의 상기 집합을 개별적으로 결정하지 않고, 프로세스는 또한 복수 개의 패턴을 제공할 수 있고 그 후 각각의 하위 영역 또는 하위 영역의 그룹에 적합한 패턴을 선택한다. 사전 내에 제공되는 패턴은, 미리 결정되어 있거나 또는 고정적이고 및/또는 이미지 압축 동안에 생성되거나 적어도 조정된다.
이미지를 압축하기 위하여 사용 가능한 템플릿 패턴의 개수는, 이미지의 각 픽셀의 개수, 픽셀의 행의 개수, 또는 픽셀의 임의의 차원에, 순서대로, 비례하거나, 그것들과 비교하여 상대적으로 높을 수 있다. 일 예에서, 템플릿 패턴의 개수는 하위 영역의 픽셀 수의 제곱근과 근사적으로 동일할 수 있다(예를 들면, 256 x 256 픽셀의 하위 영역에 대해서는 256개의 사용 가능한 패턴이 있을 수 있음). 다른 패턴 또는 상이한 개수의 패턴이 제공될 수 있다. 증가하는 패턴의 개수는 통상적으로 사전의 크기를 증가시킴에도 불구하고, 증가하는 패턴의 개수는 또한 상기 패턴을 사용하여 압축된 이미지의 정확도를 증가시킨다.
각각의 패턴은 색상의 변화 및/또는 기타 이미지 특징, 참조 픽셀, 변화 방향 등과 같은, 이미지 정보를 포함할 수 있다. 패턴은 패턴의 사전으로부터 각각의 하위 영역에 대하여 선택될 수 있다. 참조 색상은 또한 각각의 하위 영역에 대하여 선택될 수 있고, 예를 들면, 하위 영역의 픽셀의 평균 색상일 수 있다. 패턴은 미리 정의된 사전을 제공하기 위하여 이미지를 프로세싱하거나 압축하기 이전에 구성될 수 있고, 예를 들어 적어도 부분적으로는 경험적으로(heuristically) 결정될 수 있다. 하위 영역에 대한 이미지 데이터와 충분히 유사한 패턴이 사전에서 발견되지 않는다면, 하위 영역 데이터의 크기를 감소시키기 위하여 일반적인 "다운-샘플링(down-sampling)" 기술이 적용될 수 있다. 다른 구현예에서, 충분히 유사한 패턴이 발견되지 않는다면, 하위 영역에 대한 데이터는 압축되지 않은 채로 남아 있을 수 있다.
이와 다르게 또는 추가적으로, 이미지 하위 영역과 충분히 부합하도록 새로운 패턴이 생성될 수 있고, 새로운 패턴은 패턴의 사전에 추가될 수 있다. 예를 들면, 새로운 패턴은 하위 영역 또는 그것으로부터 수정된 것의 완전한 복사본일 수 있다. 프로세싱 유닛은, 예를 들면, 패턴에 대한 파라미터의 비교에 따라 어떤 패턴이 "충분히 유사"한지 결정하기 위한 임계값을 설정할 수 있다. 유사도(similarity)에 대한 임계값이 높을수록, 이미지 압축은 더 정확할 수 있다. 일부 구현예에서, 관찰자는 상이한 유사도 임계값을 가지고 압축으로부터 재구성된 이미지들을 원본 이미지와 비교하고, 예를 들어, 시각 검사에 의하여 재구성된 이미지들 중 어떤 것을 선택함으로써(이로써, 수용가능한 유사도 임계값이 선택됨), 이미지 압축 정확도 표준을 정의하거나 개선할 수 있다.
로컬 프로세싱 유닛은 여기에 설명된 것과 같이 이미지를 세분화하고 압축할 수 있고, 그 후 압축된 이미지 데이터를 전송 및/또는 저장할 수 있다. 그 후 로컬 프로세싱 유닛은 이미지를 재구성하여, 디스플레이에 대한 완전한 이미지를 획득할 수 있다.
본 발명의 일 구현예에 따른, 이미지를 압축하기 위한 시스템(100)을 개략적으로 도시하는, 도 1을 참조하자.
시스템(100)은 어떤 이미지가 꺼내어질 수 있고 및/또는 전송될 수 있는 하나 이상의 디바이스(150), 템플릿 패턴 및/또는 압축 이미지의 사전을 저장하는 데이터베이스(110), 각각의 이미지를 복수 개의 하위 영역으로 분해하는 하위 영역 분해 모듈(120), 각각의 하위 영역의 데이터를 압축하는 압축 모듈(130), 및 압축된 하위 영역 데이터로부터 이미지를 재구성하는 압축 해제 모듈(140)을 포함할 수 있다.
디바이스(150)는 컴퓨터 디바이스, 서버, 비디오 또는 이미지 캡처 또는 재생 디바이스, 셀룰러 디바이스, 또는 셀룰러 전화(cellular telephone), 개인휴대정보단말기(personal digital assistant, PDA), 비디오 게임 콘솔 등과 같은 임의의 기타 디지털 디바이스가 될 수 있다. 디바이스(150)는 비디오 또는 이미지 데이터를 기록, 세이브(save), 저장(store), 처리, 편집, 표시, 투영(project), 수신, 전송, 또는 그렇지 않으면 사용 또는 조작하는 일련의 명령어의 실행이 가능한 임의의 디바이스를 포함할 수 있다. 디바이스(150)는 사용자 인터페이스 상에 비디오 또는 이미지 데이터를 표시하기 위한 출력 디바이스(155)(예를 들면, 모니터, 프로젝터, 스크린, 프린터, 또는 디스플레이)를 포함할 수 있다. 디바이스(150)는 프로세서(157)를 포함할 수 있다. 프로세서(157)는 중앙처리장치(central processing unit, CPU), 디지털신호처리장치(digital signal processor, DSP), 마이크로프로세서, 콘트롤러, 칩, 마이크로칩, FPGA(field-programmable gate array), ASIC(application-specific integrated circuit) 또는 임의의 기타 집적회로(integrated circuit, IC), 또는 기타 적합한 다목적 또는 특정 프로세서 또는 콘트롤러를 포함할 수 있다.
데이터베이스(110), 분해 모듈(120), 압축 모듈(130), 및/또는 압축 해제 모듈(140) 각각은 디바이스(150)에 (예를 들면, 동일한 스탠드얼론(stand-alone) 컴퓨터의 일부로서) 내장(integral)되어 있거나, (유선 또는 무선 네트워크를 통하여 연결된) 디바이스(150)로부터 분리되어 있을 수 있음을 이해할 수 있을 것이다.
하위 영역 분해 모듈(120)은 이미지를 복수 개의 하위 영역으로 분할할 수 있고, 각각의 하위 영역은, 색상 및 선택적으로 하나 이상의 관련된 변수 값과 같은, 하위 영역에 대한 하나 이상의 지배적인 특징으로 정의될 수 있다. 하위 영역 분해 모듈(120)은 여러 방법으로 이미지를 분할할 수 있다. 예를 들면, 이미지 픽셀 값을 표현하는 이미지 매트릭스는 이미지 내의 더 적은 픽셀의 그룹으로, 예를 들면, 각각이 이미지 하위 영역을 표현하는 복수 개의 하위 매트릭스로, 선형적으로 분할될 수 있다. 이미지 분할을 위하여 알려진 알고리즘, 예를 들면, "k-평균(k-means)"(이에 제한되지 않음) 또는 픽셀을 클러스터링(clustering)하기 위한 기타 방법이 사용되어서, 이미지 내에서 하위 영역을 식별할 수 있다.
일단 이미지 하위 영역이 정의되면, 압축 모듈(130)은, 예를 들면, 데이터베이스(110)에 저장된 템플릿 패턴의 사전으로부터, 각각의 하위 영역에 대한 대표적인 패턴을 선택할 수 있다. 그 후 압축 모듈(130)은 하위 영역을 압축할 수 있다. 각각의 템플릿 패턴은, 색상 변화, 참조 픽셀, 변화 방향 등과 같은 이미지 정보를 포함할 수 있다. 참조 색상은 각각의 하위 영역에 대해 선택될 수 있고, 예를 들면, 하위 영역의 픽셀의 평균, 메디안(median) 또는 모드(mode), 색상이 될 수 있다.
압축된 이미지 데이터는 데이터베이스(110)에 세이브될 수 있다. 디바이스(150)가 재구성된 이미지를 요구하는 경우에, 압축 해제 모듈(140)은 데이터베이스(110)으로부터 압축된 이미지 데이터를 가져올 수 있고, 완전하게 또는 근사적으로 원본 이미지를 복제하는 데이터를 압축 해제할 수 있다.
하위 영역 분해 모듈(120)은 이미지를 분할할 수 있고, 압축 모듈(130)은 이미지를 압축할 수 있고, 압축 해제 모듈(140)은 로컬 프로세싱 유닛, 예를 들면, 프로세서(157)를 사용하여 이미지를 재구성할 수 있다. 그 후 로컬 프로세싱 유닛은 재구성된 이미지를 출력 콘트롤러에 전송할 수 있고, 그것은 출력 디바이스(155)에 표시될 수 있다.
본 발명의 구현예에 따른, 이미지를 압축하기 위한 데이터 구조를 개략적으로 도시하는, 도 2를 참조하자. 데이터 구조는 원본 이미지(200)의 복수 개의 하위 영역(210)을 표현하는 복수 개의 템플릿 패턴(208)을 가지는 하위 영역 사전(202)을 포함할 수 있다. 템플릿 패턴(208)은 이미지 압축 이전에 미리 결정될 수 있고, 예를 들면, 경험적으로, 생성될 수 있다. 이와는 달리 및/또는 추가적으로 템플릿 패턴(208)은 동적으로, 예를 들면, 현재 이미지 및/또는 하나 이상의 선행하는 이미지를 사용하여 각각의 이미지 또는 복수 개의 이미지에 대해 실시간으로 생성될 수 있다. 원본 이미지(200)의 각각의 하위 영역을 압축하기 위하여 사전(202)로부터 템플릿 패턴(208)을 선택하기 위해 압축 모듈(예컨대, 도 1의 압축 모듈(130))은 분류 및 압축 기능(204)을 사용할 수 있다. 원본 이미지(200)의 하나 이상의 복수 개의 하위 영역(210)의, 색상 또는 기타 대표적인 함수 특성을 포함하는, 이미지 특징과 가장 밀접하게 부합하는, 사전(202)으로부터 하나 이상의 템플릿 패턴(들)(208)을 선택하기 위하여 압축 모듈은 분류 및 압축 기능(204)을 사용할 수 있다. 압축 이미지(206)를 생성하기 위하여 압축 모듈은 선택된 템플릿 패턴(들)(208)에 대하여 각각의 하위 영역(210)을 표현할 수 있다. 압축 이미지(206)는 사전(202)의 패턴 및/또는, 색상 값 또는 코드와 같은 색상 기술(description)에 대한 포인터에 의하여 원본 이미지(200)의 하위 영역(210)의 각각의 픽셀(복수 개의 픽셀)을 표현할 수 있다.
컴퓨터 또는 서버(예컨대, 도 1의 디바이스(150))는 템플릿 옵션의 범위 및 세부사항을 제공하는 사전(202)에 템플릿 패턴(208)을 생성할 수 있다. 템플릿 패턴은, 예를 들어, 기대 압축 정확도의 미리 결정되거나 선택된 양, 각각의 압축 이미지(206)에 대한 최대 데이터 크기, 하위 영역, 픽셀 정사각형, 픽셀 직사각형 또는 기타 픽셀 그룹, 및/또는 기타 기준을 포함하나 이에 제한되지 않는, 임의의 복수 개의 파라미터에 따라 정의된다. 일부 구현예에서, 컴퓨터는 동적인 방법으로, 예를 들면, 압축이 될 실제 이미지로부터의 이미지 패턴을 사용하여, 사전(202)의 템플릿 패턴(208)을 생성할 수 있다. 비디오 스트림 또는 일련의 유사한 이미지들에 대해, 스트림 내의 이전의 이미지 프레임의 이미지 특징에 따라 현재 원본 이미지(200)를 압축하기 위하여 사전(202)의 템플릿 패턴(208)은 조정될 수 있다. 컴퓨터는 동적(예컨대, 프로세싱 동안에 적응되는)이고 경험적(예컨대, 미리 정해진)인 특질(characteristic) 모두에 따라 사전(202)의 템플릿 패턴(208)을 생성할 수 있다.
사전(202)이 수정된 때에는, 전체 사전(202) 또는 그것의 수정된 부분만이, 예를 들어, 사전(202)이 저장되어 있는 데이터베이스(예컨대, 도 1의 데이터베이스(110))로부터, 또는 변화를 일으키는 컴퓨터로부터 직접, 주기적으로 또는 반복적으로 압축 모듈에 전송될 수 있다. 사전(202)의 수정된 부분이 주기적으로 전송되는 경우, 전체 사전(202)은 예를 들면, 각각의 압축 모듈, 프로젝트, 세션, 또는 이미지의 집합에 대하여 단 한 번 전송될 수 있고, 그에 따라 전송이 될 데이터의 양을 감소시킨다.
종합적으로, 이미지 압축 과정의 품질(예컨대, 얼마나 압축 손실이 있는지 정도)은, 압축 정보를 가져오게 되는, 사전(202)에 의하여 정의된다. 예를 들어, 압축 모듈이 사전(202)에서, 각각의 하위 영역(210)에 대하여 특정한 함수 특성과 완전하게 부합하는 탬플릿 패턴(208)을 찾으면, 압축은 무손실일 수 있고, 완전하게 부합하는 것을 찾을 수 없으면, 압축은 손실일 수 있다. 압축 손실이 있는 정도(예컨대, 손실된 데이터의 양 또는 이미지 압축의 오차)는 얼마나 밀접하게 템플릿 패턴(208)이 원본 이미지 하위 영역(210)과 부합하는지에 의존하고, 따라서 사전(202)에서 사용 가능한 템플릿 패턴(208)의 세부 사항과 개수에 의존한다. 압축이 손실인지 무손실인지의 범위는 사전(202)의 크기와 직접적으로 관련된 것은 아니지만, 사전(202)에서의 템플릿 패턴(208)의 개수 또는 세부 사항이 증가함에 따라, 사전(202)의 크기는 증가하고, 보다 완전하게 또는 밀접하게 부합하는 경우가 발견된다.
본 발명의 구현예에 따라, 하나 이상의 이미지 프레임에 대한 이미지 데이터를 압축하는 방법의 흐름도인, 도 3을 참조하자.
단계 301에서, 데이터베이스(예컨대, 도 1의 데이터베이스(110))는 복수 개의 템플릿 패턴을 가지는 초기의 사전과 함께 압축 모듈(예컨대, 도 1의 압축 모듈(130))을 제공할 수 있다. 초기의 사전은, 예를 들면, 제1 이미지 또는 이미지 하위 영역이 분석되기 이전에라도, 수신될 수 있다. 컴퓨터 또는 서버(예컨대, 도 1의 디바이스(150))는, 예를 들어, 하나 이상의 경험적 규칙 및/또는 미리 정해진 특질에 따라, 템플릿 패턴을 생성할 수 있다.
단계 302에서, 분해 모듈(예컨대, 도 1의 분해 모듈(120))은 제1 이미지를 수신할 수 있고, 이미지를 복수 개의 하위 영역으로 분할할 수 있다. 하위 영역은 기하학적으로 결정(예를 들어, 제1 이미지는 세분화되어 미리 정해진 개수의 미리 정해진 차원의 하위 영역을 만들 수 있음)되거나, 이미지 내용에 기초하여 결정(예컨대, 제1 이미지는 색상과 같은 이미지 특징의 현저한 변화에 의하여 식별되는 경계에 따라 분할될 수 있음)될 수 있다.
단계 303에서, 압축 모듈은 제1 이미지를 수신할 수 있고, 전체 이미지의 이미지 특징을 함께, 또는 각각의 하위 영역의 이미지 특징을 개별적으로 분석할 수 있다. 가장 유사한 이미지 특징을 가지는 초기의 사전으로부터 템플릿 패턴을 결정 및/또는 선택하기 위하여, 압축 모듈은 분류 및 압축 함수(예컨대, 도 2의 분류 및 압축 함수(204))를 사용할 수 있다. 가장 유사한 템플릿 패턴이 존재하고, 및/또는 제1 이미지 또는 하위 영역에 충분하게 밀접하면, 템플릿 패턴은 이미지 또는 하위 영역을 압축하기 위하여 선택된다. 그렇지 않으면, 컴퓨터 또는 서버는 이미지 또는 하위 영역과 충분히 부합하는 새로운 템플릿 패턴을 생성한다. 새로운 템플릿 패턴은 추가적인 이미지로서 초기의 사전에 추가될 수 있거나, 제2 사전을 생성하기 위하여 초기의 사전 내에서 하나 이상의 템플릿을 교체할 수 있다.
단계 304에서, 일단 템플릿 패턴이 선택되면, 압축 모듈은 템플릿 패턴을 사용하여, 예를 들면, 사전에서 선택된 템플릿 패턴에 대한 식별자에 의하여 이미지 또는 각각의 하위 영역을 표현함으로써, 제1 이미지를 압축할 수 있다. 원본 이미지 또는 이미지 하위 영역의 완전한 복제본을 생성(즉, "무손실" 압축)하기 위하여, 템플릿 패턴(들) 및 원본 이미지 또는 이미지 하위 영역의 픽셀 사이의 차이를 정의하는 차이 또는 "오차" 값은, 선택된 템플릿 패턴에 대한 식별자와 함께 전송될 수 있다. 이러한 차이 또는 "오차" 값은, 예를 들면, 각 원소의 값이 2차원 픽셀 행렬로 표현되는 선택된 템플릿 패턴 및 원본 이미지 또는 하위 영역의 대응하는 픽셀의 값 사이의 차이를 표현하는 2차원 매트릭스를 포함하는, 많은 가능한 형태를 가질 수 있다. 이러한 경우에, 2차원 차이 매트릭스 및 2차원 템플릿 픽셀 배열의 합은 원본 이미지 또는 원본 이미지 하위 영역의 픽셀 배열을 표현하는 2차원 매트릭스일 수 있다.
도 4를 참조하여 아래에서 더욱 상세하게 설명된 바와 같이, 동작 305에서, 압축 모듈은, 제1 이미지 프레임을 압축 해제하기 위한 압축 해제 모듈(예컨대, 도 1의 압축 해제 모듈(140))에, 사전에서 선택된 템플릿 패턴에 대한 식별자뿐만 아니라, 적용 가능하다면, 차이 또는 "오차" 값도 전송할 수 있다.
단계 302 내지 단계 305는 각각의 추가적인 이미지 프레임에 대하여 반복될 수 있다. 또한, 사전이 새로운 템플릿 패턴으로 갱신된다면, 새로운 템플릿 패턴 및/또는 전체의 갱신된 사전은 상술한 프로세스가 종료되는 때에 전송될 수 있고, 결국 이미지 또는 그것들의 하위 영역은, 예를 들면, 프로세스 동안에 일어날 수 있는 사전의 하나 이상의 갱신을 제공하기 위하여, 템플릿 패턴과 부합하게 되거나, 또는 이와 다르게, 프로세스 동안 두 번 이상 부합하게 된다. 일부 구현예에서, 전체의 이미지가 전부로서 분석이 되면, 프로세스는 단계 302를 생략할 수 있다.
본 발명의 구현예에 따른, 하나 이상의 원본 이미지 프레임을 복원하기 위한 이미지 데이터의 압축을 해제하기 위한 방법의 흐름도인, 도 4를 참조하자. 상기 방법은, 예를 들어, 도 3을 참조하여 설명된 구현예에 따라 압축된, 데이터를 압축 해제할 수 있다.
단계 401에서, 압축 해제 모듈(예컨대, 도 1의 압축 해제 모듈(140))은 이미지 프레임에 대한 압축 데이터를 가져올 수 있다. 이미지는 (예컨대, 도 3을 참조하여 단계 302에서 설명한 바와 같이) 복수 개의 하위 영역으로 분할되었을 수 있다. 압축 해제 모듈은 이미지 프레임의 각각의 하위 영역에 대해 다음과 같이 단계 402 및 단계 403를 실행할 수 있다.
단계 402에서, 압축 해제 모듈은 템플릿 패턴 식별자뿐만 아니라, 적용 가능하다면, 압축 데이터로부터 현재 하위 영역에 대한 차이 또는 "오차" 값도 가져올 수 있다. 템플릿 패턴 식별자는 고유의 템플릿 패턴을 저장하는 사전 또는 데이터베이스 위치에 대한 주소, 포인터, 또는 코드를 포함할 수 있다.
단계 403에서, 압축 해제 모듈은 식별자를 사용하여 사전에 접근하고 현재 하위 영역의 각각의 픽셀(또는 픽셀 그룹)에 대한 템플릿 패턴 픽셀 값을 가져올 수 있다. 압축 해제 모듈은 템플릿 패턴 픽셀 값을 사용하여 그 값에 따라 하위 영역을 재구성할 수 있다.
원본 이미지 하위 영역의 완전한 복제본을 생성(즉, "무손실" 압축)하기 위하여, 상술한 바와 같이, 압축 해제 모듈은 또한 템플릿 패턴(들) 및 원본 이미지 또는 이미지 하위 영역의 픽셀 사이의 차이를 정의하는 차이 또는 "오차" 값을 사용할 수 있다.
단계 404에서, 압축 해제 모듈은 모든 압축 해제된 하위 영역을, 차례로 결합하여, 원본 이미지의 (템플릿 패턴만을 사용한) 근사적인 복제본 또는 (템플릿 패턴뿐 아니라 차이 값까지 사용한) 완전한 복제본을 생성할 수 있다. 압축 해제 모듈은 생성된 이미지를 컴퓨터 또는 서버에 전송할 수 있다(예컨대, 도 1의 디바이스(150)).
단계 405에서, 컴퓨터 또는 서버의 출력 디바이스(예컨대, 도 1의 출력 디바이스(155))는 생성된 이미지를 표시할 수 있다.
비디오 스트림 내의 여러 프레임과 같이, 여러 이미지가 있는 경우라면, 단계 403 내지 단계 405는 각각의 이미지에 대해 반복될 수 있다. 단계 403 내지 단계 405는 여러 이미지 프레임에 대하여 순차로 또는 병행하여 실행될 수 있다.
본 발명의 구현예는, 프로세서 또는 콘트롤러(예를 들어, 도 1의 프로세서(157))에 의하여 실행될 때 여기에서 개시된 방법을 수행하는 명령어를 저장하기 위한, 예를 들어 메모리, 디스크 드라이브, 또는 범용 직렬 버스(Universal Serial Bus, USB) 플래시 메모리와 같이, 컴퓨터 또는 프로세서가 판독가능한 매체, 또는 컴퓨터 또는 프로세서 저장 매체와 같은 물건을 포함할 수 있다.
제한된 개수의 구현예에 관하여 발명이 설명되었지만, 그것은 많은 변형, 수정 및 발명의 다른 적용이 이루어질 수 있음을 이해할 것이다.
100: 시스템 110: 데이터베이스
120: 분해 모듈 130: 압축 모듈
140: 압축 해제 모듈 150: 디바이스
155: 출력 디바이스 157: 프로세서
200: 원본 이미지 202: 사전
204: 분류 및 압축 기능 206: 압축 이미지
208: 템플릿 패턴 210: 하위 영역

Claims (22)

  1. 컴퓨팅 디바이스에서 디지털 이미지를 압축하기 위한 방법으로서,
    이미지를 복수 개의 이미지 하위 영역(sub-region)으로 분할하는 단계;
    복수 개의 미리 정해진 템플릿 패턴(template pattern)을 포함하는 사전으로부터, 각각의 이미지 하위 영역에 대해, 해당 이미지 하위 영역의 하나 이상의 이미지 특징과 가장 밀접하게 부합(match)하는 템플릿 패턴을 선택하는 단계 - 각각의 상기 템플릿 패턴은 코드에 의하여 식별됨 -; 및
    상기 이미지에 대한 압축 데이터 집합을 생성하는 단계 - 여기서, 상기 이미지 내의 각각의 이미지 하위 영역은 자신에 대해 선택된 템플릿 패턴을 식별하는 코드로 표현됨 -
    를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 사전은 첫번째 이미지 하위 영역이 분석되기 이전에 결정되는,
    방법.
  3. 제1항에 있어서,
    상기 사전은 하나 이상의 이미지 하위 영역이 분석되면서 조정되는,
    방법.
  4. 제1항에 있어서,
    상기 사전의 복수 개의 템플릿 패턴의 어떤 템플릿 패턴도 상기 이미지 하위 영역과 충분히 부합하지 않으면, 상기 이미지 하위 영역을 압축하기 위하여 새로운 템플릿 패턴이 생성되고 상기 사전에 추가되는,
    방법.
  5. 제1항에 있어서,
    상기 이미지는 기하학적으로 분할되어 미리 정해진 개수의 미리 정해진 차원의 이미지 하위 영역을 생성하는,
    방법.
  6. 제1항에 있어서,
    상기 이미지는 이미지 내용에 기초하여 분할되는,
    방법.
  7. 제6항에 있어서,
    이미지 하위 영역 사이의 경계는 이미지 특징에 있어 현저한 변화를 가지는 이미지 내용의 경계와 일치하는,
    방법.
  8. 제1항에 있어서,
    각각의 이미지 하위 영역에 대한 복수 개의 템플릿 패턴을 선택하는 단계 - 여기서, 각각의 템플릿 패턴은 상이한 이미지 특징에 대해 선택됨 -
    를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 코드를 사용하여 상기 이미지의 압축을 해제하여 각각의 이미지 하위 영역에 대한 상기 사전으로부터의 템플릿 패턴을 탐색하고(retrieve), 모든 이미지 하위 영역에 대한 상기 템플릿 패턴을 결합하여 전체 이미지를 재구성하고, 상기 재구성된 이미지를 표시하는 단계
    를 더 포함하는
    방법.
  10. 제1항에 있어서,
    각각의 이미지 하위 영역은, 상기 이미지 하위 영역 및 이미지 하위 영역을 위해 선택된 템플릿 패턴 사이의 하나 이상의 이미지 특징 간 차이를 나타내는 차이 값으로 더 표현되고, 이로써 무손실 압축 데이터를 생성하는,
    방법.
  11. 제10항에 있어서,
    상기 코드를 사용하여 상기 이미지의 압축을 해제하여 각각의 이미지 하위 영역에 대한 상기 사전으로부터의 템플릿 패턴 및 하나 이상의 이미지 특징에 대한 상기 차이 값을 탐색하고, 모든 이미지 하위 영역에 대한 상기 템플릿 패턴 및 상기 차이 값을 결합하여 상기 전체 이미지의 무손실 복제본(replica)을 재구성하고, 상기 재구성된 이미지를 표시하는 단계
    를 포함하는
    방법.
  12. 디지털 이미지를 압축하기 위한 시스템으로서,
    코드에 의하여 각각 식별되는 복수 개의 미리 정해진 템플릿 패턴을 가지는 사전을 저장하는 스토리지 유닛;
    상기 이미지를 복수 개의 하위 영역으로 분할하는 분해 모듈; 및
    상기 사전으로부터 각각의 하위 영역에 대한 이미지 특징과 가장 밀접하게 부합하는 템플릿 패턴을 선택하고, 상기 이미지의 각각의 하위 영역은 자신을 위해 선택된 템플릿 패턴을 식별하는 코드로 표현되는 상기 이미지에 대한 압축 데이터 집합을 생성하는 압축 모듈
    을 포함하는
    시스템.
  13. 제12항에 있어서,
    상기 압축 모듈이 상기 이미지의 첫번째 하위 영역을 분석하기 이전에 상기 사전을 결정하기 위한 컴퓨팅 디바이스를 포함하는
    시스템.
  14. 제12항에 있어서,
    상기 사전은 하나 이상의 하위 영역이 분석되면서 조정되는,
    시스템.
  15. 제12항에 있어서,
    상기 압축 모듈이 상기 복수 개의 탬플릿 패턴의 어떤 패턴도 하위 영역과 충분히 부합하지 않는다고 결정하면, 상기 하위 영역을 압축하기 위하여 상기 압축 모듈은 새로운 템플릿 패턴을 생성하고, 상기 스토리지 유닛은 상기 새로운 템플릿 패턴을 상기 사전에 추가하는,
    시스템.
  16. 제12항에 있어서,
    상기 분해 모듈은 미리 정해진 개수의 미리 정해진 차원의 하위 영역으로 상기 이미지를 기하학적으로 분할하는,
    시스템.
  17. 제12항에 있어서,
    상기 분해 모듈은 이미지 내용에 기초하여 상기 이미지를 분할하는,
    시스템.
  18. 제17항에 있어서,
    상기 분해 모듈은 이미지 특징에 있어 현저한 변화를 가지는 이미지 내용의 경계를 식별하고, 상기 이미지 내용의 경계에 따라 상기 이미지를 자동적으로 분할하는,
    시스템.
  19. 제12항에 있어서,
    상기 압축 모듈은 각각의 하위 영역에 대한 복수 개의 템플릿 패턴을 선택하고, 각각의 템플릿 패턴은 상이한 이미지 특징에 대하여 상기 하위 영역과 가장 밀접하게 부합하는,
    시스템.
  20. 제12항에 있어서,
    상기 압축 데이터 집합으로부터의 상기 코드를 사용하여 각각의 하위 영역에 대하여 상기 사전으로부터 상기 템플릿 패턴을 탐색하고, 모든 하위 영역에 대한 상기 템플릿 패턴을 결합하여 전체 이미지를 재구성하는, 상기 이미지를 재구성하는 압축 해제 유닛; 및
    상기 재구성된 이미지를 표시하는 출력 디바이스
    를 포함하는
    시스템.
  21. 제12항에 있어서,
    상기 압축 모듈은 상기 하위 영역 및 하위영역을 위해 선택된 상기 템플릿 패턴 사이의 하나 이상의 이미지 특징 간 차이에 의하여 각각의 하위 영역을 더 표현하고, 그로 인해 무손실 압축 데이터를 생성하게 되는,
    시스템.
  22. 제21항에 있어서,
    상기 압축 데이터 집합으로부터의 상기 코드를 사용하여 각각의 하위 영역에 대하여 상기 사전으로부터의 상기 템플릿 패턴 및 하나 이상의 이미지 특징에 대한 상기 차이 값을 탐색하고, 모든 하위 영역에 대한 상기 템플릿 패턴 및 상기 차이 값을 결합하여 전체 이미지를 재구성하는, 상기 이미지를 재구성하는 압축 해제 유닛; 및
    무손실의 재구성된 상기 이미지를 표시하는 출력 디바이스
    를 포함하는
    시스템.
KR1020117025402A 2009-04-08 2010-04-08 이미지 압축을 위한 시스템 및 방법 KR101496422B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16753609P 2009-04-08 2009-04-08
US61/167,536 2009-04-08
PCT/US2010/030425 WO2010118254A1 (en) 2009-04-08 2010-04-08 System and method for image compression

Publications (2)

Publication Number Publication Date
KR20120003909A true KR20120003909A (ko) 2012-01-11
KR101496422B1 KR101496422B1 (ko) 2015-02-27

Family

ID=42936588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117025402A KR101496422B1 (ko) 2009-04-08 2010-04-08 이미지 압축을 위한 시스템 및 방법

Country Status (10)

Country Link
US (1) US8774534B2 (ko)
EP (1) EP2417773A4 (ko)
JP (1) JP2012523765A (ko)
KR (1) KR101496422B1 (ko)
AU (1) AU2010234364B2 (ko)
CA (1) CA2758262C (ko)
IL (1) IL215606A (ko)
RU (1) RU2546616C2 (ko)
SG (1) SG175139A1 (ko)
WO (1) WO2010118254A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013181635A1 (en) * 2012-06-01 2013-12-05 The Johns Hopkins University Information propagation in prior-image-based reconstruction
KR20190013870A (ko) * 2016-05-31 2019-02-11 알리바바 그룹 홀딩 리미티드 이미지 생성 방법 및 디바이스
US10255315B2 (en) 2012-12-11 2019-04-09 Gurulogic Microsystems Oy Encoder, decoder and method
KR20200069716A (ko) 2018-12-07 2020-06-17 울산과학기술원 이미지 처리 장치, 데이터 수신 장치 및 그 방법들

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902971B2 (en) 2004-07-30 2014-12-02 Euclid Discoveries, Llc Video compression repository and model reuse
US9578345B2 (en) 2005-03-31 2017-02-21 Euclid Discoveries, Llc Model-based video encoding and decoding
US9532069B2 (en) 2004-07-30 2016-12-27 Euclid Discoveries, Llc Video compression repository and model reuse
US9743078B2 (en) 2004-07-30 2017-08-22 Euclid Discoveries, Llc Standards-compliant model-based video encoding and decoding
US8908766B2 (en) 2005-03-31 2014-12-09 Euclid Discoveries, Llc Computer method and apparatus for processing image data
CN101622874A (zh) 2007-01-23 2010-01-06 欧几里得发现有限责任公司 对象存档系统和方法
CA2676023C (en) 2007-01-23 2015-11-17 Euclid Discoveries, Llc Systems and methods for providing personal video services
JP5567021B2 (ja) 2008-10-07 2014-08-06 ユークリッド・ディスカバリーズ・エルエルシー 特徴を基礎とするビデオ圧縮
US9253505B2 (en) * 2009-04-08 2016-02-02 Newrow, Inc. System and method for image compression
WO2010118254A1 (en) * 2009-04-08 2010-10-14 Watchitoo, Inc. System and method for image compression
US9003462B2 (en) 2011-02-10 2015-04-07 Comcast Cable Communications, Llc Content archive model
US20130085893A1 (en) 2011-09-30 2013-04-04 Ebay Inc. Acquisition and use of query images with image feature data
GB2496423B (en) * 2011-11-11 2016-08-17 Ibm Data compression
US10389780B2 (en) * 2012-02-08 2019-08-20 Arris Enterprises Llc Managed adaptive streaming
EP2815573A1 (en) * 2012-03-27 2014-12-24 Euclid Discoveries, LLC Video compression repository and model reuse
US20130279882A1 (en) 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
US10462499B2 (en) 2012-10-31 2019-10-29 Outward, Inc. Rendering a modeled scene
EP3660663B8 (en) 2012-10-31 2024-05-22 Outward Inc. Delivering virtualized content
GB2509055B (en) * 2012-12-11 2016-03-23 Gurulogic Microsystems Oy Encoder and method
CN112383780B (zh) * 2013-08-16 2023-05-02 上海天荷电子信息有限公司 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
US10091507B2 (en) 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US10097851B2 (en) 2014-03-10 2018-10-09 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US9621917B2 (en) 2014-03-10 2017-04-11 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
US10225569B2 (en) * 2014-03-31 2019-03-05 Megachips Corporation Data storage control apparatus and data storage control method
WO2015180052A1 (zh) * 2014-05-28 2015-12-03 北京大学深圳研究生院 一种基于字典库的视频编解码方法及装置
GB2527099B (en) * 2014-06-11 2018-07-18 Gurulogic Microsystems Oy Apparatus and method for data compression
WO2016007512A1 (en) * 2014-07-07 2016-01-14 Newrow, Inc. System and method for image compression
US10567238B1 (en) 2014-08-20 2020-02-18 Vmware, Inc. Server system ring topology user interface system
US10198511B1 (en) 2014-08-20 2019-02-05 Vmware, Inc. Datacenter search query interpretation system
US9767197B1 (en) 2014-08-20 2017-09-19 Vmware, Inc. Datacenter operations using search and analytics
US9886445B1 (en) * 2014-08-20 2018-02-06 Vmware, Inc. Datacenter entity information system
US9923782B1 (en) 2014-08-20 2018-03-20 Vmware, Inc. Computer network virtual entity pathway visualization system
JP2016127475A (ja) * 2015-01-06 2016-07-11 株式会社リコー 画像処理システム、画像処理方法、及びプログラム
KR102477264B1 (ko) 2015-09-22 2022-12-13 삼성전자주식회사 텍스쳐를 처리하는 방법 및 장치
US10803593B2 (en) * 2016-09-19 2020-10-13 Siemens Healthcare Gmbh Method and system for image compression
US11275968B2 (en) * 2019-02-13 2022-03-15 Western Digital Technologies, Inc. Super-sparse image compression using cross-bar non-volatile memory device
CN113055677B (zh) * 2021-04-07 2022-10-28 南京云格信息技术有限公司 一种基于fpga的图像压缩方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621828A (ja) * 1992-06-30 1994-01-28 Sanyo Electric Co Ltd ベクトル量子化復号化器
JPH08502865A (ja) * 1992-09-01 1996-03-26 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化
JP3373008B2 (ja) * 1993-10-20 2003-02-04 オリンパス光学工業株式会社 画像像域分離装置
JP3013698B2 (ja) 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
JPH09307726A (ja) * 1996-05-17 1997-11-28 Oki Data:Kk 画像圧縮・復元装置
RU2107408C1 (ru) * 1996-06-18 1998-03-20 Закрытое акционерное общество "Техно-ТМ" Способ адаптивного квантования векторов
US5826225A (en) * 1996-09-18 1998-10-20 Lucent Technologies Inc. Method and apparatus for improving vector quantization performance
JP3527415B2 (ja) * 1998-07-03 2004-05-17 忠弘 大見 ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体
AUPR133700A0 (en) * 2000-11-09 2000-11-30 Mediaware Solutions Pty Ltd Transition templates for compressed digital video and method of generating same
KR100382649B1 (ko) * 2000-12-29 2003-05-09 삼성전자주식회사 하드 카피 장치용 데이타 압축 및 복원 방법들 및 장치들
JP3822512B2 (ja) * 2001-03-22 2006-09-20 忠弘 大見 画像データ圧縮装置、画像データ圧縮方法、記録媒体およびプログラム
US7003039B2 (en) 2001-07-18 2006-02-21 Avideh Zakhor Dictionary generation method for video and image compression
JP2007502561A (ja) * 2003-08-12 2007-02-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオエンコードおよびデコードの方法および対応する装置
US20080159640A1 (en) 2003-11-06 2008-07-03 Chaoqiang Liu Document Image Encoding Decoding
TW200622275A (en) * 2004-09-06 2006-07-01 Mentor Graphics Corp Integrated circuit yield and quality analysis methods and systems
US7466867B2 (en) * 2004-11-26 2008-12-16 Taiwan Imagingtek Corporation Method and apparatus for image compression and decompression
JP4435106B2 (ja) 2005-05-31 2010-03-17 キヤノン株式会社 データ転送システム、電子機器
US7836396B2 (en) * 2007-01-05 2010-11-16 International Business Machines Corporation Automatically collecting and compressing style attributes within a web document
US8484214B2 (en) * 2007-03-28 2013-07-09 Cisco Technology, Inc. Record compression using incremental reverse templating
EP2179589A4 (en) 2007-07-20 2010-12-01 Fujifilm Corp IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM
WO2010118254A1 (en) * 2009-04-08 2010-10-14 Watchitoo, Inc. System and method for image compression

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013181635A1 (en) * 2012-06-01 2013-12-05 The Johns Hopkins University Information propagation in prior-image-based reconstruction
US9626778B2 (en) 2012-06-01 2017-04-18 The Johns Hopkins University Information propagation in prior-image-based reconstruction
US10255315B2 (en) 2012-12-11 2019-04-09 Gurulogic Microsystems Oy Encoder, decoder and method
KR20190013870A (ko) * 2016-05-31 2019-02-11 알리바바 그룹 홀딩 리미티드 이미지 생성 방법 및 디바이스
KR20200069716A (ko) 2018-12-07 2020-06-17 울산과학기술원 이미지 처리 장치, 데이터 수신 장치 및 그 방법들

Also Published As

Publication number Publication date
KR101496422B1 (ko) 2015-02-27
IL215606A0 (en) 2011-12-29
CA2758262C (en) 2016-09-13
SG175139A1 (en) 2011-11-28
AU2010234364A1 (en) 2011-11-03
CA2758262A1 (en) 2010-10-14
EP2417773A1 (en) 2012-02-15
US8774534B2 (en) 2014-07-08
WO2010118254A1 (en) 2010-10-14
RU2546616C2 (ru) 2015-04-10
AU2010234364B2 (en) 2014-12-11
RU2011140866A (ru) 2013-05-20
US20120020581A1 (en) 2012-01-26
EP2417773A4 (en) 2013-05-29
JP2012523765A (ja) 2012-10-04
IL215606A (en) 2015-07-30

Similar Documents

Publication Publication Date Title
KR101496422B1 (ko) 이미지 압축을 위한 시스템 및 방법
US9253505B2 (en) System and method for image compression
KR100821847B1 (ko) 비주얼 어텐션 시스템
JP4573706B2 (ja) ディジタル画像セグメンテーション方法
TWI426774B (zh) 用於針對jpeg壓縮歷史紀錄分類為壓縮影像的方法、及用於針對影像是否已經過jpeg壓縮而分類影像的設備及影像分類方法
US8150177B2 (en) Image processing apparatus, image processing method, defect detection method, semiconductor device manufacturing method, and program
US20170339430A1 (en) Encoder, decoder, method of encoding data, method of decoding data, utilizing data format transformations
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
CN108182712B (zh) 图像处理方法、装置及系统
JP2024505798A (ja) 点群符号化・復号化方法及びシステム、点群符号器並びに点群復号器
Manju et al. An efficient multi balanced cuckoo search K-means technique for segmentation and compression of compound images
Thakker et al. Lossy Image Compression-A Comparison Between Wavelet Transform, Principal Component Analysis, K-Means and Autoencoders
WO2016007512A1 (en) System and method for image compression
US20230245425A1 (en) Image processing apparatus, image processing method and storage medium
Paxton Optimum Implementation of Compound Compression of a Computer Screen for Real-Time Transmission in Low Network Bandwidth Environments
Al Falahi et al. Comparitive Analysis and Findings on Dct & Lbg Compression Techniques
Kamatar et al. Image Compression Using Mapping Transform with Pixel Elimination
EP2958103A1 (en) Method and device for encoding a sequence of pictures
JPH0774966A (ja) 画像処理装置
Sjöberg Evaluating Image Compression Methods on Two DimensionalHeight Representations
JPH08511138A (ja) タイル細分化を用いたデジタル・イメージの圧縮
Nahavandi Gargari Compression of the mammography images using quadtree based energy and pattern blocks
JP2010219674A (ja) 画像圧縮装置、画像復号装置、画像圧縮復号システム及び画像圧縮プログラム、画像復号プログラム
Terpstra Dense Skeletons for Image Compression and Manipulation
Majewicz Color-to-grayscale conversion with color clustering and significance criteria

Legal Events

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

Payment date: 20180209

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee