KR102465206B1 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
KR102465206B1
KR102465206B1 KR1020180041790A KR20180041790A KR102465206B1 KR 102465206 B1 KR102465206 B1 KR 102465206B1 KR 1020180041790 A KR1020180041790 A KR 1020180041790A KR 20180041790 A KR20180041790 A KR 20180041790A KR 102465206 B1 KR102465206 B1 KR 102465206B1
Authority
KR
South Korea
Prior art keywords
data
frame buffer
signal block
mode
size
Prior art date
Application number
KR1020180041790A
Other languages
Korean (ko)
Other versions
KR20190091181A (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 TW108102299A priority Critical patent/TWI827579B/en
Priority to US16/252,806 priority patent/US11095876B2/en
Priority to SG10201900626SA priority patent/SG10201900626SA/en
Priority to CN201910072938.7A priority patent/CN110087072B/en
Publication of KR20190091181A publication Critical patent/KR20190091181A/en
Priority to US17/377,927 priority patent/US20210344900A1/en
Application granted granted Critical
Publication of KR102465206B1 publication Critical patent/KR102465206B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Abstract

이미지 처리 장치가 제공된다. 상기 이미지 처리 장치는 제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 사용하는 멀티미디어 아이피, 상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서 및 상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스되는 메모리를 포함하되, 상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고, 상기 프레임 버퍼 컴프레서는 손실모드 또는 무손실 모드로 동작하고, 상기 무손실 모드에서 압축된 상기 제3 데이터는 제1 페이로드와, 상기 페이로드의 압축률을 표시하는 제1 헤더를 포함하고, 상기 손실 모드에서 압축된 상기 제3 데이터는 미리 설정된 압축률에 따라 압축된 제2 페이로드만을 포함한다.An image processing apparatus is provided. The image processing apparatus receives first data, generates second data by processing the first data, uses a multimedia IP, compresses the second data into third data, and re-processes the third data. a frame buffer compressor for decompressing two data and a memory for storing the third data and accessed by the multimedia IP, wherein the frame buffer compressor compresses or compresses the memory whenever the multimedia IP accesses the memory performing decompression, the frame buffer compressor operates in a lossy mode or a lossless mode, and the third data compressed in the lossless mode includes a first payload and a first header indicating a compression ratio of the payload, , the third data compressed in the lossy mode includes only the second payload compressed according to a preset compression ratio.

Description

이미지 처리 장치{Image processing device}Image processing device

본 발명은 이미지 처리 장치에 관한 것이다.The present invention relates to an image processing apparatus.

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

밴드위스가 증가하게 되면 이미지 처리 장치의 처리 능력이 한계에 도달하여 비디오 영상의 녹화 및 재생 동작시에 속도가 저하되는 문제가 발생할 수 있다.If the bandwidth is increased, the processing capability of the image processing apparatus may reach a limit, thereby causing a problem in that the video image recording and reproducing operation is slowed down.

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

본 발명이 해결하려는 과제는 처리 속도가 향상된 이미지 처리 장치를 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide an image processing apparatus having an improved processing speed.

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

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는, 제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 사용하는 멀티미디어 아이피, 상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서 및 상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스되는 메모리를 포함하되, 상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고, 상기 프레임 버퍼 컴프레서는 손실모드 또는 무손실 모드로 동작하고, 상기 무손실 모드에서 압축된 상기 제3 데이터는 제1 페이로드와, 상기 페이로드의 압축률을 표시하는 제1 헤더를 포함하고, 상기 손실 모드에서 압축된 상기 제3 데이터는 미리 설정된 압축률에 따라 압축된 제2 페이로드만을 포함한다.An image processing apparatus according to some embodiments of the present invention for solving the above problems receives first data, processes the first data to generate second data, and uses a multimedia IP, the second data a frame buffer compressor for compressing third data and decompressing the third data back to second data; and a memory for storing the third data and accessed by the multimedia IP, wherein the frame buffer compressor comprises: Each time the multimedia IP accesses the memory, the compression or decompression is performed, the frame buffer compressor operates in a lossy mode or a lossless mode, and the third data compressed in the lossless mode includes a first payload; and a first header indicating a compression ratio of the payload, and the third data compressed in the lossy mode includes only a second payload compressed according to a preset compression ratio.

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는 제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 사용하는 멀티미디어 아이피, 상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서 및 상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스(access)되는 메모리를 포함하되, 상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고, 상기 프레임 버퍼 컴프레서는, 상기 제2 데이터를 상기 제3 데이터로 압축하는 인코더와, 상기 제3 데이터를 상기 제2 데이터로 압축해제하는 디코더를 포함하고, 상기 인코더는, 상기 제2 데이터를 예측 데이터와 잔차 데이터로 나누어 표현하는 예측 모듈과, 상기 제2 데이터를 엔트로피 인코딩을 하여 k값에 따라 압축하는 엔트로피 인코딩 모듈을 포함하고, 상기 디코더는, 상기 예측 데이터와 상기 잔차 데이터를 상기 제2 데이터로 복원시키는 예측 보상 모듈과, 상기 제3 데이터를 상기 k값에 따라 복원시키는 엔트로피 디코딩 모듈을 포함한다.An image processing apparatus according to some embodiments of the present invention for solving the above problems receives first data, processes the first data to generate second data, and provides a multimedia IP to be used, and the second data a frame buffer compressor for compressing 3 data and decompressing the third data back to second data; and a memory for storing the third data and accessed by the multimedia IP, wherein the frame buffer compressor performs the compression or decompression whenever the multimedia IP accesses the memory, the frame buffer compressor includes an encoder for compressing the second data into the third data, and A decoder for decompressing data, wherein the encoder comprises: a prediction module for dividing the second data into prediction data and residual data, and an entropy encoding module for entropy-encoding the second data and compressing it according to a k value The decoder includes a prediction compensation module for reconstructing the prediction data and the residual data as the second data, and an entropy decoding module for reconstructing the third data according to the k value.

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는 상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서 및 상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스되는 메모리를 포함하되, 상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고, 상기 제2 데이터는 YUV 방식으로 인코딩되어 휘도 신호 블록, 제1 색차 신호 블록 및 제2 색차 신호 블록을 포함하고, 상기 프레임 버퍼 컴프레서는 제1 내지 제3 모드로 동작하고, 상기 제1 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 같이 압축하고, 상기 제2 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 제1 및 제2 색차 신호 블록을 같이 압축하되, 상기 휘도 신호 블록은 따로 압축하고, 상기 제3 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 모두 따로 압축한다.An image processing apparatus according to some embodiments of the present invention for solving the above problems includes a frame buffer compressor for compressing the second data into third data and decompressing the third data back into the second data, and the third and a memory for storing data and accessed by the multimedia IP, wherein the frame buffer compressor performs the compression or decompression whenever the multimedia IP accesses the memory, and the second data is stored in a YUV manner. encoded to include a luminance signal block, a first chrominance signal block, and a second chrominance signal block, wherein the frame buffer compressor operates in first to third modes, and in the first mode, the frame buffer compressor includes the second compresses the luminance signal block of data and the first and second color difference signal blocks together, and in the second mode, the frame buffer compressor compresses the first and second color difference signal blocks of the second data together; The luminance signal block is separately compressed, and in the third mode, the frame buffer compressor separately compresses all of the luminance signal block and the first and second color difference signal blocks of the second data.

도 1은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 프레임 버퍼 컴프레서를 세부적으로 설명하기 위한 블록도이다.
도 3은 도 2의 인코더를 세부적으로 설명하기 위한 블록도이다.
도 4는 도 2의 디코더를 세부적으로 설명하기 위한 블록도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 420 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 422 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.
도 7은 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 8은 도 7의 무손실 압축된 데이터의 압축 방식을 설명하기 위한 표이다.
도 9는 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 10은 도 9의 무손실 압축된 데이터의 압축 방식을 설명하기 위한 표이다.
도 11은 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 12는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 13은 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 14는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 15는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.
도 16은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치를 설명하기 위한 블록도이다.
도 17은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치를 설명하기 위한 블록도이다.
1 is a block diagram illustrating an image processing apparatus according to some embodiments of the present invention.
FIG. 2 is a block diagram for describing the frame buffer compressor of FIG. 1 in detail.
3 is a block diagram for describing the encoder of FIG. 2 in detail.
4 is a block diagram for describing the decoder of FIG. 2 in detail.
5 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.
6 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.
7 is a diagram for explaining the structure of data losslessly compressed by the image processing apparatus of the present invention.
FIG. 8 is a table for explaining a compression method of lossless compressed data of FIG. 7 .
9 is a diagram for explaining the structure of data losslessly compressed by the image processing apparatus of the present invention.
FIG. 10 is a table for explaining a compression method of lossless compressed data of FIG. 9 .
11 is a diagram for explaining the structure of data losslessly compressed by the image processing apparatus of the present invention.
12 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.
13 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.
14 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.
15 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.
16 is a block diagram illustrating an image processing apparatus according to some embodiments of the present invention.
17 is a block diagram illustrating an image processing apparatus according to some embodiments of the present invention.

이하에서, 도 1 내지 도 14를 참조하여, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치에 대해서 설명한다.Hereinafter, an image processing apparatus according to some embodiments of the present invention will be described with reference to FIGS. 1 to 14 .

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

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

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

멀티미디어 아이피(100)는 카메라 등 외부로부터 제1 데이터를 수신하여 제2 데이터로 변환시킬 수 있다. 이 때, 상기 제1 데이터는 동영상 또는 이미지 로(raw) 데이터일 수 있다. 상기 제2 데이터는 멀티미디어 아이피(100)에 의해서 생성된 데이터로서 멀티미디어 아이피(100)가 처리중인 데이터도 포함할 수 있다. 즉, 멀티미디어 아이피(100)는 여러 단계를 거쳐 상기 제2 데이터를 메모리(300)에 저장하고, 다시 갱신하는 것을 반복할 수 있다. 상기 제2 데이터는 이러한 단계 중에 있는 모든 데이터를 포함할 수 있다. 다만, 상기 제2 데이터는 메모리(300)에 저장될 때 제3 데이터의 형태로 저장될 수 있으므로, 메모리(300)에 상기 제2 데이터는 메모리(300)에 저장되기전 또는 메모리(300)에서 리드된 이후의 데이터를 의미할 수 있다. 이에 대해서는 추후에 더 자세히 설명한다.The multimedia IP 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 IP 100 and may also include data being processed by the multimedia IP 100 . That is, the multimedia IP 100 may repeatedly store and update the second data in the memory 300 through several steps. 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 is stored in the memory 300 before being stored in the memory 300 or in the memory 300 . It may mean data after being read. This will be described 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 IP 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, the present embodiment is not limited thereto. That is, the multimedia IP 100 may include at least some of the above-described image signal processor 110 , the shake correction module 120 , the multi-format codec 130 , the GPU 140 , and the display 150 . That is, the multimedia IP 100 may mean a processing module that needs to access the memory 300 in order 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, preprocess it, and convert it into the second data. In this case, the first data may be RGB image source data. For example, the image signal processor 110 may convert the first data in the RGB format into the second data in the YUV format.

이 때, RGB 방식의 데이터란, 빛의 3원색을 기반으로 색을 표현한 데이터 포맷을 의미한다. 즉, 빨강(RED), 초록(GREEN), 파랑(BLUE) 세 종류의 색을 이용하여 이미지를 표현하는 방식이다. 이에 반해서, YUV 방식은 밝기 즉, 휘도(luma) 신호와 색차(chroma) 신호를 분리해서 표현하는 데이터 포맷을 의미한다. 즉, Y는 휘도 신호를 의미하고, U(Cb)와 V(Cr)는 각각 색차 신호를 의미한다. U는 휘도 신호와 청색 신호 성분의 차를 의미하고, V는 휘도 신호와 적색 신호 성분의 차를 의미한다. 여기서, Y, U(Cb) 및 V(Cr)의 항목을 플레인(Plane)이라 정의할 수 있다. 예를 들어, 휘도 신호에 대한 데이터를 Y플레인의 데이터라고 지칭할 수 있고, 색차 신호에 대한 데이터들을 U(Cb) 플레인의 데이터 또는 V(Cr) 플레인의 데이터라고 지칭할 수 있다.In this case, the RGB data 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 refers to a data format in which brightness, that is, a luma signal and a chroma signal, is separately expressed. That is, Y denotes a luminance signal, and U(Cb) and V(Cr) denote a color difference signal, respectively. U means the difference between the luminance signal and the blue signal component, and V means the difference between the luminance signal and the red signal component. Here, the items of Y, U(Cb), and V(Cr) may be defined as a plane. For example, data for a luminance signal may be referred to as data of a Y plane, and data for a color difference signal may be referred to as data of a U(Cb) plane or data of a V(Cr) plane.

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

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

이미지 신호 프로세서(110)는 상기 제1 데이터를 상기 제2 데이터로 변환한 뒤에 메모리(300)에 저장할 수 있다.The image signal processor 110 may store the first data in the memory 300 after converting the first data into 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 compensation module 120 may perform shake compensation by reading the first data or the second data stored in the memory 300 . In this case, the shake correction means detecting camera shake in video data and removing it.

흔들림 보정 모듈(120)은 상기 제1 데이터 또는 상기 제2 데이터의 흔들림을 보정하여 새로운 상기 제2 데이터를 생성 또는 갱신하고, 이를 메모리(300)에 저장할 수 있다.The shake correction module 120 may correct the shake of the first data or the second data to generate or update the new 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 for compressing video data. In general, since the size of moving picture data is very large, a compression module for reducing the size thereof is required. The video data may be compressed through a relationship between a plurality of frames, and the multi-format codec 130 may perform this compression. 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) 그래픽 데이터의 처리에 특화되어 병렬적으로 그래픽 데이터를 처리할 수 있다.The graphics processing unit (GPU) 140 may operate and generate two-dimensional or three-dimensional graphics. The GPU 140 may process the first data or the second data stored in the memory 300 . The GPU 140 may be specialized in processing graphic data to process graphic data in parallel.

GPU(140)는 상기 제1 데이터 또는 상기 제2 데이터를 압축하여 새로운 제2 데이터를 생성하거나 상기 제2 데이터를 갱신하고, 이를 메모리(300)에 저장할 수 있다.The GPU 140 may generate new second data by compressing the first data or the 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 the screen. The display 150 displays image data processed by another multimedia IP 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, the present 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 correction module 120 , the multi-format codec 130 , the GPU 140 , and the display 150 of the multimedia IP 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 individually access the memory 300 to write or read data. have.

프레임 버퍼 컴프레서(200)는 멀티미디어 아이피(100)가 메모리(300)에 개별적으로 액세스하기 전에 상기 제2 데이터를 압축하여 상기 제3 데이터로 변환시킨다. 프레임 버퍼 컴프레서(200)는 상기 제3 데이터를 멀티미디어 아이피(100)로 다시 전송하고, 멀티미디어 아이피(100)는 상기 제3 데이터를 메모리(300)로 전송할 수 있다.The frame buffer compressor 200 compresses and converts the second data into the third data before the multimedia IP 100 individually accesses the memory 300 . The frame buffer compressor 200 may transmit the third data back to the multimedia IP 100 , and the multimedia IP 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 IP 100 and transmitted to the frame buffer compressor 200 . The frame buffer compressor 200 may decompress the third data to convert it into the second data. The frame buffer compressor 200 may transmit the second data back to the multimedia IP 100 .

즉, 멀티미디어 아이피(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, whenever 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 IP 100 individually access the memory 300 , The frame buffer compressor 200 may compress the second data into the third data and transmit it to the memory 300 . Conversely, whenever there is a data request from the memory 300 to the image signal processor 110 of the multimedia IP 100, the shake correction module 120, the multi-format codec 130, the GPU 140, and the display 150 The frame buffer compressor 200 decompresses the third data into the second data, and the image signal processor 110 of the multimedia IP 100, the shake correction module 120, the multi-format codec 130, and the GPU 140 ) and the display 150 , respectively.

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

시스템 버스(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 be connected to the multimedia IP 100 and the memory 300, respectively. 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 IP 100 may be individually connected to the system bus 400 . have. The system bus 400 includes the image signal processor 110 of the multimedia IP 100 , the shake correction module 120 , the multi-format codec 130 , the GPU 140 , the display 150 , and the memory 300 each other data It can be a route 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 , the shake correction module 120 , the multi-format codec 130 , the GPU 140 and the display of the multimedia IP 100 . When 150 accesses the memory, the second data may be converted into the third data and the third data may be converted into the second data.

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

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

인코더(210)는 멀티미디어 아이피(100)로부터 상기 제2 데이터를 받아 상기 제3 데이터를 생성할 수 있다. 이 때, 상기 제2 데이터는 멀티미디어 아이피(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로부터 각각 전송될 수 있다. 상기 제3 데이터는 멀티미디어 아이피(100) 및 시스템 버스(400)를 통해서 메모리(300)로 전송될 수 있다.The encoder 210 may receive the second data from the multimedia IP 100 and generate the third data. In this case, the second data 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 IP 100 , respectively. . The third data may be transmitted to the memory 300 through the multimedia IP 100 and the system bus 400 .

반대로, 디코더(220)는 메모리(300)에 저장된 상기 제3 데이터를 상기 제2 데이터로 압축해제할 수 있다. 상기 제2 데이터는 멀티미디어 아이피로 전달될 수 있다. 이 때, 상기 제2 데이터는 멀티미디어 아이피(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)로 각각 전달될 수 있다.Conversely, the decoder 220 may decompress the third data stored in the memory 300 into the second data. The second data may be delivered to the multimedia IP. In this case, the second data may be transmitted 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 IP 100 , respectively. .

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

도 3을 참조하면, 인코더(210)는 제1 모드 셀렉터(219), 예측 모듈(211), 양자화 모듈(213), 엔트로피 인코딩 모듈(215) 및 패딩 모듈(217)을 포함한다.Referring to FIG. 3 , 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)가 무손실 모드로 동작하는 경우에는, 상기 제2 데이터는 도 3의 무손실 경로(Lossless)를 따라서 압축되고, 인코더(210)가 손실 모드로 동작하는 경우에는, 상기 제2 데이터는 손실 경로(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 second data is compressed along the lossless path of FIG. 3 , and the encoder 210 operates in the lossless mode In this case, the second data may be compressed along a lossy path.

제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 IP 100 . In this case, lossless compression means compression without data loss, and a method in which a compression rate varies according to data. Contrary to this, 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)로 상기 제2 데이터를 유도할 수 있다. 반대로, 제1 모드 셀렉터(219)는 손실 모드인 경우에는 손실 경로(Lossy)를 따라서, 예측 모듈(211), 양자화 모듈(213) 및 엔트로피 인코딩 모듈(215)로 상기 제2 데이터를 유도할 수 있다.The first mode selector 219 may derive the second data to the prediction module 211 , the entropy encoding module 215 , and the padding module 217 along a lossless path in the lossless mode. Conversely, the first mode selector 219 may derive the second data to the prediction module 211, the quantization module 213, and the entropy encoding module 215 along the loss path (Lossy) in the loss mode. have.

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

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

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

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

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

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

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

패딩 모듈(217)은 무손실 모드에서 엔트로피 인코딩 모듈(215)에 의해서 압축된 상기 제2 데이터에 패딩(padding)을 수행할 수 있다. 여기서, 패딩이란 특정한 크기에 맞추기 위해서 무의미한 데이터를 추가하는 것을 의미할 수 있다. 이에 대해서는 추후에 더 자세히 설명한다.The padding module 217 may perform padding on the second data 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 described in more detail later.

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

압축 관리 모듈(218)은 양자화 및 엔트로피 코딩에 각각 사용되는 QP 테이블 및 엔트로피 테이블의 조합을 결정하고, 결정된 QP 테이블 및 엔트로피 테이블의 조합에 따라 상기 제2 데이터의 압축을 제어한다.The compression management module 218 determines a combination of a QP table and an entropy table used for quantization and entropy coding, respectively, and controls compression of the second data according to the determined combination of the QP table and the entropy table.

이 경우 제1 모드 셀렉터(219)는 인코더(210)가 손실(lossy) 모드로 동작하는 것으로 결정하고, 이에 따라, 상기 제2 데이터는 도 3의 손실 경로(Lossy)를 따라서 압축된다. 즉, 압축 관리 모듈(218)이 QP 테이블 및 엔트로피 테이블의 조합을 결정하고 결정된 QP 테이블 및 엔트로피 테이블의 조합에 따라 상기 제2 데이터를 압축하는 것은, 프레임 버퍼 컴프레서(200)가 손실 압축 알고리즘(lossy compression algorithm)을 이용하여 상기 제2 데이터에 대한 압축을 수행하는 경우가 전제된다.In this case, the first mode selector 219 determines that the encoder 210 operates in the lossy mode, and accordingly, the second data is compressed along the lossy path of FIG. 3 . That is, when the compression management module 218 determines the combination of the QP table and the entropy table and compresses the second data according to the determined combination of the QP table and the entropy table, the frame buffer compressor 200 loses a lossy compression algorithm. It is assumed that compression of the second data is performed using a compression algorithm).

구체적으로, QP 테이블은 하나 이상의 엔트리를 포함하고, 각각의 엔트리는 상기 제2 데이터를 양자화하기 위해 사용되는 양자화 계수를 포함할 수 있다. 상기 QP 테이블, 양자화 계수와 같은 개념은 이미지 압축 기술로서 이미 공지된 내용에 해당하므로 본 명세서에서는 그 구체적인 설명을 생략하도록 한다.Specifically, the QP table may include one or more entries, and each entry may include a quantization coefficient used to quantize the second data. Concepts such as the QP table and the quantization coefficient correspond to well-known contents as image compression techniques, and thus detailed descriptions thereof will be omitted herein.

한편, 엔트로피 테이블은 엔트로피 코딩 알고리즘을 수행하기 위해 k값을 통해 식별되는 복수의 코드 테이블을 의미하며, 본 발명의 몇몇의 실시예에서 사용될 수 있는 엔트로피 테이블은 지수 골롬 코드(exponential golomb code) 및 골롬 라이스 코드(golomb rice code) 중 적어도 하나를 포함할 수 있다. 엔트로피 코딩, 지수 골롬 코딩 알고리즘, 골롬 라이스 코딩 알고리즘 등에 관한 개념은 데이터 압축 기술로서 이미 공지된 내용에 해당하므로 본 명세서에서는 그 구체적인 설명을 생략하도록 한다.On the other hand, the entropy table means a plurality of code tables identified through k values to perform an entropy coding algorithm, and the entropy table that can be used in some embodiments of the present invention is an exponential Golomb code and a Golomb code. It may include at least one of rice code (golomb rice code). Concepts related to entropy coding, exponential Golomb coding algorithm, Golomb Rice coding algorithm, and the like correspond to well-known data compression techniques, and thus detailed description thereof will be omitted herein.

압축 관리 모듈(218)은 미리 결정된 개수의 엔트리를 포함하는 QP 테이블을 결정하고, 프레임 버퍼 컴프레서(200)는 상기 결정된 QP 테이블을 이용하여 예측이 완료된 이미지 데이터(10)에 대해 양자화를 수행한다. 또한 압축 관리 모듈(218)은 미리 결정된 개수의 k값을 이용하여 엔트로피 테이블을 결정하고, 프레임 버퍼 컴프레서(200)는 상기 결정된 엔트로피 테이블을 이용하여 양자화가 완료된 상기 제2 데이터에 대해 엔트로피 코딩을 수행한다. 즉, 프레임 버퍼 컴프레서(200)는, 압축 관리 모듈(218)에 의해 결정된 상기 QP 테이블 및 상기 엔트로피 테이블의 조합에 기반하여 상기 제3 데이터를 생성한다.The compression management module 218 determines a QP table including a predetermined number of entries, and the frame buffer compressor 200 quantizes the image data 10 for which prediction has been completed using the determined QP table. In addition, the compression management module 218 determines an entropy table using a predetermined number of k values, and the frame buffer compressor 200 performs entropy coding on the quantized second data using the determined entropy table. do. That is, the frame buffer compressor 200 generates the third data based on the combination of the QP table and the entropy table determined by the compression management module 218 .

이후, 프레임 버퍼 컴프레서(200)는 생성한 상기 제3 데이터를 메모리(300)에 라이트(write)할 수 있다. 또한, 프레임 버퍼 컴프레서(200)는, 메모리(300)로부터 상기 제3 데이터를 리드(read)하고, 리드한 상기 제3 데이터를 압축 해제하여 멀티미디어 IP(100)에 제공할 수 있다.Thereafter, the frame buffer compressor 200 may write the generated third data to the memory 300 . Also, the frame buffer compressor 200 may read the third data from the memory 300 , decompress the read third data and provide it to the multimedia IP 100 .

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

도 3 및 도 4를 참조하면, 디코더(220)는 제2 모드 셀렉터(229), 언패딩 모듈(227), 엔트로피 디코딩 모듈(225), 역양자화 모듈(223) 및 예측 보상 모듈(221)을 포함한다.3 and 4 , 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 . include

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

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

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

엔트로피 디코딩 모듈(225)은 엔트로피 인코딩 모듈(215)에 의해서 압축된 데이터를 압축해제할 수 있다. 엔트로피 디코딩 모듈(225)은 허프만 코딩, 익스포넨셜 골룸 코딩 또는 골룸 라이스 코딩을 통해서 압축해제를 수행할 수 있다. 상기 제3 데이터는 k값을 포함하고 있으므로, 엔트로피 디코딩 모듈(225)은 상기 k값을 이용하여 디코딩을 수행할 수 있다.The entropy decoding module 225 may decompress the 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 third data includes the k value, the entropy decoding module 225 may perform decoding using the k value.

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

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

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

압축 해제 관리 모듈(228)은 도 3과 관련하여 앞서 설명한 압축 관리 모듈(218)이 상기 제2 데이터의 압축을 수행하기 위해 결정했던 QP 테이블 및 엔트로피 테이블의 조합이, 상기 제3 데이터를 압축 해제할 때에 적절하게 반영될 수 있는 작업을 수행할 수 있다.The decompression management module 228 decompresses the third data by the combination of the QP table and the entropy table determined by the compression management module 218 to perform the compression of the second data, described above with reference to FIG. 3 . You can perform work that can be properly reflected when you do it.

본 발명의 몇몇 실시예에 다른 이미지 처리 장치의 제2 데이터는 YUV 방식의 데이터일 수 있다. 이 때, YUV 방식의 데이터는 YUV 420 포맷과 YUV 422 포맷을 가질 수 있다.The second data of the image processing apparatus according to some embodiments of the present invention may be YUV data. In this case, YUV data may have a YUV 420 format and a YUV 422 format.

도 5는 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 420 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.5 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 내지 도 5를 참조하면, 프레임 버퍼 컴프레서(200)의 인코더(210) 및 디코더(220)는 3가지 동작 모드를 가질 수 있다. YUV 420 포맷의 상기 제2 데이터는 16 x 16 크기의 휘도 신호 블록(Y)과 각각 8 x 8 크기의 제1 색차 신호 블록(Cb 또는 U) 및 제2 색차 신호 블록(Cr 또는 V)을 가질 수 있다. 여기서 각각의 블록의 크기는 몇 개의 행과 열로 정렬된 픽셀을 포함하는지를 의미하고, 16 x 16의 크기는 16개의 행과 16개의 열을 가지는 복수의 픽셀들이 구성하는 블록의 크기를 의미한다.1 to 5 , the encoder 210 and the decoder 220 of the frame buffer compressor 200 may have three operation modes. The second data in the YUV 420 format has a luminance signal block (Y) having a size of 16 x 16 and a first chrominance signal block (Cb or U) and a second chrominance signal block (Cr or V) having a size of 8 x 8, respectively. can Here, the size of each block means how many rows and columns are arranged pixels, 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: ① a concatenation mode, ② a partial concatenation mode, and ③ a separation mode. These three modes are for the data compression format, and may be an operation mode 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 for compressing and decompressing all of the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr. That is, in the connection mode (①), as shown in FIG. 5 , the compression unit block may be a block in which the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr are combined. Accordingly, the size of the unit block of compression may be 16×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 chrominance signal block (Cb) and the second chrominance signal block (Cr) can be combined and compressed and decompressed together. . Accordingly, the luminance signal block Y may have an original size of 16×16, and the block in which the first chrominance signal block Cb and the second chrominance signal block Cr are combined may be 16×8.

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

이에 따라서, 휘도 신호 블록(Y)의 개수가 N개이면, 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)의 개수는 각각 N/4개로 줄어들 수 있다.Accordingly, when the number of the luminance signal blocks Y is N, the number of the first color difference signal block Cb and the second color difference signal block 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 apparatus according to some embodiments of the present invention operates in the connected mode (①), all necessary data may be read through one access request to the memory 300 . In particular, when the multimedia IP 100 requires RGB data instead of YUV data, it is advantageous to operate in the connection mode (①). This is because, in the connection mode (①), 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, and in order to acquire 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 방식의 데이터가 필요할 때는 분리 모드(③)가 더 유리할 수 있다.On the other hand, the split mode (③) may require lower hardware resources when the compression unit block is smaller than that of the connected mode (①). Therefore, when the multimedia IP 100 requires data in the YUV format instead of the RGB format, the separation mode (③) may be more advantageous.

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

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

제2 모드 셀렉터(229)는 제1 모드 셀렉터(219)가 연결 모드(①), 일부 연결 모드(②) 및 분리 모드(③) 중 어느 모드로 압축하였는지에 따라서 상기 제3 데이터를 압축해제할 수 있다.The second mode selector 229 may decompress the third data according to which mode the first mode selector 219 compresses in the connected mode (①), some connected mode (②), and the separated mode (③). have.

도 6은 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 YUV 422 포맷 데이터에 대한 3가지 동작 모드를 설명하기 위한 개념도이다.6 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 내지 도 4 및 도 6을 참조하면, 프레임 버퍼 컴프레서(200)의 인코더(210) 및 디코더(220)는 YUV 422 포맷에 대해서도 3가지 동작 모드를 가질 수 있다. YUV 422 포맷의 상기 제2 데이터는 16 x 16 크기의 휘도 신호 블록(Y)과 각각 16 x 8 크기의 제1 색차 신호 블록(Cb 또는 U) 및 제2 색차 신호 블록(Cr 또는 V)을 가질 수 있다. 1 to 4 and 6 , the encoder 210 and the decoder 220 of the frame buffer compressor 200 may have three operation modes even for the YUV 422 format. The second data in the YUV 422 format has a luminance signal block (Y) having a size of 16 x 16 and a first chrominance signal block (Cb or U) and a second chrominance signal block (Cr or V) having a size of 16 x 8, respectively. can

연결 모드(①)에서는 압축의 단위 블록이 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록일 수 있다. 이에 따라서, 압축의 단위 블록의 크기는 16 x 32일 수 있다.In the connection mode (①), the compression unit block may be a block in which the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr are combined. Accordingly, the size of the unit block of compression may be 16×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 chrominance signal block (Cb) and the second chrominance signal block (Cr) can be combined and compressed and decompressed together. . Accordingly, the luminance signal block Y may have an original size of 16×16, and the block in which the first chrominance signal block Cb and the second chrominance signal block Cr are combined may be 16×16. Accordingly, the size of the block in which the luminance signal block Y, the first chrominance signal block Cb, and the second chrominance 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의 크기로 크게할 수 있다.The separation mode (③) is an operation mode for separately compressing and decompressing the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr. At this time, in order to make the size of the unit blocks of compression and decompression the same, the luminance signal block Y is maintained at the original size of 16 x 16, but the first color difference signal block Cb and the second color difference signal block Y Cr) can be enlarged to a size of 16 x 16.

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

도 7은 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이고, 도 8은 도 7의 무손실 압축된 데이터의 압축 방식을 설명하기 위한 표이다.FIG. 7 is a diagram for explaining a structure of data losslessly compressed by the image processing apparatus of the present invention, and FIG. 8 is a table for explaining a compression method for lossless compressed data of FIG. 7 .

도 1 내지 도 8을 참조하면, 상기 제3 데이터는 페이로드(Payload) 및 헤더(Header)를 포함할 수 있다.1 to 8 , the third data may include a payload and a header.

