KR20040001736A - Osd프로세서 및 osd 데이터 프로세싱 방법 - Google Patents
Osd프로세서 및 osd 데이터 프로세싱 방법 Download PDFInfo
- Publication number
- KR20040001736A KR20040001736A KR1020020037055A KR20020037055A KR20040001736A KR 20040001736 A KR20040001736 A KR 20040001736A KR 1020020037055 A KR1020020037055 A KR 1020020037055A KR 20020037055 A KR20020037055 A KR 20020037055A KR 20040001736 A KR20040001736 A KR 20040001736A
- Authority
- KR
- South Korea
- Prior art keywords
- osd
- fifo
- data
- video
- windows
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/45—Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control 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/026—Control of mixing and/or overlay of colours in general
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display 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프로세서의 OSD데이터 처리방법은 우선순위에 따라서 상기 화면상에 도시될 상기 다수개의 OSD창들의 좌표들을 저장하는 단계; 및 메모리에 저장되어 있는 OSD 데이터 중에서 실제로 상기 화면에 도시되는 OSD데이터만 처리하는 단계를 구비한다. 상기 OSD 데이터를 처리하는 단계는 상기 메모리에 저장되어 있는 OSD 데이터 중에서 실제로 상기 화면에 도시되는 OSD데이터만을 제1FIFO에 저장하는 단계; 상기 메모리에 저장되어 있고 배경으로 사용할 비디오 데이터를 수신하고 제2FIFO에 저장하는 단계; 및 상기 제1FIFO에 저장된 OSD데이터와 상기 제2FIFO에 저장된 비디오 데이터를 혼합(blending)하여 상기 화면상에 도시된 데이터를 출력하는 단계를 구비한다.
Description
본 발명은 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데이터만 처리하는 단계를 구비한다.
상기 OSD 데이터를 처리하는 단계는 상기 메모리에 저장되어 있는 OSD 데이터 중에서 실제로 상기 화면에 도시되는 OSD데이터만을 제1FIFO에 저장하는 단계;상기 메모리에 저장되어 있고 배경으로 사용할 비디오 데이터를 수신하고 제2FIFO에 저장하는 단계; 및 상기 제1FIFO에 저장된 OSD데이터와 상기 제2FIFO에 저장된 비디오 데이터를 혼합(blending)하여 상기 화면상에 도시된 데이터를 출력하는 단계를 구비한다.
본 발명에 따른 OSD 프로세서는 우선순위에 따라서 도시되어야 하는 다수개의 OSD창들의 좌표들을 저장하기 위한 제1FIFO; 화면상에서 우선순위에 따라 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO; 배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO; 상기 제1FIFO에 저장된 상기 OSD창들의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하여 상기 OSD FIFO에 저장하고, 상기 비디오 데이터를 상기 메모리로부터 독출하여 상기 비디오 FIFO에 저장하는 메모리 컨트롤러; 및 상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 이들을 혼합하고, 그 결과를 출력하기 위한 블렌딩회로를 구비한다.
상기 제1FIFO는 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO; 및 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO를 구비한다.
본 발명에 따른 OSD 프로세서는 화면상에 도시될 다수개의 OSD창들의 좌표들을 발생하기 위한 MCU; 상기 MCU로부터 발생된 상기 다수개의 OSD창들의 좌표들을 저장하기 위한 OSD 레지스터; OSD 레지스터에 저장된 각 OSD창의 좌표들을 수신하고, 상기 화면상에 도시될 각 OSD창의 우선순위를 계산하는 우선순위 계산회로; 상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO; 상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO; 화면상에서 우선순위에 따라 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO; 배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO; 상기 제1FIFO에 저장된 상기 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)
- 한 화면상에서 다수개의 OSD창들을 동시에 도시하는 OSD프로세서의 OSD데이터 처리방법에 있어서,우선순위에 따라서 상기 화면상에 도시될 상기 다수개의 OSD창들의 좌표들을 저장하는 단계; 및메모리에 저장되어 있는 OSD데이터 중에서 실제로 상기 화면에 도시되는 OSD데이터만 처리하는 단계를 구비하는 OSD데이터 처리방법.
- 제1항에 있어서, 상기 OSD데이터를 처리하는 단계는,상기 메모리에 저장되어 있는 OSD 데이터 중에서 실제로 상기 화면에 도시되는 OSD데이터만을 제1FIFO에 저장하는 단계;상기 메모리에 저장되어 있고, 배경으로 사용할 비디오 데이터를 수신하고 제2FIFO에 저장하는 단계; 및상기 제1FIFO에 저장된 OSD데이터와 상기 제2FIFO에 저장된 비디오 데이터를 혼합(blending)하여 상기 화면상에 도시될 데이터를 출력하는 단계를 구비하는 OSD데이터 처리방법.
- OSD 프로세서에 있어서,우선순위에 따라서 도시되어야 하는 다수개의 OSD창들의 좌표들을 저장하기 위한 제1FIFO;화면상에서 우선순위에 따라 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO;배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO;상기 제1FIFO에 저장된 상기 OSD창들의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하여 상기 OSD FIFO에 저장하고, 상기 비디오 데이터를 상기 메모리로부터 독출하여 상기 비디오 FIFO에 저장하는 메모리 컨트롤러; 및상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 이들을 혼합하고, 그 결과를 출력하기 위한 블렌딩회로를 구비하는 OSD프로세서.
- 제3항에 있어서, 상기 제1FIFO는상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO; 및상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO를 구비하는 OSD프로세서.
- 제3항에 있어서, 상기 OSD 프로세서는상기 블렌딩회로의 출력신호를 수신하고 소정의 디스플레이 장치로 출력하기 위한 FIFO를 더 구비하는 OSD프로세서.
- 제3항에 있어서, 상기 제1FIFO의 크기는 상기 다수개의 OSD창들의 개수보다 적어도 2배이상인 OSD프로세서.
- 제3항에 있어서, 상기 OSD FIFO와 상기 비디오 FIFO의 크기는 상기 메모리 컨트롤러가 상기 메모리로부터 데이터를 버스트 모드(burst mode)로 독출할 수 있는 최대 데이터 양에 비례하는 OSD 프로세서.
- OSD 프로세서에 있어서,화면상에 도시될 다수개의 OSD창들의 좌표들을 발생하기 위한 MCU;상기 MCU로부터 발생된 상기 다수개의 OSD창들의 좌표들을 저장하기 위한OSD 레지스터;OSD 레지스터에 저장된 각 OSD창의 좌표들을 수신하고, 상기 화면상에 도시될 각 OSD창의 우선순위를 계산하는 우선순위 계산회로;상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수평방향으로 투영한 좌표들을 저장하기 위한 수직FIFO;상기 우선순위 계산회로의 출력신호에 따라 상기 다수개의 OSD창들을 수직방향으로 투영한 좌표들을 저장하기 위한 수평FIFO;화면상에서 우선순위에 따라 실제로 도시되어야할 OSD데이터를 저장하기 위한 OSD FIFO;배경으로 사용될 비디오 데이터를 저장하기 위한 비디오 FIFO;상기 제1FIFO에 저장된 상기 OSD창들의 좌표에 상응하는 상기 OSD데이터를 소정의 메모리로부터 독출하여 상기 OSD FIFO에 저장하고, 상기 비디오 데이터를 상기 메모리로부터 독출하여 상기 비디오 FIFO에 저장하는 메모리 컨트롤러; 및상기 OSD FIFO에 저장된 OSD 데이터와 상기 비디오 FIFO에 저장된 비디오 데이터를 수신하고, 이들을 혼합하고, 그 결과를 출력하기 위한 블렌딩회로를 구비하는 OSD프로세서.
- 제8항에 있어서, 상기 OSD 프로세서는상기 블렌딩회로의 출력신호를 수신하고 소정의 디스플레이 장치로 출력하기 위한 FIFO를 더 구비하는 OSD프로세서.
- 제8항에 있어서, 상기 제1FIFO의 크기는 상기 다수개의 OSD창들의 개수보다 적어도 2배이상인 OSD프로세서.
- 제8항에 있어서, 상기 OSD FIFO와 상기 비디오 FIFO의 크기는 상기 메모리 컨트롤러가 상기 메모리로부터 데이터를 버스트 모드로 독출할 수 있는 최대 데이터 양에 비례하는 OSD 프로세서.
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 true KR20040001736A (ko) | 2004-01-07 |
KR100464421B1 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)
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 |
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 |
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 |
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 |
US20100134685A1 (en) * | 2007-09-18 | 2010-06-03 | Kazuo Nakamura | Digital image processing device |
JP2011048040A (ja) * | 2009-08-26 | 2011-03-10 | Sony Corp | 映像信号処理装置、映像信号処理方法およびプログラム |
CN101707678B (zh) * | 2009-12-11 | 2011-08-03 | 华亚微电子(上海)有限公司 | Osd控制器 |
CN101707677B (zh) * | 2009-12-11 | 2011-12-21 | 华亚微电子(上海)有限公司 | Osd控制器 |
US9747658B2 (en) * | 2013-09-06 | 2017-08-29 | Apple Inc. | Arbitration method for multi-request display pipeline |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223497A (ja) * | 1994-12-12 | 1996-08-30 | Mitsubishi Electric Corp | 画面表示装置 |
KR19980042025A (ko) * | 1996-11-01 | 1998-08-17 | 윌리엄비.켐플러 | 실시간 윈도우 어드레스 계산을 이용한 온 스크린 디스플레이시스템 |
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 | 富士通株式会社 | データ伝送制御方法及びデータ伝送制御システム |
KR20000034598A (ko) * | 1998-11-30 | 2000-06-26 | 전주범 | 문자다중방송 기능을 구비한 텔레비전에서의 osd 제어 방법 |
US6518985B2 (en) * | 1999-03-31 | 2003-02-11 | Sony Corporation | Display unit architecture |
-
2002
- 2002-06-28 KR KR10-2002-0037055A patent/KR100464421B1/ko not_active IP Right Cessation
-
2003
- 2003-04-08 US US10/409,419 patent/US7129993B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100464421B1 (ko) | 2005-01-03 |
US20040001163A1 (en) | 2004-01-01 |
US7129993B2 (en) | 2006-10-31 |
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 | |
US7191402B2 (en) | Method and apparatus for adjusting contrast and sharpness for regions in a display device | |
KR100699091B1 (ko) | 디스플레이장치 및 그 제어방법 | |
WO2011068672A1 (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 | |
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 | |
US5880741A (en) | Method and apparatus for transferring video data using mask data | |
WO2005006772A1 (ja) | 画像表示装置及び画像表示方法 | |
US20060033747A1 (en) | Digital tv image processing circuit | |
US20060203002A1 (en) | Display controller enabling superposed display | |
US7164431B1 (en) | System and method for mixing graphics and text in an on-screen display application | |
JP2001177846A (ja) | ホワイトバランス調整方法及びその方式並びに画像表示装置 | |
US6967689B1 (en) | System and method for providing a variable character size in an on-screen display application | |
US7893943B1 (en) | Systems and methods for converting a pixel rate of an incoming digital image frame | |
EP0593157B1 (en) | Image processing apparatus | |
US6661465B2 (en) | Television interface for handheld calculator for use with multiple calculator display formats | |
JP3834322B2 (ja) | 画像表示装置及び画像表示方法 | |
JP3484763B2 (ja) | 映像データ転送装置およびコンピュータシステム | |
JPH06284353A (ja) | オンスクリーン表示制御装置 | |
JP2003066934A (ja) | 表示装置 | |
JP3894173B2 (ja) | 映像データ転送を行うコンピュータシステム | |
JPH11212539A (ja) | 表示制御装置 | |
JP3039283B2 (ja) | 画像処理方法及び装置 | |
JPH05341768A (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 |