[go: up one dir, main page]

KR102523959B1 - Image processing device and method for operating image processing device - Google Patents

Image processing device and method for operating image processing device Download PDF

Info

Publication number
KR102523959B1
KR102523959B1 KR1020180041786A KR20180041786A KR102523959B1 KR 102523959 B1 KR102523959 B1 KR 102523959B1 KR 1020180041786 A KR1020180041786 A KR 1020180041786A KR 20180041786 A KR20180041786 A KR 20180041786A KR 102523959 B1 KR102523959 B1 KR 102523959B1
Authority
KR
South Korea
Prior art keywords
component
bits
compression
data
target
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.)
Active
Application number
KR1020180041786A
Other languages
Korean (ko)
Other versions
KR20190091179A (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 US16/181,957 priority Critical patent/US10819965B2/en
Priority to SG10201810709TA priority patent/SG10201810709TA/en
Priority to TW107144252A priority patent/TWI820063B/en
Priority to CN201910039320.0A priority patent/CN110087082B/en
Publication of KR20190091179A publication Critical patent/KR20190091179A/en
Priority to US17/034,403 priority patent/US11445160B2/en
Application granted granted Critical
Publication of KR102523959B1 publication Critical patent/KR102523959B1/en
Active 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/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/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/182Methods 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 pixel

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Sewing Machines And Sewing (AREA)

Abstract

이미지 처리 장치 및 이미지 처리 장치의 동작 방법이 제공된다. 이미지 처리 장치는 제1 성분 및 제2 성분을 포함하는 이미지 데이터를 처리하는 멀티미디어 IP; 상기 멀티미디어 IP에 의해 액세스(access)되는 메모리 및; 상기 이미지 데이터에 대해 압축을 수행하여 압축 데이터를 생성하고, 압축 데이터를 상기 메모리에 저장하는 프레임 버퍼 컴프레서(Frame Buffer Compressor, FBC)를 포함하고, 상기 프레임 버퍼 컴프레서는, 상기 이미지 데이터의 상기 제1 성분과 상기 제2 성분의 압축 순서를 제어하는 압축 관리 모듈을 포함한다.An image processing device and an operating method of the image processing device are provided. The image processing apparatus includes a multimedia IP for processing image data including a first component and a second component; a memory accessed by the multimedia IP; and a Frame Buffer Compressor (FBC) configured to perform compression on the image data to generate compressed data and store the compressed data in the memory, wherein the frame buffer compressor comprises: and a compression management module for controlling a compression sequence of components and the second component.

Description

이미지 처리 장치 및 이미지 처리 장치의 동작 방법{IMAGE PROCESSING DEVICE AND METHOD FOR OPERATING IMAGE PROCESSING DEVICE}Image processing device and method of operating the image processing device {IMAGE PROCESSING DEVICE AND METHOD FOR OPERATING IMAGE PROCESSING DEVICE}

본 발명은 이미지 처리 장치 및 이미지 처리 장치의 동작 방법에 관한 것이다.The present invention relates to an image processing device and an operating method of the image processing device.

비디오 고해상도 영상 및 고프레임율(high-frame rate) 영상의 필요성이 대두되면서 이미지 처리 장치의 여러 멀티미디어 장치가 메모리에 액세스(access)되는 양 즉, 밴드위스(bandwidth)가 크게 증가하게 되었다.As the need for high-resolution video and high-frame rate video has emerged, the amount of access to memory by various multimedia devices of an image processing device, ie, bandwidth, has greatly increased.

밴드위스가 증가하게 되면 이미지 처리 장치의 처리 능력이 한계에 도달하여 비디오 영상의 녹화 및 재생 동작시에 속도가 저하되는 문제가 발생할 수 있다.When the bandwidth increases, the processing capability of the image processing device reaches its limit, and a problem in that speed decreases during recording and playback of video images may occur.

이에 따라서, 멀티미디어 장치가 메모리에 액세스할 때, 데이터의 크기를 압축하는 방식이 고려되고 있다. 예를 들어, 메모리에 데이터를 라이트(write)하기 전에 데이터를 압축(compress)하고, 메모리에서 데이터를 리드(read)하기 전에는 압축된 데이터를 압축 해제(decompress)할 수 있다.Accordingly, when a multimedia device accesses a memory, a method of compressing the size of data is being considered. For example, data may be compressed before data is written to memory, and compressed data may be decompressed before data is read from memory.

본 발명이 해결하고자 하는 기술적 과제는 압축 품질이 뛰어난 이미지 데이터 압축을 수행하는 이미지 처리 장치를 제공하는 것이다.A technical problem to be solved by the present invention is to provide an image processing apparatus that performs image data compression with excellent compression quality.

본 발명이 해결하고자 하는 다른 기술적 과제는 압축 품질이 뛰어난 이미지 데이터 압축을 수행하는 이미지 처리 장치의 동작 방법을 제공하는 것이다.Another technical problem to be solved by the present invention is to provide an operating method of an image processing apparatus that performs image data compression with excellent compression quality.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 이미지 처리 장치는, 제1 성분 및 제2 성분을 포함하는 이미지 데이터를 처리하는 멀티미디어 장치; 멀티미디어 장치에 의해 액세스(access)되는 메모리 및; 이미지 데이터에 대해 압축을 수행하여 압축 데이터를 생성하고, 압축 데이터를 메모리에 저장하는 프레임 버퍼 컴프레서(Frame Buffer Compressor, FBC)를 포함하고, 프레임 버퍼 컴프레서는, 이미지 데이터의 제1 성분과 제2 성분의 압축 순서를 제어하는 압축 관리 모듈을 포함한다.An image processing apparatus according to an embodiment of the present invention for achieving the above technical problem includes a multimedia apparatus for processing image data including a first component and a second component; memory accessed by the multimedia device; A frame buffer compressor (FBC) that performs compression on image data to generate compressed data and stores the compressed data in a memory, wherein the frame buffer compressor comprises a first component and a second component of the image data Includes a compression management module that controls the compression sequence of

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 이미지 처리 장치는, YUV 포맷을 따르는 이미지 데이터를 처리하는 멀티미디어 장치; 멀티미디어 장치에 의해 액세스되는 메모리 및; 이미지 데이터에 대해 압축을 수행하여 압축 데이터를 생성하고, 압축 데이터를 메모리에 저장하는 프레임 버퍼 컴프레서를 포함하고, 프레임 버퍼 컴프레서는, 이미지 데이터의 YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분(Chroma component)에 대한 압축이, 이미지 데이터의 YUV 포맷 중 Y 성분을 포함하는 루마 성분(Luma component)에 대한 압축보다 먼저 수행되도록 압축 순서를 제어하는 압축 관리 모듈을 포함한다.An image processing apparatus according to another embodiment of the present invention for achieving the above technical problem includes a multimedia apparatus for processing image data conforming to the YUV format; memory accessed by the multimedia device; A frame buffer compressor that performs compression on image data to generate compressed data and stores the compressed data in a memory, wherein the frame buffer compressor includes a chroma component (chroma component) including Cb and Cr components in the YUV format of the image data. and a compression management module that controls a compression sequence so that compression of a component is performed prior to compression of a luma component including a Y component among YUV formats of image data.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 이미지 처리 장치의 동작 방법은, YUV 포맷을 따르는 이미지 데이터에 대한 목표 압축률(target compression ratio)에 기반하여 총 목표 비트(total target bit)를 연산하고, YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분을 압축하기 위한 크로마 성분 목표 비트(target bit)를 연산하고, 크로마 성분 목표 비트를 할당하여 크로마 성분을 압축하고, 크로마 성분에 대한 압축 데이터의 크로마 성분 사용 비트(used bit)를 이용하여, YUV 포맷 중 Y 성분을 포함하는 루마 성분에 대한 루마 성분 목표 비트를 연산하고, 루마 성분 목표 비트를 할당하여 루마 성분을 압축하고, 루마 성분에 대한 압축 데이터의 루마 성분 사용 비트와, 크로마 성분 사용 비트의 합이 총 목표 비트 미만인 경우, 루마 성분에 대한 압축 데이터 뒤에 더미 비트(dummy bit)를 부가하는 것을 포함한다.A method of operating an image processing apparatus according to another embodiment of the present invention for achieving the above technical problem includes total target bits based on a target compression ratio for image data conforming to the YUV format. Computes chroma component target bits for compressing chroma components including Cb and Cr components in the YUV format, compresses chroma components by allocating chroma component target bits, and compresses data for chroma components Using chroma component used bits of , luma component target bits for the luma component including the Y component in the YUV format are calculated, the luma component target bits are allocated to compress the luma components, and for the luma component and adding a dummy bit after the compressed data for the luma component when the sum of the luma component used bits and the chroma component used bits of the compressed data is less than the total target bits.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

도 1 내지 도 3은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치를 설명하기 위한 블록도이다.
도 4는 도 1 내지 도 3의 프레임 버퍼 컴프레서를 세부적으로 설명하기 위한 블록도이다.
도 5는 도 4의 인코더를 세부적으로 설명하기 위한 블록도이다.
도 6은 도 4의 디코더를 세부적으로 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 420 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.
도 8은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 422 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.
도 9 내지 도 11은 본 발명의 몇몇 실시예들에 따른 YUV 420 포맷 데이터에 대한 이미지 처리 장치의 동작을 설명하기 위한 개략도이다.
도 12 내지 도 13는 본 발명의 몇몇 실시예들에 따른 YUV 422 포맷 데이터에 대한 이미지 처리 장치의 동작을 설명하기 위한 개략도이다.
도 15는 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 동작 방법을 설명하기 위한 흐름도이다.
1 to 3 are block diagrams illustrating an image processing apparatus according to some embodiments of the present invention.
4 is a block diagram for explaining the frame buffer compressor of FIGS. 1 to 3 in detail.
5 is a block diagram for explaining the encoder of FIG. 4 in detail.
FIG. 6 is a block diagram for explaining the decoder of FIG. 4 in detail.
7 is a conceptual diagram for explaining three operation modes for YUV 420 format data of an image processing apparatus according to some embodiments of the present invention.
8 is a conceptual diagram illustrating three operation modes for YUV 422 format data of an image processing apparatus according to some embodiments of the present invention.
9 to 11 are schematic diagrams for explaining an operation of an image processing apparatus for YUV 420 format data according to some embodiments of the present invention.
12 to 13 are schematic diagrams for explaining an operation of an image processing apparatus for YUV 422 format data according to some embodiments of the present invention.
15 is a flowchart illustrating an operating method of an image processing apparatus according to some embodiments of the present disclosure.

도 1 내지 도 3은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치를 설명하기 위한 블록도이다.1 to 3 are block diagrams illustrating an image processing apparatus according to some embodiments of the present invention.

도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는 멀티미디어 장치(100), 프레임 버퍼 컴프레서(Frame Buffer Compressor, FBC)(200), 메모리(300) 및 시스템 버스(400)를 포함한다.Referring to FIG. 1 , an image processing device according to some embodiments of the present invention includes a multimedia device 100, a frame buffer compressor (FBC) 200, a memory 300, and a system bus 400. do.

멀티미디어 장치(100)는 이미지 처리 장치의 이미지 처리를 직접적으로 수행하는 파트일 수 있다. 즉, 멀티미디어 장치(100)는 비디오 영상의 캠코딩(camcoding), 플레이백(play back) 등 영상의 녹화와 재생을 수행하기 위한 여러 모듈을 의미할 수 있다.The multimedia device 100 may be a part that directly performs image processing of an image processing device. That is, the multimedia device 100 may refer to various modules for performing video recording and playback, such as camcoding and playback of video images.

멀티미디어 장치(100)는 카메라 등 외부로부터 제1 데이터를 수신하여 제2 데이터로 변환시킬 수 있다. 이 때, 상기 제1 데이터는 동영상 또는 이미지 로(raw) 데이터일 수 있다. 상기 제2 데이터는 멀티미디어 장치(100)에 의해서 생성된 데이터로서 멀티미디어 장치(100)가 처리중인 데이터도 포함할 수 있다. 즉, 멀티미디어 장치(100)는 여러 단계를 거쳐 상기 제2 데이터를 메모리(300)에 저장하고, 다시 갱신하는 것을 반복할 수 있다. 상기 제2 데이터는 이러한 단계 중에 있는 모든 데이터를 포함할 수 있다. 다만, 상기 제2 데이터는 메모리(300)에 저장될 때 제3 데이터의 형태로 저장될 수 있으므로, 메모리(300)에 상기 제2 데이터는 메모리(300)에 저장되기전 또는 메모리(300)에서 리드된 이후의 데이터를 의미할 수 있다. 이에 대해서는 추후에 더 자세히 설명한다.The multimedia device 100 may receive first data from an external source such as a camera and convert it into second data. In this case, the first data may be video or image raw data. The second data is data generated by the multimedia device 100 and may also include data being processed by the multimedia device 100 . That is, the multimedia device 100 may repeat storing the second data in the memory 300 through several steps and updating again. The second data may include all data during this step. However, since the second data may be stored in the form of third data when stored in the memory 300, the second data in the memory 300 is stored before or in the memory 300. It may mean data after being read. This will be explained in more detail later.

구체적으로, 멀티미디어 장치(100)는 이미지 신호 프로세서(ISP)(110), 흔들림 보정 모듈(G2D)(120), 멀티 포맷 코덱(MFC)(130), GPU(140) 및 디스플레이(150)를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다. 즉, 멀티미디어 장치(100)는 상술한 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150) 중 적어도 일부만을 포함할 수도 있다. 즉, 멀티미디어 장치(100)는 동영상이나 이미지를 처리하기 위해서 메모리(300)에 액세스해야하는 처리 모듈을 의미할 수 있다.Specifically, the multimedia device 100 includes an image signal processor (ISP) 110, a shake correction module (G2D) 120, a multi-format codec (MFC) 130, a GPU 140, and a display 150. can do. However, this embodiment is not limited thereto. That is, the multimedia device 100 may include at least some of the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 described above. That is, the multimedia device 100 may refer to a processing module that needs to access the memory 300 to process a video or image.

이미지 신호 프로세서(110)는 상기 제1 데이터를 받아 이를 전처리하여 상기 제2 데이터로 변환시킬 수 있다. 이 때, 상기 제1 데이터는 RGB 방식의 이미지 소스 데이터일 수 있다. 예를 들어, 이미지 신호 프로세서(110)는 RGB 방식의 상기 제1 데이터를 YUV 방식의 상기 제2 데이터로 변환할 수 있다.The image signal processor 110 may receive the first data and pre-process it to convert it into the second data. In this case, the first data may be RGB type image source data. For example, the image signal processor 110 may convert the first data of RGB format into the second data of YUV format.

이 때, RGB 방식의 데이터란, 빛의 3원색을 기반으로 색을 표현한 데이터 포맷을 의미한다. 즉, 빨강(RED), 초록(GREEN), 파랑(BLUE) 세 종류의 색을 이용하여 이미지를 표현하는 방식이다. 이에 반해서, YUV 방식은 밝기 즉, 휘도(luma) 신호와 색차(chroma) 신호를 분리해서 표현하는 데이터 포맷을 의미한다. 즉, Y는 휘도 신호를 의미하고, U(Cb)와 V(Cr)는 각각 색차 신호를 의미한다. U는 휘도 신호와 청색 신호 성분의 차를 의미하고, V는 휘도 신호와 적색 신호 성분의 차를 의미한다.At this time, the data of the RGB method means a data format in which colors are expressed based on the three primary colors of light. That is, it is a method of expressing an image using three types of colors: RED, GREEN, and BLUE. In contrast, the YUV method denotes a data format that separately expresses brightness, that is, a luminance (luma) signal and a color difference (chroma) signal. That is, Y denotes a luminance signal, and U(Cb) and V(Cr) denote color difference signals, respectively. U denotes a difference between the luminance signal and the blue signal component, and V denotes a difference between the luminance signal and the red signal component.

이러한 YUV 방식의 데이터는 예를 들어, Y=0.3R+0.59G +0.11B, U=(B-Y)x0.493, V=(R-Y)x0.877와 같은 변환식을 이용하여 RGB 방식의 데이터로부터 변환되어 획득될 수 있다.The YUV method data is converted from RGB method data using conversion equations such as Y=0.3R+0.59G +0.11B, U=(B-Y)x0.493, and V=(R-Y)x0.877, for example. and can be obtained.

사람의 눈은 휘도 신호에는 민감하지만 색 신호에는 덜 민감하므로, YUV 방식의 데이터는 RGB 방식의 데이터에 비해서 압축이 더 용이할 수 있다. 이에 따라서, 이미지 신호 프로세서(110)는 RGB 방식의 상기 제1 데이터를 YUV 방식의 상기 제2 데이터로 변환할 수 있다.Since the human eye is sensitive to luminance signals but less sensitive to color signals, YUV data may be more easily compressed than RGB data. Accordingly, the image signal processor 110 may convert the first data of the RGB method into the second data of the YUV method.

이미지 신호 프로세서(110)는 상기 제1 데이터를 상기 제2 데이터로 변환한 뒤에 메모리(300)에 저장할 수 있다.The image signal processor 110 may store the first data in the memory 300 after converting the second data.

흔들림 보정 모듈(120)은 이미지 혹은 동영상 데이터의 흔들림 보정을 수행할 수 있다. 흔들림 보정 모듈(120)은 상기 제1 데이터 혹은 메모리(300)에 저장된 상기 제2 데이터를 리드(read)하여 흔들림 보정을 수행할 수 있다. 이 때, 흔들림 보정이란, 동영상 데이터에서 카메라의 흔들림을 감지하여 이를 제거하는 것을 의미한다.The shake correction module 120 may perform shake correction of image or video data. The shake correction module 120 may perform shake correction by reading the first data or the second data stored in the memory 300 . In this case, shake correction means detecting camera shake in video data and removing it.

흔들림 보정 모듈(120)은 상기 제1 데이터 또는 상기 제2 데이터의 흔들림을 보정하여 새로운 상기 제2 데이터를 생성 또는 갱신하고, 이를 메모리(300)에 저장할 수 있다.The shake correction module 120 may generate or update new second data by compensating for shake of the first data or the second data, and store it in the memory 300 .

멀티 포맷 코덱(130)은 동영상 데이터를 압축하는 코덱일 수 있다. 일반적으로, 동영상 데이터는 크기가 매우 크므로, 이의 크기를 줄이는 압축 모듈이 필요하다. 동영상 데이터는 복수의 프레임 간의 연관관계를 통해서 압축이 가능하고, 이를 수행하는 것이 멀티 포맷 코덱(130)일 수 있다. 멀티 포맷 코덱(130)은 제1 데이터 또는 메모리(300)에 저장된 상기 제2 데이터를 리드(read)하여 압축할 수 있다.The multi-format codec 130 may be a codec that compresses video data. In general, since video data is very large in size, a compression module that reduces its size is required. Video data can be compressed through association between a plurality of frames, and the multi-format codec 130 can perform this. The multi-format codec 130 may read and compress the first data or the second data stored in the memory 300 .

멀티 포맷 코덱(130)은 상기 제1 데이터 또는 상기 제2 데이터를 압축하여 새로운 제2 데이터를 생성하거나 상기 제2 데이터를 갱신하고, 이를 메모리(300)에 저장할 수 있다.The multi-format codec 130 may compress the first data or the second data to generate new second data or update the second data, and store it in the memory 300 .

GPU(Graphics Processing Unit)(140)는 이차원 혹은 3차원 그래픽의 연산 및 생성을 할 수 있다. GPU(140)는 상기 제1 데이터 혹은 메모리(300)에 저장된 상기 제2 데이터를 연산 처리할 수 있다. GPU(140) 그래픽 데이터의 처리에 특화되어 병렬적으로 그래픽 데이터를 처리할 수 있다.A graphics processing unit (GPU) 140 may calculate and generate 2D or 3D graphics. The GPU 140 may calculate and process the first data or the second data stored in the memory 300 . The GPU 140 is specialized in processing graphic data and can process graphic data in parallel.

GPU(140)는 상기 제1 데이터 또는 상기 제2 데이터를 압축하여 새로운 제2 데이터를 생성하거나 상기 제2 데이터를 갱신하고, 이를 메모리(300)에 저장할 수 있다.The GPU 140 may compress the first data or the second data to generate new second data or update the second data, and store it in the memory 300 .

디스플레이(150)는 메모리(300)에 저장된 상기 제2 데이터를 화면에 표시할 수 있다. 디스플레이(150)는 다른 멀티미디어 장치(100) 즉, 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130) 및 GPU(140)가 처리한 이미지 데이터 즉, 상기 제2 데이터를 화면에 표시할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The display 150 may display the second data stored in the memory 300 on a screen. The display 150 displays image data processed by other multimedia devices 100, that is, the image signal processor 110, the shake correction module 120, the multi-format codec 130, and the GPU 140, that is, the second data. can be displayed on the screen. However, this embodiment is not limited thereto.

멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)는 각각 개별적으로 동작할 수 있다. 즉, 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)는 각각 메모리(300)에 개별적으로 액세스하여 데이터를 라이트 또는 리드할 수 있다.The image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 may operate individually. That is, the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 can individually access the memory 300 to write or read data. there is.

프레임 버퍼 컴프레서(200)는 멀티미디어 장치(100)가 메모리(300)에 개별적으로 액세스하기 전에 상기 제2 데이터를 압축하여 상기 제3 데이터로 변환시킨다. 프레임 버퍼 컴프레서(200)는 상기 제3 데이터를 멀티미디어 장치(100)로 다시 전송하고, 멀티미디어 장치(100)는 상기 제3 데이터를 메모리(300)로 전송할 수 있다.The frame buffer compressor 200 compresses the second data and converts the second data into the third data before the multimedia device 100 individually accesses the memory 300 . The frame buffer compressor 200 may transmit the third data to the multimedia device 100 again, and the multimedia device 100 may transmit the third data to the memory 300 .

이에 따라서, 메모리(300)에는 프레임 버퍼 컴프레서(200)에 의해서 압축된 상기 제3 데이터가 저장될 수 있다. 반대로, 메모리(300)에 저장된 상기 제3 데이터는 멀티미디어 장치(100)에 의해서 로드되고, 프레임 버퍼 컴프레서(200)로 전송될 수 있다. 프레임 버퍼 컴프레서(200)는 상기 제3 데이터를 압축 해제(decompress)하여 상기 제2 데이터로 변환시킬 수 있다. 프레임 버퍼 컴프레서(200)는 상기 제2 데이터를 다시 멀티미디어 장치(100)로 전송할 수 있다.Accordingly, the third data compressed by the frame buffer compressor 200 may be stored in the memory 300 . Conversely, the third data stored in the memory 300 may be loaded by the multimedia device 100 and transmitted to the frame buffer compressor 200 . The frame buffer compressor 200 may decompress and convert the third data into the second data. The frame buffer compressor 200 may transmit the second data to the multimedia device 100 again.

즉, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)가 개별적으로 메모리(300)에 액세스할 때마다 프레임 버퍼 컴프레서(200)가 상기 제2 데이터를 상기 제3 데이터로 압축하여 메모리(300)에 전달할 수 있다. 반대로, 메모리(300)에서 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로 데이터 요청이 있을 때마다 프레임 버퍼 컴프레서(200)는 상기 제3 데이터를 상기 제2 데이터로 압축 해제하여 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로 각각 전송할 수 있다.That is, each time the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 individually access the memory 300. The frame buffer compressor 200 may compress the second data into the third data and transfer the compressed data to the memory 300 . Conversely, whenever there is a data request from the memory 300 to the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100. The frame buffer compressor 200 decompresses the third data into the second data, and the image signal processor 110, the shake compensation module 120, the multi-format codec 130, and the GPU 140 of the multimedia device 100 ) and the display 150, respectively.

메모리(300)는 프레임 버퍼 컴프레서(200)가 생성한 상기 제3 데이터를 저장하고, 저장된 상기 제3 데이터를 프레임 버퍼 컴프레서(200)가 압축 해제할 수 있도록 프레임 버퍼 컴프레서(200)에 제공할 수 있다.The memory 300 may store the third data generated by the frame buffer compressor 200 and provide the stored third data to the frame buffer compressor 200 so that the frame buffer compressor 200 can decompress the stored third data. there is.

시스템 버스(400)는 멀티미디어 장치(100)와 메모리(300)가 각각 연결될 수 있다. 구체적으로, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)는 개별적으로 시스템 버스(400)에 연결될 수 있다. 시스템 버스(400)는 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)와 메모리(300)가 서로 데이터를 전송하는 경로가 될 수 있다.The system bus 400 may connect the multimedia device 100 and the memory 300 to each other. Specifically, the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 may be individually connected to the system bus 400. there is. The system bus 400 connects the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, the display 150, and the memory 300 of the multimedia device 100 to each other. can be a path to transmit.

프레임 버퍼 컴프레서(200)는 시스템 버스(400)와는 연결되지 않고, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)가 각각 메모리에 액세스할 때 상기 제2 데이터를 상기 제3 데이터로, 상기 제3 데이터를 상기 제2 데이터로 변환시키는 작업을 할 수 있다.The frame buffer compressor 200 is not connected to the system bus 400, and the image signal processor 110 of the multimedia device 100, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display When 150 accesses the memory, respectively, the second data may be converted into the third data, and the third data may be converted into the second data.

다음으로 도 2를 참조하면, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치의 프레임 버퍼 컴프레서(200)는 시스템 버스(400)와 직접 연결될 수 있다. Referring next to FIG. 2 , the frame buffer compressor 200 of the image processing device according to some embodiments of the present invention may be directly connected to the system bus 400 .

프레임 버퍼 컴프레서(200)는 멀티미디어 장치(100)와는 직접적으로 연결되지는 않고, 시스템 버스(400)를 통해서 서로 연결될 수 있다. 구체적으로, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)가 각각 시스템 버스(400)를 통해서 프레임 버퍼 컴프레서(200)와 데이터를 서로 전송하고, 이를 통해서 메모리(300)에 데이터를 전송할 수 있다. The frame buffer compressor 200 is not directly connected to the multimedia device 100, but may be connected to each other through the system bus 400. Specifically, the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 are each connected to the frame buffer through the system bus 400. The compressor 200 and data may be transmitted to each other, and data may be transmitted to the memory 300 through this.

즉, 압축 과정에서는 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)가 각각 시스템 버스(400)를 통해서 프레임 버퍼 컴프레서(200)로 상기 제2 데이터를 전송할 수 있다. 이어서, 프레임 버퍼 컴프레서(200) 상기 제2 데이터를 상기 제3 데이터로 압축하고, 이를 다시 메모리(300)에 시스템 버스(400)를 통해서 전송할 수 있다.That is, in the compression process, the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 are connected through the system bus 400, respectively. The second data may be transmitted to the frame buffer compressor 200 . Subsequently, the frame buffer compressor 200 compresses the second data into the third data, and transmits it to the memory 300 through the system bus 400 again.

마찬가지로, 압축 해제 과정에서도 메모리(300)에 저장된 상기 제3 데이터를 시스템 버스(400)를 통해서 프레임 버퍼 컴프레서(200)가 전송받고, 이를 상기 제2 데이터로 압축 해제할 수 있다. 이어서, 프레임 버퍼 컴프레서(200)가 시스템 버스(400)를 통해서, 상기 제2 데이터를 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로 각각 전송할 수 있다.Similarly, in the decompression process, the frame buffer compressor 200 may receive the third data stored in the memory 300 through the system bus 400 and decompress it as the second data. Subsequently, the frame buffer compressor 200 transmits the second data through the system bus 400 to the image signal processor 110 of the multimedia device 100, the shake compensation module 120, the multi-format codec 130, and the GPU. 140 and the display 150 respectively.

다음으로 도 3을 참조하면, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는 메모리(300)와 시스템 버스(400)가 프레임 버퍼 컴프레서(200)를 통해서 서로 연결될 수 있다. Referring next to FIG. 3 , in an image processing device according to some embodiments of the present invention, a memory 300 and a system bus 400 may be connected to each other through a frame buffer compressor 200 .

즉, 메모리(300)는 시스템 버스(400)에 직접적으로 연결되지 못하고, 프레임 버퍼 컴프레서(200)를 통해서만 시스템 버스(400)에 연결될 수 있다. 또한, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)는 시스템 버스(400)와 직접 연결될 수 있다. 따라서, 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)는 프레임 버퍼 컴프레서(200)를 거쳐서만 메모리(300)에 액세스할 수 있다.That is, the memory 300 cannot be directly connected to the system bus 400 and can be connected to the system bus 400 only through the frame buffer compressor 200 . In addition, the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 may be directly connected to the system bus 400. Accordingly, the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100 only go through the frame buffer compressor 200 to the memory ( 300) can be accessed.

본 명세서에서 제2 데이터는 이미지 데이터(10)로, 제3 데이터는 압축 데이터(20)로도 참조하기로 한다.In this specification, the second data is also referred to as image data 10, and the third data is also referred to as compressed data 20.

도 4는 도 1 내지 도 3의 프레임 버퍼 컴프레서를 세부적으로 설명하기 위한 블록도이다.4 is a block diagram for explaining the frame buffer compressor of FIGS. 1 to 3 in detail.

도 4를 참조하면, 프레임 버퍼 컴프레서(200)는 인코더(210) 및 디코더(220)를 포함할 수 있다.Referring to FIG. 4 , the frame buffer compressor 200 may include an encoder 210 and a decoder 220 .

인코더(210)는 멀티미디어 장치(100)로부터 이미지 데이터(10)를 받아 압축 데이터(20)를 생성할 수 있다. 이 때, 이미지 데이터(10)는 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로부터 각각 전송될 수 있다. 압축 데이터(20)는 멀티미디어 장치(100) 및 시스템 버스(400)를 통해서 메모리(300)로 전송될 수 있다.The encoder 210 may receive image data 10 from the multimedia device 100 and generate compressed data 20 . At this time, the image data 10 may be transmitted from the image signal processor 110, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100, respectively. there is. The compressed data 20 may be transmitted to the memory 300 through the multimedia device 100 and the system bus 400 .

반대로, 디코더(220)는 메모리(300)에 저장된 압축 데이터(20)를 이미지 데이터(10)로 압축 해제할 수 있다. 이미지 데이터(10)는 멀티미디어 장치로 전달될 수 있다. 이 때, 이미지 데이터(10)는 멀티미디어 장치(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로 각각 전달될 수 있다.Conversely, the decoder 220 may decompress the compressed data 20 stored in the memory 300 into image data 10 . Image data 10 may be delivered to a multimedia device. At this time, the image data 10 may be transferred to the image signal processor 110, the shake compensation module 120, the multi-format codec 130, the GPU 140, and the display 150 of the multimedia device 100, respectively. there is.

도 5는 도 4의 인코더를 세부적으로 설명하기 위한 블록도이다.5 is a block diagram for explaining the encoder of FIG. 4 in detail.

도 5를 참조하면, 인코더(210)는 제1 모드 셀렉터(219), 예측 모듈(211), 양자화 모듈(213), 엔트로피 인코딩 모듈(215) 및 패딩 모듈(217)을 포함한다.Referring to FIG. 5 , the encoder 210 includes a first mode selector 219 , a prediction module 211 , a quantization module 213 , an entropy encoding module 215 and a padding module 217 .

제1 모드 셀렉터(219)는 인코더(210)가 무손실(loseless) 모드로 동작할 지, 손실(lossy) 모드로 동작할 지를 결정할 수 있다. 제1 모드 셀렉터(219)에 따라서, 인코더(210)가 무손실 모드로 동작하는 경우에는, 이미지 데이터(10)는 도 3의 무손실 경로(Lossless)를 따라서 압축되고, 인코더(210)가 손실 모드로 동작하는 경우에는, 이미지 데이터(10)는 손실 경로(Lossy)를 따라서 압축될 수 있다.The first mode selector 219 may determine whether the encoder 210 operates in a lossless mode or a lossy mode. When the encoder 210 operates in the lossless mode according to the first mode selector 219, the image data 10 is compressed along the lossless path of FIG. 3 and the encoder 210 operates in the lossy mode. In case of operation, the image data 10 may be compressed along a lossy path (Lossy).

제1 모드 셀렉터(219)는 멀티미디어 장치(100)로부터 무손실 압축을 할것인지 손실 압축을 할 것인지를 결정하는 신호를 수신할 수 있다. 이 때, 무손실 압축이란, 데이터의 손실 없이 압축하는 것을 의미하고, 데이터에 따라서 압축률이 달라지는 방식을 의미한다. 이와 달리 손실 압축이란, 데이터가 일부 손실되는 압축으로서, 무손실 압축에 비해서 압축률이 더 높고, 미리 설정한 고정된 압축률을 가질 수 있다.The first mode selector 219 may receive a signal for determining whether to perform lossless compression or lossy compression from the multimedia apparatus 100 . In this case, lossless compression means compression without loss of data, and means a method in which the compression rate varies depending on the data. On the other hand, lossy compression is compression in which data is partially lost, and has a higher compression rate than lossless compression and may have a preset, fixed compression rate.

제1 모드 셀렉터(219)는 무손실 모드인 경우에는 무손실 경로(Lossless)를 따라서, 예측 모듈(211), 엔트로피 인코딩 모듈(215) 및 패딩 모듈(217)로 이미지 데이터(10)를 유도할 수 있다. 반대로, 제1 모드 셀렉터(219)는 손실 모드인 경우에는 손실 경로(Lossy)를 따라서, 예측 모듈(211), 양자화 모듈(213) 및 엔트로피 인코딩 모듈(215)로 이미지 데이터(10)를 유도할 수 있다.In the case of the lossless mode, the first mode selector 219 may derive the image data 10 through the prediction module 211, the entropy encoding module 215, and the padding module 217 along a lossless path. . Conversely, in case of the lossy mode, the first mode selector 219 derives the image data 10 through the prediction module 211, the quantization module 213, and the entropy encoding module 215 along the loss path (Lossy). can

예측 모듈(211)은 이미지 데이터(10)를 예측 데이터와 잔차 데이터로 나누어 표현할 수 있다. 예를 들어, 하나의 픽셀이 0~255의 값을 가지고 있는 경우에는 이를 표현하기 위해서 픽셀당 8bit의 데이터가 필요할 수 있다. 이에 대해서, 인접한 픽셀이 유사한 값을 가지는 경우에는 인접한 픽셀과의 차이 즉, 잔차만을 표현하여도 데이터의 손실은 없고, 표현하기 위한 데이터 bit의 수는 대폭 감소할 수 있다. 예를 들어, (253, 254, 255)의 값을 가지는 픽셀이 연속한 경우에는 예측 데이터를 253으로 한다면, (253(예측), 1(잔차), 2(잔차))의 잔차 데이터 표현으로 충분하고, 이러한 잔차 데이터 표현을 위한 픽셀당 bit수는 2bit로 매우 작아질 수 있다.The prediction module 211 may represent the image data 10 by dividing it into prediction data and residual data. For example, when one pixel has a value of 0 to 255, 8-bit data per pixel may be required to represent it. In contrast, when adjacent pixels have similar values, there is no data loss even if only the difference between adjacent pixels, that is, the residual, is expressed, and the number of data bits to be expressed can be greatly reduced. For example, if pixels with values of (253, 254, 255) are consecutive and the prediction data is set to 253, the expression of the residual data of (253 (prediction), 1 (residual), 2 (residual)) is sufficient. And the number of bits per pixel for expressing the residual data can be very small, such as 2 bits.

따라서, 예측 모듈(211)은 이미지 데이터(10)를 예측 데이터와 잔차 데이터로 나누어 전체적인 이미지 데이터(10)의 크기를 압축할 수 있다. 물론, 예측 데이터를 무엇으로 하는지에 대해서는 여러가지 방법이 가능할 수 있다.Accordingly, the prediction module 211 may compress the size of the entire image data 10 by dividing the image data 10 into prediction data and residual data. Of course, various methods may be possible for what the prediction data is.

예측 모듈(211)은 픽셀 단위로 예측을 수행하거나, 블록 단위로 예측을 수행할 수 있다. 이 때, 블록이란 복수의 인접한 픽셀이 이루는 영역을 의미할 수 있다.The prediction module 211 may perform prediction in units of pixels or in units of blocks. In this case, a block may mean an area formed by a plurality of adjacent pixels.

양자화 모듈(213)은 예측 모듈(211)에 의해서 압축된 이미지 데이터(10)를 추가적으로 더 압축할 수 있다. 양자화 모듈(213)은 미리 설정된 양자화 계수를 통해서, 이미지 데이터(10)의 하위 비트를 제거할 수 있다. 구체적으로, 데이터를 양자화 계수를 곱함으로써 그 대표값을 선택하되, 소수점 이하를 버림으로서 손실이 발생할 수는 있다. 픽셀 데이터의 값이 0 내지 28-1(=255)사이라면, 양자화 계수는 1/(2n-1)(여기서, n은 8 이하의 정수)로 정의될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The quantization module 213 may additionally further compress the image data 10 compressed by the prediction module 211 . The quantization module 213 may remove lower bits of the image data 10 through a preset quantization coefficient. Specifically, a representative value is selected by multiplying data by a quantization coefficient, but loss may occur by discarding decimal places. If the value of pixel data is between 0 and 28-1 (= 255), the quantization coefficient may be defined as 1/(2n-1) (where n is an integer of 8 or less). However, this embodiment is not limited thereto.

이 때, 제거된 하위 비트는 추후에 복원되지 않아 손실될 수 있다. 따라서, 양자화 모듈(213)은 손실 모드에서만 활용될 수 있다. 다만 손실 모드는 무손실 모드에 비해서 압축률이 상대적으로 높을 수 있고, 미리 설정된 고정 압축률을 가질 수 있어 추후에 압축률에 대한 정보다 별도로 필요하지 않을 수 있다.In this case, the removed lower bit may be lost because it is not restored later. Thus, the quantization module 213 can only be utilized in lossy mode. However, since the lossy mode may have a relatively higher compression rate than the lossless mode and may have a preset fixed compression rate, information on the compression rate may not be separately required later.

엔트로피 인코딩 모듈(215)은 손실 모드에서의 양자화 모듈(213)에 의해서 압축된 이미지 데이터(10) 또는 무손실 모드에서의 예측 모듈(211)에 의해서 압축된 이미지 데이터(10)를 엔트로피 코딩을 통해서 압축할 수 있다. 이 때, 엔트로피 코딩은 빈도수에 따라서 비트수를 할당하는 방식을 활용할 수 있다.The entropy encoding module 215 compresses the image data 10 compressed by the quantization module 213 in the lossy mode or the image data 10 compressed by the prediction module 211 in the lossless mode through entropy coding. can do. In this case, entropy coding may utilize a method of allocating the number of bits according to the frequency.

엔트로피 인코딩 모듈(215)은 허프만 코딩(Huffman coding)을 사용하여 이미지 데이터(10)를 압축할 수 있다. 또는, 엔트로피 인코딩 모듈(215)은 익스포넨셜 골룸 코딩(exponential golomb coding) 또는 골룸 라이스 코딩(golomb rice coding)을 통해서 이미지 데이터(10)를 압축할 수 있다. 이 때, 엔트로피 인코딩 모듈(215)은 k값을 통해서 테이블을 생성할 수 있어 간단하게 이미지 데이터(10)를 압축할 수 있다.The entropy encoding module 215 may compress the image data 10 using Huffman coding. Alternatively, the entropy encoding module 215 may compress the image data 10 through exponential gollomb coding or gollomb rice coding. At this time, the entropy encoding module 215 can generate a table through the value of k, so that the image data 10 can be simply compressed.

패딩 모듈(217)은 무손실 모드에서 엔트로피 인코딩 모듈(215)에 의해서 압축된 이미지 데이터(10)에 패딩(padding)을 수행할 수 있다. 여기서, 패딩이란 특정한 크기에 맞추기 위해서 무의미한 데이터를 추가하는 것을 의미할 수 있다. 이에 대해서는 추후에 더 자세히 설명한다.The padding module 217 may perform padding on the image data 10 compressed by the entropy encoding module 215 in a lossless mode. Here, padding may mean adding meaningless data to fit a specific size. This will be explained in more detail later.

패딩 모듈(217)은 무손실 모드뿐만 아니라 손실 모드에서도 활성화될 수 있다. 손실 모드에서는 이미지 데이터(10)가 양자화 모듈(213)에 의해서 압축될 때 목적하였던 압축률보다 더 많이 압축될 수 있다. 이러한 경우에 손실 모드에서도 패딩 모듈(217)을 거쳐 압축 데이터(20)로 변환되어 메모리(300)로 전송될 수 있다.The padding module 217 can be activated in lossless mode as well as in lossy mode. In the lossy mode, when the image data 10 is compressed by the quantization module 213, it may be compressed more than a desired compression rate. In this case, even in the lossy mode, compressed data 20 may be converted through the padding module 217 and transmitted to the memory 300 .

압축 관리 모듈(218)은 이미지 데이터(10)의 제1 성분과 제2 성분의 압축 순서를 제어한다. 여기서 이미지 데이터(10)는 YUV 포맷을 따르는 이미지 데이터일 수 있다.The compression management module 218 controls the compression order of the first component and the second component of the image data 10 . Here, the image data 10 may be image data conforming to the YUV format.

이 경우 제1 모드 셀렉터(219)는 인코더(210)가 손실(lossy) 모드로 동작하는 것으로 결정하고, 이에 따라, 이미지 데이터(10)는 도 5의 손실 경로(Lossy)를 따라서 압축된다. 즉, 압축 관리 모듈(218)이 이미지 데이터(10)의 제1 성분과 제2 성분의 압축 순서를 제어하는 것은, 프레임 버퍼 컴프레서(200)가 손실 압축 알고리즘(lossy compression algorithm)을 이용하여 이미지 데이터(10)에 대한 압축을 수행하는 경우가 전제된다.In this case, the first mode selector 219 determines that the encoder 210 operates in a lossy mode, and accordingly, the image data 10 is compressed along the lossy path of FIG. 5 . That is, the compression management module 218 controls the compression order of the first component and the second component of the image data 10 so that the frame buffer compressor 200 uses a lossy compression algorithm to control the image data The case of performing compression for (10) is assumed.

구체적으로, 이미지 데이터(10)는 제1 성분 및 제2 성분을 포함할 수 있다. 여기서 제1 성분은 예컨대 YUV 포맷 중 Y 성분을 포함하는 루마 성분(Luma component)(앞서 설명한 "휘도 신호"에 대응됨)을 포함할 수 있고, 제 2 성분은 예컨대 YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분(Chroma component)(앞서 설명한 "색차 신호"에 대응됨)을 포함할 수 있다.Specifically, the image data 10 may include a first component and a second component. Here, the first component may include, for example, a luma component (corresponding to the “luminance signal” described above) including the Y component in the YUV format, and the second component may include, for example, the Cb and Cr components in the YUV format. Chroma component (corresponding to the “color difference signal” described above) may be included.

압축 관리 모듈(218)은 이미지 데이터(10)의 제1 성분과 제2 성분의 압축 순서를 결정하고, 프레임 버퍼 컴프레서(200)는 압축 관리 모듈(218)에 의해 결정된 압축 순서에 따라 제1 성분 및 제2 성분을 압축한다.The compression management module 218 determines the compression order of the first component and the second component of the image data 10, and the frame buffer compressor 200 determines the compression order of the first component according to the compression order determined by the compression management module 218. and compresses the second component.

즉, 압축 관리 모듈(218)은 이미지 데이터(10)의 제1 성분과 제2 성분의 압축 순서를 결정하면, 프레임 버퍼 컴프레서(200)는 상기 압축 순서에 따라 인코더(210)의 예측 모듈(211), 양자화 모듈(213) 및 엔트로피 인코딩 모듈(215)을 이용하여 이미지 데이터(10)를 압축한다.That is, when the compression management module 218 determines the compression order of the first component and the second component of the image data 10, the frame buffer compressor 200 performs the prediction module 211 of the encoder 210 according to the compression order. ), the quantization module 213 and the entropy encoding module 215 are used to compress the image data 10 .

이후, 프레임 버퍼 컴프레서(200)는 제1 성분에 대한 압축 데이터와 상기 제2 성분에 대한 압축 데이터를 병합하여 단일 비트 스트림을 생성하고, 생성된 단일 비트 스트림을 메모리(300)에 라이트(write)할 수 있다. 또한, 프레임 버퍼 컴프레서(200)는, 메모리(300)로부터 단일 비트 스트림을 리드(read)하고, 리드한 단일 비트 스트림을 압축 해제하여 멀티미디어 장치(100)에 제공할 수 있다.Thereafter, the frame buffer compressor 200 generates a single bit stream by merging the compressed data for the first component and the compressed data for the second component, and writes the generated single bit stream to the memory 300. can do. Also, the frame buffer compressor 200 may read a single bit stream from the memory 300, decompress the read single bit stream, and provide the read single bit stream to the multimedia device 100.

이와 같은 동작을 수행하는 압축 관리 모듈(218)에 대한 더욱 세부적인 내용은 도 9 내지 도 15를 참조하여 후술하도록 한다.Further details of the compression management module 218 performing such an operation will be described later with reference to FIGS. 9 to 15 .

도 6은 도 4의 디코더를 세부적으로 설명하기 위한 블록도이다.FIG. 6 is a block diagram for explaining the decoder of FIG. 4 in detail.

도 6을 참조하면, 디코더(220)는 제2 모드 셀렉터(229), 언패딩 모듈(227), 엔트로피 디코딩 모듈(225), 역양자화 모듈(223) 및 예측 보상 모듈(221)을 포함한다.Referring to FIG. 6 , the decoder 220 includes a second mode selector 229, an unpadding module 227, an entropy decoding module 225, an inverse quantization module 223, and a prediction compensation module 221.

제2 모드 셀렉터(229)는 메모리(300)에 저장된 압축 데이터(20)가 무손실 압축되었는지 손실 압축되었는지를 판단할 수 있다. 이 때, 제2 모드 셀렉터(229)는 헤더의 유무를 통해서 무손실 모드 및 손실 모드 중 어느 모드에 의해서 압축 데이터(20)가 압축되었는지를 판단할 수 있다. 이에 대해서는 추후에 더 자세히 설명한다.The second mode selector 229 may determine whether the compressed data 20 stored in the memory 300 is losslessly compressed or losslessly compressed. At this time, the second mode selector 229 may determine which mode among the lossless mode and the lossy mode compresses the compressed data 20 through the presence or absence of the header. This will be explained in more detail later.

제2 모드 셀렉터(229)는 무손실 모드인 경우에는 무손실 경로(Lossless)를 따라서, 언패딩 모듈(227), 엔트로피 디코딩 모듈(225) 및 예측 보상 모듈(221)로 압축 데이터(20)를 유도할 수 있다. 반대로, 제2 모드 셀렉터(229)는 손실 모드인 경우에는 손실 경로(Lossy)를 따라서, 엔트로피 디코딩 모듈(225), 역양자화 모듈(223) 및 예측 보상 모듈(221)로 압축 데이터(20)를 유도할 수 있다.In the case of the lossless mode, the second mode selector 229 derives the compressed data 20 through the unpadding module 227, the entropy decoding module 225, and the prediction compensation module 221 along the lossless path (Lossless). can Conversely, in case of the lossy mode, the second mode selector 229 converts the compressed data 20 to the entropy decoding module 225, the inverse quantization module 223, and the prediction compensation module 221 along the loss path (Lossy). can induce

