[go: up one dir, main page]

KR20100056173A - 화면 제어 방법 및 그 장치 - Google Patents

화면 제어 방법 및 그 장치 Download PDF

Info

Publication number
KR20100056173A
KR20100056173A KR1020080115220A KR20080115220A KR20100056173A KR 20100056173 A KR20100056173 A KR 20100056173A KR 1020080115220 A KR1020080115220 A KR 1020080115220A KR 20080115220 A KR20080115220 A KR 20080115220A KR 20100056173 A KR20100056173 A KR 20100056173A
Authority
KR
South Korea
Prior art keywords
application
information
priority information
graphic device
application priority
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020080115220A
Other languages
English (en)
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 KR1020080115220A priority Critical patent/KR20100056173A/ko
Publication of KR20100056173A publication Critical patent/KR20100056173A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 화면 제어 방법 및 장치에 관한 것으로, 본 발명에 따른 화면 제어 방법의 일실시 예는, 애플리케이션으로부터 그래픽 디바이스 요청 명령을 수신하는 단계; 상기 요청에 따라 해당 애플리케이션의 애플리케이션 우선순위정보를 추출하는 단계; 및 상기 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 단계;를 포함하는 것을 특징으로 한다.
따라서, 본 발명에 따른 화면 제어 방법 및 장치에 따르면, 복잡 다양한 기능을 수행하는 다수의 애플리케이션이 하나의 화면상에 적절하게 표현되도록 제어하여 사용자의 편리성을 추구할 수 있고, 다수의 애플리케이션의 화면 제어를 위한 별도의 제어 애플리케이션을 필요로 하지 않으며, 화면 제어가 가능함에 따라 다양한 애플리케이션의 개발을 유도하고 복잡한 시나리오를 배제할 수 있는 효과가 있다.
화면 제어, 애플리케이션, 미들웨어, 그래픽 디바이스, Z-order

Description

