KR100862882B1 - 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법 - Google Patents

선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법 Download PDF

Info

Publication number
KR100862882B1
KR100862882B1 KR1020070016563A KR20070016563A KR100862882B1 KR 100862882 B1 KR100862882 B1 KR 100862882B1 KR 1020070016563 A KR1020070016563 A KR 1020070016563A KR 20070016563 A KR20070016563 A KR 20070016563A KR 100862882 B1 KR100862882 B1 KR 100862882B1
Authority
KR
South Korea
Prior art keywords
signal
conversion
read
output
write
Prior art date
Application number
KR1020070016563A
Other languages
English (en)
Other versions
KR20080076523A (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 KR1020070016563A priority Critical patent/KR100862882B1/ko
Publication of KR20080076523A publication Critical patent/KR20080076523A/ko
Application granted granted Critical
Publication of KR100862882B1 publication Critical patent/KR100862882B1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D23/00General constructional features
    • F25D23/12Arrangements of compartments additional to cooling compartments; Combinations of refrigerators with other equipment, e.g. stove
    • F25D23/126Water cooler
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D1/00Apparatus or devices for dispensing beverages on draught
    • B67D1/08Details
    • B67D1/0857Cooling arrangements
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25CPRODUCING, WORKING OR HANDLING ICE
    • F25C2700/00Sensing or detecting of parameters; Sensors therefor
    • F25C2700/04Level of water
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D2323/00General constructional features not provided for in other groups of this subclass
    • F25D2323/122General constructional features not provided for in other groups of this subclass the refrigerator is characterised by a water tank for the water/ice dispenser

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를 발생하는 영상 변환 장치 및 그 영상 변환 방법에 관한 것으로서, 영상 변환 장치는, 영상 변환부, 변환 동작 제어부, 및 어드레스 발생부를 포함한다. 영상 변환부는 판독 제어 신호, 판독 어드레스 신호, 및 입출력 제어 신호에 기초하여, 메모리에 저장된 소스 영상을 판독하여, 모드 선택 신호에 기초하여 변환하고, 변환 영상을 기입 제어 신호, 기입 어드레스 신호, 및 입출력 제어 신호에 기초하여, 다시 메모리에 기입한다. 변환 동작 제어부는 CPU로부터 변환 모드 정보와 복수의 소스 프레임 각각의 사이즈 정보를 포함하는 영상 변환 정보를 수신하고, 변환 모드 정보에 기초하여 모드 선택 신호를, 어드레스 발생 완료 신호에 응답하여 입출력 제어 신호를, 변환 완료 신호에 응답하여 판독 또는 기입 제어 신호를, 소스 프레임 각각의 사이즈 정보에 기초하여, 판독 및 기입 어드레스 변수를 각각 출력한다. 어드레스 발생부는 선택된 영상 변환 모드에 대응하는 판독 또는 기입 기입 어드레스 신호를 출력한다. 본 발명은, 소용량의 레지스터 버퍼만을 이용하여 영상 변환 동작을 실행할 수 있고, CPU에 집중되는 과도한 부하를 감소시킬 수 있다.
Figure R1020070016563
DMA 입출력부, 화소 데이터, 화소 위치 변경부, 레지스터

Description

선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를 발생하는 영상 변환 장치 및 그 영상 변환 방법{Image conversion device for generating address signals changed according to the selected image conversion mode, and image conversion method of the same}
도 1은 종래의 영상 변환 방식의 일례가 적용된 영상 처리 시스템의 블록 도이다.
도 2는 종래의 영상 변환 방식의 다른 예가 적용된 영상 처리 시스템의 블록 도이다.
도 3은 본 발명의 일 실시예에 따른 영상 변환 장치를 포함하는 영상 처리 시스템의 개략적인 블록 도이다.
도 4는 본 발명의 일 실시예에 따른 영상 변환 장치의 블록 도이다.
도 5는 도 4에 도시된 어드레스 발생부의 상세한 블록 도이다.
도 6은 도 4에 도시된 읽기 버퍼부와 화소 위치 변경부의 상세한 블록 도이다.
도 7은 도 4에 도시된 쓰기 버퍼부의 상세한 블록 도이다.
도 8은 도 3에 도시된 메모리에 저장된 소스 영상의 하나의 소스 프레임을 나타내는 도면이다.
도 9는 도 8에 도시된 하나의 소스 블록에 포함되는 화소 데이터들의 배열을 나타내는 도면이다.
도 10a는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 노말 수평 플립(flip) 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 10b는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 노말 수직 플립 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 10c는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 노말 수평/수직 플립 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 11a는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 회전 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 11b는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 회전 수평 플립 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 11c는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 회전 수직 플립 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 11d는 도 4에 도시된 영상 변환 장치에 의해 도 9에 도시된 소스 블록이 회전 수평/수직 플립 변환된 경우, 변환 블록을 이루는 화소 데이터들의 배열을 나타내는 도면이다.
도 12는 도 4에 도시된 영상 변환 장치에 의해 도 8에 도시된 소스 프레임이 노말 수평 플립 변환된 경우, 변환 프레임에 포함되는 변환 블록들의 배열을 나타내는 도면이다.
도 13은 도 8에 도시된 소스 프레임의 화소 데이터들의 배열을 부분적으로 나타내는 도면이다.
도 14a는 도 13에 도시된 소스 프레임이 노말 수평 플립 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 14b는 도 13에 도시된 소스 프레임이 노말 수직 플립 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 14c는 도 13에 도시된 소스 프레임이 노말 수평/수직 플립 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 15a는 도 13에 도시된 소스 프레임이 시계 방향으로 90° 회전 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 15b는 도 13에 도시된 소스 프레임이 시계 방향으로 90° 회전 및 수평 플립 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 15c는 도 13에 도시된 소스 프레임이 시계 방향으로 90° 회전 및 수직 플립 변환된 경우, 화소 데이터들의 배열의 변화를 나타내는 도면이다.
도 15d는 도 13에 도시된 소스 프레임이 시계 방향으로 90° 회전, 수평, 및 수직 플립 변환된 경우, 화소 데이터들의 배열 변화를 나타내는 도면이다.
도 16은 도 3 및 도 4에 도시된 영상 변환 장치의 동작 과정을 나타내는 흐름도이다.
도 17은 도 16에 도시된 판독 단계(1300)를 상세히 나타내는 흐름도이다.
도 18은 도 16에 도시된 변환 단계(1400)를 상세히 나타내는 흐름도이다.
도 19는 도 16에 도시된 기입 단계(1500)를 상세히 나타내는 흐름도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 영상 변환 시스템 101 : 메모리
102 : CPU 103 : 영상 출력 장치
104 : 디스플레이 장치 200 : 영상 변환 장치
210 : 인터페이스 장치 220 : 변환 동작 제어부
230 : 어드레스 발생부 240 : 영상 변환부
241 : DMA 입출력부 242 : 읽기 버퍼부
243 : 화소 위치 변경부 244 : 쓰기 버퍼부
본 발명은 영상 처리 시스템에 관한 것으로서, 더욱 상세하게는, 영상 처리 시스템에 포함되는 영상 변환 장치 및 그 영상 변환 방법에 관한 것이다.
일반적으로, 영상 정보를 시각적으로 표시하는 LCD(liquid crystal display)와 같은 디스플레이 장치는 표시 화면의 비율에 따라 세로형(portrait type)과 가로형(landscape type)으로 구분될 수 있다. 세로형 디스플레이 장치는 가로보다 세로 방향의 길이가 더 긴 화면 비율을 가지며, 가로형 디스플레이 장치는 세로보다 가로 방향의 길이가 더 긴 화면 비율을 가진다. 한편 멀티미디어 영상은 가로의 길이가 세로의 길이보다 긴, 즉, 가로형 디스플레이 장치에 적합한 해상도를 갖는 것이 일반적이다. 따라서 멀티미디어 영상이 가로형 디스플레이 장치에서 표시될 경우, 가로형 디스플레이 장치의 화면 대부분이 멀티미디어 영상을 표시하는데 사용될 수 있다. 그러나 이러한 멀티미디어 영상이 세로형 디스플레이 장치에서 표시될 경우, 멀티미디어 영상을 90°또는 270°로 회전시키지 않는 한, 세로형 디스플레이 장치의 전체 화면이 효율적으로 사용될 수 없다. 다시 말하면, 멀티미디어 영상의 크기 보정(resizing)을 한다고 하더라도, 세로형 디스플레이 장치 화면의 일부분(즉, 화면의 중앙 부분)만이 멀티미디어 영상을 표시하는데 사용되고, 나머지 화면(즉, 화면의 상부 및 하부)은 멀티미디어 영상을 표시하는데 사용되지 않는다. 그 이유는 상술한 것과 같이, 멀티미디어 영상은 가로의 길이가 세로의 길이보다 긴 해상도를 갖기 때문이다. 이처럼 어느 하나의 타입의 디스플레이 장치에만 적합한 해상도를 갖는 멀티미디어 영상은 디스플레이 장치의 GUI(graphical user interface)를 구성하는데 제한적인 요인으로 작용할 수 있다. 따라서 최근에는 메모리에 저장되어 있는 원(original)(또는 소스(source)) 영상을 출력될 디스플레이 장치의 타입에 적합하게, 수평 또는 수직으로 대칭 변환하거나, 또는 설정된 각도 로 회전시켜, 디스플레이 장치의 전체 화면이 영상을 표시하는데 충분히 활용될 수 있도록 한, 영상 변환 기술들이 영상 처리 시스템에 적용되고 있다. 도 1 및 도 2는 종래의 영상 변환 방식들의 예를 설명하기 위한 영상 처리 시스템의 블록 도이다. 먼저, 도 1을 참고하면, 영상 처리 시스템(10)은 메모리(11), CPU(central processing unit)(12), 영상 출력 장치(13), 및 디스플레이 장치(14)를 포함한다. 메모리(11)에 저장된 원 영상(A)은 CPU(12)에 탑재된 영상 변환 프로그램에 의해 변환된다. 즉, CPU(12)가 메모리(11)로부터 원 영상(A)을 판독하여(read operation), 판독된 원 영상(A)을 영상 변환 프로그램에 의해 변환하고, 그 변환된 영상을 다시 메모리(11)에 기록한다(write operation). 하지만 프로그램에 의한 영상 변환 방식의 경우에는, CPU(12)에 반드시 영상 변환 프로그램이 탑재되어 있어야 한다. 또한, 영상의 변환 속도가 CPU(12)의 성능에 매우 의존적이기 때문에, CPU(12)의 성능이 저하될수록 영상의 변환 속도가 감소한다. 한편, 영상 변환 프로그램은 CPU(12)에 큰 부하(load)로서 작용할 수 있기 때문에, 영상 변환 프로그램이 실행되는 동안 CPU(12)는 처리해야 할 다른 작업들을 정상적으로 실행하는 것이 어려워진다. 그 결과, CPU(12)의 동작 성능이 저하된다. 또한, 영상 변환 프로그램이 실행되는 동안, CPU(12)는 메모리(11)로부터 원 영상(A)을 라인(line) 또는 화소(pixel) 단위로 연속적으로 판독해야 한다. 이와 같이, CPU(12)가 메모리(11)를 빈번하게 액세스함에 따라, CPU(12)에 의한 데이터 버스의 점유 시간이 증가하고, CPU(12)를 포함하는 전체 장치의 소비 전력이 증가한다. 다음으로, 도 2를 참고하면, 영상 처리 시스템(20)은 CPU(21), 메모리(22), 영상 변환 장치(23), 프레 임(frame) 메모리(24), 영상 출력 장치(25), 및 디스플레이 장치(26)를 포함한다. CPU(21)는 메모리(22)와 영상 변환 장치(23)에 원 영상(A)의 판독을 위한 리드 어드레스를 출력한다. 영상 변환 장치(23)는 CPU(21)로부터 수신되는 리드 어드레스에 기초하여, 메모리(22)로부터 판독되어 수신되는 프레임 단위의 원 영상(A)을 변환하고, 그 변환된 프레임 단위의 영상(B)을 프레임 메모리(24)에 저장한다. 이 방식은 도 1을 참고하여 상술한 방식에 비하여, CPU(21)의 부하를 줄일 수 있다. 하지만, 여전히 CPU(21)가 원 영상(A)의 판독을 위한 리드 어드레스를 발생해야 하므로, 영상 변환 장치(23)가 CPU(21)에 의존적으로 동작한다. 즉, 영상 변환 장치(23)는 영상 변환 동작을 위해 CPU(21)가 발생하는 리드 어드레스를 지속적으로 감시해야 한다. 또한, 영상 변환 장치(23)로부터 연속적으로 출력되는 변환된 프레임 단위의 영상을 연속적으로 저장하기 위한 프레임 메모리(24)가 반드시 필요하다. 여기에서, 프레임 메모리(24)는 전체 장치의 하드웨어 사이즈 및 소비 전력을 증가시키는 주요 요인으로서 작용한다. 또한, 프레임 메모리(24)의 용량은 디스플레이 장치(26)의 해상도가 증가할수록 증가해야 하고, 프레임 메모리(24)의 용량이 증가할수록 전체 장치의 하드웨어 사이즈 및 소비 전력은 더욱 증가하게 된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를 발생하여, 소스 영상을 설정된 크기의 블록 단위로 메모리로부터 판독하여 변환하고, 그 변환 영상을 설정된 크기의 블록 단위로 메모리에 기입함으로써, 추가의 프레임 메모리 없이 소용량의 레지스터 버퍼만을 이용 하여 영상 변환을 실행하고, CPU에 집중되는 과도한 부하를 감소시키고, 전체 장치의 하드웨어 사이즈 및 소비 전력을 줄일 수 있는 영상 변환 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를 발생하여, 소스 영상을 설정된 크기의 블록 단위로 메모리로부터 판독하여 변환하고, 그 변환 영상을 설정된 크기의 블록 단위로 메모리에 기입함으로써, 추가의 프레임 메모리 없이 소용량의 레지스터 버퍼만을 이용하여 영상 변환을 실행하고, CPU에 집중되는 과도한 부하를 감소시키고, 전체 장치의 하드웨어 사이즈 및 소비 전력을 줄일 수 있는 영상 변환 방법을 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명에 따른 영상 변환 장치는, 영상 변환부, 변환 동작 제어부, 및 어드레스 발생부를 포함한다. 영상 변환부는 판독(read) 제어 신호, 판독 어드레스 신호, 및 입출력 제어 신호에 기초하여, 메모리에 저장된 복수의 소스 프레임을 포함하는 소스 영상을 판독한다. 영상 변환부는 판독한 소스 영상을 모드 선택 신호에 기초하여 변환한다. 영상 변환부는 변환 영상을 기입(write) 제어 신호, 기입 어드레스 신호, 및 입출력 제어 신호에 기초하여, 다시 메모리에 기입한다. 변환 동작 제어부는 CPU로부터 변환 모드 정보와 복수의 소스 프레임 각각의 사이즈 정보를 포함하는 영상 변환 정보를 수신한다. 변환 동작 제어부는 변환 모드 정보에 기초하여, 복수의 영상 변환 모드 중 하나를 선택하기 위한 모드 선택 신호를 출력한다. 변환 동작 제어부는 어드레스 발생 완료 신호에 응답하여 입출력 제어 신호를 출력한다. 변환 동작 제어부는 변환 완료 신호에 응답하여 판독 또는 기입 제어 신호를 출력한다. 변환 동작 제어부는 소스 프레임 각각의 사이즈 정보에 기초하여, 판독 및 기입 어드레스 변수를 출력한다. 어드레스 발생부는 모드 선택 신호와 판독 제어 신호에 응답하여, 판독 어드레스 변수를 연산하고, 그 연산 결과로서, 선택된 영상 변환 모드에 대응하는 판독 어드레스 신호를 출력한다. 어드레스 발생부는 모드 선택 신호와 기입 제어 신호에 응답하여, 기입 어드레스 변수를 연산하고, 그 연산 결과로서, 선택된 영상 변환 모드에 대응하는 기입 어드레스 신호를 출력한다.
복수의 소스 프레임 각각은 복수의 소스 블록을 포함하고, 변환 영상을 이루는 복수의 변환 프레임 각각은 복수의 변환 블록을 포함한다.
복수의 소스 블록 각각, 또는 복수의 변환 블록 각각은 설정된 수의 화소 데이터들을 포함하고, 하나의 소스 또는 변환 블록에 포함되는 화소 데이터들은 복수의 로우 화소 라인들과 복수의 칼럼 화소 라인들을 형성한다.
어드레스 발생부는, 하나의 소스 블록에 대응하는 판독 어드레스 신호 또는 하나의 변환 블록에 대응하는 기입 어드레스 신호를 출력할 때마다, 어드레스 발생 완료 신호를 출력한다.
영상 변환부는, 하나의 소스 블록 단위로 판독 및 변환 동작을 실행하고, 하나의 변환 블록 단위로 기입 동작을 실행하고, 복수의 소스 블록들에 대한 영상 변환이 모두 완료될 때까지, 판독 동작, 변환 동작, 및 기입 동작을 반복하여 실행하고, 변환 동작을 완료할 때마다 변환 완료 신호를 출력한다.
상기한 다른 기술적 과제를 달성하기 위한 본 발명에 따른 영상 변환 방법은, 변환 동작 제어부에 의해, CPU로부터 수신되는 영상 변환 정보에 기초하여, 복수의 영상 변환 모드들 중 하나를 선택하는 단계; DMA 입출력부에 의해, 소스 영상에 포함되는 복수의 소스 블록들 중 변환될 하나의 소스 블록을 메모리로부터 판독하는 단계; 화소 위치 변경부에 의해, 판독된 소스 블록을 선택된 영상 변환 모드에 대응하게 변환하여, 변환 블록을 발생하는 단계; 및 DMA 입출력부에 의해, 변환 블록을 메모리에 기입하는 단계를 포함한다.
소스 블록의 판독 단계는, 어드레스 발생부에 의해, 영상 변환 정보에 기초하여, 하나의 소스 블록에 대응하는 판독 어드레스 신호를 발생하는 단계; DMA 입출력부에 의해, 메모리로부터 판독 어드레스 신호에 대응하는 소스 블록의 화소 데이터들을 판독하는 단계; 및 판독된 화소 데이터들을 읽기 버퍼부에 저장하는 단계를 포함한다.
소스 블록, 또는 변환 블록은 설정된 수의 화소 데이터들을 포함하고, 하나의 소스 또는 변환 블록에 포함되는 화소 데이터들은 복수의 로우 화소 라인들과 복수의 칼럼 화소 라인들을 형성한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 3은 본 발명의 일 실시예에 따른 영상 변환 장치를 포함하는 영상 처리 시스템의 개략적인 블록 도이다. 도 3을 참고하면, 영상 처리 시스템(100)은 메모 리(101), CPU(102), 영상 출력 장치(103), 디스플레이 장치(104), 및 영상 변환 장치(200)를 포함한다. 메모리(101)는 소스(source) 영상(P1) 또는 변환 영상(P2)을 저장한다. 여기에서, 소스 영상(P1)은 복수의 소스 프레임(frame)(S1∼SK)(K는 정수)을 포함하고, 복수의 소스 프레임(S1∼SK) 각각은 복수의 소스 블록(예를 들어, SB1∼SBJ, 도 8 참고)(J는 정수)을 포함한다. 또, 변환 영상(P2)은 복수의 변환 프레임(F1∼FK)(K는 정수)을 포함하고, 복수의 변환 프레임(F1∼FK) 각각은 복수의 변환 블록(예를 들어, CB1∼CBJ, 도 12 참고)(J는 정수)을 포함한다. CPU(102)는 소스 영상(P1)에 대한 영상 변환 정보(CON_IF)를 영상 변환 장치(200)에 출력한다. 또, CPU(102)는 영상 변환 장치(200)로부터 수신되는 동작 완료 신호(OPE_END)에 응답하여, 출력 제어 신호(OCTL)를 영상 출력 장치(103)에 출력한다. 영상 출력 장치(103)는 출력 제어 신호(OCTL)에 응답하여, 메모리(101)로부터 변환 영상(P2)을 판독하고, 그 판독한 변환 영상(P2)을 디스플레이 장치(104)에 의해 표시 가능한 형태로 처리하여 디스플레이 장치(104)에 출력한다. 영상 변환 장치(200)는 영상 변환 정보(CON_IF)에 기초하여, 복수의 영상 변환 모드 중 하나를 선택하고, 그 선택된 영상 변환 모드에 따라 메모리(101)로부터 하나의 소스 블록 단위로 판독하여 변환하고, 그 변환 블록을 메모리(101)에 기입한다. 이를 위해, 영상 변환 장치(200)는 해당 블록에 대응하도록 판독 어드레스 신호(RADD) 및 기입 어드레스 신호(WADD)를 각각 변경시켜 발생한다. 한편, 선택된 영상 변환 모드에 따라, 영상 변환 장치(200)가 각 변환 블록을 메모리(101)에 기입하는 순서가 변경될 수 있다.
다음으로, 도 4를 참고하여, 영상 변환 장치(200)의 구성 및 구체적인 동작 을 좀 더 상세히 설명한다. 도 4는 본 발명의 일 실시예에 따른 영상 변환 장치의 블록 도이다. 영상 변환 장치(200)는 인터페이스 장치(210), 변환 동작 제어부(220), 어드레스 발생부(230), 및 영상 변환부(240)를 포함한다. 또, 영상 변환부(240)는 DMA(Direct Memory Access) 입출력부(241), 읽기 버퍼부(242), 화소 위치 변경부(243), 및 쓰기 버퍼부(244)를 포함한다.
인터페이스 장치(210)는 CPU(102)와 변환 동작 제어부(220) 간의 송수신 신호들을 상호 인터페이스 한다. 변환 동작 제어부(220)는 CPU(102)로부터 수신되는 영상 변환 정보(CON_IF)에 기초하여, 복수의 영상 변환 모드 중 하나를 선택하고, 그 선택된 영상 변환 모드에서 소스 영상(P1)의 변환 및 메모리(101)의 액세스를 위한 제어 신호들을 출력한다. 여기에서, 영상 변환 정보(CON_IF)는 변환 모드 정보(MODE)와 소스 프레임들 각각의 사이즈 정보(FSIZE)를 포함한다. 변환 모드 정보(MODE)는 소스 영상에 대한 변환 방식을 나타내는 것으로서, 상기 변환 방식으로는 노말(normal) 수평 플립(flip) 변환, 노말 수직 플립 변환, 노말 수평/수직 플립 변환, 회전 변환, 회전 수평 플립 변환, 회전 수직 플립 변환, 및 회전 수평/수직 플립 변환이 있다. 노말 수평 플립 변환은 소스 영상을 수평 방향으로 뒤집어 변환하는 것이고, 노말 수직 플립 변환은 소스 영상을 수직 방향으로 뒤집어 변환하는 것이다. 또, 노말 수평/수직 플립 변환은 소스 영상을 수평 방향으로 뒤집은 후, 다시 수직 방향으로 뒤집어 변환하는 것이다. 회전 변환은 소스 영상을 설정된 각도로 회전시켜 변환하는 것이고, 회전 수평 플립 변환은 소스 영상을 설정된 각도로 회전시킨 후, 수평 방향으로 뒤집어 변환하는 것이다. 회전 수직 플립 변환은 소스 영상을 설정된 각도로 회전시킨 후, 수직 방향으로 뒤집어 변환하는 것이고, 회전 수평/수직 플립 변환은 소스 영상을 설정된 각도로 회전시킨 후, 수평 방향 및 수직 방향의 순서로 연속적으로 뒤집어 변환하는 것이다.
한편, 상기 제어 신호들은 판독 제어 신호(RCTL), 기입 제어 신호(WCTL), 모드 선택 신호(SMODE), 및 입출력 제어 신호(DMA_IO)를 포함한다. 변환 동작 제어부(220)는 변환 모드 정보(MODE)에 기초하여, 복수의 영상 변환 모드 중 하나를 선택한다. 여기에서, 상기 복수의 영상 변환 모드는 노말 수평 플립 모드, 노말 수직 플립 모드, 노말 수평/수직 플립 모드, 회전 모드, 회전 수평 플립 모드, 회전 수직 플립 모드, 및 회전 수평/수직 플립 모드를 포함하고, 모드 선택 신호(SMODE)는 복수의 비트들을 포함할 수 있다. 변환 동작 제어부(220)는 상기 변환 모드 정보(MODE)에 기초하여, 노말 수평 플립 모드, 노말 수직 플립 모드, 노말 수평/수직 플립 모드, 회전 모드, 회전 수평 플립 모드, 회전 수직 플립 모드, 및 회전 수평/수직 플립 모드 중 어느 하나를 선택하고, 그 선택된 영상 변환 모드에 대응하는 비트 값을 갖는 모드 선택 신호(SMODE)를 출력한다.
또, 변환 동작 제어부(220)는 소스 프레임 각각의 사이즈 정보(FSIZE)에 기초하여, 판독 어드레스 변수(RE_VAR) 및 기입 어드레스 변수(WT_VAR)를 출력한다. 변환 동작 제어부(220)는 화소 위치 변경부(243)로부터 수신되는 변환 완료 신호(CON_END)에 응답하여, 판독 제어 신호(RCTL) 또는 기입 제어 신호(WCTL)를 출력한다. 이를 좀 더 상세히 설명하면, 예를 들어, 변환 완료 신호(CON_END)의 로직 값이 소스 블록의 변환이 완료되지 않은 것을 나타낼 때, 변환 동작 제어부(220)는 판독 제어 신호(RCTL)를 출력한다. 또, 변환 완료 신호(CON_END)의 로직 값이 소스 블록의 변환이 완료된 것을 나타낼 때, 변환 동작 제어부(220)는 기입 제어 신호(WCTL)를 출력한다.
변환 동작 제어부(220)는 CPU(102)로부터 소스 영상(P1)에 대한 컬러(color) 정보(COL)를 더 수신할 수 있다. 변환 동작 제어부(220)는 컬러 정보(COL)를 수신하면, DMA 입출력부(241)에 컬러 요청 신호(COL_REQ)를 출력한다. 그 결과, 영상 변환부(240)가 메모리(101)로부터 소스 영상(P1)에 대한 컬러 데이터(COL_DAT)를 판독하고 변환하여, 그 변환된 컬러 데이터(NCOL_DAT)를 메모리(101)에 기입한다. 통상적으로, 컬러 데이터(COL_DAT)는 소스 영상(P1)과 분리된 형태로 메모리(101)에 저장되기 때문에, 변환 영상(P2)에 컬러 성분을 적용할 경우, 영상 변환 장치(200)는 소스 영상(P1)에 대한 판독, 변환, 및 기입 동작을 완료한 후, 추가로 컬러 데이터(COL_DAT)에 대한 판독, 변환, 및 기입 동작을 실행할 수 있다.
변환 동작 제어부(220)는 어드레스 발생부(230)로부터 수신되는 어드레스 발생 완료 신호(ADD_END)에 응답하여, 입출력 제어 신호(DMA_IO)를 DMA 입출력부(241)에 출력한다. 좀 더 상세하게는, 어드레스 발생 완료 신호(ADD_END)가 어드레스의 발생이 완료되지 않은 것을 나타낼 때, 변환 동작 제어부(220)는 입출력 제어 신호(DMA_IO)를 디세이블시킨다. 그 결과, 입출력 제어 신호(DMA_IO)에 응답하여, DMA 입출력부(241)가 메모리(101)의 액세스 동작을 정지한다. 또, 어드레스 발생 완료 신호(ADD_END)가 어드레스의 발생이 완료된 것을 나타낼 때, 변환 동작 제어부(220)는 입출력 제어 신호(DMA_IO)를 인에이블시킨다. 그 결과, 입출력 제어 신호(DMA_IO)에 응답하여, DMA 입출력부(241)가 메모리(101)의 액세스 동작을 실행한다.
어드레스 발생부(230)는 모드 선택 신호(SMODE)와 판독 제어 신호(RCTL)에 응답하여, 판독 어드레스 변수(RE_VAR)를 연산하고, 그 연산 결과로서 각 소스 블록에 대응하는 판독 어드레스 신호(RADD)를 DMA 입출력부(241)에 출력한다. 또, 어드레스 발생부(230)는 하나의 소스 블록에 대응하는 판독 어드레스 신호(RADD)를 출력할 때, 어드레스 발생이 완료되었음을 나타내는 어드레스 발생 완료 신호(ADD_END)를 변환 동작 제어부(220)에 출력한다. 여기에서, 어드레스 발생부(230)는 어드레스 발생 완료 신호(ADD_END)의 로직 값을 변경시켜 출력함으로써, 어드레스 발생 동작이 완료되었음을 변환 동작 제어부(220)에 알린다. 예를 들어, 어드레스 발생 동작이 완료될 때, 어드레스 발생 완료 신호(ADD_END)가 로직 "하이" 또는 "로우"로 토글(toggle) 할 수 있다. 또한, 예를 들어, 어드레스 발생 동작이 완료되기 전에는 어드레스 발생 완료 신호(ADD_END)가 제1 로직 값(1 또는 0)을 가지며, 어드레스 발생 동작이 완료되면 어드레스 발생 완료 신호(ADD_END)가 제2 로직 값(0 또는 1)을 가질 수도 있다.
한편, 판독 어드레스 신호(RADD)는 뱅크(bank) 어드레스 신호, 로우(row) 어드레스 신호, 및 칼럼(column) 어드레스 신호를 포함하는 물리(physical) 어드레스 신호이다. 또, 어드레스 발생부(230)는 모드 선택 신호(SMODE)와 기입 제어 신호(WCTL)에 응답하여, 기입 어드레스 변수(WT_VAR)를 연산하고, 그 연산 결과로서 해당 변환 블록에 대응하는 기입 어드레스 신호(WADD)를 DMA 입출력부(241)에 출력 한다. 또, 어드레스 발생부(230)는 하나의 변환 블록에 대응하는 기입 어드레스 신호(WADD)를 출력할 때, 어드레스 발생이 완료되었음을 나타내는 어드레스 발생 완료 신호(ADD_END)를 변환 동작 제어부(220)에 출력한다. 여기에서, 판독 어드레스 신호(RADD)와 유사하게, 기입 어드레스 신호(WADD) 역시 뱅크 어드레스 신호, 로우 어드레스 신호, 및 칼럼 어드레스 신호를 포함하는 물리 어드레스 신호이다. 택일적으로, 어드레스 발생부(230)는 변환 동작 제어부(220)로부터 컬러 어드레스 변수(미도시)를 더 수신할 수 있고, 이 컬러 어드레스 변수를 연산하여, 컬러 데이터의 판독 및 기입 동작에 필요한 어드레스 신호(CADD)를 더 발생할 수 있다.
DMA 입출력부(241)는 판독 제어 신호(RCTL) 또는 기입 제어 신호(WCTL)와, 입출력 제어 신호(DMA_IO)에 응답하여 메모리(101)를 액세스한다. 좀 더 상세하게는, DMA 입출력부(241)가 판독 제어 신호(RCTL)와 입출력 제어 신호(DMA_IO)에 응답하여, 어드레스 발생부(230)로부터 수신되는 판독 어레스 신호(RADD)를 메모리(101)에 출력하여, 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들(1P1∼NPM, 도 9 참고)(N,M은 정수)을 판독한다. 또, DMA 입출력부(241)는 기입 제어 신호(WCTL)와 입출력 제어 신호(DMA_IO)에 응답하여, 하나의 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들(1P1∼NPM, 도 10a 내지 도 11d 참고)이 메모리(101)에 기입되도록, 기입 어드레스 신호(WADD)와 함께 하나의 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들(1P1∼NPM)을 메모리(101)에 출력한다. 택일적으로, DMA 입출력부(241)는 변환 동작 제어부(220)로부터 컬러 요청 신호(COL_REQ)를 수신하고, 어드레스 발생부(230)로부터 어드레스 신호(CADD)를 수신하면, 메모리(101)를 추가로 액세스한다. 이 경우, DMA 입출력부(241)는 어드레스 신호(CADD)를 메모리(101)에 출력하여, 메모리(101)로부터 컬러 데이터(COL_DAT)를 판독하거나, 또는 변환된 컬러 데이터(NCOL_DAT)를 메모리(101)에 기입한다. 또, DMA 입출력부(241)는 메모리(101)로부터 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들을 수신하여 읽기 버퍼부(242)에 출력할 때, 읽기 버퍼부(242)에 데이터 전송의 시작을 알리는 읽기 시작 신호(RE_START)를 출력한다.
메모리(101)의 기입 동작시, DMA 입출력부(241)는 쓰기 버퍼부(244)와 통신한다. 이를 좀 더 상세히 설명하면, 기입 제어 신호(WCTL)에 응답하여, DMA 입출력부(241)가 쓰기 버퍼부(244)에 전송 요청 신호(TRS)를 출력한다. 또, 메모리(101)의 기입 동작 상태에 따라, DMA 입출력부(241)가 쓰기 버퍼부(244)에 대기 요청 신호(WAIT)를 출력한다. 한편, DMA 입출력부(241)는 메모리(101)에 하나의 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들의 기입 동작이 완료될 때, 기입 완료 신호(WT_END)를 변환 동작 제어부(220)에 출력한다. 변환 동작 제어부(220)는 DMA 입출력부(241)로부터 수신되는 기입 완료 신호(WT_END)에 응답하여 초기화 신호(ITL)를 더 발생한다. 그 결과, 초기화 신호(ITL)에 응답하여, 어드레스 발생부(230), DMA 입출력부(241), 읽기 버퍼부(242), 화소 위치 변경부(243), 및 쓰기 버퍼부(244)가 각각 초기화된다. 한편, 변환 동작 제어부(220)는 기입 완료 신호(WT_END)의 수신 횟수가 설정된 값에 도달할 때, 인터페이스 장치(210)를 통하여 CPU(101)에 소스 영상(P1)의 변환 동작이 완료되었음을 알리는 동작 완료 신호(OPE_END)를 출력한다.
읽기 버퍼부(242)는 DMA 입출력부(241)로부터 수신되는 읽기 시작 신호(RE_START)에 응답하여 동작한다. 좀 더 상세하게는, 읽기 시작 신호(RE_START)에 응답하여, 읽기 버퍼부(242)가 DMA 입출력부(241)로부터 수신되는 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들을 저장한다. 이 후, 읽기 버퍼부(242)는 읽기 완료 신호(RE_END)를 화소 위치 변경부(243)에 출력하여, 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들에 대한 저장 동작을 완료하였음을 알린다.
화소 위치 변경부(243)는 읽기 완료 신호(RE_END)를 수신하면, 읽기 버퍼부(242)로부터 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들을 수신한다. 이때, 화소 위치 변경부(243)는 모드 선택 신호(SMODE)에 응답하여, 수신되는 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들의 배열 위치를 해당 영상 변환 모드에 맞게 변경한다. 화소 위치 변경부(243)는 모드 선택 신호(SMODE)에 의해 선택된 영상 변환 모드에 따라, 읽기 버퍼부(242)에 저장된 화소 데이터들을 읽어오는 순서를 변경함으로써, 화소 데이터들의 배열 위치를 변경할 수 있다. 이 후, 화소 위치 변경부(243)는 변환 완료 신호(CON_END)를 쓰기 버퍼부(244)와 변환 동작 제어부(220)에 출력하고, 하나의 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들을 쓰기 버퍼부(244)에 출력한다. 또, 화소 위치 변경부(243)는 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들의 출력 동작을 완료하면, 쓰기 버퍼부(244)에 전송 완료 신호(TR_END)를 출력한다. 그 결과, 전송 완료 신호(TR_END)에 응답하여, 쓰기 버퍼부(244)가 화소 위치 변경부(243)로부터 더 이상 수신할 화소 데이터가 없는 것으로 인식한다. 한편, 화소 위치 변경부(243)는 쓰기 버퍼부(244)로부터 전송 대기 요청 신호(TR_WAIT)를 수신할 때부터 전송 대기 해제 신호(TR_SRT)를 수신할 때까지, 해당 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들의 출력 동작을 정지한다.
쓰기 버퍼부(244)는 변환 완료 신호(CON_END)에 응답하여, 화소 위치 변경부(243)로부터 수신되는 하나의 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들을 저장한다. 쓰기 버퍼부(244)는 DMA 입출력부(241)로부터 전송 요청 신호(TRS)를 수신하면 저장된 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들을 DMA 입출력부(241)에 출력한다. 쓰기 버퍼부(244)는 저장된 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들의 출력 동작을 완료하면, DMA 입출력부(241)에 전송 완료 신호(TRS_END)를 출력한다. 그 결과, 전송 완료 신호(TRS_END)에 응답하여, DMA 입출력부(241)가 쓰기 버퍼부(244)로부터 더 이상 수신할 화소 데이터가 없는 것으로 인식한다. 한편, 쓰기 버퍼부(244)는 DMA 입출력부(241)로부터 대기 요청 신호(WAIT)를 수신하면, 차기의 전송 요청 신호(TRS)를 수신할 때까지 저장된 변환 블록(CB1∼CBJ 중 하나)의 화소 데이터들의 출력 동작을 정지한다.
도 5는 도 4에 도시된 어드레스 발생부의 상세한 블록 도이다. 도 5를 참고하면, 어드레스 발생부(230)는 변수 선택 제어부(231), 제1 변수 선택기(232), 읽기 모드 레지스터(233), 쓰기 모드 레지스터(234), 제2 변수 선택기(235), 및 주소 계산기(236)를 포함한다. 변수 선택 제어부(231)는 초기화 신호(ITL)에 응답하여 리셋 제어 신호(RST)를 발생한다. 또, 변수 선택 제어부(231)는 모드 선택 신호(SMODE)와, 판독 또는 기입 제어 신호(RCTL 또는 WCTL)에 응답하여, 연산 제어 신호(ARI_CTL)와 변수 선택 신호(VAR_SEL)를 출력한다. 바람직하게, 변수 선택 제 어부(231)는 판독 제어 신호(RCTL)를 수신할 때와 기입 제어 신호(WCTL)를 수신할 때, 각각 변수 선택 신호(VAR_SEL)의 로직 값을 서로 다르게 출력할 수 있다. 변수 선택 제어부(231)는 판독 또는 기입 제어 신호(RCTL 또는 WCTL)를 수신한 시점으로부터 설정된 시간(즉, 설정된 클록 사이클 수)이 경과 하면, 어드레스 발생 완료 신호(ADD_END)를 변환 동작 제어부(220)에 출력한다. 그 결과, 변환 동작 제어부(220)는 어드레스 발생 완료 신호(ADD_END)를 수신하고, 어드레스 발생부(230)의 연산 동작이 완료되었음을 확인한다. 여기에서, 상기 설정된 시간은 어드레스 발생부(230)가 판독 또는 기입 어드레스 신호(RADD 또는 WADD)를 발생하는데 걸리는 시간에 대응하게 설정될 수 있다.
제1 변수 선택기(232)는 변수 선택 신호(VAR_SEL)에 응답하여, 주소 계산기(236)로부터 수신되는 이전의 연산 결과인 판독 어드레스 신호(RADD')를 읽기 모드 레지스터(233)에 출력하거나, 또는 주소 계산기(236)로부터 수신되는 이전의 연산 결과인 기입 어드레스 신호(WADD')를 쓰기 모드 레지스터(234)에 출력한다. 이를 좀 더 상세히 설명하면, 변수 선택 신호(VAR_SEL)가 제1 로직 상태일 때, 제1 변수 선택기(232)가 주소 계산기(236)로부터 수신되는 이전의 연산 결과인 판독 어드레스 신호(RADD')를 읽기 모드 레지스터(233)에 출력한다. 또, 변수 선택 신호(VAR_SEL)가 제2 로직 상태일 때, 제1 변수 선택기(232)가 주소 계산기(236)로부터 수신되는 이전의 연산 결과인 기입 어드레스 신호(WADD')를 쓰기 모드 레지스터(234)에 출력한다. 읽기 모드 레지스터(233)는 판독 어드레스 변수(RE_VAR)와 판독 어드레스 신호(RADD') 중 수신되는 어느 하나를 저장한다. 쓰기 모드 레지스 터(234)는 기입 어드레스 변수(WT_VAR)와 기입 어드레스 신호(WADD') 중 수신되는 어느 하나를 저장한다. 한편, 도 5에 도시되지는 않았지만, 변수 선택 제어부(231)가 읽기 모드 레지스터(233)와 쓰기 모드 레지스터(234)의 입출력 동작을 제어하기 위한 제어 신호를 더 출력할 수 있다.
제2 변수 선택기(235)는 변수 선택 신호(VAR_SEL)에 응답하여, 읽기 모드 레지스터(233)의 출력 신호(RE_VAR 또는 RADD')와 쓰기 모드 레지스터(234)의 출력 신호(WT_VAR 또는 WADD') 중 어느 하나를 선택하여 연산 변수(ARI_VAR)로서 출력한다. 이를 좀 더 상세히 설명하면, 변수 선택 신호(VAR_SEL)가 제1 로직 상태일 때, 제2 변수 선택기(235)가 읽기 모드 레지스터(233)의 출력 신호(RE_VAR 또는 RADD')를 선택하여 연산 변수(ARI_VAR)로서 출력한다. 또, 변수 선택 신호(VAR_SEL)가 제2 로직 상태일 때, 제2 변수 선택기(235)가 쓰기 모드 레지스터(234)의 출력 신호(WT_VAR 또는 WADD')를 선택하여 연산 변수(ARI_VAR)로서 출력한다.
주소 계산기(236)는 리셋 제어 신호(RST)에 응답하여 리셋된다. 또, 주소 계산기(236)는 연산 제어 신호(ARI_CTL)에 응답하여, 연산 변수(ARI_VAR)를 연산하고, 그 연산 결과로서, 판독 또는 기입 어드레스 신호(RADD 또는 WADD)를 출력한다. 여기에서, 변수 선택 제어부(231)는 모드 선택 신호(SMODE)에 의해 선택된 영상 변환 모드에 대응하게 연산 제어 신호(ARI_CTL)를 출력한다. 그 결과, 주소 계산기(236)가 연산 제어 신호(ARI_CTL)에 응답하여, 해당 영상 변환 모드에 대응하는 연산 동작을 실행한다. 이를 좀 더 상세히 설명하면, 주소 계산기(236)는 물리 주소인, 판독 또는 기입 어드레스 신호(RADD 또는 WADD)를 발생하기 위해, 아래의 연산식에 기초하여 연산 동작을 실행한다.
RADD(또는 WADD) = (LineADR ≪ ColADR) + OffsetADR
상기 [수학식 1]에서, "LineADR"는 라인(line) 어드레스이고, "ColADR"는 칼럼 어드레스이고, "OffsetADR"는 오프셋 어드레스이다. 또, 연산 기호 "≪"는 좌변의 값을 우변의 값만큼 좌측으로 쉬프트 하는 것을 의미한다. 즉, "LineADR ≪ ColADR"의 경우, 연산 기호 "≪"는 LineADR의 각 비트를 ColADR의 비트 값만큼 좌측으로 쉬프트 하는 것을 의미한다. 예를 들어, LineADR의 비트 값이 "00011"이고, ColADR의 비트 값이 "2"일 때, LineADR의 각 비트가 좌측으로 두 번 쉬프트 되어야 하므로, "LineADR ≪ ColADR"의 결과는 "01100"으로 된다. 여기에서, "ColADR"는 컬럼 어드레스 신호로서, 판독 또는 기입 어드레스 변수(RE_VAR, WT_VAR)에 포함된다.
한편, 주소 계산기(236)가 판독 어드레스 신호(RADD)를 발생할 때와, 기입 어드레스 신호(WADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식은 서로 다르다. 먼저, 주소 계산기(236)가 판독 어드레스 신호(RADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식을 설명한다. 주소 계산기(236)가 판독 어드레스 신호(RADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식은 선택된 영상 변환 모드에 상관없이 모든 영상 변환 모드에 대해 동일하게 적용되며, 이 연산식은 다음과 같이 나타낼 수 있다.
LineADR = (LineBASE - 0) + LineCNT
OffsetADR = OffsetBASE + OffsetCNT
상기 [수학식 2]와 [수학식 3]에서, "LineBASE"는 라인 베이스(base) 어드레스로서, 그 값은 "0"으로 설정되고, "OffsetBASE"는 오프셋 베이스 어드레스로서, 역시 그 값은 "0"으로 설정된다. "LineCNT"는 라인 카운트 어드레스이고, "OffsetCNT"는 오프셋 카운트 어드레스이며, "LineCNT" 및 "OffsetCNT"를 계산하기 위한 연산식은 다음과 같이 나타낼 수 있다.
LineCNT(C) = LineCNT(C-1) + TrSIZE(N*M)
OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N*M/N)
상기 [수학식 4]와 [수학식 5]에서, "LineCNT(C-1)"는 이전의 라인 카운트 어드레스를 나타내고, "LineCNT(C)"는 현재의 라인 카운트 어드레스를 나타낸다. 이와 유사하게, "OffsetCNT(C-1)"는 이전의 오프셋 카운트 어드레스를 나타내고, "OffsetCNT(C)"는 현재의 오프셋 카운트 어드레스를 나타낸다. 또, "TrSIZE(N*M)"은 전송 사이즈 값이 N*M 임을 나타낸다. 여기에서, "N"은 도 8에서 참고되는 것과 같이 하나의 소스 블록(예를 들어, SB1)의 높이를 나타내고, "M"은 하나의 소스 블록(예를 들어, SB1)의 폭을 나타낸다. "전송 사이즈 값 N*M"은 DMA 입출력부(241)가 메모리(101)를 액세스할 때, 한 번에 판독하거나 또는 기입하는(이때, 기입 동 작은 소스 영상(P1)이 영상 변환되지 않고 그대로 메모리(101)에 기입되는 노말(normal) 기입 동작을 의미한다) 양의 기본 단위를 나타낸다. 한편, 읽기 모드 레지스터(233)는 동작 초기에 "ColADR"를 포함하는 판독 어드레스 변수(RE_VAR)를 변환 동작 제어부(220)로부터 수신한다. 여기에서, 판독 어드레스 변수(RE_VAR)에 포함되는 "ColADR"의 값은 필요에 따라 변경될 수 있다.
다음으로, 주소 계산기(236)가 기입 어드레스 신호(WADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식을 설명한다. 주소 계산기(236)가 기입 어드레스 신호(WADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식은 선택된 영상 변환 모드에 따라 변경된다. 주소 계산기(236)가 기입 어드레스 신호(WADD)를 발생할 때, "LineADR" 및 "OffsetADR"를 계산하기 위한 연산식을 각 영상 변환 모드 별로 정리하면, 아래의 표로 나타낼 수 있다.
노말 수평 플립 모드 LineADR = LineBASE + LineCNT, LineBASE = 0 OffsetADR = OffsetBASE - OffsetCNT, OffsetBASE = SrcWIDTH - TrSIZE(N*M/N)
LineCNT(C) = LineCNT(C-1) + TrSIZE(N*M) OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N*M/N)
노말 수직 플립 모드 LineADR = LineBASE - LineCNT, LineBASE = SrcHEIGHT - TrSIZE(N*M)F OffsetADR = OffsetBASE - OffsetCNT, OffsetBASE = SrcWIDTH - TrSIZE(N*M/N)
LineCNT(C) = LineCNT(C-1) + TrSIZE(N*M)F OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N*M/N)
노말 수평/수직 플립 모드 LineADR = LineBASE - LineCNT, LineBASE = SrcHEIGHT - TrSIZE(N*M)F OffsetADR = OffsetBASE + OffsetCNT, OffsetBASE = 0
LineCNT(C) = LineCNT(C-1) + TrSIZE(N*M)F OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N*M/N)
회전 모드 LineADR = LineCNT, LineBASE = 0 OffsetADR = OffsetBASE - OffsetCNT, OffsetBASE = SrcWIDTH - TrSIZE(N/M)
LineCNT(C) = LineCNT(C-1) + TrSIZE(M) OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N/M)
회전 수평 플립 모드 LineADR = LineCNT, LineBASE = 0 OffsetADR = OffsetBASE + OffsetCNT, OffsetBASE = 0
LineCNT(C) = LineCNT(C-1) + TrSIZE(M) OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N/M)
회전 수직 플립 모드 LineADR = LineBASE - LineCNT, LineBASE = SrcHEIGHT - TrSIZE(M)F OffsetADR = OffsetBASE - OffsetCNT, OffsetBASE = SrcWIDTH - TrSIZE(N/M)
LineCNT(C) = LineCNT(C-1) + TrSIZE(M)F OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N/M)
회전 수평/수직 플립 모드 LineADR = LineBASE - LineCNT, LineBASE = SrcHEIGHT - TrSIZE(M)F OffsetADR = OffsetBASE + OffsetCNT, OffsetBASE = 0
LineCNT(C) = LineCNT(C-1) + TrSIZE(M)F OffsetCNT(C) = OffsetCNT(C-1) + TrSIZE(N/M)
상기 [표 1]에서, "TrSIZE(N*M)F"는 전송 사이즈 값이 N*M 임을 나타내고, "(N*M)F"는 "-(N*M)"을 나타낸다. 이와는 대조적으로, "TrSIZE(N*M)"에서 "N*M"은 "+(N*M)"을 나타낸다. 예를 들어, "N"이 64이고, "M"은 4이며, 1워드가 4바이트인 것으로 가정할 때, "N*M", 즉, "64*4"의 결과는 256바이트이고, 이를 워드 단위로 나타내면 64워드로 된다. 결과적으로, "TrSIZE(N*M)F", 즉, "TrSIZE(256)F"는 "TrSIZE(64)F"로 나타낼 수 있다. 여기에서, "TrSIZE64F"는 전송 사이즈가 64 워드임을 나타내고, "64F"는 "- 64"를 나타낸다. 또, "TrSIZE64"에서, "64"는 "+ 64"를 나타낸다. "TrSIZE(N*M)F"와 유사하게, "TrSIZE(M)"은 전송 사이즈가 M 워드임을 나타내고, "M"은 "+ M"을 나타내고, "(M)F"는 "-M"을 나타낸다. 예를 들어, "M"이 4일 때, "TrSIZE4"는 전송 사이즈가 4 워드임을 나타내고, "4"는 "+ 4"를 나타낸다. 또, "TrSIZE4F"는 전송 사이즈가 4 워드임을 나타내고, "4F"는 "- 4"를 나타낸다. "TrSIZE(N/M)" 및 "TrSIZE(N/M)F" 역시 "TrSIZE(M)" 및 "TrSIZE(M)F"와 유사하게 각각 전송 사이즈를 나타낸다. "SrcHEIGHT"는 소스 프레임의 높이를 나타낸다. "SrcHEIGHT" 및 "SrcWIDTH"는 "ColADR"와 함께 기입 어드레스 변수(WT_VAR)에 포함된다. 기입 어드레스 변수(WT_VAR)에 포함되는 "SrcHEIGHT", "SrcWIDTH", 및 "ColADR"의 값들은 필요에 따라 각각 변경될 수 있다. 여기에서, "SrcHEIGHT" 및 "SrcWIDTH", 및 "ColADR"를 포함하는 기입 어드레스 변수(WT_VAR)는 CPU(102)로부터 출력되는 영상 변환 정보(CON_IF)에 포함되며, 변환 동작 제어부(220)가 영상 변환 정보(CON_IF)에 기초하여, 기입 어드레스 변수(WT_VAR)를 발생한다.
도 6은 도 4에 도시된 읽기 버퍼부와 화소 위치 변경부의 상세한 블록 도이다. 읽기 버퍼부(242)는 읽기 레지스터 컨트롤러(251)와 레지스터 어레이(252)를 포함한다. 또, 화소 위치 변경부(243)는 위치 변환 컨트롤러(261), 로우 데이터 선택기(262), 칼럼 데이터 선택기(263), 화소 선택기(264), 및 바이트 리오더(byte reorder)(265)를 포함한다.
읽기 레지스터 컨트롤러(251)는 변환 동작 제어부(220)로부터 수신되는 초기화 신호(ITL)에 응답하여, 리셋 제어 신호(RST)를 출력한다. 또, 읽기 레지스터 컨트롤러(251)는 DMA 입출력부(241)로부터 수신되는 읽기 시작 신호(RE_START)에 응답하여, 레지스터 제어 신호들(RC1_1∼RCM_N)(M과 N은 정수)을 출력한다. 읽기 레지스터 컨트롤러(251)는 레지스터 어레이(252)에 하나의 소스 블록의 화소 데이터들이 각각 저장되면, 읽기 완료 신호(RE_END)를 위치 변환 컨트롤러(261)에 출력한다. 레지스터 어레이(252)는 복수의 레지스터들(RG1_1∼RGN_M)(N, M은 정수)을 포함한다. 복수의 레지스터들(RG1_1∼RGN_M)은 복수의 칼럼 출력 라인들(COL1∼COLM)(M은 정수)과 복수의 로우 출력 라인들(ROL1∼ROLN)(N은 정수)을 공유하고 매트릭스 형태로 배치된다. 예를 들어, 로우 방향으로 배열된 레지스터들(RG1_1∼RG1_M)은 로우 출력 라인(ROL1)을 공유하고, 레지스터들(RG2_1∼RG2_M)은 로우 출력 라인(ROL2)을 공유한다. 또, 칼럼 방향으로 배열된 레지스터들(RG1_1∼RGN_1)은 칼럼 출력 라인(COL1)을 공유하고, 레지스터들(RG1_2∼RGN_2)은 칼럼 출력 라인(COL2)을 공유한다. 복수의 레지스터들(RG1_1∼RGN_M)은 리셋 제어 신호(RST)에 응답하여 각각 리셋 된다. 또, 복수의 레지스터들(RG1_1∼RGN_M)은 레지스터 제어 신호들(RC1_1∼RCM_N)에 각각 응답하여, 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들(1P1∼NPM)을 각각 저장한다. 예를 들어, 레지스터(RG1_1)는 레지스터 제어 신호(RC1_1)에 응답하여, 화소 데이터(1P1)를 저장하고, 그 저장된 화소 데이터(1P1)를 로우 출력 라인(ROL1)과 칼럼 출력 라인(COL1)에 각각 출력한다. 레지스터들(RG1_2∼RGM_N)의 구체적인 동작 설명은 레지스터(RG1_1)와 유사하므로 생략된다. 한편, 하나의 소스 블록(SB1∼SBJ 중 하나)의 화소 데이터들(1P1∼NPM)이 복수의 레지스터들(RG1_1∼RGN_M)에 각각 저장되면, 그 저장된 화소 데이터들(1P1∼NPM)의 배열 형태는 도 9에 도시된 것과 동일하다.
위치 변환 컨트롤러(261)는 변환 동작 제어부(220)로부터 수신되는 초기화 신호(ITL)에 응답하여, 리셋 된다. 위치 변환 컨트롤러(261)는 변환 동작 제어부(220)로부터 모드 선택 신호(SMODE)를 수신하고, 읽기 레지스터 컨트롤러(251)로부터 읽기 완료 신호(RE_END)를 수신한다. 위치 변환 컨트롤러(261)는 모드 선택 신호(SMODE)와 읽기 완료 신호(RE_END)에 응답하여, 칼럼 선택 신호들(CSEL1∼CSELM)(M은 정수), 로우 선택 신호들(RSEL1∼RSELN)(N은 정수), 화소 선택 신호(PSEL), 및 엔디안(endian) 선택 신호(ESEL)를 출력한다. 이를 좀 더 상세히 설명하면, 모드 선택 신호(SMODE)에 기초하여, 위치 변환 컨트롤러(261)는 해당 영상 변환 모드에 대응하게 칼럼 선택 신호들(CSEL1∼CSELM), 로우 선택 신호들(RSEL1∼RSELN), 화소 선택 신호(PSEL), 및 엔디안 선택 신호(ESEL)를 출력한다. 예를 들어, 모드 선택 신호(SMODE)가 노말 수평 플립 모드, 노말 수직 플립 모드, 및 노말 수평/수직 플립 모드 중 어느 하나를 나타낼 때, 위치 변환 컨트롤러(261)는 칼럼 선택 신호들(CSEL1∼CSELM)을 출력하지 않고 로우 선택 신호들(RSEL1∼RSELN)을 출력하고, 화소 선택 신호(PSEL)를 제1 로직 레벨로 출력한다. 결과적으로, 노말 수평 플립 모드, 노말 수직 플립 모드, 및 노말 수평/수직 플립 모드에서, 화소 위치 변경부(243)는 도 9에 도시된 로우 화소 라인 R1, R2, ..., RN의 순서, 또는 RN, R(N-1), R(N-2), ..., R1의 순서로, 레지스터 어레이(252)에 저장된 화소 데이터들을 가져온다.
또, 회전 모드, 회전 수평 플립 모드, 회전 수직 플립 모드, 및 회전 수평/수직 플립 모드 중 어느 하나일 경우, 위치 변환 컨트롤러(261)는 로우 선택 신호들(RSEL1∼RSELN)을 출력하지 않고, 칼럼 선택 신호들(CSEL1∼CSELM)을 출력하고, 화소 선택 신호(PSEL)를 제2 로직 레벨로 출력한다. 결과적으로, 회전 모드, 회전 수평 플립 모드, 회전 수직 플립 모드, 및 회전 수평/수직 플립 모드에서, 화소 위치 변경부(243)는 도 9에 도시된 칼럼 화소 라인 C1, C2, ..., CM의 순서, 또는 CM, C(M-1), C(M-2), ..., C1의 순서로, 레지스터 어레이(252)에 저장된 화소 데이터들을 가져온다.
노말 수평 플립 모드, 노말 수평/수직 플립 모드, 회전 수평 플립 모드, 및 회전 수평/수직 플립 모드 중 어느 하나일 때, 위치 변환 컨트롤러(261)는 엔디안 선택 신호(ESEL)를 제1 로직 레벨로 출력한다. 여기에서, 엔디안 선택 신호(ESEL1)가 제1 로직 레벨일 때, 레지스터 어레이(252)로부터 판독된 화소 데이터들의 바이트 배열 순서가 변경된다. 또, 노말 수직 플립 모드, 회전 모드, 및 회전 수직 플립 모드 중 어느 하나일 때, 위치 변환 컨트롤러(261)는 엔디안 선택 신호(ESEL)를 제2 로직 레벨로 출력한다. 여기에서, 엔디안 선택 신호(ESEL1)가 제2 로직 레벨일 때, 레지스터 어레이(252)로부터 판독된 화소 데이터들의 바이트 배열 순서가 변경되지 않는다.
또, 위치 변환 컨트롤러(261)는 엔디안 선택 신호(ESEL)를 출력할 때, 변환 완료 신호(CON_END)를 변환 동작 제어부(220)와 쓰기 버퍼부(244)에 출력한다. 좀 더 상세하게는, 위치 변환 컨트롤러(261)가 변환 완료 신호(CON_END)의 로직 값을 변경시켜 출력함으로써, 소스 블록(SB1∼SBJ 중 하나)에 대한 영상 변환 동작의 완료 여부를 나타낸다. 예를 들어, 소스 블록(SB1∼SBJ 중 하나)의 영상 변환 동작이 완료된 경우, 위치 변환 컨트롤러(261)는 변환 완료 신호(CON_END)를 제1 로직 레벨로 출력할 수 있다. 또, 소스 블록(SB1∼SBJ 중 하나)의 영상 변환 동작이 완료되지 않은 경우, 위치 변환 컨트롤러(261)는 변환 완료 신호(CON_END)를 제2 로직 레벨로 출력할 수 있다. 또한, 예를 들어, 소스 블록(SB1∼SBJ 중 하나)의 영상 변환 동작이 완료된 경우, 위치 변환 컨트롤러(261)는 변환 완료 신호(CON_END)를 토글(toggle) 시킬 수도 있다.
로우 데이터 선택기(262)는 로우 선택 신호들(RSEL1∼RSELN)에 응답하여, 복수의 로우 출력 라인들(ROL1∼ROLN) 중 어느 하나로부터 수신되는 화소 데이터들을 선택한다. 예를 들어, 로우 데이터 선택기(262)는 로우 선택 신호(RSEL1)에 응답하여, 로우 출력 라인(ROL1)으로부터 수신되는 화소 데이터들(1P1∼1PM)을 선택하고, 그 선택된 화소 데이터들(1P1∼1PM)을 화소 선택기(264)에 출력한다. 칼럼 데이터 선택기(263)는 칼럼 선택 신호들(CSEL1∼CSLEM)에 응답하여, 복수의 칼럼 출력 라인들(COL1∼COLM) 중 어느 하나로부터 수신되는 화소 데이터들을 선택한다. 예를 들어, 칼럼 데이터 선택기(263)는 칼럼 선택 신호(CSEL1)에 응답하여, 칼럼 출력 라인(COL1)으로부터 수신되는 화소 데이터들(1P1∼NP1)을 선택하고, 그 선택된 화소 데이터들(1P1∼NP1)을 화소 선택기(264)에 출력한다. 화소 선택기(264)는 화소 선택 신호(PSEL)에 응답하여, 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들, 또는 로우 데이터 선택기(262)에 의해 선택된 화소 데이터들을 수신하여 출력한다. 좀 더 상세하게는, 화소 선택 신호(PSEL)가 제1 로직 레벨일 때, 화소 선택기(264)는 로우 데이터 선택기(262)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 또, 화소 선택 신호(PSEL)가 제2 로직 레벨일 때, 화소 선택기(264)는 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다.
바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 결정하고, 그 결정된 바이트 배열 순서에 따라 변환된 화소 데이터들을 출력한다. 이를 좀 더 상세히 설명하면, 엔디안 선택 신호(ESEL)가 제1 로직 레벨일 때, 바이트 리오더(265)는 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경한다. 예를 들어, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서가 빅 엔디안(big endian)의 형식으로 이루어진 경우, 바이트 리오더(265)는 각 화소 데이터들의 바이트 배열 순서를 리틀 엔디안(little endian)의 형식으로 변경한다. 여기에서, 빅 엔디안의 형식은 바이트 열에서 가장 큰 값이 먼저 저장되고, 가장 작은 값이 마지막에 저장되는 형식을 의미한다. 예를 들어, 16진수 "4F52"이 빅 엔디안 형식으로 배열될 경우, "4F52"으로 배열된다. 리틀 엔디안의 형식은 바이트 열에서 가장 작은 값이 먼저 저장되고, 가장 큰 값이 마지막에 저장되는 형식을 의미한다. 예를 들어, 16진수 "4F52"이 리틀 엔디안 형식으로 배열될 경우, "524F"으로 배열된다.
한편, 위치 변환 컨트롤러(261)는 쓰기 버퍼부(244)로부터 전송 대기 요청 신호(TR_WAIT)를 수신할 때부터 전송 대기 해제 신호(TR_SRT)를 수신할 때까지, 엔디안 선택 신호(ESEL)의 출력 동작을 정지한다. 그 결과, 바이트 리오더(265)가 변환된 화소 데이터들의 출력 동작을 정지한다.
도 7은 도 4에 도시된 쓰기 버퍼부의 상세한 블록 도이다. 쓰기 버퍼부(244)는 쓰기 레지스터 컨트롤러(271)와 복수의 레지스터들(WG1_1∼WGT_P)(T와 P는 정수)을 포함한다. 쓰기 레지스터 컨트롤러(271)는 변환 동작 제어부(220)로부터 수신되는 초기화 신호(ITL)에 응답하여, 리셋 제어 신호(RST)를 출력한다. 쓰기 레지스터 컨트롤러(271)는 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)로부터 수신되는 변환 완료 신호(CON_END)에 응답하여, 레지스터 입력 신호들(RI1_1∼RIT_P)(T와 P는 정수)을 출력한다. 쓰기 레지스터 컨트롤러(271)는 DMA 입출력부(241)로부터 수신되는 전송 요청 신호(TRS)에 응답하여, 레지스터 출력 신호들(RO1_1∼ROT_P)(T와 P는 정수)을 출력한다. 쓰기 레지스터 컨트롤러(271)는 복수의 레지스터들(WG1_1∼WGT_P)의 데이터 저장 상태에 따라 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)에 전송 대기 요청 신호(TR_WAIT) 또는 전송 대기 해제 신호(TR_SRT)를 출력한다.
복수의 레지스터들(WG1_1∼WGT_P)은 리셋 제어 신호(RST)에 응답하여 각각 리셋 된다. 복수의 레지스터들(WG1_1∼WGT_P)은 레지스터 입력 신호들(RI1_1∼RIT_P)에 각각 응답하여, 화소 위치 변경부(243)로부터 수신되는 화소 데이터들을 각각 저장한다. 여기에서, 쓰기 버퍼부(244)에 포함되는 레지스터의 수는 필요에 따라 증가 또는 감소할 수 있고, 읽기 버퍼부(242)에 포함되는 레지스터의 수보다 작거나 또는 동일하게 설정될 수 있다. 예를 들어, 쓰기 버퍼부(244)에 포함되는 레지스터의 수가 읽기 버퍼부(242)에 포함되는 레지스터의 수보다 더 작게 설정된 경우, 쓰기 버퍼부(244)는 화소 위치 변경부(243)를 통해 읽기 버퍼부(242)로부터 수신되는 화소 데이터들의 일부만을 저장할 수 있다. 이 경우, 쓰기 버퍼부(244)는 읽기 버퍼부(242)로부터 수신되는 화소 데이터들의 일부를 저장하고, 그 저장된 화소 데이터들이 모두 DMA 입출력부(241)에 전송될 때까지, 화소 위치 변경부(243)에 전송 대기 요청 신호(TR_WAIT)를 출력한다. 쓰기 버퍼부(244)는 화소 데이터들을 모두 DMA 입출력부(241)에 전송한 후, 화소 위치 변경부(243)에 전송 대기 해제 신호(TR_SRT)를 출력하여, 읽기 버퍼부(242)로부터 나머지 화소 데이터들을 수신하여 저장한다. 복수의 레지스터들(WG1_1∼WGT_P)은 레지스터 출력 신호들(RO1_1∼ROT_P)에 각각 응답하여, 저장된 화소 데이터들을 각각 출력한다. 한편, 쓰기 레지스터 컨트롤러(271)는 DMA 입출력부(241)로부터 대기 요청 신호(WAIT)를 수신할 때부터 대기 해제 신호(즉, 차기의 전송 요청 신호(TRS))를 수신할 때까지, 레지스터 출력 신호들(RO1_1∼ROT_P)의 출력 동작을 정지한다. 그 결과, 복수의 레지스터들(WG1_1∼WGT_P)이 화소 데이터들의 출력 동작을 정지한다.
다음으로, 첨부된 도면을 참고하여 각 영상 변환 모드에 대한 영상 변환 장치(200)의 동작 과정을 좀 더 상세히 설명한다.
노말 수평 플립 모드
도 8은 도 3에 도시된 메모리에 저장된 소스 영상 중 하나의 소스 프레임을 나타내는 도면이다. 또, 도 16은 영상 변환 장치의 동작 과정을 나타내는 흐름도이다. 도 8에서 참고되는 것과 같이, 하나의 소스 프레임(S1∼SK 중 하나)은 복수의 소스 블록(SB1∼SBJ)을 포함한다. 여기에서, 복수의 소스 블록(SB1∼SBJ) 각각은 설정된 수의 화소 데이터들(1P1∼NPM, 도 9 참고)을 포함한다. 또, 하나의 소스 블록에 포함되는 설정된 수의 화소 데이터들(1P1∼NPM)은 복수의 로우 화소 라인들(R1∼RN)과 복수의 칼럼 화소 라인들(C1∼CN)을 형성한다. 한편, 소스 프레임의 높이(SrcHEIGHT)가 소스 블록 높이의 정수 배에 정확하게 일치하지 않는 경우, 소스 블록(SB1∼SBJ) 중 일부의 크기는 나머지 소스 블록의 크기와 서로 다를 수 있다. 예를 들어, 소스 프레임의 높이(SrcHEIGHT)가 23라인(즉, 로우(row) 방향으로 23개의 화소 라인)이고, 하나의 소스 블록의 높이(N)가 5라인일 때, 4개의 소스 블록(예를 들어, SB1∼SB4) 각각은 5개의 화소 라인을 포함하고, 나머지 하나의 소스 블록(예를 들어, SB5)은 3개의 화소 라인을 포함한다.
먼저, 영상 변환 장치(200)의 변환 동작 제어부(220)는 CPU(102)로부터 소스 영상(P1), 즉, 소스 프레임(S1∼SK 중 하나)에 대한 사이즈 정보(FSIZE)와 변환 모드 정보(MODE)를 포함하는 영상 변환 정보(CON_IF)가 수신되는지의 여부를 판단한다(단계 1100). 여기에서, 사이즈 정보(FSIZE)는 소스 프레임의 높이(SrcHEIGHT)와 소스 프레임의 폭(SrcWIDTH)을 포함한다. CPU(102)로부터 영상 변환 정보(CON_IF)를 수신하면, 변환 동작 제어부(220)는 영상 변환 정보(CON_IF)에 포함되는 소스 프레임의 사이즈 정보(FSIZE)에 기초하여, 판독 어드레스 변수(RE_VAR) 및 기입 어드레스 변수(WT_VAR)를 출력한다. 그 결과, 어드레스 발생부(230)의 읽기 모드 레지스터(233)에는 판독 어드레스 변수(RE_VAR)가 저장되고, 쓰기 모드 레지스터(234)에는 기입 어드레스 변수(WT_VAR)가 저장된다. 또, 변환 동작 제어부(220)는 영상 변환 정보(CON_IF)에 포함되는 변환 모드 정보(MODE)에 기초하여, 모드 선택 신호(SMODE)를 출력한다. 그 결과, 영상 변환 장치(200)가 실행할 해당 영상 변환 모드로서 노말 수평 플립 모드가 선택된다(단계 1200).
이 후, 영상 변환 장치(200)는 선택된 영상 변환 모드에 따라 소스 블록(SB1)을 판독한다(단계 1300). 이를 좀 더 상세히 설명하면 다음과 같다. 초기에 어드레스 발생 동작을 실행하지 않았으므로, 어드레스 발생부(230)의 변수 선택 제어부(231)는 어드레스가 발생되지 않았음을 나타내는 어드레스 발생 완료 신호(ADD_END)를 출력한다. 또, 초기에 영상 변환 동작을 실행하지 않았으므로, 화소 위치 변경부(243)는 영상 변환이 완료되지 않았음을 나타내는 변환 완료 신호(CON_END)를 출력한다. 그 결과, 변환 동작 제어부(220)가 변환 완료 신호(CON_END)에 응답하여, 판독 제어 신호(RCTL)를 어드레스 발생부(230)와 DMA 입출력부(241)에 출력한다. 판독 제어 신호(RCTL)에 응답하여, 어드레스 발생부(230)가 판독 어드레스 신호(RADD)를 발생하고(단계 1301, 도 17 참고), 어드레스 발생이 완료되었음을 나타내는 어드레스 발생 완료 신호(ADD_END)를 출력한다.
어드레스 발생 완료 신호(ADD_END)에 응답하여, 변환 동작 제어부(220)가 입출력 제어 신호(DMA_IO)를 출력한다. DMA 입출력부(241)는 판독 제어 신호(RCTL)와 입출력 제어 신호(DMA_IO)에 응답하여, 어드레스 발생부(230)로부터 수신되는 판독 어레스 신호(RADD)를 메모리(101)에 출력하고, 메모리(101)로부터 하나의 소스 블록(예를 들어, SB1)의 화소 데이터들(1P1∼NPM)을 판독한다(단계 1302, 도 17 참고). DMA 입출력부(241)는 판독된 소스 블록(SB1)의 화소 데이터들(1P1∼NPM)을 읽기 버퍼부(242)에 출력할 때, 읽기 버퍼부(242)에 데이터의 전송 시작을 알리는 읽기 시작 신호(RE_START)를 출력한다.
읽기 시작 신호(RE_START)에 응답하여, 읽기 버퍼부(242)의 읽기 레지스터 컨트롤러(251)는 레지스터 제어 신호들(RC1_1∼RCM_N)을 출력한다. 레지스터 제어 신호들(RC1_1∼RCM_N)에 응답하여, 레지스터 어레이(252)의 복수의 레지스터들(RG1_1∼RGN_M)은 소스 블록(SB1)의 화소 데이터들(1P1∼NPM)을 각각 저장한다(단계 1303, 도 17 참고). 복수의 레지스터들(RG1_1∼RGN_M)은 메모리(101)로부터 판독된 소스 블록(SB1)의 화소 데이터들의 배열 상태(도 9 참조)를 그대로 유지한 채 저장한다. 예를 들어, 레지스터(RG1_1)는 화소 데이터(1P1)를 저장하고, 레지스터(RG1_2)는 화소 데이터(1P2)를 저장한다. 또, 레지스터(RG2_1)는 화소 데이터(2P1)를 저장하고, 레지스터(RG2_2)는 화소 데이터(2P2)를 저장한다.
복수의 레지스터들(RG1_1∼RGN_M) 각각은 자신에 저장된 화소 데이터를 자신이 공유한 로우 출력 라인(ROL1∼ROLN 중 하나) 및 칼럼 출력 라인(COL1∼COLM 중 하나)에 출력한다. 예를 들어, 레지스터(RG1_1)는 자신에 저장된 화소 데이터(1P1)를 로우 출력 라인(ROL1)과 칼럼 출력 라인(COL1)에 각각 출력한다. 한편, 읽기 레지스터 컨트롤러(251)는 레지스터 어레이(252)에 소스 블록(SB1)의 화소 데이터들(1P1∼NPM)이 모두 저장되면, 읽기 완료 신호(RE_END)를 화소 위치 변경부(243)에 출력한다. 여기에서, 읽기 레지스터 컨트롤러(251)는 레지스터 제어 신호들(RC1_1∼RCM_N)을 모두 출력하였는지의 여부에 따라, 레지스터 어레이(252)에 하나의 소스 블록의 화소 데이터들이 모두 저장되었는지의 여부를 판단한다.
다음으로, 화소 위치 변경부(243)가 읽기 버퍼부(242)에 저장된 화소 데이터들을 노말 수평 플립 모드에 대응하게 변환하여, 변환 블록을 발생한다(단계 1400). 이를 좀 더 상세히 설명하면 다음과 같다. 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 로우 선택 신호들(RSEL1∼RSELN)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 로우 선택 신호들을 RSEL1, RSEL2, RSEL3, ..., RSELN의 순서로 하나씩 연속적으로 출력한다. 로우 선택 신호들(RSEL1∼RSELN)에 응답하여, 로우 데이터 선택기(262)가 로우 출력 라인들을 ROL1, ROL2, ROL3, ..., ROLN의 순서로 하나씩 연속적으로 선택하고, 그 선택된 로우 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 로우 데이터 선택기(262)는 레지스터 어레이(252)로부터 로우 화소 라인 R1 → RN(도 9 참고)의 방향으로 화소 데이터들을 가져온다(단계 1401, 도 18 참고).
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)와 엔디안 선택 신호(ESEL)를 제1 로직 레벨로 각각 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 로우 데이터 선택기(262)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경한다. 예를 들어, 도 9와 도 10a를 참고하면, 도 9에 도시된 로우 화소 라인(R1)이 리틀 엔디안의 형식으로 배열되어 있으므로, 바이트 리오더(265)는 화소 데이터들(1P1∼1PM)의 배열 순서를 도 10a에 도시된 로우 화소 라인(R1)과 같이 빅 엔디안 형식으로 변경한다. 그 결과, 배열 형태가 변경된 화소 데이터들을 포함하는 변환 블록이 발생된다(단계 1402, 도 18 참고).
한편, 위치 변환 컨트롤러(261)는 엔디안 선택 신호(ESEL)를 출력할 때, 영상 변환이 완료되었음을 나타내는 변환 완료 신호(CON_END)를 변환 동작 제어부(220)와 쓰기 버퍼부(244)에 출력한다. 변환 동작 제어부(220)는 변환 완료 신호(CON_END)에 응답하여, 기입 제어 신호(WCTL)를 어드레스 발생부(230)와 DMA 입출력부(241)에 출력한다.
변환 완료 신호(CON_END)에 응답하여, 쓰기 버퍼부(244)의 쓰기 레지스터 컨트롤러(271)는 레지스터 입력 신호들(IN1_1∼INT_P)을 출력한다. 쓰기 버퍼부(244)의 레지스터들(WG1_1∼WGT_P)은 레지스터 입력 신호들(IN1_1∼INT_P)에 각각 응답하여, 화소 위치 변경부(243)로부터 수신되는 화소 데이터들을 각각 저장한다(단계 1403, 도 18 참고). 예를 들어, 레지스터(WG1_P)에 화소 데이터(1P1)가 저장되고, 레지스터(WG2_P))에 화소 데이터(2P1)가 저장된다. 또, 레지스터(WG3_P)에 화소 데이터(3P1)가 저장되고, 레지스터(WGT_P))에 화소 데이터(NP1)가 저장된다. 결과적으로, 쓰기 버퍼부(244)에 저장된 화소 데이터들(1P1∼NPM)의 배열 형태는 도 10a에 도시된 것과 동일하다.
이 후 DMA 입출력부(241)가 쓰기 버퍼부에 저장된 변환 블록의 화소 데이터들을 메모리(101)에 기입한다(단계 1500). 이를 좀 더 상세히 설명하면 다음과 같다. DMA 입출력부(241)는 기입 제어 신호(WCTL)에 응답하여 전송 요청 신호(TRS)를 쓰기 버퍼부(244)에 출력하고, 쓰기 버퍼부(244)로부터 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)을 수신한다. 한편, 기입 제어 신호(WCTL)에 응답하여 어드레스 발생부(230)가 기입 어드레스 신호(WADD)를 발생하고(단계 1501, 도 19 참고), 어드레스 발생이 완료되었음을 나타내는 어드레스 발생 완료 신호(ADD_END)를 출력한다. 여기에서, 어드레스 발생부(230)가 판독 또는 기입 어드레스 신호(RADD 또는 WADD)를 발생한 이 후, 어드레스 발생부(230)의 읽기 또는 쓰기 모드 레지스터(233 또는 234)에는 차기의 판독 또는 기입 어드레스 신호(RADD 또는 WADD)를 발생하기 위해, 이전의 판독 또는 기입 어드레스 신호(RADD' 또는 WADD')가 업데이트 된다.
변환 동작 제어부(220)는 어드레스 발생 완료 신호(ADD_END)에 응답하여, 입출력 제어 신호(DMA_IO)를 출력한다. DMA 입출력부(241)는 입출력 제어 신호(DMA_IO)에 응답하여, 기입 어드레스 신호(WADD)와 변환 블록(CB1)의 화소 데이터들(1P1∼NPM)을 메모리(101)에 출력한다. 그 결과, 변환 블록(CB1)의 화소 데이터들(1P1∼NPM)이 기입 어레스 신호(WADD)에 대응하는 메모리(101)의 셀 영역(미도시)에 저장된다(단계 1502, 도 19 참고).
메모리(101)에 변환 블록(CB1)의 화소 데이터들의 기입 동작이 완료될 때, DMA 입출력부(241)는 기입 완료 신호(WT_END)를 변환 동작 제어부(220)에 출력한다. 변환 동작 제어부(220)는 기입 완료 신호(WT_END)에 응답하여 초기화 신호(ITL)를 발생한다. 그 결과, 초기화 신호(ITL)에 응답하여, 어드레스 발생부(230), DMA 입출력부(241), 읽기 버퍼부(242), 화소 위치 변경부(243), 및 쓰기 버퍼부(244)가 각각 초기화된다(단계 1600).
이 후, 변환 동작 제어부(220)는 상술한 변환 동작의 회수가 설정된 회수에 도달하였는지의 여부를 판단한다(단계 1700). 여기에서, 변환 동작 제어부(220)는 DMA 입출력부(241)로부터 수신되는 기입 완료 신호(WT_END)의 회수를 계산함으로써, 변환 동작의 회수가 설정된 회수에 도달하였는지의 여부를 판단한다. 단계 1700에서, 변환 동작의 회수가 설정된 회수에 도달한 경우, 변환 동작 제어부(220)는 CPU(102)에 동작 완료 신호(OPE_END)를 전송하여, 변환 동작이 완료되었음을 알린다. 또, 단계 1700에서, 변환 동작의 회수가 설정된 회수에 도달하지 않은 경우, 변환 동작 제어부(220)는 변환 동작 회수를 1 증가시킨다(단계 1800). 단계 1800 이 후, 소스 영상(P1)의 변환이 완료될 때까지, 영상 변환 장치(200)는 단계 1300 내지 단계 1700의 동작을 반복적으로 실행한다.
결과적으로, 영상 변환 장치(200)는 판독 및 변환 동작을 SB1, SB2, SB3,...., SBJ의 순서로 각각 실행한다. 도 13을 참고하면, 영상 변환 장치(200)는 점선 화살표로 나타낸 순서로 화소 데이터들의 판독 동작을 실행한다. 도 13에서, "X"는 전송 워드 유닛을 나타내고, 도 13에서는 하나의 소스 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다. 또, 영상 변환 장치(200)는 도 12에 도시된 것과 같이, 변환 블록에 대해 CB1, CB2, CB3, ...CBJ의 순서로 메모리(101)에 기입한다. 좀 더 상세하게는, 영상 변환 장치(200)가 도 14a에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 14a에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다. 한편, 변환 동작 제어부(220)는 기입 완료 신호(WT_END)의 수신 횟수가 설정된 값에 도달할 때(즉, 소스 프레임(S1∼SK)의 영상 변환이 완료될 때), 인터페이스 장치(210)를 통하여 CPU(101)에 소스 영상(P1)의 변환 동작이 완료되었음을 알리는 동작 완료 신호(OPE_END)를 출력한다.
노말 수직 플립 모드
노말 수직 플립 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 로우 선택 신호들(RSEL1∼RSELN)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 로우 선택 신호들을 RSELN, RSEL(N-1), RSEL(N-2), ..., RSEL1의 순서로 하나씩 연속적으로 출력한다. 로우 선택 신호들(RSEL1∼RSELN)에 응답하여, 로우 데이터 선택기(262)가 로우 출력 라인들을 ROLN, ROL(N-1), ROL(N-2), ..., ROL1의 순서로 하나씩 연속적으로 선택하고, 그 선택된 로우 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 로우 데이터 선택기(262)는 레지스터 어레이(252)로부터 로우 화소 라인 RN → R1(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)를 제1 로직 레벨로 출력하고, 엔디안 선택 신호(ESEL)를 제2 로직 레벨로 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 로우 데이터 선택기(262)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경하지 않고 그대로 출력한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 10b에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 14b에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 14b에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
노말 수평/수직 플립 모드
노말 수평/수직 플립 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 로우 선택 신호들(RSEL1∼RSELN)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 로우 선택 신호들을 RSELN, RSEL(N-1), RSEL(N-2), ..., RSEL1의 순서로 하나씩 연속적으로 출력한다. 로우 선택 신호들(RSEL1∼RSELN)에 응답하여, 로우 데이터 선택기(262)가 로우 출력 라인들을 ROLN, ROL(N-1), ROL(N-2), ..., ROL1의 순서로 하나씩 연속적으로 선택하고, 그 선택된 로우 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 로우 데이터 선택기(262)는 레지스터 어레이(252)로부터 로우 화소 라인 RN → R1(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)와 엔디안 선택 신호(ESEL)를 제1 로직 레벨로 각각 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 로우 데이터 선택기(262)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경한다. 예를 들어, 도 9와 도 10c를 참고하면, 도 9에 도시된 로우 화소 라인(RN)이 리틀 엔디안의 형식으로 배열되어 있으므로, 바이트 리오더(265)는 화소 데이터들(NP1∼NPM)의 배열 순서를 도 10c에 도시된 로우 화소 라인(RN)과 같이 빅 엔디안 형식으로 변경한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 10c에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 14c에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 14c에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
회전 모드
회전 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 칼럼 선택 신호들(CSEL1∼CSELM)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 칼럼 선택 신호들을 CSEL1, CSEL2, CSEL3, ..., CSELM의 순서로 하나씩 연속적으로 출력한다. 칼럼 선택 신호들(CSEL1∼CSELM)에 응답하여, 칼럼 데이터 선택기(263)가 칼럼 출력 라인들을 COL1, COL2, COL3, ..., COLM의 순서로 하나씩 연속적으로 선택하고, 그 선택된 칼럼 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 칼럼 데이터 선택기(263)는 레지스터 어레이(252)로부터 칼럼 화소 라인 C1 → CM(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)와 엔디안 선택 신호(ESEL)를 제2 로직 레벨로 각각 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경하지 않고 그대로 출력한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 11a에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 15a에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 15a에서, "Y"는 전송 워드 유닛을 나타내고, 도 15a에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
회전 수평 플립 모드
회전 수평 플립 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 칼럼 선택 신호들(CSEL1∼CSELM)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 칼럼 선택 신호들을 CSEL1, CSEL2, CSEL3, ..., CSELM의 순서로 하나씩 연속적으로 출력한다. 칼럼 선택 신호들(CSEL1∼CSELM)에 응답하여, 칼럼 데이터 선택기(263)가 칼럼 출력 라인들을 COL1, COL2, COL3, ..., COLM의 순서로 하나씩 연속적으로 선택하고, 그 선택된 칼럼 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 칼럼 데이터 선택기(263)는 레지스터 어레이(252)로부터 칼럼 화소 라인 C1 → CM(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)를 제2 로직 레벨을 출력하고, 엔디안 선택 신호(ESEL)를 제1 로직 레벨로 각각 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경한다. 예를 들어, 도 11a와 도 11b를 참고하면, 도 11a에 도시된 칼럼 화소 라인(C1)이 빅 엔디안의 형식으로 배열되어 있으므로, 바이트 리오더(265)는 화소 데이터들(1P1∼NP1)의 배열 순서를 도 11b에 도시된 칼럼 화소 라인(C1)과 같이 리틀 엔디안 형식으로 변경한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 11b에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 15b에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 15b에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
회전 수직 플립 모드
회전 수직 플립 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 칼럼 선택 신호들(CSEL1∼CSELM)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 칼럼 선택 신호들을 CSELM, CSEL(M-1), CSEL(M-2), ..., CSEL1의 순서로 하나씩 연속적으로 출력한다. 칼럼 선택 신호들(CSEL1∼CSELM)에 응답하여, 칼럼 데이터 선택기(263)가 칼럼 출력 라인들을 COLM, COL(M-1), COL(M-2), ..., COL1의 순서로 하나씩 연속적으로 선택하고, 그 선택된 칼럼 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 칼럼 데이터 선택기(263)는 레지스터 어레이(252)로부터 칼럼 화소 라인 CM → C1(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)와 엔디안 선택 신호(ESEL)를 제2 로직 레벨로 각각 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경하지 않고 그대로 출력한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 11c에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 15c에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 15c에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
회전 수평/수직 플립 모드
회전 수평/수직 플립 모드에서의 영상 변환 장치(200)의 구체적인 동작 과정은 화소 위치 변경부(243)의 동작을 제외하고, 상술한 노말 수평 플립 모드에서의 영상 변환 장치(200)의 동작 과정과 실질적으로 동일하다. 따라서, 본 실시예에서는 화소 위치 변경부(243)의 동작을 중심으로 설명하기로 한다.
읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 위치 변경부(243)의 위치 변환 컨트롤러(261)가 칼럼 선택 신호들(CSEL1∼CSELM)를 출력한다. 이를 좀 더 상세히 설명하면, 위치 변환 컨트롤러(261)는 칼럼 선택 신호들을 CSELM, CSEL(M-1), CSEL(M-2), ..., CSEL1의 순서로 하나씩 연속적으로 출력한다. 칼럼 선택 신호들(CSEL1∼CSELM)에 응답하여, 칼럼 데이터 선택기(263)가 칼럼 출력 라인들을 COLM, COL(M-1), COL(M-2), ..., COL1의 순서로 하나씩 연속적으로 선택하고, 그 선택된 칼럼 출력 라인의 화소 데이터들을 화소 선택기(264)에 출력한다. 결과적으로, 칼럼 데이터 선택기(263)는 레지스터 어레이(252)로부터 칼럼 화소 라인 CM → C1(도 9 참고)의 방향으로 화소 데이터들을 가져온다.
또, 위치 변환 컨트롤러(261)는 읽기 완료 신호(RE_END)와 모드 선택 신호(SMODE)에 응답하여, 화소 선택 신호(PSEL)를 제2 로직 레벨로 출력하고, 엔디안 선택 신호(ESEL)를 제1 로직 레벨로 출력한다. 그 결과, 화소 선택 신호(PSEL)에 응답하여, 화소 선택기(264)가 칼럼 데이터 선택기(263)에 의해 선택된 화소 데이터들을 수신하여, 바이트 리오더(265)에 출력한다. 바이트 리오더(265)는 엔디안 선택 신호(ESEL)에 응답하여, 화소 선택기(264)로부터 수신되는 화소 데이터들의 바이트 배열 순서를 변경한다. 예를 들어, 도 11a와 도 11d를 참고하면, 도 11a에 도시된 칼럼 화소 라인(CM)이 빅 엔디안의 형식으로 배열되어 있으므로, 바이트 리오더(265)는 화소 데이터들(1PM∼NPM)의 배열 순서를 도 11d에 도시된 칼럼 화소 라인(CM)과 같이 리틀 엔디안 형식으로 변경한다. 한편, 쓰기 버퍼부(244)에 저장된 변환 블록(예를 들어, CB1)의 화소 데이터들(1P1∼NPM)의 배열 형태는 도 11d에 도시된 것과 동일하다. 영상 변환 장치(200)는 도 15d에서 점선 화살표로 나타낸 순서로 화소 데이터들의 기입 동작을 실행한다. 도 15d에서는 하나의 변환 블록에 16개의 화소 데이터들이 포함되는 경우가 일례로서 도시되어 있다.
상술한 것과 같이, CPU(102)가 변환될 소스 영상(P1)에 관한 영상 변환 정보(CON_IF)를 영상 변환 장치(200)에 한 번 출력하면, 영상 변환 장치(200)가 소스 영상(P1)을 메모리(101)로부터 판독하고, 변환한 후, 그 변환된 영상(P2)을 메모리(101)에 기입하므로, CPU에 집중되는 과도한 부하가 감소할 수 있다. 또한, 영상 변환 장치(200)는 소용량의 레지스터 버퍼를 포함하므로, 전체 장치의 하드웨어 사이즈 및 소비 전력이 감소할 수 있다.
상기한 실시 예들은 본 발명을 설명하기 위한 것으로서 본 발명이 이들 실시 예에 국한되는 것은 아니며, 본 발명의 범위 내에서 다양한 실시예가 가능하다. 또한 설명되지는 않았으나, 균등한 수단도 또한 본 발명에 그대로 결합되는 것이라 할 것이다. 따라서 본 발명의 진정한 보호범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
상술한 것과 같이, 본 발명에 따른 영상 변환 장치 및 영상 변환 방법은 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를 발생하여, 소스 영상을 설정된 크기의 블록 단위로 메모리로부터 판독하여 변환하고, 그 변환 영상을 메모리에 기입하므로, 추가의 프레임 메모리 없이도 소용량의 레지스터 버퍼만을 이용하여 영상 변환 동작을 실행할 수 있다. 또한, 본 발명에 따른 영상 변환 장치 및 영상 변환 방법은 CPU에 집중되는 과도한 부하를 감소시키고, 전체 장치의 하드웨어 사이즈 및 소비 전력을 줄일 수 있다.

Claims (20)

  1. 판독(read) 제어 신호, 판독 어드레스 신호, 및 입출력 제어 신호에 기초하여, 메모리에 저장된 복수의 소스 프레임을 포함하는 소스 영상을 판독하고, 판독한 소스 영상을 모드 선택 신호에 기초하여 변환하고, 그 변환 영상을 기입(write) 제어 신호, 기입 어드레스 신호, 및 상기 입출력 제어 신호에 기초하여, 다시 상기 메모리에 기입하는 영상 변환부;
    CPU로부터 변환 모드 정보와 상기 복수의 소스 프레임 각각의 사이즈 정보를 포함하는 영상 변환 정보를 수신하고, 상기 변환 모드 정보에 기초하여, 복수의 영상 변환 모드 중 하나를 선택하기 위한 상기 모드 선택 신호를 출력하고, 어드레스 발생 완료 신호에 응답하여 상기 입출력 제어 신호를 출력하고, 변환 완료 신호에 응답하여 상기 판독 또는 기입 제어 신호를 출력하고, 상기 소스 프레임 각각의 사이즈 정보에 기초하여, 판독 및 기입 어드레스 변수를 출력하는 변환 동작 제어부; 및
    상기 모드 선택 신호와 상기 판독 제어 신호에 응답하여, 상기 판독 어드레스 변수를 연산하고, 그 연산 결과로서, 선택된 영상 변환 모드에 대응하는 상기 판독 어드레스 신호를 출력하고, 상기 모드 선택 신호와 상기 기입 제어 신호에 응답하여, 상기 기입 어드레스 변수를 연산하고, 그 연산 결과로서, 선택된 영상 변환 모드에 대응하는 상기 기입 어드레스 신호를 출력하는 어드레스 발생부를 포함하고,
    상기 복수의 소스 프레임 각각은 복수의 소스 블록을 포함하고, 상기 변환 영상을 이루는 복수의 변환 프레임 각각은 복수의 변환 블록을 포함하고,
    상기 복수의 소스 블록 각각, 또는 상기 복수의 변환 블록 각각은 설정된 수의 화소 데이터들을 포함하고, 하나의 소스 또는 변환 블록에 포함되는 화소 데이터들은 복수의 로우 화소 라인들과 복수의 칼럼 화소 라인들을 형성하고,
    상기 어드레스 발생부는, 하나의 소스 블록에 대응하는 상기 판독 어드레스 신호 또는 하나의 변환 블록에 대응하는 기입 어드레스 신호를 출력할 때마다, 상기 어드레스 발생 완료 신호를 출력하고,
    상기 영상 변환부는, 하나의 소스 블록 단위로 판독 및 변환 동작을 실행하고, 하나의 변환 블록 단위로 기입 동작을 실행하고, 상기 복수의 소스 블록들에 대한 영상 변환이 모두 완료될 때까지, 상기 판독 동작, 상기 변환 동작, 및 상기 기입 동작을 반복하여 실행하고, 상기 변환 동작을 완료할 때마다 상기 변환 완료 신호를 출력하는 것을 특징으로 하는 영상 변환 장치.
  2. 제1항에 있어서,
    상기 CPU와 상기 변환 동작 제어부 간의 송수신 신호들을 상호 인터페이스 하는 인터페이스 장치를 더 포함하는 것을 특징으로 하는 영상 변환 장치.
  3. 제1항에 있어서,
    상기 복수의 영상 변환 모드는 노말 수평 플립(flip) 모드, 노말 수직 플립 모드, 노말 수평/수직 플립 모드, 회전 모드, 회전 수평 플립 모드, 회전 수직 플립 모드, 및 회전 수평/수직 플립 모드를 포함하는 것을 특징으로 하는 영상 변환 장치.
  4. 삭제
  5. 제1항에 있어서, 상기 영상 변환부는,
    상기 판독 또는 기입 제어 신호와, 상기 입출력 제어 신호에 응답하여, 상기 판독 어드레스 신호를 상기 메모리에 출력하여, 상기 하나의 소스 블록의 화소 데이터들을 판독하거나, 또는 상기 기입 어드레스 신호와 함께 상기 하나의 변환 블록의 화소 데이터들을 상기 메모리에 출력하여, 상기 하나의 변환 블록의 화소 데이터들을 상기 메모리에 기입하고, 상기 기입 동작이 완료될 때, 기입 완료 신호를 출력하는 DMA(direct memory access) 입출력부;
    상기 DMA 입출력부와 통신하며, 상기 DMA 입출력부로부터 수신되는 상기 하나의 소스 블록의 화소 데이터들을 저장하는 읽기 버퍼부;
    상기 모드 선택 신호에 응답하여, 상기 읽기 버퍼부로부터 수신되는 상기 하나의 소스 블록의 화소 데이터들의 배열 위치를 변경하고, 그 변경 결과로서 상기 하나의 변환 블록의 화소 데이터들과, 상기 변환 완료 신호를 출력하는 화소 위치 변경부; 및
    상기 화소 위치 변경부 및 상기 DMA 입출력부와 통신하며, 상기 변환 완료 신호에 응답하여, 상기 화소 위치 변경부로부터 수신되는 상기 하나의 변환 블록의 화소 데이터들을 저장하고, 상기 DMA 입출력부에 상기 하나의 변환 블록의 화소 데이터들을 출력하는 쓰기 버퍼부를 포함하는 것을 특징으로 하는 영상 변환 장치.
  6. 제5항에 있어서,
    상기 변환 동작 제어부는 상기 기입 완료 신호에 응답하여, 초기화 신호를 더 발생하고,
    상기 초기화 신호에 응답하여, 상기 어드레스 발생부, 상기 DMA 입출력부, 상기 읽기 버퍼부, 상기 화소 위치 변경부, 및 상기 쓰기 버퍼부가 각각 초기화되는 것을 특징으로 하는 영상 변환 장치.
  7. 제6항에 있어서, 상기 어드레스 발생부는,
    상기 초기화 신호에 응답하여, 리셋 제어 신호를 발생하고, 상기 모드 선택 신호와, 상기 판독 또는 기입 제어 신호에 응답하여, 연산 제어 신호와 변수 선택 신호를 출력하는 변수 선택 제어부;
    상기 연산 제어 신호에 응답하여, 연산 변수를 연산하고, 그 연산 결과로서, 상기 판독 또는 기입 어드레스 신호를 출력하는 주소 계산기;
    상기 판독 어드레스 변수와 상기 판독 어드레스 신호 중 수신되는 어느 하나를 저장하는 읽기 모드 레지스터;
    상기 기입 어드레스 변수와 상기 기입 어드레스 신호 중 수신되는 어느 하나를 저장하는 쓰기 모드 레지스터;
    상기 변수 선택 신호에 응답하여, 상기 주소 계산기로부터 수신되는 상기 판독 어드레스 신호를 상기 읽기 모드 레지스터에 출력하거나, 또는 상기 주소 계산기로부터 수신되는 상기 기입 어드레스 신호를 상기 쓰기 모드 레지스터에 출력하는 제1 변수 선택기; 및
    상기 변수 선택 신호에 응답하여, 상기 읽기 모드 레지스터의 출력 신호와 상기 쓰기 모드 레지스터의 출력 신호 중 어느 하나를 선택하여 상기 연산 변수로서 출력하는 제2 변수 선택기를 포함하고,
    상기 제1 변수 선택기, 상기 읽기 모드 레지스터, 상기 쓰기 모드 레지스터, 상기 제2 변수 선택기, 및 상기 주소 계산기는 상기 리셋 제어 신호에 응답하여 리셋되는 것을 특징으로 하는 영상 변환 장치.
  8. 제6항에 있어서,
    상기 DMA 입출력부는 상기 메모리로부터 상기 하나의 소스 블록의 화소 데이터들을 수신하여 출력할 때, 상기 읽기 버퍼부에 읽기 시작 신호를 출력하고,
    상기 읽기 버퍼부는,
    복수의 칼럼 출력 라인들과 복수의 로우 출력 라인들을 공유하고, 레지스터 제어 신호들에 각각 응답하여, 상기 하나의 소스 블록의 화소 데이터들을 각각 저장하고, 리셋 제어 신호에 응답하여 리셋되는 복수의 레지스터들을 포함하는 레지스터 어레이; 및
    상기 초기화 신호에 응답하여 상기 리셋 제어 신호를 출력하고, 상기 읽기 시작 신호에 응답하여 상기 레지스터 제어 신호들을 출력하고, 상기 복수의 레지스터들에 상기 하나의 소스 블록의 화소 데이터들이 각각 저장되면, 읽기 완료 신호를 상기 화소 위치 변경부에 출력하는 읽기 레지스터 컨트롤러를 포함하고,
    상기 복수의 레지스터들 각각은, 상기 화소 데이터들 중 자신에 저장된 화소 데이터를, 상기 복수의 칼럼 출력 라인들 중 자신이 공유한 칼럼 출력 라인과, 상 기 복수의 로우 출력 라인들 중 자신이 공유한 로우 출력 라인에 각각 출력하는 것을 특징으로 하는 영상 변환 장치.
  9. 제8항에 있어서, 상기 화소 위치 변경부는,
    상기 모드 선택 신호와 상기 읽기 완료 신호에 응답하여, 칼럼 선택 신호들, 로우 선택 신호들, 화소 선택 신호, 및 엔디안 선택 신호를 출력하고, 상기 엔디안 선택 신호를 출력할 때, 상기 변환 완료 신호를 출력하는 위치 변환 컨트롤러;
    상기 칼럼 선택 신호들에 응답하여, 상기 복수의 칼럼 출력 라인들 중 어느 하나로부터 수신되는 상기 화소 데이터들 중 일부를 선택하는 칼럼 데이터 선택기;
    상기 로우 선택 신호들에 응답하여, 상기 복수의 로우 출력 라인들 중 어느 하나로부터 수신되는 상기 화소 데이터들 중 다른 일부를 선택하는 로우 데이터 선택기;
    상기 화소 선택 신호에 응답하여, 상기 칼럼 데이터 선택기에 의해 선택된 화소 데이터들, 또는 상기 로우 데이터 선택기에 의해 선택된 화소 데이터들을 출력하는 화소 선택기; 및
    상기 엔디안 선택 신호에 응답하여, 상기 화소 선택기로부터 수신되는 상기 화소 데이터들의 바이트 배열 순서를 결정하고, 그 결정된 바이트 배열 순서에 따라 변환된 상기 하나의 변환 블록의 화소 데이터들을 출력하는 바이트 리오더를 포함하는 것을 특징으로 하는 영상 변환 장치.
  10. 제9항에 있어서,
    상기 위치 변환 컨트롤러는, 상기 쓰기 버퍼부로부터 전송 대기 요청 신호를 수신할 때부터 전송 대기 해제 신호를 수신할 때까지, 상기 엔디안 선택 신호의 출력 동작을 정지하는 것을 특징으로 하는 영상 변환 장치.
  11. 제6항에 있어서,
    상기 읽기 버퍼부의 데이터 저장 용량은 상기 쓰기 버퍼부의 데이터 저장 용량보다 더 크고, 상기 DMA 입출력부는 상기 기입 제어 신호에 응답하여 전송 요청 신호를 더 출력하고,
    상기 쓰기 버퍼부는,
    레지스터 입력 신호들에 각각 응답하여, 상기 화소 위치 변경부로부터 수신되는 상기 하나의 변환 블록의 화소 데이터들 중 일부를 각각 저장하고, 레지스터 출력 신호들에 각각 응답하여, 저장된 화소 데이터들을 각각 출력하는 복수의 레지스터들; 및
    상기 변환 완료 신호에 응답하여 상기 레지스터 입력 신호들을 출력하고, 상기 전송 요청 신호에 응답하여 상기 레지스터 출력 신호들을 출력하고, 상기 복수의 레지스터들의 데이터 저장 상태에 따라 상기 화소 위치 변경부에 전송 대기 요청 신호 또는 전송 대기 해제 신호를 출력하는 쓰기 레지스터 컨트롤러를 포함하는 것을 특징으로 하는 영상 변환 장치.
  12. 제6항에 있어서,
    상기 읽기 버퍼부의 데이터 저장 용량은 상기 쓰기 버퍼부의 데이터 저장 용량과 동일하고, 상기 DMA 입출력부는 상기 기입 제어 신호에 응답하여 전송 요청 신호를 더 출력하고,
    상기 쓰기 버퍼부는,
    레지스터 입력 신호들에 각각 응답하여, 상기 화소 위치 변경부로부터 수신되는 상기 하나의 변환 블록의 화소 데이터들을 각각 저장하고, 레지스터 출력 신호들에 각각 응답하여, 저장된 화소 데이터들을 각각 출력하는 복수의 레지스터들; 및
    상기 변환 완료 신호에 응답하여 상기 레지스터 입력 신호들을 출력하고, 상기 전송 요청 신호에 응답하여 상기 레지스터 출력 신호들을 출력하는 쓰기 레지스터 컨트롤러를 포함하는 것을 특징으로 하는 영상 변환 장치.
  13. 제11항 또는 제12항에 있어서,
    상기 DMA 입출력부는 상기 메모리의 기입 동작 상태에 따라 대기 요청 신호를 더 출력하고,
    상기 쓰기 레지스터 컨트롤러는, 상기 DMA 입출력부로부터 상기 대기 요청 신호를 수신할 때부터 차기의 전송 요청 신호를 수신할 때까지 상기 레지스터 출력 신호들의 출력 동작을 정지하는 것을 특징으로 하는 영상 변환 장치.
  14. 제5항에 있어서,
    상기 변환 동작 제어부는 상기 기입 완료 신호의 수신 회수가 설정된 값에 도달할 때, 상기 CPU에 상기 소스 영상의 변환 동작이 완료되었음을 알리는 동작 완료 신호를 출력하는 것을 특징으로 하는 영상 변환 장치.
  15. 변환 동작 제어부에 의해, CPU로부터 수신되는 영상 변환 정보에 기초하여, 복수의 영상 변환 모드들 중 하나를 선택하는 단계;
    DMA 입출력부에 의해, 소스 영상에 포함되는 복수의 소스 블록들 중 변환될 하나의 소스 블록을 메모리로부터 판독하는 단계;
    화소 위치 변경부에 의해, 판독된 상기 소스 블록을 상기 선택된 영상 변환 모드에 대응하게 변환하여, 변환 블록을 발생하는 단계; 및
    상기 DMA 입출력부에 의해, 상기 변환 블록을 상기 메모리에 기입하는 단계를 포함하고,
    상기 소스 블록의 판독 단계는,
    어드레스 발생부에 의해, 상기 영상 변환 정보에 기초하여, 상기 하나의 소스 블록에 대응하는 판독 어드레스 신호를 발생하는 단계;
    상기 DMA 입출력부에 의해, 상기 메모리로부터 상기 판독 어드레스 신호에 대응하는 소스 블록의 화소 데이터들을 판독하는 단계; 및
    상기 판독된 화소 데이터들을 읽기 버퍼부에 저장하는 단계를 포함하고,
    상기 소스 블록, 또는 상기 변환 블록은 설정된 수의 화소 데이터들을 포함하고, 하나의 소스 또는 변환 블록에 포함되는 화소 데이터들은 복수의 로우 화소 라인들과 복수의 칼럼 화소 라인들을 형성하는 것을 특징으로 하는 영상 변환 방법.
  16. 제15항에 있어서,
    변환 동작의 회수가 설정된 회수에 도달할 때까지, 상기 영상 변환 모드의 선택 단계, 상기 소스 블록의 판독 단계, 상기 변환 블록의 발생 단계, 및 상기 변환 블록의 기입 단계를 반복적으로 실행하는 단계; 및
    변환 동작의 회수가 설정된 회수에 도달할 때, 상기 변환 동작 제어부에 의해, 상기 CPU에 동작 완료 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하 는 영상 변환 방법.
  17. 삭제
  18. 제15항에 있어서, 상기 변환 블록의 발생 단계는,
    상기 화소 위치 변경부에 의해, 상기 선택된 영상 변환 모드에 대응하는 순서로, 상기 읽기 버퍼부에 저장된 화소 데이터들을 판독하는 단계;
    상기 화소 위치 변경부에 의해, 상기 읽기 버퍼부로부터 판독된 상기 화소 데이터들의 배열 형태를, 상기 선택된 영상 변환 모드에 대응하는 배열 형태로 변경함으로써, 상기 변환 블록을 발생하는 단계; 및
    상기 변환 블록의 화소 데이터들을 쓰기 버퍼부에 저장하는 단계를 포함하는 것을 특징으로 하는 영상 변환 방법.
  19. 제18항에 있어서, 상기 변환 블록의 기입 단계는,
    상기 어드레스 발생부에 의해, 상기 영상 변환 정보에 기초하여, 상기 선택된 영상 변환 모드에 대응하는 기입 어드레스 신호를 발생하는 단계; 및
    상기 DMA 입출력부에 의해, 상기 쓰기 버퍼부에 저장된 화소 데이터들을, 상기 기입 어드레스 신호에 대응하는 상기 메모리의 셀 영역에 기입하는 단계를 포함하는 것을 특징으로 하는 영상 변환 장치.
  20. 제18항에 있어서,
    상기 변환 블록의 기입 단계 이 후, 상기 변환 동작 제어부, 상기 어드레스 발생부, 상기 읽기 버퍼부, 상기 화소 위치 변경부, 상기 쓰기 버퍼부, 및 상기 DMA 입출력부를 각각 초기화시키는 단계를 더 포함하는 것을 특징으로 하는 영상 변환 방법.
KR1020070016563A 2007-02-16 2007-02-16 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법 KR100862882B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070016563A KR100862882B1 (ko) 2007-02-16 2007-02-16 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070016563A KR100862882B1 (ko) 2007-02-16 2007-02-16 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법

Publications (2)

Publication Number Publication Date
KR20080076523A KR20080076523A (ko) 2008-08-20
KR100862882B1 true KR100862882B1 (ko) 2008-10-13

Family

ID=39705492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070016563A KR100862882B1 (ko) 2007-02-16 2007-02-16 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법

Country Status (1)

Country Link
KR (1) KR100862882B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050073265A (ko) * 2004-01-09 2005-07-13 삼성전자주식회사 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050073265A (ko) * 2004-01-09 2005-07-13 삼성전자주식회사 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스

Also Published As

Publication number Publication date
KR20080076523A (ko) 2008-08-20

Similar Documents

Publication Publication Date Title
US20180365796A1 (en) Image processing device
JPH10334227A (ja) イメージをアップスケーリングする方法及び装置
TWI686700B (zh) 應用程式處理器、單晶片系統以及操作影像處理系統的方法
US20170294176A1 (en) Image processing apparatus, image processing method, and storage medium
US5880741A (en) Method and apparatus for transferring video data using mask data
US20060140036A1 (en) Memory controller, display controller, and memory control method
KR20020090221A (ko) 데이터 전송 장치
JP4592998B2 (ja) 画像情報の伝送方法及び伝送装置
KR100862882B1 (ko) 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법
JP4182575B2 (ja) 記憶装置および画像データ処理装置
KR100245275B1 (ko) 컴퓨터 시스템용 그래픽스 서브시스템
JP6249692B2 (ja) 画像処理装置、その制御方法及びプログラム
US7460718B2 (en) Conversion device for performing a raster scan conversion between a JPEG decoder and an image memory
JP2003177958A (ja) 特殊メモリデバイス
JP2003304481A (ja) 画像処理装置と画像処理方法
JPH10134176A (ja) 画像信号処理方法及び装置
JPH07210693A (ja) ビデオサブシステムおよびデータ圧縮方法
US11769463B1 (en) Video streaming transmission system and transmitter device
JPH09120371A (ja) メモリ制御装置
JP2008282135A (ja) 画像処理装置、画像読取り装置、画像形成装置および画像処理方法
JP2000172242A (ja) 画像表示制御装置
JP2021033346A (ja) 画像処理装置、画像処理方法、及びプログラム
JPH10274974A (ja) 画像表示制御装置
JP2003157433A (ja) 画像描画装置
JP4513313B2 (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
FPAY Annual fee payment

Payment date: 20120928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 12