헤더(Header)는 압축률을 표시하기 위한 부분이고, 페이로드(Payload)는 실제 압축된 데이터와 압축해제를 위해 필요한 값들을 표시하기 위한 부분이다.The header is a part for displaying the compression rate, and the payload is a part for displaying the actual compressed data and values necessary for decompression.

도 8은 예시적으로, 블록 사이즈가 16 x 16인 블록의 무손실 압축을 설명하기 위한 표이다. 데이터의 포맷은 YUV 420이고, 동작 모드는 분리 모드(③)이므로, 도 5의 휘도 신호 블록(Y)이나, 제1 색차 신호 블록(Cb) 또는 제2 색차 신호 블록(Cr)이 이에 해당될 수 있다. 픽셀 뎁스(pixel depth)는 하나의 픽셀에 표현된 값의 bit값을 의미한다. 예를 들어, 0 내지 255의 값이 표현되기 위해서는 픽셀 뎁스가 8 bit여야만 한다. 따라서, 도 8의 예시에서도 각각의 픽셀에 표현되는 값은 0 내지 255일 수 있다.8 is a table for explaining lossless compression of a block having a block size of 16×16 by way of example. Since the format of the data is YUV 420 and the operation mode is the separation mode (③), the luminance signal block Y, the first color difference signal block Cb, or the second color difference signal block Cr of FIG. 5 may correspond to this. can A pixel depth means a bit value of a value expressed in one pixel. For example, in order to represent a value of 0 to 255, the pixel depth must be 8 bits. Accordingly, even in the example of FIG. 8 , the value expressed in each pixel may be 0 to 255.

메모리(300)는 하드웨어적으로 한번에 액세스 가능한 데이터의 크기가 정해져 있다. 메모리(300)의 데이터 액세스 단위 크기는 이러한 한번에 메모리(300) 내에 액세스 가능한 데이터의 크기를 의미할 수 있다. 도 8에서는 편의상, 메모리(300)의 데이터 액세스 단위 크기가 32byte라고 가정하여 설명한다.In the memory 300 , the size of data that can be accessed at one time is determined by hardware. The data access unit size of the memory 300 may mean the size of data that can be accessed in the memory 300 at one time. In FIG. 8 , for convenience, it is assumed that the data access unit size of the memory 300 is 32 bytes.

하나의 픽셀은 8bit 즉 1byte의 크기의 데이터를 가지고 있고, 16 x 16의 블록은 총 256 byte의 크기의 데이터를 가질 수 있다. 즉, 상기 제2 데이터의 크기는 256byte일 수 있다.One pixel has data of 8 bits, that is, 1 byte, and a 16 x 16 block can have a total of 256 bytes of data. That is, the size of the second data may be 256 bytes.

무손실 압축의 경우에는 압축 데이터의 크기가 매번 달라질 수 있고, 이를 메모리(300)에서 리드(read)하기 위해서는 상기 압축 데이터의 크기가 따로 기록되어야 한다. 그러나, 상기 압축 데이터의 크기를 그대로 기록하는 경우에는 그 기록의 사이즈에 의해서 압축 효율이 낮아질 수 있으므로, 압축률을 규격화하여 압축 효율을 높일 수 있다.In the case of lossless compression, the size of the compressed data may vary each time, and in order to read it from the memory 300 , the size of the compressed data must be separately recorded. However, when the size of the compressed data is recorded as it is, the compression efficiency may be lowered depending on the size of the recording, so that the compression efficiency may be increased by standardizing the compression ratio.

구체적으로, 도 8에서는 메모리(300)의 데이터 액세스 단위 크기인 32byte에 따라서 압축률의 규격을 정의하였다. 즉, 상기 압축 데이터의 크기가 0 내지 32 byte인 경우에는 압축률이 100 내지 87.5%이므로 이 때에는 압축률을 87.5%로 맞추는 작업(즉, 상기 압축 데이터의 크기를 32byte로 맞추는 작업)을 수행하고, 헤더(Header)에 0을 기록할 수 있다. 마찬가지로, 상기 압축 데이터의 크기가 161 내지 192 byte인 경우에는 압축률이 37.5 내지 25%이므로 이 때에는 압축률을 25%로 맞추는 작업(즉, 상기 압축 데이터의 크기를 192byte로 맞추는 작업)을 수행하고, 헤더(Header)에 5를 기록할 수 있다.Specifically, in FIG. 8 , the compression ratio standard is defined according to 32 bytes, which is the data access unit size of the memory 300 . That is, when the size of the compressed data is 0 to 32 bytes, since the compression rate is 100 to 87.5%, in this case, the operation of adjusting the compression rate to 87.5% (that is, the operation of adjusting the size of the compressed data to 32 bytes) is performed, and the header 0 can be written in (Header). Similarly, when the size of the compressed data is 161 to 192 bytes, since the compression rate is 37.5 to 25%, in this case, the operation of adjusting the compression rate to 25% (that is, the operation of adjusting the size of the compressed data to 192 bytes) is performed, and the header 5 can be written in (Header).

도 3의 패딩 모듈(217)은 상기와 같이 상기 압축 데이터의 크기를 그 규격의 최대 크기로 맞추는 작업을 수행할 수 있다. 즉, 상기 압축 데이터의 크기가 170byte인 경우에는 161 내지 192 byte 사이이므로 22byte의 "0"을 추가하는 패딩 작업을 수행하여 상기 압축 데이터가 192byte가 되도록 할 수 있다.The padding module 217 of FIG. 3 may adjust the size of the compressed data to the maximum size of the standard as described above. That is, when the size of the compressed data is 170 bytes, it is between 161 and 192 bytes, so a padding operation for adding "0" of 22 bytes can be performed so that the compressed data becomes 192 bytes.

이렇게 패딩 모듈(217)에 의해서 크기가 규격에 맞추어진 상기 압축 데이터는 상기 제3 데이터의 페이로드(Payload)가 될 수 있다. 이에 따라서, 페이로드(Payload)의 크기(n1 bit)는 메모리(300)의 데이터 액세스 단위 크기의 정수배일 수 있다.In this way, the compressed data whose size is matched to the standard by the padding module 217 may be a payload of the third data. Accordingly, the size (n1 bit) of the payload may be an integer multiple of the size of the data access unit of the memory 300 .

헤더(Header)는 도 8의 헤더 인덱스(header index)를 표현하기 위한 부분일 수 있다. 헤더(Header)의 크기는 상기 압축 데이터의 크기에 따라 달라질 수 있지만, 도 8과 같은 경우 0 내지 7만 표현하면 되므로 3bit가 될 수 있다.The header may be a part for expressing the header index of FIG. 8 . The size of the header may vary depending on the size of the compressed data, but in the case of FIG. 8, only 0 to 7 need to be expressed, and thus may be 3 bits.

헤더(Header)와 페이로드(Payload)는 메모리(300)의 서로 다른 영역에 저장될 수 있다. 즉, 헤더(Header)는 다른 헤더(Header)와 인접하게 저장되고, 페이로드(Payload)는 다른 페이로드(Payload)와 인접하게 저장될 수 있다. The header and the payload may be stored in different regions of the memory 300 . That is, a header may be stored adjacent to another header, and a payload may be stored adjacent to another payload.

페이로드(Payload)는 바이너리 코드(binary code)와 k값 코드(k value code)를 포함할 수 있다. 바이너리 코드(binary code)는 상기 제2 데이터가 압축된 부분일 수 있다. k값 코드(k value code)는 엔트로피 인코딩 모듈(215)에서 정해진 k값을 의미할 수 있다.The payload may include a binary code and a k value code. A binary code may be a compressed portion of the second data. The k value code may mean a k value determined by the entropy encoding module 215 .

바이너리 코드(binary code)는 전체 블록의 데이터 값을 포함할 수 있다. 따라서, 바이너리 코드(binary code)는 블록에 포함되어 있는 각각의 픽셀에 대한 데이터를 연속적으로 포함할 수 있다.The binary code may include data values of the entire block. Accordingly, the binary code may continuously include data for each pixel included in the block.

현재 모드가 분리 모드(③)이므로 k값 코드(k value code)는 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr) 중 어느 하나에 대한 k값일 수 있다.Since the current mode is the separation mode (③), the k value code may be a k value for any one of the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr. have.

도 9는 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이고, 도 10은 도 9의 무손실 압축된 데이터의 압축 방식을 설명하기 위한 표이다.9 is a diagram for explaining the structure of data losslessly compressed by the image processing apparatus of the present invention, and FIG. 10 is a table for explaining the compression method of the lossless compressed data of FIG. 9 .

도 10은 예시적으로, 블록 사이즈가 16 x 8인 블록의 무손실 압축을 설명하기 위한 표이다. 데이터의 포맷은 YUV 420이고, 동작 모드는 일부 연결 모드(②)이므로, 도 5의 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록이 이에 해당될 수 있다. 도 10에서도 편의상, 메모리(300)의 데이터 액세스 단위 크기가 32byte라고 가정하여 설명한다.10 is a table for explaining lossless compression of a block having a block size of 16×8 by way of example. Since the format of the data is YUV 420 and the operation mode is a partial connection mode (②), the block in which the first color difference signal block Cb and the second color difference signal block Cr of FIG. 5 are combined may correspond to this. Also in FIG. 10 for convenience, it is assumed that the data access unit size of the memory 300 is 32 bytes.

16 x 8의 블록은 총 128 byte의 크기의 데이터를 가질 수 있다. 즉, 상기 제2 데이터의 크기는 128byte일 수 있다.A block of 16 x 8 may have a total size of 128 bytes of data. That is, the size of the second data may be 128 bytes.

메모리(300)의 데이터 액세스 단위 크기인 32byte에 따라서 압축률의 규격을 정의하였다. 즉, 상기 압축 데이터의 크기가 0 내지 32 byte인 경우에는 압축률이 100 내지 75%이므로 이 때에는 압축률을 75%로 맞추는 작업(즉, 상기 압축 데이터의 크기를 32byte로 맞추는 작업)을 수행하고, 헤더(Header)에 0을 기록할 수 있다. 마찬가지로, 상기 압축 데이터의 크기가 97 내지 128 byte인 경우에는 압축률이 25 내지 0%이므로 이 때에는 압축률을 0%로 맞추는 작업(즉, 상기 압축 데이터의 크기를 128byte로 맞추는 작업)을 수행하고, 헤더(Header)에 3을 기록할 수 있다. 이는 도 3의 패딩 모듈(217)에 의해서 수행될 수 있다.The standard of the compression rate was defined according to 32 bytes, which is the data access unit size of the memory 300 . That is, when the size of the compressed data is 0 to 32 bytes, the compression rate is 100 to 75%. In this case, the operation of adjusting the compression rate to 75% (that is, the operation of adjusting the size of the compressed data to 32 bytes) is performed, and the header 0 can be written in (Header). Similarly, when the size of the compressed data is 97 to 128 bytes, since the compression rate is 25 to 0%, in this case, the operation of adjusting the compression rate to 0% (that is, the operation of adjusting the size of the compressed data to 128 bytes) is performed, and the header 3 can be written in (Header). This may be performed by the padding module 217 of FIG. 3 .

