KR100510674B1 - 영상 피벗을 위한 메모리 억세스 방법 - Google Patents

영상 피벗을 위한 메모리 억세스 방법 Download PDF

Info

Publication number
KR100510674B1
KR100510674B1 KR10-2003-0013783A KR20030013783A KR100510674B1 KR 100510674 B1 KR100510674 B1 KR 100510674B1 KR 20030013783 A KR20030013783 A KR 20030013783A KR 100510674 B1 KR100510674 B1 KR 100510674B1
Authority
KR
South Korea
Prior art keywords
memory
data
image
pivot
fifo
Prior art date
Application number
KR10-2003-0013783A
Other languages
English (en)
Other versions
KR20040078947A (ko
Inventor
이인호
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR10-2003-0013783A priority Critical patent/KR100510674B1/ko
Publication of KR20040078947A publication Critical patent/KR20040078947A/ko
Application granted granted Critical
Publication of KR100510674B1 publication Critical patent/KR100510674B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 온 스크린 디스플레이(OSD) 블록에서 읽어 들이는 영상을 생성하는 역할을 하는 그래픽 엔진의 FIFO를 이용하여 메모리에의 데이터 재배열 및 소스 블록 전송을 수행함에 의해 영상의 피벗 기능을 구현하는 방법에 관한 것으로서, 특히 화면의 90도/270도 회전(rotation) 기능인 피벗(pivot)을 구현할 시 모든 디스플레이 장치의 라스터 스캔 방식에 의한 문제점과 사용 메모리의 컬럼 어드레스를 변화하여 데이터 저장시 메모리의 리프레시에 의한 밴드폭의 감소, 그리고 저장 시간의 증가 등의 문제점 없이 보다 빠른 실시간으로 피벗 기능을 구현할 수 있다.

Description

영상 피벗을 위한 메모리 억세스 방법{Memory access method for image pivot}
본 발명은 라스터 스캔 디스플레이(raster scan display) 방식의 디스플레이 장치(Display Device)에서 영상 피벗(Pivot)을 위한 메모리 억세스 방법에 관한 것이다.
최근 PDP/LCD등 초박형 디스플레이 장치가 증가하면서, 이러한 디스플레이 장치의 공간 절약의 장점을 살려 기존의 TV/PC 화면의 디스플레이 이외에 여러 용도로 많이 사용되어지고 있다.
대표적인 예로 공항이나 역 같은 곳에서 이러한 초박형 디스플레이 장치를 벽면이나 천장에 설치하여 비행기나 기차의 이착륙 시간이나 향후 스케줄 등을 손님들에게 알려주는 용도로도 많이 사용된다.
이러한 용도로 디스플레이 장치를 사용하고자 하는 경우, PDP나 LCD 디스플레이 장치를 도 1a와 같이 사용하기보다는 도 1b와 같이 디스플레이 장치를 세로로 벽면이나 천장에 고정하여 사용할 수도 있다.
상기 도 1b와 같은 방법으로 사용하면 표시하는 라인의 폭은 줄어들지만 표시할 수 있는 라인 수가 도 1a보다 많아지기 때문에 적용의 목적에 따라 어떠한 경우에는 좀 더 많은 정보를 한 화면에 표시 할 수 있는 있으므로 상기된 도 1b와 같이 사용하는 경우도 많이 있다.
하지만 거의 모든 디스플레이 장치는 상기된 도 1a와 같이 가로 방향으로 화면을 표시하는 라스터 스캔(raster scan) 방식이기 때문에 원래의 도 1a의 형태를 가지는 화면과 도 1b의 형태를 가지는 화면을 각각 따로 구성하여서 메모리에 저장하고 용도에 맞게 각각을 화면을 메모리에서 읽어 들여서 사용하게 된다.
그런데, 이러한 방법은 서로 다른 화면을 메모리에 각각 저장하고 있어야 하므로, 매우 많은 메모리를 필요로 하므로 메모리의 증가를 가져오는 단점이 있다.
또 다른 종래의 방법은 영상을 라스터(raster)로 처리하는 프로세서(processor) 이외에 이러한 기능을 수행하는 피벗 프로세서(pivot processor)와 피벗 프로세서(pivot processor) 메모리를 따로 사용하여 디스플레이 장치가 피벗 기능을 수행하게 하는 경우도 있지만, 이 경우는 디스플레이 장치에서의 시스템과 메모리의 증가로 시스템이 커지는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 라스터 스캔 방식으로 영상을 처리하는 시스템에서 효율적인 메모리 억세스로 전체적인 시스템의 증가에 별 영향을 주지 않으면서 영상 피벗 기능을 구현하는 메모리 억세스 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 영상 피벗 기능을 위한 메모리 억세스 방법은, 매크로 블록 단위로 디스플레이 장치에 디스플레이할 영상을 저장하는 메모리와 그래픽 엔진의 FIFO를 제어하여 영상 피벗을 구현함에 있어서, (a) 상기 메모리에서 매크로 블록의 한 로우의 데이터를 FIFO로 읽어온 후 메모리 스킵값만큼 건너뛰면서 상기 FIFO의 데이터를 워드 단위로 메모리에 다시 라이트하는 데이터 재배열 과정을 상기 매크로 블록의 모든 로우에 대해 반복하는 단계; (b) 상기 그래픽 엔진의 소스 블록 전송 명령에 의해 상기 (a) 단계에서 메모리에 저장된 데이터를 메모리 스킵값만큼 순차적으로 상기 FIFO로 읽어오는 단계; (c) 라인 선택 신호를 이용하여 상기 (b) 단계의 FIFO 내에 있는 데이터에서 같은 비트 필드를 가지는 화소들만 선택하여 상기 메모리에 라스터 방식으로 저장하는 단계; 그리고 (d) 상기 (b), (c) 단계가 반복 수행되어 하나의 매크로 블록에 대한 데이터가 상기 메모리에 최종적으로 저장되면 상기 메모리에 저장된 데이터를 라스터 방식으로 읽어내어 디스플레이하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 메모리 스킵 값은 외부에서 설정해 줄 수 있는 값으로서, 회전하고자 하는 최소 단위의 수직 라인의 수로 결정되는 것을 특징으로 한다.
상기 라인 선택 신호는 0과 ((w/pixel_depth)-1)(여기서, w는 워드당 비트수이고, pixel_depth는 화소당 비트수임) 사이에서 결정되는 것을 특징으로 한다.
상기 (c) 단계에서 FIFO 내에 있는 데이터를 메모리에 라스터 방식으로 저장할 때 영상을 왼쪽으로 90도 회전하는 경우, 상기 라인 선택 신호에 의해 순차적으로 정의된 라인을 한번의 메모리 라이트 요구시마다 로우 방향으로 1씩 감소하고 결정된 로우 방향의 어드레스 내에서 컬럼 방향 어드레스는 순차적으로 1씩 증가해주면서 상기 메모리에 저장하는 것을 특징으로 한다.
상기 (c) 단계에서 FIFO 내에 있는 데이터를 메모리에 라스터 방식으로 저장할 때 영상을 오른쪽으로 90도 회전하는 경우, 상기 라인 선택 신호에 의해 순차적으로 정의된 라인들을 한번의 메모리 라이트 요구 시마다 로우 방향으로는 1씩 증가하여 결정하고 결정된 로우 어드레스 상에서 컬럼 방향 어드레스는 1씩 감소하면서 상기 메모리에 저장하는 것을 특징으로 한다.
상기 (a) 단계에서 임시로 데이터를 저장하는 FIFO의 사이즈에 의해 한번에 피벗할 수 있는 영상의 사이즈가 결정되는 것을 특징으로 한다.
본 발명에 따른 영상 피벗을 위한 메모리 억세스 방법은, 전체 화면이 NxM개의 매크로 블록으로 구성되어 있을 때, 상기 (c) 단계의 소스 블록 전송을 수행시 상기 메모리에 라이트하는 로우/컬럼 방향의 어드레스를 전체 화면에 대응하여 각각의 매크로 블록을 이동시키면 영상 피벗이 전체 화면으로 확장되는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명은 온 스크린 디스플레이(On Screen Display ; OSD) 블록에서 읽어 들이는 영상을 생성하는 역할을 하는 그래픽 엔진(Graphic Engine)의 FIFO를 이용하여 메모리에의 데이터 재배열 및 소스 블록 전송(source block transfer)(또는 bit block transfer)을 수행함에 의해 영상의 피벗 기능을 구현할 수 있다.
예를 들어, 도 2와 같이 16x16의 16bpp(bits per pixel) 이미지가 있다고 가정할 때, 본 발명은 이 이미지를 90도나 270도로 회전(rotation)하는 방법에 대한 것이다.
즉, 도 2는 16bpp의 경우에 16x16의 매크로 블록을 적용한 예로서, 매크로 블록의 사이즈나 화소 깊이(pixel depth)는 변화가 가능하다. 여기서, 16x16라는 매크로 블록 사이즈는 시스템에서 사용하는 FIFO(First Input First Output)의 폭(width)과 깊이(depth)에 의하여 변화할 수 있다. 즉, 임시로 데이터를 저장하는 FIFO의 사이즈에 의해 한번에 피벗할 수 있는 영상의 사이즈를 정의할 수 있다.
상기 도 2와 같은 이미지가 메모리에 저장되어 있을 때, 일반적으로 한번에 데이터를 읽고 쓸 수 있는 비트 수를 64-bit(1-word)라고 가정하면, 하나의 워드는 4개의 화소(pixel)로 구성(즉, 64/16=4)된다.
이와 같은 조건일 때, 피벗 기능을 수행하는 방법을 알아보면, 먼저 데이터를 중간 단계로 메모리에 재배열을 시켜야 한다.
이때, 재배열을 시키는 원칙은 한번에 메모리에 데이터를 리드/라이트(read/write)할 시 메모리 어드레스 중 로우(row) 어드레스의 변화는 메모리 내부적으로 리프레시(refresh)하는 동작이 발생하므로 충전/방전(charge/discharge) 시간이 필요하게 되어 같은 양의 데이터를 리드/라이트시 상대적으로 많은 시간을 소요하게 된다.
이러한 리드/라이트 시간의 증가는 전체 시스템을 생각했을 때, 메모리 밴드폭(bandwidth)에 상당한 영향을 주므로 한번의 메모리 요구에 의한 데이터의 리드/라이트 동작에서는 로우(row) 어드레스의 변화 방식은 지양해야 한다.
도 3은 본 발명에서 사용한 중간 단계의 데이터 메모리 재배열 예를 보인 것으로서, 메모리 상의 한 로우를 4개의 블록(B0~B3)으로 표시하고 있다.
도 3을 보면, 원래 이미지(즉, 도 2)의 첫번째 로우를 FIFO로 읽어 들여서 초기 메모리 컬럼(column) 어드레스를 '0'으로 설정한 후, 각 워드(즉, 4화소)를 레지스터로 설정할 수 있는 메모리 스킵(Memory_skip) 만큼 건너뛰어서 메모리에 라이트한 모습이다.
그러면, 도 2에서 영상의 1번째 로우는 도 3의 동일 메모리 로우 어드레스 내에서 0,16,32,48의 컬럼 어드레스를 가지는 메모리에 저장되게 된다.
도 2의 영상 2번째 로우는 초기 어드레스를 1로 설정하고 역시 같은 방법으로 메모리 스킵(Memory_skip) 만큼 건너뛰어서 실제 메모리의 위와 동일 로우 어드레스에 라이트한다. 즉, 두 번째 로우는 도 3의 동일 메모리 어드레스 내에서 1,17,33,49의 컬럼 어드레스를 가지는 메모리에 저장되게 된다.
이런 동작을 반복하여 상기된 도 3과 같이 실제 메모리에 동일 로우 어드레스 상에서 컬럼 어드레스만 변화하여 이미지 데이터를 라이트한다.
상기된 방법에서 로우 어드레스의 변화는 없고, 단지 실제 메모리의 컬럼 어드레스의 변화만 있으므로, 순차적으로 메모리에 라이트하는 일반적인 방법과 비교하여 같은 라이트 시간을 가지므로 메모리 억세스 시간이나, 밴드폭의 증가를 가지지 않는다.
즉, 본 발명은 FIFO 사이즈를 고려하여 메모리에 데이터를 재배열할 때 메모리 어드레스의 컬럼 어드레스만 가변하는 방식에 의해 메모리의 밴드폭에 변화를 주지 않으면서 라스터 방식의 영상 처리 방법으로 피벗 기능을 구현할 수 있다.
이때, 상기 도 3의 메모리 스킵(memory_skip) 값은 외부에서 설정해 줄 수 있는 값으로, 하기의 수학식 1과 같이 회전하고자 하는 최소 단위의 수직 라인의 수로 결정된다.
Memory_skip = n (즉, 소스 이미지의 수직 라인 수)
본 발명에서는 실시예로, 16x16 이미지를 피벗하고자 하므로 이때의 메모리 스킵 값은 16이 된다.
먼저, 상기된 도 2를 도 3과 같이 중간 단계로 메모리에 이동을 했으면 다음 두번째 단계로 넘어가야 하는데, 그 설명은 다음과 같다.
도 4는 소스 블록 전송(source block transfer) 명령을 이용하여 도 3의 메모리 스킵값만큼 순차적으로 리드했을 때, 임시 버퍼 역할을 하는 데이터 리드 FIFO 내의 각 화소의 배치 상태를 나타낸 도면이다. 도 4를 살펴보면 상기된 도 2의 각각의 세로 화소들이 한 워드에서 같은 비트-필드(bit-field)를 가지게 됨을 알 수 있다.
도 4와 같은 데이터의 배치 구조에서 라인 선택(line_selection) 신호를 사용하여 FIFO내에 있는 데이터에서 같은 비트-필드(bit-field)를 가지는 화소들만 선택해서 메모리에 라스터 방식으로 저장할 수 있다. 이때의 라인 선택 신호는 레지스터로 결정되는 값이다.
즉, 상기 라인 선택 신호는 하기의 수학식 2와 같이 정의된다.
라인 선택 신호(Line_selection) = i (0 ≤i ≤(w/pixel_depth)-1)
여기서, w는 bit-number per word이다.
상기 수학식 2에서 w는 64-bit/word이므로 64가 되고, 도 4의 화소_깊이(pixel_depth)는 16bpp이므로 라인 선택 신호는 0에서 3까지의 값으로 변화된다.
각각의 라인 선택 신호에 의해 선택된 화소 데이터들은 왼쪽-회전(left-rotation)인지, 오른쪽-회전(right-rotation)인지에 따라서 각 라인별로 외부 메모리에 최종적으로 저장하면 된다.
도 5는 왼쪽-회전과 오른쪽-회전의 최종 결과를 나타낸 도면이다.
먼저, 도 5a의 왼쪽 회전을 살펴보면, 기준점(reference point)이 최종적인 결과 영상의 왼쪽 하단에 위치한다. 이는 실제 메모리 상에서 y(row)방향의 어드레스는 다른 라인들보다 큰 값을 의미하므로, 라인 선택 신호에 의해 순차적으로 정의된 라인을 한번의 메모리 라이트 요구시마다 y(row) 방향으로 1씩 감소하고 결정된 y(row)방향의 어드레스 내에서 x(column) 방향 어드레스는 순차적으로 1씩 증가해주면 원하는 왼쪽 회전 결과를 얻을 수 있다.
유사한 방법으로 도 5b의 오른쪽 회전을 살펴보면, 기준점은 오른쪽 상단이므로 라인 선택 신호에 의해 순차적으로 정의된 라인들을 한번의 메모리 라이트 요구 시마다 y(row) 방향으로는 1씩 증가하여 결정하고 결정된 로우 어드레스(row address) 상에서 x 방향의 컬럼 어드레스는 1씩 감소하여(reverse write method) 실제 메모리에 저장하면 된다.
위와 같은 방법으로 실제 메모리에 최종적으로 저장된 영상 데이터를 OSD(on-screen display) 처리부(도시되지 않음)에서 라스터 방식으로 억세스하여 디스플레이하면 피벗 처리된 결과 영상을 보여줄 수 있다.
여태까지는 n x n 정방형의 매크로 블록에 대해 피벗 기능을 구현하는 것에 대하여 설명하였다.
도 6은 전술한 각 매크로 단위의 피벗 기능을 수행하면서 중간 단계에서 마지막 단계로의 소스 블록 전송(source block transfer)을 수행할 시, 목적지(destination)의 위치를 전체 영상에 대응하는 xy 좌표로 변화시키면 피벗의 구현이 전체 화면에 확장되는 것을 표현한 도면이다.
전체 화면이 NxM개의 매크로 블록으로 구성되어 있을 때, 2번째 단계의 소스 블록 전송(source block transfer)을 수행시 라이트하는 x/y 방향의 어드레스를 전체 화면에 대응하여 각각의 매크로 블록을 이동시키면 도 6과 같이 전체 화면에서 피벗 기능이 구현 가능하다.
이상과 같이 본 발명의 적용 예를 64비트 워드 상황에서 화소 깊이 = 16bpp, 매크로 블록 사이즈 = 16x16인 경우에 관하여 알아보고, 이러한 매크로 블록의 최종 메모리 저장시 전체 영상의 배치를 고려하면 전체 화면의 피벗 기능이 구현 가능함을 알아보았다.
본 발명의 적용은 실제 사용 메모리의 한 로우 어드레스에서 정의되는 컬럼의 개수와 중간 버퍼 역할을 하는 시스템 내에서의 FIFO 사이즈에 의하여 매크로 블록 사이즈를 결정하여 최적의 매크로 사이즈를 정하여 라스터 스캔 디스플레이(raster scan display) 장치에 적용할 수 있다.
이상의 설명에서와 같이 본 발명은 화면의 90도/270도 회전(rotation) 기능인 피벗(pivot)을 구현할 시 모든 디스플레이 장치의 라스터 스캔 방식에 의한 문제점과 사용 메모리의 컬럼 어드레스를 변화하여 데이터 저장시 메모리의 리프레시에 의한 밴드폭의 감소, 그리고 저장 시간의 증가 등의 문제점 없이 중간 버퍼인 FIFO를 이용하여 피벗 기능을 구현 할 수 있다.
본 발명의 실시예에서는 이미 만들어진 영상을 회전하는 걸 예로 들었기 때문에 2가지 단계로 데이터를 처리하였으나, 첫번째 단계는 실제 데이터를 생성할 시에는 바로 각 블록별로 저장을 할 수 있으므로, 데이터 생성시는 생성 > 소스 블록 전송의 단계로도 피벗 기능을 구현 할 수 있다.
이상에서와 같이 본 발명에 따른 영상 피벗을 위한 메모리 억세스 방법에 의하면, 효율적인 메모리 억세스 방식을 이용하여 라스터 스캔 디스플레이(raster scan display) 방식의 디스플레이 디바이스(Display Device)에서 영상의 피벗(Pivot)(영상의 90도/270도 회전)기능을 간단하게 지원할 수 있다. 즉, 현재 ASIC 회로가 놀라울 속도로 발전하고 있고, 단위 면적당 회로의 집적 기술도 갈수록 발달하고 있으므로, 라스터 스캔 방식의 디스플레이 장치와 메모리 억세스에 본 발명을 적용하면, 보다 빠른 실시간으로 피벗 기능을 구현할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
도 1a는 일반적인 초박형 디스플레이 장치의 예를 보인 도면
도 1b는 도 1a의 초박형 디스플레이 장치를 90도 회전시킨 예를 보인 도면
도 2는 16x16 사이즈를 갖는 매크로 블록의 예를 보인 도면
도 3은 도 2의 매크로 블록의 데이터를 메모리에 재배열한 예를 보인 본 발명의 도면
도 4는 도 3의 메모리에 재배열된 데이터를 읽어낸 FIFO 내의 데이터 배열 예를 보인 도면
도 5a는 도 2의 매크로 블록이 왼쪽으로 90도 회전하도록 메모리에 최종적으로 저장된 데이터 배열의 예를 보인 도면
도 5b는 도 2의 매크로 블록이 오른쪽으로 90도 회전하도록 메모리에 최종적으로 저장된 데이터 배열의 예를 보인 도면
도 6의 (a),(b)는 피벗 기능을 전체 화면으로 확장하는 예를 보인 도면

Claims (9)

  1. 매크로 블록 단위로 디스플레이 장치에 디스플레이할 영상을 저장하는 메모리와 그래픽 엔진의 FIFO를 제어하여 영상 피벗을 구현하는 메모리 억세스 방법에 있어서,
    (a) 상기 메모리에서 매크로 블록의 한 로우의 데이터를 FIFO로 읽어 와 저장한 후 메모리 스킵값만큼 건너뛰면서 상기 FIFO에 저장된 데이터를 워드 단위로 메모리에 다시 라이트하는 데이터 재배열 과정을 상기 매크로 블록의 모든 로우에 대해 반복하는 단계;
    (b) 상기 그래픽 엔진의 소스 블록 전송 명령에 의해 상기 (a) 단계에서 메모리에 재배열된 데이터를 메모리 스킵값만큼 건너뛰면서 순차적으로 상기 FIFO로 읽어와 저장하는 단계;
    (c) 라인 선택 신호를 이용하여 상기 (b) 단계의 FIFO 내에 있는 데이터에서 같은 비트 필드를 가지는 화소들만 선택하여 상기 메모리에 라스터 방식으로 저장하는 단계; 그리고
    (d) 상기 (b), (c) 단계가 반복 수행되어 하나의 매크로 블록에 대한 데이터가 상기 메모리에 최종적으로 저장되면 상기 메모리에 저장된 데이터를 라스터 방식으로 읽어내어 디스플레이하는 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  2. 제 1 항에 있어서, 상기 메모리 스킵 값은
    외부에서 설정해 줄 수 있는 값으로서, 회전하고자 하는 최소 단위의 수직 라인의 수로 결정되는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계에서 매크로 블록의 첫 번째 로우의 데이터를 메모리에 재배열할 때, 메모리의 초기 컬럼 어드레스를 '0'으로 설정한 후, 각 워드 단위의 데이터를 상기 메모리 스킵값만큼 건너뛰면서 상기 메모리에 저장하는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계에서 매크로 블록의 두 번째 로우의 데이터를 메모리에 재배열할 때, 메모리의 초기 컬럼 어드레스를 '1'로 설정한 후, 각 워드 단위의 데이터를 상기 메모리 스킵값만큼 건너뛰면서 상기 메모리의 동일 로우 어드레스 상에 저장하는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  5. 제 1 항에 있어서, 상기 (c) 단계의 라인 선택 신호(i)는
    0과 ((w/pixel_depth)-1)(여기서, w는 워드당 비트수이고, pixel_depth는 화소당 비트수임) 사이에서 결정(0 ≤i ≤(w/pixel_depth)-1)되는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  6. 제 1 항에 있어서,
    상기 (c) 단계에서 FIFO 내에 있는 데이터를 메모리에 라스터 방식으로 저장할 때 영상을 왼쪽으로 90도 회전하는 경우,
    상기 라인 선택 신호에 의해 순차적으로 정의된 라인을 한번의 메모리 라이트 요구시마다 로우 방향으로 1씩 감소하고 결정된 로우 방향의 어드레스 내에서 컬럼 방향 어드레스는 순차적으로 1씩 증가해주면서 상기 메모리에 저장하는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  7. 제 1 항에 있어서,
    상기 (c) 단계에서 FIFO 내에 있는 데이터를 메모리에 라스터 방식으로 저장할 때 영상을 오른쪽으로 90도 회전하는 경우,
    상기 라인 선택 신호에 의해 순차적으로 정의된 라인들을 한번의 메모리 라이트 요구 시마다 로우 방향으로는 1씩 증가하여 결정하고 결정된 로우 어드레스 상에서 컬럼 방향 어드레스는 1씩 감소하면서 상기 메모리에 저장하는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  8. 제 1 항에 있어서,
    상기 (a) 단계에서 임시로 데이터를 저장하는 FIFO의 사이즈에 의해 한번에 피벗할 수 있는 영상의 사이즈가 결정되는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
  9. 제 1 항에 있어서,
    전체 화면이 NxM개의 매크로 블록으로 구성되어 있을 때, 상기 (c) 단계의 소스 블록 전송을 수행시 상기 메모리에 라이트하는 로우/컬럼 방향의 어드레스를 전체 화면에 대응하여 각각의 매크로 블록을 이동시키면 영상 피벗이 전체 화면으로 확장되는 것을 특징으로 하는 영상 피벗을 위한 메모리 억세스 방법.
KR10-2003-0013783A 2003-03-05 2003-03-05 영상 피벗을 위한 메모리 억세스 방법 KR100510674B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0013783A KR100510674B1 (ko) 2003-03-05 2003-03-05 영상 피벗을 위한 메모리 억세스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0013783A KR100510674B1 (ko) 2003-03-05 2003-03-05 영상 피벗을 위한 메모리 억세스 방법

Publications (2)

Publication Number Publication Date
KR20040078947A KR20040078947A (ko) 2004-09-14
KR100510674B1 true KR100510674B1 (ko) 2005-08-31

Family

ID=37364023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0013783A KR100510674B1 (ko) 2003-03-05 2003-03-05 영상 피벗을 위한 메모리 억세스 방법

Country Status (1)

Country Link
KR (1) KR100510674B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101164819B1 (ko) * 2004-11-15 2012-07-18 삼성전자주식회사 디스플레이장치와 그 제어방법 및 디스플레이시스템

Also Published As

Publication number Publication date
KR20040078947A (ko) 2004-09-14

Similar Documents

Publication Publication Date Title
US8707191B2 (en) Multi-screen synthesizing display apparatus and method
US6911983B2 (en) Double-buffering of pixel data using copy-on-write semantics
US5781201A (en) Method for providing improved graphics performance through atypical pixel storage in video memory
EP0279229B1 (en) A graphics display system
JPH09245179A (ja) コンピュータグラフィックス装置
JP2005166132A (ja) 表示メモリ回路および表示コントローラ
US20090015591A1 (en) Image generating apparatus, image generating method, and computer readable medium
US5512918A (en) High speed method and apparatus for generating animation by means of a three-region frame buffer and associated region pointers
US20110032262A1 (en) Semiconductor integrated circuit for displaying image
JP3316593B2 (ja) メモリ・スペース割当方法及び装置
US5422998A (en) Video memory with flash fill
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
KR100510674B1 (ko) 영상 피벗을 위한 메모리 억세스 방법
US6031550A (en) Pixel data X striping in a graphics processor
US5119331A (en) Segmented flash write
KR100297716B1 (ko) 높은멀티비트자유도의반도체메모리장치
JPS61190387A (ja) フレーム・バツフア・メモリ用制御器
JPH08211849A (ja) 表示制御装置
JP2633251B2 (ja) 画像メモリ素子
JP2990163B1 (ja) 記憶表示装置
JPS62127790A (ja) マルチウインドウ表示制御方式
US20020101420A1 (en) Triangle shading method for a 3D graphic system
JPS638951A (ja) 情報記憶装置
JPH0879625A (ja) ディジタル画像分割表示システム
JPH07118006B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee