KR20060096548A - Method for storing image data in memory - Google Patents

Method for storing image data in memory Download PDF

Info

Publication number
KR20060096548A
KR20060096548A KR1020050017159A KR20050017159A KR20060096548A KR 20060096548 A KR20060096548 A KR 20060096548A KR 1020050017159 A KR1020050017159 A KR 1020050017159A KR 20050017159 A KR20050017159 A KR 20050017159A KR 20060096548 A KR20060096548 A KR 20060096548A
Authority
KR
South Korea
Prior art keywords
image data
bank
image
stored
memory
Prior art date
Application number
KR1020050017159A
Other languages
Korean (ko)
Other versions
KR100666824B1 (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 KR1020050017159A priority Critical patent/KR100666824B1/en
Publication of KR20060096548A publication Critical patent/KR20060096548A/en
Application granted granted Critical
Publication of KR100666824B1 publication Critical patent/KR100666824B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Dram (AREA)

Abstract

본 발명은 메모리에 이미지 데이터를 저장하는 방법에 관한 것이다. 본 발명에 따른 이미지 데이터 저장 방법은 메모리에 저장될 프레임을 구성하는 이미지 라인들은 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹들로 나뉘어지고, 소정의 이미지 라인 그룹에 해당하는 이미지 데이터가 하나의 뱅크에 저장된 후 다음 이미지 라인 그룹에 해당하는 이미지 데이터가 다음 뱅크에 저장되는 것을 특징으로 한다. 본 발명은 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹 각각이 순서대로 뱅크 각각에 교대로 저장되고, 하나의 뱅크의 특정 라인에 대한 액세스가 이루어지는 동안 다음 뱅크의 특정 라인에 대한 액세스 명령이 이루어짐으로써 동작주파수를 낮추고 전력 소비를 줄일 수 있다.The present invention relates to a method of storing image data in a memory. In the image data storage method according to the present invention, image lines constituting a frame to be stored in a memory are divided into image line groups including one or more image lines, and image data corresponding to a predetermined image line group is stored in one bank. After that, the image data corresponding to the next image line group is stored in the next bank. According to the present invention, each image line group consisting of one or more image lines is alternately stored in each bank in turn, and an access command is made to a specific line of a next bank while an access to a specific line of one bank is made, thereby operating frequency. Can lower the power consumption.

Description

메모리에 이미지 데이터를 저장하는 방법{Method for Storing Image Data in Memory}How to store image data in memory {Method for Storing Image Data in Memory}

도 1a 및 도 1b는 이미지 데이터를 메모리에 저장하는 종래의 방법을 설명하기 위한 것이다.1A and 1B illustrate a conventional method of storing image data in a memory.

도 2는 도 1a에 도시된 바와 같이 이미지 데이터를 저장하는 방법에 있어서의 어드레스 맵을 나타낸 것이다.FIG. 2 shows an address map in the method for storing image data as shown in FIG. 1A.

도 3은 도 1a의 이미지 블록에 해당하는 이미지 데이터를 나타낸 것이다.3 illustrates image data corresponding to the image block of FIG. 1A.

도 4는 도 3의 이미지 데이터를 도 1a에 도시된 바와 같은 방법으로 액세스하기 위한 커맨드 및 어드레스 입력 타이밍도이다.4 is a command and address input timing diagram for accessing the image data of FIG. 3 in the manner as shown in FIG. 1A.

도 5는 본 발명에 따른 이미지 데이터의 저장 방법에 대한 개념을 설명하기 위한 것이다.5 is for explaining a concept of a method for storing image data according to the present invention.

도 6은 본 발명에 따라 저장된 이미지 데이터에 액세스하기 위한 어드레스 맵을 나타낸 것이다. 6 illustrates an address map for accessing stored image data in accordance with the present invention.

도 7은 본 발명에 따라 메모리에 저장되는 이미지 데이터를 도식적으로 나타낸 것이다. 7 is a schematic representation of image data stored in a memory in accordance with the present invention.

도 8은 도 7의 이미지 블록에 해당하는 이미지 데이터를 나타낸 것이다.FIG. 8 illustrates image data corresponding to the image block of FIG. 7.

도 9는 도 8의 이미지 데이터에 액세스하기 위한 커맨드 및 어드레스 입력 타이밍도이다.9 is a command and address input timing diagram for accessing the image data of FIG. 8.

본 발명은 이미지 데이터를 저장하는 방법에 관한 것으로서, 더욱 자세하게는 메모리에 이미지 데이터를 저장하는 방법에 관한 것이다. The present invention relates to a method for storing image data, and more particularly, to a method for storing image data in a memory.

근래에 생산되는 이동통신장치들은 전자공학과 정보통신공학의 눈부신 발전으로 인하여 고속으로 데이터를 처리할 수 있다. 이러한 이동통신장치들은 CDMA 망이나 GSM 망과 같은 이동통신망을 통하여 이미지 데이터나 음성 데이터 등을 송수신할 수 있기 때문에 다양한 서비스를 제공할 수 있다. 특히, DMB(Digital Multimedia Broadcasting) 수신기는 지상이나 위성으로부터 전송된 다양한 멀티미디어 신호를 디지털 방식으로 처리하는 방송 서비스를 지원한다. Recently produced mobile communication devices are capable of processing data at high speed due to the remarkable development of electronic engineering and information communication engineering. These mobile communication devices can provide various services because they can transmit and receive image data or voice data through a mobile communication network such as a CDMA network or a GSM network. In particular, a digital multimedia broadcasting (DMB) receiver supports a broadcast service for digitally processing various multimedia signals transmitted from the ground or satellite.

이와 같은 여러 장치들은 동영상을 구성하는 프레임(frame)에 해당하는 이미지 데이터를 빠르게 처리하기 위하여 이미지 데이터를 압축한다. 이미지 데이터의 압축은 각 프레임을 구성하는 상들의 움직임 정보에 대한 검출을 통하여 이루어진다. Many such devices compress image data in order to quickly process image data corresponding to a frame constituting a video. Compression of the image data is performed through detection of motion information of the images constituting each frame.

즉, 연속하는 프레임으로 이루어진 동영상은 한 프레임 내에서도 상호간의 중복성이 존재하지만 프레임 간에 존재하는 시간적인 중복성이 더욱 많기 때문에 이전의 프레임을 이용하면 현재의 프레임을 적은 양의 정보로 손쉽게 복원해 낼 수 있다. 따라서 프레임과 프레임 사이에서 화면에 존재하는 상들의 움직임 정보를 정 확히 검출해내는 것이 압축의 효율을 결정하는데 중요한 요소로 작용한다.In other words, a video composed of consecutive frames has redundancy within one frame, but since there is more temporal redundancy between frames, the previous frame can be used to easily recover the current frame with a small amount of information. . Therefore, the accurate detection of the motion information of the images on the screen between the frames is an important factor in determining the efficiency of compression.

이와 같이 상들의 움직임 정보를 이용하여 이미지 데이터를 압축하는 일반적인 방법은 다음과 같이 이루어진다. As described above, a general method of compressing image data using motion information of images is performed as follows.

먼저 현재 프레임에 포함된 기준 이미지 블록과 이전 프레임으로부터 검색하고자 하는 영역의 비교 이미지 블록들 각각과의 차성분이 계산되고, 계산된 차성분의 절대값이 최소가 되는 비교 이미지 블록이 선정된다. 이와 같이 선정된 비교 블럭과 기준 블럭과의 거리차이를 움직인 거리를 통하여 움직임 벡터(motion vector)가 결정된다. First, a difference component between each of the reference image blocks included in the current frame and each of the comparison image blocks of the region to be searched from the previous frame is calculated, and a comparison image block having a minimum absolute value of the calculated difference components is selected. The motion vector is determined based on the distance of the distance difference between the selected comparison block and the reference block.

이후 현재프레임의 기본 블럭과 이전프레임의 서치영역에서의 블럭을 움직임 벡터만큼 이동시킨 블럭의 차성분을 구하여, 이전프레임으로 현재프레임을 보상하기 위한 오차신호가 출력된다. 이러한 오차 신호를 이용하여 압축이 이루어지면 디코딩 과정에서 오차 신호를 이용하여 특정 프레임을 복원할 수 있기 때문에 압축율이 높아진다. Subsequently, a difference component of a block in which the basic block of the current frame and the block in the search area of the previous frame are moved by a motion vector is obtained, and an error signal for compensating the current frame is output to the previous frame. When compression is performed using such an error signal, the compression rate is increased because a specific frame can be recovered using the error signal during decoding.

이와 같은 과정에서 현재 프레임, 이전 프레임, 기준 이미지 블록 및 비교 이미지 블록에 해당하는 이미지 데이터는 SDRAM(Synchronous Dynamic Random Access Memory)과 같은 메모리에 저장된다. In this process, image data corresponding to the current frame, the previous frame, the reference image block, and the comparison image block are stored in a memory such as a synchronous dynamic random access memory (SDRAM).

도 1a 및 도 1b는 이미지 데이터를 메모리에 저장하는 종래의 방법을 설명하기 위한 것이다. 종래의 이미지 데이터 저장 방법은 도 1a와 같이 이미지 라인(image line)에 맞추어 시작 어드레스(address)를 지정하는 방법과 도 1b와 같이 순서대로 어드레스를 증가시키는 방법이 있다. 1A and 1B illustrate a conventional method of storing image data in a memory. Conventional image data storage methods include a method of specifying a start address in accordance with an image line as shown in FIG. 1A and a method of increasing an address in order as shown in FIG. 1B.

도 1a와 같은 이미지 라인(image line)에 맞추어 시작 어드레스(address)를 지정하는 방법은 하나의 프레임을 구성하는 이미지 데이터의 각 이미지 라인별 시작 어드레스의 위치를 동일하게 한다. 즉, 첫 번째 이미지 라인을 구성하는 이미지 데이터는 메모리를 구성하는 첫 번째 뱅크(BANK0)의 0x0000으로부터 0x00CC의 영역에 저장된다. 두 번째 이미지 라인을 구성하는 이미지 데이터는 첫 번째 뱅크(BANK0)의 0x0100으로부터 0x01CC의 영역에 저장된다. 이러한 방식으로 16 번째 이미지 라인을 구성하는 이미지 데이터는 첫 번째 뱅크(BANK0)의 0xFF00으로부터 0xFFCC의 영역에 저장된다. 17 번째 이미지 라인을 구성하는 이미지 데이터는 메모리를 두 번째 뱅크(BANK1)의 0x0000으로부터 0x00CC의 영역에 저장된다. 이상에서와 같이 각 이미지 라인을 시작하는 이미지 데이터가 메모리의 각 로우 라인(row line)의 시작 어드레스(0x0000, 0x0100,……, 0xFF00)에 해당하는 영역에 저장된다. In the method of designating a start address in accordance with an image line as shown in FIG. 1A, the position of the start address of each image line of image data constituting one frame is equalized. That is, the image data constituting the first image line is stored in an area of 0x0000 to 0x00CC of the first bank BANK0 constituting the memory. Image data constituting the second image line is stored in an area of 0x0100 to 0x01CC of the first bank BANK0. In this way, the image data constituting the 16th image line is stored in the area of 0xFF00 to 0xFFCC of the first bank BANK0. The image data constituting the 17th image line is stored in the memory in the region of 0x0000 to 0x00CC of the second bank BANK1. As described above, the image data starting each image line is stored in an area corresponding to the start address (0x0000, 0x0100, ..., 0xFF00) of each row line of the memory.

이와 같은 방법은 각 이미지 라인에 해당하는 이미지 데이터가 메모리의 각 로우 어드레스에 해당하는 영역에 저장되기 때문에 메모리 콘트롤러(memory controller)의 계산량이 줄어드는 장점이 있으나 이로 인하여 메모리의 비사용 영역이 존재하므로 메모리 사용 효율성이 떨어지는 단점이 있다. This method has the advantage that the amount of computation of the memory controller is reduced because image data corresponding to each image line is stored in the area corresponding to each row address of the memory. There is a drawback of poor use efficiency.

도 1b와 같이 순서대로 어드레스를 증가시키는 방법은 하나의 프레임을 구성하는 이미지 데이터를 순서대로 메모리에 저장한다. 즉, 프레임을 구성하는 첫 번째 이미지 라인에 해당하는 이미지 데이터는 메모리를 구성하는 첫 번째 뱅크, 첫 번째 로우 라인(BANK0,RAS1)의 0x0000 내지 0x00CC의 영역에 저장된다. 이 때, 도 1a와 같은 메모리의 비사용 영역을 활용하기 위하여 프레임을 구성하는 두 번째 이미지 라인에 해당하는 이미지 데이터가 메모리를 구성하는 첫 번째 뱅크, 첫 번째 로우 라인(BANK0,RAS1)의 0x00D0 내지 0x00FC의 영역에 저장된다. 다음으로 프레임을 구성하는 두 번째 이미지 라인에 해당하는 이미지 데이터는 메모리를 구성하는 첫 번째 뱅크, 두 번째 로우 라인(BANK0,RAS2)의 0x0100의 영역에서부터 저장된다.In the method of increasing the address in order as shown in FIG. 1B, image data constituting one frame is sequentially stored in a memory. That is, image data corresponding to the first image line constituting the frame is stored in an area of 0x0000 to 0x00CC of the first bank and first row lines BANK0 and RAS1 constituting the memory. In this case, in order to utilize the unused area of the memory as shown in FIG. 1A, image data corresponding to the second image line constituting the frame is 0x00D0 to the first bank, BANK0, RAS1 of the first bank constituting the memory. It is stored in the area of 0x00FC. Next, image data corresponding to the second image line constituting the frame is stored from an area of 0x0100 of the first bank and second row lines BANK0 and RAS2 constituting the memory.

이와 같이 순서대로 어드레스를 증가시켜 이미지 데이터를 저장하는 방법은 메모리의 사용 효율을 극대화시킬 수 있지만 각 이미지 라인에 해당하는 이미지 데이터가 메모리의 각 로우 어드레스에 해당하는 영역에 저장되는 것이 아니라 하나의 이미지 라인에 해당하는 이미지 데이터가 메모리의 두 개 이상의 로우 어드레스에 해당하는 영역에 저장되므로 메모리 콘트롤러의 계산량이 증가하는 단점이 있다. 특히, 특정 이미지 블록에 해당하는 이미지 데이터에 액세스(access)할 때 어드레스 계산 방식이 복잡해진다. The method of storing image data by increasing addresses in this order can maximize the use efficiency of the memory, but the image data corresponding to each image line is not stored in the region corresponding to each row address of the memory, but instead of one image. Since image data corresponding to a line is stored in an area corresponding to two or more row addresses of the memory, a calculation amount of the memory controller increases. In particular, an address calculation scheme is complicated when accessing image data corresponding to a specific image block.

따라서 일반적으로 이미지 데이터를 메모리에 저장하는 방식은 도 1a에 도시된 것과 같은 방법이 주로 이용된다. 이러한 저장 방식을 이용하기 위해서는 도 2와 같이 CAS(Column Address Strobe) 어드레스가 증가되면서 메모리의 특정 로우 라인에 이미지 데이터가 저장된 후 RAS(Row Address Strobe) 어드레스가 증가되면서 다음 로우 라인에 이미지 데이터의 저장이 시작된다. 이런 과정을 통하여 하나의 뱅크 전체에 이미지 데이터가 저장되면 뱅크 어드레스가 변한다. Therefore, in general, a method of storing image data in a memory is mainly used as shown in FIG. 1A. In order to use such a storage method, as shown in FIG. 2, image data is stored on a specific row line of the memory as the column address strobe (CAS) address is increased, and then image data is stored on the next row line as the row address strobe (RAS) address is increased. It begins. Through this process, when image data is stored in one bank, the bank address is changed.

도 3은 도 1a의 이미지 블록에 해당하는 이미지 데이터를 나타낸 것이고, 도 4는 도 1a에 도시된 방법으로 저장된 도 3의 이미지 데이터를 액세스 하기 위한 커 맨드(command) 및 어드레스 입력 타이밍도이다.3 illustrates image data corresponding to the image block of FIG. 1A, and FIG. 4 is a command and address input timing diagram for accessing the image data of FIG. 3 stored by the method illustrated in FIG. 1A.

SDRAM과 같은 메모리의 액세스는 커맨드 방식에 의하여 메모리에 대한 액세스가 이루어진다. 예를 들어 읽기 명령(Read command)이 입력되면, 그 읽기 액세스 명령(Read command)에 맞추어 데이터가 연속적으로 출력되는데, 이 읽기 액세스 명령(Read command)은 언제나 같은 로우 어드레스에 대해서만 가능하게 된다. 만약 다른 로우 어드레스에 대한 읽기 명령을 수행하기 위해서는 기존에 열려 있던 로우 라인이 예비 충전(pre-charge)된 후 새로운 로우 어드레스에 해당하는 로우 라인에 대한 읽기 명령(Read command)이 입력되어야 한다. Memory access, such as SDRAM, is accessed to the memory by a command method. For example, when a read command is input, data is continuously output in accordance with the read access command, which is always enabled for the same row address. In order to perform a read command for another row address, a read command for a row line corresponding to a new row address must be input after the previously opened row line is precharged.

이와 같은 과정을 예를 들어 설명하면 다음과 같다. 도 1a와 같이 일반적인 이미지 블록이 도 3과 같은 이미지 데이터로 이루어질 때, 이러한 이미지 데이터의 어드레스는 연속적이지 않다. 즉, DATA00 내지 DATA03, DATA10 내지 DATA13, DATA20 내지 DATA23 및 DATA30 내지 DATA33은 동일한 뱅크(BANK0)에 존재하지만 로우 어드레스(RAS0,RAS1,RAS2,RAS3)는 서로 다르다.For example, this process is described below. When a general image block as shown in FIG. 1A is formed of image data as shown in FIG. 3, the address of the image data is not continuous. That is, DATA00 to DATA03, DATA10 to DATA13, DATA20 to DATA23, and DATA30 to DATA33 exist in the same bank BANK0, but the row addresses RAS0, RAS1, RAS2, and RAS3 are different.

이와 같이 연속되지 않은 어드레스의 영역에 존재하는 도 3의 이미지 데이터에 대하여 읽기 명령(Read command)의 수행은 도 4와 같은 타이밍도에 의하여 이루어진다. As described above, a read command is performed on the image data of FIG. 3 existing in the non-contiguous address area according to the timing diagram of FIG. 4.

먼저 DATA00 내지 DATA03에 대한 액세스를 위하여 첫 번째 뱅크(BANK0)의 첫 번째 로우 어드레스(RAS0)를 지정하기 위한 RAS 신호(400)가 입력된다. tRCD(time of RAS to CAS)에 해당하는 클럭 이후에 읽기 명령(Read command)과 CAS 신호(410)가 입력되면, tCL(time of CAS Latency)에 해당하는 클럭 이후에 DATA00 내지 DATA03에 대한 액세스가 이루어진다. First, a RAS signal 400 for specifying the first row address RAS0 of the first bank BANK0 is input for access to DATA00 to DATA03. When a read command and a CAS signal 410 are input after a clock corresponding to tRCD (time of RAS to CAS), access to DATA00 to DATA03 is stopped after a clock corresponding to time of CAS Latency (tCL). Is done.

이와 같이 DATA00 내지 DATA03에 대한 액세스가 이루어지는 동안에 두 번째 로우 라인에 있는 DATA10 내지 DATA13에 대한 액세스를 위하여 예비 충전(420)이 이루어지고, tRP(time of Precharge)에 해당하는 클럭 이후에 첫 번째 뱅크(BANK0)의 두 번째 로우 어드레스(RAS1)를 지정하기 위한 RAS 신호(430)가 입력된다. tRCD(time of RAS to CAS)에 해당하는 클럭 이후에 읽기 명령(Read command)과 CAS 신호(440)가 입력되면, tCL(time of CAS Latency)에 해당하는 클럭 이후에 DATA10 내지 DATA13에 대한 액세스가 이루어진다. 이와 동일한 방식으로 DATA20 내지 DATA23 및 DATA30 내지 DATA33에 대한 액세스가 이루어진다.As such, while the accesses to DATA00 to DATA03 are made, a precharge 420 is performed to access DATA10 to DATA13 on the second low line, and the first bank (t after the clock corresponding to the time of precharge (tRP) is performed. The RAS signal 430 for inputting the second row address RAS1 of BANK0 is input. When a read command and a CAS signal 440 are input after a clock corresponding to tRCD (time of RAS to CAS), access to DATA10 to DATA13 is stopped after a clock corresponding to time of CAS Latency (tCL). Is done. In the same manner, access is made to DATA20 to DATA23 and DATA30 to DATA33.

연속적인 어드레스로 이루어지지 않은 이미지 블록을 구성하는 이미지 데이터에 대하여 종래의 방법으로 액세스할 경우 로우 어드레스가 바뀔 때마다 예비 충전 과정과 RAS 신호의 입력이 이루어져야 하므로 이미지 데이터의 저장이나 저장된 이미지 데이터에 대한 액세스 시간이 길어지는 문제점이 발생한다. In the conventional method of accessing image data constituting an image block that is not composed of consecutive addresses, a preliminary charging process and an input of a RAS signal must be performed whenever a row address is changed. A problem arises in that the access time is long.

특히, 최근 효율이 좋은 압축방식에 대한 요구가 늘어감에 따라 이미지 블록의 크기가 점점 더 작아지는 추세이고, H.264와 같은 압축방식은 2 x 2 단위의 이미지 블록이 이용되기 때문에 종래 이미지 데이터를 저장하고 액세스하는 방법은 실제 이미지 데이터를 위한 클럭수에 비하여 예비 충전과 RAS 신호를 위한 클럭수가 크게 증가하여 이미지 데이터의 저장이나 저장된 이미지 데이터에 대한 액세스 시간이 더욱 더 길어진다.In particular, as the demand for an efficient compression method increases, the size of an image block becomes smaller and smaller. Since a compression method such as H.264 uses 2 × 2 image blocks, conventional image data is used. In the method of storing and accessing the data, the number of clocks for the preliminary charging and the RAS signal is greatly increased compared to the number of clocks for the actual image data, and thus the time for storing the image data or accessing the stored image data becomes longer.

또한, RAS 신호와 예비 충전 등과 같은 동작들이 많아질 경우 메모리 액세스 의 동작 주파수가 높아져 보드 제작 등에 어려움이 발생할 뿐 아니라, 전력소비 등의 많은 문제점들이 발생한다. In addition, when operations such as RAS signals and precharges increase, the operating frequency of the memory access increases, which causes difficulty in manufacturing a board and causes many problems such as power consumption.

본 발명은 상기와 같은 문제점들을 해결하기 위한 것으로, 이미지 데이터의 저장 및 액세스시 불필요한 클럭을 줄일 수 있는 이미지 데이터 저장 방법을 제공하기 위한 것이다. The present invention is to solve the above problems, and to provide an image data storage method that can reduce unnecessary clock when storing and accessing the image data.

상기 목적을 달성하기 위하여 복수 개의 뱅크로 이루어진 메모리에 이미지 데이터를 저장하는 방법에 있어서, 본 발명에 따른 이미지 데이터 저장 방법은 메모리에 저장될 프레임을 구성하는 이미지 라인들은 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹들로 나뉘어지고, 소정의 이미지 라인 그룹에 해당하는 이미지 데이터가 하나의 뱅크에 저장된 후 다음 이미지 라인 그룹에 해당하는 이미지 데이터가 다음 뱅크에 저장되는 것을 특징으로 한다.In order to achieve the above object, a method of storing image data in a memory consisting of a plurality of banks, the image data storage method according to the present invention is the image line constituting a frame to be stored in the memory image line consisting of one or more image lines The image data is divided into groups, image data corresponding to a predetermined image line group is stored in one bank, and image data corresponding to the next image line group is stored in a next bank.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세히 설명하고자 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

앞서 도 3과 도 4를 참조하여 설명한 바와 같이 SDRAM과 같은 메모리에서는 동일한 뱅크의 다른 로우 어드레스에 해당하는 이미지 데이터에 액세스하기 위해서는 예비 충전과 RAS 신호가 선행되어야 한다.As described above with reference to FIGS. 3 and 4, in a memory such as an SDRAM, a precharge and a RAS signal must be preceded to access image data corresponding to different row addresses of the same bank.

그러나 서로 다른 뱅크의 어드레스에 대해서는 서로 독립적인 액세스가 가능하기 때문에, 프레임을 구성하는 각 이미지 라인에 해당하는 이미지 데이터를 서로 다른 뱅크에 저장하면 tRCD와 같이 기다리는 클럭동안 현재 어드레스와 다른 뱅크 에 대하여 미리 명령을 줄 수 있어 불필요한 클럭을 줄일 수 있다. However, since the addresses of different banks can be accessed independently from each other, if image data corresponding to each image line constituting a frame is stored in different banks, the current address and the other banks in advance during the waiting clock such as tRCD can be preset. You can give commands to reduce unnecessary clocks.

도 5는 본 발명에 따른 이미지 데이터의 저장 방법에 대한 개념을 설명하기 위한 것이다. 도 5의 좌측에 도시된 것은 저장될 한 프레임의 화상을 나타낸 것이다. 도 5의 중앙에 도시된 것은 본 발명의 저장 방법에 따라 메모리에 저장된 이미지 데이터의 상태를 도식적으로 나타낸 것이다. 도 5의 우측에 도시된 것은 메모리에 저장된 이미지 데이터를 본 발명에 따라 읽어들인 결과를 도식적으로 나타낸 것이다. 5 is for explaining a concept of a method for storing image data according to the present invention. Shown on the left of FIG. 5 is an image of one frame to be stored. Shown in the center of FIG. 5 is a schematic representation of the state of image data stored in a memory in accordance with the storage method of the present invention. 5 is a diagram showing the result of reading image data stored in a memory according to the present invention.

도 5의 우측에 도시된 바와 같이 한 프레임을 구성하는 각 이미지 라인에 해당하는 이미지 데이터는 도 5의 중앙에 도시된 것과 같이 서로 다른 뱅크에 각각 저장된다. 즉, 프레임의 첫 번째 이미지 라인에 해당하는 이미지 데이터는 첫 번째 뱅크(BANK0)의 첫 번째 로우 어드레스(RAS0)에 해당하는 영역에 저장된다. 프레임의 두 번째 이미지 라인에 해당하는 이미지 데이터는 두 번째 뱅크(BANK1)의 첫 번째 로우 어드레스(RAS0)에 해당하는 영역에 저장된다. 프레임의 세 번째 이미지 라인에 해당하는 이미지 데이터는 세 번째 뱅크(BANK2)의 첫 번째 로우 어드레스(RAS0)에 해당하는 영역에 저장된다. 프레임의 네 번째 이미지 라인에 해당하는 이미지 데이터는 네 번째 뱅크(BANK3)의 첫 번째 로우 어드레스(RAS0)에 해당하는 영역에 저장된다. 그리고 다섯 번째 이미지 라인에 해당하는 이미지 데이터는 다시 첫 번째 뱅크(BANK0)의 두 번째 로우 어드레스(RAS1)에 해당하는 영역에 저장된다. 이후 이와 같이 과정이 반복된다.As shown in the right side of FIG. 5, image data corresponding to each image line constituting a frame is stored in different banks as shown in the center of FIG. 5. That is, image data corresponding to the first image line of the frame is stored in an area corresponding to the first row address RAS0 of the first bank BANK0. Image data corresponding to the second image line of the frame is stored in an area corresponding to the first row address RAS0 of the second bank BANK1. Image data corresponding to the third image line of the frame is stored in an area corresponding to the first row address RAS0 of the third bank BANK2. Image data corresponding to the fourth image line of the frame is stored in an area corresponding to the first row address RAS0 of the fourth bank BANK3. The image data corresponding to the fifth image line is again stored in an area corresponding to the second row address RAS1 of the first bank BANK0. After this, the process is repeated.

이와 같은 과정은 하나의 이미지 라인이 하나의 뱅크에 순서대로 저장되는 것이지만 메모리가 복수 개의 뱅크로 이루어질 때 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹 각각이 순서대로 뱅크 각각에 교대로 저장되는 것도 가능하다. In this process, one image line is sequentially stored in one bank, but when the memory is composed of a plurality of banks, each of the image line groups including one or more image lines may be alternately stored in each bank.

예를 들어, 2개의 이미지 라인으로 이루어진 이미지 라인 그룹이 하나의 뱅크에 교대로 저장되는 과정은 다음과 같다. 프레임의 첫 번째 및 두 번째 이미지 라인에 해당하는 이미지 데이터가 첫 번째 뱅크(BANK0)에 저장된다. 프레임의 세 번째 및 네 번째 라인에 해당하는 이미지 데이터가 두 번째 뱅크(BANK1)에 저장된다. 프레임의 다섯 번째 및 여섯 번째 라인에 해당하는 이미지 데이터가 세 번째 뱅크(BANK2)에 저장된다. 프레임의 일곱 번째 및 여덟 번째 라인에 해당하는 이미지 데이터가 네 번째 뱅크(BANK3)에 저장된다. 프레임의 아홉 번째 및 열 번째 라인에 해당하는 이미지 데이터는 다시 첫 번째 뱅크(BANK0)에 저장되며 이와 같이 과정이 반복된다. For example, a process of alternately storing an image line group consisting of two image lines in one bank is as follows. Image data corresponding to the first and second image lines of the frame are stored in the first bank BANK0. Image data corresponding to the third and fourth lines of the frame are stored in the second bank BANK1. Image data corresponding to the fifth and sixth lines of the frame are stored in the third bank BANK2. Image data corresponding to the seventh and eighth lines of the frame are stored in the fourth bank BANK3. Image data corresponding to the ninth and tenth lines of the frame are stored in the first bank BANK0 again, and the process is repeated as described above.

이와 같은 방식으로 메모리에 저장된 이미지 데이터에 액세스하기 위하여 도 6과 같은 어드레스 맵(map)이 필요하다. 도 6의 어드레스 맵이 도 2의 종래 어드레스 맵과 다른 점은 뱅크 어드레스가 로우 어드레스보다 하위 비트에 할당된다는 점이다.In order to access the image data stored in the memory in this manner, an address map as shown in FIG. 6 is required. The address map of FIG. 6 differs from the conventional address map of FIG. 2 in that the bank address is assigned to the lower bits than the row address.

이에 따라 컬럼 어드레스가 증가되면서 메모리의 특정 뱅크, 특정 로우 라인의 영역에 이미지 데이터가 저장되면, 뱅크 어드레스가 증가하고 로우 어드레스는 그대로 유지되므로 다음 뱅크의 특정 로우 라인에 이미지 데이터가 저장된다. As a result, when the column address is increased and image data is stored in a region of a specific bank and a specific row line of the memory, the bank address is increased and the row address is maintained, so that the image data is stored in a specific row line of the next bank.

도 7은 이와 같은 과정을 거쳐 메모리에 저장되는 이미지 데이터를 도식적으 로 나타낸 것이다. 도 7에 도시된 바와 같이, 특정 뱅크(BANK0), 특정 로우 라인(RAS0)의 영역에 0x0000부터 0x00CC까지 컬럼 어드레스가 증가되면서 이미지 데이터가 저장된다. 이후 뱅크 어드레스가 증가하여 다음 뱅크(BANK1)가 지정되고 로우 어드레스는 그대로 유지된다. 이에 따라 BANK1, RAS1에 해당하는 영역에 0x0000부터 0x00CC까지 컬럼 어드레스가 증가되면서 이미지 데이터가 저장된다. 이후 이와 같은 과정을 반복하면서 한 프레임에 해당하는 이미지 데이터가 저장된다. 7 schematically illustrates image data stored in a memory through the above process. As shown in FIG. 7, image data is stored while the column address is increased from 0x0000 to 0x00CC in the region of the specific bank BANK0 and the specific row line RAS0. After that, the bank address is increased to designate the next bank BANK1 and the row address is maintained. Accordingly, the column address increases from 0x0000 to 0x00CC in the areas corresponding to BANK1 and RAS1, and image data is stored. Thereafter, the above process is repeated, and image data corresponding to one frame is stored.

이와 같이 컬럼 어드레스 증가 후 로우 어드레스보다 Bank 어드레스가 우선적으로 증가하면, 메모리의 운영이 보다 효율적으로 이루어질 수 있다. If the bank address is preferentially increased over the row address after the column address is increased, the memory can be operated more efficiently.

도 8은 도 7의 이미지 블록에 해당하는 이미지 데이터를 나타낸 것이고, 도 9는 도 8의 이미지 데이터에 액세스하기 위한 커맨드 및 어드레스 입력 타이밍도이다.FIG. 8 is a diagram illustrating image data corresponding to the image block of FIG. 7, and FIG. 9 is a command and address input timing diagram for accessing the image data of FIG. 8.

먼저, DATA00 내지 DATA03에 대한 액세스를 위하여 첫 번째 뱅크(BANK0)의 첫 번째 로우 어드레스(RAS0)를 지정하기 위한 RAS 신호(910)가 입력되면, tRCD에 해당하는 클럭 이후에 읽기 명령(Read command1)과 CAS 신호(920)가 입력된다.First, when the RAS signal 910 for specifying the first row address RAS0 of the first bank BANK0 is input for access to DATA00 to DATA03, a read command (Read command1) after a clock corresponding to tRCD is input. And the CAS signal 920 are input.

이 때, RAS 신호(910)와 CAS 신호(920) 사이의 tRCD 동안에 DATA10 내지 DATA13에 대한 액세스를 위하여 두 번째 뱅크(BANK1)의 첫 번째 로우 어드레스(RAS0)를 지정하기 위한 RAS 신호(930)가 입력된다.At this time, during the tRCD between the RAS signal 910 and the CAS signal 920, the RAS signal 930 for designating the first row address RAS0 of the second bank BANK1 for access to DATA10 to DATA13 is generated. Is entered.

이와 같은 신호 입력이 가능한 이유는 일반적으로 메모리를 구성하는 뱅크 각각에 대한 개별적인 제어가 가능하기 때문이다. 따라서, 본 발명과 같이 하나의 이미지 라인이 순서대로 교대되는 뱅크 각각에 저장되면 하나의 뱅크에 저장된 특 정 이미지 라인의 액세스를 위한 tRCD 동안에 다음 뱅크에 저장된 특정 이미지 라인의 액세스를 위한 RAS 신호의 입력이 가능하다. Such a signal input is possible because in general, individual control of each bank constituting the memory is possible. Thus, when one image line is stored in each of the alternating banks as in the present invention, the input of the RAS signal for accessing a specific image line stored in the next bank during tRCD for accessing a specific image line stored in one bank This is possible.

이와 같이 두 번째 뱅크(BANK1)에 저장된 DATA10 내지 DATA13의 액세스를 위한 읽기 명령(read command2)을 보내야 할 시점에서 이미 로우가 열려있는 상황이므로 별도의 클럭 소비 없이 액세스를 시작할 수 있다. As such, since the row is already open at the time when a read command (read command2) for accessing the data 10 to the data 13 stored in the second bank BANK1 is to be sent, the access can be started without additional clock consumption.

마찬가지로 첫 번째 뱅크(BANK0)에 대한 예비 충전(940)는 두 번째 뱅크(BANK1)에 대한 읽기 동작 동안 비어있는 클럭에서 수행할 수 있게 되므로 실제로는 예비 충전을 위한 클럭은 소비하지 않아도 된다.Similarly, the precharge 940 for the first bank BANK0 can be performed on an empty clock during the read operation for the second bank BANK1, so that the clock for precharging does not actually need to be consumed.

이와 같이 과정이 두 번째 뱅크(BANK1) 내지 네 번째 뱅크(BANK3)에 대하여 동일하게 이루어진다. 즉, 하나의 뱅크의 특정 라인에 해당하는 이미지 데이터에 액세스하기 위한 RAS 신호와 CAS 신호 사이에 다음 뱅크의 특정 라인에 해당하는 이미지 데이터에 액세스하기 위한 RAS 신호가 입력된다. 또한, 하나의 뱅크에 대한 예비 충전은 다음 뱅크에 대한 읽기 동작 동안 이루어진다. In this manner, the process is the same for the second bank BANK1 to the fourth bank BANK3. That is, a RAS signal for accessing image data corresponding to a specific line of a next bank is input between a RAS signal for accessing image data corresponding to a specific line of one bank and a CAS signal. In addition, preliminary charging for one bank occurs during a read operation for the next bank.

이와 같은 과정을 정리하면 하나의 뱅크의 특정 라인에 해당하는 이미지 데이터에 대한 액세스가 이루어지는 동안 다음 뱅크의 특정 라인에 해당하는 이미지 데이터데 대한 액세스 명령이 이루어진다고 할 수 있다. In summary, the process of accessing image data corresponding to a specific line of one bank is performed while accessing image data corresponding to a specific line of one bank is performed.

이와 같은 과정에 따르면 이미지 데이터에 액세스할 때 필요한 시간은 종래의 액세스 시간보다 단축됨을 알 수 있다. 즉, 도 4의 타이밍도에 도시된 바와 같이 DATA00 내지 DATA03에 대해 액세스한 후 DATA10 내지 DATA13에 대해 액세스하기 까지 이미지 데이터에 액세스하지 않는 시간이 존재한다. 반면에 도 9에 도시된 바 와 같이 본 발명에 따른 액세스에서는 DATA00 내지 DATA03에 대한 액세스와 DATA10 내지 DATA13에 대한 액세스가 연속적으로 발생하므로 전체 액세스 시간이 단축된다. According to this process, the time required for accessing the image data can be seen to be shorter than the conventional access time. That is, as shown in the timing diagram of FIG. 4, there is a time when the image data is not accessed until access to DATA00 to DATA03 and then to DATA10 to DATA13. On the other hand, as shown in FIG. 9, in the access according to the present invention, since access to DATA00 to DATA03 and access to DATA10 to DATA13 occur continuously, the total access time is shortened.

이상에서와 같이 본 발명은 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹 각각이 순서대로 뱅크 각각에 교대로 저장되고, 하나의 뱅크의 특정 라인에 대한 액세스가 이루어지는 동안 다음 뱅크의 특정 라인에 대한 액세스 명령이 이루어짐으로써 동작주파수를 낮추고 전력 소비를 줄일 수 있다.As described above, according to the present invention, each of the image line groups consisting of one or more image lines are alternately stored in each bank, and an access command for a specific line of the next bank is generated while accessing a specific line of one bank is performed. This reduces the operating frequency and reduces power consumption.

Claims (6)

복수 개의 뱅크로 이루어진 메모리에 이미지 데이터를 저장하는 방법에 있어서,In the method for storing image data in a memory consisting of a plurality of banks, 상기 메모리에 저장될 프레임을 구성하는 이미지 라인들은 하나 이상의 이미지 라인으로 이루어진 이미지 라인 그룹들로 나뉘어지고,The image lines constituting the frame to be stored in the memory are divided into image line groups consisting of one or more image lines, 소정의 이미지 라인 그룹에 해당하는 이미지 데이터가 하나의 뱅크에 저장된 후 다음 이미지 라인 그룹에 해당하는 이미지 데이터가 다음 뱅크에 저장되는 것을 특징으로 하는 메모리에 이미지 데이터를 저장하는 방법. And storing the image data corresponding to the predetermined image line group in one bank and then storing the image data corresponding to the next image line group in the next bank. 제1항에 있어서,The method of claim 1, 상기 이미지 데이터를 상기 메모리에 저장할 때 뱅크 어드레스가 로우 어드레스보다 하위 비트에 할당되는 것을 특징으로 하는 메모리에 이미지 데이터를 저장하는 방법. And a bank address is allocated to a lower bit than a row address when the image data is stored in the memory. 제1항에 있어서,The method of claim 1, 상기 메모리가 첫 번째 내지 m 번째 뱅크로 이루어지고, 상기 프레임이 첫 번째 이미지 라인 그룹 내지 n 번째 이미지 라인 그룹으로 이루어질 때, When the memory consists of the first to mth banks and the frame consists of the first to nth image line groups, t 번째(t는 1과 n 사이의 자연수) 이미지 라인 그룹에 해당하는 이미지 데이터는 t/m의 나머지에 해당하는 순번의 뱅크에 저장되는 것을 특징으로 하는 이미지 데이터를 저장하는 방법. and the image data corresponding to the t th (t is a natural number between 1 and n) image lines are stored in a bank of a sequence corresponding to the remainder of t / m. 제1항에 있어서,The method of claim 1, 상기 소정 뱅크의 특정 이미지 라인 그룹에 해당하는 이미지 데이터에 대한 액세스가 이루어지는 동안 다음 뱅크의 상기 특정 이미지 라인 그룹에 해당하는 이미지 데이터에 대한 액세스 명령이 이루어지는 것을 특징으로 하는 이미지 데이터를 저장하는 방법. And an access command for accessing the image data corresponding to the specific image line group in the next bank is performed while the access to the image data corresponding to the specific image line group in the predetermined bank is performed. 제4항에 있어서, The method of claim 4, wherein 상기 소정 뱅크의 특정 이미지 라인 그룹에 해당하는 이미지 데이터에 액세스하기 위한 RAS 신호와 CAS 신호 사이에 상기 다음 뱅크의 특정 이미지 라인 그룹에 해당하는 이미지 데이터에 액세스하기 위한 RAS 신호가 입력되는 것을 특징으로 하는 이미지 데이터를 저장하는 방법. A RAS signal for accessing image data corresponding to a specific image line group of the next bank is input between a RAS signal and an CAS signal for accessing image data corresponding to a specific image line group of the predetermined bank. How to save image data. 제4항에 있어서,The method of claim 4, wherein 상기 소정 뱅크에 대한 예비 충전은 상기 다음 뱅크에 대한 읽기 동작 동안 이루어지는 것을 특징으로 하는 이미지 데이터를 저장하는 방법. Precharging the predetermined bank during a read operation to the next bank.
KR1020050017159A 2005-03-02 2005-03-02 Method for Storing Image Data in Memory KR100666824B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050017159A KR100666824B1 (en) 2005-03-02 2005-03-02 Method for Storing Image Data in Memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050017159A KR100666824B1 (en) 2005-03-02 2005-03-02 Method for Storing Image Data in Memory

Publications (2)

Publication Number Publication Date
KR20060096548A true KR20060096548A (en) 2006-09-13
KR100666824B1 KR100666824B1 (en) 2007-01-10

Family

ID=37624049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050017159A KR100666824B1 (en) 2005-03-02 2005-03-02 Method for Storing Image Data in Memory

Country Status (1)

Country Link
KR (1) KR100666824B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100982465B1 (en) * 2009-01-30 2010-09-15 (주)씨앤에스 테크놀로지 Memory control method for a camera

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463267B2 (en) 2006-10-26 2008-12-09 Lsi Corporation System for interleaved storage of video data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100510677B1 (en) * 2003-03-19 2005-08-31 엘지전자 주식회사 Memory access control apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100982465B1 (en) * 2009-01-30 2010-09-15 (주)씨앤에스 테크놀로지 Memory control method for a camera

Also Published As

Publication number Publication date
KR100666824B1 (en) 2007-01-10

Similar Documents

Publication Publication Date Title
KR100764633B1 (en) Memory controller, data processing system and semiconductor device
US6434736B1 (en) Location based timing scheme in memory design
US5828423A (en) Motion vector detection circuit provided with the picture data memory
US6965980B2 (en) Multi-sequence burst accessing for SDRAM
JP2002244920A (en) Dram interface circuit
KR20110015030A (en) Memory device and memory controller for controlling the same
US5765214A (en) Memory access method and apparatus and multi-plane memory device with prefetch
KR100666824B1 (en) Method for Storing Image Data in Memory
US20170270996A1 (en) Semiconductor memory deivce and accessing method thereof
CN102005241A (en) Semiconductor storage device and its control method
JP2003223785A (en) Semiconductor memory device with high-speed operation and method of using and designing the same
KR100726101B1 (en) System for Controlling Memory
US20040061704A1 (en) Memory access method for video decoding
KR100399412B1 (en) Semiconductor memory device comprising more than two internal banks of different sizes
US6215719B1 (en) Memory device having line address counter for making next line active while current line is processed
JPH11149787A (en) Semiconductor memory device
JPH06189292A (en) Moving image decoding device
US6138214A (en) Synchronous dynamic random access memory architecture for sequential burst mode
US7420567B2 (en) Memory access method for video decoding
JP2004139422A (en) Information processor, information storage device, information processing method and information processing program
US20040085850A1 (en) Semiconductor memory capable of performing high-speed processing
JP2970513B2 (en) Semiconductor memory device and control method thereof
US20080263290A1 (en) Memory control apparatus and memory control method
JPH0863969A (en) Semiconductor storage device
US6826088B2 (en) Method and integrated circuit capable of reading and writing data simultaneously

Legal Events

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

Payment date: 20121217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141222

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200106

Year of fee payment: 14