KR20060022419A - 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체 - Google Patents

그래픽 데이터 생성 장치, 방법 및 정보 저장 매체 Download PDF

Info

Publication number
KR20060022419A
KR20060022419A KR1020040071230A KR20040071230A KR20060022419A KR 20060022419 A KR20060022419 A KR 20060022419A KR 1020040071230 A KR1020040071230 A KR 1020040071230A KR 20040071230 A KR20040071230 A KR 20040071230A KR 20060022419 A KR20060022419 A KR 20060022419A
Authority
KR
South Korea
Prior art keywords
data
information
line
graphic
alpha
Prior art date
Application number
KR1020040071230A
Other languages
English (en)
Other versions
KR101058010B1 (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 KR1020040071230A priority Critical patent/KR101058010B1/ko
Priority to US11/188,787 priority patent/US8184127B2/en
Priority to CN2005100982364A priority patent/CN1747558B/zh
Priority to EP05255438A priority patent/EP1632844A3/en
Publication of KR20060022419A publication Critical patent/KR20060022419A/ko
Application granted granted Critical
Publication of KR101058010B1 publication Critical patent/KR101058010B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/641Multi-purpose receivers, e.g. for auxiliary information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명에 따라 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체가 개시된다.
본 발명에 따른 그래픽 데이터 생성 장치는, 그래픽 데이터를 구성하는 하나 이상의 그래픽 레이어들로부터 상기 그래픽 데이터에 포함되는 각 라인에 관한 정보를 추출하는 라인 정보 추출부와, 상기 그래픽 레이어들 및 상기 그래픽 데이터에 알파 블렌딩될 알파 정보를 수신하여 상기 그래픽 데이터에 포함되는 각 라인 데이터를 추출하는 라인 데이터 추출부와, 상기 추출된 라인 정보 및 라인 데이터를 합성하는 라인 정보 및 라인 데이터 합성부를 포함한다. 이와 같은 본 발명에 의하면, 다양한 출력기기를 위한 비디오 데이터, OSD 데이터, 그리고 그래픽 데이터의 전송량을 감소시켜, 버스의 점유율을 낮출 수 있으며, 전체적으로 시스템이 요구하는 전력소모를 줄여서 이동기기에 적합하게 구현할 수 있게 된다.

Description

그래픽 데이터 생성 장치, 방법 및 정보 저장 매체{Graphic data generation apparatus, method thereof and information recording medium thereof}
도 1은 종래 기술에 따른 OSD/그래픽 데이터를 설명하기 위한 참고도,
도 2는 종래 기술에 따른 영상출력장치를 포함하는 일반적인 버스 시스템의 블록도,
도 3은 도 2에 도시된 영상출력장치의 세부적인 블록도,
도 4는 도 3에 도시된 그래픽 레이어와 그래픽 데이터를 설명하기 위한 참고도,
도 5는 본 발명에 따라 복수개의 출력부를 가진 영상출력장치의 블록도,
도 6은 도 5에 도시된 그래픽 데이터 생성기의 세부적인 블록도,
도 7은 도 5에 도시된 외부 메모리에 저장되는 그래픽/제어 통합 데이터의 구조도,
도 8은 도 7에 도시된 라인정보 레이어의 데이터 구조도,
도 9는 도 7에 도시된 라인 데이터 레이어의 라인 데이터의 일 예,
도 10은 도 7에 도시된 라인 데이터 레이어의 라인 데이터의 다른 예,
도 11은 도 10에 도시된 런길이 코딩된 라인 데이터의 구체적인 예,
도 12는 본 발명에 따라 그래픽 데이터 생성기에서 그래팩/제어 통합 데이터 를 생성하는 과정은 나타내는 흐름도,도 13은 본 발명에 따라 복수개의 영상 출력부를 가진 영상 출력 장치에서 영상 출력 방법의 과정을 나타내는 흐름도.
본 발명은 영상 출력 제어 분야에 관한 것으로, 좀더 구체적으로는, 그래픽 데이터 생성 장치 및 그 방법, 런길이 코딩 장치 및 그 방법 및 정보 저장 매체에 관한 것이다.
근래 들어, 디지털 카메라나 디지털 캠코더의 보급이 확산됨에 따라 그 사용이 현저히 증대되고 있다. 디지털 카메라나 디지털 캠코더에 의해 촬영된 영상은 디지털 카메라나 디지털 캠코더의 인터페이스를 주로 담당하는 시스템 장착형 LCD 패널 뿐만 아니라 독립 영상기기인 CRT 등에도 연결되어 출력된다. 이때 촬영된 영상 데이터 뿐만 아니라 영상 데이터에 관한 정보를 제공하기 위해 영상 데이터와 함께 OSD 데이터가 합성되어 출력되며 사용자 조작을 위한 사용자 인터페이스를 위해 그래픽 데이터도 또한 합성되어 출력된다.
OSD(On Screen Display)란 사용자가 알아야하거나 필요로 하는 정보를 별도의 영상 신호 입력 없이 모니터 자체적으로 화면상에 표시하는 것을 말한다. 영상 신호 케이블을 정확하게 연결하지 않았을 경우 "연결을 확인하십시오" 등의 메시지가 표시되는 것을 비롯하여 모니터 전면의 조작 버튼을 사용해서 각종 설정 작업을 수행할 때 화면상에 나타나는 작업화면도 모두 OSD 기능을 이용한 것이다. 보통 OSD라 하면 모니터에서 제공하는 각종 설정 항목과 관계된 조작과 화면 표시를 통칭한다.
한편, 디지털 컬러 화상을 표현하는 이미지 포맷은 컬러컴퓨터 그래픽 또는 컬러 텔레비젼에 이용되는 "RGB" 포맷 이외에도 "YUV" 또는 "YIQ" 등의 각종 포맷이 있다. RGB 포맷은 컬러 화상을 R(Red), G(Green), B(Blue) 성분으로 표현하는 형식이며, YUV 포맷은 하나의 휘도 성분(luminance) Y와, 두 개의 컬러 성분(Color) U, V로 컬러 화상을 표현하는 형식이며, YIQ 포맷은 YUV 포맷과 유사한 형식이다.
도 1은 종래 기술에 따른 OSD/그래픽 데이터를 설명하기 위한 참고도이다.
도 1을 참조하면, 디지털 카메라 또는 디지털 캠코더의 인터페이스를 주로 담당하는 시스템 장착형 LCD 패널에 표시될 수 있는 출력 화면의 일 예를 보인 것으로, 맨 아래 레이어에는 비디오 데이터(110)가 표시되고, 비디오 데이터(110) 위에 재생상태(120)를 나타내는 OSD 정보, 날짜(130)를 나타내는 OSD 정보가 표시되고, 가운데에 복수의 레이어들로 구성된 그래픽 데이터로 이루어진 사용자 인터페이스 메뉴(140)가 표시된다.
이와 같은 디지털 카메라나 디지털 캠코더의 LCD 패널에 출력되는 화면이 CRT로도 전송된다면, 주로 재생 상태(120)와 날짜(130) 등을 나타내는 OSD 정보 정도가 출력되고, 사용자 인터페이스 메뉴(140)는 출력되지 않을 것이다.
종래에는 이와 같이 복수의 출력장치로 출력되는 OSD 정보나 그래픽 데이터를 별도로 메모리에 저장하고 저장된 그래픽 데이터와 OSD 정보를 모두 읽어서 별 도로 처리하여 각 출력장치로 출력하였다. 또한, 그래픽 데이터도 복수개의 그래픽 레이어들로 구성될 수 있는데, 이 복수개의 그래픽 레이어들을 모두 따로 저장하여 두고 출력시 이를 합성 처리하여 출력장치로 출력하였다.
도 2는 종래 기술에 따른 영상출력장치를 포함하는 일반적인 버스 시스템의 블록도이다.
도 2를 참조하면, 버스 시스템은 마이크로프로세서(210), 마스터(220), 포스트 프로세서(230), 메모리(240), 비디오 출력 콘트롤러(250), 디스플레이 장치(260), 시스템 버스(270)를 포함한다.
마이크로 프로세서(210)는 시스템의 정보 또는 영상의 정보를 사용자에게 알려주는 OSD(On Screen Display)를 지원하고, 다양한 사용자 인터페이스를 위해서 알파 블렌딩(alpha blending) 기능과 다양한 그래픽 레이어(Layer)를 지원하기 위해 이러한 OSD 데이터 및 그래픽 데이터를 생성하여 메모리에 저장한다. 물론, 이러한 기능들은 OSD 생성기 또는 2D 가속기와 같은 전용 하드웨어에서 생성될 수도 있다.
버스 마스터(MASTER #n)(220)는 버스 시스템을 제어할 수 있는 권한을 가진 주체가 될 수 있는 장치들로서, 카메라에서 입력되어지는 신호를 받아서 시스템의 메모리에 저장하는 입력부를 포함한다.
메모리(240)는 카메라로부터 입력되는 비디오 데이터와, 이 비디오 데이터와 합성되어 출력될 그래픽 데이터의 레이어들을 저장하고 있다.
포스트 프로세서(230)는 메모리(240)의 어떤 영역으로부터 데이터를 읽어와 서 비디오 출력 콘트롤러(250)로 출력하고, 비디오 출력 콘트롤러(250)는 포스트 프로세서(230)로부터 수신한 데이터를 각 디스플레이 장치(260)로 출력한다.
시스템 버스(270)는 이 시스템 버스에 연결된 장치들간에 데이터를 전송해주는 역할을 한다.
카메라에서 4:2:2의 샘플링된 YUV신호가 입력되어지면, 이 신호는 비디오 프로세스를 통하여 압축, 복원, 저장 또는 변형되고, 비디오 출력장치를 통하여 변형된 데이터 또는 저장된 영상데이터를 출력하게 된다. 일반적으로 비디오 출력장치는 R/G/B, Y/cb/Cr, Y/pb/Pr등의 3차원 좌표축을 가지는 컬러 좌표계로 표현되어지며, 단수 또는 복수의 출력장치가 있을 수 있고, 경우에 따라서 동시에 복수개의 영상출력장치로 출력할 수 있는 경우가 발생할 것이다.
예를 들어, 영상출력장치가 카메라에서 들어오는 SD (720x480 또는 720x576)급의 영상을 Y/Cb/Cr형태의 컬러 출력을 원하는 CRT 출력장치 및 이와 다른 해상도의 RGB 출력을 요구하는 출력장치로 구성되어 있을 경우, 컬러 공간이 다르므로 변환할 수 있는 컬러변환기(Color Converter)와 입력과 출력 해상도를 변경할 수 있는 확대/축소 변환 장치가 존재하여야 한다. 그리고, OSD 데이터와 그래픽 레이어와의 알파 블렌딩 기능도 포함되어야 한다.
알파 블렌딩의 수식은 다음과 같다.
Out(x,y) = Img(x,y) * (1-alpha(x,y)) + Grp(x,y) * (alpha)
여기서, Img(x,y)는 영상출력 제어장치로의 입력 영상을 나타내고,1-alpha(x,y)는 입력 영상에 곱해지는 알파 블렌딩 값을 나타내고, Grp(x,y)는 그래 픽 데이터를 나타내고, alpha는 그래픽 데이터에 곱해지는 알파 블렌딩 값을 나타내고, Out(x,y)는 알파 블렌딩된 출력영상을 나타낸다.
도 3은 도 2에 도시된 영상출력장치의 세부적인 블록도이다.
도 3을 참조하면, 메모리(240)와, 포스트 프로세서(230)와, NTSC 인코더(251)와, LCD 콘트롤러(252)와, CRT(261)와, LCD(262)를 포함한다.
먼저, 메모리(240)는 비디오 데이터(241)와, CRT를 위한 그래픽 데이터(242)와, CRT를 위한 알파 데이터(243)와, LCD를 위한 그래픽 데이터(244)와, LCD를 위한 알파 데이터(245)를 저장하고 있다.
비디오 데이터(241)는 카메라 등을 통해 입력되어지는 인터레이스 방식의 4:2:2 샘플링된 YCbCr신호를 가진다.
CRT를 위한 그래픽 데이터(242)와, CRT를 위한 알파 데이터(243)는 CRT로 출력되기 위한 그래픽 데이터와 알파 데이터를 나타내며, 예를 들어, 그 사이즈는 비디오 데이터의 사이즈와 동일한 720*480 이 된다. LCD를 위한 그래픽 데이터(244)와, LCD를 위한 알파 데이터(245)는 LCD로 출력되기 위한 그래픽 데이터와 알파 데이터를 나타내며, 예를 들어, 그 사이즈는 480*240이 된다. 각각의 그래픽 데이터는 일반적으로 4:4:4 샘플링 방식을 따르며, 알파값은 16레벨 또는 256레벨을 표현할 수 있는 것이 일반적인 방식이다.
포스트 프로세서(230)는 YCbCr2RGB(231), (1-알파) 블렌더(232), 알파 블렌더(233), 알파 블렌더(234), 가산기(235), RGB2YCbCr(236), 스케일러(237), 가산기(238)를 포함한다.
YCbCr2RGB(231)는 메모리(240)로부터 읽어들인 비디오 데이터(241)의 YcbCr신호를 알파 블렌딩을 위해 RGB로 변환하고, (1-알파) 블렌더(232)는 RGB 형식으로 변환된 비디오 데이터에 (1-알파)를 곱하여 알파 블렌딩을 수행한다. 알파 블렌더(233)는 메모리(240)로부터 읽어들인 그래픽 데이터(242)에 알파 데이터(243)를 곱하여 CRT를 위한 그래픽 데이터에 알파 블렌딩을 수행하고, 알파 블렌더(234)는 메모리(240)로부터 읽어들인 그래픽 데이터(244)에 알파 데이터(245)를 곱하여 LCD를 위한 그래픽 데이터에 알파 블렌딩을 수행한다. 가산기(235)는 알파 블렌딩된 비디오 데이터와 알파 블렌딩된 그래픽 데이터를 더하여 RGB2YCbCr(236)로 출력하고, RGB2YCbCr(236)는 수신된 RGB 포맷의 데이터를 YCbCr 포맷으로 변환한다. 스케일러(237)는 알파 블렌딩된 비디오 데이터를 LCD 크기에 맞도록 해상도를 변환하고, 가산기(238)는 해상도가 변환된 알파 블렌딩된 비디오 데이터와 알파 블렌딩된 그래픽 데이터를 더하여 LCD 콘트롤러(252)로 출력한다.
NTSC 인코더(251)는 RGB2YCbCr(236)로부터 수신된 데이터를 CRT(261)로 출력하고, CRT(261)는 수신된 데이터를 디스플레이한다. LCD 콘트롤러(252)는 덧셈기(238)로부터 수신된 데이터를 LCD(262)로 출력하고, LCD(262)는 수신된 데이터를 디스플레이한다.
한편, 대부분의 멀티미디어 기기들의 추세는 높은 압축률과 다양한 형태의 데이터 변형을 요구하므로 데이타 버스의 점유율은 상당히 높게 유지하고 있는 상태이다. 그리고, 이러한 멀티미디어 기기들의 휴대성이 증대되므로 시스템 내부의 연산을 줄이는 다양한 방법과 버스의 점유율을 감소시켜, 시스템의 클럭을 낮추는 경향이 강해지고 있다.
그러나, 버스상의 다수의 마스터들 중 영상출력제어장치의 버스 점유율은 다양한 형태의 데이터의 요구로 인해 상당히 높은 편에 속해 있다. 또한, 그래픽 처리에 있어서, 각 레이어를 메모리에서 읽어서 하드웨어에서 직접 레이어를 합치는 방식으로 진행되는데, 이는 또한 버스 점유율을 더 높이는 원인이 된다.
도 4는 도 3에 도시된 그래픽 레이어와 그래픽 데이터를 설명하기 위한 참고도이다. 도 4를 참조하면, CRT를 위한 그래픽 데이터 생성을 위해 메모리로부터 720*480 사이즈의 레이어 0와 레이어 1을 읽어와서 합성해야 한다. 또한, LCD를 위한 그래픽 데이터 생성을 위해 메모리로부터 480*240 사이즈의 레이어 0, 레이어 1, 레이어 2를 읽어와서 합성해야 한다. 이와 같이 메모리에는 각 그래픽 데이터를 생성하는데 필요한 레이어들이 복수개 들어있고, 포스트 프로세서(230)는 그래픽 데이터의 생성을 위해 도 3에 도시된 바와 같이 이러한 레이어들을 모두 읽어와야 한다. 따라서, 메모리(240)와 포스트 프로세서(230)간에 버스 시스템이 병목 현상이 발생한다.
즉, 이러한 종래 기술에 따른 방법은 버스의 점유율을 높임으로써, 버스에 부담을 주고 있다는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하여 하나 이상의 출력장치를 가지는 영상 출력 제어 시스템에서 데이터 전송의 감소를 유도하여 버스의 데이타 점유률을 낮출 수 있도록 하는 그래픽 데이터 생성 장치 및 방법, 런길이 코딩 장치 및 방법 및 정보 저장 매체를 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 그래픽 데이터 생성 장치에 있어서, 그래픽 데이터를 구성하는 하나 이상의 그래픽 레이어들로부터 상기 그래픽 데이터에 포함되는 각 라인에 관한 정보를 추출하는 라인 정보 추출부와, 상기 그래픽 레이어들 및 상기 그래픽 데이터에 알파 블렌딩될 알파 정보를 수신하여 상기 그래픽 데이터에 포함되는 각 라인 데이터를 추출하는 라인 데이터 추출부와, 상기 추출된 라인 정보 및 라인 데이터를 합성하는 라인 정보 및 라인 데이터 합성부를 포함하는 것이다.
상기 라인 정보는, 상기 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 데이터 존재 여부 정보, 상기 라인 데이터에 대해 런길이 코딩을 수행할지 여부를 나타내는 런길이 코딩 수행 여부 정보, 상기 라인의 각 픽셀의 컬러 정보 표시를 위해 비트맵 테이블을 사용할 지 여부를 나타내는 비트맵 사용여부 정보, 상기 라인이 이전 라인과 동일한지 여부를 나타내는 상단라인과 동일여부 정보 중 적어도 하나 이상을 포함하는 것이 바람직하다.
상기 런길이 코딩 수행여부 정보에 따라 상기 라인 데이터에 대해 런길이 코딩을 수행하는 런길이 코딩부를 더 포함하는 것이 바람직하다.
상기 라인 데이터는, 상기 라인에 포함된 각 픽셀 데이터의 컬러 정보를 나타내는 컬러 데이터, 상기 컬러 데이터에 대해 알파 블렌딩할 알파 정보, 상기 각 픽셀 데이터가 출력될 출력장치에 관한 정보를 포함하는 모드 정보 중 적어도 하나 이상을 포함하는 것이 바람직하다.
상기 런길이 코딩부는, 상기 알파 정보와 상기 모드 정보를 조합한 값을 런길이 코딩하고, 상기 컬러 데이터를 런길이 코딩하는 것이 바람직하다.
본 발명의 다른 특징은, 런길이 코딩 장치에 있어서, 하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터에 알파 블렌딩할 알파 정보와 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보의 조합을 런길이 코딩하는 제1 런길이 코딩부와, 상기 각 픽셀 데이터의 컬러 정보를 런길이 코딩하는 제2 런길이 코딩부를 포함하는 것이다.
본 발명의 또 다른 특징은 그래픽 데이터 생성 방법에 있어서, 그래픽 데이터를 구성하는 하나 이상의 그래픽 레이어들로부터 상기 그래픽 데이터에 포함되는 각 라인에 관한 정보를 추출하는 단계와, 상기 그래픽 레이어들 및 상기 그래픽 데이터에 알파 블렌딩될 알파 정보를 수신하여 상기 그래픽 데이터에 포함되는 각 라인 데이터를 추출하는 단계와, 상기 추출된 라인 정보 및 라인 데이터를 합성하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 런길이 코딩 방법에 있어서, 하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터에 알파 블렌딩할 알파 정보와 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보의 조합을 런길이 코딩하는 단계와, 상기 각 픽셀 데이터의 컬러 정보를 런길이 코딩하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 정보 저장 매체에 있어서, 하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터, 상기 그래픽 데이터에 알파 블렌딩할 알파 정보 및 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보가 섞여있는 그래픽/제어 통합 데이터가 저장되어 있는 것이다.
상기 그래픽/제어 통합 데이터는 복수개의 라인 데이터를 포함하며, 각 라인 데이터는 상기 각 픽셀 데이터에 관한 알파 정보, 상기 출력장치에 관한 정보, 및 각 픽셀 데이터의 컬러 정보를 포함하는 것이 바람직하다.
상기 컬러 정보는 비트맵 테이블 인덱스 값 또는 실제 컬러 값에 의해 나타내지는 것이 바람직하다.
상기 그래픽/제어 통합 데이터는, 상기 각 라인 데이터에 관한 정보를 담고 있는 라인정보 데이터를 더 포함하는 것이 바람직하다.
상기 라인정보 데이터는, 상기 각 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 존재 여부에 관한 정보, 각 라인 데이터를 런길이 코딩할 것인지 여부를 나타내는 런길이 코딩 수행여부에 관한 정보, 상기 픽셀 데이터의 컬러 정보를 비트맵 테이블을 사용하여 표시할 것인지를 나타내는 비트맵 사용 여부에 관한 정보, 상기 라인 데이터가 이전 라인 데이터와 동일한지 여부를 나타내는 상단라인과 동일 여부에 관한 정보 중 적어도 하나 이상을 포함하는 것이 바람직하다.
상기 각 라인 데이터에는 상기 알파 정보와 상기 출력장치에 관한 정보의 조합이 런길이 코딩되어 있고, 또한 상기 컬러 정보가 런길이 코딩되어 있는 것이 바람직하다.
이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.
도 5는 본 발명에 따라 복수개의 출력부를 가진 영상출력장치의 블록도이다.
도 5를 참조하면, 영상출력장치는 메모리(510)와, 포스트 프로세서(520)와, NTSC 인코더(530)와, CRT(540)와, LCD 콘트롤러(550)와, LCD(560), 그래픽 데이터 생성기(570)를 포함한다.
도 5에 도시된 장치의 동작을 크게 분류하면, 그래픽 데이터 생성기(570)가 그래픽/제어 통합 데이터(700)를 생성하여 메모리(510)에 저장하고, 포스트 프로세서(520)는 이 메모리(510)에 저장된 그래픽/제어 통합 데이터(700)를 읽어서 비디오 데이터와 합성하여 각 출력장치로 출력한다.
먼저, 그래픽 데이터 생성기(570)를 설명한다.
그래픽 데이터 생성기(570)는 본 발명에 따라 OSD 데이터, 그래픽 레이어들, 알파 정보, 출력 장치들에 관한 정보 등이 통합된 그래픽/제어 통합 데이터(700)를 생성하여 메모리(510)에 저장한다. 메모리(510)에는 비디오 데이터(511)와, 그래픽/제어 통합 데이터(700)가 저장되어 있다.
비디오 데이터(511)는 카메라 등을 통해 입력받아 부호화 처리 등을 통해서 저장되는 데이터이며, 사이즈는 예를 들어, 720*480이다.
그래픽/제어 통합 데이터(700)는 출력장치에 표시될 최종적인 그래픽 데이터를 이루는 그래픽 레이어들이 모두 통합되고, 여기에 알파 정보 및 그 밖에 출력장치에 관한 정보들이 포함된 데이터이다.
메모리(510)에 저장되는 그래픽/제어 통합 데이터(700)의 구조가 도 7에 도시되어 있다.
도 7을 참조하면, 그래픽/제어 통합 데이터(700)는 라인 정보 레이어(710)와 라인 데이터 레이어(720)를 포함한다. 라인 정보 레이어(710)는 압축되지 않은 데이터로서, 각 라인에 대한 정보를 담고 있다. 라인 데이터 레이어(720)는 각 라인에 들어있는 픽셀들에 대한 데이터로서 런길이 코딩 등을 통하여 압축되는 것이 바람직하다. 라인 정보 레이어(710)의 구체적인 데이터 내용이 도 8에 도시되어 있고, 라인 데이터 레이어(720)의 구체적인 내용이 도 9에 도시되어 있다. 이에 대해서는 이하에서 상세히 후술한다.
그래픽 데이터 생성기(570)의 구체적인 구성이 도 6에 도시되어 있다.
도 6을 참조하면, 그래픽 데이터 생성기(570)는 라인정보 추출부(571), 라인 데이터 추출부(572), 런길이 코딩부(573), 라인정보 및 라인 데이터 합성부(574)를 포함한다. 이와 같은 그래픽 데이터 생성기의 각 구성요소들을 소프트웨어에 의한 API를 이용하여 프로세스에 의해 구성하면, 기존 OSD 칩을 사용하는 방식에서 표현하지 못하는 다양하고 화려한 그래픽 인터페이스를 표현할 수 있다. 또한 모든 그래픽 레이어들과 OSD 정보를 한 개의 레이어에 형성하므로 기존 하드웨어에서 복수개의 레이어들이 한 개의 레이어로 병합이 되어 버스점유율의 확연한 감소가 이루어질 수 있다. 또한, 프로세스에서 이러한 데이터를 생성하는 방식은 그래픽 관련 영상의 변경 빈도가 초당 3 내지 5 프레임 정도만 되어도 충분하기 때문이다.
라인정보 추출부(571)는 그래픽 데이터에 이용될 모든 레이어들 예를 들어, 레이어 0, 레이어 1, 레이어 2에 관한 데이터를 입력받아, 이러한 레이어들이 모두 합쳐진 그래픽 데이터에 관한 라인 정보를 추출한다. OSD 데이터는 이러한 레이어 들에 포함되어 구성될 수도 있고, 별도의 레이어로 구성될 수도 있다. 도 6에서는 OSD 데이터가 레이어들에 포함된 것으로 고려한다.
합쳐진 그래픽 레이어들은 가로로 픽셀로 이루어지며, 세로로 라인으로 이루어지는데, 이때 각 라인에 대한 정보를 추출한다. 라인 정보 추출부(571)는 합쳐진 그래픽 레이어들로부터 각 라인마다 OSD 데이터가 존재하는지 여부, 런길이 코딩을 수행하는 것이 적합한지 여부, 비트맵 테이블을 사용할 것인지 여부, 상단 라인과 동일한 데이터를 가지는 라인인지 여부를 판단하고, 이에 대한 정보를 추출하여, 도 8에 도시된 바와 같은 라인 정보 레이어(710)를 생성한다.
도 8을 참조하면, 라인정보 레이어(710)는 합쳐진 그래픽 레이어들에 의해 이루어지는 데이터의 각 라인에 대한 정보를 가지고 있다. 합쳐진 그래픽 레이어들의 데이터가 N개의 라인으로 이루어진다면, N개의 라인정보를 갖게 된다. 그리고, 각 라인정보는 OSD 데이터 존재여부(711), RLE 수행여부(712), 비트맵 사용여부(713), 상단라인과 동일여부(714)를 포함한다.
OSD 데이터 존재 여부(711)는, 라인에 OSD 데이터가 존재하지 않으면 그 라인에 대한 처리를 하지 않고 다음 라인을 처리하게 하기 위한 정보이다. 런길이 코딩 수행 여부(712)는 라인에 들어있는 데이터를 판단하여 동일한 데이터가 많이 반복되어 런길이 코딩하는 것이 더 효과적일 때만 런길이 코딩을 수행하기 위한 정보이다. 비트맵 사용여부(713)는 각 픽셀 데이터를 비트맵 테이블의 인덱스로 할 것인지, 실제 컬러값을 그대로 이용할 것인지 여부를 나타낸다. 상단 라인과 동일 여부(714)는 현재 라인이 이전의 라인과 동일한 데이터로 이루어진다면 새로 메모 리로부터 디코딩시 현재 라인을 읽어들일 필요없이 이전에 읽어온 라인 데이터를 이용할 수 있게 하기 위한 정보이다.
라인 데이터 추출부(572)는 그래픽 데이터에 이용될 모든 레이어들, 레이어 0, 레이어 1, 레이어 2에 관한 데이터 및 알파 정보를 입력받아 이로부터 라인 데이터를 추출한다. 라인 데이터에는 각 라인에 들어있는 픽셀에 관한 정보가 들어간다. 각 픽셀에 관한 정보는, 픽셀 데이터 즉, 컬러 값과, 이 픽셀에 적용될 알파 값, 그리고 이 픽셀 데이터가 어느 출력장치로 출력될 것인지에 관한 정보를 포함한다. 본 발명에서는 OSD 데이터와 그래픽 레이어 데이터들을 모두 통합하여 이용하기 때문에 각 픽셀에 대해서 그 픽셀 데이터가 어느 출력장치로 전송되어야 할지를 나타내는 정보를 둔다. 예를 들어, 도 1에 도시된 바와 같은 그래픽 데이터에서 재생 상태(120)와 날짜(130), 사용자 인터페이스 메뉴(140)는 모두 LCD로 출력되어야 하지만, CRT로는 재생 상태(120)와 날짜(130)를 나타내는 OSD 정보만 출력되면 되기 때문에, 이러한 재생상태(120)와 날짜(130)를 나타내는 데이터는 CRT와 LCD 모두로 출력되게 하고, 사용자 인터페이스 메뉴(140)는 LCD로만 출력될 수 있도록 각 픽셀에 그 픽셀이 전송될 출력장치에 관한 정보를 삽입하는 것이다.
이와 같이 라인 데이터 추출부(572)에 의해 생성되는 라인 데이터(900)의 예가 도 9에 도시되어 있다.
도 9를 참조하면, 라인 데이터(900)는 알파 및 모드 정보(910)와, 구분자(920), 컬러 정보(930), 구분자(920)를 포함한다.
알파 및 모드 정보(910)는 각 픽셀에 적용될 알파 값과 각 픽셀이 출력될 출 력장치에 관한 정보 등을 포함한다. 구분자(920)는 알파 및 모드 정보(910)와 컬러 정보(930)를 구분하기 위한 식별자이다. 컬러 정보(930)는 각 픽셀에 관한 컬러를 나타내는 정보로서, 휘도 신호와 색차 신호로 이루어진다.
이와 같은 알파 및 모드 정보 그리고 컬러 정보는 각 픽셀마다 존재한다. 따라서, 도 9를 참조하면, 알파 및 모드 정보(910)는 픽셀 0에 관한 알파 및 모드 정보(911), 픽셀 1에 관한 알파 및 모드 정보(912),.. 픽셀M-1에 관한 알파 및 모드 정보(913)를 포함한다. 그리고, 만약 각 픽셀의 컬러 정보로서 비트맵 테이블을 이용하기로 하였다면, 컬러 정보(930)는 픽셀 0에 관한 비트맵 인덱스(931), 픽셀 1에 관한 비트맵 인덱스(932), ... 픽셀 M-1에 관한 비트맵 인덱스(933)를 포함한다.
각 픽셀에 대한 알파 및 모드 정보는 알파 정보(914)와, 모드 정보(915)를 포함한다.
알파 정보(914)는 각 픽셀의 투명도를 조절하기 위한 알파 값을 나타내며, 모드 정보(915)는 이 픽셀이 출력될 출력 장치에 관한 정보와 4:4:4 샘플링 여부를 나타내는 정보를 포함한다.
도 9를 참조하면, 모드 정보(915)는 LCD 출력여부(916), CRT 출력여부(917), 기타 장치 출력여부(918), 4:4:4 샘플링 여부(919)를 포함한다. 도 5에 도시된 시스템에서 보이는 바와 같이 CRT(540)와 LCD(560) 등 두 개 이상의 출력장치에 항상 동일한 데이터가 출력되는 것은 아니다. 예를 들면, 터치스크린이나 스크롤바가 포함되어 있는 장치의 경우에는 메뉴와 버튼 등의 정보가 포함되어야 하지만 다른 출력장치에는 필수적인 요소가 아니다. 따라서, 메모리에 포함되어 있는 그래픽/제어 통합 데이터에는 모든 상황을 고려한 정보가 포함되어 있지만, 실제 각 출력 장치마다 출력의 유무를 결정할 필요가 있다. 이를 위해 출력장치에 관한 정보가 모드 정보에 포함된다. 물론, 이와 같이 모드 정보에 포함되는 출력 장치에 관한 정보는 일 예일 뿐이며, 그외 다른 출력장치가 채용된다면 그에 대한 정보가 들어갈 것이다. 4:4:4 샘플링 여부(919)는, 대부분의 알파 블렌딩 작업이 4:4:4로 양자화된 화소 정보를 이용하여 처리되어, 4:2:2로 표현되는 도 5에 도시된 바와 같은 시스템에서 화질의 감소가 일어날 수 있으므로, 이러한 점을 감안하여 알파 블렌딩 처리시 4:4:4 샘플링 처리를 할 수 있게 하기 위한 것이다.
런길이 코딩부(573)는 라인 데이터 추출부(572)로부터 출력된 라인 데이터를 수신하여 각 라인마다 런길이 코딩을 수행한다. 물론, 라인 정보 추출부(571)에서 런길이 코딩을 수행하지 않기로 결정한 라인에 대해서는 그와 같은 정보에 따라 런길이 코딩을 수행하지 않고 라인 정보 및 라인 데이터 합성부(574)로 출력할 것이다.
런길이 코딩부(573)에 의해 런길이 코딩되는 일 예를 설명한다.
도 10을 참조하면, 라인 데이터(1000)는 알파 및 모드 정보(1010), 구분자(1020), 컬러 정보(1030), 구분자(1020)를 포함한다.
알파 및 모드 정보(1010)는 런길이 코딩되어 런코드 0(1011), 런코드 1(1012)...를 포함한다. 각 런코드는 런코드임을 나타내는 플래그(1013), 런의 길이를 나타내는 런카운트(1014), 런 값(1015)을 포함한다. 런값(1015)은 알파 정보 (1016)와 모드 정보(1017)를 포함한다.
컬러 정보(1030)는 런코드 0(1031), 런코드 1(1032)...를 포함한다.
각 런코드는 런코드임을 나타내는 플래그(1033), 런 카운트(1034), 런값(1035)을 포함하며, 런값(1035)은 비트맵 인덱스(1036)를 나타낸다. 이와 같이 본 발명에 따른 라인 데이터 런길이 코딩시 알파 및 모드 정보와 컬러 정보는 별도로 런길이 코딩이 되며, 또한 알파 및 모드 정보와 컬러 정보는 구분자에 의해 구분된다.
이와 같이 런길이 코딩된 라인 데이터의 구체적인 예가 도 11에 도시되어 있다.
도 11을 참조하여, 알파 및 모드 정보의 런길이 코딩 예를 살펴보면, 각 런코드의 플래그는 "255"로 나타내진다. 첫 번째 런코드는 런값이 "0"인 런이 255개 연속됨을 나타내고, 두 번째 런코드는 런값이 "34"인 런이 32개 연속됨을 나타낸다.
두 번째 런코드 이후에 나타나는 "23", "34", "33"은 런코드의 플래그인 "255"가 나타나지 않았으므로, 개별 픽셀에 대한 알파 정보와 모드 정보를 나타낸다. 그리고, 다음에 나타나는 런코드는 런값이 "0"인 런이 255개 연속됨을 나타내고, 이 런코드 이후에 나타나는 "34", "33"은 런코드의 플래그인 "255"가 나타나지 않았으므로, 개별 픽셀에 대한 알파 정보와 모드 정보를 나타낸다. 그리고, 마지막 6개의 "0" 들중 두 개의 "0"은 32 비트 단위를 맞추기 위한 것이며, 나머지 4개의 "0"은 알파 및 모드 정보와 컬러 정보를 구분하기 위한 구분자로서 역할한다.
이제, 포스트 프로세서(520)를 구체적으로 설명한다.
포스트 프로세서(520)는 라인 버퍼(519), 파서(521), 런길이 디코더(522), 알파 블렌더(523), (1-알파) 블렌더(524), 가산기(525), 알파 블렌더(526), 가산기(527), YCbCr2RGB(528), 스케일러(529)를 포함한다.
라인 버퍼(519)는 메모리(510)에 저장된 그래픽/제어 통합 데이터(700)를 라인 별로 한 라인씩 읽어와서 저장한다. 먼저 라인 버퍼(519)에는 그래픽/제어 통합 데이터(700)의 라인 정보가 들어온다.
파서(521)는 라인 버퍼(519)에 저장된 데이터를 읽어와서 각 라인별로 입력되는 런길이 인코딩된 데이터들을 각 특성별로 분리하는 역할을 한다. 먼저, 파서(521)는 라인 버퍼(519)에 저장된 라인 정보를 읽어와서 이를 해석한다. 도 8을 참조하여 설명한 바와 같이 라인 정보는 각 라인에 관한 OSD 데이터 존재여부(711), RLE 수행여부(712), 비트맵 사용여부(713), 상단라인과 동일여부(714)에 대한 정보가 포함된다.
파서(521)는 라인 정보 중에서 먼저, OSD 데이터 존재여부(711)를 해석하여 OSD 데이터가 존재하는 경우에는 이러한 라인 정보에 대응하는 라인 데이터를 메모리로부터 읽어와서 라인 버퍼(519)에 저장하도록 제어하고, OSD 데이터가 존재하지 않는 경우에는 이 라인 데이터를 읽어올 필요가 없으므로 다음 라인 정보를 해석한다. 이와 같이 OSD 데이터의 존재 여부를 나타내는 정보에 의해 전송할 데이터가 없는 라인의 전송을 제거하여 버스의 점유율을 낮출 수 있게 된다.
다음, 파서(521)는 RLE 수행여부(712)를 해석하여 런길이 코딩이 수행된 경 우에는 라인 버퍼(519)에 저장된 라인 데이터가 런길이 디코더(522)에 의해 디코드되도록 제어하고, 런길이 코딩이 수행되지 않은 경우에는 파서(521)에서 바로 라인 데이터에 들어있는 세부 데이터 즉 알파 정보와 모드 정보 그리고 컬러 정보를 추출하여 이를 알파 블렌더로 전송한다.
또한, 파서(521)는 비트맵 사용여부(713)를 해석하여 비트맵을 사용한 경우에는 라인 데이터의 컬러 정보 해석시 비트맵 테이블(도시되지 않음)의 인덱스를 찾아서 그 인덱스에 대응하는 컬러 값을 가져와서 알파 블렌딩하도록 제어한다.
또한, 파서(521)는 상단라인과 동일여부(714)를 해석하여 현재 라인이 상단 라인(바로 이전에 디코드된 라인)과 데이터가 동일한 경우에는 메모리로부터 라인 데이터를 읽어오는 것이 아니라 현재 라인 버퍼(519)에 저장된 라인 데이터를 그대로 이용한다. 따라서, 이와 같은 정보에 의해 현재 라인이 상단 라인과 동일할 경우에는 메모리로부터 라인 데이터를 읽어오지 않고 라인 버퍼에 들어있는 데이터를 그대로 이용할 수 있게 되므로 버스 점유율을 낮출 수 있다. 물론, 동일하지 않을 경우에는 메모리에 저장된 그래픽/제어 통합 데이터(700)로부터 다음 라인 데이터를 읽어와서 라인 버퍼(519)에 저장하도록 제어할 것이다.
런길이 디코더(522)는 파서(521)로부터 분리된 각 스트림들을 동시에 디코딩하여 알파 정보, 모드 정보, 컬러 정보를 추출하거나 계산한다. 그리고, 모드 정보는 도 9를 참조하여 설명한 바와 같이 픽셀이 출력될 출력 장치에 관한 정보를 갖고 있다. 이러한 모드 정보에 들어 있는 출력 장치에 관한 정보에 기초하여 알파 값과 컬러 값이 알파 블렌더(523) 또는 알파 블렌더(526)로 출력된다. 알파 블 렌더(523)는 CRT로 출력되기 위한 것이고, 알파 블렌더(526)는 LCD로 출력되기 위한 것이다. 또한, 모드 정보에는 4:4:4 샘플링 여부를 나타내는 정보도 포함될 수 있다. 이와 같은 4:4:4 샘플링 여부를 나타내는 정보가 4:4:4 샘플링을 이용하는 것으로 설정된 경우에는 알파 블렌더를 제어하여 4:4:4 샘플링을 이용하여 알파 블렌딩을 수행하게 함으로써 화질의 감소를 막을 수 있다.
알파 블렌더(523)는 런길이 디코더(522)로부터 수신된 알파 값과 컬러 값을 곱함으로써 알파 블렌딩을 수행한다.
(1-알파) 블렌더(524)는 메모리(510)로부터 읽어들인 비디오 데이터를 수신하여 이 비디오 데이터에 (1-알파)를 곱함으로써 알파 블렌딩을 수행한다.
가산기(525)는 알파 블렌더(523)로부터 수신된 알파 블렌딩된 그래픽 데이터와 (1-알파) 블렌더(524)로부터 수신된 알파 블렌딩된 비디오 데이터를 더하여 NTSC 인코더(530)로 출력한다.
알파 블렌더(526) 역시 런길이 디코더(522)로부터 수신된 알파 데이터와 그래픽 데이터를 곱함으로써 알파 블렌딩을 수행한다.
가산기(527)는 알파 블렌더(526)로부터 수신된 알파 블렌딩된 그래픽 데이터와 (1-알파) 블렌더(524)로부터 수신된 알파 블렌딩된 비디오 데이터를 더하여 YCbCr2RGB(528)로 출력한다.
YCbCr2RGB(528)는 가산기(527)로부터 수신된 데이터의 YCbCr 포맷을 RGB 포맷으로 변환하여 스케일러(529)로 출력한다.
스케일러(529)는 YCbCr2RGB(528)로부터 수신된 데이터를 출력장치인 LCD에 적합하도록 해상도를 변환하고, 변환된 데이터를 LCD 콘트롤러(550)로 출력한다.
NTSC 인코더(530)는 가산기(525)로부터 수신된 데이터를 CRT(540)로 출력하고, CRT(540)는 수신된 데이터를 디스플레이한다. LCD 콘트롤러(550)는 스케일러(529)로부터 수신된 데이터를 LCD(560)로 출력하고, LCD(560)는 수신된 데이터를 디스플레이한다.
도 12는 본 발명에 따라 그래픽 데이터 생성기에서 본 발명에 따른 그래픽/제어 통합 데이터를 생성하는 과정을 나타내는 흐름도이다.
도 12를 참조하면, 라인 정보 추출부(571)는 그래픽 데이터에 합성될 그래픽 레이어들을 수신하여 이로부터 라인 정보 추출한다(1210). 라인 정보는 앞서 설명한 바와 같이 상기 각 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 존재 여부에 관한 정보, 각 라인 데이터를 런길이 코딩할 것인지 여부를 나타내는 런길이 코딩 수행여부에 관한 정보, 상기 픽셀 데이터의 컬러 정보를 비트맵 테이블을 사용하여 표시할 것인지를 나타내는 비트맵 사용 여부에 관한 정보, 상기 라인 데이터가 이전 라인 데이터와 동일한지 여부를 나타내는 상단라인과 동일 여부에 관한 정보 중 적어도 하나 이상을 포함한다.
라인 데이터 추출부(572)는 상기 그래픽 레이어들 및 알파 정보를 수신하여 이로부터 라인 데이터 추출한다(1220). 이러한 라인 데이터는 상기 라인에 포함된 각 픽셀 데이터의 컬러 정보를 나타내는 컬러 데이터, 상기 컬러 데이터에 대해 알파 블렌딩할 알파 정보, 상기 각 픽셀 데이터가 출력될 출력장치에 관한 정보를 포함하는 모드 정보 중 적어도 하나 이상을 포함한다.
런길이 코딩부(573)는 라인정보 추출부(571)로부터 추출된 라인 정보중 런길이 코딩여부에 따라 상기 라인 데이터를 런길이 코딩한다(1230). 즉, 런길이 코딩부(573)는 런길이 코딩여부를 나타내는 정보가 어떤 라인에 대해 런길이 코딩하는 것이 더 적합하다고 나타내는 경우 상기 알파 정보 및 각 픽셀 데이터가 출력될 출력장치에 관한 정보의 조합을 런길이 코딩하고, 또한 별도로 각 픽셀 데이터의 컬러 정보를 런길이 코딩한다.
다음, 라인정보 및 라인 데이터 합성부(574)는 상기 라인 정보 및 라인 데이터를 합성한다(1240). 만약 라인 데이터가 런길이 코딩되었으면, 라인정보 및 라인 데이터 합성부(574)는 라인 정보와 런길이 코딩된 라인 데이터를 합성한다.
도 13은 본 발명에 따라 복수개의 영상 출력부를 가진 영상 출력 장치에서 영상 출력 방법의 과정을 나타내는 흐름도이다.
도 13을 참조하면, 먼저, 메모리로부터 그래픽/제어 통합 데이터의 라인 정보를 읽어와서 라인 버퍼에 저장한다(1310).
다음, 파서는 라인 버퍼에 저장된 라인 정보를 읽어온다(1320).
그리고, 파서는 각 라인에 관한 라인 정보를 해석한다(1330).
그리고, 파서에 의해 해석된 라인 정보에 기초하여 메모리로부터 라인 데이터를 읽어와서 라인 버퍼에 저장한다(1340).
또한, 파서에 의해 해석된 라인 정보에 기초하여 라인 데이터를 런길이 디코딩하고 비디오 데이터와 합성한다(1350).
또한, 해석된 라인 정보에 기초하여 합성된 데이터를 각 출력장치의 포맷에 맞도록 컬러 공간 변환하고, 스케일 변환하여 출력한다(1360).
이상 설명한 바와 같은 영상 출력 장치 제어 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 영상 출력 장치 제어 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
일반적인 멀티미디어 기기에서 영상출력제어기를 위한 데이터는 다른 모듈에 비해 상당한 부분을 차지하고 있으며, 다양한 사용자 환경을 지원하기 위해 점점 다양한 효과가 추가되고 있는 실정이다.
따라서, 이상과 같은 본 발명에 따르면, 다양한 출력기기를 위한 비디오 데이터, OSD 데이터, 그리고 그래픽 데이터의 전송량을 감소시켜, 버스의 점유율을 낮출 수 있으며, 전체적으로 시스템이 요구하는 전력소모를 줄여서 이동기기에 적합하게 구현할 수 있게 된다.

Claims (19)

  1. 그래픽 데이터 생성 장치에 있어서,
    그래픽 데이터를 구성하는 하나 이상의 그래픽 레이어들로부터 상기 그래픽 데이터에 포함되는 각 라인에 관한 정보를 추출하는 라인 정보 추출부와,
    상기 그래픽 레이어들 및 상기 그래픽 데이터에 알파 블렌딩될 알파 정보를 수신하여 상기 그래픽 데이터에 포함되는 각 라인 데이터를 추출하는 라인 데이터 추출부와,
    상기 추출된 라인 정보 및 라인 데이터를 합성하는 라인 정보 및 라인 데이터 합성부를 포함하는 것을 특징으로 하는 그래픽 데이터 생성 장치.
  2. 제1항에 있어서,
    상기 라인 정보는,
    상기 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 데이터 존재 여부 정보, 상기 라인 데이터에 대해 런길이 코딩을 수행할지 여부를 나타내는 런길이 코딩 수행 여부 정보, 상기 라인의 각 픽셀의 컬러 정보 표시를 위해 비트맵 테이블을 사용할 지 여부를 나타내는 비트맵 사용여부 정보, 상기 라인이 이전 라인과 동일한지 여부를 나타내는 상단라인과 동일여부 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 그래픽 데이터 생성 장치.
  3. 제3항에 있어서,
    상기 런길이 코딩 수행여부 정보에 따라 상기 라인 데이터에 대해 런길이 코딩을 수행하는 런길이 코딩부를 더 포함하는 것을 특징으로 하는 그래픽 데이터 생성 장치.
  4. 제3항에 있어서,
    상기 라인 데이터는,
    상기 라인에 포함된 각 픽셀 데이터의 컬러 정보를 나타내는 컬러 데이터, 상기 컬러 데이터에 대해 알파 블렌딩할 알파 정보, 상기 각 픽셀 데이터가 출력될 출력장치에 관한 정보를 포함하는 모드 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 그래픽 데이터 생성 장치.
  5. 제4항에 있어서,
    상기 런길이 코딩부는,
    상기 알파 정보와 상기 모드 정보를 조합한 값을 런길이 코딩하고, 상기 컬러 데이터를 런길이 코딩하는 것을 특징으로 하는 그래픽 데이터 생성 장치.
  6. 런길이 코딩 장치에 있어서,
    하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터에 알파 블렌딩할 알파 정보와 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보의 조합을 런길이 코딩하는 제1 런길이 코딩부와,
    상기 각 픽셀 데이터의 컬러 정보를 런길이 코딩하는 제2 런길이 코딩부를 포함하는 것을 특징으로 하는 런길이 코딩 장치.
  7. 그래픽 데이터 생성 방법에 있어서,
    그래픽 데이터를 구성하는 하나 이상의 그래픽 레이어들로부터 상기 그래픽 데이터에 포함되는 각 라인에 관한 정보를 추출하는 단계와,
    상기 그래픽 레이어들 및 상기 그래픽 데이터에 알파 블렌딩될 알파 정보를 수신하여 상기 그래픽 데이터에 포함되는 각 라인 데이터를 추출하는 단계와,
    상기 추출된 라인 정보 및 라인 데이터를 합성하는 단계를 포함하는 것을 특징으로 하는 그래픽 데이터 생성 방법.
  8. 제7항에 있어서,
    상기 라인 정보는,
    상기 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 데이터 존재 여부 정보, 상기 라인 데이터에 대해 런길이 코딩을 수행할지 여부를 나타내는 런길이 코딩 수행 여부 정보, 상기 라인의 각 픽셀의 컬러 정보 표시를 위해 비트맵 테이블을 사용할 지 여부를 나타내는 비트맵 사용여부 정보, 상기 라인이 이전 라인과 동일한지 여부를 나타내는 상단라인과 동일여부 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 그래픽 데이터 생성 방법.
  9. 제8항에 있어서,
    상기 런길이 코딩 수행여부 정보에 따라 상기 라인 데이터에 대해 런길이 코딩을 수행하는 단계를 더 포함하는 것을 특징으로 하는 그래픽 데이터 생성 방법.
  10. 제9항에 있어서,
    상기 라인 데이터는,
    상기 라인에 포함된 각 픽셀 데이터의 컬러 정보를 나타내는 컬러 데이터, 상기 컬러 데이터에 대해 알파 블렌딩할 알파 정보, 상기 각 픽셀 데이터가 출력될 출력장치에 관한 정보를 포함하는 모드 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 그래픽 데이터 생성 방법.
  11. 제10항에 있어서,
    상기 알파 정보와 상기 모드 정보를 조합한 값을 런길이 코딩하고, 상기 컬러 데이터를 런길이 코딩하는 단계를 더 포함하는 것을 특징으로 하는 그래픽 데이터 생성 방법.
  12. 런길이 코딩 방법에 있어서,
    하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터에 알파 블렌딩할 알파 정보와 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보의 조합을 런길이 코딩하는 단계와,
    상기 각 픽셀 데이터의 컬러 정보를 런길이 코딩하는 단계를 포함하는 것을 특징으로 하는 런길이 코딩 방법.
  13. 정보 저장 매체에 있어서,
    하나 이상의 그래픽 레이어들이 합성된 그래픽 데이터, 상기 그래픽 데이터에 알파 블렌딩할 알파 정보 및 상기 그래픽 데이터에 포함된 각 픽셀 데이터가 출력될 출력장치에 관한 정보가 섞여있는 그래픽/제어 통합 데이터가 저장되어 있는 것을 특징으로 하는 정보 저장 매체.
  14. 제13항에 있어서,
    상기 그래픽/제어 통합 데이터는 복수개의 라인 데이터를 포함하며,
    각 라인 데이터는 상기 각 픽셀 데이터에 관한 알파 정보, 상기 출력장치에 관한 정보, 및 각 픽셀 데이터의 컬러 정보를 포함하는 것을 특징으로 하는 정보 저장 매체.
  15. 제14항에 있어서,
    상기 컬러 정보는 비트맵 테이블 인덱스 값 또는 실제 컬러 값에 의해 나타내지는 것을 특징으로 하는 정보 저장 매체.
  16. 제14항에 있어서,
    상기 그래픽/제어 통합 데이터는,
    상기 각 라인 데이터에 관한 정보를 담고 있는 라인정보 데이터를 더 포함하는 것을 특징으로 하는 정보 저장 매체.
  17. 제16항에 있어서,
    상기 라인정보 데이터는,
    상기 각 라인에 OSD 데이터가 존재하는지 여부를 나타내는 OSD 존재 여부에 관한 정보, 각 라인 데이터를 런길이 코딩할 것인지 여부를 나타내는 런길이 코딩 수행여부에 관한 정보, 상기 픽셀 데이터의 컬러 정보를 비트맵 테이블을 사용하여 표시할 것인지를 나타내는 비트맵 사용 여부에 관한 정보, 상기 라인 데이터가 이전 라인 데이터와 동일한지 여부를 나타내는 상단라인과 동일 여부에 관한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 정보 저장 매체.
  18. 제14항에 있어서,
    상기 각 라인 데이터에는 상기 알파 정보와 상기 출력장치에 관한 정보의 조합이 런길이 코딩되어 있는 것을 특징으로 하는 정보 저장 매체.
  19. 제14항에 있어서,
    각 라인 데이터에는 상기 컬러 정보가 런길이 코딩되어 있는 것을 특징으로 하는 정보 저장 매체.
KR1020040071230A 2004-09-07 2004-09-07 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체 KR101058010B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040071230A KR101058010B1 (ko) 2004-09-07 2004-09-07 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체
US11/188,787 US8184127B2 (en) 2004-09-07 2005-07-26 Apparatus for and method of generating graphic data, and information recording medium
CN2005100982364A CN1747558B (zh) 2004-09-07 2005-09-01 用于产生图形数据的设备和方法
EP05255438A EP1632844A3 (en) 2004-09-07 2005-09-06 Apparatus for and method of generating graphic data, and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040071230A KR101058010B1 (ko) 2004-09-07 2004-09-07 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체

Publications (2)

Publication Number Publication Date
KR20060022419A true KR20060022419A (ko) 2006-03-10
KR101058010B1 KR101058010B1 (ko) 2011-08-19

Family

ID=36166854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040071230A KR101058010B1 (ko) 2004-09-07 2004-09-07 그래픽 데이터 생성 장치, 방법 및 정보 저장 매체

Country Status (4)

Country Link
US (1) US8184127B2 (ko)
EP (1) EP1632844A3 (ko)
KR (1) KR101058010B1 (ko)
CN (1) CN1747558B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016047912A1 (en) * 2014-09-25 2016-03-31 Samsung Electronics Co., Ltd. Display apparatus, method of controlling the same, and data transmitting method of display apparatus

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080045516A (ko) * 2006-11-20 2008-05-23 삼성전자주식회사 Rgb 영상의 부호화 및 복호화 방법과 그 장치
US8127233B2 (en) * 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8421921B1 (en) * 2009-07-31 2013-04-16 Pixelworks, Inc. Post processing displays with on-screen displays
KR20110110433A (ko) * 2010-04-01 2011-10-07 삼성전자주식회사 영상 표시 장치 및 영상 표시 방법
KR20120020477A (ko) * 2010-08-30 2012-03-08 삼성전자주식회사 입체영상표시장치 및 그 구동 방법
KR20120089980A (ko) * 2011-01-12 2012-08-16 엘지전자 주식회사 복수개의 그래픽 데이터 처리가 가능한 오퍼레이팅 시스템을 탑재하고 있는 멀티미디어 디바이스 및 그 제어 방법
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
CN103974006A (zh) * 2013-01-29 2014-08-06 北京哲朗科技有限公司 高性能osd设计
US9654777B2 (en) * 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
DE102014113957A1 (de) * 2014-09-26 2016-03-31 Connaught Electronics Ltd. Verfahren zum Konvertieren eines Bilds, Fahrerassistenzsystem und Kraftfahrzeug
CN105959724B (zh) * 2016-05-24 2020-08-25 腾讯科技(深圳)有限公司 一种视频数据处理方法以及装置
CN113593500B (zh) * 2016-05-27 2024-02-13 杜比实验室特许公司 图形数据融合方法、数据映射方法、以及设备
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
CN114785975A (zh) * 2022-04-27 2022-07-22 珠海鸿芯科技有限公司 视频osd显示方法、计算机装置及计算机可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9314717D0 (en) 1993-07-15 1993-08-25 Philips Electronics Uk Ltd Image processing
JP3918033B2 (ja) * 1994-12-14 2007-05-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サブタイトル送信システム
KR100244227B1 (ko) * 1997-12-01 2000-02-01 구자홍 에이치디티브이의 디스플레이용 영상 처리장치
US6593937B2 (en) 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US7091968B1 (en) * 1998-07-23 2006-08-15 Sedna Patent Services, Llc Method and apparatus for encoding a user interface
AUPQ251999A0 (en) * 1999-08-27 1999-09-23 Canon Kabushiki Kaisha Run-based compositing
AU746985B2 (en) 1999-08-27 2002-05-09 Canon Kabushiki Kaisha Run-based compositing
US6538656B1 (en) * 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
JP3526019B2 (ja) 1999-11-30 2004-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像表示システム、画像表示装置、および画像表示方法
ATE339851T1 (de) * 2000-10-19 2006-10-15 Sanyo Electric Co Bilddatenausgabevorrichtung und empfangsvorrichtung
KR100657276B1 (ko) 2004-08-30 2006-12-14 삼성전자주식회사 영상 출력 제어 장치 및 영상 출력 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016047912A1 (en) * 2014-09-25 2016-03-31 Samsung Electronics Co., Ltd. Display apparatus, method of controlling the same, and data transmitting method of display apparatus
US9646527B2 (en) 2014-09-25 2017-05-09 Samsung Electronics Co., Ltd. Display apparatus, method of controlling the same, and data transmitting method of display apparatus

Also Published As

Publication number Publication date
CN1747558B (zh) 2010-06-16
EP1632844A2 (en) 2006-03-08
EP1632844A3 (en) 2010-07-28
US8184127B2 (en) 2012-05-22
CN1747558A (zh) 2006-03-15
KR101058010B1 (ko) 2011-08-19
US20060050076A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
US8184127B2 (en) Apparatus for and method of generating graphic data, and information recording medium
US7554563B2 (en) Video display control apparatus and video display control method
US8428346B2 (en) Strategies for processing image information using a color information data structure
KR100351816B1 (ko) 포맷 변환 장치
US20020101536A1 (en) Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US5784050A (en) System and method for converting video data between the RGB and YUV color spaces
JP3409734B2 (ja) 画像合成システム及び方法
US6525742B2 (en) Video data processing device and video data display device having a CPU which selectively controls each of first and second scaling units
US7414632B1 (en) Multi-pass 4:2:0 subpicture blending
US7103226B1 (en) Video processor with composite graphics and video picture elements
KR20100098948A (ko) 이미지 프로세서, 이를 포함하는 전자 장치, 및 이미지 처리 방법
US8194188B2 (en) Displaying image frames in combination with a subpicture frame
US7400333B1 (en) Video display system with two controllers each able to scale and blend RGB and YUV surfaces
US7663646B2 (en) Device, system and method for realizing on screen display
JP5394447B2 (ja) カラー情報データ構造体を使用するイメージ情報の処理の戦略
JP3171243B2 (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: 20140730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 7