KR101100829B1 - 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법. - Google Patents

이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법. Download PDF

Info

Publication number
KR101100829B1
KR101100829B1 KR1020100021041A KR20100021041A KR101100829B1 KR 101100829 B1 KR101100829 B1 KR 101100829B1 KR 1020100021041 A KR1020100021041 A KR 1020100021041A KR 20100021041 A KR20100021041 A KR 20100021041A KR 101100829 B1 KR101100829 B1 KR 101100829B1
Authority
KR
South Korea
Prior art keywords
image data
data
pixel
transparent
compressed
Prior art date
Application number
KR1020100021041A
Other languages
English (en)
Other versions
KR20110101792A (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 KR1020100021041A priority Critical patent/KR101100829B1/ko
Publication of KR20110101792A publication Critical patent/KR20110101792A/ko
Application granted granted Critical
Publication of KR101100829B1 publication Critical patent/KR101100829B1/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
    • 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/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

본 발명에 따르면, 무손실 이미지 데이터 압축 및 해제하는 시스템 및 방법이다. 이미지 데이터의 픽셀 정보를 읽어서 투명색 또는 같은 색이 연속적인지 판단하여 연속적으로 존재하는 같은 픽셀에 대해서는 그 개수와 RGB 등을 저장함으로써 압축하고, 저장된 압축 파일은 Header에서 정보를 읽어 그에 따라 해제한다.

Description

이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법. {System and method for lossless compression and decompression of image data}
본 발명은 무손실 압축 및 해제에 관한 것으로, 보다 상세하게는 이미지 데이터를 무손실 압축 및 해제하는 시스템 및 그 방법에 관한 것이다.
파일 백업(backup), 파일전송 또는 온라인 게임 등에 있어서, 파일의 크기를 줄이기 위해, 데이터 압축, 또는 인코딩 스킴(encoding scheme)을 사용하는 것이 종래 기술에서 잘 알려져 있다. 많은 종류의 데이터 및 파일이 압축되며, 그 예로는 이미지는 잘 알려진 GIF와 JPEC 포맷(그 외 다수)이 있으며, 비디오는 MPEG 포맷으로, 소리는 MP3 및 그 외 다른 포맷으로 압축된다.
우리가 사용하는 다양한 이미지 포맷 중 라이센스를 가지고 있거나 공개되어 있는 포맷들(GIF, JPG, BMP, PNG 등)은 게임에서 중요한 이미지가 사용자들에게 일방적으로 노출되어, 게임의 재미를 떨어뜨리거나, 게임 이미지가 도용 및 편집될 우려가 있다.
또한, 디스크 용량의 문제로 압축되는 이미지 포맷인 JPG를 사용하는 경우, JPG 포맷으로 이미지를 압축하는 과정에서 이미지의 외곽영역이 뭉개지게 되어, 투명색 픽셀 정보가 이미지 데이터와 섞이게 되어 이미지가 망가지게 된다. 그렇다고, 압축하지 않는 이미지 포맷인 BMP, TGA를 사용하는 경우, 디스크 공간이 너무 많이 차지하게 된다. 이에 픽셀을 압축할 때 주변의 픽셀의 색에 영향을 가하거나 받지 않고, 순수하게 픽셀 자체를 압축시키는 무손실 압축 방법이 많이 사용되고 있다.
그리고 공개된 이미지 포맷을 사용하기 위해서는 로딩용 라이브러리를 추가로 링크해야 하는 부담이 생기고, 경우에 따라서는 이미지 포맷 로딩용으로 배포되는 DLL라이브러리 파일들을 추가로 관리해야 하는 부담이 있다.
본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 이미지 압축시 무손실 압축으로 디스크 용량을 줄이고, 읽기 편하고, 사용자들에게 노출되지 않는 이미지 포맷을 제공하는 데 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따라 이미지 데이터를 무손실 압축하는 시스템은 압축할 이미지 데이터를 받는 데이터 수신부;와 상기 데이터 수신부에서 수신한 데이터의 픽셀이 투명색인지 판단하는 데이터 판단부;와 상기 데이터 판단부의 결과에 따라 투명색을 압축하여 이미지 데이터 구조를 생성하는 투명색압축부;를 포함한다.
또한 상기 투명색압축부는 투명색 픽셀이 알파채널을 이용하는지 투명색을 이용하는지 판단하는 알파채널판단부;와 상기 알파채널판단부의 결과에 따라 픽셀 정보를 설정하는 픽셀설정부; 및 압축된 이미지 데이터 구조를 생성하는 압축데이터설정부;를 포함할 수 있다.
또한 상기 이미지 데이터를 무손실 압축하는 시스템은 상기 데이터 판단부의 결과에 따라 같은색을 압축하여 이미지 데이터 구조를 생성하는 같은색압축부를 더 포함할 수 있다. 상기 같은색압축부는, 압축을 할 수 있는지 판단하는 압축여부판단부; 및 압축된 이미지 데이터 구조를 생성하는 압축데이터설정부;를 포함할 수 있다.
한편, 상기의 목적을 달성하기 위한 본 발명에 따라 이미지 데이터를 무손실 압축하는 방법은 압축할 이미지 데이터를 수신하는 단계;와 상기 수신된 데이터 정보를 판단하는 단계; 및 상기 데이터 정보의 판단 결과에 따라 투명색을 압축하여 이미지 데이터 구조를 생성하는 단계;를 포함한다.
또한 상기 투명색을 압축하여 이미지 데이터 구조를 생성하는 단계는, 알파 채널인지 판단하는 단계;와 투명색 픽셀 설정 단계; 및 압축될 이미지 데이터를 설정하는 단계;를 포함할 수 있다.
또한 상기 이미지 데이터를 무손실 압축하는 방법은 상기 데이터 정보의 판단 결과에 따라 같은색을 압축하여 이미지 데이터 구조를 생성하는 단계를 더 포함할 수 있다. 상기 같은색을 압축하여 이미지 데이터 구조를 생성하는 단계는, 압축 여부를 판단하는 단계; 및 압축될 이미지 데이터를 설정하는 단계;를 포함할 수 있다.
또한 상기 이미지 데이터를 무손실 압축하는 방법을 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함한다.
한편, 상기의 목적을 달성하기 위한 본 발명에 따라 무손실 압축 이미지 데이터를 해제하는 시스템은 해제할 이미지 데이터를 받는 데이터수신부;와 압축 데이터의 flag를 인식하는 헤더인식부; 및 해제된 이미지 데이터를 생성하는 해제데이터생성부;를 포함한다.
또한 상기의 목적을 달성하기 위한 본 발명에 따라 무손실 압축 이미지 데이터를 해제하는 방법은 해제할 이미지 데이터를 받는 데이터를 수신하는 단계;와 압축 데이터의 flag를 인식하는 헤더 인식 단계; 및 해제된 이미지 데이터를 생성하는 단계;를 포함한다.
또한 상기 무손실 압축 이미지 데이터를 해제하는 방법을 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함한다.
본 발명에 따른 이미지 무손실 압축 및 해제 방법 및 그 장치에 의하면,
첫째, 무손실 압축 이미지 포맷을 사용하므로 손실 압축 이미지 파일 포맷에 비해 더 깨끗한 화질의 이미지를 얻을 수 있고, RAW 파일에 비하여 데이터를 저장하는 공간이 줄어드는 장점이 있다.
둘째, 이미지의 패턴화, 같은 색 나열의 압축 등을 사용하여, 이미지를 압축하여 저장하므로 이미지 사이즈가 줄어든다. 따라서 이미지 파일을 로딩하는 경우 디스크로부터 로딩되는 양이 줄어들어 이미지를 더 빨리 로딩할 수 있다.
셋째, 파일 포맷이 비공개되어 있어서, 파일포맷을 읽을 수 있는 툴을 가진 사람만이 이미지를 추가/편집할 수 있다.
넷째, 파일 포맷이 비공개이므로 이미지가 사용자에 의해서 임의로 변경되기 힘들기 때문에 이미지 데이터 보호가 가능하다.
다섯째, 스프라이트 이미지의 대부분은 투명색이긴 하나 반복되는 색도 있으므로 반복되는 색에 대해서도 압축하여 그 효율을 극대화시킬 수 있다.
여섯째, 온라인 게임의 경우 압축 및 해제시 압축 효율만 고려할 것이 아니라 게임 속도와 이미지의 퀄리티(quality), 이미지 용량 등을 고려해야 하는데, 특히 이미지 압축 효율이 높을수록 해제시 필요한 시간 비용이 증가한다. 본 발명은 이를 고려하여 압축과 로딩시간 간의 균형을 맞춰 압축율을 높이면서도 해제시 시간비용을 증가시키지 않아 압축과 로딩시간 간의 균형을 이루고 있다.
도 1은 이미지 데이터 무손실 압축 방법의 전체 순서도,
도 2는 이미지 데이터 무손실 압축 시스템의 기능 블럭도,
도 3는 본 발명의 바람직한 실시예에 따른 이미지 데이터 무손실 압축 방법,
도 4는 본 발명의 바람직한 실시예에 따른 압축된 이미지 데이터 구조,
도 5은 본 발명의 바람직한 실시예에 따른 압축된 이미지 데이터 구조의 FLAG 정보,
도 6는 본 발명에 따를 때 압축 효율 비교를 위한 압축되지 않은 이미지의 예시,
도 7는 본 발명에 따를 때 압축 효율 비교를 위한 압축된 데이터의 예시,
도 8는 본 발명의 바람직한 실시예에 따른 Header가 붙은 압축 데이터 형태,
도 9는 이미지 데이터 무손실 해제 시스템의 기능 블럭도,
도 10은 본 발명의 바람직한 실시예에 따른 압축 해제를 예시,
도 11은 본 발명의 바람직한 실시예에 따른 기본 압축 파일 형식,
도 12는 본 발명의 바람직한 실시예에 따라 여러 이미지가 통합된 통합 압축 파일 형식의 도면이다.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
먼저, 스프라이트(sprite)라 함은 전반적인 이미지 데이터를 칭하며, 게임 그래픽 라이브러리에서는 라이브러리 제작자가 필요한 형태로 형식을 변형하여 사용하는 것을 의미한다. 화면표시에서 반복 이용되는 도형의 무늬를 등록하고, 그 무늬에 다른 그림을 겹쳐서 합성시키는 기능을 가능하게 하며, 고속 표시가 가능하며 연속되는 그림을 매끄럽게 움직일 수 있다.
또한, 투명색이라 함은 이미지를 화면에 출력할 때, 픽셀을 찍어선 안 되는 색값을 가리킨다. 알파 채널(Alpha channel)이 있는 포맷은 알파 값이 0인 값을 투명색이라 정의하며, 알파 채널을 포함하고 있지 않은 이미지는 통상적으로 RGB값인 (255, 0, 255)를 투명색으로 정의해서 사용한다.
또한, 상기 알파 채널(Alpha channel)이라 함은 0부터 255까지의 범위 값을 가지며, 숫자가 낮을수록, 화면에서는 픽셀을 흐리게 출력하여 배경이미지와 겹쳐 보이는 효과가 발생한다.
또한, 픽셀(pixel)은 이미지 버퍼 또는 화면상에서 사용되는 이미지의 최소 단위인 점(dot) 하나를 칭한다.
또한, RAW형식 이미지(Raw Format Image)는 픽셀 데이터가 압축되지 않은 상태에서 바이너리 형식으로 저장된 것을 뜻한다. 이 파일 형식은 이미지 사이즈*픽셀 사이즈만큼의 데이터가 담겨있다.
또한, 무손실 압축이란 픽셀을 압축할 때 주변의 픽셀의 색에 영향을 가하거나 받지 않고, 순수하게 픽셀 자체를 압축하는 방식을 말한다. 따라서 여기서 데이터 손실율이 0%라고 하는 것은 아니다.
본 발명은 이미지 데이터를 무손실 압축 및 해제하는 시스템 및 그 방법에 관한 것으로, 온라인 게임에 있어 운영자 또는 개발자가 게임을 개발하여 압축하여 배포하면, 클라이언트가 상기 게임을 다운받아 설치 후, 게임을 로딩할 때 빠르게 이미지를 로딩하는 것을 목표로 한다. 온라인 게임의 경우, 이미지를 전송함에 있어 속도와 이미지의 퀄리티(quality), 데이터 용량을 모두 고려하여야 한다. 따라서 압축율이 너무 높아도 이미지의 퀄리티가 떨어지고, 이미지의 퀄리티를 높이면 용량이 너무 커서 속도가 느려진다는 단점이 있다. 따라서 이 3가지 요소를 적절하게 만족시켜 균형을 이루는 것이 중요한데 본 발명은 여기에 중점을 두었다.
먼저, 도 1은 본 발명의 바람직한 실시예에 따른 이미지 데이터 무손실 압축 방법의 전체 순서도로 이를 참조하여 이미지 데이터 무손실 압축 방법을 설명하기로 한다.
먼저 데이터 수신부(100)에서 압축할 데이터를 수신하면, 데이터 판단부(200)에서는 수신받은 데이터에서 순서대로 픽셀을 읽어가면서 픽셀이 투명색 픽셀인지 판단한다. 상기 판단 결과 투명색으로 판단되면, 투명색 압축부(310)에서는 알파채널 판단부(312)가 알파 채널인지 판단한다. 상기 판단 결과 알파채널이면, 픽셀 설정부(314)에선 알파채널 값이 '0'인 픽셀을 투명색 픽셀로 지정한다. 상기 알파채널 판단부(312)의 판단 결과 알파채널이 아닌 것으로 판단되면, 투명색으로 지정된 RGB값을 투명색 픽셀의 RGB로 지정한다. 그 후 압축데이터 설정부(316)에서는 연속한 투명색 픽셀의 개수를 세어 그 개수를 저장함으로써 압축데이터를 설정한다.
그리고 상기 데이터 판단부(200)에서 픽셀이 투명색 픽셀이 아니라고 판단되면, 압축여부 판단부(322)에서는 먼저 연속해서 같은 색의 픽셀이 존재하는지 판단하고 개수를 카운트한다. 이때 같은 색의 픽셀이 지정한 일정 개수 이상 존재하면 투명색 픽셀이나 다른 RGB 값이 나오기 전까지 카운트를 증가시키고, 압축데이터 설정부(324)에서는 상기 픽셀의 RGB 값과 개수를 저장한다. 만약, 연속한 같은 색 픽셀이 지정한 일정 개수 미만으로 존재한다면 압축하지 않고 카운트 된 픽셀 수만큼 RGB 값을 저장한다.
또한 상기 연속적인 같은 색 픽셀의 개수를 셀 때 '지정한 일정 개수'라 함은 압축하는 것과 압축하지 않는 것을 비교할 때에 너무 작은 수의 픽셀에 대해서도 압축을 한다면 데이터가 증가되는 경우가 많고, 디코딩 딜레이도 증가하는바 이를 고려하여 압축하기 위해 연속적으로 존재해야하는 최소의 개수를 의미한다. 본 발명의 바람직한 실시예에 따라 3개로 지정할 수 있으나, 설정하는 압축 이미지 데이터 구조에 따라 상기 지정하는 일정 개수는 변경될 수 있다.
그리고 압축데이터 설정부(324)에서 설정을 하고 난 후에도 데이터 수신부(100)에서 수신된 데이터가 남아있다면 다시 데이터 판단부(200)에서 위와 같은 과정으로 압축을 다시 실행하고, 남아있는 데이터가 없다면 압축 시스템은 종료된다.
도 3는 상기 설면한 이미지 데이터 무손실 압축 방법에 따라 실행한 바람직한 실시예이다.
도 4는 본 발명의 바람직한 실시예에 따른 압축된 이미지 데이터 구조이다. 이미지 데이터 구조는 'Header'와 'Data' 영역으로 나뉜다. 'Header'영역은 2Byte(WORD)로 구성되며 상위 4bit는 데이터 형식(FLAG), 하위 12bit는 픽셀의 개수(PIXEL SIZE)를 의미한다. 데이터 형식에 따라 Header 뒤에 픽셀 데이터가 추가되는 경우가 있다. 상기 픽셀의 개수(PIXEL SIZE)는 FLAG 형식을 가지는 픽셀 또는 투명색 픽셀의 개수를 말하고, 바람직하게는 최대 4095개의 연속된 픽셀을 나타낼 수 있다.
도 5은 상기 'Header'영역에 구성되는 따른 압축된 이미지 데이터 구조의 FLAG 정보이다. FLAG 인덱스 값에 따라 압축된 데이터의 내용이 구분되며, 추가데이터의 종류도 구분된다. 본 발명의 바람직한 실시예에 따라 FLAG INDEX가 '0'이면 투명색 픽셀을 나타내며 추가 데이터는 없다. FLAG INDEX 가 '1'이면 같은 색이 연속되지 않은 픽셀 데이터이고 추가 데이터는 픽셀 데이터가 들어간다. 상기 픽셀 데이터라 함은 RGB 값을 각각 1BYTE씩, 3BYTE로 1개의 픽셀을 표현하는 데이터를 의미한다. FLAG INDEX가 '2'이면 같은 색이 연속되는 픽셀 데이터로 추가 데이터는 RGB 값이 들어간다. FLAG INDEX가 '4'이면 이미지 파일 끝을 나타내고 추가 데이터는 없다. FLAG INDEX를 설정하고 그에 따른 내용과 추가 데이터를 설정해주면 투명색이나 같은 색이 연속으로 있는지 등 이외에도 다른 조건들을 추가하여 압축할 수 있다.
본 발명은 바람직한 실시예로 온라인 게임에서 사용될 수 있는바, 압축과 해제시에 이미지의 퀄리티(quality), 압축량, 용량 등을 고려하여 적정한 수준의 압축율이 요구된다. 이에 도 6와 도 7에서는 압축되지 않은 이미지를 본 발명의 이미지 데이터 무손실 압축 시스템에 의할 때 압축률이 어떠한지 보여주는 실시예이다.
도 6에서와 같이 압축하지 않은 RAW 형식의 이미지 데이터 총 42Byte를 압축한다고 가정하며, 압축하면 도 7에서와 같이 21Byte의 압축 이미지 데이터를 얻게 된다. 즉, 이미지 데이터가 1/2정도로 줄어드는 것을 볼 수 있다. 본 발명에 따른 압축은 투명색 픽셀 이 많을수록, 같은색 픽셀이 많을수록 그 압축율이 극대화된다.
또한, 본 발명의 바람직한 실시예에 따라 도 3의 내용에 Header를 붙여본다면 도 8과 같이 정의된다.
한편, 도 9은 본 발명의 이미지 데이터 무손실 해제 시스템의 기능 블럭도로 이를 참조하여 이미지 데이터 무손실 해제 시스템 및 방법을 설명하기로 한다.
먼저 데이터 수신부(100)에서 압축된 데이터를 받으면(Source memory buffer), 헤더 인식부(400)에서 FLAG 값을 읽어서 값에 따른 해제 데이터 생성부(500)를 호출하여 이미지 버퍼(Target memory buffer)에 컬러 값을 채워 넣는다.
예를 들어, 헤더 인식부(400)에서 인식한 FLAG INDEX가 '0'이면 투명색 픽셀을 압축한 것이므로 PIXEL SIZE 만큼 투명색으로 Target memory buffer에 채워넣는다. 또한 FLAG INDEX가 '1'이면 같은 색이 연속되지 않은 픽셀 데이터이므로 PIXEL SIZE만큼 Data 영역을 Source memory buffer에서 읽어 들여, Target memory buffer에 복사한다. 또한 FALG INDEX가 '2'이면 같은 색이 연속되는 픽셀 데이터이므로 Source memory buffer에서 한 개의 픽셀정보(RGB)값을 Data 영역에서 읽어 들인 다음, Target memory buffer에 PIXEL SIZE만큼 픽셀 정보를 채워 넣는다.
또한 도 10은 본 발명의 이미지 데이터 무손실 해제 시스템 및 방법에 따른 바람직한 실시예이다. 첫번째 Header의 FLAG가 '0'이고 PIXEL SIZE가 '4'이므로 투명색 픽셀이 연속하여 4개 있다는 것이다. 따라서 해제시 투명색 픽셀 4개를 Target memory buffer에 복사하면 된다. 두번째 Header의 FLAG가 '2'이고 PIXEL SIZE가 '6'이므로 같은색의 픽셀이 연속적으로 있고, 연속되는 개수는 6개이고 RGB는 검은색이라는 것을 알 수 있다. 따라서 여섯개의 검은색 픽셀을 Target memory buffer로 복사하면 된다. 세번째 Header의 FALG가 '1'이고 PIXEL SIZE가 '4'이므로 같은 색이 연속되지 않는 픽셀 데이터임을 알 수 있다. 따라서 4개의 픽셀을 RGB를 읽어 Target memory buffer로 보내면 된다.
다음으로 도 11은 본 발명에 따라 이미지 데이터를 압축 및 해제시 바람직한 실시예로 기본 압축 이미지 파일 형식에 대한 그림이다. File Header 안의 괄호 안의 숫자들은 BYTE 크기를 뜻하고, 기본 형식으로는 파일 하나에 이미지 하나에 대한 데이터만 저장 가능하다. 알파 채널 데이터는 컬러 키값만 사용하는 경우 포함되지 않을 수 있으며, File Header의 이미지 크기 및 알파 채널을 정의하는 것은 기본적인 이미지 데이터의 정보를 담고 있다. Image Data 영역은 상기 설명한 압축된 데이터 형태로 저장되어 있다.
또한 도 12는 본 발명에 따라 이미지 데이터를 압축 및 해제시 바람직한 실시예로 여러 이미지가 통합된 확장 형식의 압축 이미지 파일 형식이다. 기본 이미지 파일 형식에서 '저장된 이미지 수'라는 항목이 추가되어 4Byte 크기로 정의된다. 그 수에 정의된 만큼 개별 데이터 정보와 Image Data가 파일에 저장되게 된다. 이와 같이 통합 이미지 파일이 필요한 까닭은 첫째, 디스크 액세스 타임을 감소시키기 위함이다. 각각의 이미지 파일을 따로 로딩하는 것보다는 하나의 통합된 파일을 통해서 디스크를 액세스하면 로딩하려는 파일을 찾기 위한 비용이 작아지므로 이미지 로딩에 필요한 시간을 단축시킬 수 있다. 둘째, 파일 관리가 용이하기 때문이다. 너무 많은 이미지 파일들이 흩어져 있는 것보다는 종류별로 묶어서 파일을 관리하는 것이 이미지 분실 위험, 업데이트 실수를 줄여줄 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 데이터 수신부 200 데이터 판단부
300 압축데이터 생성부 310 투명색 압축부
312 알파채널 판단부 314 픽셀 설정부
316 압축데이터 설정부 320 같은색 압축부
322 압축여부 판단부 324 압축데이터 설정부
400 헤더 인식부 500 해제 데이터 생성부

Claims (28)

  1. 이미지 데이터를 무손실 압축하는 시스템에 있어서,
    압축할 이미지 데이터를 받는 데이터 수신부;
    상기 데이터 수신부에서 수신한 데이터의 픽셀이 투명색인지 판단하는 데이터 판단부; 및
    상기 데이터 판단부의 판단 결과 투명색으로 판단되는 경우, 투명색을 압축하여 이미지 데이터 구조를 생성하는 투명색압축부; 및
    상기 데이터 판단부의 판단 결과 투명색이 아닌 것으로 판단되는 경우, 연속적으로 존재하는 같은 색 픽셀의 수가 지정된 일정 개수 이상인지 판단하여 압축 여부를 결정하고 압축 여부 결정 결과에 따라 같은색을 압축하여 이미지 데이터 구조를 생성하는 같은색압축부;를 포함하는 이미지 데이터 무손실 압축 시스템.
  2. 제 1항에 있어서,
    상기 투명색압축부는,
    투명색 픽셀이 알파채널을 이용하는지 투명색을 이용하는지 판단하는 알파채널판단부;
    상기 알파채널판단부의 결과에 따라 픽셀 정보를 설정하는 픽셀설정부; 및
    압축된 이미지 데이터 구조를 생성하는 압축데이터설정부;를 포함하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  3. 제 2항에 있어서,
    상기 픽셀설정부는,
    상기 알파채널판단부의 판단 결과가 알파 채널로 판단되면,
    알파 채널 값인 '0'인 픽셀을 투명색 픽셀로 설정하고,
    상기 알파채널판단부의 판단 결과가 알파 채널이 아닌 것으로 판단되면,
    투명색으로 지정된 RGB값을 가진 픽셀을 투명색 픽셀로 설정하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  4. 제 2항에 있어서,
    압축데이터설정부는,
    상기 픽셀설정부에서 설정된 투명색 픽셀이 연속적으로 존재하는 경우, 그 연속적으로 존재하는 픽셀의 개수만큼을 카운트하여 그 개수를 저장하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  5. 삭제
  6. 제 1항에 있어서,
    상기 같은색압축부는,
    연속적으로 존재하는 같은 색 픽셀의 수가 지정된 일정 개수 이상인지 판단하여 압축 여부를 결정하는 압축여부판단부; 및
    상기 압축여부판단부의 압축 여부 결정 결과에 따라 같은색을 압축하여 압축된 이미지 데이터 구조를 생성하는 압축데이터설정부;를 포함하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  7. 삭제
  8. 제 6항에 있어서,
    상기 압축데이터설정부는,
    상기 압축여부판단부의 처리 결과가 압축 결정이면,
    다음 픽셀이 투명색이나 다른 색이 나올 때까지 카운트를 증가시켜 픽셀RGB와 개수를 저장하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  9. 제 6항에 있어서,
    상기 압축데이터설정부는,
    상기 압축여부판단부의 처리 결과가 압축 결정이 아니라면,
    다음 픽셀이 투명색이 나오거나 같은 색의 픽셀이 지정한 일정 개수 미만으로 나올 때까지 카운트하고, 카운트 된 픽셀 수만큼 RGB와 개수를 저장하는 것을 특징으로 하는 이미지 데이터 무손실 압축 시스템.
  10. 이미지 데이터를 무손실 압축하는 방법에 있어서,
    압축할 이미지 데이터를 수신하는 단계;
    상기 수신된 데이터의 픽셀이 투명색인지 판단하는 단계; 및
    상기 판단 결과 투명색인 것으로 판단되는 경우, 투명색을 압축하여 이미지 데이터 구조를 생성하는 단계; 및
    상기 판단 결과 투명색이 아닌 것으로 판단되는 경우, 연속적으로 존재하는 같은 색 픽셀의 수가 지정된 일정 개수 이상인지 판단하여 압축 여부를 결정하고 압축 여부 결정 결과에 따라 같은색을 압축하여 이미지 데이터 구조를 생성하는 단계;를 포함하는 이미지 데이터 무손실 압축 방법.
  11. 제 10항에 있어서,
    상기 투명색을 압축하여 이미지 데이터 구조를 생성하는 단계는,
    투명색 픽셀이 알파 채널인지 판단하는 단계;
    상기 알파 채널 판단 결과에 따라 투명색 픽셀의 RGB를 설정하는 투명색 픽셀 설정 단계; 및
    압축될 이미지 데이터를 설정하는 단계;를 포함하는 것을 특징으로 하는 이미지 데이터 무손실 압축 방법.
  12. 제 11항에 있어서,
    상기 알파 채널인지 판단하는 단계에서 알파 채널로 판단되면,
    상기 투명색 픽셀 설정 단계에서는 알파 채널 값이 '0'인 픽셀을 투명색으로 설정하고,
    상기 알파 채널인지 판단하는 단계에서 알파 채널이 아닌 것으로 판단되면,
    상기 투명색 픽셀 설정 단계에서는 투명색으로 지정된 RGB값을 가진 픽셀을 투명색 픽셀로 설정하는 것을 특징으로 하는 이미지 데이터 무손실 압축 방법.
  13. 제 11항에 있어서,
    압축될 이미지 데이터를 설정하는 단계는,
    같은 종류의 픽셀 수를 카운트하여 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 손실 압축 방법.
  14. 삭제
  15. 제 10항에 있어서,
    상기 같은색을 압축하여 이미지 데이터 구조를 생성하는 단계는,
    연속적으로 존재하는 같은 색 픽셀의 수가 지정된 일정 개수 이상인지 판단하여 압축 여부를 결정하는 단계; 및
    상기 압축 여부 결정 결과에 따라 같은색을 압축하여 압축될 이미지 데이터를 설정하는 단계;를 포함하는 것을 특징으로 하는 이미지 데이터 무손실 압축 방법.
  16. 삭제
  17. 제 15항에 있어서,
    상기 압축될 이미지 데이터를 설정하는 단계는,
    상기 압축 여부를 판단하는 단계의 처리 결과가 압축 결정이면,
    다음 픽셀이 투명색이나 다른색이 나올 때까지 카운트를 증가시켜 픽셀RGB와 개수를 저장하는 것을 특징으로 하는 이미지 데이터 무손실 압축 방법.
  18. 제 15항에 있어서,
    상기 압축될 데이터를 설정하는 단계는,
    상기 압축 여부를 판단하는 단계의 처리 결과가 압축 결정이 아니라면,
    다음 픽셀이 투명색이 나오거나 같은 색의 픽셀이 지정한 일정 개수 미만으로 나올 때까지 카운트하고, 카운트 된 픽셀 수만큼 RGB와 개수를 저장하는 것을 특징으로 하는 이미지 데이터 무손실 압축 방법.
  19. 제10항에 기재된 이미지 데이터 무손실 압축 방법을 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
  20. 무손실 압축 이미지 데이터를 해제하는 시스템에 있어서,
    해제할 이미지 데이터를 받는 데이터수신부;
    압축 데이터의 flag를 인식하는 헤더인식부; 및
    상기 헤더인식부의 인식된 flag에 따라, 상기 flag가 투명색이 연속된 것을 가리키는 경우이면 픽셀 사이즈만큼 투명색으로 메모리 버퍼에 채워넣고, 상기 flag가 같은 색이 연속된 것을 가리키는 경우이면 한 개의 픽셀정보 값을 데이터 영역에서 읽어들여 메모리 버퍼에 픽셀 사이즈만큼 채워넣음으로써 해제된 이미지 데이터를 생성하는 해제데이터생성부;를 포함하는 무손실 압축 이미지 데이터 해제 시스템.
  21. 삭제
  22. 제 20항에 있어서,
    상기 해제데이터생성부는 상기 헤더인식부의 인식된 flag에 따라,
    flag가 같은 색이 연속되지 않는 것을 가리키는 경우이면 픽셀 사이즈만큼 데이터 영역에서 읽어들여 메모리 버퍼에 채워넣는 것을 특징으로 하는 무손실 압축 이미지 데이터 해제 시스템.
  23. 삭제
  24. 무손실 압축 이미지 데이터를 해제하는 방법에 있어서,
    해제할 이미지 데이터를 받는 데이터를 수신하는 단계;
    압축 데이터의 flag를 인식하는 헤더 인식 단계; 및
    해제된 이미지 데이터를 생성하는 단계;를 포함하고,
    상기 해제된 이미지 데이터를 생성하는 단계는,
    상기 헤더 인식 단계에서 인식된 flag에 따라, 상기 flag가 투명색이 연속된 것을 가리키는 경우에는 픽셀 사이즈만큼 투명색으로 메모리 버퍼에 채워넣는 단계; 및
    상기 헤더 인식 단계에서 인식된 flag에 따라, 상기 flag가 같은 색이 연속된 것을 가리키는 경우에는 한 개의 픽셀정보 정보 값을 데이터 영역에서 읽어들여 메모리 버퍼에 픽셀 사이즈만큼 채워넣는 단계를 포함하는 무손실 압축 이미지 데이터 해제 방법.
  25. 삭제
  26. 제 24항에 있어서,
    상기 해제된 이미지 데이터를 생성하는 단계는,
    상기 헤더 인식 단계에서 인식된 flag에 따라,
    상기 flag가 같은 색이 연속되지 않는 것을 가리키는 경우에는 픽셀 사이즈만큼 데이터 영역에서 읽어들여 메모리 버퍼에 채워넣는 단계를 포함하는 것을 특징으로 하는 무손실 압축 이미지 데이터 해제 방법.
  27. 삭제
  28. 해제할 이미지 데이터를 받는 데이터를 수신하는 단계;
    압축 데이터의 flag를 인식하는 헤더 인식 단계;
    해제된 이미지 데이터를 생성하는 단계;를 실행시키되,
    상기 해제된 이미지 데이터를 생성하는 단계는,
    상기 헤더 인식 단계에서 인식된 flag에 따라,
    상기 flag가 투명색이 연속된 것을 가리키는 경우에는 픽셀 사이즈만큼 투명색으로 메모리 버퍼에 채워넣는 단계;
    상기 flag가 같은 색이 연속되지 않는 것을 가리키는 경우에는 픽셀 사이즈만큼 데이터 영역에서 읽어들여 메모리 버퍼에 채워넣는 단계;
    상기 flag가 같은 색이 연속된 것을 가리키는 경우에는 한 개의 픽셀정보 정보 값을 데이터 영역에서 읽어들여 메모리 버퍼에 픽셀 사이즈만큼 채워넣는 단계;
    중 어느 한 단계를 포함하여 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.

KR1020100021041A 2010-03-09 2010-03-09 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법. KR101100829B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100021041A KR101100829B1 (ko) 2010-03-09 2010-03-09 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100021041A KR101100829B1 (ko) 2010-03-09 2010-03-09 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.

Publications (2)

Publication Number Publication Date
KR20110101792A KR20110101792A (ko) 2011-09-16
KR101100829B1 true KR101100829B1 (ko) 2012-01-02

Family

ID=45218965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100021041A KR101100829B1 (ko) 2010-03-09 2010-03-09 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.

Country Status (1)

Country Link
KR (1) KR101100829B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027142A (ko) 2018-09-04 2020-03-12 세종대학교산학협력단 이미지 처리 장치 및 방법
KR20210028522A (ko) * 2019-09-04 2021-03-12 한국과학기술원 딥 뉴럴 네트워크 학습 장치 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986259B2 (en) 2013-07-18 2018-05-29 Lg Electronics Inc. Method and apparatus for processing video signal
CN116309893B (zh) * 2023-05-18 2023-08-11 深圳市微克科技有限公司 一种图片压缩方法、装置、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006736A1 (en) 2003-07-01 2005-01-20 Thomson Licensing Method for run-length encoding of a bitmap data stream
KR20050014489A (ko) * 2003-07-31 2005-02-07 삼성전자주식회사 이미지 데이터 인코딩 및 디코딩 장치와 이를 이용한이미지 데이터 인코딩 및 디코딩 방법
KR20080043148A (ko) * 2006-11-13 2008-05-16 삼성전자주식회사 영상 처리 방법 및 장치
JP2008227817A (ja) 2007-03-12 2008-09-25 Seiko Epson Corp 画像データ符号化装置、画像データ復号化装置、画像処理装置及び電子機器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006736A1 (en) 2003-07-01 2005-01-20 Thomson Licensing Method for run-length encoding of a bitmap data stream
KR20050014489A (ko) * 2003-07-31 2005-02-07 삼성전자주식회사 이미지 데이터 인코딩 및 디코딩 장치와 이를 이용한이미지 데이터 인코딩 및 디코딩 방법
KR20080043148A (ko) * 2006-11-13 2008-05-16 삼성전자주식회사 영상 처리 방법 및 장치
JP2008227817A (ja) 2007-03-12 2008-09-25 Seiko Epson Corp 画像データ符号化装置、画像データ復号化装置、画像処理装置及び電子機器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027142A (ko) 2018-09-04 2020-03-12 세종대학교산학협력단 이미지 처리 장치 및 방법
KR20210028522A (ko) * 2019-09-04 2021-03-12 한국과학기술원 딥 뉴럴 네트워크 학습 장치 및 그 방법
KR102304900B1 (ko) * 2019-09-04 2021-09-24 한국과학기술원 딥 뉴럴 네트워크 학습 장치 및 그 방법

Also Published As

Publication number Publication date
KR20110101792A (ko) 2011-09-16

Similar Documents

Publication Publication Date Title
US8761528B2 (en) Compression of image data
US7983500B2 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus
AU2020201708B2 (en) Techniques for encoding, decoding and representing high dynamic range images
JP6703032B2 (ja) 後方互換性拡張画像フォーマット
US7483585B2 (en) Image compression using variable bit size run length encoding
US8861877B2 (en) System and method for improving decoder performance by using multiple decoding channels
US20070076009A1 (en) Bitstream format and reading and writing methods and apparatus therefor
CN102821279A (zh) 一种保留alpha通道的图片压缩方法
KR101100829B1 (ko) 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
CN110225399B (zh) 流媒体处理方法、装置、计算机设备及存储介质
US11568572B2 (en) Texture compression
JP2006325186A (ja) 画像処理装置
EP2985995B1 (en) Information processing device, control method, program, and recording medium
US10742992B1 (en) Video compression for video games
JP2017192080A (ja) 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム
US11189006B2 (en) Managing data for transportation
GB2435728A (en) A method for choosing a compression algorithm
AU2009212933A1 (en) Methods of storing and retrieving images
KR101652740B1 (ko) 이미지 처리 시스템, 이미지 복원 시스템 및 그 방법
CN110087072A (zh) 图像处理装置
GB2353452A (en) Apparatus and method for compression of bit-mapped data
JP6381855B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
CN113473150A (zh) 一种图像处理方法、装置以及计算机可读存储装置
Chan INFORMATION HIDING IN VQ COMPRESSED IMAGES

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
LAPS Lapse due to unpaid annual fee