언패딩 모듈(227)은 인코더(210)의 패딩 모듈(217)에 의해서 패딩된 데이터의 패딩된 부분을 제거할 수 있다.The unpadding module 227 may remove a padded portion of data padded by the padding module 217 of the encoder 210 .

엔트로피 디코딩 모듈(225)은 엔트로피 인코딩 모듈(215)에 의해서 압축된 데이터를 압축 해제할 수 있다. 엔트로피 디코딩 모듈(225)은 허프만 코딩, 익스포넨셜 골룸 코딩 또는 골룸 라이스 코딩을 통해서 압축 해제를 수행할 수 있다. 압축 데이터(20)는 k값을 포함하고 있으므로, 엔트로피 디코딩 모듈(225)은 상기 k값을 이용하여 디코딩을 수행할 수 있다.The entropy decoding module 225 may decompress data compressed by the entropy encoding module 215 . The entropy decoding module 225 may perform decompression through Huffman coding, exponential Gollum coding, or Gollum-Rice coding. Since the compressed data 20 includes the k value, the entropy decoding module 225 may perform decoding using the k value.

역양자화 모듈(223)은 양자화 모듈(213)에 의해서 압축된 데이터를 압축 해제할 수 있다. 역양자화 모듈(223)은 양자화 모듈(213)에서 정해진 양자화 계수를 이용하여 압축된 압축 데이터(20)를 복원할 수 있으나, 압축 과정에서 손실된 부분까지 완벽하게 복원할 수는 없다. 따라서, 역양자화 모듈(223)은 손실 모드에서만 활용될 수 있다.The inverse quantization module 223 may decompress data compressed by the quantization module 213 . The inverse quantization module 223 can restore the compressed data 20 using the quantization coefficient determined by the quantization module 213, but cannot completely restore even a portion lost in the compression process. Thus, the inverse quantization module 223 can only be utilized in lossy mode.

예측 보상 모듈(221)은 예측 모듈(211)에 의해서 예측 데이터와 잔차 데이터로 표현된 데이터를 복원할 수 있다. 예측 보상 모듈(221)은 예를 들어, (253(예측), 1(잔차), 2(잔차))의 잔차 데이터 표현을 (253, 254, 255)으로 변환시킬 수 있다.The prediction compensation module 221 may restore data expressed by the prediction module 211 as prediction data and residual data. For example, the prediction compensation module 221 may convert the residual data representation of (253 (prediction), 1 (residual), 2 (residual)) to (253, 254, 255).

예측 보상 모듈(221)은 예측 모듈(211)에 따라 픽셀 단위 또는 블록 단위로 수행된 예측을 복원할 수 있다. 이에 따라서, 압축 데이터(20)가 복원 혹은 압축 해제되어 멀티미디어 장치(100)로 전송될 수 있다.The prediction compensation module 221 may reconstruct prediction performed in units of pixels or units of blocks according to the prediction module 211 . Accordingly, the compressed data 20 may be restored or decompressed and transmitted to the multimedia device 100 .

압축 해제 관리 모듈(228)은 도 5와 관련하여 앞서 설명한 압축 관리 모듈(218)이 이미지 데이터(10)의 압축을 수행하기 위해 결정했던 제1 성분과 제2 성분의 압축 순서가, 압축 데이터(20)를 압축 해제할 때에 적절하게 반영될 수 있는 작업을 수행할 수 있다.The decompression management module 228 determines the compression order of the first component and the second component determined by the compression management module 218 described above with reference to FIG. 5 to compress the image data 10, the compressed data ( 20) can be properly reflected when decompressing.

본 발명의 몇몇 실시예에 따른 이미지 처리 장치의 이미지 데이터(10)는 YUV 방식의 데이터일 수 있다. 이 때, YUV 방식의 데이터는 YUV 420 포맷과 YUV 422 포맷을 가질 수 있다.The image data 10 of the image processing device according to some embodiments of the present invention may be YUV type data. At this time, the data of the YUV method may have a YUV 420 format and a YUV 422 format.

도 7은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 420 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.7 is a conceptual diagram for explaining three operation modes for YUV 420 format data of an image processing apparatus according to some embodiments of the present invention.

도 1 내지 도 7을 참조하면, 프레임 버퍼 컴프레서(200)의 인코더(210) 및 디코더(220)는 3가지 동작 모드를 가질 수 있다. YUV 420 포맷의 이미지 데이터(10)는 16 x 16 크기의 휘도 신호 블록(Y)과 각각 8 x 8 크기의 제1 색차 신호 블록(Cb 또는 U) 및 제2 색차 신호 블록(Cr 또는 V)을 가질 수 있다. 여기서 각각의 블록의 크기는 몇 개의 행과 열로 정렬된 픽셀을 포함하는지를 의미하고, 16 x 16의 크기는 16개의 행과 16개의 열을 가지는 복수의 픽셀들이 구성하는 블록의 크기를 의미한다.Referring to FIGS. 1 to 7 , the encoder 210 and the decoder 220 of the frame buffer compressor 200 may have three operation modes. The image data 10 in the YUV 420 format includes a luminance signal block (Y) having a size of 16 x 16, a first color difference signal block (Cb or U) and a second color difference signal block (Cr or V) each having a size of 8 x 8. can have Here, the size of each block means how many rows and columns the pixels are arranged in, and the size of 16 x 16 means the size of a block composed of a plurality of pixels having 16 rows and 16 columns.

프레임 버퍼 컴프레서(200)는 ①연결 모드(Concatenation mode), ②일부 연결 모드(Partial concatenation mode) 및 ③분리 모드(Separation mode)의 3가지 동작 모드를 포함할 수 있다. 이러한 3가지 모드는 데이터의 압축 포맷에 대한 것으로서, 손실 모드 및 무손실 모드와 별개로 정해지는 동작 모드일 수 있다.The frame buffer compressor 200 may include three operation modes: ① Concatenation mode, ② Partial concatenation mode, and ③ Separation mode. These three modes relate to the compression format of data, and may be operation modes determined separately from the lossy mode and the lossless mode.

먼저, 연결 모드(①)는 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)을 모두 같이 압축하고 압축 해제하는 동작 모드이다. 즉, 연결 모드(①)에서는 도 5와 같이 압축의 단위 블록이 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록일 수 있다. 이에 따라서, 압축의 단위 블록의 크기는 16 x 24일 수 있다.First, the connection mode (①) is an operation mode in which the luminance signal block (Y), the first color difference signal block (Cb), and the second color difference signal block (Cr) are all compressed and decompressed. That is, in the connection mode (①), as shown in FIG. 5, a compression unit block may be a block in which a luminance signal block (Y), a first color difference signal block (Cb), and a second color difference signal block (Cr) are combined. Accordingly, the size of the compression unit block may be 16 x 24.

일부 연결 모드(②)는 휘도 신호 블록(Y)은 별도로 압축 및 압축 해제되지만, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)은 서로 결합하여 같이 압축 및 압축 해제될 수 있다. 이에 따라서, 휘도 신호 블록(Y)은 원래 크기 그대로 16 x 16이고, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)이 결합된 블록은 16 x 8일 수 있다.In some connection modes (②), the luminance signal block (Y) is compressed and decompressed separately, but the first color difference signal block (Cb) and the second color difference signal block (Cr) can be combined and compressed and decompressed together. . Accordingly, the luminance signal block Y may have an original size of 16x16, and a block in which the first color difference signal block Cb and the second color difference signal block Cr are combined may have a size of 16x8.

분리 모드(③)는 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)을 모두 별도로 압축 및 압축 해제하는 동작 모드이다. 이 때, 압축 및 압축 해제의 단위 블록의 크기를 동일하게 하기 위해서, 휘도 신호 블록(Y)은 원래 크기인 16 x 16로 유지하되, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)은 16 x 16의 크기로 크게할 수 있다.Separation mode (③) is an operation mode in which the luminance signal block (Y), the first color difference signal block (Cb), and the second color difference signal block (Cr) are separately compressed and decompressed. At this time, in order to make the size of the compression and decompression unit blocks the same, the luminance signal block (Y) is maintained in its original size of 16 x 16, but the first color difference signal block (Cb) and the second color difference signal block ( Cr) can be enlarged to a size of 16 x 16.

이에 따라서, 휘도 신호 블록(Y)의 개수가 N개이면, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)의 개수는 각각 N/4개로 줄어들 수 있다.Accordingly, if the number of luminance signal blocks Y is N, the number of first color difference signal blocks Cb and second color difference signal blocks Cr may be reduced to N/4, respectively.

본 발명의 몇몇 실시예에 따른 이미지 처리 장치의 프레임 버퍼 컴프레서(200)가 연결 모드(①)로 동작하는 경우에는 메모리(300)에 대한 한번의 액세스 요청을 통해서 필요한 모든 데이터를 리드할 수 있다. 특히, 멀티미디어 장치(100)에서 YUV 방식이 아닌 RGB 방식의 데이터가 필요한 경우에는 연결 모드(①)로 동작하는 것이 유리하다. 왜냐하면, 연결 모드(①)에서 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)을 한꺼번에 획득할 수 있고, RGB 데이터를 획득하기 위해서는 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 모두 필요하기 때문이다.When the frame buffer compressor 200 of the image processing device according to some embodiments of the present invention operates in the connection mode (①), all necessary data can be read through a single access request to the memory 300. In particular, when the multimedia device 100 requires data of the RGB method rather than the YUV method, it is advantageous to operate in the connection mode (①). This is because the luminance signal block (Y), the first color difference signal block (Cb), and the second color difference signal block (Cr) can be acquired at once in the connection mode (①), and in order to obtain RGB data, the luminance signal block (Y ), the first color difference signal block Cb and the second color difference signal block Cr are all required.

이에 반해서, 분리 모드(③)는 압축 단위 블록이 연결 모드(①)에 비해서 작아지면 더 낮은 하드웨어 리소스를 요구할 수 있다. 따라서, 멀티미디어 장치(100)에서 RGB 방식이 아닌 YUV 방식의 데이터가 필요할 때는 분리 모드(③)가 더 유리할 수 있다.In contrast, the separation mode (③) may require lower hardware resources if the compression unit block is smaller than that of the concatenation mode (①). Accordingly, when the multimedia device 100 requires YUV data rather than RGB data, the separation mode (③) may be more advantageous.

마지막으로, 일부 연결 모드(②)는 연결 모드(①)와 분리 모드(③)를 절충한 모드로서, 연결 모드(①)에 비해서는 낮은 하드웨어 리소스를 요구하고, RGB 데이터가 필요한 경우에도 메모리(300)에 대한 액세스 요청이 분리 모드(③)에 비해서 적은 횟수(2회)로 가능할 수 있다.Finally, some connection modes (②) are modes that compromise between connection mode (①) and separation mode (③), and require lower hardware resources compared to connection mode (①), and even when RGB data is required, memory ( 300) may be requested a smaller number of times (twice) than in the separation mode (③).

제1 모드 셀렉터(219)는 3개의 모드 즉, 연결 모드(①), 일부 연결 모드(②) 및 분리 모드(③) 중 어느 모드로 이미지 데이터(10)를 압축할 것인지를 결정할 수 있다. 제1 모드 셀렉터(219)는 연결 모드(①), 일부 연결 모드(②) 및 분리 모드(③) 중 어느 모드로 동작할지에 대한 신호를 멀티미디어 장치(100)에게 제공받을 수 있다.The first mode selector 219 may determine which of three modes to compress the image data 10 in: a connection mode (①), a partial connection mode (②), and a separation mode (③). The first mode selector 219 may receive from the multimedia apparatus 100 a signal indicating in which mode to operate among connection mode (①), partial connection mode (②), and disconnection mode (③).

제2 모드 셀렉터(229)는 제1 모드 셀렉터(219)가 연결 모드(①), 일부 연결 모드(②) 및 분리 모드(③) 중 어느 모드로 압축하였는지에 따라서 압축 데이터(20)를 압축 해제할 수 있다.The second mode selector 229 decompresses the compressed data 20 according to which mode the first mode selector 219 compresses in connection mode (①), partial connection mode (②), and separation mode (③). can

도 8은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 422 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.8 is a conceptual diagram illustrating three operation modes for YUV 422 format data of an image processing apparatus according to some embodiments of the present invention.

도 1 내지 도 6 및 도 8을 참조하면, 프레임 버퍼 컴프레서(200)의 인코더(210) 및 디코더(220)는 YUV 422 포맷에 대해서도 3가지 동작 모드를 가질 수 있다. YUV 422 포맷의 이미지 데이터(10)는 16 x 16 크기의 휘도 신호 블록(Y)과 각각 16 x 8 크기의 제1 색차 신호 블록(Cb 또는 U) 및 제2 색차 신호 블록(Cr 또는 V)을 가질 수 있다. Referring to FIGS. 1 to 6 and 8 , the encoder 210 and decoder 220 of the frame buffer compressor 200 may have three operation modes even for the YUV 422 format. The image data 10 in the YUV 422 format includes a 16x16 luminance signal block (Y), a 16x8 size first color difference signal block (Cb or U) and a second color difference signal block (Cr or V), respectively. can have

연결 모드(①)에서는 압축의 단위 블록이 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록일 수 있다. 이에 따라서, 압축의 단위 블록의 크기는 16 x 32일 수 있다.In the connection mode (①), a compression unit block may be a block in which a luminance signal block (Y), a first color difference signal block (Cb), and a second color difference signal block (Cr) are combined. Accordingly, the size of a compression unit block may be 16 x 32.

일부 연결 모드(②)는 휘도 신호 블록(Y)은 별도로 압축 및 압축 해제되지만, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)은 서로 결합하여 같이 압축 및 압축 해제될 수 있다. 이에 따라서, 휘도 신호 블록(Y)은 원래 크기 그대로 16 x 16이고, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)이 결합된 블록은 16 x 16일 수 있다. 따라서, 휘도 신호 블록(Y)과 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)이 결합된 블록의 크기가 동일할 수 있다.In some connection modes (②), the luminance signal block (Y) is compressed and decompressed separately, but the first color difference signal block (Cb) and the second color difference signal block (Cr) can be combined and compressed and decompressed together. . Accordingly, the luminance signal block Y may have an original size of 16x16, and a block in which the first color difference signal block Cb and the second color difference signal block Cr are combined may have a size of 16x16. Accordingly, blocks in which the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr are combined may have the same size.

분리 모드(③)는 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)을 모두 별도로 압축 및 압축 해제하는 동작 모드이다. 이 때, 압축 및 압축 해제의 단위 블록의 크기를 동일하게 하기 위해서, 휘도 신호 블록(Y)은 원래 크기인 16 x 16로 유지하되, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)은 16 x 16의 크기로 크게할 수 있다.Separation mode (③) is an operation mode in which the luminance signal block (Y), the first color difference signal block (Cb), and the second color difference signal block (Cr) are separately compressed and decompressed. At this time, in order to make the size of the compression and decompression unit blocks the same, the luminance signal block (Y) is maintained in its original size of 16 x 16, but the first color difference signal block (Cb) and the second color difference signal block ( Cr) can be enlarged to a size of 16 x 16.

이에 따라서, 휘도 신호 블록(Y)의 개수가 N개이면, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)의 개수는 각각 N/2개로 줄어들 수 있다.Accordingly, if the number of luminance signal blocks Y is N, the number of first color difference signal blocks Cb and second color difference signal blocks Cr may be reduced to N/2, respectively.

이제 도 9 내지 도 15를 참조하여, 앞서 설명한 이미지 처리 장치의 동작을 설명하도록 한다. 이하 설명하는 이미지 처리 장치의 동작은 도 7 및 도 8과 관련하여 앞서 설명한 연결 모드(①)에서 수행될 수 있다.Now, with reference to FIGS. 9 to 15 , operations of the image processing device described above will be described. An operation of the image processing device described below may be performed in the connection mode (①) described above with reference to FIGS. 7 and 8 .

도 9 내지 도 11은 본 발명의 몇몇 실시예들에 따른 YUV 420 포맷 데이터에 대한 이미지 처리 장치의 동작을 설명하기 위한 개략도이다.9 to 11 are schematic diagrams for explaining an operation of an image processing apparatus for YUV 420 format data according to some embodiments of the present invention.

도 9 및 도 10은, 이미지 데이터(10)가 YUV 420 포맷을 따르는 경우, 이미지 데이터(10)에 대한 목표 압축률(target compression ratio)은 50 %이고, 컬러 뎁스(color depth)는 8 비트인 경우를 도시하고 있다.9 and 10, when the image data 10 conforms to the YUV 420 format, the target compression ratio for the image data 10 is 50%, and the color depth is 8 bits. is showing

도 9를 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(510Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(510Cb) 및 Cr 평면(510Cr)에 해당한다.Referring to FIG. 9 , the first component of the image data 10, that is, the luma component, corresponds to the Y plane 510Y of the image data 10, and the second component, that is, the chroma component of the image data 10 corresponds to the image data 10. Corresponds to the Cb plane (510Cb) and the Cr plane (510Cr) of data (10).

Y 평면(510Y)의 경우, 목표 압축률이 50 % 이고 컬러 뎁스가 8 비트이므로, 루마 성분 목표 비트(target bit)는 다음과 같이 연산될 수 있다.In the case of the Y plane 510Y, since the target compression ratio is 50% and the color depth is 8 bits, the luma component target bits can be calculated as follows.

루마 성분 목표 비트 = 16 X 16 X 8 X 0.5 비트 = 128 X 8 비트Luma component target bits = 16 X 16 X 8 X 0.5 bits = 128 X 8 bits

Cb 평면(510Cb) 및 Cr 평면(510Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.In the case of the Cb plane 510Cb and the Cr plane 510Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows.

Cb 평면 성분 목표 비트 = 8 X 8 X 8 X 0.5 비트 = 32 X 8 비트Cb plane component target bits = 8 X 8 X 8 X 0.5 bits = 32 X 8 bits

Cr 평면 성분 목표 비트 = 8 X 8 X 8 X 0.5 비트 = 32 X 8 비트Cr plane component target bits = 8 X 8 X 8 X 0.5 bits = 32 X 8 bits

이에 따라, Cb 평면 성분 목표 비트와 Cr 평면 성분 목표 비트를 합한 크로마 성분 목표 비트는 64 X 8 비트가 된다.Accordingly, the chroma component target bits obtained by adding the Cb plane component target bits and the Cr plane component target bits become 64 X 8 bits.

이와 같이 연산된 목표 비트에 따라 루마 성분과 크로마 성분을 압축하게 되면 루마 성분과 크로마 성분 모두에 대해 서로 동일한 50 %의 압축률로 압축을 하는 셈이 된다.When the luma component and the chroma component are compressed according to the calculated target bit, it is equivalent to compressing both the luma component and the chroma component at the same compression ratio of 50%.

압축 결과에 해당하는 압축 비트 스트림(512)은 예컨대 Y 성분 비트 스트림(512Y), Cb 성분 비트 스트림(512Cb), Cr 성분 비트 스트림(512Cr)의 순서를 갖는 단일 비트 스트림으로서 형성될 수 있다. 그러나 본 발명의 범위는 이에 제한되지 않으며, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(512)을 생성할 수 있다. 즉, 압축 비트 스트림(512) 내에서의 Y 성분 비트 스트림(512Y), Cb 성분 비트 스트림(512Cb), Cr 성분 비트 스트림(512Cr)의 순서는 도 9에 도시된 것과 다를 수 있다.The compressed bit stream 512 corresponding to the compression result may be formed as a single bit stream having, for example, the order of the Y component bit stream 512Y, the Cb component bit stream 512Cb, and the Cr component bit stream 512Cr. However, the scope of the present invention is not limited thereto, and the frame buffer compressor 200 may compress the first component (eg luma component) and the second component (eg chroma component) in an arbitrary order different from the compression order. The compressed bit stream 512 may be generated by merging the compressed data with the compressed data for the second component. That is, the order of the Y component bit stream 512Y, the Cb component bit stream 512Cb, and the Cr component bit stream 512Cr in the compressed bit stream 512 may be different from that shown in FIG. 9 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙(interleaving) 병합하여 압축 비트 스트림(512)을 생성할 수 있다. 즉, 압축 비트 스트림(512) 내에서 Y 성분 비트 스트림(512Y), Cb 성분 비트 스트림(512Cb), Cr 성분 비트 스트림(512Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 generates a compressed bit stream 512 by interleaving and merging compressed data for a first component and compressed data for a second component. can That is, in the compressed bit stream 512, the Y component bit stream 512Y, the Cb component bit stream 512Cb, and the Cr component bit stream 512Cr are repeated for each pixel unit of the image data 10, for example, Y, Cb, Bit streams of Cr components may be generated in a mixed form in any order.

예를 들어, 압축 비트 스트림(512)은 이미지 데이터(10)의 제1 픽셀에 대한 Y 성분 비트 스트림, 상기 제1 픽셀에 대한 Cb 성분 비트 스트림, 상기 제1 픽셀에 대한 Cr 성분 비트 스트림, 이미지 데이터(10)의 제2 픽셀에 대한 Y 성분 비트 스트림, 상기 제2 픽셀에 대한 Cb 성분 비트 스트림, 상기 제2 픽셀에 대한 Cr 성분 비트 스트림이 이어지는 순서로 인터리빙 병합될 수 있으며, Y, Cb, Cr 성분의 인터리빙 순서 역시 임의의 순서로 결정될 수 있다.For example, the compressed bit stream 512 may include a Y component bit stream for a first pixel of image data 10, a Cb component bit stream for the first pixel, a Cr component bit stream for the first pixel, an image The Y component bit stream for the second pixel of the data 10, the Cb component bit stream for the second pixel, and the Cr component bit stream for the second pixel may be interleaved and merged in the following order, Y, Cb, The interleaving order of Cr components may also be determined in an arbitrary order.

일반적으로 사람의 눈은 색상보다 밝기의 변화에 더 민감하다. 따라서 YUV 포맷을 따르는 이미지 데이터(10)에 있어서 크로마 성분보다는 루마 성분의 중요도가 더 높다고 할 수 있다.In general, the human eye is more sensitive to changes in brightness than color. Therefore, it can be said that the importance of the luma component is higher than that of the chroma component in the image data 10 conforming to the YUV format.

그런데 YUV 포맷을 따르는 이미지 데이터(10)를 압축하는 경우, 크로마 성분의 픽셀 상호 연관도(pixel correlation)가 루마 성분보다 높기 때문에, 예측이 더 수월하게 이루어지고, 이에 따라 크로마 성분의 압축 효율이 루마 성분보다 더 높게 나오게 된다.However, when image data 10 conforming to the YUV format is compressed, since the pixel correlation of chroma components is higher than that of luma components, prediction is made more easily, and thus the compression efficiency of chroma components is improved. It comes out higher than the ingredients.

따라서 이미지 데이터(10)를 압축한 압축 데이터(20)의 압축 품질을 더 높이기 위해서는, 압축 효율이 낮은 루마 성분에 압축 효율이 좋은 크로마 성분보다 더 많은 비트를 할당함으로써, 루마 성분에 대한 압축률을 상대적으로 높이는 방법을 고려할 수 있다.Therefore, in order to further increase the compression quality of the compressed data 20 obtained by compressing the image data 10, more bits are allocated to the luma component with low compression efficiency than the chroma component with high compression efficiency, so that the compression rate for the luma component is relatively increased. How to increase it can be considered.

이제 도 10을 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(520Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(520Cb) 및 Cr 평면(520Cr)에 해당한다.Referring now to FIG. 10 , the first component of the image data 10, that is, the luma component, corresponds to the Y plane 520Y of the image data 10, and the second component, that is, the chroma component of the image data 10, Corresponds to the Cb plane 520Cb and the Cr plane 520Cr of the image data 10 .

본 실시예에서, 압축 관리 모듈(218)은 프레임 버퍼 컴프레서(200)가 크로마 성분을 먼저 압축한 후, 루마 성분을 압축하도록 압축 순서를 제어한다. 이를 위해, 압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전에, 먼저 크로마 성분 목표 비트를 연산한다.In this embodiment, the compression management module 218 controls the compression order such that the frame buffer compressor 200 compresses the chroma component first and then the luma component. To this end, the compression management module 218 first calculates the chroma component target bits before calculating the luma component target bits.

Cb 평면(520Cb) 및 Cr 평면(520Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.In the case of the Cb plane 520Cb and the Cr plane 520Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows, respectively.

Cb 평면 성분 목표 비트 = 8 X 8 X 8 X 0.5 비트 = 32 X 8 비트Cb plane component target bits = 8 X 8 X 8 X 0.5 bits = 32 X 8 bits

Cr 평면 성분 목표 비트 = 8 X 8 X 8 X 0.5 비트 = 32 X 8 비트Cr plane component target bits = 8 X 8 X 8 X 0.5 bits = 32 X 8 bits

압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전, 크로마 성분 목표 비트를 할당하여 크로마 성분에 대한 압축을 먼저 수행한다. 구체적으로 압축 관리 모듈(218)은, 크로마 성분 사용 비트(used bit)가 크로마 목표 비트보다 적으면서도 가장 가까운 값이 되도록 QP 값 및 엔트로피 k값을 결정하여 크로마 성분에 대한 압축을 수행한다.The compression management module 218 first performs compression on chroma components by allocating chroma component target bits before calculating luma component target bits. Specifically, the compression management module 218 performs compression on the chroma component by determining the QP value and the entropy k value so that the chroma component used bits are smaller than the chroma target bits and are closest to each other.

그 결과, Cb 평면 성분에 대한 압축에 28 X 8 비트가 사용되고, Cb 평면 성분에 대한 압축에 30 X 8 비트가 사용되었다고 가정하자. 즉, 본 실시예에서, 크로마 성분 사용 비트((28 + 30) X 8 비트)는 크로마 성분 목표 비트((32 +32) X 8 비트)보다 적다.As a result, assume that 28 X 8 bits are used for compression of the Cb plane component and 30 X 8 bits are used for compression of the Cb plane component. That is, in this embodiment, chroma component use bits ((28 + 30) X 8 bits) are less than chroma component target bits ((32 +32) X 8 bits).

압축 관리 모듈(218)은 이와 같은 크로마 성분에 대한 압축 데이터의 크로마 성분 사용 비트를 이용하여 상기 루마 성분에 대한 루마 성분 목표 비트를 연산한다.The compression management module 218 calculates luma component target bits for the luma component using the chroma component use bits of the compressed data for the chroma component.

이제 압축 관리 모듈(218)은 루마 성분 목표 비트를 다음과 같이 연산할 수 있다.The compression management module 218 can now compute the luma component target bits as follows.

루마 성분 목표 비트 = 총 목표 비트(total target bit) - 크로마 성분 사용 비트 = 192 X 8 비트 - (28 + 30) X 8 비트 = 132 X 8 비트Luma component target bits = total target bits - chroma component used bits = 192 X 8 bits - (28 + 30) X 8 bits = 132 X 8 bits

여기서 총 목표 비트는 16 X 16 사이즈의 Y 평면(520Y), 8 X 8 사이즈의 Cb 평면(520Cb) 및 8 X 8 사이즈의 Cr 평면(520Cr)의 경우, 총 (16 + 8) X 16 X 0.5 = 192의 사이즈에 컬러 뎁스 값 8을 곱한 값이다. 그리고 0.5는 목표 압축률을 의미한다.Here, the total target bits are (16 + 8) X 16 X 0.5 in the case of a 16 X 16 Y plane (520Y), an 8 X 8 Cb plane (520Cb), and an 8 X 8 Cr plane (520Cr). = The size of 192 multiplied by the color depth value of 8. And 0.5 means the target compression ratio.

압축 관리 모듈(218)은 이와 같이 연산된 루마 성분 목표 비트를 할당하여 루마 성분에 대한 압축을 수행한다.The compression management module 218 assigns the calculated luma component target bits to perform compression on the luma component.

본 실시예에 따르면, 도 9의 128 비트의 Y 성분 비트 스트림(512Y), 32 비트의 Cb 성분 비트 스트림(512Cb) 및 32 비트의 Cr 성분 비트 스트림(512Cr)을 포함하는 압축 비트 스트림(512)과 달리, 28 비트의 Cb 성분 비트 스트림(522Cb), 30 비트의 Cr 성분 비트 스트림(522Cr) 및 134 비트의 Y 성분 비트 스트림(522Y)을 포함하는 압축 비트 스트림(522)이 압축 결과가 된다.According to this embodiment, a compressed bit stream 512 comprising a 128-bit Y component bit stream 512Y, a 32-bit Cb component bit stream 512Cb, and a 32-bit Cr component bit stream 512Cr of FIG. Unlike , the compression result is a compressed bit stream 522 comprising a 28-bit Cb component bit stream 522Cb, a 30-bit Cr component bit stream 522Cr, and a 134-bit Y component bit stream 522Y.

앞서 설명한 바와 같이, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(522)을 생성할 수 있다. 즉, 압축 비트 스트림(522) 내에서의 Y 성분 비트 스트림(522Y), Cb 성분 비트 스트림(522Cb), Cr 성분 비트 스트림(522Cr)의 순서는 도 10에 도시된 것과 다를 수 있다.As described above, the frame buffer compressor 200 compresses data for the first component and compresses the second component in an arbitrary order different from the compression order for the first component (eg, luma component) and the second component (eg, chroma component). A compressed bit stream 522 may be generated by merging compressed data for . That is, the order of the Y component bit stream 522Y, the Cb component bit stream 522Cb, and the Cr component bit stream 522Cr in the compressed bit stream 522 may be different from that shown in FIG. 10 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙 병합하여 압축 비트 스트림(522)을 생성할 수 있다. 즉, 압축 비트 스트림(522) 내에서 Y 성분 비트 스트림(522Y), Cb 성분 비트 스트림(522Cb), Cr 성분 비트 스트림(522Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.이와 같이, 동일한 총 목표 비트 내에서, 중요도가 높고 압축 효율이 상대적으로 낮은 루마 성분에 더 많은 비트를 할당하고, 비교적 그렇지 않은 크로마 성분에 더 적은 비트를 할당함으로써, 이미지 데이터(10)를 압축한 압축 데이터(20)의 압축 품질을 향상시킬 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 may generate the compressed bit stream 522 by interleaving and merging the compressed data for the first component and the compressed data for the second component. That is, in the compressed bit stream 522, the Y component bit stream 522Y, the Cb component bit stream 522Cb, and the Cr component bit stream 522Cr are repeated for each pixel unit of the image data 10, for example, Y, Cb, Bit streams of Cr components can be generated in a mixed form in any order. In this way, within the same total target bits, more bits are allocated to luma components that have high importance and relatively low compression efficiency, and By allocating fewer bits to the undefined chroma components, the compression quality of the compressed data 20 obtained by compressing the image data 10 may be improved.

다음으로, 도 11을 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(530Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(530Cb) 및 Cr 평면(530Cr)에 해당한다.Next, referring to FIG. 11 , the first component of the image data 10, that is, the luma component, corresponds to the Y plane 530Y of the image data 10, and the second component of the image data 10, that is, the chroma component. The components correspond to the Cb plane 530Cb and the Cr plane 530Cr of the image data 10 .

본 실시예에서, 압축 관리 모듈(218)은 프레임 버퍼 컴프레서(200)가 크로마 성분을 먼저 압축한 후, 루마 성분을 압축하도록 압축 순서를 제어한다. 이를 위해, 압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전에, 먼저 크로마 성분 목표 비트를 연산한다. 그런데 도 10의 실시예와 다른 점은, 압축 관리 모듈(218)은 사전에 크로마 성분에 대한 압축률을 50 %보다 적은 예컨대 40.625 %로 설정할 수 있다.In this embodiment, the compression management module 218 controls the compression order such that the frame buffer compressor 200 compresses the chroma component first and then the luma component. To this end, the compression management module 218 first calculates the chroma component target bits before calculating the luma component target bits. However, unlike the embodiment of FIG. 10 , the compression management module 218 may set the compression ratio of the chroma component to less than 50%, for example, 40.625% in advance.

이에 따라 Cb 평면(530Cb) 및 Cr 평면(530Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.Accordingly, in the case of the Cb plane 530Cb and the Cr plane 530Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows.

Cb 평면 성분 목표 비트 = 8 X 8 X 8 X 0.40625 비트 = 26 X 8 비트Cb plane component target bits = 8 X 8 X 8 X 0.40625 bits = 26 X 8 bits

Cr 평면 성분 목표 비트 = 8 X 8 X 8 X 0.40625 비트 = 26 X 8 비트Cr plane component target bits = 8 X 8 X 8 X 0.40625 bits = 26 X 8 bits

압축 관리 모듈(218)은 예컨대 40.625 %로 사전 설정된 압축률에 따라 크로마 성분에 대한 압축을 먼저 수행한다. 구체적으로 압축 관리 모듈(218)은, 상기 사전 설정된 압축률에 따르도록 QP 값 및 엔트로피 k값을 결정하여 크로마 성분에 대한 압축을 수행한다. 그 결과, Cb 평면 성분에 대한 압축에 26 X 8 비트가 사용되고, Cb 평면 성분에 대한 압축에 26 X 8 비트가 사용되었다.The compression management module 218 first performs compression on chroma components according to a preset compression rate, for example, 40.625%. Specifically, the compression management module 218 performs compression on chroma components by determining a QP value and an entropy k value according to the preset compression rate. As a result, 26 X 8 bits are used for compression of the Cb plane component, and 26 X 8 bits are used for compression of the Cb plane component.

이제 압축 관리 모듈(218)은 루마 성분 목표 비트를 다음과 같이 연산할 수 있다.The compression management module 218 can now compute the luma component target bits as follows.

루마 성분 목표 비트 = 총 목표 비트- 사전 설정된 압축률에 따른 크로마 성분 목표 비트 = 192 X 8 비트 - (26 + 26) X 8 비트 = 140 X 8 비트Luma component target bits = Total target bits - Chroma component target bits according to preset compression rate = 192 X 8 bits - (26 + 26) X 8 bits = 140 X 8 bits

여기서 총 목표 비트는 16 X 16 사이즈의 Y 평면(530Y), 8 X 8 사이즈의 Cb 평면(530Cb) 및 8 X 8 사이즈의 Cr 평면(530Cr)의 경우, 총 (16 + 8) X 16 X 0.5 = 192의 사이즈에 컬러 뎁스 값 8을 곱한 값이다. 그리고 0.5는 목표 압축률을 의미한다.Here, the total target bits are (16 + 8) X 16 X 0.5 in the case of a 16 X 16 Y plane (530Y), an 8 X 8 Cb plane (530Cb), and an 8 X 8 Cr plane (530Cr). = The size of 192 multiplied by the color depth value of 8. And 0.5 means the target compression ratio.

압축 관리 모듈(218)은 이와 같이 연산된 루마 성분 목표 비트를 할당하여 루마 성분에 대한 압축을 수행한다.The compression management module 218 assigns the calculated luma component target bits to perform compression on the luma component.

즉, 본 실시예를 비롯한 본 발명의 몇몇 실시예들에서, 이미지 데이터(10)가 YUV 420 포맷을 따르는 경우, 크로마 성분 목표 비트는, 압축 관리 모듈(218)에 의해 총 목표 비트 / 3 X W (단, W는 1 이하의 양의 실수)로 연산될 수 있다. 예를 들어, 도 11의 실시예는 W의 값이 0.40625인 경우를 나타낸다.That is, in some embodiments of the present invention, including this embodiment, when the image data 10 conforms to the YUV 420 format, the chroma component target bits are calculated by the compression management module 218 as the total target bits / 3 X W ( However, W can be calculated as a positive real number of 1 or less). For example, the embodiment of FIG. 11 shows a case where the value of W is 0.40625.

본 실시예에 따르면, 도 9의 128 비트의 Y 성분 비트 스트림(512Y), 32 비트의 Cb 성분 비트 스트림(512Cb) 및 32 비트의 Cr 성분 비트 스트림(512Cr)을 포함하는 압축 비트 스트림(512)과 달리, 26 비트의 Cb 성분 비트 스트림(532Cb), 26 비트의 Cr 성분 비트 스트림(532Cr) 및 140 비트의 Y 성분 비트 스트림(522Y)을 포함하는 압축 비트 스트림(532)이 압축 결과가 된다.According to this embodiment, a compressed bit stream 512 comprising a 128-bit Y component bit stream 512Y, a 32-bit Cb component bit stream 512Cb, and a 32-bit Cr component bit stream 512Cr of FIG. Unlike , the compression result is a compressed bit stream 532 comprising a 26-bit Cb component bit stream 532Cb, a 26-bit Cr component bit stream 532Cr, and a 140-bit Y component bit stream 522Y.

앞서 설명한 바와 같이, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(532)을 생성할 수 있다. 즉, 압축 비트 스트림(532) 내에서의 Y 성분 비트 스트림(532Y), Cb 성분 비트 스트림(532Cb), Cr 성분 비트 스트림(532Cr)의 순서는 도 11에 도시된 것과 다를 수 있다.As described above, the frame buffer compressor 200 compresses data for the first component and compresses the second component in an arbitrary order different from the compression order for the first component (eg, luma component) and the second component (eg, chroma component). A compressed bit stream 532 may be generated by merging compressed data for . That is, the order of the Y component bit stream 532Y, the Cb component bit stream 532Cb, and the Cr component bit stream 532Cr in the compressed bit stream 532 may be different from that shown in FIG. 11 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙 병합하여 압축 비트 스트림(532)을 생성할 수 있다. 즉, 압축 비트 스트림(532) 내에서 Y 성분 비트 스트림(532Y), Cb 성분 비트 스트림(532Cb), Cr 성분 비트 스트림(532Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 may generate the compressed bit stream 532 by interleaving and merging the compressed data for the first component and the compressed data for the second component. That is, in the compressed bit stream 532, the Y component bit stream 532Y, the Cb component bit stream 532Cb, and the Cr component bit stream 532Cr are repeated for each pixel unit of the image data 10, for example, Y, Cb, Bit streams of Cr components may be generated in a mixed form in any order.

이와 같이, 동일한 총 목표 비트 내에서, 중요도가 높고 압축 효율이 상대적으로 낮은 루마 성분에 더 많은 비트를 할당하고, 비교적 그렇지 않은 크로마 성분에 더 적은 비트를 할당함으로써, 이미지 데이터(10)를 압축한 압축 데이터(20)의 압축 품질을 향상시킬 수 있다.In this way, within the same total target bits, more bits are allocated to luma components with high importance and relatively low compression efficiency, and fewer bits are allocated to chroma components with relatively low compression efficiency, thereby compressing the image data 10. The compression quality of the compressed data 20 can be improved.

도 12 내지 도 14는 본 발명의 몇몇 실시예들에 따른 YUV 422 포맷 데이터에 대한 이미지 처리 장치의 동작을 설명하기 위한 개략도이다.12 to 14 are schematic diagrams for explaining an operation of an image processing apparatus for YUV 422 format data according to some embodiments of the present invention.

도 12 및 도 13은, 이미지 데이터(10)가 YUV 420 포맷을 따르는 경우, 이미지 데이터(10)에 대한 목표 압축률은 50 %이고, 컬러 뎁스는 8 비트인 경우를 도시하고 있다.12 and 13 show a case where the image data 10 conforms to the YUV 420 format, the target compression ratio for the image data 10 is 50%, and the color depth is 8 bits.

도 12를 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(540Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(540Cb) 및 Cr 평면(540Cr)에 해당한다.Referring to FIG. 12 , a first component of the image data 10, that is, a luma component, corresponds to the Y plane 540Y of the image data 10, and a second component, that is, a chroma component of the image data 10 corresponds to an image Corresponds to the Cb plane (540Cb) and Cr plane (540Cr) of data (10).

Y 평면(540Y)의 경우, 목표 압축률이 50 % 이고 컬러 뎁스가 8 비트이므로, 루마 성분 목표 비트는 다음과 같이 연산될 수 있다.In the case of the Y plane 540Y, since the target compression rate is 50% and the color depth is 8 bits, the luma component target bits can be calculated as follows.

루마 성분 목표 비트 = 16 X 16 X 8 X 0.5 비트 = 128 X 8 비트Luma component target bits = 16 X 16 X 8 X 0.5 bits = 128 X 8 bits

Cb 평면(540Cb) 및 Cr 평면(540Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.In the case of the Cb plane 540Cb and the Cr plane 540Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows.

Cb 평면 성분 목표 비트 = 16 X 8 X 8 X 0.5 비트 = 64 X 8 비트Cb plane component target bits = 16 X 8 X 8 X 0.5 bits = 64 X 8 bits

Cr 평면 성분 목표 비트 = 16 X 8 X 8 X 0.5 비트 = 64 X 8 비트Cr plane component target bits = 16 X 8 X 8 X 0.5 bits = 64 X 8 bits

이에 따라, Cb 평면 성분 목표 비트와 Cr 평면 성분 목표 비트를 합한 크로마 성분 목표 비트는 128 X 8 비트가 된다.Accordingly, the chroma component target bits obtained by adding the Cb plane component target bits and the Cr plane component target bits become 128 X 8 bits.

이와 같이 연산된 목표 비트에 따라 루마 성분과 크로마 성분을 압축하게 되면 루마 성분과 크로마 성분 모두에 대해 서로 동일한 50 %의 압축률로 압축을 하는 셈이 된다.When the luma component and the chroma component are compressed according to the calculated target bits, it is equivalent to compressing both the luma component and the chroma component at the same compression ratio of 50%.

압축 결과에 해당하는 압축 비트 스트림(542)은 예컨대 Y 성분 비트 스트림(542Y), Cb 성분 비트 스트림(542Cb), Cr 성분 비트 스트림(542Cr)의 순서를 갖는 단일 비트 스트림으로서 형성될 수 있다. 그러나 본 발명의 범위는 이에 제한되지 않으며, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(542)을 생성할 수 있다. 즉, 압축 비트 스트림(542) 내에서의 Y 성분 비트 스트림(542Y), Cb 성분 비트 스트림(542Cb), Cr 성분 비트 스트림(542Cr)의 순서는 도 12에 도시된 것과 다를 수 있다.The compressed bit stream 542 corresponding to the compression result may be formed as a single bit stream having, for example, the order of the Y component bit stream 542Y, the Cb component bit stream 542Cb, and the Cr component bit stream 542Cr. However, the scope of the present invention is not limited thereto, and the frame buffer compressor 200 may compress the first component (eg luma component) and the second component (eg chroma component) in an arbitrary order different from the compression order. The compressed bit stream 542 may be generated by merging the compressed data and the compressed data for the second component. That is, the order of the Y component bit stream 542Y, the Cb component bit stream 542Cb, and the Cr component bit stream 542Cr in the compressed bit stream 542 may be different from that shown in FIG. 12 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙 병합하여 압축 비트 스트림(542)을 생성할 수 있다. 즉, 압축 비트 스트림(542) 내에서 Y 성분 비트 스트림(542Y), Cb 성분 비트 스트림(542Cb), Cr 성분 비트 스트림(542Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 may generate the compressed bit stream 542 by interleaving and merging the compressed data for the first component and the compressed data for the second component. That is, in the compressed bit stream 542, the Y component bit stream 542Y, the Cb component bit stream 542Cb, and the Cr component bit stream 542Cr are repeated for each pixel of the image data 10, for example, Y, Cb, Bit streams of Cr components may be generated in a mixed form in any order.

예를 들어, 압축 비트 스트림(542)은 이미지 데이터(10)의 제1 픽셀에 대한 Y 성분 비트 스트림, 상기 제1 픽셀에 대한 Cb 성분 비트 스트림, 상기 제1 픽셀에 대한 Cr 성분 비트 스트림, 이미지 데이터(10)의 제2 픽셀에 대한 Y 성분 비트 스트림, 상기 제2 픽셀에 대한 Cb 성분 비트 스트림, 상기 제2 픽셀에 대한 Cr 성분 비트 스트림이 이어지는 순서로 인터리빙 병합될 수 있으며, Y, Cb, Cr 성분의 인터리빙 순서 역시 임의의 순서로 결정될 수 있다.For example, the compressed bit stream 542 may include a Y component bit stream for a first pixel of image data 10, a Cb component bit stream for the first pixel, a Cr component bit stream for the first pixel, an image The Y component bit stream for the second pixel of the data 10, the Cb component bit stream for the second pixel, and the Cr component bit stream for the second pixel may be interleaved and merged in the following order, Y, Cb, The interleaving order of Cr components may also be determined in an arbitrary order.

이제 도 13을 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(550Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(550Cb) 및 Cr 평면(550Cr)에 해당한다.Referring now to FIG. 13 , the first component of the image data 10, that is, the luma component, corresponds to the Y plane 550Y of the image data 10, and the second component of the image data 10, that is, the chroma component, Corresponds to the Cb plane (550Cb) and the Cr plane (550Cr) of the image data (10).

본 실시예에서, 압축 관리 모듈(218)은 프레임 버퍼 컴프레서(200)가 크로마 성분을 먼저 압축한 후, 루마 성분을 압축하도록 압축 순서를 제어한다. 이를 위해, 압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전에, 먼저 크로마 성분 목표 비트를 연산한다.In this embodiment, the compression management module 218 controls the compression order such that the frame buffer compressor 200 compresses the chroma component first and then the luma component. To this end, the compression management module 218 first calculates the chroma component target bits before calculating the luma component target bits.

Cb 평면(520Cb) 및 Cr 평면(520Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.In the case of the Cb plane 520Cb and the Cr plane 520Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows, respectively.

Cb 평면 성분 목표 비트 = 16 X 8 X 8 X 0.5 비트 = 64 X 8 비트Cb plane component target bits = 16 X 8 X 8 X 0.5 bits = 64 X 8 bits

Cr 평면 성분 목표 비트 = 16 X 8 X 8 X 0.5 비트 = 64 X 8 비트Cr plane component target bits = 16 X 8 X 8 X 0.5 bits = 64 X 8 bits

압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전, 크로마 성분 목표 비트를 할당하여 크로마 성분에 대한 압축을 먼저 수행한다. 구체적으로 압축 관리 모듈(218)은, 크로마 성분 사용 비트가 크로마 목표 비트보다 적으면서도 가장 가까운 값이 되도록 QP 값 및 엔트로피 k값을 결정하여 크로마 성분에 대한 압축을 수행한다.The compression management module 218 first performs compression on chroma components by allocating chroma component target bits before calculating luma component target bits. Specifically, the compression management module 218 determines the QP value and the entropy k value so that the chroma component used bits are smaller than the chroma target bits and have the closest value, and performs compression on the chroma components.

그 결과, Cb 평면 성분에 대한 압축에 62 X 8 비트가 사용되고, Cb 평면 성분에 대한 압축에 60 X 8 비트가 사용되었다고 가정하자. 즉, 본 실시예에서, 크로마 성분 사용 비트((62 + 60) X 8 비트)는 크로마 성분 목표 비트((64 +64) X 8 비트)보다 적다.As a result, assume that 62 X 8 bits are used for compression of the Cb plane component and 60 X 8 bits are used for compression of the Cb plane component. That is, in this embodiment, chroma component use bits ((62 + 60) X 8 bits) are less than chroma component target bits ((64 +64) X 8 bits).

압축 관리 모듈(218)은 이와 같은 크로마 성분에 대한 압축 데이터의 크로마 성분 사용 비트를 이용하여 상기 루마 성분에 대한 루마 성분 목표 비트를 연산한다.The compression management module 218 calculates luma component target bits for the luma component using the chroma component use bits of the compressed data for the chroma component.

이제 압축 관리 모듈(218)은 루마 성분 목표 비트를 다음과 같이 연산할 수 있다.The compression management module 218 can now compute the luma component target bits as follows.

루마 성분 목표 비트 = 총 목표 비트(total target bit) - 크로마 성분 사용 비트 = 256 X 8 비트 - (62 + 60) X 8 비트 = 134 X 8 비트Luma component target bits = total target bits - chroma component used bits = 256 X 8 bits - (62 + 60) X 8 bits = 134 X 8 bits

여기서 총 목표 비트는 16 X 16 사이즈의 Y 평면(550Y), 8 X 8 사이즈의 Cb 평면(550Cb) 및 8 X 8 사이즈의 Cr 평면(550Cr)의 경우, 총 (16 + 8 + 8) X 16 X 0.5 = 256의 사이즈에 컬러 뎁스 값 8을 곱한 값이다. 그리고 0.5는 목표 압축률을 의미한다.Here, the total target bits are (16 + 8 + 8) X 16 in the case of a 16 X 16 Y plane (550Y), an 8 X 8 Cb plane (550Cb), and an 8 X 8 Cr plane (550Cr). This is the value obtained by multiplying the size of X 0.5 = 256 by the color depth value of 8. And 0.5 means the target compression ratio.

압축 관리 모듈(218)은 이와 같이 연산된 루마 성분 목표 비트를 할당하여 루마 성분에 대한 압축을 수행한다.The compression management module 218 assigns the calculated luma component target bits to perform compression on the luma component.

본 실시예에 따르면, 도 12의 128 비트의 Y 성분 비트 스트림(542Y), 64 비트의 Cb 성분 비트 스트림(542Cb) 및 64 비트의 Cr 성분 비트 스트림(542Cr)을 포함하는 압축 비트 스트림(542)과 달리, 62 비트의 Cb 성분 비트 스트림(552Cb), 60 비트의 Cr 성분 비트 스트림(552Cr) 및 134 비트의 Y 성분 비트 스트림(552Y)을 포함하는 압축 비트 스트림(552)이 압축 결과가 된다.According to this embodiment, a compressed bit stream 542 comprising a 128-bit Y component bit stream 542Y, a 64-bit Cb component bit stream 542Cb and a 64-bit Cr component bit stream 542Cr of FIG. 12 Unlike , the compression result is a compressed bit stream 552 comprising a 62-bit Cb component bit stream 552Cb, a 60-bit Cr component bit stream 552Cr, and a 134-bit Y component bit stream 552Y.

앞서 설명한 바와 같이, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(552)을 생성할 수 있다. 즉, 압축 비트 스트림(552) 내에서의 Y 성분 비트 스트림(552Y), Cb 성분 비트 스트림(552Cb), Cr 성분 비트 스트림(552Cr)의 순서는 도 13에 도시된 것과 다를 수 있다.As described above, the frame buffer compressor 200 compresses data for the first component and compresses the second component in an arbitrary order different from the compression order for the first component (eg, luma component) and the second component (eg, chroma component). A compressed bit stream 552 may be generated by merging compressed data for . That is, the order of the Y component bit stream 552Y, the Cb component bit stream 552Cb, and the Cr component bit stream 552Cr in the compressed bit stream 552 may be different from that shown in FIG. 13 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙 병합하여 압축 비트 스트림(552)을 생성할 수 있다. 즉, 압축 비트 스트림(552) 내에서 Y 성분 비트 스트림(552Y), Cb 성분 비트 스트림(552Cb), Cr 성분 비트 스트림(552Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 may generate the compressed bit stream 552 by interleaving and merging the compressed data for the first component and the compressed data for the second component. That is, in the compressed bit stream 552, the Y component bit stream 552Y, the Cb component bit stream 552Cb, and the Cr component bit stream 552Cr are repeated for each pixel unit of the image data 10, for example, Y, Cb, Bit streams of Cr components may be generated in a mixed form in any order.

이와 같이, 동일한 총 목표 비트 내에서, 중요도가 높고 압축 효율이 상대적으로 낮은 루마 성분에 더 많은 비트를 할당하고, 비교적 그렇지 않은 크로마 성분에 더 적은 비트를 할당함으로써, 이미지 데이터(10)를 압축한 압축 데이터(20)의 압축 품질을 향상시킬 수 있다.In this way, within the same total target bits, more bits are allocated to luma components with high importance and relatively low compression efficiency, and fewer bits are allocated to chroma components with relatively low compression efficiency, thereby compressing the image data 10. The compression quality of the compressed data 20 can be improved.

다음으로, 도 14를 참조하면, 이미지 데이터(10)의 제1 성분, 즉 루마 성분은 이미지 데이터(10)의 Y 평면(560Y)에 해당하고, 이미지 데이터(10)의 제2 성분, 즉 크로마 성분은 이미지 데이터(10)의 Cb 평면(560Cb) 및 Cr 평면(560Cr)에 해당한다.Next, referring to FIG. 14 , the first component of the image data 10, that is, the luma component, corresponds to the Y plane 560Y of the image data 10, and the second component of the image data 10, that is, the chroma component. The components correspond to the Cb plane 560Cb and the Cr plane 560Cr of the image data 10 .

본 실시예에서, 압축 관리 모듈(218)은 프레임 버퍼 컴프레서(200)가 크로마 성분을 먼저 압축한 후, 루마 성분을 압축하도록 압축 순서를 제어한다. 이를 위해, 압축 관리 모듈(218)은 루마 성분 목표 비트를 연산하기 전에, 먼저 크로마 성분 목표 비트를 연산한다. 그런데 도 13의 실시예와 다른 점은, 압축 관리 모듈(218)은 사전에 크로마 성분에 대한 압축률을 50 %보다 적은 예컨대 40.625 %로 설정할 수 있다.In this embodiment, the compression management module 218 controls the compression order such that the frame buffer compressor 200 compresses the chroma component first and then the luma component. To this end, the compression management module 218 first calculates the chroma component target bits before calculating the luma component target bits. However, unlike the embodiment of FIG. 13 , the compression management module 218 may set the compression rate of the chroma component to less than 50%, for example, 40.625% in advance.

이에 따라 Cb 평면(560Cb) 및 Cr 평면(560Cr)의 경우, Cb 평면 성분 목표 비트 및 Cr 평면 성분 목표 비트는 각각 다음과 같이 연산될 수 있다.Accordingly, in the case of the Cb plane 560Cb and the Cr plane 560Cr, the Cb plane component target bits and the Cr plane component target bits can be calculated as follows.

Cb 평면 성분 목표 비트 = 16 X 8 X 8 X 0.40625 비트 = 52 X 8 비트Cb plane component target bits = 16 X 8 X 8 X 0.40625 bits = 52 X 8 bits

Cr 평면 성분 목표 비트 = 16 X 8 X 8 X 0.40625 비트 = 52 X 8 비트Cr plane component target bits = 16 X 8 X 8 X 0.40625 bits = 52 X 8 bits

압축 관리 모듈(218)은 예컨대 40.625 %로 사전 설정된 압축률에 따라 크로마 성분에 대한 압축을 먼저 수행한다. 구체적으로 압축 관리 모듈(218)은, 상기 사전 설정된 압축률에 따르도록 QP 값 및 엔트로피 k값을 결정하여 크로마 성분에 대한 압축을 수행한다. 그 결과, Cb 평면 성분에 대한 압축에 52 X 8 비트가 사용되고, Cb 평면 성분에 대한 압축에 52 X 8 비트가 사용되었다.The compression management module 218 first performs compression on chroma components according to a preset compression rate, for example, 40.625%. Specifically, the compression management module 218 performs compression on chroma components by determining a QP value and an entropy k value according to the preset compression rate. As a result, 52 X 8 bits are used for compression of the Cb plane component, and 52 X 8 bits are used for compression of the Cb plane component.

이제 압축 관리 모듈(218)은 루마 성분 목표 비트를 다음과 같이 연산할 수 있다.The compression management module 218 can now compute the luma component target bits as follows.

루마 성분 목표 비트 = 총 목표 비트- 사전 설정된 압축률에 따른 크로마 성분 목표 비트 = 256 X 8 비트 - (52 + 52) X 8 비트 = 152 X 8 비트Luma component target bits = Total target bits - Chroma component target bits according to preset compression rate = 256 X 8 bits - (52 + 52) X 8 bits = 152 X 8 bits

여기서 총 목표 비트는 16 X 16 사이즈의 Y 평면(560Y), 8 X 8 사이즈의 Cb 평면(560Cb) 및 8 X 8 사이즈의 Cr 평면(560Cr)의 경우, 총 (16 + 8 + 8) X 8 = 256의 사이즈에 컬러 뎁스 값 8을 곱한 값이다. 그리고 0.5는 목표 압축률을 의미한다.Here, the total target bits are (16 + 8 + 8) X 8 in the case of a 16 X 16 Y plane (560Y), an 8 X 8 Cb plane (560Cb), and an 8 X 8 Cr plane (560Cr). = 256 multiplied by the color depth value of 8. And 0.5 means the target compression ratio.

압축 관리 모듈(218)은 이와 같이 연산된 루마 성분 목표 비트를 할당하여 루마 성분에 대한 압축을 수행한다.The compression management module 218 assigns the calculated luma component target bits to perform compression on the luma component.

즉, 본 실시예를 비롯한 본 발명의 몇몇 실시예들에서, 이미지 데이터(10)가 YUV 422 포맷을 따르는 경우, 크로마 성분 목표 비트는, 압축 관리 모듈(218)에 의해 총 목표 비트 / 2 X W (단, W는 1 이하의 양의 실수)로 연산될 수 있다. 예를 들어, 도 14의 실시예는 W의 값이 0.5인 경우를 나타낸다.That is, in some embodiments of the present invention, including this embodiment, when the image data 10 conforms to the YUV 422 format, the chroma component target bits are calculated by the compression management module 218 as total target bits / 2 X W ( However, W can be calculated as a positive real number of 1 or less). For example, the embodiment of FIG. 14 shows a case where the value of W is 0.5.

본 실시예에 따르면, 도 12의 128 비트의 Y 성분 비트 스트림(542Y), 64 비트의 Cb 성분 비트 스트림(542Cb) 및 64 비트의 Cr 성분 비트 스트림(542Cr)을 포함하는 압축 비트 스트림(542)과 달리, 52 비트의 Cb 성분 비트 스트림(562Cb), 52 비트의 Cr 성분 비트 스트림(562Cr) 및 152 비트의 Y 성분 비트 스트림(562Y)을 포함하는 압축 비트 스트림(562)이 압축 결과가 된다.According to this embodiment, a compressed bit stream 542 comprising a 128-bit Y component bit stream 542Y, a 64-bit Cb component bit stream 542Cb and a 64-bit Cr component bit stream 542Cr of FIG. 12 , the compression result is a compressed bit stream 562 comprising a 52-bit Cb component bit stream 562Cb, a 52-bit Cr component bit stream 562Cr, and a 152-bit Y component bit stream 562Y.

앞서 설명한 바와 같이, 프레임 버퍼 컴프레서(200)는 제1 성분(예컨대 루마 성분) 및 제2 성분(예컨대 크로마 성분)에 대한 압축 순서와 다른 임의의 순서로 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 병합하여 압축 비트 스트림(562)을 생성할 수 있다. 즉, 압축 비트 스트림(532) 내에서의 Y 성분 비트 스트림(562Y), Cb 성분 비트 스트림(562Cb), Cr 성분 비트 스트림(562Cr)의 순서는 도 14에 도시된 것과 다를 수 있다.As described above, the frame buffer compressor 200 compresses data for the first component and compresses the second component in an arbitrary order different from the compression order for the first component (eg, luma component) and the second component (eg, chroma component). A compressed bit stream 562 may be generated by merging compressed data for . That is, the order of the Y component bit stream 562Y, the Cb component bit stream 562Cb, and the Cr component bit stream 562Cr in the compressed bit stream 532 may be different from that shown in FIG. 14 .

한편, 본 발명의 몇몇의 실시예에서, 프레임 버퍼 컴프레서(200)는, 제1 성분에 대한 압축 데이터와 제2 성분에 대한 압축 데이터를 인터리빙 병합하여 압축 비트 스트림(562)을 생성할 수 있다. 즉, 압축 비트 스트림(532) 내에서 Y 성분 비트 스트림(562Y), Cb 성분 비트 스트림(562Cb), Cr 성분 비트 스트림(562Cr)은 예컨대 이미지 데이터(10)의 픽셀 단위 별로 반복되는 Y, Cb, Cr 성분들의 비트 스트림들이 임의의 순서로 혼합된 형태로 생성될 수 있다.Meanwhile, in some embodiments of the present invention, the frame buffer compressor 200 may generate the compressed bit stream 562 by interleaving and merging the compressed data for the first component and the compressed data for the second component. That is, in the compressed bit stream 532, the Y component bit stream 562Y, the Cb component bit stream 562Cb, and the Cr component bit stream 562Cr are repeated for each pixel unit of the image data 10, for example, Y, Cb, Bit streams of Cr components may be generated in a mixed form in any order.

이와 같이, 동일한 총 목표 비트 내에서, 중요도가 높고 압축 효율이 상대적으로 낮은 루마 성분에 더 많은 비트를 할당하고, 비교적 그렇지 않은 크로마 성분에 더 적은 비트를 할당함으로써, 이미지 데이터(10)를 압축한 압축 데이터(20)의 압축 품질을 향상시킬 수 있다.In this way, within the same total target bits, more bits are allocated to luma components with high importance and relatively low compression efficiency, and fewer bits are allocated to chroma components with relatively low compression efficiency, thereby compressing the image data 10. The compression quality of the compressed data 20 can be improved.

도 15는 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 동작 방법을 설명하기 위한 흐름도이다.15 is a flowchart illustrating an operating method of an image processing apparatus according to some embodiments of the present disclosure.

도 15를 참조하면, 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 동작 방법은, 크로마 성분에 대한 목표 비트를 연산(S1501)하는 것을 포함한다.Referring to FIG. 15 , a method of operating an image processing apparatus according to some embodiments of the present disclosure includes calculating a target bit for a chroma component ( S1501 ).

구체적으로, 이미지 처리 장치는, 크로마 성분에 대한 목표 비트를 연산하기 전에, YUV 포맷을 따르는 이미지 데이터(10)에 대한 목표 압축률에 기반하여 총 목표 비트를 연산한 후, YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분을 압축하기 위한 크로마 성분 목표 비트를 연산한다.Specifically, the image processing device calculates the total target bits based on the target compression rate for the image data 10 conforming to the YUV format before calculating the target bits for the chroma component, and then the Cb and Cr components of the YUV format. Chroma component target bits for compressing a chroma component including .

또한, 상기 방법은, 크로마 성분 목표 비트를 할당하여 크로마 성분을 압축(S1503)하는 것을 포함한다.Further, the method includes allocating chroma component target bits to compress chroma components (S1503).

또한, 상기 방법은, 크로마 성분에 대한 압축 비트(compressed bit) 즉, 크로마 성분에 대한 압축 데이터의 크로마 성분 사용 비트를 획득(S1505)하고, 이를 이용하여, YUV 포맷 중 Y 성분을 포함하는 루마 성분에 대한 루마 성분 목표 비트를 연산하는 것(S1507)을 포함한다.In addition, the method obtains a compressed bit for the chroma component, that is, a chroma component use bit of compressed data for the chroma component (S1505), and uses this to obtain a luma component including the Y component in the YUV format. and calculating luma component target bits for (S1507).

또한, 상기 방법은, 루마 성분 목표 비트를 할당하여 루마 성분을 압축(S1509)하는 것을 포함한다.Further, the method includes allocating luma component target bits to compress the luma component (S1509).

나아가, 상기 방법은, 루마 성분에 대한 압축 데이터의 루마 성분 사용 비트와, 크로마 성분 사용 비트의 합이 총 목표 비트 미만인 경우, 루마 성분에 대한 압축 데이터 뒤에 더미 비트(dummy bit)를 부가하는 것을 더 포함할 수 있다.Furthermore, the method further adds a dummy bit after the compressed data for the luma component when the sum of the luma component used bits and the chroma component used bits of the compressed data for the luma component is less than the total target bits. can include

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, the present invention is not limited to the above embodiments and can be manufactured in a variety of different forms, and those skilled in the art in the art to which the present invention belongs A person will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential features. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting.

100: 멀티미디어 장치
200: 프레임 버퍼 컴프레서
300: 메모리
100: multimedia device
200: frame buffer compressor
300: memory

Claims (20)

루마 성분(Luma component)을 포함하는 제1 성분 및 크로마 성분(Chroma component)을 포함하는 제2 성분을 포함하는 이미지 데이터를 처리하는 멀티미디어 장치;
상기 멀티미디어 장치에 의해 액세스(access)되는 메모리 및;
상기 이미지 데이터에 대해 압축을 수행하여 압축 데이터를 생성하고, 압축 데이터를 상기 메모리에 저장하는 프레임 버퍼 컴프레서(Frame Buffer Compressor, FBC)를 포함하고,
상기 프레임 버퍼 컴프레서는, 상기 이미지 데이터의 상기 제1 성분과 상기 제2 성분의 압축 순서를 제어하는 압축 관리 모듈을 포함하고,
상기 압축 관리 모듈은,
상기 이미지 데이터에 대한 목표 압축률(target compression ratio)과 상기 크로마 성분으로부터 크로마 성분 목표 비트(target bit)를 연산하고,
상기 목표 압축률과 상기 루마 성분으로부터 제1 루마 성분 목표 비트를 연산하고,
상기 크로마 성분 목표 비트 중 적어도 한 비트를 상기 제1 루마 성분 목표 비트에 할당하여, 제2 루마 성분 목표 비트를 생성하고,
상기 할당 후 남은 크로마 성분 목표 비트에 따라 상기 크로마 성분을 압축하고, 상기 제2 루마 성분 목표 비트에 따라 상기 루마 성분을 압축하는 이미지 처리 장치.
A multimedia device for processing image data including a first component including a luma component and a second component including a chroma component;
a memory accessed by the multimedia device;
A Frame Buffer Compressor (FBC) configured to compress the image data to generate compressed data and store the compressed data in the memory;
The frame buffer compressor includes a compression management module for controlling a compression sequence of the first component and the second component of the image data;
The compression management module,
Calculate a chroma component target bit from a target compression ratio of the image data and the chroma component;
calculating a first luma component target bit from the target compression rate and the luma component;
assigning at least one of the chroma component target bits to the first luma component target bits to generate second luma component target bits;
and compressing the chroma component according to chroma component target bits remaining after the assignment, and compressing the luma component according to the second luma component target bits.
제1항에 있어서,
상기 프레임 버퍼 컴프레서는, 상기 압축 관리 모듈에 의해 결정된 압축 순서에 따라 상기 제1 성분 및 상기 제2 성분을 압축한 후, 상기 제1 성분에 대한 압축 데이터와 상기 제2 성분에 대한 압축 데이터를 병합하여 단일 비트 스트림을 생성하는 이미지 처리 장치.
According to claim 1,
The frame buffer compressor compresses the first component and the second component according to the compression order determined by the compression management module, and then merges the compressed data for the first component and the compressed data for the second component. An image processing device that generates a single bit stream using
제2항에 있어서,
상기 프레임 버퍼 컴프레서는, 상기 제1 성분 및 상기 제2 성분에 대한 상기 압축 순서와 다른 임의의 순서로 상기 제1 성분에 대한 압축 데이터와 상기 제2 성분에 대한 압축 데이터를 병합하여 상기 단일 비트 스트림을 생성하는 이미지 처리 장치.
According to claim 2,
The frame buffer compressor merges compressed data for the first component and compressed data for the second component in an arbitrary order different from the compression order for the first component and the second component to form the single bit stream. An image processing device that generates
제2항에 있어서,
상기 프레임 버퍼 컴프레서는, 상기 제1 성분에 대한 압축 데이터와 상기 제2 성분에 대한 압축 데이터를 인터리빙(interleaving) 병합하여 상기 단일 비트 스트림을 생성하는 이미지 처리 장치.
According to claim 2,
The frame buffer compressor generates the single bit stream by interleaving and merging compressed data for the first component and compressed data for the second component.
제2항에 있어서,
상기 프레임 버퍼 컴프레서는, 상기 단일 비트 스트림을 상기 메모리에 라이트(write)하는 이미지 처리 장치.
According to claim 2,
The frame buffer compressor writes the single bit stream to the memory.
제1항에 있어서,
상기 이미지 데이터는 YUV 포맷을 따르는 이미지 데이터이고,
상기 제1 성분은 상기 YUV 포맷 중 Y 성분을 포함하는 루마 성분을 포함하고,
상기 제2 성분은 상기 YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분을 포함하는 이미지 처리 장치.
According to claim 1,
The image data is image data conforming to the YUV format,
The first component includes a luma component including a Y component in the YUV format,
The second component includes a chroma component including Cb and Cr components in the YUV format.
제6항에 있어서,
상기 압축 관리 모듈은, 상기 프레임 버퍼 컴프레서가 상기 크로마 성분을 먼저 압축한 후, 상기 루마 성분을 압축하도록 압축 순서를 제어하는 이미지 처리 장치.
According to claim 6,
The compression management module controls a compression sequence such that the frame buffer compressor first compresses the chroma component and then compresses the luma component.
제7항에 있어서,
상기 압축 관리 모듈은,
상기 목표 압축률에 기반하여 총 목표 비트(total target bit)를 연산하는 이미지 처리 장치.
According to claim 7,
The compression management module,
An image processing device that calculates a total target bit based on the target compression rate.
제8항에 있어서,
상기 크로마 성분을 압축하는데 이용되는 크로마 성분 사용 비트는 상기 크로마 성분 목표 비트보다 적은 이미지 처리 장치.
According to claim 8,
Chroma component used bits used to compress the chroma component are less than the chroma component target bits.
제8항에 있어서,
상기 이미지 데이터가 YUV 420 포맷을 따르는 경우, 상기 크로마 성분 목표 비트는,
상기 총 목표 비트 / 3 X W (단, W는 1 이하의 양의 실수)로 연산되는 이미지 처리 장치.
According to claim 8,
When the image data conforms to the YUV 420 format, the chroma component target bits are:
An image processing device that is calculated with the total target bits / 3 XW (where W is a positive real number of 1 or less).
제8항에 있어서,
상기 이미지 데이터가 YUV 422 포맷을 따르는 경우, 상기 크로마 성분 목표 비트는,
상기 총 목표 비트 / 2 X W (단, W는 1 이하의 양의 실수)로 연산되는 이미지 처리 장치.
According to claim 8,
When the image data conforms to the YUV 422 format, the chroma component target bits are:
An image processing device that is calculated as the total target bits / 2 XW (where W is a positive real number of 1 or less).
제8항에 있어서,
상기 제2 루마 성분 목표 비트는, 상기 총 목표 비트에서 상기 크로마 성분을 압축하는데 이용되는 크로마 성분 사용 비트를 감산함으로써 연산되는 이미지 처리 장치.
According to claim 8,
The second luma component target bit is calculated by subtracting chroma component use bits used to compress the chroma component from the total target bits.
YUV 포맷을 따르는 이미지 데이터를 처리하는 멀티미디어 장치; 및
상기 이미지 데이터에 대해 압축을 수행하여 압축 데이터를 생성하고, 압축 데이터를 메모리에 저장하는 프레임 버퍼 컴프레서(Frame Buffer Compressor, FBC)를 포함하고,
상기 프레임 버퍼 컴프레서는,
상기 이미지 데이터의 상기 YUV 포맷 중 Cb 및 Cr 성분을 포함하는 크로마 성분(Chroma component)에 대한 압축이, 상기 이미지 데이터의 상기 YUV 포맷 중 Y 성분을 포함하는 루마 성분(Luma component)에 대한 압축보다 먼저 수행되도록 압축 순서를 제어하되,
상기 프레임 버퍼 컴프레서는,
상기 이미지 데이터에 대한 목표 압축률(target compression ratio)과 상기 크로마 성분으로부터 크로마 성분 목표 비트(target bit)를 연산하고,
상기 목표 압축률과 상기 루마 성분으로부터 제1 루마 성분 목표 비트를 연산하고,
상기 크로마 성분 목표 비트 중 적어도 한 비트를 상기 제1 루마 성분 목표 비트에 할당하여, 제2 루마 성분 목표 비트를 생성하고,
상기 할당 후 남은 크로마 성분 목표 비트에 따라 상기 크로마 성분을 압축하고, 상기 제2 루마 성분 목표 비트에 따라 상기 루마 성분을 압축하는 이미지 처리 장치.
a multimedia device that processes image data conforming to the YUV format; and
A Frame Buffer Compressor (FBC) for generating compressed data by performing compression on the image data and storing the compressed data in a memory;
The frame buffer compressor,
Compression of a chroma component including Cb and Cr components in the YUV format of the image data takes precedence over compression of a luma component including a Y component in the YUV format of the image data. Control the order of compression to be performed,
The frame buffer compressor,
Calculate a chroma component target bit from a target compression ratio of the image data and the chroma component,
calculating a first luma component target bit from the target compression rate and the luma component;
assigning at least one of the chroma component target bits to the first luma component target bits to generate second luma component target bits;
and compressing the chroma component according to chroma component target bits remaining after the assignment, and compressing the luma component according to the second luma component target bits.
제13항에 있어서,
상기 프레임 버퍼 컴프레서는,
상기 목표 압축률에 기반하여 총 목표 비트(total target bit) 를 연산하는 이미지 처리 장치.
According to claim 13,
The frame buffer compressor,
An image processing device that calculates a total target bit based on the target compression rate.
제14항에 있어서,
상기 크로마 성분을 압축하는데 이용되는 크로마 성분 사용 비트는 상기 크로마 성분 목표 비트보다 적은 이미지 처리 장치.
According to claim 14,
Chroma component used bits used to compress the chroma component are less than the chroma component target bits.
제15항에 있어서,
상기 프레임 버퍼 컴프레서는, 상기 크로마 성분 사용 비트가 상기 크로마 성분 목표 비트보다 적으면서도 가장 가까운 값이 되도록 QP 값 및 엔트로피 k값을 결정하는 이미지 처리 장치.
According to claim 15,
The frame buffer compressor determines a QP value and an entropy k value such that the chroma component use bits are smaller than the chroma component target bits and have a closest value.
제14항에 있어서,
상기 이미지 데이터가 YUV 420 포맷을 따르는 경우, 상기 크로마 성분 목표 비트는,
상기 총 목표 비트 / 3 X W (단, W는 1 이하의 양의 실수)로 연산되는 이미지 처리 장치.
According to claim 14,
When the image data conforms to the YUV 420 format, the chroma component target bits are:
An image processing device that is calculated with the total target bits / 3 XW (where W is a positive real number of 1 or less).
제14항에 있어서,
상기 이미지 데이터가 YUV 422 포맷을 따르는 경우, 상기 크로마 성분 목표 비트는,
상기 총 목표 비트 / 2 X W (단, W는 1 이하의 양의 실수)로 연산되는 이미지 처리 장치.
According to claim 14,
When the image data conforms to the YUV 422 format, the chroma component target bits are:
An image processing device that is calculated as the total target bits / 2 XW (where W is a positive real number of 1 or less).
제14항에 있어서,
상기 제2 루마 성분 목표 비트는, 상기 총 목표 비트에서 상기 크로마 성분을 압축하는데 이용되는 크로마 성분 사용 비트를 감산함으로써 연산되는 이미지 처리 장치.
According to claim 14,
The second luma component target bit is calculated by subtracting chroma component use bits used to compress the chroma component from the total target bits.
제14항에 있어서,
상기 프레임 버퍼 컴프레서는 상기 루마 성분을 압축하는데 이용되는 루마 성분 사용 비트와, 상기 크로마 성분을 압축하는데 이용되는 크로마 성분 사용 비트의 합이 상기 총 목표 비트 미만인 경우, 상기 루마 성분에 대한 압축 데이터 뒤에 더미 비트(dummy bit)를 부가하는 이미지 처리 장치.
According to claim 14,
The frame buffer compressor outputs a dummy after compressed data for the luma component when the sum of the luma component used bits used to compress the luma component and the chroma component used bits used to compress the chroma component is less than the total target bits. An image processing device that adds a dummy bit.
KR1020180041786A 2018-01-26 2018-04-10 Image processing device and method for operating image processing device Active KR102523959B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US16/181,957 US10819965B2 (en) 2018-01-26 2018-11-06 Image processing device and method for operating image processing device
SG10201810709TA SG10201810709TA (en) 2018-01-26 2018-11-29 Image processing device and method for operating image processing device
TW107144252A TWI820063B (en) 2018-01-26 2018-12-10 Image processing device and method for operating image processing device
CN201910039320.0A CN110087082B (en) 2018-01-26 2019-01-16 Image processing apparatus and method for operating the same
US17/034,403 US11445160B2 (en) 2018-01-26 2020-09-28 Image processing device and method for operating image processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180010128 2018-01-26
KR20180010128 2018-01-26

Publications (2)

Publication Number Publication Date
KR20190091179A KR20190091179A (en) 2019-08-05
KR102523959B1 true KR102523959B1 (en) 2023-04-20

Family

ID=67615965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180041786A Active KR102523959B1 (en) 2018-01-26 2018-04-10 Image processing device and method for operating image processing device

Country Status (3)

Country Link
KR (1) KR102523959B1 (en)
SG (1) SG10201810709TA (en)
TW (1) TWI820063B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494869B2 (en) * 2020-09-30 2022-11-08 Realtek Semiconductor Corporation Image processor having a compressing engine performing operations on each row of M*N data block

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110206289A1 (en) * 2010-02-22 2011-08-25 Salih Dikbas Guaranteed-Rate Tiled Image Data Compression

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401071B2 (en) * 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110206289A1 (en) * 2010-02-22 2011-08-25 Salih Dikbas Guaranteed-Rate Tiled Image Data Compression

Also Published As

Publication number Publication date
SG10201810709TA (en) 2019-08-27
KR20190091179A (en) 2019-08-05
TW201941594A (en) 2019-10-16
TWI820063B (en) 2023-11-01

Similar Documents

Publication Publication Date Title
KR102626217B1 (en) Frame buffer compressor and Image processing device comprising the same
US11991347B2 (en) Image processing device
JP2017184250A (en) Apparatus and method for decoding using coefficient compression
US11445160B2 (en) Image processing device and method for operating image processing device
US20210250575A1 (en) Image processing device
KR102777347B1 (en) Image processing device and frame buffer compressor
US11735222B2 (en) Frame buffer compressing circuitry and image processing apparatus
KR102523959B1 (en) Image processing device and method for operating image processing device
CN110087074B (en) Image processing device and method for operating the same
KR102543449B1 (en) Image processing device and method for operating image processing device
KR102465206B1 (en) Image processing device
KR20220090850A (en) Image processing device and method for operating image processing device
TWI795480B (en) Image processing device for performing data decompression and image processing device for performing data compression
CN110769253A (en) Image compression circuit and method

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180410

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210226

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20180410

Comment text: Patent Application

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

Comment text: Notification of reason for refusal

Patent event date: 20220729

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230126

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230417

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230417

End annual number: 3

Start annual number: 1

PG1601 Publication of registration