KR100464421B1 - Osd프로세서 및 osd 데이터 프로세싱 방법 - Google Patents

Osd프로세서 및 osd 데이터 프로세싱 방법 Download PDF

Info

Publication number
KR100464421B1
KR100464421B1 KR10-2002-0037055A KR20020037055A KR100464421B1 KR 100464421 B1 KR100464421 B1 KR 100464421B1 KR 20020037055 A KR20020037055 A KR 20020037055A KR 100464421 B1 KR100464421 B1 KR 100464421B1
Authority
KR
South Korea
Prior art keywords
osd
fifo
data
coordinates
windows
Prior art date
Application number
KR10-2002-0037055A
Other languages
English (en)
Other versions
KR20040001736A (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-2002-0037055A priority Critical patent/KR100464421B1/ko
Priority to US10/409,419 priority patent/US7129993B2/en
Publication of KR20040001736A publication Critical patent/KR20040001736A/ko
Application granted granted Critical
Publication of KR100464421B1 publication Critical patent/KR100464421B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/44504Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

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

Abstract

메모리에 저장되어 있는 OSD 데이터들 중에서 실제로 화면에 도시되는 다수개의 OSD창들각각에 대응되는 OSD 데이터만을 처리할 수 있는 OSD프로세서 및 OSD 데이터 프로세싱 방법이 제공된다. 본 발명에 따른 OSD 프로세서는 우선순위에 따라서 도시되어야 하는 다수개의 OSD창들의 좌표들을 저장하기 위한 제1FIFO; 우선순위에 따라 화면상에서 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO; 배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO; 상기 제1FIFO에 저장된 상기 OSD창들의 겹쳐지지 않는 부분의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하고, 독출된 OSD데이터를 상기 OSD FIFO에 저장하고, 상기 메모리로부터 상기 비디오 데이터를 독출하고 상기 독출된 비디오 데이터를 상기 비디오 FIFO에 저장하기 위한 메모리 컨트롤러; 및 상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 상기 OSD데이터와 상기 비디오 데이터를 혼합하고, 그 혼합결과를 출력하기 위한 블렌딩회로를 구비한다.

Description

OSD프로세서 및 OSD 데이터 프로세싱 방법{Method and apparatus to process On-Screen Display data really-displayed on screen }
본 발명은 OSD프로세서 및 OSD 데이터 프로세싱 방법에 관한 것으로, 보다 상세하게는 한 화면상에서 다수개의 OSD창들이 동시에 도시되는 경우, OSD 데이터를 효율적으로 처리하기 위한 OSD프로세서 및 OSD 데이터 프로세싱 방법에 관한 것이다.
OSD(On-Screen Display)프로세서는 OSD창(OSD window)을 나타내는 OSD데이터와 배경의 비디오 데이터를 적절한 비율로 혼합(blending)하여 화면(screen)으로 출력될 데이터를 만든다.
일반적으로 가전제품에 사용되는 OSD프로세서는 고정된 형태의 문자나 도형만으로 구성되는 메뉴를 화면상에 도시한다. 그러나, 최근 개선된 사용자 인터페이스(user interface)에 대한 사용자의 요구가 증가함에 따라, 앞으로 OSD프로세서는 복잡한 형태의 그래픽이나 자연영상을 OSD상에서 도시해야 한다.
그러나 복잡한 형태의 그래픽에 상응하는 OSD 데이터양은 고정된 형태의 문자나 도형에 상응하는 OSD 데이터양보다 상당히(예컨대, 수십 배정도) 크다. 또한, 한 화면에 다수개의 OSD창들을 동시에 도시할 경우, OSD프로세서의 부담은 상당히 증가한다.
도 1은 종래의 2개의 OSD창들을 도시하기 위한 OSD프로세서를 나타내는 블락도이다. 도 1을 참조하면, OSD프로세서(100)는 비디오 FIFO(First-In, First-Out ; 110), 제1OSD FIFO(120), 제2OSDFIFO(130), 블렌딩회로(140) 및 LCD FIFO(150)을 구비한다.
도 2는 화면상에 2개의 OSD 창과 비디오가 도시되는 경우를 나타낸다. 도 1 및 도 2를 참조하면, 비디오 FIFO(110)는 주 메모리(도시하지 않음)로부터 독출된 비디오 영역의 데이터를 저장한다. 제1OSD FIFO(120)는 상기 주 메모리로부터 독출된 제1OSD 창(21)의 OSD데이터를 저장하고, 제2OSDFIFO(130)는 상기 주 메모리로부터 독출된 제2OSD창(23)의 OSD데이터를 저장한다.
블렌딩회로(140)는 비디오 FIFO(110), 제1OSD FIFO(120) 및 제2OSDFIFO(130)의 출력신호를 각각 수신하고, 이들을 적절한 비율로 혼합하여 화면(20)에 도시된 데이터를 만들고, 상기 데이터를 LCD FIFO(150)로 출력한다. LCD FIFO(150)는 블렌딩회로(140)의 출력신호를 일시적으로 저장하고, 저장된 데이터를 디스플레이 장치로 출력한다.
만일, OSD프로세서가 처리하는 OSD창의 수가 증가되면, OSD 데이터를 저장하기 위한 OSD FIFO의 수도 증가하고, 이에 따라 증가된 OSD FIFO를 제어하기 위한 메모리 컨트롤러(도시하지 않음)의 부담이 선형적으로 증가한다.
제1OSD 창(21)과 제2OSD 창(23)이 동시에 화면(20)상에 도시되는 경우, OSD 창들(21, 23)이 겹치는 부분(25)에 대해서는 가장 우선순위(priority)가 높은 OSD창의 OSD데이터만이 도시된다.
여기서 제2OSD 창(23)의 우선순위는 제1OSD 창(21)의 우선순위보다 높고, 제1OSD 창(21)의 우선순위는 비디오 영역의 우선순위는 높다. 즉 괄호(parentheses)안의 숫자는 OSD창의 우선순위의 인덱스(index)를 나타낸다. 따라서 OSD창들(21, 23)이 겹치는 부분(25)에서는 제2OSD창(23)의 OSD데이터만 도시된다.
도 2를 참조하면, A구간의 OSD데이터는 제1OSD FIFO(120)에 저장되고, B구간의 OSD 데이터는 제2OSD FIFO(23)에 저장된다. 따라서 OSD프로세서(100)는 제1OSD창(21)과 제2OSD창(23)이 겹치는 부분(25)에 대한 OSD데이터를 상기 주 메모리로부터 각각 독출하여 제1OSD FIFO(120) 및 제2OSDFIFO(130)에 각각 저장한다.
따라서 제1OSD창(21)과 제2OSD창(23)이 겹치는 부분(25)에서, OSD 프로세서(100)는 화면(20)상에 도시되지 않는 제1OSD창(21)의 OSD데이터까지도 독출하고 저장해야 하므로, OSD 프로세서(100)의 부담은 증가한다.
또한, 한 화면에 도시되는 OSD창들의 수가 증가하면, 대응되는 OSD창의 OSD데이터를 저장하기 위한 OSD FIFO의 수의 증가하고 또한, 대응되는 OSD창의 OSD데이터를 처리하기 위한 OSD프로세서의 부담이 선형적으로 증가한다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 메모리에 저장되어 있는 OSD 데이터들 중에서 실제로 화면에 도시되는 다수개의 OSD창들각각에 대응되는 OSD 데이터만을 처리할 수 있는 OSD프로세서 및 OSD 데이터 프로세싱 방법을 제공하는 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 종래의 2개의 OSD창들을 도시하기 위한 OSD프로세서를 나타내는 블락도이다.
도 2는 화면상에 2개의 OSD 창과 비디오가 도시되는 경우를 나타낸다.
도 3은 본 발명을 설명하기 위해 OSD창의 위치좌표를 수직/수평방향으로 투영한 그림이다.
도 4는 도 3에 따른 VPFIFO와 HPFIFO에 저장되는 좌표들을 나타낸다.
도 5는 본 발명의 실시예에 따른 OSD 프로세서의 블락도를 나타낸다.
도 6은 본 발명의 실시예에 따른 OSD 프로세서의 동작 흐름도이다.
본 발명에 따른 한 화면상에서 다수개의 OSD창들을 동시에 도시하는 OSD프로세서의 OSD데이터 처리방법은 우선순위들에 따라서 상기 화면상에 도시될 상기 다수개의 OSD창들의 좌표들을 메모리에 저장하는 단계; 상기 다수개의 OSD창들의 좌표들과 상기 우선순위들의 기초하여 상기 다수개의 OSD창들의 제1부분에 의하여 겹쳐진 상기 다수개의 OSD창들의 제2부분을 결정하는 단계; 및 상기 메모리에 저장되어 있는 상기 OSD데이터 중에서 결정된 겹쳐진 제2부분을 제외하고 상기 다수개의 OSD창들의 모든 OSD데이터를 처리하는 단계를 구비한다.상기 모든 OSD데이터를 처리하는 단계는 상기 메모리에 저장되어 있는 OSD 데이터 중에서 상기 화면에 도시될 OSD데이터만을 제1FIFO에 저장하는 단계; 상기 메모리에 저장되어 있고, 배경으로 사용될 비디오 데이터를 수신하고 수신된 비디오 데이터를 제2FIFO에 저장하는 단계; 및 상기 제1FIFO에 저장된 OSD데이터와 상기 제2FIFO에 저장된 비디오 데이터를 혼합(blending)하여 상기 화면상에 도시될 데이터를 출력하는 단계를 구비한다.
본 발명에 따른 OSD 프로세서는 우선순위에 따라서 도시되어야 하는 다수개의 OSD창들의 좌표들을 저장하기 위한 제1FIFO; 우선순위에 따라 화면상에서 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO; 배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO; 상기 제1FIFO에 저장된 상기 OSD창들의 겹쳐지지 않는 부분의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하고, 독출된 OSD데이터를 상기 OSD FIFO에 저장하고, 상기 메모리로부터 상기 비디오 데이터를 독출하고 상기 독출된 비디오 데이터를 상기 비디오 FIFO에 저장하기 위한 메모리 컨트롤러; 및 상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 상기 OSD데이터와 상기 비디오 데이터를 혼합하고, 그 혼합결과를 출력하기 위한 블렌딩회로를 구비한다.
상기 제1FIFO는 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO; 및 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO를 구비한다.
본 발명에 따른 OSD 프로세서는 화면상에 도시될 다수개의 OSD창들의 좌표들을 발생하기 위한 MCU; 상기 MCU로부터 발생된 상기 다수개의 OSD창들의 좌표들을 저장하기 위한 OSD 레지스터; OSD 레지스터에 저장된 각 OSD창의 좌표들을 수신하고, 상기 화면상에 도시될 각 OSD창의 우선순위를 계산하는 우선순위 계산회로; 상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO; 상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO; 화면상에서 우선순위에 따라 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO; 배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO; 상기 수직FIFO와 상기 수평FIFO에 저장된 상기 OSD창들의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하여 상기 OSD FIFO에 저장하고, 상기 비디오 데이터를 상기 메모리로부터 독출하여 상기 비디오 FIFO에 저장하는 메모리 컨트롤러; 및 상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 이들을 혼합하고, 그 결과를 출력하기 위한 블렌딩회로를 구비한다.
상기 OSD 프로세서는 상기 블렌딩회로의 출력신호를 수신하고 소정의 디스플레이 장치로 출력하기 위한 FIFO를 더 구비한다. 상기 제1FIFO의 크기는 상기 다수개의 OSD창들의 개수보다 적어도 2배이상이다. 상기 OSD FIFO와 상기 비디오 FIFO의 크기는 상기 메모리 컨트롤러가 상기 메모리로부터 데이터를 버스트 모드로 독출할 수 있는 최대 데이터 양에 비례한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를나타낸다.
도 3은 본 발명을 설명하기 위해 OSD창의 위치좌표를 수직/수평방향으로 투영한 그림이다. 도 4는 도 3에 따른 VPFIFO와 HPFIFO에 저장되는 좌표들을 나타낸다. 하나의 화면(20)에는 다수개의 OSD창들이 도시될 수 있으나, 도 3 및 도 4에서는 설명의 편의를 위하여 두 개의 OSD창들(21', 23')만을 도시한다.
도 3을 참조하면, 제1OSD창(21')의 시점의 좌표는 (W0S_X, WOS_Y)이고, 제1OSD창(21')의 종점의 좌표는 (W0E_X, W0E_Y)이다. 또한, 제2OSD창(23')의 시점의 좌표는 (W1S_X, W1S_Y)이고, 제2OSD창(23')의 종점의 좌표는 (W1E_X, W1E_Y)이다. 그리고 화면(20)의 크기는 수평과 수직 각각 hmax, vmax이다.
제1OSD창(21')의 시점과 종점의 좌표들과 제2OSD창(23')의 시점과 종점의 좌표들 각각을 수평방향(x-축 방향)으로 투영(projection)한 결과는 도 3의 오른쪽에 도시된 것과 같다. 수평방향으로 투영된 좌표들(W0S_Y, W1S_Y, W0E_Y, W1E_Y)각각은 위에서 아래로 도 4에 도시된 FIFO에 저장된다. 이 FIFO를 VPFIFO라 한다. VPFIFO는 위에서 아래로 또는 그 반대로 투영된 좌표들을 저장한다.
각 OSD창(21', 23')에 대하여 시점과 종점의 좌표들이 발생하므로, N(N은 자연수)개의 OSD창들을 도시하는 OSD프로세서는 최대 2N개의 좌표들을 저장하기 위한 VPFIFO를 구비해야 한다.
제1OSD창(21')의 시점과 종점의 좌표들와 제2OSD창(23')의 시점과 종점의 좌표들 각각을 수직방향(y-축 방향)으로 투영한 결과는 도 3의 아래에 도시된 것과 같다. 수직방향으로 투영된 각 좌표(W0S_X, W1S_X, W0E_X, W1E_X)와 각 좌표에 상응하는 인덱스는 위에서 아래로 도 4에 도시된 FIFO에 저장된다. 이 FIFO를 HPFIFO라 한다.
각 OSD창(21', 23')에 대하여 시점과 종점의 좌표들이 발생하므로, N(N은 자연수)개의 OSD창들을 도시하는 OSD프로세서는 최대 2N개의 좌표들을 저장하기 위한 HPFIFO를 구비해야 한다.
각 VPFIFO에 저장된 좌표에 대응하는 각 HPFIFO에 저장된 좌표는 도 4에 도시되어 있다. 예컨대 VPFIFO에 저장된 좌표(W0S_Y)에 대응하는 HPFIFO에 저장된 좌표는 (W0S_X,1), (W0E_X,0), (hmax,0) 및 (hmax, 0)이다. (W0S_X,1)에서, (W0S_X)는 제1OSD창(21)의 시작점을 나타내며, "1"은 제1OSD창(21')의 우선순위를 나타내는 인덱스이다. (W0E_X,0)에서, (W0E_X)는 제1OSD창(21')의 끝점을 나타내고, "0"은 비디오 영역의 우선순위의 인덱스를 나타낸다. (hmax,0)는 디폴트(default)로 설정된 값을 나타낸다.
그리고, VPFIFO에 저장된 좌표(W1S_Y)에 대응하는 HPFIFO에 저장된 좌표는 (W0S_X, 1), (W1S_X, 2), (W1E_X, 0) 및 (hmax, 0)이다. (W0S_X,1)에서, (W0S_X)는 제1OSD창(21)의 시작점을 나타내며, "1"은 제1OSD창(21')의 우선순위를 나타내는 인덱스이다. (W1S_X, 2)에서, (W1S_X)는 실제로 화면(20)상에서 도시되는 제1OSD창(21')의 끝점을 나타내는 동시에 제2OSD창(23)의 시작점을 나타내고, "2"는 제2OSD창(23)의 우선순위를 나타내는 인덱스이다.
도 5는 본 발명의 실시예에 따른 OSD 프로세서의 블락도를 나타낸다. 도 5를 참조하면, 본 발명에 따른 OSD 프로세서(500)는 MCU(510), OSD 레지스터(520), 우선순위 계산회로(530), VPFIFO(540), HPFIFO(545), 메모리 컨트롤러(550), OSD 제어기(555), OSD FIFO(560), 비디오 FIFO(570), 블렌딩회로(580) 및 LCD FIFO(590)를 구비한다.
본 발명에 따른 OSD 프로세서는 그래픽 프로세서의 일예로, 화면상에 다수개의 창들을 도시하고, 각 창에 그래픽을 도시하는 경우에도 적용됨은 당연하다.
사용자가 다수개의 OSD창들을 화면에 동시에 도시하고자 하는 경우, MCU(main control unit; 510)는 화면상에 도시될 각 OSD창의 시점과 종점의 좌표들을 발생하고, 이들을 OSD 레지스터(520)에 저장한다.
우선순위 계산회로(530)는 OSD 레지스터(520)에 저장된 각 OSD창의 좌표들을 수신하고, 화면상에 도시될 각 OSD창의 우선순위를 계산하고, 우선순위 계산회로(530)는 도 3 및 도 4에 도시된 바와 같이 수평방향으로 투영된 좌표들을 VPFIFO (540)에 소정의 순서에 따라 각각 저장한다.
또한, 우선순위 계산회로(530)는 도 3 및 도 4에 도시된 바와 같이 수직방향으로 투영된 각 OSD창의 x-축 좌표들과 인덱스를 HPFIFO(545)에 각각 저장한다. OSD 창의 좌표들을 저장하는 각 FIFO(540, 545)의 최소크기는 OSD프로세서(500)가 처리하는 OSD창들의 개수의 2배 이상이어야 한다. OSD 제어기(555)는 OSD프로세서(500)의 동작을 전반적으로 제어한다.
메모리 컨트롤러(550)는 주 메모리(도시하지 않음)에 저장된 OSD 데이터 중에서 실제로 화면에 도시될 OSD데이터만(예컨대, VPFIFO(540) 및 HPFIFO(545)에 저장된 좌표들에 상응하는 OSD 데이터)을 독출(read)하고, 독출된 OSD데이터를 OSDFIFO(560)에 저장한다.
즉, OSD FIFO(560)에는 도 3에 도시된 바와 같이 A'구간에 상응하는 OSD데이터와 B'구간에 상응하는 OSD데이터를 저장한다. 따라서 메모리 컨트롤러(550)는 제1OSD창(21')과 제2OSD창(23')이 겹치는 부분에 대한 제1OSD창(21')의 OSD데이터를 독출하지 않으므로, 메모리 컨트롤러(550)의 효율은 극대화된다.
또한, 메모리 컨트롤러(550)는 주 메모리(도시하지 않음)에 저장된 비디오 데이터 중에서 배경(예컨대 비디오 영역)으로 사용할 비디오 데이터를 독출하고, 독출된 비디오 데이터를 비디오 FIFO(570)에 저장한다. OSD FIFO(560) 및 비디오 FIFO(570)의 크기는 메모리 컨트롤러(550)가 버스트 모드(burst mode)로 주 메모리로부터 독출할 수 있는 최대 데이터의 양에 비례하여야 한다.
블렌딩회로(580)는 OSD FIFO(560)의 OSD 데이터와 비디오 FIFO(570)의 비디오 데이터를 수신하고, 이들을 적절한 비율로 혼합(blend)하여 화면(20)에 도시된 데이터를 만들고, 상기 데이터를 LCD FIFO(150)로 출력한다.
LCD FIFO(150)는 블렌딩회로(140)의 출력신호를 일시적으로 저장하고, 저장된 데이터를 디스플레이 장치로 출력한다. LCD FIFO(590)의 크기는 주 메모리의 데이터 처리 속도와 디스플레이장치가 데이터를 디스플레이하는 속도를 고려하여 결정하는 것이 바람직하다. 상기 디스플레이 장치는 LCD 컨트롤러나, NTSC/PAL 부호화기(encoder)를 포함하는 모든 종류의 디스플레이 장치를 포함한다.
도 6은 본 발명의 실시예에 따른 OSD 프로세서의 동작 흐름도이다. 도 6을 참조하면, 좌표(xcnt, ycnt)는 현재 OSD 프로세서가 처리하고자하는 화소(pixel)의수평 및 수직좌표를 나타낸다. y_vfifo는 VPFIFO(540)의 독출 포인터(read pointer)가 지시하는 위치에 저장된 y-축 좌표값을 나타내고, x_hfifo는 HPFIFO(545)의 독출 포인터가 지시하는 위치에 저장된 x-축 좌표값을 나타내고, i는 상기 x-축 좌표값으로부터 시작되는 OSD창의 인덱스를 나타낸다. 여기서 i가 0이면, OSD창이 없음을 의미한다.
이하 도 3 내지 도 6을 참조하여 본 발명에 따른 OSD 제어기(555)의 동작이 상세히 설명된다. 한 프레임(frame)에 대한 처리가 시작되면(600), OSD 제어기(555)는 우선순위 계산회로(530)를 구동하고, 우선순위 계산회로(530)는 도 3과 같은 방식으로 VPFIFO(540)에 y-축 좌표값을 저장하고(601), 좌표(xcnt, ycnt)를 (0,0)로 초기화시킨다(603).
OSD 제어기(555)는 ycnt=y_vfifo의 여부를 판단하고(605), 그 판단결과에 따라 OSD 제어기(555)는 607단계 또는 611단계를 수행한다. ycnt=y_vfifo는 수평방향으로 도시될 OSD창의 구성이 달라졌다는 것을 의미하므로, OSD제어기(555)는 우선순위 계산회로(530)를 구동하고, 우선순위 계산회로(530)는 수직방향으로 투영된 OSD창의 x-축 좌표들과 OSD창의 인덱스들을 도 4에 도시된 바와 같이 HPFIFO(545)에 저장한다(607). 그리고 OSD제어기(555)는 VPFIFO(545)의 독출 포인터를 증가시킨다(609). 이때 VPFIFO(545)는 증가된 독출 포인터에 상응하는 좌표를 출력한다.
OSD 제어기(555)는 xcnt=x_hfifo의 여부를 판단하고(611), 그 판단결과에 따라 OSD제어기(555)는 613단계 또는 617단계를 수행한다. xcnt=x_hfifo는 지금부터 새로운 OSD창이 시작한다는 것을 의미한다. 따라서 OSD 제어기(555)는 HPFIFO(545)의 독출 포인터를 증가시켜, x_hfifo를 갱신한다. 이 경우 x_hfifo는 그 다음 OSD창의 시작점을 나타내므로, OSD 제어기(555)는 메모리 컨트롤러(550)를 통하여 소정의 인덱스(i)를 갖는 OSD창에 해당하는 화소의 OSD 데이터를 주 메모리로부터 (x_hfifo - xcnt)개 독출하여 OSD FIFO(560)에 저장한다(615).
OSD데이터가 OSD FIFO(560)에 저장되기 시작하면, OSD 제어기(555)는 xcnt값을 하나씩 증가시키고(617), xcnt가 증가할 때마다 OSD FIFO(560)에 저장된 OSD 데이터는 하나씩 블렌딩회로(580)로 출력되고, 블렌딩회로(580)는 비디오 FIFO(570)에서 출력되는 비디오 데이터와 OSD FIFO(560)로부터 출력되는 OSD 데이터를 수신하고, 적절한 비율로 혼합(blend)하고, 그 결과를 LCD FIFO(590)로 출력한다.
OSD 제어기(555)는 xcnt=xmax의 여부를 판단하고(619), 그 판단결과에 따라 OSD제어기(555)는 621단계 또는 611단계를 수행한다. xcnt=xmax는 하나의 수평라인에 대한 처리가 끝난 것을 의미하므로, 현재 수직좌표(ycnt)를 하나 증가시켜서 다음 수평라인을 처리한다(621). OSD 제어기(555)는 ycnt=ymax의 여부를 판단하고, 그 판단결과에 따라 OSD 제어기(555)는 605단계 또는 625단계를 수행한다. ycnt=ymax는 한 프레임에 대한 데이터의 처리가 끝난 것을 나타낸다(625).
예컨대, OSD 프로세서(500)가 수평라인(W0S_Y)을 처리하는 경우를 도 3 내지 도 6을 참조하여 설명하면 다음과 같다. OSD 제어기(555)는 y=W0S_Y 축 상에 투영된 제1OSD창(21')의 x-축 좌표들(W0S_X, W1S_X)과 제1OSD창(21')의 인덱스(1)를 도 4에 도시된 것처럼 HPFIFO (545)에 저장한다. 그리고 OSD 제어기(555)가 VPFIFO (540)의 독출 포인터를 증가시키면, VPFIFO(540)는 좌표(W1S_Y)를 출력한다.
xcnt가 '0'부터 증가하여 xcnt=W0S_X가 되면, xcnt=W0S_X는 지금부터 제1OSD창(21')이 시작된다는 것을 의미한다. 제1OSD창(21')의 인덱스는 1이다. 그리고, OSD제어기(555)가 독출 포인터를 증가시키면, HPFIFO(545)는 W0E_X를 출력한다. W0E_X는 비디오 영역의 시작을 나타낸다.
메모리 컨트롤러(550)는 제1OSD창(21')에 해당되는 화소에 상응하는 OSD 데이터를 주 메모리로부터 (W0E_X - xcnt(=W0S_X))개 독출하고, OSD FIFO(560)에 저장한다.
(W0E_X - xcnt(=W0S_X))개의 OSD 데이터가 OSD FIFO(560)에 저장되기 시작하면, OSD 제어기(555)는 xcnt값을 하나씩 증가시키고, OSD FIFO(560)는 OSD 데이터를 하나씩 블렌딩회로(580)로 출력한다. 블렌딩회로(580)는 비디오 FIFO(570)의 출력신호와 OSD FIFO(560)의 출력신호를 혼합하여 그 결과를 LCD FIFO(590)로 출력한다.
OSD 프로세서(500)는 제1OSD창(21')에 대한 OSD데이터의 처리를 수평라인(W1S_Y)이 되기 직전까지 반복적으로 수행한다. 만약, ycnt=W1S_Y는 수평방향으로 도시될 OSD창의 구성이 달라졌다는 것을 의미하므로, OSD 제어기(555)는 y=W1S_Y 축 상에 투영된 OSD창들(21', 23')의 x-축 좌표들(W0S_x, W1S_X, W0E_X, W1E_X)과 대응되는 OSD창들(21', 23')의 인덱스를 도 4에 도시된 것처럼 HPFIFO(545)에 저장한다. 그리고 OSD 제어기(555)가 VPFIFO(540)의 독출 포인터를 증가시키면, VPFIFO(540)는 좌표(W0E_Y)를 출력한다.
xcnt가 0부터 증가하여 xcnt=W0S_X가 되면, OSD제어기(555)는 HPFIFO(545)의독출 포인터를 W1S_X로 증가시키고, HPFIFO(545)는 W1S_X를 출력한다.
메모리 컨트롤러(550)는 제1OSD창(21'), 즉 x-축 상의 좌표(W0S_X)로부터 좌표(W1S_X)에 상응하는 화소들에 대한 OSD데이터를 (W1S_X - W0S_X)개만큼 주 메모리로부터 독출하고, OSD FIFO(560)에 저장한다.
그리고, xcnt가 W0S_X로부터 증가되어 xcnt=W1S_X가 되면, OSD제어기(555)는 HPFIFO(545)의 독출 포인터를 W1E_X로 증가시키고, HPFIFO(545)는 W1E_X를 출력한다.
메모리 컨트롤러(550)는 제2OSD창(23'), 즉 x-축 상의 좌표(W1S_X)로부터 좌표(W1E_X)에 상응하는 화소들에 대한 OSD데이터를 (W1E_X - W1S_X)개만큼 주 메모리로부터 독출하고, OSD FIFO(560)에 저장한다.
(W1E_X - W1S_X)개의 OSD 데이터가 OSD FIFO(560)에 저장되기 시작하면, OSD 제어기(555)는 xcnt값을 하나씩 증가시고, OSD FIFO(560)는 OSD 데이터를 하나씩 블렌딩회로(580)로 출력한다. 블렌딩회로(580)는 비디오 FIFO(570)의 출력신호와 OSD FIFO(560)의 출력신호를 혼합하여 그 결과를 LCD FIFO(590)로 출력한다.
그리고, xcnt가 W1E_X가 되는 경우, W1E_X는 비디오 영역의 시작을 나타낸다. OSD 프로세서(500)는 ycnt=ymax가 될 때까지 상술한 데이터 처리를 반복한다. 따라서 본 발명에 따른 OSD 프로세서(500)는 상술한 바와 같이 다수개의 OSD 창들이 동시에 화면에 도시되는 경우라도 주 메모리에 저장되어 있는 OSD 데이터 중에서 실제로 화면에 도시되는 OSD 데이터만 독출하여 처리한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 OSD프로세서 및 OSD 데이터 프로세싱 방법은 메모리에 저장되어 있는 OSD 데이터들 중에서 실제로 화면에 도시되는 OSD 데이터만을 처리할 수 있으므로, OSD프로세서의 부담이 감소하고, OSD프로세서의 효율이 극대화되는 효과가 있다.

Claims (11)

  1. 한 화면상에서 다수개의 OSD(On-Screen Display)창들을 동시에 도시하는 OSD프로세서의 OSD데이터 처리방법에 있어서,
    상기 화면상에 도시될 상기 다수개의 OSD창들의 좌표들을 저장하는 단계;
    상기 화면상에 도시될 상기 OSD창들 각각의 우선순위를 계산하는 단계;
    상기 다수개의 OSD창들의 좌표들과 상기 우선순위에 기초하여 상기 다수개의 OSD창들의 겹쳐지는 부분과 겹쳐지지 않는 부분의 좌표들을 판단하는 단계;
    상기 겹쳐지지 않는 것으로 판단된 좌표들에 상응하는 OSD 데이터, 및 상기 겹쳐지는 것으로 판단된 좌표들 중에서 상기 우선순위가 가장 높은 OSD 창의 좌표들에 상응하는 OSD 데이터를 결정하는 단계;
    상기 결정된 OSD 데이터들을 소정 메모리로부터 수신하여 제1FIFO(First-In First-Out)에 저장하는 단계;
    배경으로 사용될 비디오 데이터를 상기 메모리로부터 수신하여 제2FIFO에 저장하는 단계; 및
    상기 제1FIFO에 저장된 OSD데이터들과 상기 제2FIFO에 저장된 비디오 데이터를 혼합(blending)하여 상기 화면상에 도시될 데이터를 출력하는 단계를 구비하는 OSD데이터 처리방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. OSD 프로세서에 있어서,
    화면상에 도시될 다수개의 OSD창들의 좌표들을 발생하기 위한 MCU;
    상기 MCU로부터 발생된 상기 다수개의 OSD창들의 좌표들을 저장하기 위한 OSD 레지스터;
    OSD 레지스터에 저장된 각 OSD창의 좌표들을 수신하고, 상기 화면상에 도시될 각 OSD창의 우선순위를 계산하는 우선순위 계산회로;
    상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO;
    상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO;
    화면상에서 우선순위에 따라 실제로 도시되어야할 OSD 데이터만을 저장하기 위한 OSD FIFO;
    배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO;
    상기 수직FIFO와 상기 수평FIFO에 저장된 상기 OSD창들의 좌표들로부터 서로 겹쳐지지 않는 부분에 상응하는 OSD 데이터 및 서로 겹쳐지는 부분 중 상기 우선 순위가 가장 높은 OSD창의 좌표들에 상응하는 OSD데이터를 소정의 메모리로부터 독출하여 상기 OSD FIFO에 저장하고, 상기 비디오 데이터를 상기 메모리로부터 독출하여 상기 비디오 FIFO에 저장하는 메모리 컨트롤러; 및
    상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 이들을 혼합하고, 그 결과를 출력하기 위한 블렌딩회로를 구비하는 OSD프로세서.
  9. 제8항에 있어서, 상기 OSD 프로세서는
    상기 블렌딩회로의 출력신호를 수신하고 소정의 디스플레이 장치로 출력하기 위한 FIFO를 더 구비하는 OSD프로세서.
  10. 제8항에 있어서, 상기 수직FIFO와 상기 수평FIFO각각의 크기는 상기 다수개의 OSD창들의 개수보다 적어도 2배이상인 OSD프로세서.
  11. 제8항에 있어서, 상기 OSD FIFO와 상기 비디오 FIFO의 크기는 상기 메모리 컨트롤러가 상기 메모리로부터 데이터를 버스트 모드로 독출할 수 있는 최대 데이터 양에 비례하는 OSD 프로세서.
KR10-2002-0037055A 2002-06-28 2002-06-28 Osd프로세서 및 osd 데이터 프로세싱 방법 KR100464421B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0037055A KR100464421B1 (ko) 2002-06-28 2002-06-28 Osd프로세서 및 osd 데이터 프로세싱 방법
US10/409,419 US7129993B2 (en) 2002-06-28 2003-04-08 Method and apparatus for processing on-screen display data displayed on screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0037055A KR100464421B1 (ko) 2002-06-28 2002-06-28 Osd프로세서 및 osd 데이터 프로세싱 방법

Publications (2)

Publication Number Publication Date
KR20040001736A KR20040001736A (ko) 2004-01-07
KR100464421B1 true KR100464421B1 (ko) 2005-01-03

Family

ID=29774976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0037055A KR100464421B1 (ko) 2002-06-28 2002-06-28 Osd프로세서 및 osd 데이터 프로세싱 방법

Country Status (2)

Country Link
US (1) US7129993B2 (ko)
KR (1) KR100464421B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2401271B (en) * 2003-04-30 2007-10-24 Zarlink Semiconductor Ltd Digital television display control apparatus and method
JP4059504B2 (ja) * 2004-01-30 2008-03-12 キヤノン株式会社 文書処理装置及び文書処理方法及び文書処理プログラム
US20050280659A1 (en) * 2004-06-16 2005-12-22 Paver Nigel C Display controller bandwidth and power reduction
US7393110B2 (en) * 2004-07-06 2008-07-01 Hewlett-Packard Development Company, L.P. Media projector system
US7546025B2 (en) * 2004-07-06 2009-06-09 Hewlett-Packard Development Company, L.P. Media projector system
US8046790B2 (en) * 2004-07-06 2011-10-25 Hewlett-Packard Development Company, L. P. Media projector system for preventing the display of on-screen display information
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
TWI253296B (en) * 2004-08-18 2006-04-11 Realtek Semiconductor Corp Video data processing method and apparatus capable of saving bandwidth
TWI245560B (en) * 2004-08-19 2005-12-11 Realtek Semiconductor Corp Video data processing method and apparatus capable of saving bandwidth
KR100724956B1 (ko) * 2005-12-13 2007-06-04 삼성전자주식회사 이동 통신 단말의 배경화면 표시 방법
JP2007228167A (ja) * 2006-02-22 2007-09-06 Funai Electric Co Ltd パネル型映像表示装置および液晶テレビジョン
US7681144B2 (en) * 2006-06-13 2010-03-16 Mlb Advanced Media, L.P. Prioritized presentation of content
US7844661B2 (en) * 2006-06-15 2010-11-30 Microsoft Corporation Composition of local media playback with remotely generated user interface
US8793303B2 (en) * 2006-06-29 2014-07-29 Microsoft Corporation Composition of local user interface with remotely generated user interface and media
US20080001967A1 (en) * 2006-06-30 2008-01-03 Srikanth Rengarajan Display bandwidth reduction apparatus, system, and method
JPWO2009037818A1 (ja) * 2007-09-19 2011-01-06 パナソニック株式会社 デジタル画像処理装置
JP2011048040A (ja) * 2009-08-26 2011-03-10 Sony Corp 映像信号処理装置、映像信号処理方法およびプログラム
CN101707677B (zh) * 2009-12-11 2011-12-21 华亚微电子(上海)有限公司 Osd控制器
CN101707678B (zh) * 2009-12-11 2011-08-03 华亚微电子(上海)有限公司 Osd控制器
US9747658B2 (en) * 2013-09-06 2017-08-29 Apple Inc. Arbitration method for multi-request display pipeline

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774189A (en) * 1994-12-12 1998-06-30 Mitsubishi Denki Kabushiki Kaisha On screen display
JPH10177374A (ja) * 1996-11-01 1998-06-30 Texas Instr Inc <Ti> リアルタイム・ウインドゥ・アドレス計算を備えたオン・スクリーン・ディスプレイ・システム
KR20000034598A (ko) * 1998-11-30 2000-06-26 전주범 문자다중방송 기능을 구비한 텔레비전에서의 osd 제어 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6369855B1 (en) * 1996-11-01 2002-04-09 Texas Instruments Incorporated Audio and video decoder circuit and system
JP3812982B2 (ja) * 1997-01-31 2006-08-23 富士通株式会社 データ伝送制御方法及びデータ伝送制御システム
US6518985B2 (en) * 1999-03-31 2003-02-11 Sony Corporation Display unit architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774189A (en) * 1994-12-12 1998-06-30 Mitsubishi Denki Kabushiki Kaisha On screen display
JPH10177374A (ja) * 1996-11-01 1998-06-30 Texas Instr Inc <Ti> リアルタイム・ウインドゥ・アドレス計算を備えたオン・スクリーン・ディスプレイ・システム
KR20000034598A (ko) * 1998-11-30 2000-06-26 전주범 문자다중방송 기능을 구비한 텔레비전에서의 osd 제어 방법

Also Published As

Publication number Publication date
KR20040001736A (ko) 2004-01-07
US7129993B2 (en) 2006-10-31
US20040001163A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
KR100464421B1 (ko) Osd프로세서 및 osd 데이터 프로세싱 방법
US6166772A (en) Method and apparatus for display of interlaced images on non-interlaced display
US5946051A (en) Method and apparatus for enabling a user to access data network applications from a television system
US20100066762A1 (en) Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics display planes
US20020180812A1 (en) Method and apparatus for adjusting contrast and sharpness for regions in a display device
JPH08202318A (ja) 記憶性を有する表示装置の表示制御方法及びその表示システム
US7623140B1 (en) Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics
US5467442A (en) Image processing apparatus
US5880741A (en) Method and apparatus for transferring video data using mask data
WO2005006772A1 (ja) 画像表示装置及び画像表示方法
US20060033747A1 (en) Digital tv image processing circuit
JP4211955B2 (ja) デジタルビデオ処理装置及び副ビデオデータの処理方法
JP2001177846A (ja) ホワイトバランス調整方法及びその方式並びに画像表示装置
US7893943B1 (en) Systems and methods for converting a pixel rate of an incoming digital image frame
EP0593157B1 (en) Image processing apparatus
JP3834322B2 (ja) 画像表示装置及び画像表示方法
JP2001103392A (ja) 画像枠生成回路及びそれを用いたデジタルテレビシステム
JP3484763B2 (ja) 映像データ転送装置およびコンピュータシステム
JPH06284353A (ja) オンスクリーン表示制御装置
KR100188664B1 (ko) 부영상 표시 위치 제어 방법
JPH11212539A (ja) 表示制御装置
KR20000065696A (ko) 디지털 텔레비젼 수신기에서 멀티윈도우 및 멀티플 알파 브렌딩구현방법
JP3039283B2 (ja) 画像処理方法及び装置
JPH05341768A (ja) 画像表示装置
JP2002330364A (ja) オンスクリーン表示装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081201

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee