KR101717783B1 - 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법 - Google Patents

복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법 Download PDF

Info

Publication number
KR101717783B1
KR101717783B1 KR1020100008506A KR20100008506A KR101717783B1 KR 101717783 B1 KR101717783 B1 KR 101717783B1 KR 1020100008506 A KR1020100008506 A KR 1020100008506A KR 20100008506 A KR20100008506 A KR 20100008506A KR 101717783 B1 KR101717783 B1 KR 101717783B1
Authority
KR
South Korea
Prior art keywords
graphic
application
graphic drawing
preliminary
applications
Prior art date
Application number
KR1020100008506A
Other languages
English (en)
Other versions
KR20110088815A (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 KR1020100008506A priority Critical patent/KR101717783B1/ko
Publication of KR20110088815A publication Critical patent/KR20110088815A/ko
Application granted granted Critical
Publication of KR101717783B1 publication Critical patent/KR101717783B1/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
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

본 발명은 인터랙티브 디지털 TV 표준인 MHP(Multimedia Home Platform) 기반의 데이터 방송 규격에서 다수의 어플리케이션이 화면에 공존할 때, 화면상의 어플리케이션이 표시된 레이어들 간의 중첩 순서(z-ordering)를 제어하는 방법에 관한 것이다.
본 발명에서 디지털 방송 수신 장치의 미들웨어는 중첩 제어를 위해 어플리케이션 별로 레이어를 구성한다. 어플리케이션이 드로잉 연산을 호출하면 레이어 별로 메시지 큐에 드로잉 연산을 저장한다. 메시지 큐에 저장된 드로잉 연산과 레이어 순서를 기반으로 연산을 수행하여 그래픽 메모리에 저장한다. 그래픽 메모리에 저장된 그래픽이 출력되는 시점에, 레이어의 순서에 따라 큐에 저장된 연산들의 순서를 조정 수행함으로써 중첩 순서을 보장한다.

Description

복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법{A METHOD FOR CONTROLLING Z-ORDER OF A PLURALITY OF GRAPHIC IMAGE LAYERS}
본 발명은 복수의 어플리케이션이 실행되었을 때, 어플리케이션을 나타내는 그래픽 이미지 레이어 간의 중첩 순서를 제어하는 방법에 관한 것이다.
보다 구체적으로, 본 발명은 인터랙티브 디지털 TV 표준인 MHP(Multimedia Home Platform) 기반의 데이터 방송 규격에서 다수의 어플리케이션이 화면에 공존할 때, 화면상의 어플리케이션이 표시된 레이어들 간의 중첩 순서(z-ordering)를 제어하는 방법에 관한 것이다.
본 발명에서 디지털 방송 수신 장치의 미들웨어는 중첩 제어를 위해 어플리케이션 별로 레이어를 구성한다. 어플리케이션이 드로잉 연산을 호출하면 레이어 별로 메시지 큐에 드로잉 연산을 저장한다. 메시지 큐에 저장된 드로잉 연산과 레이어 순서를 기반으로 연산을 수행하여 그래픽 메모리에 저장한다. 그래픽 메모리에 저장된 그래픽이 출력되는 시점에, 레이어의 순서에 따라 큐에 저장된 연산들 수행들을 수행함으로써 중첩 순서를 보장한다.
최근의 디지털 방송 시스템에서는 비디오 신호, 오디오 신호의 전송 뿐만 아니라, 데이터 방송을 통해 다양한 서비스들을 제공할 수 있다. 이들 다양한 서비스들에는 인터랙티브 서비스가 가능하다. 이러한 인터랙티브 서비스를 제공하기 위해, 유럽에서는 DVB-MHP를 기반으로 한 서비스가 제공되고 있다. DVB-MHP는 자바(JAVA®)를 기반으로 한 어플리케이션들을 제공한다.
자바에서 사용되는 컴포넌트는 물리적인 그래픽를 가지고 있는지 여부에 따라 컴포넌트와 컴포넌트로 2가지로 나누어 진다. 컴포넌트에는 대표적으로 윈도우가 있으며, 윈도우별로 독립된 그래픽 메모리가 할당되기 때문에 윈도우간에는 그래픽 연산이 보장된다.
컴포넌트는 윈도우에 추가되는 컨테이너(Container), 버튼 등 일반적인 위젯들로써 컴포넌트인 윈도우의 그래픽 메모리를 같이 사용하게 된다.
MHP규격에서는 자바의 PBP(Personal Basis Profile)를 사용하는데, PBP는 단일 인스턴스의 윈도우만을 허용한다. 즉, 하나의 그래픽 메모리만이 존재하고 여러 개의 어플리케이션은 컴포넌트인 HScene을 윈도우에 추가되어 화면에 디스플레이되고, 그래픽 메모리를 공유하는 것이다.
이러한 단일 그래픽 메모리환경인 PBP에서는 콜백 함수의 형태로 윈도우가 페인트될 때, 그 윈도우에 추가된 순서의 역순에 따라 컴포넌트의 paint()를 콜백으로 호출함으로써 어플리케이션의 드로잉을 처리하게 되고, 이를 통해 중첩 순서(z-ordering)를 보장하는 방식을 사용하고 있다.
도 1을 참조하면, 윈도우(10)에 제1 어플리케이션(11)이 최초로 추가되고, 그 다음 제2 어플리케이션(12) 및 제3 어플리케이션(13)이 추가되었다. 그리고 그래픽 메모리(14)에 드로잉 할 때는 페인트 메쏘드가 그 역순인 3->2->1 순서로 호출이 되어 중첩 순서가 보장 된다.
그러나 PBP에서는 콜백에 기반한 페인트 메커니즘외에 추가로 어플리케이션의 다이렉트 페인트도 지원한다. 어플리케이션은 getGraphics() 를 통해 그래픽을 드로잉하기 위해 필요한 그래픽 메쏘드들을 제공하는 그래픽 콘텍스트(graphics context)(15)를 얻어올 수 있고, 이 그래픽 콘텍스트(15)를 통해 언제든지 그래픽 메모리에 직접 드로잉 연산을 할 수 있다.
이러한 다이렉트 페인트의 지원은 즉각적인(on-time) 드로잉을 통해 화면 반응 속도를 향상에 장점이 있고, 게임이나 노래방 가사 재생과 같은 어플리케이션에서 사용되고 있다. 그러나 이러한 다이렉트 페인팅 방법은 단일 그래픽 기반인 PBP에서 어플리케이션간의 중첩 순서를 깨는 문제점을 야기한다.
도 2를 참조하면, A와 같이 그래픽 메모리에 제1,2,3 어플리케이션이 드로잉되어 있는 상태에서, 제3 어플리케이션으로부터 드로잉 요청이 호출되면, 제3 어플리케이션의 업데이트(16)가 A에 추가된다. 그러면, C와 같이 제3 어플리케이션의 업데이트(16)가 우선하는 제1,2 어플리케이션(11,12)을 덮어버리게 된다. 즉, 어플리케이션이 추가된 순서의 역순으로 페인트된 상태에서 하위의 어플리케이션이 다이렉트 페인트를 통해 그래픽 메모리에 직접 그리게 되면, 중첩 순서에 관계없이 화면이 덮어지게 되고, 결과적으로 의도치 않게 다른 어플리케이션의 페인트 영역이 사라지게 되는 문제가 발생된다.
종래에는 이러한 겹침 문제를 버퍼링된 이미지(가상 그래픽 메모리)를 이용하여 해결하였다. 즉, 필요한 개수만큼 버퍼링된 이미지를 생성하여 가상 레이어를 구성한다. 어플리케이션은 각각 독립된 레이어에 속하게 되고, 어플리케이션의 페인트는 그 어플리케이션이 속하는 레이어에 대응되는 버퍼링된 이미지에 1차로 드로잉이 된다. 그리고 실제 그래픽 메모리에는 각 레이어별 순서대로 버퍼링된 이미지를 통합(merge)함으로써 레이어간의 중첩 순서를 보장할 수 있다.
다이렉트 페인트의 경우도 어플리케이션이 getGraphics() 함수를 통해 그래픽 콘텍스트를 요청할 때, 실제 그래픽 메모리의 콘텍스트가 아닌 버퍼링된 이미지의 콘텍스트를 리턴하게 되면 다이렉트 페인트의 모든 드로잉연산이 버퍼링된 이미지에 그려진다.
결국 레이어별 버퍼링된 이미지의 통합을 통해 다이렉트 페인트를 포함, 모든 어플리케이션의 중첩 순서가 보장되게 된다.
그러나, 이 방법에도 메모리와 속도 측면에 단점이 존재한다. 이 방법을 사용할 경우 레이어 개수 * OSD 크기 * 컬러 비트수 만큼의 추가 메모리가 필요하다.
960*540의 해상도에 32 비트를 사용하는 IPTV의 경우 레이어당 약 2MB의 추가 메모리가 필요하며, 최종 그래픽 메모리에 반영할 때, 버퍼링된 이미지를 통합하는 과정에서 다량의 비트 카피 연산이 수행되어, 성능에 저하를 가져온다.
본 발명의 목적은 위와 같은 문제점을 해결하기 위한 것으로서, MHP 기반의 DATA 방송 규격에서 다수의 어플리케이션이 화면에 공존할 때, 화면상의 어플리케이션 레이어의 중첩순서를 효과적으로 제어하는 방법을 제공하는 것이다.
본 발명의 일 실시예에 따라, 디지털 방송 수신 장치에서 복수의 어플리케이션들에 대한 그래픽 이미지를 처리하는 방법이 제공된다. 상기 방법은, 복수의 어플리케이션들을 실행하는 단계; 한 어플리케이션으로부터의 그래픽 드로잉 기능 호출을 검출하는 단계; 상기 호출된 그래픽 드로잉의 예비 연산 결과를 저장하는 단계; 상기 그래픽 드로잉의 예비 연산 결과와 상기 어플리케이션들의 레이어 순서 정보를 기반으로 출력용 드로잉 연산을 수행하는 단계; 및 상기 출력용 드로잉 연산 결과를 그래픽 메모리에 저장하는 단계를 포함한다.
본 발명의 다른 실시예에 따라, 디지털 방송 수신 장치가 제공된다. 상기 디지털 방송 수신 장치는, 복수의 어플리케이션들에 대한 그래픽 이미지를 처리하기 위한 프로세서; 및 상기 프로세서를 동작시키기 위한 코드 집합들을 포함하는 저장 매체를 포함한다. 상기 저장 매체는, 상기 디지털 방송 수신 장치의 프로세서가, 복수의 어플리케이션들을 실행하도록 하기 위한 제1 코드 집합; 상기 프로세서가 한 어플리케이션으로부터의 그래픽 드로잉 기능 호출을 검출하도록 하는 제2 코드 집합; 상기 프로세서가 상기 호출된 그래픽 드로잉의 예비 연산 결과를 저장하도록 하는 제3 코드 집합; 상기 프로세서가 상기 그래픽 드로잉의 예비 연산 결과와 상기 어플리케이션들의 레이어 순서 정보를 기반으로 출력용 드로잉 연산을 수행하도록 하는 제4 코드 집합; 및 상기 프로세서가 상기 출력용 드로잉 연산 결과를 그래픽 메모리에 저장하는 단계를 포함하도록 하는 제5 코드 집합을 포함한다.
본 발명에 따르면, 메시지 큐를 사용하므로 추가적인 메모리를 사용할 필요가 없으며, 레이어 통합에 따른 비트 카피 연산시에 발생하는 오버헤드도 제거할 수 있다.
도 1은 종래 기술에 따른 페인팅 메쏘드를 역순으로 호출함으로써 그래픽 이미지를 표시하는 방법을 나타낸다.
도 2는 종래 기술에 따른 문제점을 나타낸다.
도 3은 종래 기술에 따라, 어플리케이션 별로 별도의 가상 레이어를 생성하고, 상기 가상 레이어에 버퍼링된 이미지를 생성함으로써 레이어 중첩 순서를 제어하는 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따라,
이하 도면을 참조하여 본 발명을 보다 상세히 설명한다.
본 발명에서 디지털 방송 수신 장치의 미들웨어는 중첩 제어를 위해 어플리케이션 별로 레이어를 구성한다. 어플리케이션이 드로잉 연산을 호출하면 레이어 별로 메시지 큐에 드로잉 연산을 저장한다. 메시지 큐에 저장된 드로잉 연산과 레이어 순서를 기반으로 연산을 수행하여 그래픽 메모리에 저장한다. 그래픽 메모리에 저장된 그래픽이 출력되는 시점에, 레이어의 순서에 따라 큐에 저장된 연산들 수행들을 수행함으로써 중첩 순서를 보장한다.
본 명세서에서 설명되는 이하의 동작은 디지털 방송 수신 장치에서, 운영체제와 어플리케이션 간의 인터페이스를 제공하는 미들웨어 또는 가상 머신(virtual machine)에 의해 수행될 수 있다. 어플리케이션들은 JAVA 기반의 어플리케이션들이고, 미들웨어 또는 가상 머신도 JAVA 기반의 어플리케이션들에 대해 동작할 수 있도록 구현될 수 있다.
또한, 이하에서는 실시예로서, DVB-MHP 기반의 디지털 방송 수신 장치를 예로 들어 설명하지만, 이에 한정되지 않고, 임의의 영상 처리 장치에 적용될 수 있다.
도 4를 참조하면, 디지털 방송 수신 장치에서, 예컨대, 3개의 어플리케이션, 제1,2,3 어플리케이션이 실행된다고 가정한다.
먼저, 제1 어플리케이션이 실행되면 제1 어플리케이션은 제1 그래픽 이미지를 드로잉하기 위해 제1 드로잉 연산을 요청하게 된다. 제1 드로잉 연산 결과(31)는 즉시 실행되어 출력되지 않고, 큐에 있는 제1 어플리케이션의 가상 레이어(36)에 저장된다.
후술하는 바와 같이, 어플리케이션이 드로잉 연산을 요청하면, 디지털 방송 수신 장치에서 실행 중인 미들웨어는 드로잉 연산을 위한 메쏘드를 제공하는 클래스의 인스턴스를 생성하여 어플리케이션으로 전달하고, 어플리케이션은 그 인스턴스를 사용하여 드로잉 연산을 수행하게 된다. 드로잉 연산 결과는 상기 인스턴스에 반영된다. DVB-MHP 표준 기반의 디지털 방송 수신 장치에서, 상기 드로잉 연산을 위한 메쏘드를 제공하는 클래스는 Graphics Context 클래스일 수 있다.
또한, 큐는 디지털 방송 수신 장치의 그래픽 메모리(또는 비디오 메모리)가 아닌 일반 연산 메모리에 구현될 수 있다.
그리고 나서, 제2 어플리케이션의 제2 드로잉 연산이 요청되고, 제2 드로잉 연산 결과(32)는 큐에 있는 제2 어플리케이션의 가상 레이어(37)에 저장된다.
제3 어플리케이션의 제3 드로잉 연산이 요청되고, 제3 드로잉 연산 결과(33)는 큐에 있는 제3 어플리케이션의 가상 레이어(38)에 저장된다.
그리고 나서, 제3 어플리케이션의 제4 드로잉 연산이 요청되고, 제4 드로잉 연산 결과(34)는 큐에 있는 제3 어플리케이션의 가상 레이어(38)에 저장된다.
그래픽 이미지를 출력하라는 명령이 수신되면, 미들웨어는 그래픽 메모리(35)에 위 전체 드로잉 연산 결과들과, 제1,2,3 어플리케이션의 레이어의 중첩 순서를 기반으로 최종 드로잉 연산을 수행한다. 그리고 나서, 그 최종 드로잉 연산 결과를 그래픽 메모리(35)에 저장한다. 그래픽 메모리(35)에 저장된 그래픽은 그대로 출력된다.
일 실시예에서, 더블 버퍼링을 사용하는 그래픽 처리 방법에서는, 상기 그래픽 이미지를 출력하라는 명령은 어플리케이션에 의한 버퍼 스위칭 요청일 수 있다. 미들웨어에서는 위 버퍼 스위칭 요청을 검출하면, 최종 드로잉 연산을 하여 백 버퍼에 그래픽 이미지를 기록하고, 그리고 나서, 버퍼 스위칭을 수행하게 된다.
최종 드로잉 연산 시에 레이어의 중첩 순서가 반영되어 있으므로, 레이어 간의 중첩 순서(z-ordering)은 그대로 유지된다. 즉, 제1 어플리케이션-제2 어플리케이션-제3 어플리케이션의 중첩 순서가 그대로 유지된다.
최종 드로잉 연산 시에 레이어 간의 중첩 순서 정보는 디지털 방송 수신 장치의 운영체제에 의해 제공될 수도 있고, 미들웨어가 제공할 수도 있으며, 어플리케이션에 의해 제공될 수도 있다.
도 4에서, 3개의 레이어에 어플리케이션들이 존재하고, 각 어플리케이션에서 드로잉 연산을 op-1, op-2, op-3, op-4 순서로 호출하였다.
큐에 가상 레이어들이 구성되어 있으므로, 큐가 푸쉬(queue push) 되고, 추후 실제 그래픽 메모리에 기록하는 시점에 레이어순서에 따라 큐에 있는 연산을 수행하게 된다. 따라서, 실제 연산은 op-1, op-4, op-2, op-3으로 실행되어 레이어 간의 중첩 순서이 유지할 수 있게 되는 것이다.
도 5를 참조하여, 디지털 방송 수신 장치의 미들웨어 모듈과 어플리케이션에서 수행되는 그래픽 이미지 처리 방법을 보다 상세하게 설명한다.
복수의 어플리케이션이 실행되어 있는 상태에서, 어플리케이션 중 하나가 드로잉 연산을 요청하면, 미들웨어 모듈에서는 드로잉 연산을 수행하기 위한 드로잉 메쏘드를 전달한다. 어플리케이션은 이 드로잉 메쏘드를 사용하여 드로잉 연산을 수행할 수 있다. DVB-MHP 기반의 디지털 방송 수신 장치에서, 드로잉 메쏘드는 Graphics Context 클래스에 의해 구현될 수 있다. 미들웨어 모듈은 Graphics Context 클래스의 인스턴스를 생성하여 어플리케이션으로 전달한다.
어플리케이션에서는 수신한 인스턴스를 사용하여 예비 드로잉 연산을 수행한다. 즉, 인스턴스에 드로잉 연산 결과를 반영하고, 그 인스턴스를 미들웨어 모듈로 전달한다.
미들웨어 모듈은 각 어플리케이션들에 대한 중첩 순서와 수신한 드로잉 연산 결과를 기반으로 그래픽 메모리에 저장할 최종 드로잉 연산을 수행한다. 수행된 최종 드로잉 연산 결과에는 어플리케이션의 그래픽 레이어 간의 중첩 순서가 유지되어 있다. 그리고 나서, 드로잉 연산 결과를 그래픽 메모리에 저장한다. 그래픽 메모리에 저장된 그래픽 이미지 정보를 기반으로 화면이 출력된다.
위와 같은 과정은 플리킹, 테어링(tearing) 등의 현상을 줄이기 위해 더블 버퍼링(Double Buffering)을 사용하는 경우에도 적용될 수 있다.
도 6은 본 발명의 일 실시예에 따라, 그래픽 이미지 처리 방법을 DVB-MHP 기반의 디지털 방송 수신 장치에서 더블 버퍼링을 사용하여 구현하는 실시예를 나타낸다.
복수의 어플리케이션들이 실행된 상태에서, 어플리케이션 중 하나가 DVB-MHP의 getGraphics() 함수를 통해 Graphics Context를 요청한다.
미들웨어 모듈에서는 어플리케이션의 중첩 순서를 기반으로 큐를 구현한 클래스의 인스턴스를 어플리케이션으로 전달한다. 이 때, 큐를 구현한 클래스 인스턴스는 후술하는 바와 같이 Graphics Context의 객체 중 하나로 구현할 수 있다. 보다 구체적으로는 DVB-MHP의 Graphics Context 객체인 DVBGraphics를 상속받은 클래스를 사용할 수 있다. 이 클래스를 QueueGraphics라 하기로 한다. 즉, 미들웨어 모듈에서는 어플리케이션의 중첩순서를 기반으로 한 QueueGrahics 인스턴스를 어플리케이션으로 전달할 수 있다.
아래는 본 발명의 일 실시예에 따른 QueueGraphics 클래스를 구현한 소스 코드의 일 예를 나타낸다.
***************************************************************
package org.havi.ui
public class QueueGraphics extends DVBGraphics
public void execute(Graphics g)
public void clear()
public void draw3DRect(int, int, int, int, boolean)
public void drawArc(int, int, int, int, int, int)
public voiddrawBytes(byte[], int, int, int, int)
**************************************************************
위 소스 코드에서, public class QueueGraphics는 Graphics Context 객체인 DVBGraphics를 상속받은 class로 method queue를 구현한 Graphics class이다. method queue를 내부적으로 가지고 있어, 드로잉 관련된 연산을 호출 시에 해당 연산을 method queue에 저장이 되었다가, execute 함수로 실제 graphics에 실행/반영된다.
public void execute(Graphics g)는 method queue에 저장된 연산을 실행한다. public void clear() : method queue의 연산을 모두 remove한다.
어플리케이션에서는 QueueGraphics를 사용하여 예비 드로잉 연산을 수행하고, DVB-MHP 표준의 Toolkit.sync() 함수를 사용하여 그래픽 버퍼의 스위칭을 요청한다. Toolkit.sync() 함수는 백 버퍼와 프론트 버퍼의 그래픽 상태를 동기화하는 함수이다.
종래 기술에 따르면, 백 버퍼에 이미 드로잉 연산이 반영된 그래픽 이미지 정보가 저장되어 있겠지만, 본 발명에서는 그렇지 않고, 예비 드로잉 연산 결과만 큐에 저장되어 있는 것이다. 그러나, 어플리케이션에서는 이것을 인지할 필요없이, 종래 방식과 마찬가지로 그래픽 이미지 출력을 위해 백 버퍼와 프론트 버퍼의 스위칭을 요청하는 것이다.
미들웨어에서는 Toolkit.sync()가 호출되면, 레이어 중첩 순서에 따라 QueueGraphics에 저장된 드로잉 연산들을 사용하여 실질적으로 최종 드로잉 연산을 수행하고, 이를 실제 그래픽 메모리의 백 버퍼에 기록한다. 그래픽 메모리 스위칭이 요청되면 백 버퍼에 기록되어 있던 그래픽 정보가 프론트 버퍼로 스위칭되고, 화면이 출력된다.
도 7은 본 발명의 일 실시예에 따라, 디지털 방송 수신 장치에서 복수의 어플리케이션의 그래픽 이미지 처리 방법 중 미들웨어에 의해 수행되는 방법을 나타내는 순서도이다.
단계(S11)에서, 디지털 방송 수신 장치에서 복수의 어플리케이션들을 실행한다. 복수의 어플리케이션 실행은 방송 수신 장치의 운영체제에 의해 또는 미들웨어와 운영체제의 조합에 의해 수행될 수 있다. 단계(S12)에서, 어플리케이션으로부터 그래픽 드로잉 기능 호출을 검출한다. 드로잉 기능 호출은 API를 통해 수행될 수 있다. 단계(S13)에서, 요청된 그래픽 드로잉의 예산 연산 결과를 저장한다. 그래픽 연산은 어플리케이션에 의해 수행되고, 미들웨어에서 어플리케이션으로 전달한 그래픽 메쏘드를 사용하여 수행될 수 있다.
단계(S14)에서, 예비 드로잉 연산 결과와 어플리케이션들의 레이어 순서 정보를 기반으로 출력을 위한 최종 그래픽 드로잉 연산을 수행한다. 이 드로잉 연산에서는 레이어들 간의 중첩 순서가 유지되어 있다.
단계(S15)에서, 출력용 드로잉 연산 결과를 그래픽 메모리에 저장하고, 단계(S16)에서, 그래픽 이미지를 출력한다.
전술한 방법들은 디지털 방송 수신 장치에 탑재된 미들웨어에 의해 수행될 수 있으며, 미들웨어는 자바 기반으로 구현될 수 있다. 미들웨어는 상기 디지털 방송 수신 장치 내에 기계로 판독 가능한 저장 매체, 예컨대, HDD, 플래쉬 메모리 등 임의 저장 매체에 저장될 수 있다. 전술한 방법의 각 단계들은 상기 저장 매체에 저장된 일련의 모듈들, 즉 각 기능의 구현 단위로 구성된 코드 집합들에 의해 구현될 수 있다. 코드 집합들은 상기 디지털 방송 수신 장치의 동작을 제어하는 프로세서에 의해 판독되어, 상기 프로세서가 각 기능을 수행하도록 한다.
이상 다양한 실시예들을 참조하여 본 발명을 설명하였으나, 본 발명은 이 실시예들에 한정되지 않는다. 당업자는 위 실시예들에 다양한 변형이 가해질 수 있음을 이해할 것이고, 이들 변형예들도 본 발명의 범위에 포함된다.
31 : 제1 드로잉 연산
32 : 제2 드로잉 연산
33 : 제3 드로잉 연산
34 : 제4 드로잉 연산
35 : 그래픽 메모리
36 : 제1 레이어
37 : 제2 레이어
38 : 제3 레이어

Claims (12)

  1. 디지털 방송 수신 장치에서 복수의 어플리케이션들에 대한 그래픽 이미지를 처리하는 방법에 있어서,
    복수의 어플리케이션들을 실행하는 단계;
    복수의 어플리케이션으로부터의 그래픽 드로잉 기능 호출을 검출하는 단계;
    상기 호출된 그래픽 드로잉의 예비 연산 결과를 저장하는 단계;
    상기 그래픽 드로잉의 예비 연산 결과와 상기 어플리케이션들의 레이어 순서 정보를 기반으로 출력용 드로잉 연산을 수행하는 단계;
    상기 출력용 드로잉 연산 결과를 그래픽 메모리에 저장하는 단계; 및
    상기 그래픽 메모리에 저장된 출력용 드로잉 연산 결과를 기초로 그래픽 이미지를 출력하는 단계를 포함하고,
    상기 호출된 그래픽 드로잉의 예비 연산 결과를 저장하는 단계는,
    제1 어플리케이션의 제1 그래픽 드로잉이 요청되면, 상기 제1 그래픽 드로잉의 제1 예비 연산 결과를 상기 제1 어플리케이션의 가상 레이어에 저장하는 단계;
    상기 제1 그래픽 드로잉이 요청된 후 제2 어플리케이션의 제2 그래픽 드로잉이 요청되면, 상기 제2 그래픽 드로잉의 제2 예비 연산 결과를 상기 제2 애플리케이션의 가상 레이어에 저장하는 단계; 및
    상기 제2 그래픽 드로잉이 요청된 후 상기 제1 어플리케이션의 제3 그래픽 드로잉이 요청되면, 상기 제3 그래픽 드로잉의 제3 예비 연산 결과를 상기 제1 어플리케이션의 가상 레이어에 저장하는 단계를 포함하고,
    상기 출력용 드로잉 연산을 수행하는 단계는,
    상기 제1 예비 연산 결과, 상기 제2 예비 연산 결과, 상기 제3 예비 연산 결과 및 상기 어플리케이션들의 레이어 순서 정보에 기초하여, 상기 제1 그래픽 드로잉, 상기 제3 그래픽 드로잉, 상기 제2 그래픽 드로잉의 순서로 상기 출력용 드로잉 연산을 수행하는
    그래픽 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 그래픽 드로잉 기능 호출은 그래픽 메쏘드 요청을 포함하는 그래픽 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 방송 수신 장치는 DVB-MHP 표준을 기반으로 동작하고, 상기 그래픽 메쏘드는 상기 DVB-MHP 표준에 정의된 Graphics Context 클래스(class)에 의해 제공되는 그래픽 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 호출된 그래픽 드로잉의 예비 연산 결과는 큐(queue)에 저장되는 그래픽 이미지 처리 방법.
  5. 제4항에 있어서,
    상기 방송 수신 장치는 DVB-MHP 표준을 기반으로 동작하며, 상기 큐는 DVB-MHP 표준의 DVBGraphics 클래스에 의해 제공되는 그래픽 이미지 처리 방법.
  6. 삭제
  7. 디지털 방송 수신 장치에 있어서,
    복수의 어플리케이션들에 대한 그래픽 이미지를 처리하기 위한 프로세서; 및
    상기 프로세서를 동작시키기 위한 코드 집합들을 포함하는 저장 매체를 포함하고,
    상기 저장 매체는,
    상기 디지털 방송 수신 장치의 프로세서가, 복수의 어플리케이션들을 실행하도록 하기 위한 제1 코드 집합;
    상기 프로세서가 복수의 어플리케이션으로부터의 그래픽 드로잉 기능 호출을 검출하도록 하는 제2 코드 집합;
    상기 프로세서가 상기 호출된 그래픽 드로잉의 예비 연산 결과를 저장하도록 하는 제3 코드 집합;
    상기 프로세서가 상기 그래픽 드로잉의 예비 연산 결과와 상기 어플리케이션들의 레이어 순서 정보를 기반으로 출력용 드로잉 연산을 수행하도록 하는 제4 코드 집합; 및
    상기 프로세서가 상기 출력용 드로잉 연산 결과를 그래픽 메모리에 저장하는 단계를 포함하도록 하는 제5 코드 집합을 포함하고,
    상기 프로세서는,
    제1 어플리케이션의 제1 그래픽 드로잉이 요청되면 상기 제1 그래픽 드로잉의 제1 예비 연산 결과를 상기 제1 어플리케이션의 가상 레이어에 저장하고, 상기 제1 그래픽 드로잉이 요청된 후 제2 어플리케이션의 제2 그래픽 드로잉이 요청되면 상기 제2 그래픽 드로잉의 제2 예비 연산 결과를 상기 제2 애플리케이션의 가상 레이어에 저장하고, 상기 제2 그래픽 드로잉이 요청된 후 상기 제1 어플리케이션의 제3 그래픽 드로잉이 요청되면 상기 제3 그래픽 드로잉의 제3 예비 연산 결과를 상기 제1 어플리케이션의 가상 레이어에 저장하고,
    상기 제1 예비 연산 결과, 상기 제2 예비 연산 결과, 상기 제3 예비 연산 결과 및 상기 어플리케이션들의 레이어 순서 정보에 기초하여, 상기 제1 그래픽 드로잉, 상기 제3 그래픽 드로잉, 상기 제2 그래픽 드로잉의 순서로 상기 출력용 드로잉 연산을 수행하고,
    상기 그래픽 메모리에 저장된 출력용 드로잉 연산 결과를 기초로 그래픽 이미지를 출력하는
    디지털 방송 수신 장치.
  8. 제7항에 있어서,
    상기 그래픽 드로잉 기능 호출은 그래픽 메쏘드 요청을 포함하는 디지털 방송 수신 장치.
  9. 제8항에 있어서,
    상기 방송 수신 장치는 DVB-MHP 표준을 기반으로 동작하고, 상기 그래픽 메쏘드는 상기 DVB-MHP 표준에 정의된 Graphics Context 클래스(class)에 의해 제공되는 디지털 방송 수신 장치.
  10. 제7항에 있어서,
    상기 호출된 그래픽 드로잉의 예비 연산 결과는 큐(queue)에 저장되는 디지털 방송 수신 장치.
  11. 제10항에 있어서,
    상기 방송 수신 장치는 DVB-MHP 표준을 기반으로 동작하며, 상기 큐는 DVB-MHP 표준의 DVBGraphics 클래스에 의해 제공되는 디지털 방송 수신 장치.
  12. 제7항에 있어서,
    상기 그래픽 메모리에 저장된 출력용 그래픽 드로잉 연산 결과를 출력하는 단계를 더 포함하는 디지털 방송 수신 장치.

KR1020100008506A 2010-01-29 2010-01-29 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법 KR101717783B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100008506A KR101717783B1 (ko) 2010-01-29 2010-01-29 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100008506A KR101717783B1 (ko) 2010-01-29 2010-01-29 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법

Publications (2)

Publication Number Publication Date
KR20110088815A KR20110088815A (ko) 2011-08-04
KR101717783B1 true KR101717783B1 (ko) 2017-03-17

Family

ID=44927209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008506A KR101717783B1 (ko) 2010-01-29 2010-01-29 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법

Country Status (1)

Country Link
KR (1) KR101717783B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102488333B1 (ko) * 2016-04-27 2023-01-13 삼성전자주식회사 그래픽 데이터를 합성하는 전자 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8174617B2 (en) * 2005-08-05 2012-05-08 Samsung Electronics Co., Ltd. Apparatus for providing multiple screens and method of dynamically configuring multiple screens

Also Published As

Publication number Publication date
KR20110088815A (ko) 2011-08-04

Similar Documents

Publication Publication Date Title
US20220139353A1 (en) Display method, electronic device, and non-transitory computer-readable storage medium
CN107422974B (zh) 基于双系统的笔迹书写显示方法和系统、存储介质及设备
JP4965567B2 (ja) 対話式メディア環境での複数アプリケーションのレンダリングおよび合成
EP2747425B1 (en) Integrated system for media playback during startup
US20140293026A1 (en) Streaming video navigation systems and methods
KR20120081574A (ko) 외부 디스플레이에 대한 그래픽 컨텐츠 미러링
KR20080092328A (ko) 다중 스크린을 제공하는 장치 및 상기 다중 스크린의 동적 구성 방법
US20080104514A1 (en) Method and apparatus for controlling reproduction of audio/visual data
CN113687745A (zh) 一种分屏窗口的界面显示方法、系统及终端
KR20000070039A (ko) 개인용 컴퓨터를 구비한 텔레비전 세트를 사용하기 위한 장치및 방법
KR101154996B1 (ko) 이동통신 단말기 및 그 메뉴화면 구성 방법
CN113892134A (zh) 具有优化的性能的多媒体系统
CN116225362A (zh) 多系统播放音频的方法、装置、存储介质及电子设备
JP2008158342A (ja) 情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
KR101717783B1 (ko) 복수의 그래픽 이미지 레이어의 중첩 순서 제어 방법
KR20090013237A (ko) 데이터 스트림과 연관된 기준을 제공하는 방법 및 시스템
JP6803463B2 (ja) ディスプレイ装置及びその制御方法
KR101423920B1 (ko) 버퍼링 상태에 기반한 디지털 멀티미디어 녹화 방법 및 장치
CN113923514B (zh) 一种显示设备及memc重复帧丢弃方法
KR101698484B1 (ko) 자바 어플리케이션 실행 방법 및 장치
US20170026677A1 (en) Display apparatus and display method
US20090195556A1 (en) System compositing images from multiple applications
CN110730976B (zh) 用于与图形处理单元交接的基于交易的显示流水线的方法和系统
US20130080587A1 (en) Display apparatus, operation apparatus, apparatus coordination control system, display method, operation method, and apparatus coordination control method
US20230020264A1 (en) Display method and display apparatus

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