화면 제어 방법 및 그 장치{Method for controlling to display a screen and apparatus thereof}
본 발명은 화면제어방법 및 그 장치에 관한 것으로, 더욱 상세하게는 다수의 애플리케이션이 하나의 화면을 이용하는 경우에 각 애플리케이션이 화면상에 적절하게 출력되도록 제어하는 방법 및 그 장치에 관한 것이다.
종래 서비스의 개념은 오디오와 비디오에 한정되어 있었으나, 최근에는 하드웨어(Hardware)의 고사양화 등으로 인해 다양하고 복잡한 애플리케이션들이 점차 많이 나오고 있다. 이에 따라 하나의 애플리케이션이 하나의 서비스로 인식되고 이용되기도 한다.
따라서, 방송 환경 역시 그러한 애플리케이션들이 동작 가능하도록 변화하고 있다. 예를 들어, 사용자는 하나의 화면에 다수의 애플리케이션들을 동작시키고 출력되도록 원하는 경우에, 방송 환경은 이를 적절하게 뒷받침할 수 있어야 한다.
다만, 그러한 사용자의 요청에 대해 즉, 하나의 화면에서 동작되는 다수의 애플리케이션들을 어떻게 출력할지 예를 들어, 각 애플리케이션의 화면 배치나 어떤 애플리케이션을 어떻게 표현할지 등에 대하여 적절한 제어가 이루어지지 않고 있어 사용자의 입장에서는 다양한 애플리케이션을 활용할 수 있는 반면 복잡하다는 인식과 함께 불편을 느낄 수 있는 문제점이 있다.
상기와 같은 문제점을 해결하기 위해 본 발명의 목적은, 하나의 화면에 출력되는 다수의 애플리케이션들 간의 화면 제어 방법을 제공하고자 한다.
본 발명의 다른 목적은, 상기와 같은 화면 제어 방법을 제공하는 장치를 제공하고자 한다.
상기 목적을 달성하기 위한 본 발명에 따른 애플리케이션으로부터 그래픽 디바이스 요청 명령을 수신하는 단계; 상기 요청에 따라 해당 애플리케이션의 애플리케이션 우선순위정보를 추출하는 단계; 및 상기 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 단계;를 포함하는 것을 특징으로 한다.
이때, 애플리케이션 우선순위정보를 포함하는 시그널링 정보를 수신하는 단계; 상기 수신된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하는 단계;를 더 포함할 수 있다.
그리고 상기 파싱된 애플리케이션 우선순위정보를 저장하는 단계를 더 포함할 수 있다.
또한, 상기 애플리케이션은, 리턴된 그래픽 디바이스 객체에 따른 레이어에 대해 HScene을 생성할 수 있다.
그리고 상기 요청 및 리턴은 HScreen 클래스에 기 정의된 getHGraphicsDevices() 함수를 이용하여 이루어질 수 있다.
또한, 상기 애플리케이션 우선순위정보는 개별 애플리케이션의 우선순위에 관련된 제1정보와 상기 제1정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2정보를 포함할 수 있다.
그리고 상기 애플리케이션 우선순위정보는 상기 시그널링 정보 내 XAIT 테이블에 포함되어 전송될 수 있다.
본 발명에 따른 디지털 방송 수신기의 일 예는, 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 디지털 방송 신호를 수신하는 튜너부; 상기 수신된 디지털 방송 신호를 복조하는 복조부; 상기 복조된 디지털 방송 신호 내 시그널링 정보를 역다중화하는 역다중화부; 및 상기 역다중화된 시그널링 정보 내 애플리케이션 우선순위정보를 수신하고 파싱하여, 애플리케이션으로부터 그래픽 디바이스 요청이 수신되면 상기 수신한 애플리케이션 우선순위정보를 추출하여, 추출된 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 프로세서부;를 포함하여 구성하는 것을 특징으로 한다.
이때, 상기 프로세서부에서 파싱된 애플리케이션 우선순위정보를 저장하는 저장매체를 더 포함할 수 있다.
그리고 상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되, 상기 미들웨어는, 상기 각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하도 록 제어하는 화면 제어 모듈을 포함할 수 있다.
또한, 상기 화면 제어 모듈은, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 파싱된 애플리케이션 우선순위정보 내 각 애플리케이션에 대한 우선순위에 관한 제1정보와, 상기 제1 정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2 정보를 추출하도록 제어할 수 있다.
따라서, 본 발명에 따른 화면 제어 방법 및 그 장치에 따르면,
첫째, 복잡 다양한 기능을 수행하는 다수의 애플리케이션이 하나의 화면상에 적절하게 표현되도록 제어하여 사용자의 편리성을 추구할 수 있는 효과가 있다.
둘째, 다수의 애플리케이션의 화면 제어를 위한 별도의 제어 애플리케이션을 필요로 하지 않는 효과가 있다.
셋째, 화면 제어가 가능함에 따라 다양한 애플리케이션의 개발을 유도하고 복잡한 시나리오를 배제할 수 있는 효과가 있다.
이하 상기와 같은 과제를 구체적으로 해결하기 위한 본 발명의 기술적인 사상을 포함하는 실시 예를 첨부한 도면을 참조하여 설명한다. 여기에서, 도면에 도시되고 그와 관련하여 설명되는 본 발명의 구성과 작용 등은 본 발명의 기술적인 사상을 설명하기 위한 일 예로서 설명되는 것인바, 이것에 의하여 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
또한, 이하에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순히 그 용어의 명칭이 아니라 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되고 참조하여야 함을 밝혀두고자 한다.
이하에서는 본 발명에 따른 화면 제어 방법 및 장치에 관해 첨부된 도면을 참조하여 보다 구체적으로 설명한다.
본 발명과 관련하여, 다양한 방법에 따라 화면 제어가 가능하다. 다만, 이하 본 명세서에서는 하나의 화면에 다수의 애플리케이션들이 동시에 또는 시간의 차이를 두고 동작하고 표현되는 환경에서, 화면 제어를 위하여 기 정의된 각 애플리케이션에 대한 우선순위에 관한 정보를 이용함으로써, 상기 각 애플리케이션이 화면상에 출력되는 것을 제어하는 방법을 일실시 예로 하여 설명한다.
관련하여, 본 명세서에서 “화면 제어”라 함은, 각 애플리케이션이 화면 제어와 관련하여 기 정의된 우선순위에 관한 정보를 이용하여 화면상에서 출력이 제어되는 과정을 통칭하는 의미로 사용한다.
또한, 본 명세서에서 “레이어(Layer)”라 함은, 각 애플리케이션은 화면상에 표현되기 위해 그래픽 디바이스(Graphic Device)가 필요한바, 각 그래픽 디바이스를 계층화한 것을 통칭하는 의미로 사용할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.
도 1을 참조하면, 방송 수신기(100)는, 애플리케이션(Application, 110), 미들웨어(120) 및 자원(Resources, 130)을 구비한다.
애플리케이션(110)은 방송 수신기(100)에서의 다양한 목적들을 달성하기 위해 실행되는 프로그램으로서 정의된다. 그리고 애플리케이션(110)은 방송 수신기(100) 상에서 복수의 애플리케이션(111, 112, …, 119)들로 실행될 수 있다.
애플리케이션(111, 112, …, 119)들은 적절하게 설치된 방송 수신기(100)로 디지털 텔레비전 프로그램들과 함께 방송 스트림으로 방송된다. 애플리케이션(111, 112, …, 119)들은 관련 규격 하에 특정된 DSM-CC 프로토콜과 같은 프로토콜에 따라 캐로셀(carousel) 포맷으로 방송될 수 있고, 주기적으로 방송된다.
적절하게 설치된 방송 수신기(100)는 이들 애플리케이션(111, 112, …, 119)들을 수신하고 그것들을 국부적으로 실행한다. 예시적인 애플리케이션(111, 112, …, 119)들에는 전자 프로그램 가이드들, 따라하는(play-along) 게임들, 텔레뱅킹, 메뉴 네비게이션 옵션들, 텔레쇼핑, 전자 신문들 및 유사한 정보 서비스들이 있다.
관련하여, 이하 본 명세서에서는 애플리케이션(110)은, 설명의 편의를 위해 엑스렛(Xlet) 애플리케이션(이하 'Xlet')을 예로 하여 설명한다. 다만, 이에 한정되는 것은 아니며, 모든 데이터 방송 플랫폼에서 동작하는 애플리케이션에 적용 가능함을 미리 밝혀둔다.
Xlet을 실행하기 위한 기본적인 하드웨어는 자바 TV 플랫폼(예를 들어, 도 1 의 미들웨어(120))을 지원하는 셋톱박스 또는 디지털 텔레비전 수신기를 들 수 있다. Xlet들은 "주된(main)" 방법을 가지지 않으며 Xlet들은 인터페이스 Xlet을 실행한다.
Xlet들은 수명 주기를 가지며, 수명 주기 메소드 서명(life cycle method signature)은 인터페이스 Xlet에 의해 정의된다. 인터페이스 Xlet은 생성, 초기화, 시작 및 파괴와 같은 Xlet 상태 변화들을 알리기 위해 수명 주기 메소드들을 제공한다.
그러나 인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 모든 자바 TV 실행들은 인터페이스 Xlet을 경유하여 다양한 애플리케이션 상태들을 통해 하나 이상의 Xlet들을 이동시키기 위해 수명 주기 메소드들을 호출하는 애플리케이션 매니저(127)를 가진다.
인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 따라서, 개발자는 Xlet 수명 주기에서의 각각의 지점에서 일어나는 것을 정의함으로써 그 메소드들에 대한 애플리케이션-지정 실행들을 제공한다. 예를 들면, 게임 Xlet에 대한 iniXlet 메소드는 사용자 인터페이스 구성 요소들을 생성할 것이다. Xlet은 몇몇 상태 변화들 자체를 개시하고 XletContext 인터페이스에서 메소드들을 야기함으로써 그 상태 변화들을 애플리케이션 매니저(127)에 알리도록 설계된다.
인터페이스 Xlet은 자바 TVTM API(Application Programming Interface)에 정의된 패키지들 중 하나인 javax.tv.xlet 패키지에 의해 정의된다. 자바 TV API는 패키지들로 그룹핑된 인터페이스들 및 클래스들로 이루어진다. 이들 패키지들은 텔레비전 네트워크들에 의해 전송된 방송 스트림을 통해 디지털 수신기로 전송된 비디오, 오디오, 및 데이터를 처리하기 위한 인터페이스들 및 클래스들(Classes)을 포함한다.
javax.tv.xlet에 정의된, 인터페이스 Xlet은 애플리케이션 매니저가 Xlet을 생성, 초기화, 시작, 정지 및 파괴할 수 있도록 허용한다. 애플리케이션 매니저(127)는 Xlet의 상태를 유지하고 다양한 수명주기 메소드들(Methods)을 통해 Xlet 상에 메소드들을 야기한다. Xlet은 애플리케이션 매니저(127)에 의해 지시되는 바와 같이 그것의 내부 동작들 및 리소스 사용들을 업데이트하기 위해 이들 메소드들을 실행한다.
도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클(life cycle)의 일 예를 도시한 개념도이다.
도 2를 참조하면, javax.tv.xlet에 의해 정의된 바와 같이, 인터페이스 Xlet의 메소드 요약은 다음과 같다. Xlet은 메모리(memory)에 로드된 상태(loadedstate, 210)가 된다. initXlet은 로드된 상태(loaded state, 210)의 Xlet 자체를초기화하고 중지 상태(paused state, 220)로 진입하기 위해 Xlet에 신호를 보낸다. startXlet은 서비스를 제공하기 시작하고 활성 상태(active state, 230)로 진입하기 위해 Xlet에 신호를 보낸다. PauseXlet은 서비스 제공을 중지하고 중지된 상태(220)로 진입하기 위해 Xlet에 신호를 보낸다. destroyXlet은 서비스 제공을 종료하고 파괴된 상태(destroyed state, 240)로 진입하기 위해 Xlet에 신호를 보낸 다.
미들웨어(120)는 애플리케이션(110)과 자원(130) 간을 매개하는 역할을 수행한다. 또한, 미들웨어(120)는 애플리케이션(110)의 정보 또는 명령을 수신하고, 수신한 명령을 실행하여 수신한 명령에 대한 결과를 산출하며, 산출한 결과를 애플리케이션(120)에 송신하는 기능을 수행한다. 이를 위해 미들웨어(120)는 인터페이스(Interface, 121), 시스템 서비스(System Service, 126)를 구비한다.
인터페이스(121)는 애플리케이션(110)과 시스템 서비스(126) 사이에서 데이터, 정보 및 명령을 송수신하는 기능을 수행한다. 즉, 애플리케이션(110)은 인터페이스(121)를 통해 미들웨어(120)가 제공하는 서비스를 사용할 수 있다. 애플리케이션(110)의 제작자가 미들웨어(120)을 사용할 수 있도록, 각 방송규격에는 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식이 정의되어 있다. 만일애플리케이션(110)이 각 방송규격에 정의된 요청 약식에 따라 미들웨어(120)에 특정 서비스에 대한 수행 요청을 한 경우에는, 인터페이스(121)는 특정 서비스에 대한 수행 요청을 수신하고 시스템 서비스(126)가 요청한 특정 서비스를 수행할 수 있도록 특정 서비스에 대한 수행 요청을 시스템 서비스(126)로 전달한다. 여기서, 방송 규격에서 정의된 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식은 JAVA로 정의된 API가 될 수 있다. 관련하여, "javax.tv.xlet.Xlet"은 정의된 인터페이스이고 관련 규격 하에서 실행될 수 있고 인식될 수 있는 엔티티(entity)이다.
시스템 서비스(126)는 인터페이스(121)가 송신하는 요청에 따라 서비스를 수 행하고, 그 결과를 인터페이스(126)에 제공한다. 또한 시스템 서비스(126)는 애플리케이션(110)을 방송국으로부터 다운로드 받고, 다운로드 받은 애플리케이션(110)의 라이프 싸이클을 관리하며, 활성 상태(active state, 230)의 애플리케이션(110)에 자원(130)을 할당 및 반환을 관리하고 할당된 자원에 대한 정보를 관리한다. 이를 위해 시스템 서비스(126)는 애플리케이션 매니저(Application Manager,127)를 구비한다. 여기서, 미들웨어(120)는 일예로 관련 규격에 따라 구현되어 해당 규격의 API를 지원할 수 있다.
애플리케이션 매니저(127)는 애플리케이션(111, 112, …, 119)의 라이프 싸이클을 관리하는 모듈로서, 애플리케이션(111, 112, …, 119)의 생성, 실행, 종료를 관리한다.
자원(130)은 다양한 기능을 가진 하드웨어 엔티티를 의미하며, 자원(130)은 하드웨어 자원 및 소프트웨어 자원으로 표현될 수 있다. 하드웨어 자원은 튜너부, 복조부, CA(Conditional Access), 역다중화부, 디코더, 메모리, 하드디스크 및 네트워크 어댑터를 말한다. 또한, 소프트웨어 자원은 그룹화된 복수의 하드웨어 엔티티를 나타낼 수 있고 프레스, 쓰레드 등과 같은 운영체제(Operating System) 상에 정의되는 자원일 수 있다. 여기서, 쓰레드는 프로세스 내에서 실행되는 흐름 단위를 말한다. 일반적으로 한 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 쓰레드를 동시에 실행할 수도 있다. 즉, 프로그램은 멀티쓰레드(multithread) 방식으로 실행될 수 있다. 이러한 멀티쓰레드 방식은, 프로세스가 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리, 각 쓰레 드가 프로세스 내의 메모리를 공유해 사용하는 실행 방식이다.
또한, 자원(130)은 애플리케이션(110)이 내부 구현에 무관하게 이용될 수 있도록 애플리케이션(110)에 투명하게(transparently) 제공되며, 상술한 바와 같이 이를 위해 미들웨어(120)가 애플케이션(110)과 자원(130)을 매개하는 역할을 수행한다. 그리고 자원(130)은 공유 자원과 비공유 자원으로 구분될 수 있다. 공유 자원은 메모리, 쓰레드, 네트워크 세션 등의 자원으로 애플리케이션(111, 112, …,119)들이 상호 공유할 수 있는 자원을 말하며, 비공유 자원은 튜너 등의 자원으로 애플리케이션(111)이 사용하고 있는 경우에는 다른 애플리케이션(112,…,119)이 사용할 수 없는 자원을 말한다.
자원(130)을 이용하기 위해서 Xlet은 자율적으로 VM 메모리와 쓰레드들을 사용하게 된다. 이러한 자원에 대한 규약이나, 관리는 전적으로 미들웨어(120)에서 이루어지며 애플리케이션(110)에서는 자신의 자원의 사용량에 대해 큰 고려 없이 동작하게 된다.
도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.
도 3을 참조하면, 본 발명에 따른 방송 수신기(300)는 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)를 구비한다. 여기에서, 튜너부(311), 복조부(312), CA부(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스부(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)는 방송 수신기(100)의 자원(130)에 해당하는 구성요소이 다.
튜너부(311)는 지상파, 위성, 케이블 중 적어도 하나로부터 방송 데이터를 수신하여 복조부(312)로 출력한다. 즉, 튜너부(311)는 안테나, 케이블, 위성 중 어느 하나를 통해 입력되는 방송 신호(301) 중 특정 채널의 주파수를 튜닝하여 복조부(312)로 출력한다. 튜너부(311)는 방송 소스 예를 들어, 지상파, 케이블, 위성별로 각각 구비될 수도 있고, 통합 튜너일 수도 있다. 또한, 튜너부(311)가 지상파 방송용 튜너라고 가정할 경우, 적어도 하나의 디지털 튜너와 아날로그 튜너를 각각 구비할 수도 있고, 디지털/아날로그 통합 튜너일 수도 있다. 튜너부(311)는 지상파를 예로 들 경우, 안테나를 통해 전송되는 지상파 방송 콘텐츠 즉, 방송 신호 중 사용자가 선택한 채널의 방송 신호를 튜닝하여 복조부(312)로 출력한다.
여기에서, 튜너부(311)가 수신하는 방송 데이터는 A/V 데이터, MPEG 섹션 데이터, 애플리케이션 데이터 중 적어도 하나를 포함한다. A/V 데이터는 오디오 데이터 또는 비디오 데이터를 의미한다. 또한, MPEG 섹션 데이터는 SI(System Information), EAS, AIT(Application Information Table), 및 XAIT(eXtended AIT)를 포함하는 데이터일 수 있다. 특히, AIT(Application Information Table)는 데이터 서비스를 위해 수신기에서 구동되는 애플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 AMT라고도 불리운다. 이러한 AIT는 애플리케이션에 대한 정보, 예컨대 애플리케이션의 이름(name), 애플리케이션의 버전, 애플리케이션의 우선순위, 애플리케이션의 ID, 애플리케이션의 상태(auto-start, 사용자에 의한 조작가능, kill 등), 애플리케이션의 타입(Java 또는 HTML), 애플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 애플리케이션의 base directory, 애플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다. 본 발명과 관련하여, XAIT는 화면 제어와 관련하여 각 애플리케이션의 우선순위에 관한 정보와, 상기 우선순위에 관한 정보에 따라 할당된 그래픽 디바이스 객체(graphic device object)에 관한 정보를 포함한다.
애플리케이션 데이터는 애플리케이션(110)의 프로그램 코드를 포함하는 데이터를 의미한다. 프로세서(350)는 AIT(Application Information Table)를 기초로 전송 모드를 결정하고, 결정한 전송 모드로 애플리케이션 데이터를 다운로드 하도록 제어할 수 있다. 여기서, 전송 모드는 방송 데이터를 수신하는 전송 방식 및 전송 매체의 종류를 의미한다. 전송 방식은 네트워크 계층별 사용되는 프로토콜 종류를 의미하는 것으로, DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, Ethernet 프로토콜 등이 선택적으로 사용될 수 있다. 또한, 전송 방식은 관련 규격 상에 정의된 Broadcast Channel Protocols 및 Interaction Channel Protocols이 될 수 있다.
전송 매체의 종류로는 지상파, 위성, 케이블 및 인터넷 망 등을 포함할 수 있다.
또한, 전송 모드는 방송 데이터의 종류에 따라 전송 방식 및 전송 경로를 달리하는 전송 모드를 포함할 수 있다. 즉, 방송 수신기(300)는 A/V 데이터는 케이블을 통해 수신하고, 애플리케이션 데이터는 인터넷 망을 통해 수신하는 전송 모드를 지원할 수 있다.
또한, 프로세서(350)는 AIT를 이용하여 애플리케이션 정보를 검출할 수 있다. AIT를 이용하여 애플리케이션 정보를 검출하는 방법으로는 component_tag, original_network_id, transport_stream_id, service_id가 사용되어 검출될 수 있다.  상기 component_tag는 해당 Object Carousel의 DSI를 운반하는 elementary stream을 지칭하며, 상기 original_network_id는 transport connection을 제공하는 TS의  DVB-SI original_network_id를 지칭한다. 또한, 상기 transport_stream_id는 transport connection을 제공하는 TS의 MPEG TS를 지칭하며, 상기 service_id는 transport connection을 제공하는 서비스의 DVB-SI를 지칭한다. 상기 original_network_id, transport_stream_id, service_id가 이용되어 특정 채널에 대한 정보를 얻을 수 있다.
네트워크 인터페이스(323)는 인터넷 망을 통해 방송 데이터를 수신하고, 수신한 방송 데이터를 CA부(313) 또는 통신 제어부(388)로 출력한다.
복조부(312)는 튜너부(311)가 출력한 신호를 복조하여 CA부(313)로 출력한다. CA부(313)는 복조부(312)가 출력한 신호 또는 네트워크 인터페이스부(323)가 출력한 신호를 디스크램블하여 역다중화부(314)로 출력한다. 역다중화부(314)는 CA부(313)가 출력한 신호인 디지털 데이터 스트림을 오디오 및 비디오를 나타내는 데이터 스트림(예를 들면, MPEG-2 포맷) 및 반복 방송되는 DSM-CC 객체 캐로셀 형태의 애플리케이션들용 데이터로 역다중화한다. 여기서, 비-방송 배송 채널들과 인터페이스할 수 있는 방송 수신기의 다른 실시 예로 튜너(311)는 비-방송 배송 채널에 적합한 네트워크 인터페이스로 대치될 수 있다. 비-방송 배송 채널은 인터넷 프로 토콜(IP) 기반 배송채널일 수 있다.
미디어 디코더(315)는 역다중화부(314)가 역다중화한 오디오 스트림 및 비디오 스트림을 디스플레이될 수 있는 오디오(302) 및 비디오(303)로 각각 복호화한다. 이를 위해 미디어 디코더(315)는 오디오 복호기, 비디오 복호기를 포함할 수 있다. 여기서, 디스플레이되는 비디오(303)는 사용자 인터페이스(321)로부터 출력되는 영상을 포함할 수 있다.
프로세스(350)는 애플리케이션(370) 및 미들웨어(380)를 실행시킨다. 여기서애플리케이션(370) 및 미들웨어(380)는 각각 방송 수신기(100)의 애플리케이션(110) 및 미들웨어(120)에 대응하는 구성요소이다.
미들웨어(380)는 튜너(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스(321), 저장매체(322), 네트워크 인터페이스(323)를 제어 또는 관리하고, 애플리케이션(370)에 할당한다. 이를 위해 미들웨어(380)는 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(SECTION FILTER)(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신제어부(388)를 구비한다.
튜너 제어부(381)는 튜너(811)을 제어하여 튜너(811)을 애플리케이션(370)에할당하거나 애플리케이션(370)의 명령에 따라 튜너(811)의 튜닝 주파수를 변경한다. CA 제어부(382)는 CA(312)를 제어하여 CA(312)가 복조부(312)가 출력한 신호를 디스크램블 하도록 한다.
MPEG-2 섹션 필터부(383)는 역다중화부(314)가 역다중화한 비디오에 관련된 데이터 스트림을 필터링하여 비디오를 디스플레이하기 위한 정보를 추출하고, 서비스 정보 처리부(384)는 역다중화부(314)가 역다중화한 데이터 중에서 서비스 정보를 추출하여 처리한다. 즉, MPEG-2 섹션 필터부(383)는 수신된 방송 데이터로부터 MPEG 섹션 데이터를 추출한다. 특히 MPEG-2 섹션 필터부(383)는 수신된 방송 데이터로부터 전송 모드에 대한 안내 정보인 호스트 접근 안내 정보를 추출할 수 있다. 여기서, 호스트 접근 안내 정보는 일 예로 AIT에 포함되어 전송될 수 있다.
이러한 경우에는, MPEG-2 섹션 필터부(383)는 방송 데이터로부터 AIT를 추출함으로써 호스트 접근 안내 정보를 추출할 수 있다.
DSM-CC(385)는 역다중화부(314)가 역다중화한 애플리케이션용 데이터를 파싱하여 애플리케이션 프로그램 및 애플리케이션 정보를 추출하고 추출된 정보를 저장 매체(322)에 저장한다. 저장매체(322)에 저장된 애플리케이션 프로그램은 프로세스(350)에서 실행된다.
미디어 제어부(386)는 미디어 디코더(315)를 제어하여 오디오(302) 및 비디오(303)가 디스플레이되도록 한다. 또한, 미디어 제어부는 저장매체(322)에 저장된 데이터 접근 정보와 연관되는 MPEG-2 섹션 필터부(383)가 추출한 호스트 접근 안내 정보를 검색하고, 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터를 수신하도록 튜너(311) 또는 네트워크 인터페이스(323)를 제어할 수 있다. 여기서, 미디어 제어부(386)는 네트워크 인터페이스(323)을 직접 제어하는 대신에 통신 제어부(388)가 네트워크 인터페이스(323)를 제어하도록 하여, 네트워크 인터페이스(323)이 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터 를 수신하도록 할 수 있다.
저장 제어부(387)는 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보를 저장매체(322)로 저장하고 저장매체(322)에 저장된 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보에 접근하는 것을 제어한다. 저장매체(322)는 RAM 메모리, FLASH 메모리 및 HDD 중 어느 하나일 수 있고 또는 RAM 메모리, FLASH 메모리 및 HDD를 구비할 수 있다. 여기서 HDD는 내장형 HDD일 수 있고 외장형 HDD일 수 있다.
통신 제어부(388)는 애플리케이션(370)이 네트워크 통신이 가능하도록 지원하며, 이를 위해 네트워크 인터페이스(323)를 제어한다. 또한, 통신 제어부(388)는 네트워크 인터페이스(323)가 방송 데이터를 수신하도록 제어한다. 통신 제어부(388)는 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 애플리케이션 데이터를 추출하여 저장매체에 저장되도록 저장 제어부(387)에 제공할 수 있고, 네트워크 인터페이스(323)가 수신한 방송 데이터 중에 A/V 데이터를 CA(313)로 출력되도록 제어할 수 있다.
여기서, 프로세스(380)는 단일 프로세스 또는 멀티 프로세스로 구현될 수 있고, 미들웨어(380)의 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)는 각각 하드웨어 또는 펌웨어로 이루어질 수 있다. 이러한 경우에는 미들웨어(380)는 애플리케이션(370)이 하드웨어 또는 펌웨어로 이루어진 튜너 제어부(381), CA 제어부(382), MPEG-2 섹션 필터부(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)를 사용할 수 있도록 매개하는 역할을 수행한다.
본 발명과 관련하여, 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 방송 신호는 튜너부(311)를 통해 수신되고, 복조부(312)에서 복조되어, 역다중화부(314)에서 다른 데이터와 구분되어 시그널링 정보가 역다중화된다. 그리고 상기 역다중화된 시그널링 정보는 프로세서(350)로 전달된다. 프로세스(350)는 전달된 시그널링 정보를 미들웨어(380)로 전달하고, 미들웨어(380)는 전달된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하여 저장 매체(322)에 저장하도록 제어할 수 있다.
도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명에 따른 미들웨어(400)는 미들웨어(380)에 대응하는 것으로서, 인터페이스 모듈(410) 및 화면 제어 모듈(420)을 구비할 수 있다. 여기서, 인터페이스 모듈(410) 및 화면 제어 모듈(420)은 각각 인터페이스(121) 및 시스템 서비스(126)와 대응하는 구성요소이다. 애플리케이션(401)은 도 3의 애플리케이션(370)에 대응하는 구성요소이고, 저장매체(402)는 도 3의 저장매체(322)에 대응하는 구성요소이다.
인터페이스 모듈(410)은 애플리케이션(401)과 정보 또는 명령을 송수신한다. 예를 들어, 인터페이스 모듈(410)은 애플리케이션(401)이 화면 제어와 관련하여 그래픽 디바이스의 요청 명령을 송신하면, 상기 화면 제어와 관련하여 그래픽 디바이 스의 요청 명령을 수신하여 화면 제어 모듈(420)에 전송한다. 반대로, 인터페이스 모듈(410)은 화면 제어 모듈(420)이 화면 제어와 관련하여 그래픽 디바이스의 요청 명령에 따른 응답을 송신하면, 상기 응답을 수신하여 애플리케이션(401)으로 송신한다.
도 3을 참조하면, 도 4의 미들웨어(400)는 예를 들면, 방송 수신기(300)에서 수신되는 방송 신호에 포함된 본 발명에 따른 화면 제어와 관련된 애플리케이션 우선순위에 관한 정보를 기 수신한 것으로 가정할 수 있다. 이때, 미들웨어(400)는 상기 수신한 애플리케이션 우선순위정보를 파싱한다. 그리고 상기 파싱한 정보를 저장매체(402)에 저장한다.
따라서, 화면 제어 모듈(420)는 인터페이스 모듈(410)을 통해 애플리케이션(401)으로부터 화면 제어와 관련하여 그래픽 디바이스의 요청이 수신되면, 기 수신한 방송 신호 내 애플리케이션 우선순위정보를 파싱하거나 또는 파싱하여 기 저장된 애플리케이션 우선순위정보로부터 해당 애플리케이션과 관련된 정보를 추출한다. 이때, 추출되는 정보는 예를 들어, 각 애플리케이션에 대한 우선순위에 관한 정보와, 상기 우선순위에 관한 정보에 대응하여 미리 할당된 그래픽 디바이스 객체에 관한 정보를 포함할 수 있다.
따라서, 화면 제어 모듈(420)는 상기 우선순위에 관한 정보와 그래픽 디바이스 객체에 관한 정보를 추출하여, 상기 요청에 대한 응답으로 해당 애플리케이션에 적당한 그래픽 디바이스 객체를 인터페이스 모듈(410)을 거쳐 해당 애플리케이션으로 리턴 또는 전달할 수 있다. 관련하여, 보다 상세한 설명은 후술한다.
본 발명과 관련하여, 현재 관련 규격들에서는 다수의 애플리케이션이 동시에 동작하는 환경을 허용하고 있다. 즉, 하나의 화면에 다수의 애플리케이션이 복합적으로 동작될 수 있다.
따라서, 다수의 애플리케이션이 하나의 화면을 동시에 또는 시간적 간격을 두고 이용하는 경우, Z-order 상의 순위 조절이 필요하다. 예를 들어, 특정 애플리케이션(EPG Xlet Application)(제1 애플리케이션)이 화면에 최우선 순위로 기 동작하는 과정에서, 망 제공사의 긴급 공지 사항 등으로 인해 다른 애플리케이션(제2 애플리케이션)(긴급 메시지 전달과 관련된 애플리케이션)을 화면에 최우선 순위로 표현하기 위해서는 해당 애플리케이션(제2 애플리케이션)이 우선적으로 화면을 선점하여야 하기 때문이다. 만약 그러한 화면 제어가 적절히 이루어지지 않는다면, 사용자 등에게 중요한 정보가 제때에 전달되지 않아 불편을 초래할 수 있다.
관련하여, 화면에 대한 우선순위 조절을 위해 다른 애플리케이션에 비해 보다 많은 제어권을 가진 별도의 애플리케이션(이하 ‘제어 애플리케이션‘)을 이용하여 화면을 제어하는 방법이 있다. 여기에서, 제어 애플리케이션은 다른 애플리케이션의 요청에 따라 화면의 상단 혹은 Z-order 상의 변경에 대한 승인 혹은 거절할 수 있는 권한을 가진다.
다만, 이러한 방식은 제어 애플리케이션이 다른 애플리케이션들의 상태 및 현재 동작 사항을 알고 있을 때 가능하다. 즉, 제어 애플리케이션이 현재 동작하고 있는 애플리케이션이 무엇이며 Z-order 상에 다른 UI(User Interface)가 존재해도 무방한지에 대한 정보를 관리하여야 화면 제어가 가능하다. 그러나, 제어 애플리케 이션이 모든 애플리케이션의 모든 동작 시나리오를 파악하는 것은 현실적으로 불가능하고, 비효율적이다.
따라서, 본 발명에서는, 개별 애플리케이션이 다수의 애플리케이션 간에 위치해야할 부분 등에 대한 화면 제어와 관련하여 사전에 검토되어 할당된 순서에 따라 자유롭게 위치하도록 유도하는 방법을 사용하고자 한다. 이것이 제어 애플리케이션을 이용하는 방법에 비해 훨씬 효율적이다.
이를 위해, 본 명세서에서는 기존의 관련 규격들과의 호환성 등을 고려하여 그 내용을 확장하여 이용하고자 한다. 즉, 개별 애플리케이션의 화면 제어와 관련된 우선순위정보를 정의하고, 제어 애플리케이션이 아닌 제어부에서 상기 정의되는 정보를 이용하여 화면 제어를 하는 것에 설명한다. 여기에서, 개별 애플리케이션의 화면 제어와 관련된 우선순위정보라 함은, 송신단에서 미리 정해진 기준 등에 의해 정의하여 전송하는 정보로서, 해당 각 애플리케이션이 화면상에서 위치해야할 부분(예를 들어, 레이어(Layer)) 등 화면 제어와 관련하여 사전에 검토되어 할당된 순서에 관한 정보를 통칭한다. 이하에서는 상기 정보를 애플리케이션 우선순위정보라 한다. 그리고 상기 제어부는 예를 들어, 수신기의 미들웨어(MiddleWare: M/W)일 수 있다.
따라서, 본 발명에 따르면, 송신단은 애플리케이션 우선순위정보를 전송하고, 수신단에서 상기 애플리케이션 우선순위정보를 수신한다. 그리고 수신단은 각 애플리케이션으로부터 화면 제어와 관련된 요청이 수신되는 경우, 상기 수신한 애플리케이션 우선순위에 관한 정보를 이용하여 화면 제어를 수행하게 된다.
이하에서는 본 발명에 따른 화면 제어 방법을 보다 구체적으로 설명한다.
우선, 본 발명에 따른 화면 제어에 이용되는 애플리케이션 우선순위정보에 대해 살펴보면 다음과 같다.
애플리케이션 우선순위정보는 미들웨어(M/W)에서 상기 정보를 애플리케이션의 화면 제어와 관련된 요청에 따라 이용한다. 여기에서, 상기 애플리케이션 우선순위에 관한 정보는 예를 들어, 송신단으로부터 전송되는 방송 신호 내 다수의 시그널링 정보들 중에서 예를 들어, XAIT 테이블(eXtended Application Information Table)에 포함될 수 있다. 따라서, 미들웨어(M/W)는 상기 XAIT 테이블 내 애플리케이션 우선순위정보를 파싱하여 저장매체에 저장하고, 각 애플리케이션의 요청에 따라 저장매체에 저장된 해당 애플리케이션 우선순위정보로부터 해당 애플리케이션에 적절한 우선순위에 따른 응답을 할 수 있다.
여기에서, 상기 애플리케이션 우선순위정보를 예를 들어, 아래의 표와 같이 정의하여 이용할 수 있다.
Priority GraphicDevice
1-10 1
11-20 2
21-30 3
... ...
240-255 25
일반적으로, 하나의 애플리케이션은 하나의 그래픽 디바이스(Graphic Device)만을 사용한다. 따라서, 본 발명에서는 이 부분을 확장하여 각 애플리케이션의 우선순위에 기반하여 그래픽 디바이스를 얻도록 함으로써, 상술한 문제점을 해결하고자 한다.
상기 표 1을 참조하면, 각 애플리케이션에 부여되는 우선순위(priority)는 1 내지 255까지, 상기 우선순위에 대응하는 그래픽 디바이스는 1 내지 25가 할당되어 있다. 여기에서, 상기 표 1에서는 본 발명의 일실시 예를 설명하기 위하여, 예시한 것으로 이에 한정되지 않음을 미리 밝혀둔다. 즉, 상기 표 1에서는, 우선순위(priority)가 1 내지 10인 애플리케이션은 1번 그래픽 디바이스를 할당하고, 우선순위가 11 내지 20인 애플리케이션은 2번 그래픽 디바이스를 할당하고, 상기와 같은 방식으로 우선순위가 240 내지 255인 애플리케이션은 25번 그래픽 디바이스를 할당할 수 있다. 다만, 상술한 표 1과 다르게, 하나의 우선순위와 하나의 그래픽 디바이스를 일대 일 대응이 되도록 할 수도 있다. 이는 송신측에서 미리 정한 바에 따라 다양한 조합으로 표현 가능할 것이다.
도 5는 본 발명의 일실시 예에 따른 그래픽 디바이스 레이어 구조를 도시한 것이다. 여기에서, 그래픽 디바이스는 상기 표 1을 참조하여 1번 그래픽 디바이스에서 25번 그래픽 디바이스에 대한 레이어 구조를 도시한 것으로, 미들웨어에서 가상으로 관리한다. 도 5를 참조할 때, 그래픽 디바이스는 고유의 레이어를 가지게 됨으로써 일정 우선순위 간에 독립적인 Z-order를 가질 수 있게 된다. 즉, 25번 그래픽 디바이스는 최상위의 우선순위를 가진 레이어를 나타내고, 1번 그래픽 디바이스는 최하위의 우선순위를 가지는 레이어를 나타내며, 25번 그래픽 디바이스는 1번 그래픽 디바이스 보다 항상 앞에 위치하게 되어, 우선순위를 보장해 줄 수 있게 된다.
이하에서는 본 발명에 따른 화면 제어 방법을 동작 시나리오와 함께 설명한다.
도 6은 본 발명의 일실시 예에 따른 화면 제어 방법을 설명하기 위해 도시한 순서도이다. 이하에서 설명되는 구성요소는 도 3과 4를 참조하여 설명한다.
도 6에서는 송신단에서 각 애플리케이션에 대한 우선순위와 그에 대응하는 그래픽 디바이스를 할당하여 미리 정의한 애플리케이션 우선순위정보가 수신기(300)로 수신되고, 수신된 정보를 이용하여 본 발명에 따라 화면 제어와 관련된 부분을 위주로 설명한다.
미들웨어(400)는 상기 표 1과 같이 정의한 애플리케이션 우선순위정보를 수신한다(S601). 그리고 미들웨어(400)는 상기 수신한 애플리케이션 우선순위정보를 파싱하고 이를 저장매체(402)에 저장한다(S602).
미들웨어(400)는 애플리케이션(401)으로부터 그래픽 디바이스를 요청(S603)하는 신호가 수신되면, 수신된 요청에 따라 상기 저장매체(402)에 저장된 애플리케이션 우선순위정보로부터 해당 애플리케이션에 대한 애플리케이션 우선순위정보를 추출한다(S604). 즉, 미들웨어(400)는 우선 해당 애플리케이션에 대하여 할당된 우선순위(priority)를 확인하고, 확인된 우선순위에 대응되는 그래픽 디바이스 객체가 무엇인지 파악한다. 여기에서, 특정 애플리케이션(Xlet Application)은 그래픽 디바이스(Graphic Device)를 얻어 오기 위해 HScreen 클래스(Class)의 getHGraphicsDevices를 호출(call)한다. 상기 클래스(Class)의 실제 구현은 관련 규격을 만족하는 미들웨어(400)에서 이루어지게 된다.
상기에서는 미들웨어(400)에서 미리 애플리케이션 우선순위정보를 파싱하고 저장하는 것을 예로 하여 설명하나, 반드시 요청 전에 파싱하고 저장하여야만 하는 것은 아니며, 상기 요청을 수신한 이후에 상술한 과정이 이루어질 수도 있다. 또한, 상기에서 미들웨어(400)에서 직접 애플리케이션 우선순위정보를 수신하여 파싱하는 것으로 설명되었으나, 미들웨어(400)는 도 3의 다른 구성요소에서 상기 애플리케이션 우선순위정보를 수신 및 파싱하도록 제어하여 파싱된 정보를 이용할 수도 있다.
따라서, 미들웨어(400)는 상기 S604 단계에서 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴한다(S605).
상기에서 애플리케이션(401)으로부터의 요청과 미들웨어(400)의 그래픽 디바이스 객체의 리턴은 모두 동일한 함수 예를 들어, HScreen.getHGraphicsDevices() 함수에 따라 이루어질 수 있다.
애플리케이션(401)은 미들웨어(400)로부터 해당 그래픽 디바이스 객체가 리턴되면, 그에 따른 HScene을 생성(S606)하고, 생성된 HScene에 따라 동작을 한다.
여기에서, 본 발명과 관련하여, 애플리케이션(Xlet Application)(401)은 화면에 무언가를 그리기 위해서는 HScene이 필요하다. HScene은 각 애플리케이션 당 하나가 할당되어 화면을 제어할 수 있게 해주는 기본적인 클래스(Class)로, 개념상 HScene은 HGraphicDevice에 종속되게 되며 HGraphicDevice를 이용해 HScene을 얻어 올 수 있다.
또한, 관련된 API(Application Programming Interface)는 후술하는 바와 같이 정의될 수 있다. API는 애플리케이션에서 사용할 수 있도록 운영체제(operating system; OS)나 프로그래밍 언어(programming language)가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 뜻하는 것으로, 주로 파일 제어, 윈도우 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.
public HScene getFullScreenScene(HGraphicsDevice device)
즉, 상기와 같이 HGraphicDevice에 종속된 HScene을 이용해 특정 애플리케이션(Xlet Application)이 화면에 출력되게 할 수 있다.
본 발명에서는 이러한 HScene을 얻을 수 있는 HGraphicDevice를 애플리케이션 우선순위(Application Priority)를 기반으로 전달함으로써 HScene의 순서를 제어할 수 있게 하고자 한다. 상기에서는 본 발명과 관련하여 설명하였으나, 관련하여 생략된 부분에 대한 설명은 관련 규격을 참조하여 설명될 수 있다.
상술한 과정을 통해 본 발명에 따라 개별 애플리케이션에 대응하는 애플리케이션 우선순위정보를 이용하여 적절한 그래픽 디바이스 객체를 할당함으로써, 적절하게 화면제어를 이룰 수 있게 된다.
본 발명과 관련하여, 수신기는 화면 제어와 관련된 개별 애플리케이션들에 대한 상기 표 1과 같은 애플리케이션 우선순위정보를 송신단으로부터 수신한다. 그리고 수신기는 상기 수신한 애플리케이션 우선순위정보를 파싱하고 저장한다.
상술한 본 발명에 따른 화면 제어 방법을 이용하는 동작 시나리오의 일실시 예를 살펴보면, 다음과 같다. 도 7은 본 발명의 일실시 예에 따른 동작 시나리오를 설명하기 위해 도시한 것이다.
본 발명의 동작 시나리오의 일실시 예는, HScreen.getHGraphicsDevices() 메소드(Method)의 리턴 값(return value)을 애플리케이션 우선순위(Application priority)에 기반하여 전달하고, HScreen.getHGraphicsDevices() 메소드를 통해 얻은 그래픽 디바이스 객체(Graphic Device Object)는 특정 Z-order에 대응되며 이를 이용해 생성된 HScene은 애플리케이션 우선순위(Application Priority)에 대응되어 화면에 대한 제어를 다른 제어 애플리케이션이 할 필요가 없게 된다.
이하에서 본 발명에 따른 동작 시나리오의 일실시 예를 설명함에 있어서, 관련된 함수 등에 대한 설명은 생략한다.
도 7을 참조하면, 하나의 화면에 4개의 애플리케이션이 동작하는 것을 알 수 있다. 즉, 모니터 애플리케이션, VOD 애플리케이션, 다음 애플리케이션, 및 팝-업 애플리케이션 총 4개의 애플리케이션이 화면상에 표현되어야 하는 경우에 화면 제어 방법을 설명한다.
여기에서, 설명의 편의를 위해, 전송단에서 표 1과 같이 정의된 애플리케이션 우선순위정보를 전송하고, 수신단에서 상기 정보를 수신하였다고 가정한다. 또한, 상기 애플리케이션 우선순위정보를 참조할 때, 각 애플리케이션의 우선순위와 그래픽 디바이스를 다음과 같이 가정하자. 도 7 (a) 내지 (d)를 참조할 때, 모니터 애플리케이션은 우선순위의 값이 5, VOD 애플리케이션은 우선순위 값이 13, 다음 애플리케이션은 우선순위의 값이 27, 그리고 팝-업 애플리케이션은 우선순위의 값이 255라고 한다면, 각 애플리케이션은 표 1을 참조할 때, 각각 순차적으로 1번 그래픽 디바이스, 2번 그래픽 디바이스, 3번 그래픽 디바이스와 25번 그래픽 디바이스를 미들웨어로부터 리턴받을 것이다.
따라서, 각 애플리케이션은 도 7과 같이 상기 리턴 받은 해당 그래픽 디바이스에 따라 HScene를 생성하여 화면에 출력되면, 도 7의 (d)와 같이 화면에 출력될 것이다.
이상 본 발명에 따르면, 화면 제어를 위해 별도의 제어 애플리케이션을 필요로하지 않아 효율적으로 화면 제어를 할 수 있으며, 다양하고 복잡한 애플리케이션의 동작 시나리오를 고려할 필요가 없어져 효율적인 시스템을 구축할 수 있다. 또한, 사용자에게 중요한 정보를 제 때에 전달할 수 있게 되어 사용자의 편의에도 기여할 수 있게 될 것이다.
이상에서 본 발명의 바람직한 실시 예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 본 발명과 관련하여 방송 수신기의 계층 구조에 대하여 도시한 구조도이다.
도 2는 본 발명과 관련하여 애플리케이션의 라이프 싸이클의 일 예를 도시한 개념도이다.
도 3은 본 발명의 일실시 예에 따라 구성한 방송 수신기의 블록도이다.
도 4는 본 발명에 따른 미들웨어에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.
도 5는 본 발명의 일실시 예에 따른 그래픽 디바이스 레이어 구조를 도시한 것이다.
도 6은 본 발명의 일실시 예에 따른 화면 제어 방법을 설명하기 위해 도시한 순서도이다.
도 7은 본 발명의 일실시 예에 따른 동작 시나리오를 설명하기 위해 도시한 것이다.
* 발명의 주요 부호에 대한 설명
400: 미들웨어 401: 애플리케이션
402: 저장매체 410 인터페이스 모듈
420: 화면제어모듈

Claims (11)

  1. 애플리케이션으로부터 그래픽 디바이스 요청 명령을 수신하는 단계;
    상기 요청에 따라 해당 애플리케이션의 애플리케이션 우선순위정보를 추출하는 단계; 및
    상기 추출한 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 단계;를 포함하는 것을 특징으로 하는 화면제어방법.
  2. 제 1항에 있어서,
    애플리케이션 우선순위정보를 포함하는 시그널링 정보를 수신하는 단계;
    상기 수신된 시그널링 정보 내 애플리케이션 우선순위정보를 파싱하는 단계;를 더 포함하는 것을 특징으로 하는 화면제어방법.
  3. 제 2항에 있어서,
    상기 파싱된 애플리케이션 우선순위정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 화면제어방법.
  4. 제 1항에 있어서,
    상기 애플리케이션은,
    리턴된 그래픽 디바이스 객체에 따른 레이어에 대해 HScene을 생성하는 것을 특징으로 하는 화면제어방법.
  5. 제 1항에 있어서,
    상기 요청 및 리턴은 HScreen 클래스에 기 정의된 getHGraphicsDevices() 함수를 이용하여 이루어지는 것을 특징으로 하는 화면제어방법.
  6. 제 1항에 있어서,
    상기 애플리케이션 우선순위정보는 개별 애플리케이션의 우선순위에 관련된 제1정보와 상기 제1정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2정보를 포함하는 것을 특징으로 하는 화면제어방법.
  7. 제 2항에 있어서,
    상기 애플리케이션 우선순위정보는 상기 시그널링 정보 내 XAIT 테이블에 포함되어 전송되는 것을 특징으로 하는 화면제어방법.
  8. 애플리케이션 우선순위정보가 포함된 시그널링 정보를 포함한 디지털 방송 신호를 수신하는 튜너부;
    상기 수신된 디지털 방송 신호를 복조하는 복조부;
    상기 복조된 디지털 방송 신호 내 시그널링 정보를 역다중화하는 역다중화 부; 및
    상기 역다중화된 시그널링 정보 내 애플리케이션 우선순위정보를 수신하고 파싱하여, 애플리케이션으로부터 그래픽 디바이스 요청이 수신되면 상기 수신한 애플리케이션 우선순위정보를 추출하여, 추출된 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하는 프로세서부;를 포함하여 구성하는 것을 특징으로 하는 디지털 방송 수신기.
  9. 제 8항에 있어서,
    상기 프로세서부에서 파싱된 애플리케이션 우선순위정보를 저장하는 저장매체를 더 포함하는 것을 특징으로 하는 디지털 방송 수신기.
  10. 제 9항에 있어서,
    상기 프로세서부는 다수의 애플리케이션들과 미들웨어를 포함하되,
    상기 미들웨어는,
    상기 각 애플리케이션과 정보 또는 요청을 송수신하는 인터페이스 모듈과, 상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 애플리케이션 우선순위정보에 따른 그래픽 디바이스 객체를 해당 애플리케이션으로 리턴하도록 제어하는 화면 제어 모듈을 포함하는 것을 특징으로 하는 디지털 방송 수신기.
  11. 제 10항에 있어서,
    상기 화면 제어 모듈은,
    상기 각 애플리케이션의 그래픽 디바이스 요청에 따라 상기 파싱된 애플리케이션 우선순위정보 내 각 애플리케이션에 대한 우선순위에 관한 제1정보와, 상기 제1 정보에 대응하여 할당되는 그래픽 디바이스를 정의하는 제2 정보를 추출하도록 제어하는 것을 특징으로 하는 디지털 방송 수신기.
KR1020080115220A 2008-11-19 2008-11-19 화면 제어 방법 및 그 장치 Withdrawn KR20100056173A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115220A KR20100056173A (ko) 2008-11-19 2008-11-19 화면 제어 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115220A KR20100056173A (ko) 2008-11-19 2008-11-19 화면 제어 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20100056173A true KR20100056173A (ko) 2010-05-27

Family

ID=42280376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115220A Withdrawn KR20100056173A (ko) 2008-11-19 2008-11-19 화면 제어 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20100056173A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533897A (zh) * 2019-08-22 2019-12-03 杭州电子科技大学 基于socket的咖啡烘焙通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533897A (zh) * 2019-08-22 2019-12-03 杭州电子科技大学 基于socket的咖啡烘焙通信方法

Similar Documents

Publication Publication Date Title
US8379667B2 (en) Service executing apparatus
US20060179465A1 (en) Handling feature availability in a broadcast
JP4634412B2 (ja) コーデックアップグレードを実行する装置及びその方法
US20020032754A1 (en) Method and apparatus for profiling in a distributed application environment
US20140082682A1 (en) Smart set-top box and operating method for providing smart service and digital television service using default media player included in single operating system
EP1574046A1 (en) Interactive television system with partial character set generator
US20160373833A1 (en) Digital device and method for processing application thereon
KR20020035558A (ko) 개별 클래스로더 구현을 위한 방법 및 장치
JP6080229B2 (ja) アプリケーション管理装置
CA2542759A1 (en) Program executing apparatus
KR101314291B1 (ko) 디지털 방송의 미들웨어 표준이 다른 장치에서 상호서비스를 제공하는 장치 및 방법
KR100870200B1 (ko) 통합 미들웨어형 디지털방송 수신장치
JP2022509802A (ja) ネイティブ放送局アプリケーションを含む受信装置
KR20100056173A (ko) 화면 제어 방법 및 그 장치
CN1820251A (zh) 用于执行软件应用的方法
US20070033239A1 (en) Preloading resources from data carousel of broadcast file system
KR20100056172A (ko) 애플리케이션 실행 방법 및 장치
KR101549008B1 (ko) 디지털 방송 장치에서 입출력 단자의 상태 관리 방법 및 장치
KR102451867B1 (ko) 방송수신장치 및 그 제어방법
KR101586315B1 (ko) 방송 수신기 및 네트워크 장치 모니터링 방법
KR20090126769A (ko) 방송 수신기 및 방송 데이터 수신 방법
KR20100074818A (ko) 데이터 방송 서비스 제공 방법 및 그를 위한 장치
KR20070063571A (ko) Mhp 애플리케이션들의 시동 시간을 감소시키기 위한시스템 및 방법
KR20100086763A (ko) 폰트 정보 제공 방법 및 방송 수신기
KR20100081408A (ko) 방송 수신기 및 리턴 채널 상태 모니터닝 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20081119

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid