[go: up one dir, main page]

KR101652740B1 - System and method for image processing and restoring - Google Patents

System and method for image processing and restoring Download PDF

Info

Publication number
KR101652740B1
KR101652740B1 KR1020140146305A KR20140146305A KR101652740B1 KR 101652740 B1 KR101652740 B1 KR 101652740B1 KR 1020140146305 A KR1020140146305 A KR 1020140146305A KR 20140146305 A KR20140146305 A KR 20140146305A KR 101652740 B1 KR101652740 B1 KR 101652740B1
Authority
KR
South Korea
Prior art keywords
image
pixel
color
value
processed
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020140146305A
Other languages
Korean (ko)
Other versions
KR20160049620A (en
Inventor
위영철
안영훈
Original Assignee
주식회사 큐램
주식회사 핀그램
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 큐램, 주식회사 핀그램 filed Critical 주식회사 큐램
Priority to KR1020140146305A priority Critical patent/KR101652740B1/en
Priority to US14/631,769 priority patent/US9560364B2/en
Publication of KR20160049620A publication Critical patent/KR20160049620A/en
Application granted granted Critical
Publication of KR101652740B1 publication Critical patent/KR101652740B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

각 픽셀이 RGB 또는 RGBA 형태인 원본 이미지를 인덱스 컬러 형식의 이미지로 변환하는 이미지 처리 시스템 및 그 방법이 개시된다. 본 발명의 일 측면에 따르면, 처리대상 이미지에 포함된 각 픽셀의 색상 값 중 N개(여기서, N은 2 이상의 정수임)인 인덱스 컬러를 포함하는 컬러 팔레트(color palette)를 생성하는 팔레트모듈 및 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하고, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고, 상기 처리대상 픽셀의 색상 값을 예외 버퍼에 저장하는 제어모듈을 포함하는 이미지 처리 시스템이 제공된다.An image processing system and method for converting an original image in which each pixel is in RGB or RGBA form into an image in an index color format is disclosed. According to an aspect of the present invention, there is provided a palette module for generating a color palette including an index color which is N (where N is an integer of 2 or more) color values of each pixel included in an image to be processed, Wherein when the color value of the pixel to be processed is any one of the N index colors for each pixel to be processed included in the image to be processed, the pixel value on the transformed image corresponding to the pixel to be processed, When the color value of the pixel to be processed is not one of the N index colors, sets a pixel value on the transformed image corresponding to the pixel to be processed to a predetermined value And a control module for setting the color value of the pixel to be processed to an exception value and storing the color value of the pixel to be processed in an exception buffer A paper handling system is provided.

Description

이미지 처리 시스템, 이미지 복원 시스템 및 그 방법{System and method for image processing and restoring}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing system, an image restoration system,

본 발명은 이미지 처리 시스템 및 그 제공방법에 관한 것으로, 보다 상세하게는 각 픽셀이 RGB 또는 RGBA 형태인 원본 이미지를 인덱스 컬러 형식의 이미지로 변환하는 이미지 처리 시스템 및 그 방법에 관한 것이다.The present invention relates to an image processing system and a method for providing the same, and more particularly, to an image processing system and method for converting an original image in RGB or RGBA format into an image in an index color format.

최근 이미지의 품질이 점점 높아짐에 따라 하나의 이미지 데이터를 표현하기 위한 데이터의 양이 매우 커지게 되었으며, 이로 인해 저장매체에 많은 수의 이미지 데이터를 저장하기 어렵거나 네트워크를 통해 이미지 데이터를 전송하는데 많은 전송 시간이 소요되는 문제점이 있다. 따라서, 네트워크 트래픽을 줄이고 저장공간을 절약하기 위해, 이미지에 관련된 데이터의 양을 줄이기 위한 각종 기법이 대두되고 있다.As the quality of recent images is getting higher, the amount of data for representing one image data becomes very large. As a result, it is difficult to store a large number of image data in a storage medium, There is a problem that transmission time is required. Accordingly, in order to reduce network traffic and save storage space, various techniques for reducing the amount of data related to images are emerging.

이미지의 크기를 줄이기 위한 대표적인 방법으로 인덱스 컬러 방식을 들 수 있다.An index color method is a typical method for reducing the image size.

인덱스 컬러 방식은 컬러 팔레트 또는 색상 참조 테이블이라고 불리는 테이블에 이미지의 각 픽셀의 RGB 값을 저장하고, 이미지 내의 각 픽셀 값은 컬러 팔레트의 인덱스를 가지고 있는 형식을 의미한다. 도 1은 4가지 색상으로 구성된 인덱스 컬러 방식의 예를 도시하고 있는 도면이다. 도 1(a)는 4가지 색상으로 구성된 컬러 팔레트를 도시하고 있으며, 도 1(b)는 도 1(a)의 컬러 팔레트의 인덱스 값 중 어느 하나를 픽셀 값으로 가지는 이미지를 도시하고 있다. 예를 들어, 도 1(b)의 픽셀(1)의 픽셀 값은 3이며, 이는 도 1(b)의 픽셀(1)이 실제로는 도 1(a)의 컬러 팔레트의 3번 인덱스의 RGB 값(R3, B3, G3)을 가짐을 의미한다.The index color scheme refers to a format that stores the RGB values of each pixel of an image in a table called a color palette or color reference table, and each pixel value in the image has an index of a color palette. 1 is a view showing an example of an index color system composed of four colors. FIG. 1 (a) shows a color palette composed of four colors, and FIG. 1 (b) shows an image having one of the index values of the color palette in FIG. 1 (a) as pixel values. For example, the pixel value of the pixel 1 of Fig. 1 (b) is 3, which means that the pixel 1 of Fig. 1 (b) is actually the RGB value of the index 3 of the color palette of Fig. (R3, B3, G3).

도 1의 경우에는 설명의 편의를 위하여 컬러 팔레트의 크기가 4인 경우를 예로 들었지만, 일반적인 인덱스 컬러 방식에서 컬러 팔레트의 크기는 28(=256)일 수 있으며, 인덱스 컬러 방식으로 표현되는 이미지는 컬러 팔레트의 크기(즉, 256개)만큼의 색상을 가질 수 있다.In the case of Fig. 1, for convenience of description heard a size of a color palette of four examples, the size of the color palettes in the general index color system may be in the 2 8 (= 256), the image, which is represented by the index color system is And may have as many colors as the size of the color palette (i.e., 256).

한편, 이미지를 구성하는 각 픽셀의 픽셀 값이 RGB 값 또는 RGBA 값을 가지는 방식의 경우에는 한 픽셀의 크기가 3~4byte이지만, 이를 상술한 바와 같은 인덱스 컬러 방식으로 표현하는 경우에는 한 픽셀의 크기가 1byte가 되므로 특정 이미지를 인덱스 컬러 방식으로 표현하는 것이 동일한 이미지를 RGB 방식으로 표현하는 것보다 훨씬 더 이미지의 크기를 줄일 수 있게 될 뿐만 아니라, 해당 이미지를 다른 방식으로 압축할 때에도 압축 효율이 좋아지게 된다.On the other hand, in the case where the pixel value of each pixel constituting the image has the RGB value or the RGBA value, the size of one pixel is 3 to 4 bytes. However, when the pixel value is represented by the index color method as described above, It is possible to reduce the size of the image much more than to express the same image in the RGB method and also to compress the image in other ways .

하지만, 인덱스 컬러 방식의 경우, 이미지를 구성하는 색상의 개수가 컬러 팔레트의 크기 이하로 제한되는 문제점이 있다.
However, in the case of the index color method, there is a problem that the number of colors constituting the image is limited to less than the size of the color palette.

따라서, 본 발명이 이루고자 하는 기술적인 과제는 종래의 인덱스 컬러 방식을 개선하여, 컬러 팔레트의 크기 이상의 색상을 표현할 수 있으면서도 종래 인덱스 컬러 방식에 의해 이미지를 표현할 때에 비해 이미지의 크기가 크게 늘어나지 않는 확장 인덱스 컬러 방식을 제안하고, 이를 수행할 수 있는 이미지 처리 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is therefore an object of the present invention to overcome the above-mentioned problems of the conventional art in which an index color system is improved and a color palette is enlarged, Color system, and to provide an image processing system and method capable of performing the method.

본 발명의 일 측면에 따르면, 처리대상 이미지에 포함된 각 픽셀의 색상 값 중 N개(여기서, N은 2 이상의 정수임)인 인덱스 컬러를 포함하는 크기 N의 컬러 팔레트(color palette)를 생성하는 팔레트모듈 및 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하고, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고, 상기 처리대상 픽셀의 색상 값을 예외 버퍼에 저장하는 제어모듈을 포함하는 이미지 처리 시스템이 제공된다.According to an aspect of the present invention, there is provided a palette for generating a color palette of size N including an index color that is N (where N is an integer of 2 or more) of the color values of each pixel included in the image to be processed Module and the pixel to be processed included in the image to be processed, if the color value of the pixel to be processed is any one of the N index colors, the pixel value on the transformed image corresponding to the pixel to be processed, And sets the index value on the color palette indicating the color value of the pixel to be processed to be a pixel value on the transformed image corresponding to the pixel to be processed if the color value of the pixel to be processed is not one of the N index colors Is set to a predetermined exception value and the color value of the pixel to be processed is stored in the exception buffer It is provided with an image processing system.

일 실시예에서, 상기 이미지 처리 시스템은 상기 처리대상 이미지에 포함된 각 픽셀의 색상 값 별 빈도수를 산출하고, 빈도수가 가장 높은 N개의 색상 값을 상기 N개의 인덱스 컬러로 선택하는 선택모듈을 더 포함할 수 있다.In one embodiment, the image processing system further includes a selection module that calculates the frequency of each color value of each pixel included in the processing target image and selects N color values with the highest frequency as the N index colors can do.

일 실시예에서, 상기 제어모듈은, A 대비 B의 비율이 소정의 한계 비율 이상인 경우에, 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하고, 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 예외 값으로 설정하고, 상기 처리대상 픽셀의 색상 값을 상기 예외 버퍼에 기록할 수 있다-여기서, A는 상기 처리 대상 픽셀의 총 개수이며, B는 상기 처리대상 이미지에 포함된 각 픽셀 중 상기 N개의 인덱스 컬러 중 어느 하나를 색상 값으로 가지는 픽셀의 총 개수임.In one embodiment, when the ratio of A to B is equal to or greater than a predetermined threshold ratio, for each pixel to be processed included in the image to be processed, the color value of the pixel to be processed is N And sets the pixel value on the transformed image corresponding to the pixel to be processed to an index value on the color palette indicating the color value of the pixel to be processed, The pixel value on the transformed image corresponding to the pixel to be processed is set as the exception value and the color value of the pixel to be processed is written to the exception buffer, Is the total number of the pixels to be processed, B is the number of the N index colors Being the total number of pixels having any one color value.

일 실시예에서, N은 2m-1(여기서, m은 자연수)이며, 상기 예외 값은 2m-1인 것을 특징으로 할 수 있다.In one embodiment, N is 2 m -1, where m is a natural number, and the exception value is 2 m -1.

일 실시예에서, 상기 이미지 처리 시스템은, 상기 컬러 팔레트가 기록된 컬러 팔레트 파트, 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 비트맵 파트 및 상기 예외 버퍼에 저장된 색상 값이 기록된 예외 버퍼 파트를 포함하는 변환 이미지를 생성하는 생성모듈을 더 포함할 수 있다.In one embodiment, the image processing system includes a color pallet part in which the color palette is recorded, a bitmap part in which pixel values on the converted image corresponding to each pixel included in the processing target image are recorded, And a generation module for generating a transformed image including the exception buffer part in which the stored color value is recorded.

일 실시예에서, 상기 생성모듈은, 상기 컬러 팔레트 파트, 상기 비트맵 파트 및 상기 예외 파트를 압축하여 상기 변환 이미지를 생성할 수 있다.In one embodiment, the generating module may compress the color palette part, the bitmap part and the exception part to generate the transformed image.

본 발명의 다른 일 측면에 따르면, 변환 이미지를 처리대상 이미지로 복원하는 시스템에 있어서, 상기 변환 이미지-상기 변환 이미지에 포함된 복원대상 픽셀들은 N개의 인덱스 컬러에 대응되는 인덱스 값과 인덱스 컬러에 대응되지 않는 예외 값을 갖는 이미지 임-를 입력받는 입력모듈 및 상기 변환 이미지에 포함된 각각의 복원대상 픽셀에 대하여, 상기 복원대상 픽셀 값이 상기 예외 값인 경우에는, 상기 예외 값에 대응되는 상기 처리대상 이미지의 색상 값이 저장된 예외 버퍼의 상기 복원대상 픽셀에 상응하는 색상 값을 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하고, 상기 복원대상 픽셀 값이 상기 인덱스 컬러 중 어느 하나에 상응하는 컬러 팔레트 상의 인덱스 값인 경우에는 상기 인덱스 값에 상응하는 인덱스 컬러를 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 복원모듈을 포함하는 이미지 복원 시스템이 제공된다.According to another aspect of the present invention, there is provided a system for restoring a transformed image into an image to be processed, the transformed image comprising: transformed images, the reconstructed pixels included in the transformed image corresponding to index values and index colors corresponding to N indexed colors In the case where the restoration target pixel value is the exception value for each of the restoration target pixels included in the input module and the transformed image, The color value corresponding to the restoration target pixel of the exception buffer in which the color value of the image is stored is determined as the color value of the pixel on the processing target image corresponding to the restoration target pixel, In the case of an index value on a color palette corresponding to one, it corresponds to the index value The image restoration system comprising a reconstruction module to determine an index value of the pixel color to the color on the processing target image corresponding to the restoration target pixels is provided.

본 발명의 다른 일 측면에 따르면, (a) 이미지 처리 시스템이, 처리대상 이미지에 포함된 각 픽셀의 색상 값 중 N개(여기서, N은 2 이상의 정수임)인 인덱스 컬러를 포함하는 컬러 팔레트(color palette)를 생성하는 단계 및 (b) 상기 이미지 처리 시스템이, 상기 처리대상 이미지를 처리하는 단계를 포함하되, 상기 (b) 단계는, 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여, (b-1) 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하는 단계 및 (b-2) 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고, 상기 처리대상 픽셀의 색상 값을 예외 버퍼에 저장하는 단계를 포함하는 이미지 처리 방법이 제공된다.According to another aspect of the present invention, there is provided an image processing system including (a) an image processing system including a color palette including an index color that is N (where N is an integer of 2 or more) out of color values of each pixel included in an image to be processed and (b) processing the image to be processed by the image processing system, wherein the step (b) includes: for each pixel to be processed included in the image to be processed, (b-1) when the color value of the pixel to be processed is any one of the N index colors, converting the pixel value on the transformed image corresponding to the pixel to be processed into the color value of the color palette And (b-2) if the color value of the pixel to be processed is not one of the N index colors, Setting a pixel value on the transformed image to a predetermined exception value, and storing the color value of the pixel to be processed in an exception buffer.

일 실시예에서, 상기 이미지 처리 방법은, 상기 처리대상 이미지에 포함된 각 픽셀의 색상 값 별 빈도수를 산출하는 단계 및 빈도수가 가장 높은 N개의 색상 값을 상기 N개의 인덱스 컬러로 선택하는 단계를 더 포함할 수 있다.In one embodiment, the image processing method further includes a step of calculating a frequency of each color value of each pixel included in the processing target image and a step of selecting N color values having the highest frequency with the N index colors .

일 실시예에서, 상기 (b-1) 단계 및 상기 (b-2) 단계는, A 대비 B의 비율이 소정의 한계 비율 이상인 경우에 수행되는 것을 특징으로 할 수 있다-여기서, A는 상기 처리 대상 픽셀의 총 개수이며, B는 상기 처리대상 이미지에 포함된 각 픽셀 중 상기 N개의 인덱스 컬러 중 어느 하나를 색상 값으로 가지는 픽셀의 총 개수임.In one embodiment, the step (b-1) and the step (b-2) may be performed when the ratio of A to B is equal to or greater than a predetermined threshold ratio, And B is the total number of pixels having any one of the N index colors among the pixels included in the processing target image as color values.

일 실시예에서, 상기 이미지 처리 방법은, (c) 상기 컬러 팔레트가 기록된 컬러 팔레트 파트, 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 비트맵 파트 및 상기 예외 버퍼에 저장된 색상 값이 기록된 예외 버퍼 파트를 포함하는 변환 이미지를 생성하는 단계를 더 포함할 수 있다.In one embodiment, the image processing method may further include: (c) a color palette part in which the color palette is recorded, a bitmap part in which pixel values on the converted image corresponding to each pixel included in the processing target image are recorded, And generating a transformed image including an exception buffer part in which a color value stored in the exception buffer is recorded.

일 실시예에서, 상기 (c) 단계는, 상기 컬러 팔레트 파트, 상기 비트맵 파트 및 상기 예외 파트를 압축하여 상기 변환 이미지를 생성하는 단계를 포함할 수 있다.In one embodiment, the step (c) may include compressing the color palette part, the bitmap part and the exception part to generate the transformed image.

본 발명의 다른 일 측면에 따르면, 변환 이미지를 처리대상 이미지로 복원하는 이미지 복원 방법으로서,According to another aspect of the present invention, there is provided an image restoration method for restoring a transformed image into an image to be processed,

(1) 이미지 복원 시스템이, 상기 변환 이미지-상기 변환 이미지에 포함된 복원대상 픽셀들은 N개의 인덱스 컬러에 대응되는 인덱스 값과 인덱스 컬러에 대응되지 않는 예외 값을 갖는 이미지 임-를 입력받는 단계 및 (2) 상기 이미지 복원 시스템이, 상기 변환 이미지를 상기 처리대상 이미지로 복원하는 단계를 포함하되, 상기 (2) 단계는, 상기 이미지 복원 시스템이, 상기 변환 이미지에 포함된 각각의 복원대상 픽셀에 대하여, (2-1) 상기 복원대상 픽셀 값이 상기 예외 값인 경우에는, 상기 예외 값에 대응되는 상기 처리대상 이미지의 색상 값이 저장된 예외 버퍼의 상기 복원대상 픽셀에 상응하는 색상 값을 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 단계 및 (2-2) 상기 복원대상 픽셀 값이 상기 인덱스 컬러 중 어느 하나에 상응하는 컬러 팔레트 상의 인덱스 값인 경우에는 상기 인덱스 값에 상응하는 인덱스 컬러를 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 단계를 포함하는 이미지 복원 방법이 제공된다.(1) The image restoration system according to any one of (1) to (3), further comprising the steps of: receiving the transformed image, the restoration target pixels included in the transformed image being an image having an index value corresponding to N index colors and an exception value not corresponding to an index color; (2) The image restoration system includes restoring the transformed image into the image to be processed, wherein the image restoration system includes: The color value corresponding to the restoration target pixel of the exception buffer in which the color value of the processing target image corresponding to the exception value is stored, Pixel as the color value of the pixel on the image to be processed corresponding to the pixel; and (2-2) And determining an index color corresponding to the index value as a color value of a pixel on the processing target image corresponding to the restoration target pixel if the index value is an index value on the color palette corresponding to any one of .

본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.According to another aspect of the present invention, there is provided a computer program installed in a data processing apparatus and stored in a recording medium for performing the above-described method.

본 발명의 다른 일 측면에 따르면, 이미지 처리 시스템으로서, 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 이미지 처리 시스템이 상술한 이미지 처리 방법을 수행하도록 하는 이미지 처리 시스템이 제공된다.According to another aspect of the present invention there is provided an image processing system comprising a processor and a memory storing a computer program executed by the processor, wherein the computer program, when executed by the processor, There is provided an image processing system for performing the above-described image processing method.

본 발명의 다른 일 측면에 따르면, 이미지 복원 시스템으로서, 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 이미지 복원 시스템이 상술한 이미지 복원 방법을 수행하도록 하는 이미지 복원 시스템이 제공된다.
According to another aspect of the present invention there is provided an image restoration system comprising a processor and a memory for storing a computer program executed by the processor, wherein the computer program, when executed by the processor, There is provided an image restoration system for performing the image restoration method described above.

본 발명의 기술적 사상에 따르면 따라서, 본 발명의 기술적 사상에 따르면, 제한된 크기의 인덱스(예컨대, 256개)를 가지고서도 상기 인덱스의 크기보다 많은 종류의 픽셀 색상 값을 갖는 이미지에 대해 인덱스 이미지로 무손실 압축할 수 있는 효과가 있다. According to the technical idea of the present invention, according to the technical idea of the present invention, for an image having a pixel color value of more than a size of the index even with a limited-size index (for example, 256) There is a compression effect.

또한 처리대상 이미지를 구성하는 색상 값 중 미리 설정된 개수의 인덱스 값(예컨대, 256개의 인덱스 값을 이용하는 경우, 255개의 인덱스 컬러)에 해당하지 않는 색상 값은 하나 또는 복수의 예외 값(예외 인덱스)에 매핑시키고, 실제 픽셀의 색상 값은 별도의 예외 버퍼에 저장되므로 처리대상 이미지의 화질을 손상시키지 않는 효과가 있다.
Also, a color value not corresponding to a predetermined number of index values (for example, 255 index colors when 256 index values are used) among color values constituting an image to be processed is stored in one or a plurality of exception values And the color value of the actual pixel is stored in a separate exception buffer. Therefore, the image quality of the image to be processed is not impaired.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 인덱스 컬러 방식을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 이미지 처리 시스템의 동작을 개략적으로 도시한 도면이다.
도 3a은 본 발명의 일 실시예에 따른 이미지 처리 시스템의 구성을 개략적으로 도시한 블록도이다.
도 3b는 본 발명의 일 실시예에 따른 이미지 복원 시스템의 구성을 개략적으로 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 이미지 처리 시스템이 수행하는 과정을 도시하고 있는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 이미지 처리 시스템에 의해 처리대상 이미지 상의 픽셀이 처리되어 그에 상응하는 변환 이미지 상의 픽셀 값이 설정되는 예를 도시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a view for explaining a conventional index color system.
2 is a schematic diagram illustrating an operation of an image processing system according to an embodiment of the present invention.
3A is a block diagram schematically showing the configuration of an image processing system according to an embodiment of the present invention.
3B is a block diagram schematically illustrating the configuration of an image restoration system according to an embodiment of the present invention.
4 is a flowchart illustrating a process performed by the image processing system according to an exemplary embodiment of the present invention.
5 is a diagram showing an example in which a pixel on an image to be processed is processed by an image processing system according to an embodiment of the present invention and a pixel value on the corresponding converted image is set.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component.

반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

도 2는 본 발명의 일 실시예에 따른 이미지 처리 시스템(100) 및 이미지 복원 시스템(200)의 동작을 개략적으로 도시한 도면이다. 도 2를 참조하면, 본 발명의 기술적 사상에 따른 이미지 처리 방법을 구현하기 위하여 이미지 처리 시스템(100) 및/또는 이미지 복원 시스템(200)이 구비될 수 있다.2 schematically illustrates the operation of image processing system 100 and image restoration system 200 in accordance with an embodiment of the present invention. Referring to FIG. 2, an image processing system 100 and / or an image restoration system 200 may be provided to implement the image processing method according to the technical idea of the present invention.

상기 이미지 처리 시스템(100)은 소정의 처리대상 이미지(10)를 처리하여 그에 상응하는 변환 이미지(20)를 생성할 수 있으며, 상기 이미지 복원 시스템(200)은 생성된 변환 이미지(20)를 다시 상기 처리 대상 이미지(10)로 복원할 수 있다.The image processing system 100 may process a predetermined image to be processed 10 to produce a corresponding transformed image 20 that may be used to reconstruct the generated transformed image 20 The image to be processed 10 can be restored.

상기 처리대상 이미지(10)는 인코딩 전의 원본 이미지를 의미할 수 있다. 한편, 상기 처리대상 이미지는 그에 포함된 각각의 픽셀이 색상 값을 가지는 형식의 이미지일 수 있다. 각 픽셀의 색상 값은 예를 들어, RGB 색 모델이나 YCbCr 색 모델, HIS 색 모델, CMYK 색 모델에 의해 표현되는 수치일 수 있다. 예를 들어, 상기 처리대상 이미지(10)는 디지털 카메라나 이미지 스캐너의 이미지 센서로부터 최소한으로 처리한 데이터인 로우 이미지(raw image)일 수 있다.The image to be processed 10 may refer to an original image before encoding. Meanwhile, the image to be processed may be an image in which each pixel included therein has a color value. The color value of each pixel may be, for example, a value expressed by an RGB color model, a YCbCr color model, a HIS color model, or a CMYK color model. For example, the image to be processed 10 may be a raw image that is at least processed from an image sensor of a digital camera or an image scanner.

이하에서는 상기 처리대상 이미지(10)에 포함된 각 픽셀의 속성이 해당 픽셀의 색상 값이 RGB 색 모델로 표현된 경우를 예로 들어 설명하지만, 본 발명의 기술적 사상이 다른 색 모델이나 다른 속성에 대하여도 마찬가지로 적용될 수 있음은 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다.Hereinafter, the case where the attribute of each pixel included in the image to be processed 10 is expressed by the RGB color model as the color value of the corresponding pixel will be described as an example. However, the technical idea of the present invention may be applied to other color models or other attributes It will be understood by those skilled in the art that the present invention can be similarly applied.

한편, 상기 변환 이미지(20)는 상기 이미지 처리 시스템(100)에 의해 생성되는 결과물로서, 상기 처리대상 이미지(10)와 동일한 내용을 다른 형식으로 표현하는 이미지일 수 있다.Meanwhile, the transformed image 20 may be an image generated by the image processing system 100 and representing the same content as the image to be processed 10 in a different format.

도 2에 도시된 바와 같이, 상기 변환 이미지(20)는 컬러 팔레트 파트(21), 비트맵 파트(22), 예외 버퍼 파트(23)를 포함할 수 있다. 상기 컬러 팔레트 파트(21)는 후술하는 바와 같은 컬러 팔레트가 기록된 부분이며, 상기 비트맵 파트(22)는 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 부분이며, 상기 예외 버퍼 파트(23)는 후술하는 바와 같은 예외 버퍼에 저장된 색상 값이 기록된 부분일 수 있다.As shown in FIG. 2, the transformed image 20 may include a color palette part 21, a bitmap part 22, and an exception buffer part 23. The color palette part 21 is a part in which a color pallet as described later is recorded, and the bitmap part 22 is a part in which a pixel value on the converted image corresponding to each pixel included in the processing target image is recorded And the exception buffer part 23 may be a part in which a color value stored in the exception buffer as described later is recorded.

실시예에 따라서는, 상기 변환 이미지(20)는 비트맵 파트(22)만을 포함하는독립된 파일의 형태로 생성되며, 컬러 팔레트 파트(21) 및/또는 예외 버퍼 파트(23)는 별도의 파일(예를 들면 메타 파일 등)의 형태로 존재하도록 구현될 수도 있다.The color palette part 21 and / or the exception buffer part 23 may be created in a separate file (not shown) in the form of a separate file containing only the bitmap part 22, For example, a metafile, etc.).

상기 이미지 처리 시스템(100) 및/또는 상기 이미지 복원 시스템(200)은 소정의 데이터 프로세싱 장치(예를 들면, 컴퓨터, 모바일 단말기 등)에 설치되어, 상기 데이터 프로세싱 장치에 구비된 하드웨어 및 본 발명의 기술적 사상을 구현하도록 정의되는 소정의 소프트웨어 코드와 유기적으로 결합되는 구성을 의미할 수 있다.The image processing system 100 and / or the image restoration system 200 may be installed in any data processing device (e.g., a computer, mobile terminal, etc.) May refer to a configuration that is organically coupled to certain software code that is defined to implement a technical idea.

도 3a는 본 발명의 일 실시예에 따른 이미지 처리 시스템(100)의 구성을 개략적으로 도시한 블록도이며, 도 3b는 본 발명의 일 실시예에 따른 이미지 복원 시스템(200)의 구성을 개략적으로 도시한 블록도이다.FIG. 3A is a block diagram schematically illustrating the configuration of an image processing system 100 according to an embodiment of the present invention. FIG. 3B schematically shows the configuration of an image restoration system 200 according to an embodiment of the present invention. Fig.

도 3a에 도시된 바와 같이, 본 발명의 일 실시예에 따른 이미지 처리 시스템(100)은 선택모듈(110), 팔레트모듈(120), 제어모듈(130), 생성모듈(140)을 포함할 수 있으며, 도 3b에 도시된 바와 같이, 본 발명의 일 실시예에 따른 이미지 복원 시스템(200)은 입력모듈(210), 복원모듈(220)을 포함할 수 있다.3A, an image processing system 100 according to an embodiment of the present invention may include a selection module 110, a pallet module 120, a control module 130, and a generation module 140 As shown in FIG. 3B, the image restoration system 200 according to an embodiment of the present invention may include an input module 210 and a restoration module 220.

본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 이미지 처리 시스템(100) 및/또는 상기 이미지 복원 시스템(200)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.According to an embodiment of the present invention, some of the above-mentioned components may not necessarily correspond to the components necessary for the implementation of the present invention, And / or the image restoration system 200 may include more components.

상기 이미지 처리 시스템(100) 및 이미지 복원 시스템(200)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 이미지 처리 시스템(100) 및 이미지 복원 시스템(200)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 이미지 처리 시스템(100) 및 이미지 복원 시스템(200)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대 상기 선택모듈(110), 팔레트모듈(120), 제어모듈(130) 및/또는 생성모듈(140)이나 상기 입력모듈(210) 및/또는 상기 복원모듈(220)은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 선택모듈(110), 팔레트모듈(120), 제어모듈(130) 및/또는 생성모듈(140)이나 상기 입력모듈(210) 및/또는 상기 복원모듈(220) 등 각각의 개별모듈을 구성하는 요소들 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 요소들이 서로 유기적으로 결합되어 각각의 개별 모듈이 수행하는 기능을 실현할 수도 있다.The image processing system 100 and the image restoration system 200 may include hardware resources and / or software necessary to implement the technical idea of the present invention, It does not mean a single device. That is, the image processing system 100 and the image restoration system 200 may mean a logical combination of hardware and / or software provided to implement the technical idea of the present invention. If necessary, And may be implemented as a set of logical structures for implementing the technical idea of the present invention by performing respective functions. In addition, the image processing system 100 and the image restoration system 200 may mean a set of configurations separately implemented for each function or role for implementing the technical idea of the present invention. For example, the selection module 110, the pallet module 120, the control module 130 and / or the generation module 140, the input module 210 and / or the restoration module 220 may be located in different physical devices Or may be located on the same physical device. The selection module 110, the palette module 120, the control module 130 and / or the generation module 140, the input module 210 and / or the restoration module 220 The elements constituting each individual module may also be located in different physical devices and elements located in different physical devices may be organically coupled to each other to realize the functions performed by the respective individual modules.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware. Can be easily deduced to the average expert in the field of < / RTI >

먼저 도 3a를 참조하면, 상기 제어모듈(130)은 상기 이미지 처리 시스템(100)에 포함된 다른 구성들(예를 들면, 상기 선택모듈(110), 팔레트모듈(120) 및/또는 생성모듈(140) 등)의 기능 및/또는 리소스를 제어할 수 있다.3A, the control module 130 may include other components included in the image processing system 100 (e.g., the selection module 110, the palette module 120, and / or the generation module 140) or the like) and / or resources.

상기 선택모듈(110)은 처리대상 이미지(10)에 포함된 각 픽셀의 색상 값 중 N개를 인덱스 컬러로 선택할 수 있으며, 상기 팔레트모듈(120)은 선택된 N개의 인덱스 컬러를 포함하는 컬러 팔레트(color palette)를 생성할 수 있다. 한편, N은 2 이상의 정수로서, 미리 정의되어 있는 값일 수 있다.The selection module 110 may select N of the color values of each pixel included in the image to be processed 10 as an index color, and the palette module 120 may select a color palette including N selected index colors color palette. On the other hand, N is an integer of 2 or more and may be a predefined value.

상기 컬러 팔레트는 복수의 인덱스 컬러 및 각각의 인덱스 컬러에 상응하는 인덱스 값을 포함하는 테이블일 수 있으며, 색상 참조 테이블 등의 명칭으로 불릴 수도 있다.The color palette may be a table including a plurality of index colors and index values corresponding to respective index colors, and may be referred to as a color reference table or the like.

한편, 상기 컬러 팔레트에는 상기 인덱스 컬러에 관한 항목(즉, 인덱스 컬러 및 그에 상응하는 인덱스의 쌍)만을 포함할 수도 있지만, 구현 예에 따라서는 상기 컬러 팔레트는 상기 인덱스 컬러 이외의 다른 색상 값에 관한 항목(즉, 인덱스와 색상 값의 쌍)이 더 포함될 수도 있다. 예를 들어, 상기 팔레트 모듈(120)은 상기 컬러 팔레트에 상기 처리대상 이미지(10)를 구성하는 모든 색상 값에 관한 항목이 포함되도록 상기 컬러 팔레트를 구성할 수도 있다. 하지만 이 경우에도 상기 인덱스 컬러는 상기 선택모듈(110)에 의해 선택된 N개의 색상 값일 수 있다.On the other hand, the color palette may include only an item relating to the index color (i.e., an index color and a pair of corresponding indexes), but according to an embodiment, the color palette may be associated with a color value other than the index color Items (i.e., pairs of indexes and color values) may be further included. For example, the palette module 120 may configure the color palette to include items related to all color values that constitute the image to be processed 10. However, in this case as well, the index color may be the N color values selected by the selection module 110.

상기 선택모듈(110)은 상기 처리대상 이미지(10)에 포함된 각 픽셀을 탐색하여 상기 처리대상 이미지(10)를 구성하는 모든 색상 값을 파악한 후 그 중 일부(즉, N 개)를 인덱스 컬러로 선택할 수 있다.The selection module 110 searches each pixel included in the processing target image 10 to determine all the color values constituting the processing target image 10, and then selects a part of (i.e., N) .

상기 선택모듈(110)이 N개의 인덱스 컬러를 선택하는 방법은 다양할 수 있다. 예를 들어, 상기 선택모듈(110)은 상기 처리대상 이미지(10)를 구성하는 색상 값 중 임의로 N개를 선택할 수도 있으며, 상기 처리대상 이미지(10)에 포함된 각 픽셀을 탐색하면서 등장 순서가 빠른 N개의 색상 값을 선택할 수도 있다.The manner in which the selection module 110 selects the N index colors may vary. For example, the selection module 110 may arbitrarily select N color values constituting the image to be processed 10, and may search for each pixel included in the image to be processed 10, You can also choose a fast N color value.

또한, 일 실시예에서, 상기 선택모듈(110)은 상기 처리대상 이미지(10)에 포함된 각 픽셀의 색상 값 별 빈도수를 산출하고, 빈도수 순으로 상기 처리대상 이미지를 구성하는 색상 값을 정렬하고, 빈도수가 가장 높은 N개의 색상 값을 상기 N개의 인덱스 컬러로 선택할 수도 있다. 이렇게 함으로써 상기 이미지 처리 시스템(100)은 최종 결과물인 변환 이미지(20)의 크기를 최소화할 수 있는데, 이렇게 되는 이유는 후술하는 바에 의해 명확해질 것이다.In addition, in one embodiment, the selection module 110 calculates the frequency of each color value of each pixel included in the processing target image 10, arranges the color values constituting the processing target image in order of frequency , And N color values having the highest frequency can be selected as the N index colors. By doing so, the image processing system 100 can minimize the size of the final converted image 20, which will be clarified by the following.

상기 처리대상 이미지(10)가 인덱스 컬러의 개수(즉, N) 이하의 색상으로 구성되는 경우에는 종래의 인덱스 컬러 방식(즉, 모든 픽셀의 픽셀 값이 컬러 팔레트 내의 인덱스 값을 가지는 방식)으로 변환하면 되므로 본 발명의 기술적 사상은 상기 처리대상 이미지(10)가 N보다 많은 색상을 구성되는 경우에 적용될 수 있다. 예를 들어, 인덱스 컬러의 개수가 255인 경우, 상기 처리대상 이미지(10)는 512가지의 색상으로 구성되어 종래의 인덱스 컬러 방식에 의해서는 화질의 손실 없이 표현될 수 없는 이미지일 수 있다.If the image to be processed 10 is composed of colors of the number of index colors (i.e., N) or less, the conventional index color method (i.e., the method in which the pixel values of all pixels have index values in the color palette) The technical idea of the present invention can be applied to a case where the image to be processed 10 has more colors than N. [ For example, when the number of index colors is 255, the image to be processed 10 may be an image that is composed of 512 colors and can not be expressed without loss of image quality by the conventional index color method.

상기 제어모듈(130)은 상기 처리대상 이미지(10) 각각에 상응하는 변환 이미지(20) 상의 픽셀 값을 설정할 수 있는데, 이하에서 도 4를 주로 참조하고 도 5를 보조적으로 참조하여, 이에 대하여 설명하기로 한다.The control module 130 may set the pixel values on the transformed image 20 corresponding to each of the images to be processed 10, which will be referred to below primarily with reference to FIG. 4, .

도 4는 상기 제어모듈(130)이 수행하는 과정을 도시하고 있는 흐름도이다. 도 4를 참조하면, 상기 제어모듈(130)은 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀(P)에 대하여, 이하의 과정을 수행할 수 있다(S100).FIG. 4 is a flowchart illustrating a process performed by the control module 130. Referring to FIG. Referring to FIG. 4, the control module 130 may perform the following process for each pixel P to be processed included in the image to be processed (S100).

상기 제어모듈(130)은 상기 처리대상 픽셀(P)의 색상 값이 상기 컬러 팔레트 내의 상기 N개의 인덱스 컬러 중 어느 하나인지 여부를 판단할 수 있다(S110).The control module 130 may determine whether the color value of the pixel P to be processed is one of the N index colors in the color pallet S110.

만약 상기 처리대상 픽셀(P)의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는, 상기 처리대상 픽셀(P)에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀(P)의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정할 수 있다(S120, S130).If the color value of the pixel P to be processed is one of the N index colors, a pixel value on the transformed image corresponding to the pixel P to be processed is converted into a color value of the pixel P to be processed (S120, S130). ≪ tb > < TABLE >

만약 상기 처리대상 픽셀(P)의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀(P)에 상응하는 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고(S140), 상기 처리대상 픽셀(P)의 색상 값을 예외 버퍼에 저장할 수 있다(S150).If the color value of the pixel P to be processed is not one of the N index colors, the pixel value on the transformed image corresponding to the pixel P to be processed is set to a predetermined exception value (S140) , The color value of the pixel P to be processed may be stored in the exception buffer (S150).

상기 예외 버퍼는 상기 예외 값(또는 예외 인덱스)에 대응되는 실제 픽셀 색상 값을 저장할 수 있는 수단이면 족하고, 물리적으로는 컬러 팔레트에 포함되거나 물리적으로 연속되게 예외 값에 대응되는 픽셀 색상 값이 저장되어도 무방하다.The exception buffer may store the actual pixel color value corresponding to the exception value (or the exception index). If the pixel color value corresponding to the exception value is physically stored in the color palette or physically continuous It is acceptable.

한편, 상기 제어모듈(130)은 상기 처리대상 픽셀(P)의 색상 값이 상기 N개의 인덱스 컬러 중 어디에도 해당하지 않는 경우가 발생할 때마다, 순차적으로 상기 예외 버퍼에 처리대상 픽셀의 색상 값을 저장할 수 있다. 즉 상기 제어모듈(130)은 처리대상 픽셀 들을 차례로 처리하다가 색상 값이 상기 N개의 인덱스 컬러 중 어디에도 해당하지 않는 경우(즉, 예외 경우)가 최초로 발생하면 예외 버퍼의 첫 위치에 처리대상 픽셀의 색상 값을 저장하고, 다음 예외 경우가 발생하면 예외 버퍼의 다음 위치에 처리대상 픽셀의 색상 값을 저장하는 방식으로 순차적으로 상기 예외 버퍼에 처리대상 픽셀의 색상 값을 저장할 수 있다.The control module 130 sequentially stores the color value of the pixel to be processed in the exception buffer whenever the color value of the pixel P to be processed does not correspond to any of the N index colors . That is, the control module 130 sequentially processes the pixels to be processed, and if the color value does not correspond to any of the N index colors (that is, in the exceptional case) for the first time, And stores the color value of the pixel to be processed in the exception buffer sequentially by storing the color value of the pixel to be processed at the next position of the exception buffer when the next exception occurs.

한편, 일 실시예에서, N은 2m-1(여기서, m은 자연수)이며, 상기 인덱스 컬러에 상응하는 인덱스는 0부터 2m-2일 수 있으며, 이 경우 상기 예외 값은 2m-1일 수 있다.Meanwhile, in one embodiment, N may be 2 m -1, where m is a natural number, and the index corresponding to the index color may be 0 to 2 m -2, where the exception value is 2 m -1 Lt; / RTI >

일 실시예에서, 상기 변환 이미지(20)의 각 픽셀을 1byte로 표현할 수 있으며, 이를 위하여, m은 8로 설정될 수 있다. 이 경우, N은 255이며, 상기 인덱스 컬러의 상기 컬러 팔레트 상의 인덱스 값은 0~254일 수 있다. 한편, 예외 값은 255일 수 있다. 상술한 바와 같이, 상기 제어모듈(130)은 각각의 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 인덱스 컬러의 인덱스 값(0~254) 또는 예외 값(255) 중 어느 하나로 설정하므로 상기 변환 이미지(20) 상의 각 픽셀이 1byte로 표현될 수 있다. 하지만 이에 한정되는 것은 아니며, m은 16이나 32, 64 등으로 설정될 수도 있다.In one embodiment, each pixel of the transformed image 20 may be represented by 1 byte, and for this purpose, m may be set to 8. In this case, N is 255, and the index value on the color palette of the index color may be 0-254. On the other hand, the exception value may be 255. As described above, the control module 130 sets the pixel value on the transformed image corresponding to each pixel to be processed to either the index value (0 to 254) or the exception value (255) of the index color, Each pixel on the image 20 can be represented by 1 byte. However, the present invention is not limited thereto, and m may be set to 16, 32, 64, or the like.

도 5는 상기 제어모듈(130)에 의해 처리대상 이미지 상의 픽셀이 처리되어 그에 상응하는 변환 이미지 상의 픽셀 값이 설정되는 예를 도시한 도면이다. 도 5(a)는 처리대상 이미지에 포함된 일부 픽셀의 RGB 값을 도시하고 있으며, 도 5(b)는 상기 선택모듈(110) 및 팔레트모듈(120)에 의해 생성된 컬러 팔레트의 일부를 도시하고 있으며, 도 5(c)는 상기 제어모듈(130)에 의해 설정된 상기 변환 이미지 상의 일부 픽셀의 픽셀 값을 도시하고 있다.5 is a diagram showing an example in which a pixel on the image to be processed is processed by the control module 130 and a pixel value on the corresponding converted image is set. 5 (a) shows the RGB values of some pixels included in the image to be processed, and FIG. 5 (b) shows a part of the color palette generated by the selection module 110 and the palette module 120 And FIG. 5 (c) shows the pixel values of some pixels on the transformed image set by the control module 130.

도 5의 예에서, 처리대상 이미지의 픽셀(P1)의 RGB 값(255, 182, 103)은 컬러 팔레트에 포함된 항목(i1)이므로 상기 제어모듈(130)은 상기 처리대상 픽셀(P1)에 상응하는 변환 이미지 상의 픽셀(Q1)의 픽셀 값을 상기 항목(i1)의 인덱스 값(109)으로 설정할 수 있다.5, since the RGB values 255, 182, and 103 of the pixel P1 of the image to be processed are the items i1 included in the color palette, the control module 130 determines The pixel value of the pixel Q1 on the corresponding transformed image can be set to the index value 109 of the item i1.

한편, 처리대상 이미지의 픽셀(P2)의 RGB 값(255, 182, 123)에 상응하는 상기 컬러 팔레트 상의 인덱스(i2)는 256으로서 인덱스 컬러(즉, 인덱스 0 내지 254에 상응하는 색상 값) 중 어디에서 해당하지 않으므로 상기 제어모듈(130)은 처리대상 이미지의 픽셀(P2)에 상응하는 변환 이미지 상의 픽셀(Q2)의 픽셀 값을 예외 값(255)로 설정하고, 예외 버퍼(E2)에 처리대상 이미지의 픽셀(P2)의 RGB 값(255, 182, 123)을 저장할 수 있다.On the other hand, the index (i2) on the color palette corresponding to the RGB values (255, 182, 123) of the pixel P2 of the image to be processed is 256 among the index colors (i.e., the color values corresponding to the indices 0 to 254) The control module 130 sets the pixel value of the pixel Q2 on the transformed image corresponding to the pixel P2 of the image to be processed to the exception value 255 and causes the exception buffer E2 to process (255, 182, 123) of the pixel P2 of the target image.

또한, 처리대상 이미지의 픽셀(P3)의 RGB 값(255, 255, 103)에 상응하는 상기 컬러 팔레트 상의 인덱스(i3)는 257로서 인덱스 컬러 중 어디에서 해당하지 않으므로 상기 제어모듈(130)은 처리대상 이미지의 픽셀(P3)에 상응하는 변환 이미지 상의 픽셀(Q3)의 픽셀 값을 예외 값(255)로 설정하고, 예외 버퍼(E2)의 다음 위치(E3)에 처리대상 이미지의 픽셀(P3)의 RGB 값(255, 255, 103)을 순차적으로 저장할 수 있다.Since the index (i3) on the color palette corresponding to the RGB values (255, 255, 103) of the pixel P3 of the image to be processed does not correspond to any of the index colors as 257, The pixel value of the pixel Q3 on the transformed image corresponding to the pixel P3 of the target image is set to the exception value 255 and the pixel P3 of the image to be processed is set to the next position E3 of the exception buffer E2, The RGB values (255, 255, 103) of the image data can be sequentially stored.

한편, 상술한 바와 같이, 상기 N개의 인덱스 컬러는 상기 처리대상 이미지를 구성하는 색상 값 중 상기 처리대상 이미지 상에서 등장 빈도가 매우 높은 색상 값만으로 구성되므로 상기 변환 이미지에 포함된 각 픽셀 값의 대부분은 상기 컬러 팔레트 상의 인덱스 값을 가지며, 상기 변환 이미지 중 매우 작은 개수의 픽셀만이 상기 예외 값을 가지게 된다. 따라서, 예외 버퍼에 저장되는 색상 값 역시 매우 작은 개수(예외 값을 가지는 상기 변환 이미지 내의 픽셀의 수)가 된다.As described above, since the N index colors are composed of color values having a very high frequency of occurrence on the processing target image among the color values constituting the processing target image, most of the pixel values included in the transformed image are Has an index value on the color palette, and only a very small number of pixels of the transformed image have the exception value. Thus, the color value stored in the exception buffer is also a very small number (the number of pixels in the transformed image with exception values).

따라서, 본 발명의 기술적 사상에 따르면, 컬러 팔레트를 이용함으로써 RGB 형식의 처리대상 이미지와 동일한 정보를 가지면서도 그 크기를 매우 감소시킬 수 있는 효과가 있다. 또한 처리대상 이미지를 구성하는 색상 값 중 컬러 팔레트에 포함되지 않는 색상 값 역시 손실되는 것이 아니라 별도의 예외 버퍼에 저장되므로 처리대상 이미지의 화질을 손상시키지 않는 효과가 있다.Therefore, according to the technical idea of the present invention, by using the color palette, the size of the image can be greatly reduced while having the same information as the image to be processed in the RGB format. In addition, color values not included in a color palette among color values constituting an image to be processed are not lost, but are stored in a separate exception buffer, so that the image quality of an image to be processed is not impaired.

한편, 상기 처리대상이미지에 포함된 픽셀의 총 개수를 A, 상기 처리대상 이미지에 포함된 각 픽셀 중 상기 N개의 인덱스 컬러 중 어느 하나를 색상 값으로 가지는 픽셀의 총 개수를 B라고 하면, 일 실시예에서, 상기 제어모듈은, A 대비 B의 비율이 소정의 한계 비율(예를 들면, 50%) 이상인 경우에, 도 4에 도시된 과정을 수행할 수 있다. A 대비 B의 비율이 너무 낮은 경우, 본 발명의 기술적 사상에 의한 이미지 크기 감소의 효율이 낮을 수 있기 때문이다.If the total number of pixels included in the image to be processed is represented by A and the total number of pixels having any one of the N index colors among the pixels included in the image to be processed is represented by B, In the example, the control module can perform the process shown in FIG. 4 when the ratio of A to B is equal to or greater than a predetermined threshold ratio (for example, 50%). If the ratio of A to B is too low, the efficiency of image size reduction according to the technical idea of the present invention may be low.

다시 도 3a를 참조하면, 상기 생성모듈(140)은 상기 변환 이미지(20)를 생성할 수 있다.Referring back to FIG. 3A, the generation module 140 may generate the transformed image 20.

상기 변환 이미지(20)는 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 비트맵 파트(22)를 포함할 수 있으며, 구현 예에 따라서 상기 컬러 팔레트가 기록된 컬러 팔레트 파트(21) 및/또는 상기 예외 버퍼에 저장된 색상 값이 기록된 예외 버퍼 파트(23)를 더 포함할 수도 있다.The transformed image 20 may include a bitmap part 22 in which pixel values on the transformed image corresponding to each pixel included in the image to be processed are recorded, The color pallet part 21 and / or the exception buffer part 23 in which the color value stored in the exception buffer is recorded.

상기 변환 이미지가 비트맵 파트(22)만을 포함하는 구현 예에서는 상기 컬러 팔레트 파트(21) 및/또는 상기 예외 버퍼 파트(23)는 별도의 파일 또는 저장소에 저장되어 있을 수 있다.In an embodiment where the transformed image comprises only a bitmap part 22, the color palette part 21 and / or the exception buffer part 23 may be stored in a separate file or storage.

한편, 일 실시예에서, 상기 생성모듈(140)은 상기 컬러 팔레트 파트, 상기 비트맵 파트 및 상기 예외 파트를 압축하여 상기 변환 이미지를 생성할 수도 있다.Meanwhile, in one embodiment, the generation module 140 may compress the color palette part, the bitmap part, and the exception part to generate the converted image.

이하에서는 도 3b를 참조하여 상기 이미지 복원 시스템(200)의 구성에 대하여 설명하기로 한다.Hereinafter, the configuration of the image restoration system 200 will be described with reference to FIG. 3B.

도 3b를 참조하면, 상기 입력모듈(210)은 복원 대상인 상기 이미지 처리 시스템(100)에 의해 생성된 상기 변환 이미지(20)를 입력받을 수 있다.Referring to FIG. 3B, the input module 210 may receive the converted image 20 generated by the image processing system 100 to be restored.

상기 복원모듈(220)은 상기 변환 이미지(20)에 포함된 각각의 복원대상 픽셀에 대하여 아래와 같은 과정을 거쳐 상기 변환 이미지(20)를 상기 처리대상 이미지(10)로 복원할 수 있다.The restoration module 220 can restore the transformed image 20 to the image to be processed 10 through the following process for each restoration target pixel included in the transformed image 20.

먼저 상기 복원모듈(220)은 상기 복원대상 픽셀이 상기 예외 값(예를 들어, 255)인지 여부를 판단할 수 있다.First, the restoration module 220 may determine whether the restoration target pixel is the exception value (for example, 255).

만약, 상기 복원대상 픽셀 값이 상기 예외 값인 경우에는 상기 예외 버퍼로부터 상기 복원대상 픽셀에 상응하는 색상 값을 로딩할 수 있다. 앞서 설명한 바와 같이, 상기 이미지 처리 시스템(100)은 처리대상 픽셀의 처리 순서에 따라 순차적으로 상기 예외 버퍼에 색상 값을 기록하므로 상기 복원모듈(220) 역시 상기 이미지 처리 시스템(100)이 수행한 픽셀 처리 순서에 따라 상기 복원대상 픽셀들을 처리하고 상기 복원대상 픽셀 값이 예외 값인 경우가 발생할 때마다 순차적으로 상기 예외 버퍼에서 색상 값을 로딩할 수 있다. 한편, 상기 복원모듈(220)은 로딩된 색상 값을 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단할 수 있다.If the pixel value to be restored is the exception value, the color value corresponding to the pixel to be restored can be loaded from the exception buffer. As described above, the image processing system 100 sequentially records color values in the exception buffer in accordance with the processing order of the pixels to be processed. Therefore, the restoration module 220 also detects the color of the pixel (s) Processing the restoration target pixels according to a process order, and sequentially loading a color value in the exception buffer whenever the restoration target pixel value is an exception value. Meanwhile, the restoration module 220 may determine the loaded color value as a color value of a pixel on the processing target image corresponding to the restoration target pixel.

만약 상기 복원대상 픽셀 값이 상기 N개의 인덱스 컬러 중 어느 하나에 상응하는 상기 컬러 팔레트 상의 인덱스 값인 경우에는 상기 인덱스 값에 상응하는 인덱스 컬러를 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단할 수 있다.If the restoration target pixel value is an index value on the color pallet corresponding to any one of the N index colors, an index color corresponding to the index value is determined as a color of a pixel on the processing target image corresponding to the restoration target pixel, Value.

이와 같은 방식으로 상기 변환 이미지(20)에 포함된 각각의 복원대상 픽셀의 색상 값을 모두 판단하고 나면, 상기 복원모듈(220)은 판단한 각각의 복원대상 픽셀의 색상 값을 가지고 상기 처리대상 이미지를 복원할 수 있다.After all the color values of the restoration target pixels included in the transformed image 20 are determined in this manner, the restoration module 220 determines the color of each of the restoration target pixels, Can be restored.

한편, 구현 예에 따라서, 상기 이미지 처리 시스템(100) 및/또는 상기 이미지 복원 시스템(200)은 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 이미지 처리 시스템(100)으로 하여금, 상술한 이미지 처리 방법을 수행하도록 할 수 있다.On the other hand, according to an embodiment, the image processing system 100 and / or the image restoration system 200 may comprise a processor and a memory for storing a program executed by the processor. The processor may include a single-core CPU or a multi-core CPU. The memory may include high speed random access memory and may include non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to the memory by the processor and other components can be controlled by the memory controller. Here, when the program is executed by a processor, the program may cause the image processing system 100 according to the present embodiment to perform the above-described image processing method.

한편, 본 발명의 실시예에 따른 이미지 처리 방법 및/또는 상기 이미지 복원 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the image processing method and / or the image restoring method according to the embodiment of the present invention may be implemented in the form of computer-readable program instructions and stored in a computer-readable recording medium. The control program and the target program can be stored in a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software.

컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as CD-ROM and DVD, a floptical disk, And hardware devices that are specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. The above-mentioned medium may also be a transmission medium such as a light or metal wire, wave guide, etc., including a carrier wave for transmitting a signal designating a program command, a data structure and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include machine language code such as those produced by a compiler, as well as devices for processing information electronically using an interpreter or the like, for example, a high-level language code that can be executed by a computer.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

Claims (16)

처리대상 이미지에 포함된 각 픽셀의 색상 값 중 N개(여기서, N은 2 이상의 정수)인 인덱스 컬러 및 각각의 인덱스 컬러에 상응하는 인덱스 값을 포함하는 컬러 팔레트(color palette)를 생성하는 팔레트모듈; 및
상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여,
상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하고,
상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고-여기서 상기 예외 값은 상기 컬러 팔레트의 인덱스 값 중 어느 것과도 일치하지 않는 값으로 정의됨-, 상기 처리대상 픽셀의 색상 값을 예외 버퍼에 저장하는 제어모듈을 포함하는 이미지 처리 시스템.
A palette module for generating a color palette including an index color corresponding to N (where N is an integer equal to or greater than 2) and an index value corresponding to each index color among color values of each pixel included in the image to be processed; ; And
For each pixel to be processed contained in the image to be processed,
If the color value of the pixel to be processed is one of the N index colors, sets a pixel value on the transformed image corresponding to the pixel to be processed to an index value on the color palette indicating the color value of the pixel to be processed ,
If the color value of the pixel to be processed is not one of the N index colors, sets a pixel value on the transformed image corresponding to the pixel to be processed to a predetermined exception value, And a control module for storing the color value of the pixel to be processed in an exception buffer.
제1항에 있어서, 상기 이미지 처리 시스템은,
상기 처리대상 이미지에 포함된 각 픽셀의 색상 값 별 빈도수를 산출하고,
빈도수가 가장 높은 N개의 색상 값을 상기 N개의 인덱스 컬러로 선택하는 선택모듈을 더 포함하는 이미지 처리 시스템.
2. The image processing system according to claim 1,
Calculating a frequency count for each color value of each pixel included in the image to be processed,
Further comprising: a selection module for selecting N color values having the highest frequency as the N index colors.
제1항에 있어서,
상기 제어모듈은, A 대비 B의 비율이 소정의 한계 비율 이상인 경우에,
상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여,
상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하고,
상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 예외 값으로 설정하고, 상기 처리대상 픽셀의 색상 값을 상기 예외 버퍼에 기록하는 이미지 처리 시스템-여기서, A는 상기 처리 대상 픽셀의 총 개수이며, B는 상기 처리대상 이미지에 포함된 각 픽셀 중 상기 N개의 인덱스 컬러 중 어느 하나를 색상 값으로 가지는 픽셀의 총 개수임.
The method according to claim 1,
Wherein when the ratio of A to B is equal to or greater than a predetermined limit ratio,
For each pixel to be processed contained in the image to be processed,
If the color value of the pixel to be processed is one of the N index colors, sets a pixel value on the transformed image corresponding to the pixel to be processed to an index value on the color palette indicating the color value of the pixel to be processed ,
Sets the pixel value on the transformed image corresponding to the pixel to be processed as the exception value when the color value of the pixel to be processed is not one of the N index colors, Wherein A is a total number of the pixels to be processed and B is a total number of pixels having one of the N index colors among the pixels included in the processing target image as color values being.
제1항에 있어서,
N은 2m-1(여기서, m은 2 이상의 자연수)이며, 상기 예외 값은 2m-1인 것을 특징으로 하는 이미지 처리 시스템.
The method according to claim 1,
N is 2 m -1 (where m is a natural number of 2 or more), and the exception value is 2 m -1.
제1항에 있어서,
상기 이미지 처리 시스템은,
상기 컬러 팔레트가 기록된 컬러 팔레트 파트, 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 비트맵 파트 및 상기 예외 버퍼에 저장된 색상 값이 기록된 예외 버퍼 파트를 포함하는 변환 이미지를 생성하는 생성모듈을 더 포함하는 이미지 처리 시스템.
The method according to claim 1,
The image processing system comprising:
A color palette part in which the color palette is recorded, a bitmap part in which pixel values on the converted image corresponding to each pixel included in the processing target image are recorded, and an exception buffer part in which color values stored in the exception buffer are recorded And generating a transformed image to be transformed into a transformed image.
제5항에 있어서,
상기 생성모듈은,
상기 컬러 팔레트 파트, 상기 비트맵 파트 및 상기 예외 파트를 압축하여 상기 변환 이미지를 생성하는 이미지 처리 시스템.
6. The method of claim 5,
Wherein the generation module comprises:
And compressing the color palette part, the bitmap part and the exception part to generate the transformed image.
변환 이미지를 처리대상 이미지로 복원하는 시스템에 있어서,
상기 변환 이미지-상기 변환 이미지에 포함된 복원대상 픽셀들은 N개의 인덱스 컬러에 대응되는 인덱스 값과 인덱스 컬러에 대응되지 않는 예외 값을 갖는 이미지 임-를 입력받는 입력모듈; 및
상기 변환 이미지에 포함된 각각의 복원대상 픽셀에 대하여,
상기 복원대상 픽셀 값이 상기 예외 값인 경우에는, 상기 예외 값에 대응되는 상기 처리대상 이미지의 색상 값이 저장된 예외 버퍼의 상기 복원대상 픽셀에 상응하는 색상 값을 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하고,
상기 복원대상 픽셀 값이 상기 인덱스 컬러 중 어느 하나에 상응하는 컬러 팔레트 상의 인덱스 값인 경우에는 상기 인덱스 값에 상응하는 인덱스 컬러를 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 복원모듈을 포함하는 이미지 복원 시스템.
A system for restoring a transformed image into a processing object image,
An input module for receiving the transformed image, the restoration target pixels included in the transformed image being an image having an index value corresponding to N index colors and an exception value not corresponding to an index color; And
For each of the restoration target pixels included in the transformed image,
The color value corresponding to the restoration target pixel of the exception buffer in which the color value of the processing target image corresponding to the exception value is stored is stored in the processing object corresponding to the restoration target pixel, Determining a color value of a pixel on the image,
And when the restoration target pixel value is an index value on a color pallet corresponding to one of the index colors, the index color corresponding to the index value is determined as a color value of a pixel on the processing target image corresponding to the restoration target pixel An image restoration system that includes a restoration module.
(a) 이미지 처리 시스템이, 처리대상 이미지에 포함된 각 픽셀의 색상 값 중 N개(여기서, N은 2 이상의 정수임)인 인덱스 컬러를 포함하는 컬러 팔레트(color palette)를 생성하는 단계; 및
(b) 상기 이미지 처리 시스템이, 상기 처리대상 이미지를 처리하는 단계를 포함하되,
상기 (b) 단계는, 상기 처리대상 이미지에 포함된 각각의 처리대상 픽셀에 대하여,
(b-1) 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나인 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 상기 처리대상 픽셀의 색상 값을 가리키는 상기 컬러 팔레트 상의 인덱스 값으로 설정하는 단계; 및
(b-2) 상기 처리대상 픽셀의 색상 값이 상기 N개의 인덱스 컬러 중 어느 하나가 아닌 경우에는 상기 처리대상 픽셀에 상응하는 변환 이미지 상의 픽셀 값을 소정의 예외 값으로 설정하고-여기서 상기 예외 값은 상기 컬러 팔레트의 인덱스 값 중 어느 것과도 일치하지 않는 값으로 정의됨-, 상기 처리대상 픽셀의 색상 값을 예외 버퍼에 저장하는 단계를 포함하는 이미지 처리 방법.
(a) generating an image processing system including a color palette including an index color that is N (where N is an integer equal to or greater than 2) of the color values of each pixel included in the image to be processed; And
(b) the image processing system processing the image to be processed,
Wherein, in the step (b), for each pixel to be processed included in the image to be processed,
(b-1) when the color value of the pixel to be processed is any one of the N index colors, converting the pixel value on the transformed image corresponding to the pixel to be processed into the color value of the color palette Setting an index value; And
(b-2) if the color value of the pixel to be processed is not one of the N index colors, sets a pixel value on the transformed image corresponding to the pixel to be processed to a predetermined exception value, Is defined as a value that does not match any of the index values of the color palette, and storing the color value of the pixel to be processed in an exception buffer.
제8항에 있어서, 상기 이미지 처리 방법은,
상기 처리대상 이미지에 포함된 각 픽셀의 색상 값 별 빈도수를 산출하는 단계; 및,
빈도수가 가장 높은 N개의 색상 값을 상기 N개의 인덱스 컬러로 선택하는 단계를 더 포함하는 이미지 처리 방법.
9. The image processing method according to claim 8,
Calculating a frequency count for each color value of each pixel included in the processing target image; And
And selecting N color values having the highest frequency as the N index colors.
제8항에 있어서,
상기 (b-1) 단계 및 상기 (b-2) 단계는, A 대비 B의 비율이 소정의 한계 비율 이상인 경우에 수행되는 것을 특징으로 하는 이미지 처리 방법-여기서, A는 상기 처리 대상 픽셀의 총 개수이며, B는 상기 처리대상 이미지에 포함된 각 픽셀 중 상기 N개의 인덱스 컬러 중 어느 하나를 색상 값으로 가지는 픽셀의 총 개수임.
9. The method of claim 8,
Wherein the step (b-1) and the step (b-2) are performed when the ratio of A to B is equal to or greater than a predetermined threshold ratio, And B is the total number of pixels having any one of the N index colors among the pixels included in the processing target image as color values.
제8항에 있어서,
상기 이미지 처리 방법은,
(c) 상기 컬러 팔레트가 기록된 컬러 팔레트 파트, 상기 처리 대상 이미지에 포함된 각 픽셀에 상응하는 상기 변환 이미지 상의 픽셀 값이 기록된 비트맵 파트 및 상기 예외 버퍼에 저장된 색상 값이 기록된 예외 버퍼 파트를 포함하는 변환 이미지를 생성하는 단계를 더 포함하는 이미지 처리 방법.
9. The method of claim 8,
The image processing method includes:
(c) a color palette part in which the color palette is recorded, a bitmap part in which pixel values on the converted image corresponding to each pixel included in the processing target image are recorded, and an exception buffer And generating a transformed image that includes the part.
제11항에 있어서,
상기 (c) 단계는,
상기 컬러 팔레트 파트, 상기 비트맵 파트 및 상기 예외 파트를 압축하여 상기 변환 이미지를 생성하는 단계를 포함하는 이미지 처리 방법.
12. The method of claim 11,
The step (c)
Compressing the color palette part, the bitmap part and the exception part to generate the transformed image.
변환 이미지를 처리대상 이미지로 복원하는 이미지 복원 방법으로서,
(1) 이미지 복원 시스템이, 상기 변환 이미지-상기 변환 이미지에 포함된 복원대상 픽셀들은 N개의 인덱스 컬러에 대응되는 인덱스 값과 인덱스 컬러에 대응되지 않는 예외 값을 갖는 이미지 임-를 입력받는 단계; 및
(2) 상기 이미지 복원 시스템이, 상기 변환 이미지를 상기 처리대상 이미지로 복원하는 단계를 포함하되,
상기 (2) 단계는, 상기 이미지 복원 시스템이, 상기 변환 이미지에 포함된 각각의 복원대상 픽셀에 대하여,
(2-1) 상기 복원대상 픽셀 값이 상기 예외 값인 경우에는, 상기 예외 값에 대응되는 상기 처리대상 이미지의 색상 값이 저장된 예외 버퍼의 상기 복원대상 픽셀에 상응하는 색상 값을 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 단계; 및
(2-2) 상기 복원대상 픽셀 값이 상기 인덱스 컬러 중 어느 하나에 상응하는 컬러 팔레트 상의 인덱스 값인 경우에는 상기 인덱스 값에 상응하는 인덱스 컬러를 상기 복원대상 픽셀에 상응하는 상기 처리대상 이미지 상의 픽셀의 색상 값으로 판단하는 단계를 포함하는 이미지 복원 방법.
An image restoration method for restoring a transformed image into a processing object image,
(1) the image restoration system comprises: receiving the transformed image, the restoration target pixels included in the transformed image being an image having an index value corresponding to N index colors and an exception value not corresponding to an index color; And
(2) the image restoration system restores the transformed image to the image to be processed,
Wherein, in the step (2), the image restoration system includes:
(2-1) If the restoration target pixel value is the exception value, a color value corresponding to the restoration target pixel of the exception buffer in which the color value of the processing object image corresponding to the exception value is stored, Determining a color value of a pixel on the corresponding image to be processed; And
(2-2) If the restoration target pixel value is an index value on a color palette corresponding to any one of the index colors, an index color corresponding to the index value is used as the index color of the pixel on the processing target image corresponding to the restoration target pixel And judging the color value as a color value.
데이터 처리장치에 설치되며 제8항 내지 제13항 중 어느 한 항에 기재된 방법을 수행하기 위한 기록매체에 저장된 컴퓨터 프로그램.
A computer program installed in a data processing apparatus and stored in a recording medium for performing the method according to any one of claims 8 to 13.
이미지 처리 시스템으로서,
프로세서; 및
상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 이미지 처리 시스템이 제8항 내지 제12항 중 어느 한 항에 기재된 방법을 수행하도록 하는 이미지 처리 시스템.
An image processing system,
A processor; And
A memory for storing a computer program executed by the processor,
Wherein the computer program causes the image processing system to perform the method of any one of claims 8 to 12 when executed by the processor.
이미지 복원 시스템으로서,
프로세서; 및
상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 이미지 복원 시스템이 제13항에 기재된 방법을 수행하도록 하는 이미지 복원 시스템.
An image restoration system,
A processor; And
A memory for storing a computer program executed by the processor,
Wherein the computer program, when executed by the processor, causes the image restoration system to perform the method of claim 13.
KR1020140146305A 2014-02-25 2014-10-27 System and method for image processing and restoring Expired - Fee Related KR101652740B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140146305A KR101652740B1 (en) 2014-10-27 2014-10-27 System and method for image processing and restoring
US14/631,769 US9560364B2 (en) 2014-02-25 2015-02-25 Encoding image data with quantizing and inverse-quantizing pixel values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140146305A KR101652740B1 (en) 2014-10-27 2014-10-27 System and method for image processing and restoring

Publications (2)

Publication Number Publication Date
KR20160049620A KR20160049620A (en) 2016-05-10
KR101652740B1 true KR101652740B1 (en) 2016-09-02

Family

ID=56020779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140146305A Expired - Fee Related KR101652740B1 (en) 2014-02-25 2014-10-27 System and method for image processing and restoring

Country Status (1)

Country Link
KR (1) KR101652740B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102291576B1 (en) * 2019-11-18 2021-08-20 김남희 Method of generating digital image basd on bigdata and apparatus performing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076120A (en) * 1999-08-31 2001-03-23 Fuji Xerox Co Ltd Image processor and method for image processing
JP2012085029A (en) 2010-10-08 2012-04-26 Fujitsu Semiconductor Ltd Image processing device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141625A (en) * 1997-07-17 1999-02-12 Mitsubishi Electric Corp Color video data compression method
KR100566122B1 (en) * 2003-09-15 2006-03-30 (주) 멀티비아 Still image compression method for mobile devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076120A (en) * 1999-08-31 2001-03-23 Fuji Xerox Co Ltd Image processor and method for image processing
JP2012085029A (en) 2010-10-08 2012-04-26 Fujitsu Semiconductor Ltd Image processing device

Also Published As

Publication number Publication date
KR20160049620A (en) 2016-05-10

Similar Documents

Publication Publication Date Title
RU2762005C2 (en) Method and device for encoding and decoding two-dimensional point clouds
US8797616B2 (en) Conversion table compression method and program
US20140072239A1 (en) Image Compression Using Sub-Resolution Images
CN105828081B (en) encoding method and encoding device
EP2955919A2 (en) Decoding method, encoder, and decoder
KR102152346B1 (en) Method and system for improving compression ratio by difference between blocks of image file
JP2019524007A (en) Video compression method and apparatus, and computer program therefor
CN111918065A (en) Information compression/decompression method and device
KR102537207B1 (en) Method for processing image based on machine learning and apparatus therefof
CN105430393B (en) Picture processing method, picture processing device, picture processing platform and storage medium
CN117915088A (en) Video processing method, video processing device, electronic equipment and computer readable storage medium
KR101100829B1 (en) System and method for lossless compression and decompression of image data.
CN111294600A (en) Compression method, decompression method and device for video sequence frame
JP6252225B2 (en) Image processing apparatus, image processing method, and image forming apparatus
CN106303226A (en) Image processing method and device
KR101652740B1 (en) System and method for image processing and restoring
EP2985995A1 (en) Information processing device, control method, program, and recording medium
KR20210097448A (en) Image data processing method and sensor device for perfoming the same
KR102264920B1 (en) Image identification apparatus, method thereof and computer readable medium having computer program recorded therefor
CN115063673B (en) Model compression method, image processing method and device and cloud equipment
US9560364B2 (en) Encoding image data with quantizing and inverse-quantizing pixel values
CN109379591A (en) Image transcoding method, electronic device, and computer-readable storage medium
CN107729387B (en) Video thumbnail selection method, storage medium and electronic device
KR20160072831A (en) Image processing system and providing method thereof
CN115150625B (en) Image processing method, system, encoding end and computer readable storage medium

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20220826

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20220826