도 9를 참조하면, 이렇게 패딩 모듈(217)에 의해서 크기가 규격에 맞추어진 상기 압축 데이터는 상기 제3 데이터의 페이로드(Payload)가 될 수 있다. 이에 따라서, 페이로드(Payload)의 크기(n2 bit)는 메모리(300)의 데이터 액세스 단위 크기의 정수배일 수 있다.Referring to FIG. 9 , the compressed data whose size meets the standard by the padding module 217 may be a payload of the third data. Accordingly, the size (n2 bits) of the payload may be an integer multiple of the size of the data access unit of the memory 300 .

페이로드(Payload)는 바이너리 코드(binary code)와 k값 코드(k value code)를 포함할 수 있다. 현재 모드가 일부 연결 모드(②)이고, 블록 사이즈 16 x 8의 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록이므로 k값 코드(k value code)는 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))를 포함할 수 있다. 이 때, 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))의 배치 순서는 얼마든지 바뀔 수 있다.The payload may include a binary code and a k value code. Since the current mode is a partial connection mode (②) and a block in which the first color difference signal block Cb and the second color difference signal block Cr of a block size of 16 x 8 are combined, the k value code is the first It may include a k value code (Cb) of the chrominance signal block Cb and a k value code (Cr) of the second chrominance signal block Cr. In this case, the arrangement order of the k value code (Cb) of the first color difference signal block Cb and the k value code (Cr) of the second color difference signal block Cr is arbitrary. can change

이 때, 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 페이로드(Payload)는 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))가 각각 존재하지 않고 하나의 k값 코드만을 공유할 수도 있다. 이 때는 당연히 k값 코드가 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)에서도 동일할 수 있다.In this case, the payload of the image processing apparatus according to some embodiments of the present invention includes the k value code (Cb) of the first color difference signal block Cb and the second color difference signal block Cr ), k value code (Cr) may not exist, and only one k value code may be shared. In this case, of course, the k-value code may be the same in the first color difference signal block Cb and the second color difference signal block Cr.

도 9는 일부 연결 모드(②)에서 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록의 데이터 구조를 설명한 도면이므로, 바이너리 코드(binary code)는 제1 색차 신호 블록(Cb)에 대한 데이터와, 제2 색차 신호 블록(Cr)에 대한 데이터를 모두 포함할 수 있다.9 is a diagram illustrating a data structure of a block in which the first color difference signal block Cb and the second color difference signal block Cr are combined in a partial connection mode (②), so that the binary code corresponds to the first color difference signal block Both data for the block Cb and data for the second color difference signal block Cr may be included.

이 때, 바이너리 코드(binary code)에서, 모든 픽셀에 대해서 제1 색차 신호 블록(Cb)에 대한 데이터가 먼저 배치되고, 이어서, 모든 픽셀에 대해서 제2 색차 신호 블록(Cr)에 대한 데이터를 배치할 수 있다. 즉, 제1 색차 신호 블록(Cb)의 데이터와 제2 색차 신호 블록(Cr)의 데이터가 구분되어 배치될 수 있다. 물론, 제1 색차 신호 블록(Cb)의 데이터와 제2 색차 신호 블록(Cr)의 데이터의 배치 순서는 달라질 수 있다.In this case, in the binary code, data for the first color difference signal block Cb is first arranged for all pixels, and then data for the second color difference signal block Cr is arranged for all pixels. can do. That is, the data of the first color difference signal block Cb and the data of the second color difference signal block Cr may be separately arranged. Of course, the arrangement order of the data of the first color difference signal block Cb and the data of the second color difference signal block Cr may be different.

이와 달리, 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 바이너리 코드(binary code)는 하나의 픽셀에 대해서 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)의 데이터가 연속적으로 배치되고, 다시 다른 픽셀에 대하여 제1 색차 신호 블록(Cb)과 제2 색차 신호 블록(Cr)의 데이터가 연속적으로 배치되는 인터리빙(interleaving) 구조일 수도 있다.In contrast, in the binary code of the image processing apparatus according to some embodiments of the present invention, data of the first chrominance signal block Cb and the second chrominance signal block Cr are successively generated for one pixel. It may have an interleaving structure in which data of the first chrominance signal block Cb and the second chrominance signal block Cr are continuously arranged with respect to another pixel.

이러한 구조는 분리 모드(③)에서는 하나의 플레인만 포함하므로 고려할 필요가 없으나, 연결 모드(①) 및 일부 연결 모드(②)에서는 복수의 플레인이 포함되므로 배치 구조가 달라질 수 있다.This structure does not need to be considered because only one plane is included in the separation mode (③), but the arrangement structure may be different because a plurality of planes are included in the connection mode (①) and some connection modes (②).

따라서, 연결 모드(①)에서도 바이너리 코드(binary code)에서 모든 픽셀에 대한 휘도 신호 블록(Y)의 데이터, 모든 픽셀에 대한 제1 색차 신호 블록(Cb)의 데이터 및 모든 픽셀에 대한 제2 색차 신호 블록(Cr)의 데이터가 별도로 배치될 수 있다. 물론, 휘도 신호 블록(Y)의 데이터와, 제1 색차 신호 블록(Cb)의 데이터와, 제2 색차 신호 블록(Cr)의 데이터의 배치 순서는 달라질 수 있다.Accordingly, even in the connected mode (①), data of the luminance signal block Y for all pixels, data of the first color difference signal block Cb for all pixels, and second color difference for all pixels in binary code Data of the signal block Cr may be separately disposed. Of course, the arrangement order of the data of the luminance signal block Y, the data of the first color difference signal block Cb, and the data of the second color difference signal block Cr may be different.

또는, 연결 모드(①)의 바이너리 코드(binary code)에서 하나의 픽셀에 대해서 먼저 휘도 신호 블록(Y)의 데이터, 제1 색차 신호 블록(Cb)의 데이터 및 제2 색차 신호 블록(Cr)의 데이터가 먼저 배치되고, 이어서 다른 픽셀에 대해서 휘도 신호 블록(Y)의 데이터, 제1 색차 신호 블록(Cb)의 데이터 및 제2 색차 신호 블록(Cr)의 데이터가 배치될 수도 있다.Alternatively, in the binary code of the connection mode (①), for one pixel, first, the data of the luminance signal block Y, the data of the first color difference signal block Cb, and the data of the second color difference signal block Cr Data may be arranged first, and then data of the luminance signal block Y, data of the first chrominance signal block Cb, and data of the second chrominance signal block Cr may be arranged for other pixels.

즉, 바이너리 코드(binary code)는 플레인별로 데이터가 배치될 수도 있고, 픽셀별로 데이터가 배치(인터리빙 구조)될 수도 있다.That is, in the binary code, data may be arranged for each plane or data may be arranged for each pixel (interleaving structure).

도 11은 본 발명의 이미지 처리 장치에 의해서 무손실 압축된 데이터의 구조를 설명하기 위한 도면이다.11 is a diagram for explaining the structure of data losslessly compressed by the image processing apparatus of the present invention.

도 11을 참조하면, 현재 모드가 연결 모드(①)이면, 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록을 압축하므로 k값 코드(k value code)는 휘도 신호 블록(Y)의 k값 코드(k value code(Y)), 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))를 포함할 수 있다. 이 때, 휘도 신호 블록(Y)의 k값 코드(k value code(Y)), 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))의 배치 순서는 얼마든지 바뀔 수 있다.Referring to FIG. 11 , if the current mode is the connected mode (①), the block in which the luminance signal block Y, the first chrominance signal block Cb, and the second chrominance signal block are combined compresses the k-value code. (k value code) is a k value code (k value code(Y)) of the luminance signal block Y, a k value code (k value code(Cb)) of the first color difference signal block Cb, and a second color difference signal It may include a k value code (Cr) of the block Cr. At this time, the k value code (k value code (Y)) of the luminance signal block (Y), the k value code (k value code (Cb)) of the first color difference signal block (Cb), and the second color difference signal block (Cr) The arrangement order of the k value code (Cr) of ) can be changed at any time.

이 때, 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 페이로드(Payload)는 휘도 신호 블록(Y)의 k값 코드(k value code(Y)), 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)) 및 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr))가 각각 존재하지 않고 하나의 k값 코드만을 공유할 수도 있다. 이 때는 당연히 k값 코드가 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)에서도 동일할 수 있다.In this case, the payload of the image processing apparatus according to some embodiments of the present invention includes the k value code (Y) of the luminance signal block Y and the k value code (Y) of the first chrominance signal block Cb. A k value code (Cb) and a k value code (Cr) of the second color difference signal block Cr do not exist, respectively, and only one k value code may be shared. In this case, of course, the k-value code may be the same in the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr.

또는, 3개의 플레인 중 2개만이 같은 k값 코드를 공유하는 경우 총 2개의 k값 코드가 페이로드(Payload)에 포함될 수도 있다.Alternatively, when only two of the three planes share the same k-value code, a total of two k-value codes may be included in a payload.

바이너리 코드(binary code)와 k값 코드(k value code)를 포함하는 페이로드(Payload)의 크기(n3 bit)는 메모리(300)의 데이터 액세스 단위 크기의 정수배일 수 있다.The size (n3 bits) of a payload including a binary code and a k value code may be an integer multiple of the data access unit size of the memory 300 .

도 12는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.12 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.

도 12를 참조하면, 손실 모드에서 압축된 상기 제3 데이터는 헤더가 없이 페이로드(Payload)만을 포함할 수 있다. Referring to FIG. 12 , the third data compressed in the lossy mode may include only a payload without a header.

페이로드(Payload)는 바이너리 코드(binary code), k값 코드(k value code) 및 양자화 계수 코드(QP code)를 포함할 수 있다. 양자화 계수 코드(QP code)는 도 3의 양자화 모듈(213)이 사용한 양자화 계수를 표시하기 위한 부분일 수 있다. 추후에 디코더(220)의 역양자화 모듈(223)은 상기 양자화 계수 코드(QP code)를 이용하여 양자화 모듈(213)에 의해서 압축된 데이터를 압축해제할 수 있다.The payload may include a binary code, a k value code, and a quantization coefficient code (QP code). The quantization coefficient code (QP code) may be a part for indicating the quantization coefficient used by the quantization module 213 of FIG. 3 . Subsequently, the inverse quantization module 223 of the decoder 220 may decompress the data compressed by the quantization module 213 using the quantization coefficient code (QP code).

도 12의 상기 제3 데이터는 분리 모드(③)에 따른 상기 제3 데이터의 구조일 수 있다. 따라서, k값 코드(k value code) 및 양자화 계수 코드(QP code)가 각각 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr) 중 어느 하나에 대한 것만 존재할 수 있다.The third data of FIG. 12 may have a structure of the third data according to the separation mode (③). Accordingly, the k value code and the quantization coefficient code QP code are only for one of the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr, respectively. may exist.

손실 모드에서는 압축률이 고정되어 있으므로 상기 제3 데이터의 크기 즉, 페이로드(Payload)의 크기(m1 bit)는 고정될 수 있다.In the lossy mode, since the compression ratio is fixed, the size of the third data, that is, the size (m1 bit) of the payload may be fixed.

도 13은 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.13 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.

도 13을 참조하면, 페이로드(Payload)는 바이너리 코드(binary code), k값 코드(k value code) 및 양자화 계수 코드(QP code)를 포함할 수 있다. 도 13의 상기 제3 데이터는 일부 연결 모드(②)에서, 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록의 상기 제3 데이터의 구조일 수 있다. 따라서, k값 코드(k value code) 및 양자화 계수 코드(QP code)가 각각 2개씩 존재할 수 있다. 구체적으로, 페이로드(Payload)는 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)), 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr)), 제1 색차 신호 블록(Cb)의 양자화 계수 코드(QP code(Cb)) 및 제2 색차 신호 블록(Cr)의 양자화 계수 코드(QP code(Cr))를 포함할 수 있다.Referring to FIG. 13 , a payload may include a binary code, a k value code, and a quantization coefficient code (QP code). The third data of FIG. 13 may have a structure of the third data of a block in which the first chrominance signal block Cb and the second chrominance signal block Cr are combined in a partial connection mode (②). Accordingly, two k value codes and two quantization coefficient codes (QP codes) may exist. Specifically, the payload includes a k value code (Cb) of the first color difference signal block Cb and a k value code of the second color difference signal block Cr (k value code (Cr)). , a quantization coefficient code QP code(Cb) of the first color difference signal block Cb and a quantization coefficient code QP code(Cr) of the second color difference signal block Cr.

제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)), 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr)), 제1 색차 신호 블록(Cb)의 양자화 계수 코드(QP code(Cb)), 제2 색차 신호 블록(Cr)의 양자화 계수 코드(QP code(Cr)) 및 바이너리 코드(binary code)의 순서는 얼마든지 달라질 수 있다.The k value code (Cb) of the first color difference signal block Cb, the k value code (Cr) of the second color difference signal block Cr, and the first color difference signal block Cb The order of the quantization coefficient code (QP code(Cb)), the quantization coefficient code (QP code(Cr)) of the second color difference signal block (Cr), and the binary code may be changed.

이 때, 상기 2개의 k값 코드는 서로 공유될 수 있다. 따라서, 동일한 k값 코드를 공유할 때는 1개의 k값 코드만이 존재할 수 있다.In this case, the two k-value codes may be shared with each other. Therefore, when sharing the same k-value code, only one k-value code can exist.

마찬가지로, 상기 2개의 양자화 계수 코드는 서로 공유될 수 있다. 따라서, 동일한 양자화 계수 코드를 공유할 때는 1개의 양자화 계수 코드만이 존재할 수 있다.도 14는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.Likewise, the two quantization coefficient codes may be shared with each other. Accordingly, when the same quantization coefficient code is shared, only one quantization coefficient code may exist. FIG. 14 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.

도 14를 참조하면, 페이로드(Payload)는 바이너리 코드(binary code), k값 코드(k value code) 및 양자화 계수 코드(QP code)를 포함할 수 있다. 도 14의 상기 제3 데이터는 연결 모드(①)에서, 휘도 신호 블록(Y), 제1 색차 신호 블록(Cb) 및 제2 색차 신호 블록(Cr)이 결합된 블록의 상기 제3 데이터의 구조일 수 있다. 따라서, k값 코드(k value code) 및 양자화 계수 코드(QP code)가 각각 3개씩 존재할 수 있다. 구체적으로, 페이로드(Payload)는 휘도 신호 블록(Y)의 k값 코드(k value code(Y)), 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)), 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr)), 휘도 신호 블록(QP code(Y)), 제1 색차 신호 블록(Cb)의 양자화 계수 코드(QP code(Cb)) 및 제2 색차 신호 블록(Cr)의 양자화 계수 코드(QP code(Cr))를 포함할 수 있다.Referring to FIG. 14 , a payload may include a binary code, a k value code, and a quantization coefficient code (QP code). The third data of FIG. 14 has a structure of the third data of a block in which the luminance signal block Y, the first color difference signal block Cb, and the second color difference signal block Cr are combined in the connection mode (①). can be Accordingly, three k value codes and three quantization coefficient codes (QP codes) may exist. Specifically, the payload includes a k value code (K value code (Y)) of the luminance signal block (Y), a k value code (k value code (Cb)) of the first chrominance signal block (Cb), and a second The k value code (Cr) of the two color difference signal block (Cr), the luminance signal block (QP code (Y)), the quantization coefficient code (QP code (Cb)) of the first color difference signal block (Cb) and a quantization coefficient code QP code(Cr) of the second color difference signal block Cr.

휘도 신호 블록(Y)의 k값 코드(k value code(Y)), 제1 색차 신호 블록(Cb)의 k값 코드(k value code(Cb)), 제2 색차 신호 블록(Cr)의 k값 코드(k value code(Cr)), 휘도 신호 블록(QP code(Y)), 제1 색차 신호 블록(Cb)의 양자화 계수 코드(QP code(Cb)), 제2 색차 신호 블록(Cr)의 양자화 계수 코드(QP code(Cr)) 및 바이너리 코드(binary code)의 순서는 얼마든지 달라질 수 있다.The k value code (k value code (Y)) of the luminance signal block (Y), the k value code (k value code (Cb)) of the first color difference signal block (Cb), the k value of the second color difference signal block (Cr) A value code (k value code(Cr)), a luminance signal block (QP code(Y)), a quantization coefficient code (QP code(Cb)) of the first color difference signal block (Cb), and a second color difference signal block (Cr) The order of the quantization coefficient code (QP code(Cr)) and the binary code of ? may vary.

이 때, 상기 3개의 k값 코드는 서로 공유될 수 있다. 따라서, 모두 동일한 k값 코드를 공유할 때는 1개의 k값 코드만이 존재할 수 있고, 3개의 플레인 중 2개의 플레인만이 서로 k값 코드를 공유하는 경우 2개의 k값 코드가 존재할 수 있다.In this case, the three k-value codes may be shared with each other. Accordingly, when all of them share the same k-value code, only one k-value code may exist, and when only two of the three planes share the k-value code with each other, two k-value codes may exist.

마찬가지로, 상기 3개의 양자화 계수 코드는 서로 공유될 수 있다. 따라서, 모두 동일한 양자화 계수 코드를 공유할 때는 1개의 양자화 계수 코드만이 존재할 수 있고, 3개의 플레인 중 2개의 플레인만이 서로 양자화 계수 코드를 공유하는 경우 2개의 양자화 계수 코드가 존재할 수 있다.Likewise, the three quantization coefficient codes may be shared with each other. Accordingly, only one quantization coefficient code may exist when all share the same quantization coefficient code, and two quantization coefficient codes may exist when only two of the three planes share the quantization coefficient code with each other.

이하, 도 1 내지 도 6 및 도 15를 참조하여, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치를 설명한다. 상술한 설명과 동일한 부분의 설명은 간략히 하거나 생략한다.Hereinafter, an image processing apparatus according to some embodiments of the present invention will be described with reference to FIGS. 1 to 6 and 15 . Descriptions of the same parts as those described above will be simplified or omitted.

도 15는 본 발명의 이미지 처리 장치에 의해서 손실 압축된 데이터의 구조를 설명하기 위한 도면이다.15 is a diagram for explaining the structure of data lossily compressed by the image processing apparatus of the present invention.

도 1 내지 도 6 및 도 15를 참조하면, 손실 모드에서, 페이로드(Payload)는 k값 코드없이 바이너리 코드(binary code) 및 최대 양자화 계수 코드(QP code(max))만을 포함할 수 있다. 이 때, 최대 양자화 계수 코드(QP code(max))에 저장된 양자화 계수는 가능한 양자화 계수중 최대값일 수 있다. 픽셀 데이터의 값이 0 내지 28-1(=255)사이라면, 양자화 계수는 1/(2n-1)(여기서, n은 8 이하의 정수)로 정의될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.1 to 6 and 15 , in the lossy mode, the payload may include only a binary code and a maximum quantization coefficient code (QP code(max)) without a k-value code. In this case, the quantization coefficient stored in the maximum quantization coefficient code QP code(max) may be the maximum value among possible quantization coefficients. If the value of the pixel data is between 0 and 2 8 -1 (=255), the quantization coefficient may be defined as 1/(2 n -1) (where n is an integer less than or equal to 8). However, the present embodiment is not limited thereto.

엔트로피 인코딩 모듈(215)은 유사한 데이터의 빈도수에 따라서 비트를 할당하는 방식으로 수행되는데, 양자화 계수가 최대값이 되면 유사한 데이터의 빈도수가 크지 않으므로, 엔트로피 인코딩을 수행하는 것이 오히려 데이터의 사이즈를 크게할 수 있다. The entropy encoding module 215 is performed in a manner of allocating bits according to the frequency of similar data. When the quantization coefficient becomes the maximum value, the frequency of similar data is not large, so performing entropy encoding would rather increase the size of data. can

따라서, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치의 상기 제2 데이터는 인코더()의 양자화 모듈()에 의해서 바로 상기 제3 데이터로 변환되고, 별도로 엔트로피 인코딩 모듈()을 거치지 않을 수 있다.Accordingly, the second data of the image processing apparatus according to some embodiments of the present invention may be directly converted into the third data by the quantization module ( ) of the encoder ( ), and may not separately go through the entropy encoding module ( ).

따라서, 본 발명의 몇몇 실시예들에 따른 이미지 처리 장치의 인코더(210)는 양자화 모듈(213)의 양자화 계수가 최대값이 되는 경우에는 페이로드(Payload)에 k값 코드를 포함하지 않고, 바이너리 코드(binary code) 및 최대 양자화 계수 코드(QP code(max))만을 포함할 수 있다.Accordingly, when the quantization coefficient of the quantization module 213 becomes the maximum value, the encoder 210 of the image processing apparatus according to some embodiments of the present invention does not include the k-value code in the payload, and does not include the binary code. It may include only a code (binary code) and a maximum quantization coefficient code (QP code(max)).

이하, 도 16을 참조하여, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치를 설명한다. 상술한 설명과 동일한 부분의 설명은 간략히 하거나 생략한다.Hereinafter, an image processing apparatus according to some embodiments of the present invention will be described with reference to FIG. 16 . Descriptions of the same parts as those described above will be simplified or omitted.

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

도 16을 참조하면, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치의 프레임 버퍼 컴프레서(200)는 시스템 버스(400)와 직접 연결될 수 있다. Referring to FIG. 16 , the frame buffer compressor 200 of the image processing apparatus 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 IP 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 IP 100 each receive a frame buffer through the system bus 400 . The compressor 200 and data are transmitted to each other, and data can 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 correction module 120 , the multi-format codec 130 , the GPU 140 , and the display 150 of the multimedia IP 100 are respectively connected to the system bus 400 through the system bus 400 . The second data may be transmitted to the frame buffer compressor 200 . Subsequently, the frame buffer compressor 200 may compress the second data into the third data, and transmit it back to the memory 300 through the system bus 400 .

마찬가지로, 압축해제 과정에서도 메모리(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 into the second data. Then, the frame buffer compressor 200 transmits the second data through the system bus 400 to the image signal processor 110 of the multimedia IP 100 , the shake correction module 120 , the multi-format codec 130 , and the GPU. 140 and the display 150, respectively.

본 실시예의 경우, 프레임 버퍼 컴프레서가 멀티미디어 아이피(100)의 이미지 신호 프로세서(110), 흔들림 보정 모듈(120), 멀티 포맷 코덱(130), GPU(140) 및 디스플레이(150)와 개별적으로 연결되지 않아도 시스템 버스를 통해서 연결될 수 있어 하드웨어 구성이 단순해지고, 동작 속도가 향상될 수 있다.In this embodiment, the frame buffer compressor is not individually connected 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 IP 100. Since it can be connected through a system bus even without a hardware configuration, the hardware configuration can be simplified and the operation speed can be improved.

이하, 도 16을 참조하여, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치를 설명한다. 상술한 설명과 동일한 부분의 설명은 간략히 하거나 생략한다.Hereinafter, an image processing apparatus according to some embodiments of the present invention will be described with reference to FIG. 16 . Descriptions of the same parts as those described above will be simplified or omitted.

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

도 16을 참조하면, 본 발명의 몇몇 실시예에 따른 이미지 처리 장치는 메모리(300)와 시스템 버스(400)가 프레임 버퍼 컴프레서(200)를 통해서 서로 연결될 수 있다. Referring to FIG. 16 , in the image processing apparatus according to some embodiments of the present invention, the memory 300 and the system bus 400 may be connected to each other through the 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 may not be directly connected to the system bus 400 , but may be connected to the system bus 400 only through the frame buffer compressor 200 . Also, 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 IP 100 may be directly connected to the system bus 400 . Therefore, 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 IP 100 only pass through the frame buffer compressor 200 to the memory ( 300) can be accessed.

본 실시예는 메모리(300)에 대한 모든 접근을 어차피 프레임 버퍼 컴프레서(200)가 관여하므로 시스템 버스(400)에 프레임 버퍼 컴프레서(200)를 직접 연결하고, 메모리(300)는 시스템 버스(400)를 프레임 버퍼 컴프레서(200)를 통해서 연결되도록 하여 데이터의 전송의 오류를 줄이고, 속도를 향상시킬 수 있다.In this embodiment, since the frame buffer compressor 200 is involved in all accesses to the memory 300 anyway, the frame buffer compressor 200 is directly connected to the system bus 400 , and the memory 300 is connected to the system bus 400 . to be connected through the frame buffer compressor 200 to reduce data transmission errors and improve speed.

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

100: 멀티미디어 아이피
200: 프레임 버퍼 컴프레서
300: 메모리
100: multimedia IP
200: Frame Buffer Compressor
300: memory

Claims (20)

제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 사용하는 멀티미디어 아이피(IP);
상기 제2 데이터를 제3 데이터로 압축(compress)하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제(decompress)하는 프레임 버퍼 컴프레서; 및
상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스(access)되는 메모리를 포함하되,
상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고,
상기 프레임 버퍼 컴프레서는 손실(lossy)모드 또는 무손실(lossless) 모드로 동작하고,
상기 무손실 모드에서 압축된 상기 제3 데이터는 제1 페이로드와, 상기 제1 페이로드의 압축률을 표시하는 제1 헤더를 포함하고,
상기 손실 모드에서 압축된 상기 제3 데이터는 미리 설정된 압축률에 따라 압축된 제2 페이로드만을 포함하는 이미지 처리 장치.
Multimedia IP (IP) for receiving the first data, processing the first data to generate and use the second data;
a frame buffer compressor for compressing the second data into third data and decompressing the third data back into second data; and
and a memory that stores the third data and is accessed by the multimedia IP,
The frame buffer compressor performs the compression or decompression whenever the multimedia IP accesses the memory,
The frame buffer compressor operates in a lossy mode or a lossless mode,
The third data compressed in the lossless mode includes a first payload and a first header indicating a compression ratio of the first payload,
The third data compressed in the lossy mode includes only a second payload compressed according to a preset compression ratio.
제1 항에 있어서,
상기 제1 페이로드의 크기는 상기 메모리의 데이터 액세스 단위 크기의 정수배인 이미지 처리 장치.
The method of claim 1,
The size of the first payload is an integer multiple of a size of a data access unit of the memory.
제1 항에 있어서,
제1 페이로드는 상기 제2 데이터를 엔트로피 인코딩으로 압축시킨 제1 바이너리 코드와, 상기 제1 바이너리 코드의 엔트로피 인코딩의 k값을 표시한 제1 k값 코드를 포함하고,
제2 페이로드는 상기 제2 데이터를 엔트로피 인코딩으로 압축시킨 제2 바이너리 코드와, 상기 제2 바이너리 코드의 엔트로피 인코딩의 k값을 표시한 제2 k값 코드를 포함하는 이미지 처리 장치.
The method of claim 1,
The first payload includes a first binary code obtained by compressing the second data by entropy encoding, and a first k-value code indicating a k value of the entropy encoding of the first binary code,
The second payload includes a second binary code obtained by compressing the second data by entropy encoding, and a second k-value code indicating a k value of entropy encoding of the second binary code.
제3 항에 있어서,
상기 제2 바이너리 코드는 미리 설정된 양자화 계수에 의해서 양자화되고,
상기 제2 페이로드는, 상기 제2 바이너리 코드의 양자화 계수를 표시한 양자화 계수 코드를 포함하는 이미지 처리 장치.
4. The method of claim 3,
The second binary code is quantized by a preset quantization coefficient,
The second payload includes a quantization coefficient code indicating a quantization coefficient of the second binary code.
제1 항에 있어서,
상기 제2 데이터는 YUV 방식으로 인코딩되어 휘도 신호 블록, 제1 색차 신호 블록 및 제2 색차 신호 블록을 포함하는 이미지 처리 장치.
The method of claim 1,
and the second data is encoded by a YUV method and includes a luminance signal block, a first chrominance signal block, and a second chrominance signal block.
제5 항에 있어서,
상기 프레임 버퍼 컴프레서는 제1 내지 제3 모드로 동작하고,
상기 제1 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 같이 압축하고,
상기 제2 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 제1 및 제2 색차 신호 블록을 같이 압축하되, 상기 휘도 신호 블록은 따로 압축하고,
상기 제3 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 모두 따로 압축하는 이미지 처리 장치.
6. The method of claim 5,
The frame buffer compressor operates in first to third modes,
In the first mode, the frame buffer compressor compresses the luminance signal block and the first and second color difference signal blocks of the second data together;
In the second mode, the frame buffer compressor compresses the first and second color difference signal blocks of the second data together, but separately compresses the luminance signal block;
In the third mode, the frame buffer compressor separately compresses all of the luminance signal block and the first and second color difference signal blocks of the second data.
제6 항에 있어서,
상기 제3 데이터는 상기 제2 데이터를 압축시킨 바이너리 코드를 포함하고, 상기 제1 및 제2 모드에서, 상기 바이너리 코드는 각각의 픽셀별로 데이터가 배치되고,
상기 픽셀별로 배치된 데이터 각각은 서로 다른 플레인의 데이터를 포함하는 이미지 처리 장치.
7. The method of claim 6,
The third data includes a binary code obtained by compressing the second data, and in the first and second modes, data is arranged in the binary code for each pixel;
The image processing apparatus, wherein each of the data arranged for each pixel includes data of different planes.
제6 항에 있어서,
상기 제3 데이터는 상기 제2 데이터를 엔트로피 인코딩으로 압축시킨 바이너리 코드와, 상기 바이너리 코드의 엔트로피 인코딩의 k값을 표시한 k값 코드를 포함하고,
상기 제3 모드에서 압축된 제3 데이터는 상기 k값 코드가 제1 크기를 가지고,
상기 제2 모드에서 압축된 제3 데이터는 상기 k값 코드가 상기 제1 크기의 1배 또는 2배의 크기를 가지고,
상기 제1 모드에서 압축된 제3 데이터는 상기 k값 코드가 상기 제1 크기의 1배, 2배 또는 3배의 크기를 가지는 이미지 처리 장치.
7. The method of claim 6,
The third data includes a binary code obtained by compressing the second data by entropy encoding, and a k-value code indicating a k value of the entropy encoding of the binary code,
In the third data compressed in the third mode, the k-value code has a first size,
In the third data compressed in the second mode, the k-value code has a size of one or two times the first size,
In the third data compressed in the first mode, the k-value code has a size of one, two, or three times the size of the first size.
제8 항에 있어서,
상기 바이너리 코드는 미리 설정된 양자화 계수에 의해서 양자화되고,
상기 제3 데이터는, 상기 바이너리 코드의 양자화 계수를 표시한 양자화 계수 코드를 포함하고,
상기 제3 모드에서 압축된 제3 데이터는 상기 양자화 계수 코드가 제2 크기를 가지고,
상기 제2 모드에서 압축된 제3 데이터는 상기 양자화 계수 코드가 상기 제2 크기의 1배 또는 2배의 크기를 가지고,
상기 제1 모드에서 압축된 제3 데이터는 상기 양자화 계수 코드가 상기 제2 크기의 1배, 2배 또는 3배의 크기를 가지는 이미지 처리 장치.
9. The method of claim 8,
The binary code is quantized by a preset quantization coefficient,
The third data includes a quantization coefficient code indicating a quantization coefficient of the binary code,
In the third data compressed in the third mode, the quantization coefficient code has a second size,
In the third data compressed in the second mode, the quantization coefficient code has a size of one or two times the second size,
In the third data compressed in the first mode, the quantization coefficient code has a size of one, two, or three times the size of the second size.
제5 항에 있어서,
상기 제2 데이터는 상기 휘도 신호 블록, 상기 제1 색차 신호 블록 및 상기 제2 색차 신호 블록의 크기 비율이 4:1:1 또는 4:2:2인 이미지 처리 장치.
6. The method of claim 5,
In the second data, a size ratio of the luminance signal block, the first color difference signal block, and the second color difference signal block is 4:1:1 or 4:2:2.
제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 사용하는 멀티미디어 아이피;
상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서; 및
상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스(access)되는 메모리를 포함하되,
상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고,
상기 프레임 버퍼 컴프레서는,
상기 제2 데이터를 상기 제3 데이터로 압축하는 인코더와, 상기 제3 데이터를 상기 제2 데이터로 압축해제하는 디코더를 포함하고,
상기 인코더는, 상기 제2 데이터를 예측 데이터와 잔차 데이터로 나누어 표현하는 예측 모듈과, 상기 제2 데이터를 엔트로피 인코딩을 하여 k값에 따라 압축하는 엔트로피 인코딩 모듈을 포함하고,
상기 디코더는, 상기 예측 데이터와 상기 잔차 데이터를 상기 제2 데이터로 복원시키는 예측 보상 모듈과, 상기 제3 데이터를 상기 k값에 따라 복원시키는 엔트로피 디코딩 모듈을 포함하는 이미지 처리 장치.
a multimedia IP for receiving the first data and processing the first data to generate and use the second data;
a frame buffer compressor for compressing the second data into third data and decompressing the third data back into second data; and
and a memory that stores the third data and is accessed by the multimedia IP,
The frame buffer compressor performs the compression or decompression whenever the multimedia IP accesses the memory,
The frame buffer compressor,
an encoder for compressing the second data into the third data, and a decoder for decompressing the third data into the second data,
The encoder includes a prediction module that divides and expresses the second data into prediction data and residual data, and an entropy encoding module that entropy-encodes the second data and compresses it according to a k value,
and the decoder, a prediction compensation module for reconstructing the prediction data and the residual data to the second data, and an entropy decoding module for reconstructing the third data according to the k value.
제11 항에 있어서,
상기 인코더는 상기 제2 데이터를 양자화 계수에 따라 양자화하여 압축하는 양자화 모듈을 포함하고,
상기 디코더는 상기 양자화 계수를 통해서 상기 제2 데이터를 복원하는 역양자화 모듈을 포함하는 이미지 처리 장치.
12. The method of claim 11,
The encoder includes a quantization module that quantizes and compresses the second data according to a quantization coefficient,
and the decoder includes an inverse quantization module configured to reconstruct the second data using the quantization coefficients.
제12 항에 있어서,
상기 프레임 버퍼 컴프레서는 손실모드 또는 무손실 모드로 동작하고,
상기 무손실 모드에서 상기 제2 데이터는 상기 예측 모듈 및 상기 엔트로피 인코딩 모듈에 의해서 압축 데이터로 변환되고,
상기 손실 모드에서 상기 제2 데이터는 상기 예측 모듈, 상기 양자화 모듈 및 상기 엔트로피 인코딩 모듈에 의해서 상기 제3 데이터로 압축되는 이미지 처리 장치.
13. The method of claim 12,
The frame buffer compressor operates in lossy mode or lossless mode,
In the lossless mode, the second data is converted into compressed data by the prediction module and the entropy encoding module,
In the lossy mode, the second data is compressed into the third data by the prediction module, the quantization module, and the entropy encoding module.
제13 항에 있어서,
상기 압축 데이터의 크기에 따라 패딩(padding)하여 제3 데이터를 생성하고, 상기 제3 데이터의 압축률을 나타내는 헤더를 생성하는 패딩 모듈을 더 포함하는 이미지 처리 장치.
14. The method of claim 13,
and a padding module generating third data by padding according to the size of the compressed data, and generating a header indicating a compression ratio of the third data.
제14 항에 있어서,
상기 패딩 모듈은, 상기 패딩을 통해서 상기 압축 데이터의 크기가 상기 메모리의 데이터 액세스 단위 크기의 제1 정수배가 되도록 하고,
상기 압축률은 상기 제1 정수에 대응되는 이미지 처리 장치.
15. The method of claim 14,
The padding module is configured such that the size of the compressed data becomes a first integer multiple of a size of a data access unit of the memory through the padding,
The compression ratio corresponds to the first integer.
제1 데이터를 수신하고, 상기 제1 데이터를 프로세싱하여 제2 데이터를 생성하고, 상기 제2 데이터를 사용하는 멀티미디어 아이피;
상기 제2 데이터를 제3 데이터로 압축하고, 상기 제3 데이터를 다시 제2 데이터로 압축해제하는 프레임 버퍼 컴프레서; 및
상기 제3 데이터를 저장하고, 상기 멀티미디어 아이피에 의해서 액세스되는 메모리를 포함하되,
상기 프레임 버퍼 컴프레서는 상기 멀티미디어 아이피가 상기 메모리에 액세스할 때마다 상기 압축 또는 압축해제를 수행하고,
상기 제2 데이터는 YUV 방식으로 인코딩되어 휘도 신호 블록, 제1 색차 신호 블록 및 제2 색차 신호 블록을 포함하고,
상기 프레임 버퍼 컴프레서는 제1 내지 제3 모드로 동작하고,
상기 제1 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 같이 압축하고,
상기 제2 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 제1 및 제2 색차 신호 블록을 같이 압축하되, 상기 휘도 신호 블록은 따로 압축하고,
상기 제3 모드에서, 상기 프레임 버퍼 컴프레서는 상기 제2 데이터의 상기 휘도 신호 블록, 상기 제1 및 제2 색차 신호 블록을 모두 따로 압축하는 이미지 처리 장치.
a multimedia IP that receives first data, processes the first data to generate second data, and uses the second data;
a frame buffer compressor for compressing the second data into third data and decompressing the third data back into second data; and
and a memory that stores the third data and is accessed by the multimedia IP,
The frame buffer compressor performs the compression or decompression whenever the multimedia IP accesses the memory,
The second data is encoded in a YUV method and includes a luminance signal block, a first color difference signal block, and a second color difference signal block,
The frame buffer compressor operates in first to third modes,
In the first mode, the frame buffer compressor compresses the luminance signal block and the first and second color difference signal blocks of the second data together;
In the second mode, the frame buffer compressor compresses the first and second color difference signal blocks of the second data together, but separately compresses the luminance signal block;
In the third mode, the frame buffer compressor separately compresses all of the luminance signal block and the first and second color difference signal blocks of the second data.
제16 항에 있어서,
상기 멀티미디어 아이피는,
상기 제1 데이터를 제2 데이터로 변환시켜 상기 프레임 버퍼 컴프레서로 전송하는 이미지 신호 프로세서로서, 상기 제1 데이터는 RGB 데이터이고, 상기 제2 데이터는 YUV 데이터인 이미지 신호 프로세서를 포함하는 이미지 처리 장치.
17. The method of claim 16,
The multimedia IP is,
and an image signal processor converting the first data into second data and transmitting the converted data to the frame buffer compressor, wherein the first data is RGB data and the second data is YUV data.
제17 항에 있어서,
상기 멀티미디어 아이피는,
상기 프레임 버퍼 컴프레서로부터 상기 제2 데이터를 수신하고, 상기 제2 데이터의 크기를 압축하여 상기 프레임 버퍼 컴프레서로 다시 전송하는 멀티 포맷 코덱을 더 포함하는 이미지 처리 장치.
18. The method of claim 17,
The multimedia IP is,
and a multi-format codec for receiving the second data from the frame buffer compressor, compressing the size of the second data, and transmitting the second data back to the frame buffer compressor.
제17 항에 있어서,
상기 프레임 버퍼 컴프레서로부터 상기 제2 데이터를 수신하고, 상기 제2 데이터의 흔들림 보정을 수행하여 상기 프레임 버퍼 컴프레서로 다시 전송하는 흔들림 보정 모듈을 더 포함하는 이미지 처리 장치.
18. The method of claim 17,
and a shake correction module receiving the second data from the frame buffer compressor, performing shake correction on the second data, and transmitting the shake correction module back to the frame buffer compressor.
제17 항에 있어서,
상기 프레임 버퍼 컴프레서로부터 상기 제2 데이터를 수신하고, 상기 제2 데이터의 그래픽 프로세싱을 수행하여 상기 프레임 버퍼 컴프레서로 다시 전송하는 GPU를 더 포함하는 이미지 처리 장치.
18. The method of claim 17,
and a GPU receiving the second data from the frame buffer compressor, performing graphic processing on the second data, and transmitting the second data back to the frame buffer compressor.
KR1020180041790A 2018-01-26 2018-04-10 Image processing device KR102465206B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW108102299A TWI827579B (en) 2018-01-26 2019-01-21 Image processing device
US16/252,806 US11095876B2 (en) 2018-01-26 2019-01-21 Image processing device
SG10201900626SA SG10201900626SA (en) 2018-01-26 2019-01-23 Image processing device
CN201910072938.7A CN110087072B (en) 2018-01-26 2019-01-25 Image processing apparatus and method
US17/377,927 US20210344900A1 (en) 2018-01-26 2021-07-16 Image processing device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180010183 2018-01-26
KR1020180010183 2018-01-26
KR20180015932 2018-02-08
KR1020180015932 2018-02-08

Publications (2)

Publication Number Publication Date
KR20190091181A KR20190091181A (en) 2019-08-05
KR102465206B1 true KR102465206B1 (en) 2022-11-09

Family

ID=67615962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180041790A KR102465206B1 (en) 2018-01-26 2018-04-10 Image processing device

Country Status (3)

Country Link
KR (1) KR102465206B1 (en)
SG (1) SG10201900626SA (en)
TW (1) TWI827579B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110071231A (en) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 Encoding method, decoding method and apparatus thereof
CA2840476C (en) * 2011-06-24 2018-01-02 Lg Electronics Inc. Encoding and decoding video applying independent offset for luma and chroma samples
BR112015015575A2 (en) * 2013-01-30 2020-02-04 Intel Corp adaptive content partitioning for next-generation video prediction and coding
CN112383781B (en) * 2013-08-16 2023-05-02 上海天荷电子信息有限公司 Method and device for block matching coding and decoding in reconstruction stage by determining position of reference block
US10275186B2 (en) * 2015-10-30 2019-04-30 Sandisk Technologies Llc System and method of data compression and data shaping

Also Published As

Publication number Publication date
SG10201900626SA (en) 2019-08-27
TW201941600A (en) 2019-10-16
KR20190091181A (en) 2019-08-05
TWI827579B (en) 2024-01-01

Similar Documents

Publication Publication Date Title
US11445160B2 (en) Image processing device and method for operating image processing device
US10887616B2 (en) Image processing devices having enhanced frame buffer compressors therein
US11677932B2 (en) Image processing device
US11153586B2 (en) Image processing device and frame buffer compressor
US11190810B2 (en) Device and method for compressing image data using quantization parameter and entropy tables
US20210344900A1 (en) Image processing device
US11735222B2 (en) Frame buffer compressing circuitry and image processing apparatus
KR102465206B1 (en) Image processing device
KR102523959B1 (en) Image processing device and method for operating image processing device
KR102543449B1 (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
US20220201340A1 (en) Image processing device and method for operating image processing device
KR20070111111A (en) Method of compressing and decompressing image and equipment thereof
US20220201060A1 (en) Image processing device and method for operating image processing device
US11962951B2 (en) Image signal processor, method of operating the image signal processor and image processing system including the image signal processor
US20220353482A1 (en) Image signal processor, method of operating the image signal processor and image processing system including the image signal processor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right