KR20070021961A - 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램 - Google Patents

정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램 Download PDF

Info

Publication number
KR20070021961A
KR20070021961A KR1020060078100A KR20060078100A KR20070021961A KR 20070021961 A KR20070021961 A KR 20070021961A KR 1020060078100 A KR1020060078100 A KR 1020060078100A KR 20060078100 A KR20060078100 A KR 20060078100A KR 20070021961 A KR20070021961 A KR 20070021961A
Authority
KR
South Korea
Prior art keywords
state
application
command
state transition
information processing
Prior art date
Application number
KR1020060078100A
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 KR1020060078100A priority Critical patent/KR20070021961A/ko
Publication of KR20070021961A publication Critical patent/KR20070021961A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

어플리케이션을 수행할 수 있는 정보 처리 장치는, 정보 처리 장치의 시스템을 제어하는 제 1의 제어 수단과, 어플리케이션의 실행을 제어하는 제 2의 제어 수단을 구비하고, 제 2의 제어 수단은, 시스템에 의존하지 않는 어플리케이션의 상태를 정의하고, 정의된 상태의 천이를 제어하는 상태 천이 제어 수단과, 상태 천이 제어 수단에 대해 상태 천이를 명령하는 커맨드가 발생된 경우, 시스템에 의해 인식 가능한 형식으로 커맨드를 변환하는 변환 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
정보 처리 장치

Description

정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램{INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, RECORDING MEDIUM AND PROGRAM}
도 1은 본 발명의 실시예를 적용한 정보 처리 장치의 구성을 도시한 블록도.
도 2는 본 발명의 실시예를 적용한 정보 처리 장치의 소프트웨어 스택을 설명하는 도면.
도 3은 상태 천이에 관해 설명하는 도면.
도 4는 상태 천이에 관해 설명하는 도면.
도 5는 어플리케이션의 상태 정의와, 어플리케이션 및 시스템에 의해 인식될 수 있는 커맨드(함수) 사이의 대응을 나타내는 대응표에 관해 설명하는 도면.
도 6은 어플리케이션의 이식성에 관해 설명하는 도면.
도 7은 본 발명의 실시예를 적용한 처리에 관해 설명하기 위한 플로우 차트.
<부호의 설명>
1 : 정보 처리 장치 11 : 시스템 제어부
29 : 모니터 디스플레이 40 : 표시 화상 생성 출력부
42 : 디코드 처리부 61 : 어플리케이션 제어부
62 : 표시용 데이터 격납부 64 : 합성 처리부
81 : 재생 처리 어플리케이션 91 : 어플리케이션
92 : 상태 정의 모듈 93 : 인터페이스 모듈
94 : 인터페이스 시스템
기술분야
본 발명은 일본 특허 출원 JP2005-238282호(2005.08.19)의 우선권 주장 출원이다.
본 발명은 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램에 관한 것으로서, 특히, 어플리케이션의 이식성(portability)을 향상할 수 있도록 한 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램에 관한 것이다.
종래의 기술
종래, 다른 플랫폼에 어플리케이션을 이식하는 경우, 이식원(original port)의 어플리케이션의 GUI(그래픽 유저 인터페이스) 정의 파일을 이식처(destination port)에서 이용함에 의해 어플리케이션을 이식하는 경우에, 동일 메뉴를 작성할 수 있도록 한 기술이 있다. JP-A-2002-14941호는 종래기술의 일예이다.
그러나, 다른 플랫폼에 어플리케이션을 이식하는 경우, 실제의 어플리케이션, 특히 멀티미디어 어플리케이션에서는, GUI의 이식만으로는, 어플리케이션의 이 식이 되었다고는 말하기 어렵다.
그래서, 상태 천이의 관리와 같이, 높은 레이어로 어플리케이션의 거동을 관리하여, GUI뿐만 아니라, 어플리케이션의 거동을 포함하는 어플리케이션의 이식성을 향상함에 의해, 다른 플랫폼에 대한 어플리케이션의 이식성을 높일 필요가 있다.
본 발명은 이와 같은 상황을 감안하여 이루어진 것으로서, 어플리케이션의 이식성을 향상할 수 있도록 하는 것이다.
본 발명의 실시예에 따른 정보 처리 장치는, 어플리케이션을 실행하는 것이 가능한 정보 처리 장치로서, 상기 정보 처리 장치의 시스템을 제어하는 제 1의 제어 수단과, 상기 어플리케이션의 실행을 제어하는 제 2의 제어 수단을 구비하고, 상기 제 2의 제어 수단은 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태를 정의하고, 정의된 상기 상태의 천이를 제어하는 상태 천이 제어 수단과, 상기 상태 천이 제어 수단에 대해 상기 상태 천이를 명령하는 커맨드가 발생된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 변환 수단을 구비한다.
상태 천이 제어 수단은 상기 상태의 천이를 명령하는 커맨드가 발생된 경우 정의된 상태를 기초로, 커맨드에 의해 상기 상태 천이가 가능한지의 여부를 판단시키도록 할 수 있고, 상기 변환 수단은 상기 상태 천이 제어 수단에 의해 상기 상태 천이가 가능하다고 판단된 때에만, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환시키도록 할 수 있다.
상기 변환 수단은 상기 시스템과 상기 상태 천이 제어 수단의 각각에 의해 인식 가능한 커맨드 사이의 관계를 나타내는 정보를 보유할 수 있다.
본 발명의 실시예에 따른 정보 처리 방법은 어플리케이션을 실행하는 것이 가능한 정보 처리 장치의 정보 처리 방법으로서, 상기 정보 처리 장치의 시스템을 제어하고, 상기 어플리케이션의 실행을 제어하고, 상기 어플리케이션의 상태 천이를 명령하는 커맨드를 받으며, 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태의 정의를 기초로, 상기 커맨드에 따라, 정의된 상기 상태 천이가 가능한지의 여부를 판단하고, 상기 상태 천이가 가능하다고 판단된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 단계를 포함한다.
본 발명의 실시예에 따른 프로그램은, 소정의 시스템에 조립되고, 상기 시스템에 의존하지 않는 어플리케이션의 실행을 제어하는 컴퓨터가 실행 가능한 프로그램으로서, 상기 어플리케이션의 상태 천이를 명령하는 커맨드를 받으며, 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태의 정의를 기초로, 상기 커맨드에 따라, 정의된 상기 상태 천이가 가능한지의 여부를 판단하고, 상기 상태 천이가 가능하다고 판단된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 단계를 포함하는 처리를 컴퓨터에서 실행시킨다.
본 발명의 실시예에서, 시스템에 의존하지 않는 어플리케이션의 상태가 정의되고, 정의된 상태 천이가 제어되고, 상태 천이를 명령하는 커맨드가 발생된 경우, 시스템에 의해 인식 가능한 형식으로 커맨드가 변환된다.
이하에 본 발명의 실시예를 설명하며, 본 발명의 구성 요건과, 발명의 상세한 설명에 기재된 실시예와의 대응 관계를 예시하면, 다음과 같다. 이 기재는 본 발명을 지지하는 실시예가 발명의 상세한 설명에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 발명의 상세한 설명 중에는 기재되어 있지만, 본 발명의 구성 요건에 대응하는 실시예로서, 여기에는 기재되어 있지 않은 실시예가 있다고 하더라도, 그것은 그 실시예가 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것이 아니다. 역으로, 실시예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있다고 하여도, 그것은 그 실시예가 그 구성 요건 이외의 구성 요건에는 대응하지 않는 것을 의미하는 것도 아니다.
본 발명의 실시예에 따른 정보 처리 장치는, 어플리케이션을 실행하는 것이 가능한 정보 처리 장치(예를 들면, 도 1의 정보 처리 장치(1))이고, 상기 정보 처리 장치의 시스템을 제어하는 제 1의 제어 수단(예를 들면, 도 1의 시스템 제어부(11))과, 상기 어플리케이션(예를 들면, 도 2의 어플리케이션(91))의 실행을 제어하는 제 2의 제어 수단(예를 들면, 도 1의 어플리케이션 제어부(61))를 구비하고, 상기 제 2의 제어 수단은, 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태(예를 들면, 도 3 또는 도 4에 도시된 상태)를 정의하고, 정의된 상기 상태 천이를 제어하는 상태 천이 제어 수단(예를 들면, 도 2의 상태 정의 모듈(92))과, 상기 상태 천이 제어 수단에 대해 상기 상태 천이를 명령하는 커맨드가 발생된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 변환 수단(예를 들면, 도 2의 인터페이스 모듈)을 구비한다.
상기 변환 수단은, 상기 시스템과 상기 상태 천이 제어 수단에 의해 인식 가능한 커맨드 사이의 관계를 나타내는 정보(예를 들면, 도 5에 도시된 대응표)를 갖을 수 있다.
본 발명의 실시예에 따른 정보 처리 방법은, 어플리케이션을 실행하는 것이 가능한 정보 처리 장치(예를 들면, 도 1의 정보 처리 장치(1))의 정보 처리 방법이며, 상기 정보 처리 장치의 시스템을 제어(예를 들면, 도 1의 시스템 제어부(11))하고, 상기 어플리케이션(예를 들면, 도 2의 어플리케이션(91))의 실행을 제어(예를 들면, 도 1의 어플리케이션 제어부(61))하고, 상기 어플리케이션의 상태 천이를 명령하는 커맨드를 받으며(예를 들면, 도 7의 단계 S1의 처리), 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태(예를 들면, 도 3 또는 도 4에 도시된 상태)의 정의를 기초로, 상기 커맨드에 따라, 정의된 상기 상태 천이가 가능한지의 여부를 판단(예를 들면, 도 7의 단계 S1의 처리)하고, 상기 상태 천이가 가능하다고 판단된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는(예를 들면, 도 7의 단계 S4의 처리) 단계를 포함한다.
본 발명의 실시예에 따른 프로그램은, 소정의 시스템(예를 들면, 도 1의 정보 처리 장치(1))에 조립되고, 상기 시스템에 의존하지 않는 어플리케이션의 실행을 제어하는 컴퓨터(예를 들면, 도 1의 어플리케이션 제어부(61))가 실행 가능한 프로그램으로서, 상기 어플리케이션의 상태 천이를 명령하는 커맨드를 받으며(예를 들면, 도 7의 단계 S1의 처리), 상기 시스템에 의존하지 않는 상기 어플리케이션의 상태(예를 들면, 도 3 또는 도 4에 도시된 상태)의 정의를 기초로, 상기 커맨드에 따라, 정의된 상기 상태 천이가 가능한지의 여부를 판단(예를 들면, 도 7의 단계 S1의 처리)하고, 상기 상태 천이가 가능하다고 판단된 경우, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는(예를 들면, 도 7의 단계 S4의 처리) 단계를 포함하는 처리를 컴퓨터에 실행시킨다.
이하, 도면을 참조하여, 본 발명의 실시예에 관해 설명한다.
도 1에 도시된 본 발명을 적용한 정보 처리 장치(1)는, 마이크로컴퓨터에 의해 구성되는 시스템 제어부(11)에 대해 접속되는 시스템 버스(12)에, 각종 방송 수신부, 화상 출력 표시부, 음성 출력부, 조작 입력부 등의 각 처리부가 접속되어 구성되어 있다. 어플리케이션 제어부(61)가 시스템 제어부(11)에 접속되어 있고, 어플리케이션 제어부(61)에 의해, 장치나 시스템에 의존하지 않는 어플리케이션 프로그램의 처리와, 그들의 어플리케이션에 관한 GUI 표시가 제어된다.
시스템 제어부(11)는 CPU(Central Processing Unit)와, 프로그램 ROM(Read Only Memory)과, 워크 에어리어 RAM(Random Access Memory) 등을 구비하고, 프로그램 ROM에 기록된 프로그램에 따라 워크 에어리어 RAM을 이용하면서, 여러가지의 제어 처리를 실행한다.
방송 수신부로서, 지상 아날로그 방송 수신부(21), 지상 디지털 방송 수신부(22), BS 방송 수신부(23), 및, CS 방송 수신부(24)가 마련되고, 각각 인터페이스(I/F)(25 내지 28)를 통하여, 시스템 버스(12)에 접속되어 있다. 방송 수신부(21 내지 24)의 각각은, 도시하지 않은 안테나에서 수신된 대상으로 하는 방송 신호로부터, 리모트 커맨더(33)를 통하여 입력된 유저의 선국 조작에 응한 방송프로그램 을 선택하고, 선택된 방송프로그램의 화상 데이터 및 음성 데이터, 또는, 데이터 방송에 의해 수신한 데이터를, 인터페이스(I/F)(25 내지 28)를 통하여, 시스템 버스(12)에 송출한다.
지상 아날로그 방송 수신부(21)는, 현행의 지상 아날로그 텔레비전방송 신호를 선국 수신하여, 화상 신호(영상 신호) 및 음성 신호를 인터페이스(25)를 통하여 시스템 버스(12)에 출력한다. 지상 디지털 방송 수신부(22)는 디지털 텔레비전 방송, 디지털 음성 방송 및 데이터 방송에 대응하고 있고, 유저의 선국 조작에 대응하여 방송프로그램을 선국 수신하여 디코드하고, 화상 신호(영상 신호) 및 음성 신호, EPG(전자 방송프로그램 가이드 ; Electronic Programming Guide) 데이터 등의 데이터를, 인터페이스(26)를 통하여, 시스템 버스(12)에 출력한다. BS 방송 수신부(23)는 BS 텔레비전 방송, BS 음성방송 및 데이터 방송에 대응하여, 유저의 선국 조작에 대응하여 방송프로그램을 선국 수신하여 디코드하고, 화상 신호(영상 신호) 및 음성 신호, EPG 데이터 등의 데이터를 인터페이스(27)를 통하여 시스템 버스(12)에 출력한다. CS 방송 수신부(23)는 CS 텔레비전 방송, CS 음성 방송 및 데이터 방송에 대응하여, 유저의 선국 조작에 대응하여 방송프로그램을 선국 수신하여 디코드하고, 화상 신호(영상 신호) 및 음성 신호, EPG 데이터 등의 데이터를 인터페이스(28)를 통하여 시스템 버스(12)에 출력한다.
화상 출력 표시부로서, CRT(Cathode Ray Tube)나 LCD(Liquid Crystal Display) 등으로 이루어지는 모니터 디스플레이(29)가 디스플레이 인터페이스(30)를 통하여 시스템 버스(12)에 접속되어 있다. 또한, 음성 출력부로서, 음성 출력 인터페이스(31)를 통하여 스피커(32)가 접속되어 있다. 또한, 조작 입력부로서, 리모트 커맨더(33)가 마련되고, 이 리모트 커맨더(33)로부터의 조작 신호를 수신하는 조작 신호 수신부(34)가 시스템 버스(12)에 접속되어 있다. 리모트 커맨더(33)는 좌우방향 지시 조작 버튼 및 상하방향 지시 조작 버튼과, 「홈」 버튼과, 「결정」 버튼을 구비하던지, 또는, 마찬가지 조작 입력을 할 수 있도록 이루어지고 있으면 바람직하다. 즉, 리모트 커맨더(33)는, 예를 들면, 각종 버튼, 십자형 상하좌우방향 지시 버튼, 또는, 조이스틱 등에 의해, 모니터 디스플레이(29)에 표시되는, 후술하는 GUI 화면상에서, 유저에 의한 버튼 조작에 의해, 선택 지시 등을 행할 수가 있는 입력 디바이스를 구비하는 것으로 한다.
또한, 드라이브(35), 시계부(36), 외부 입력 인터페이스(37), 통신 인터페이스(38), 미디어 재생부(39), 표시 화상 생성 출력부(40), 및, EPG 보존부(41)가 시스템 버스(12)에 접속되어 있다.
드라이브(35)는, 이것에 삽입되는, 예를 들면, 광디스크, 자기 디스크, 광자기 디스크, 또는, 반도체 메모리 등의 리무버블 미디어(50)로부터 데이터를 판독하고, 또한, 리무버블 미디어(50)에 데이터를 기록하기 위한 것이다.
시계부(36)는 현재 시각의 정보나 캘린더 정보를 제공한다. 또한, 시계부(36)는 방송프로그램 예약 설정이나, 예약 설정에 대응한 각종 타이머 시간의 계측에도 이용된다. 외부 입출력 인터페이스(37)는, 영상 입출력 단자, 음성 입출력 단자, USB(Universal Serial Bus) 단자 등의 외부 입출력 단자(37-1 내지 37-n)를 구비하고, 각 입출력 단자와 시스템 버스(12) 사이의 신호의 교환을 행한다. 통신 인터페이스(38)는, 통신 회선에 접속되어 있고, 데이터 방송프로그램이 쌍방향 방송인 때에, 응답 신호를 소정의 수신처에게 송신하거나, 네트워크를 통한 서버 장치에 있는 데이터 방송 컨텐츠를 취득하거나 하기 위해 이용된다. 또한, 통신 인터페이스(38)는, 웹 컨텐츠 등의 데이터를 인터넷 경유로 받아들이거나, 인터넷을 통하여 소정의 정보를 송출하거나 할 수도 있다.
EPG 데이터 보존부(41)는 방송 수신부(21 내지 24)의 각각으로부터 인터페이스(25 내지 28) 및 시스템 버스(12)를 통하여 공급되는 전자 방송프로그램 가이드의 데이터(EPG 데이터)를 내장 메모리에 보존한다. EPG 데이터로서는, 지상 아날로그 방송의 경우에는, 텔레비전방송 신호의 수직 블랭킹 기간에 중첩되어 오는 것을 이용하고, 디지털 방송의 경우에는, 데이터 방송으로서 보내 오는 것을 이용한다. 이 EPG 데이터에는, 각 방송프로그램의 방송국명, 방송프로그램명, 프로그램 시작 시각, 프로그램 종료 시각, 출연자, 방송프로그램의 장르 등의 데이터가 포함된다. EPG 데이터 보존부(41)에 보존되는 EPG 데이터는, 최신의 데이터가 되도록 갱신된다.
EPG 데이터는, 방송 신호에 중첩되어 전송되어 오는 것을 이용하는 것이 아니라, 예를 들면 통신 인터페이스(38)를 이용하여, 인터넷에 접속되어 있는 EPG 데이터 제공 서버에 액세스하여, 해당 EPG 데이터 제공 서버로부터 취득하도록 할 수도 있다.
미디어 재생부(39)는, 예를 들면, 자기 테이프, 광디스크, 광자기 디스크, 반도체 메모리 등으로 구성되어 있는 미디어(51)가 장착 가능하도록 되어 있고, 장 착된 미디어(51)에 기록되어 있는, 화상 데이터(동화상 데이터 또는 정지화상 데이터)나 음악 데이터 등으로 이루어지는 컨텐츠를 재생한다. 미디어 재생부(39)는 재생한 컨텐츠를 표시 화상 생성 출력부(40)에 공급하거나, 또한, 재생한 컨텐츠가 인코드 되어 있는 경우는 디코드 처리부(42)에 공급한다.
디코드 처리부(42)는 공급된 화상 데이터나 음성 데이터를 디코드하고, 표시 화상 생성 출력부(40)나 음성 출력 인터페이스(31)에 공급한다.
표시 화상 생성 출력부(40)는 시스템 제어부(11)에 의한 제어를 받고, 모니터 디스플레이(29)에 표시하는 화상을 생성한다. 표시 화상 생성 출력부(40)는, 방송 수신부(21 내지 24)에 의해 수신된 화상 데이터, 또는, 디코드 처리부(42)에 의해 디코드된 화상 데이터를, 내장하는 출력 버퍼에 격납하고, 합성의 필요가 없는 경우는, 시스템 버스(12)를 통하여, 디스플레이 인터페이스(30)에 공급하고, 합성의 필요가 있는 경우는, 합성 처리부(64)에 공급한다.
어플리케이션 제어부(61)는, 시스템에 의존하지 않는 어플리케이션 프로그램을 실행하고, 그들의 어플리케이션 프로그램에 관한 표시 처리를 제어한다. 표시용 데이터 격납부(62)는, 후술하는 GUI를 구성하는 아이콘의 데이터나, 채널 표시용 데이터, 그 밖의 캐릭터 데이터 등의 표시용의 데이터를 격납한다. 어플리케이션 제어부(61)는, 표시용 데이터 격납부(62)에 격납되어 있는 아이콘의 데이터 등을 호출하여, GUI를 표시를 위한 문자나 기호 등에 대응하는 데이터(후술하는 GUI 부품)를 생성하고, 그래픽 인터페이스(63)를 통하여, 합성 처리부(64)에 공급한다.
합성 처리부(64)는 그래픽 인터페이스(63)로부터 GUI 표시를 위한 문자나 기 호 등에 대응하는 데이터(예를 들면, GUI 표시에 이용되는 다양한 아이템으로서, 이른바, GUI 부품이라고도 칭하여지는 것 등)의 공급을 받고, 온스크린 디스플레이(OSD) 데이터로서, 내장하는 온스크린 버퍼에 격납한다. 온스크린 디스플레이 데이터는, 모니터 디스플레이(29)의 화면에 표시하는 재생 영상의 화상에 중첩하여 표시된 데이터이다. 즉, GUI가 표시될 때, GUI는, 재생 화상에 OSD로서 중첩되기 때문에, GUI 표시의 아래에, 재생 영상의 화상이 비쳐 보이는 표시로 된다.
합성 처리부(64)는 출력 버퍼에 격납한 데이터와 온스크린 버퍼에 격납한 온스크린 디스플레이 데이터를 합성하고, 그 합성 데이터를 디스플레이 인터페이스(30)를 통하여 모니터 디스플레이(29)에 공급하여 표시시킨다.
도 2는 도 1의 시스템 제어부(11) 및 어플리케이션 제어부(61)가 갖는 기능을 도시한 모듈 구성도(소프트웨어 스택)이다.
시스템 제어부(11)에서, 시스템 버스(12)에 접속되어 있는 각 부분의 동작을 제어하기 위한 어플리케이션이 실행된다. 구체적으로는, 시스템 제어부(11)에서는, 시스템 버스(12)에 접속되어 있는 각 부분의 동작을 제어하여, 동화, 음악, 정지화상 등의 컨텐츠를 재생하는 처리를 실행하는 재생 처리 어플리케이션(81)이 실행된다. 이 어플리케이션은, 정보 처리 장치(1)의 시스템에 의존하여 동작하는 어플리케이션 프로그램이다. 시스템 제어부(11)에 의해 재생 처리 어플리케이션(81)이 실행됨에 의해, 영상, 음성, 정지화상 등 데이터가, 시스템 내의 어느 하나의 기록부로부터 판독되거나, 시스템 내의 어느 하나의 처리부에서 디코드되거나, 시스템 내의 어느 하나의 기록 영역으로부터 다른 기록 영역에 카피되거나 이동되는 등, 정 보 처리 장치(1)의 시스템에 의존하는 각종 처리가 실행된다.
한편, 어플리케이션 제어부(61)는 기종이나 시스템에 의존하지 않는 어플리케이션(91-1 내지 91-n)의 처리를 제어한다. 어플리케이션 제어부(61)는 어플리케이션(91-1 내지 91-n)을 기종이나 시스템에 의존하지 않고 이용 가능하게 하기 위한 기능으로서, 상태 정의 모듈(92), 인터페이스 모듈(93), 및, 인터페이스(I/F) 시스템(94)을 구비하고 있다.
즉, 어플리케이션 제어부(61)에서의 소프트웨어 스택에서는, 최하층의 시스템 레이어의 인터페이스(I/F) 시스템(94)과, 최상층의 어플리케이션 레이어의 어플리케이션(91-1 내지 91-n) 사이의 미돌웨어 레이어에서, 어플리케이션 레이어측에 상태 정의 모듈(92)이, 시스템 레이어측에 인터페이스 모듈(93)이, 각각 마련되어 있다.
상태 정의 모듈(92)은, 예를 들면, 어플리케이션(91-1 내지 91-n)에 의한 GUI 표시에 관한 컴포넌트나 상태 정의 등, 어플리케이션(91-1 내지 91-n)에서 기종이나 시스템에 의존하지 않는 공통 부분의 실장을 행하는 것으로서, 이른바, 프레임워크상의 1 모듈이라고 생각된다. 상태 정의 모듈(92)은 어플리케이션(91-1 내지 91-n)과 시스템 사이에 발생하는 이벤트, 에러 등도 포함한 인터페이스를 정의하고, 어플리케이션(91-1 내지 91-n)으로부터의 요구를, 인터페이스 모듈(93)을 통하여, 시스템 레이어의 인터페이스 시스템(94)에 공급하여, 시스템 제어부(11)(재생 처리 어플리케이션(81))에 공급하거나, 인터페이스 시스템(94), 및, 인터페이스 모듈(93)을 통하여, 재생 처리 어플리케이션(81)으로부터의 요구나 통지 등의 공급 을 받고, 어플리케이션(91-1 내지 91-n)에 송출한다.
상태 정의 모듈(92)은 도 3 또는 도 4에 도시된 바와 같은 어플리케이션(91-1 내지 91-n)에 공통되게 정의되어 있는 상태 천이를 관리한다.
도 3은 상태 정의 모듈(92)에 의해 어플리케이션(91-1 내지 91-n)에 공통되게 정의되어 있다는 동화, 영상, 또는, 음악 등을, 미디어 재생부(39)에 장착되어 있는 미디어(51)로부터 판독하여 재생하는 경우의 상태 천이도이다. 도면중, 굵은 선으로 둘러싸여 있는 것이, 상태 정의 모듈(92)에 의해 어플리케이션(91-1 내지 91-n)에 공통되게 정의되어 있는 시스템의 정상 상태이고, 가는 선으로 둘러싸여 있는 것이, 정상 상태와 정상 상태와의 천이 상태를 나타낸다.
우선, 어플리케이션(91-1 내지 91-n)중 하나가 어플리케이션 제어부(61) 내부의 메모리에 전개되어 기동되고(Create() 커맨드), 기동 상태(121)를 경유하여, 기동이 종료된 경우, 어플리케이션은 기동되었지만, 재생되는 컨텐츠는 아직 선택되지 않은(하나의 컨텐츠도 오픈되지 않은) 상태(111)가 된다.
재생된 컨텐츠가 선택되지 않은 상태(111)에서, 어느 하나의 컨텐츠가 선택되어 파일 오픈되기 위한 오픈 커맨드(Open())가 공급된 경우, 파일 오픈 처리가 실행되고, 오픈 처리 상태(122)를 경유하여, 오픈 처리 완료가 통지되고, 정지 상태(112)가 된다. 정지 상태(112)란, 재생 시작 위치가 컨텐츠의 선두 위치가 된 상태에서 재생 커맨드에 대한 대기 또는 다른 재생 시작 위치의 탐색 커맨드에 대한 대기 상태인 것이다.
정지 상태(112)에서, 재생 커맨드(Play())가 공급된 경우, 재생 시작 처리가 실행되어 재생 시작 처리 상태(123)가 되고, 재생 처리 완료가 통지되고, 재생 상태(113)로 천이된다.
재생 상태(113)에서, 탐색 커맨드(Seek())가 공급된 경우, 탐색 상태(124)를 경유하여, 재생 상태(113)로 되돌아온다. 또한, 재생 상태(113)에서, 배속 재생 등의 재생 커맨드(인수가 다른 Play())이 공급된 경우, 속도 변경 상태(125)에서 속도 설정이 변경되고, 재생 상태(113)로 되돌아온다.
재생 상태(113)에서, 일시정지 커맨드(Pause())의 공급을 받은 경우, 일시정지 처리중(126)의 상태를 경유하여, 일시정지중(114)의 상태가 된다. 또한, 정지 상태(112)에서, 탐색 커맨드(Seek())가 공급된 경우도, 탐색 상태(127)를 경유하여, 일시정지 상태(114)가 된다. 일시정지 상태(114)에서 재생 시작 커맨드를 받은 경우, 재생 시작 위치는, 선두 위치와는 다른 위치이다.
일시정지 상태(114)에서, 탐색 커맨드(Seek())이 공급된 경우, 탐색 상태(128)를 경유하여, 일시정지 상태(114)로 되돌아온다. 일시정지 상태(114)에서, 정지 커맨드(Stop())를 받은 경우, 스타트 위치로의 탐색 상태(129)를 경유하여, 정지 상태(112)로 상태가 천이된다. 또한, 일시정지 상태(114)에서, 재생 커맨드(Play())가 공급된 경우, 재생 시작 처리가 실행되어 재생 시작 처리 상태(130)가 되고, 재생 처리 완료가 통지되고, 재생 상태(113)로 천이된다.
재생 상태(113) 중에, 정지 커맨드(Stop())를 받은 경우, 정지 처리 상태(131)를 하고, 정지 상태(112)로 상태가 천이된다.
정지 상태(112)에서, 오픈되어 있는 컨텐츠의 파일이 클로즈되기 위한 커맨 드(Close())의 공급을 받은 경우, 클로즈 상태(132)를 경유하여, 컨텐츠가 선택되지 않은 상태(111)로 상태가 천이된다. 컨텐츠가 선택되지 않은 상태(111)에서, 어플리케이션 프로그램(91-n)중의 대응하는 것의 종료(Destroy())가 명령된 경우, 종료 처리 상태(133)를 경유하여, 어플리케이션 프로그램이 종료된다.
따라서, 상태 정의 모듈(92)에 의해, 어플리케이션(91-1 내지 91-n)의 상태가, 시스템에 의하지 않고 정의되어 있다. 이 상태 정의는 시스템에 의하지 않지만, 실제의 시스템의 동작은, 예를 들면, 선택된 컨텐츠가, 미디어 재생부(39)에 장착된 미디어(51)로부터 재생되는 경우와, 드라이브(35)에 장착된 리무버블 미디어(50)로부터 재생되는 경우와, 도시하지 않은 내부의 기록 매체로부터 재생되는 경우에서는 다르다. 그러나, 상태 정의 모듈(92)에 의해 시스템에 의하지 않는 상태 천이가 정의됨에 의해, 어플리케이션(91-1 내지 91-n)은, 시스템에 의하지 않는 이식성을 갖는 것이 가능해진다.
다음에, 도 4는 상태 정의 모듈(92)에 의해 어플리케이션(91-1 내지 91-n)에 공통되게 정의되어 있는, 압축 부호화되어 있는 정지화 등의 컨텐츠를 디코드 처리부(42)에서 디코드한 후, 재생 등의 처리를 시행하는 경우의 상태 천이도이다. 도 4에서도, 도면중, 굵은 선으로 둘러싸여 있는 것이, 상태 정의 모듈(92)에 의해 어플리케이션(91-1 내지 91-n)에 공통되게 정의되어 있는 정상 상태이고, 가는 선으로 둘러싸여 있는 것이, 정상 상태와 정상 상태 천이 상태를 나타낸다.
우선, 어플리케이션(91-1 내지 91-n)중의 어느 하나가 어플리케이션 제어부(61) 내부의 메모리에 전개되어 기동되고(Create() 커맨드), 기동 상태(161)를 경유하여, 기동이 종료된 경우, 컨텐츠가 디코드되지 않은 상태(151)가 된다.
컨텐츠가 디코드되지 않은 상태(151)에서, 어느 하나의 컨텐츠가 선택되고, 디코드가 명령(Decode())된 경우, 상태는, 디코드 상태(152)로 천이된다. 디코드 상태(152)에서, 디코드 완료 통지가 공급된 경우, 상태는, 정상 상태(153)로 천이한다. 또한, 디코드 상태(152)에서, 디코드 처리의 중지가 명령(terminate())된 경우, 상태는, 처리 중지 상태(162)를 경유하여, 중지 완료 통지를 받고, 컨텐츠가 디코드되지 않은 상태(151)가 된다.
정상 상태(153)에서, 어느 하나의 컨텐츠가 선택되고, 디코드가 명령(Decode())된 경우, 상태는, 디코드 상태(152)로 천이된다. 디코드 상태(152)에서, 디코드 완료 통지가 공급된 경우, 상태는, 정상 상태(153)로 천이한다.
또한, 정상 상태(153)에서, 어느 하나의 컨텐츠가 선택되고, 이동이 명령(Move())된 경우, 컨텐츠의 이동 상태(163)를 경유하여, 이동 완료 통지를 받고, 상태는, 정상 상태(153)로 천이한다.
또한, 정상 상태(153)에서, 어느 하나의 컨텐츠가 선택되고, 카피가 명령(Copy())된 경우, 컨텐츠의 카피 처리중(164)의 상태를 경유하여, 카피 완료 통지를 받고, 상태는, 정상 상태(153)로 천이한다.
또한, 정상 상태(153)에서, 어느 하나의 컨텐츠가 선택되고, 회전 처리가 명령(RotX, RotY, RotZ())된 경우, 컨텐츠의 회전 처리 상태(165)를 경유하여, RotX, RotY, RotZ의 대응하는 것의 완료 통지를 받고, 상태는, 정상 상태(153)로 천이한다.
또한, 정상 상태(153)에서, 어느 하나의 컨텐츠가 선택되고, 줌(확대 또는 축소)이 명령(Zoom())된 경우, 컨텐츠의 줌 처리중(확대 처리중 또는 축소 처리중)의 상태(166)를 경유하여, 줌 완료 통지를 받고, 상태는, 정상 상태(153)로 천이한다.
또한, 정상 상태(153)에서, 예를 들면, 컨텐츠의 일람 표시 상태에서 스크롤이 명령된 경우 등, 컨텐츠의 검색이 명령(Seek())된 경우, 컨텐츠의 표시 상태(167)를 경유하여, 탐색 완료 통지를 받고, 상태는, 정상 상태(153)로 천이한다.
정상 상태(153)에서, 어플리케이션 프로그램(91-n)중의 대응하는 것의 종료(Destroy())가 명령된 경우, 종료 처리 상태(168)를 경유하여, 어플리케이션 프로그램이 종료된다.
따라서, 상태 정의 모듈(92)에 의해, 어플리케이션(91-1 내지 91-n)의 상태가, 시스템에 의하지 않고 정의되어 있다. 이 상태 정의는 시스템에 의하지 않지만, 실제의 시스템의 동작은, 예를 들면, 디코드 처리부(42)가 갖는 디코드 기능에 의해 다르다. 그러나, 상태 정의 모듈(92)에 의해 시스템에 의하지 않는 상태 천이가 정의됨에 의해, 어플리케이션(91-1 내지 91-n)은, 시스템에 의하지 않는 이식성을 갖는 것이 가능해진다.
여기서, 도 3 및 도 4에서 굵은 선으로 둘러싸여 도시된 정상 상태는, 어느것이나, 어플리케이션 프로그램이 기동되는 시스템(하드웨어), 즉, 여기서는, 정보 처리 장치(1)에서의 상태이고, 구체적으로는, 시스템 제어부(11)에서 제어되는 재생 처리 어플리케이션(81)의 처리에 의해 핸들링되는, 시스템의 상태이다.
즉, 어플리케이션(91-1 내지 91-n)중의 어느 하나로부터, 상태 천이가 요구된 경우, 상태 정의 모듈(92)은, 시스템에 대해, 상태 천이의 요구를 전하고, 시스템의 상태 천이가 종료된 경우, 종료 통지가, 어플리케이션(91-1 내지 91-n)중의 대응하는 것에 통지될 필요가 있다.
그러나, 어플리케이션(91-1 내지 91-n)과, 시스템(여기서는, 재생 처리 어플리케이션(81))에 잇어서, 인식 가능한 함수(커맨드)나 상태 정의는 다른 것이고, 각각이 인식하고 있는 함수(커맨드)를 송출하여도, 그대로는, 함수(커맨드)의 공급을 받은 상대는, 요구나 통지를 인식할 수가 없다.
인터페이스 모듈(93)은 상태 정의 모듈(92)에 의해 정의되는 어플리케이션의 상태 정의와, 실제의 시스템(장치)에서의 상태 정의와의 인터페이스를 정의함에 의해, 어플리케이션과 플랫폼과의 차이를 흡수한다. 즉, 인터페이스 모듈(93)은, 기종이나 시스템에 의존하는 것으로서, 인터페이스 모듈(93)을 기종이나 시스템에 응하여 설계함에 의해, 이보다도 상위의 레이어인 상태 정의 모듈(92) 및 어플리케이션(91-1 내지 91-n)은, 기종이나 시스템에 의하지 않고, 공통의 것을 이용하는 것이 가능해진다.
즉, 인터페이스 모듈(93)은, 어플리케이션이 인식 가능한 커맨드와, 시스템에 의해 인식 가능한 커맨드와의 대응 관계를 파악하고 있다. 어플리케이션으로부터 상태 천이를 위한 커맨드가 공급된 경우, 인터페이스 모듈(93)은 이 커맨드를 시스템에 의해 인식 가능한 커맨드로 변환한 후, 인터페이스 시스템(94)에 공급하여, 재생 처리 어플리케이션(81)에 통지시킨다. 또한, 인터페이스 모듈(93)은, 시 스템이 유저에 의한 조작 입력을 받은 경우 등, 시스템으로부터 상태 천이 요구를 받은 경우, 어플리케이션이 인식 가능한 커맨드로 변환한 후, 상태 정의 모듈(92)에 공급한다.
인터페이스 모듈(93)은, 어플리케이션이 인식 가능한 상태 정의 및 커맨드와, 시스템에 의해 인식 가능한 상태 정의 및 커맨드와의 관계를, 어떠한 방법으로 파악하고 있어도 좋지만, 예를 들면, 도 5에 도시된 바와 같이, 상태 정의 모듈(92)에 의해 정의되는 어플리케이션의 상태 정의마다, 각각이 인식 가능한 커맨드(함수)의 대응을 나타내는 대응표를 등록하는 것으로 하여도 좋다.
도 3에서 굵은 선으로 둘러싸여 도시된 정상 상태중, 미디어가 세트되지 않은 상태에서, 어플리케이션이 인식 가능한 커맨드는, Open() 커맨드와 Destroy() 커맨드이고, 인터페이스 모듈(93)은, 이들의 커맨드에 대응하는, 시스템에 의해 인식 가능한 커맨드와, 그들의 커맨드에 의한 상태 천이를 각각 등록하고 있다. 시스템에 의해 인식 가능한 커맨드는, 시스템 의존이기 때문에, 인터페이스 모듈(93)이 대응되는 시스템에 따라 다른 커맨드가 등록되는 것은 말할 필요도 없다. 또한, 어플리케이션이 인식 가능한 커맨드와, 시스템에 의해 인식 가능한 커맨드란, 각각 1대1로 대응하고 있다고는 한하지 않는다. 예를 들면, 어플리케이션이 인식 가능한 하나의 커맨드에 대해, 시스템에 의해 인식 가능한 커맨드가 복수 대응하여도 좋고, 시스템에 의해 인식 가능한 하나의 커맨드에 대해, 어플리케이션에 의해 인식 가능한 커맨드가 복수 대응하여도 좋다.
마찬가지로 하여, 도 3에서 굵은 선으로 둘러싸여 도시된 정상 상태중, 정지 상태에서, 어플리케이션이 인식 가능한 커맨드는, Close() 커맨드, Play() 커맨드, 및, Seek() 커맨드이고, 인터페이스 모듈(93)은, 이들의 커맨드에 대응하는, 시스템에 의해 인식 가능한 커맨드를 각각 등록하고 있다. 또한, 도 3에서 굵은 선으로 둘러싸여 도시된 정상 상태 중, 재생 상태에서, 어플리케이션이 인식 가능한 커맨드는, Stop() 커맨드, Play() 커맨드, Seek() 커맨드, 및, Pause() 커맨드이고, 일시정지 상태에서, 어플리케이션이 인식 가능한 커맨드는, Stop() 커맨드, Play() 커맨드, 및, Seek() 커맨드이고, 인터페이스 모듈(93)은, 이들의 커맨드에 대응하는, 시스템에 의해 인식 가능한 커맨드를 각각 등록하고 있다.
즉, 인터페이스 모듈(93)은, 도 5에 도시된 대응표에 의거하여, 상태 정의 모듈(92)과 인터페이스 시스템(94) 사이에서 수수되는 커맨드를, 기종이나 시스템에 의존하지 않는 어플리케이션(91)과, 시스템 고유의 재생 처리 어플리케이션(81)이 각각 인식 가능하게 변환함에 의해, 어플리케이션 레이어와 시스템 레이어(및 그것에 접속되는 시스템)와의 중개를 행할 수가 있다.
인터페이스(I/F) 시스템(94)은 시스템 레이어에 대응하는 것이고, 시스템 제어부(11)에서 실행되고 있는 재생 처리 어플리케이션(81)(즉, 시스템의 처리를 제어하는 어플리케이션)과의 정보의 인터페이스를 행하는 것이다.
시스템 제어부(11)와 어플리케이션 제어부(61) 사이의 통신은 장애가 될 수 있어 가능한 저감시킬 필요가 있다. 상태 정의 모듈(92)이 취급하는 것은,어플리케이션의 상태 천이 등이고, 추상도가 높은 레이어이기 때문에, 상태 천이에 응하여 불필요한 커맨드의 통신을 필터링하는 것이 가능하다.
구체적으로는, 예를 들면, 도 3을 이용하여 설명한 상태 천이에서, 미디어가 세트되지 않은 상태에서는, 조작 대상이 되는 동화, 음악 컨텐츠가 지정되어 있지 않기 때문, 시스템 제어부(11)에서 동작되는 재생 어플리케이션(81)은, Open() 및 Destroy()의 처리만이 가능하고, 컨텐츠를 재생시키는 Play() 등의 요구를 받아도, 요구를 실행할 수가 없다. 따라서 상태 정의 모듈(92)은, 현재의 상태에서 시스템 제어부(11)에서 동작되는 재생 어플리케이션(81)이 실행할 수 없는 커맨드는, 시스템 제어부(11)에 전달하지 않고 필터링하고, 어플리케이션(91)에 에러를 통지한다.
도 2를 이용하여 설명한 미들웨어 레이어를 실장함에 의해, 상태 정의 모듈(92)의 프레임워크에 의거하여 설계되어 있는 어플리케이션(91-1 내지 91-n)은, 다른 플랫폼에서도, 그대로 이용 가능하다. 즉, 도 6에 도시된 바와 같이, 인터페이스 모듈(93)을, 시스템에 의거하여 설계하고, 각각의 시스템과 상태 정의 모듈(92)과의 커맨드 등의 수수를 중개할 수 있도록 함에 의해, 상태 정의 모듈(92)의 프레임워크에 의거하여 설계되어 있는 어플리케이션(91-1 내지 91-n)과, 상태 정의 모듈(92)은, 기종이나 시스템에 관계없이, 공통되게 실장시키는 것이 가능해진다.
다음에, 도 7의 플로우 차트를 참조하여, 본 발명을 적용한 상태 정의 모듈(92) 및 인터페이스 모듈(92)이 실행하는 처리에 관해 설명한다.
단계 S1에서, 상태 정의 모듈(92)은, 어플리케이션(91-1 내지 91-n)중의 어느 하나로부터, 커맨드의 입력을 받았는지의 여부를 판단한다. 단계 S1에서, 커맨드의 입력을 받지 않았다고 판단된 경우, 커맨드의 입력을 받았다고 판단될 때까 지, 단계 S1의 처리가 반복된다.
단계 S1에서, 커맨드의 입력을 받았다고 판단된 경우, 단계 S2에서, 상태 정의 모듈(92)은, 현재의 상태로부터, 상태 천이가 가능한지의 여부를 판단한다. 구체적으로는, 예를 들면, 도 3을 이용하여 설명한 상태 천이에서, 현재, 컨텐츠가 선택되지 않은 상태라면, 일시정지 커맨드나 재생 커맨드를 받아서, 상태를 천이할 수가 없지만, 어느 하나의 컨텐츠가 선택되어 파일 오픈되기 위한 오픈 커맨드(Open()), 또는, 어플리케이션(91)의 종료 커맨드(Destroy())를 받아서, 상태를 천이하는 것은 가능하다.
단계 S2에서, 상태 천이가 가능하지 않다고 판단된 경우, 단계 S3에서, 상태 정의 모듈(92)은, 대응하는 어플리케이션(91)에 에러를 통지하고, 처리가 종료된다.
단계 S2에서, 상태 천이가 가능하다고 판단된 경우, 단계 S4에서, 상태 정의 모듈(92)은, 커맨드를 인터페이스 모듈(93)에 공급한다. 인터페이스 모듈(93)은, 예를 들면, 도 5를 이용하여 설명한 커맨드의 대응표 등을 이용하여, 공급된 커맨드를, 재생 처리 어플리케이션(81)이 인식 가능한 형식의 커맨드로 변환한다.
단계 S5에서, 인터페이스 모듈(93)은, 변환된 커맨드를 인터페이스 시스템(94)에 공급하여, 재생 처리 어플리케이션(81)에의 공급을 제어한다. 인터페이스 시스템(94)은, 재생 처리 어플리케이션(81)이 인식 가능한 형식의 커맨드로 변환된 커맨드를, 재생 처리 어플리케이션(81)에 공급하기 때문에, 재생 처리 어플리케이션(81)은, 공급된 커맨드를 기초로 처리를 실행한다.
단계 S6에서, 인터페이스 모듈(93)은, 인터페이스 시스템(94)을 통하여, 재생 처리 어플리케이션(81)으로부터, 상태 천이 처리 완료 통지가 공급되었는지의 여부를 판단한다. 단계 S6에서, 상태 천이 처리 완료 통지가 공급되지 않았다고 판단된 경우, 상태 천이 처리 완료 통지가 공급되었다고 판단될 때까지, 단계 S6의 처리가 반복된다.
단계 S6에서, 상태 천이 처리 완료 통지가 공급되었다고 판단된 경우, 단계 S7에서, 인터페이스 모듈(93)은, 상태 천이 처리 완료 통지를, 상태 정의 모듈(92)이 인식 가능한 함수로 변환하고, 상태 정의 모듈(92)에 공급한다. 상태 정의 모듈(92)은, 천이 후의 상태를 인식하고, 어플리케이션(91-1 내지 91-n)중의 대응하는 것에 통지하여, 처리가 종료된다.
따라서, 시스템에 의거하지 않는 어플리케이션(91-1 내지 91-n)과, 시스템을 제어하는 재생 처리 어플리케이션(81) 사이의 커맨드나 통지의 수수가 이루어지기 때문에, 시스템에 의거하지 않고 어플리케이션 프로그램을 설계할 수 있다. 즉, 어플리케이션 프로그램의 이식성을 확보할 수 있다.
상태 정의 모듈(92)에 의해 정의되는 상태 천이에 의거하여 설계되는 어플리케이션 프로그램은 시스템에 의존하지 않기 때문에, 상태 정의 모듈(92)과 시스템을 중개하는 인터페이스 모듈(93)을 마련함에 의해, 어플리케이션을 갱신할 때에, 시스템을 고려할 필요가 없어지기 때문에, 어플리케이션의 갱신이 용이해지고, 또한, 환언하면, 상태 정의 모듈(92)에 의해 정의되는 상태 천이에 의거하여 설계되는 어플리케이션 프로그램을 이용 가능한 하드웨어, 및, 하드웨어를 은폐하고 있는 API(Application Program Interface)의 자유도가 늘어난다.
또한, 상태 정의 모듈(92)에 의해 상태를 정의하고, 상태 천이가 불가능한 커맨드를 수수하지 않도록 함에 의해, 어플리케이션 제어부(61)와 시스템 제어부(11) 사이에서, 필요없는 통신을 저감시킬 수 있다.
따라서, 본 발명을 적용함에 의해, 시스템을 제어하는 어플리케이션 프로그램과 연동하여 동작하는, 동화, 정지화, 음악 등을 다루는 멀티미디어 어플리케이션 프로그램에 있어서, 장치의 하드웨어의 특성과 어플리케이션의 사양과의 차이를 미들웨어 레이어(여기서는, 상태 정의 모듈(92) 및 인터페이스 모듈(93))에서 흡수할 수 있기 때문에, 어플리케이션의 이식성이 향상한다.
이 미들웨어(여기서는, 상태 정의 모듈(92) 및 인터페이스 모듈(93))에서는, 범용적인 멀티미디어 어플리케이션의 인터페이스와 에러 코드나 이벤트를 정의함과 함께, 종래 어플리케이션이 정의하고 있던 어플리케이션의 상태 천이의 관리를 행하고 있다. 이 미들웨어의 추상화 레이어에 맞추어서 어플리케이션을 설계함에 의해, 어플리케이션의 이식성은 향상하고, 하드웨어의 자유도도 향상한다.
또한, 미들웨어(여기서는, 상태 정의 모듈(92) 및 인터페이스 모듈(93))에서는, 어플리케이션의 거동에 관해, 높은 레이어에서 상태를 관리하고 있기 때문에, 어플리케이션과 하드웨어 사이에서의 커맨드나 통지 등의 수수의 필터링을 행하여, 필요없는 통신을 삭감할 수 있다.
상술한 일련의 처리는, 소프트웨어에 의해 실행할 수도 있다. 그 소프트웨어는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨 터, 또는, 각종의 프로그램을 설치함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 기록 매체로부터 설치된다.
이 기록 매체는, 도 1에 도시한 바와 같이, 컴퓨터와는 별도로, 유저에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함한다), 광디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함한다), 광자기 디스크(MD(Mini-Disk)(상표)를 포함한다), 또는 반도체 메모리 등으로 이루어지는 리무버블 미디어(50) 등에 의해 구성된다.
본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 단계는, 기재된 순서에 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
본 발명의 실시예는, 상술한 실시예로 한정되는 것이 아니라, 본 발명의 요지를 일탈하지 않는 범위에서 여러가지의 변경이 가능하다.
상술한 바와 같이, 본 발명의 실시예에 따르면, 어플리케이션이 실행될 수 있고, 특히, 시스템에 의존하지 않는 어플리케이션의 상태가 정의되고 제어되며, 상태 천이를 지시하는 커맨드가 발생될 때, 시스템에 의해 인식될 수 있는 형식으로 커맨드가 변환되어, 그 결과, 어플리케이션의 이식성이 향상될 수 있다.
본 발명은 당업자에 의해 첨부된 청구항 또는 이와 동등한 범주내에서 다양한 변형예, 조합예 및 대용예가 생성될 수 있다.

Claims (7)

  1. 어플리케이션을 실행하는 것이 가능한 정보 처리 장치에 있어서,
    상기 정보 처리 장치의 시스템을 제어하는 제 1의 제어 수단과,
    상기 어플리케이션의 실행을 제어하는 제 2의 제어 수단을 구비하고,
    상기 제 2의 제어 수단은,
    상기 시스템에 의존하지 않는 상기 어플리케이션의 상태를 정의하고, 정의된 상기 상태 천이를 제어하는 상태 천이 제어 수단과,
    상기 상태 천이 제어 수단에 상기 상태 천이를 명령하는 커맨드가 발생할 때, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 변환 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  2. 제 1항에 있어서,
    상기 상태 천이 제어 수단은, 상기 상태 천이를 명령하는 커맨드가 발생될 때 정의된 상기 상태를 기초로, 상기 커맨드에 의해 상기 상태 천이가 가능한지의 여부를 판단하고,
    상기 변환 수단은, 상기 상태 천이 제어 수단에 의해 상기 상태 천이가 가능하다고 판단된 때만, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 것을 특징으로 하는 정보 처리 장치.
  3. 제 1항에 있어서,
    상기 변환 수단은, 상기 시스템과 상기 상태 천이 제어 수단 각각에 의해 인식 가능한 커맨드 사이의 관계를 나타내는 정보를 갖는 것을 특징으로 하는 정보 처리 장치.
  4. 어플리케이션을 실행하는 것이 가능한 정보 처리 장치의 정보 처리 방법에 있어서,
    상기 정보 처리 장치의 시스템을 제어하는 단계;
    상기 어플리케이션의 실행을 제어하는 단계;
    상기 어플리케이션의 상태 천이를 명령하는 커맨드를 수신하는 단계;
    상기 시스템에 의존하지 않는 상기 어플리케이션의 상태 정의를 기초로, 커맨드에 따라, 정의된 상기 상태 천이가 가능한지의 여부를 판단하는 단계; 및
    상기 상태 천이가 가능하다고 판단될 때, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 단계를 포함하는 것을 특징으로 하는 정보 처리 방법.
  5. 소정의 시스템에 조립되고, 상기 시스템에 의존하지 않는 어플리케이션의 실행을 제어하는 컴퓨터에 의해 실행 가능한 프로그램에 있어서,
    상기 어플리케이션의 상태 천이를 명령하는 커맨드를 수신하는 단계;
    상기 시스템에 의존하지 않는 상기 어플리케이션의 상태 정의를 기초로, 상 기 커맨드에 따라, 정의된 상기 상태의 천이가 가능한지의 여부를 판단하는 단계; 및
    상기 상태 천이가 가능하다고 판단될 때, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 단계를 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램.
  6. 제 5항에 기재된 프로그램이 기록되어 있는 것을 특징으로 하는 기록 매체.
  7. 어플리케이션을 실행하는 것이 가능한 정보 처리 장치에 있어서,
    상기 정보 처리 장치의 시스템을 제어하도록 구성된 제 1의 제어 유닛과,
    상기 어플리케이션의 실행을 제어하도록 구성된 제 2의 제어 유닛을 구비하고,
    상기 제 2의 제어 유닛은,
    상기 시스템에 의존하지 않는 상기 어플리케이션의 상태를 정의하고, 정의된 상기 상태의 천이를 제어하는 상태 천이 제어 유닛과,
    상기 상태 천이 제어 유닛에 상기 상태 천이를 명령하는 커맨드가 발생될 때, 상기 시스템에 의해 인식 가능한 형식으로 상기 커맨드를 변환하는 변환 유닛을 구비하는 것을 특징으로 하는 정보 처리 장치.
KR1020060078100A 2005-08-19 2006-08-18 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램 KR20070021961A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060078100A KR20070021961A (ko) 2005-08-19 2006-08-18 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00238282 2005-08-19
KR1020060078100A KR20070021961A (ko) 2005-08-19 2006-08-18 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램

Publications (1)

Publication Number Publication Date
KR20070021961A true KR20070021961A (ko) 2007-02-23

Family

ID=43653785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060078100A KR20070021961A (ko) 2005-08-19 2006-08-18 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램

Country Status (1)

Country Link
KR (1) KR20070021961A (ko)

Similar Documents

Publication Publication Date Title
KR100747575B1 (ko) 방송신호 재생방법 및 장치
US20080104514A1 (en) Method and apparatus for controlling reproduction of audio/visual data
US20010007455A1 (en) Method of menu-driven control of an external connected device in an audio/video apparatus
US8582960B2 (en) Storage medium storing moving-image data that includes mode information, and reproducing apparatus and method
AU2005273479B2 (en) Video producing device and method, recording medium, and video reproducing program
US8160724B2 (en) Information processing apparatus, information processing method, recording medium and program
JP4340528B2 (ja) 情報再生装置、情報再生方法及び情報再生用プログラム並びに情報記録媒体
US20040247294A1 (en) Information storage medium storing moving picture data and additional data, reproducing apparatus and method therefor
EP2207178A2 (en) Information storage medium containing interactive graphic stream, and reproducing apparatus and method thereof
KR20070021961A (ko) 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램
US7260307B2 (en) Method and system for generating a user interface for digital televisions
US20060188226A1 (en) Method and apparatus for setting marks on content recorded on a recording medium and conducting operations in accordance with the marks
US20030194223A1 (en) Reproducing apparatus for a recording medium that stores compressed data, such as audio, video or audio/video data, therein, and a controlling method thereof
KR100864720B1 (ko) 하나의 오에스디 화면을 통해 각 장치의 제어가 가능한콤비네이션 시스템 및 그의 동작제어방법
JP2006140776A (ja) 通信システム
JP4855372B2 (ja) 再生装置、データ再生方法、制御プログラムおよび記録媒体
US20010022593A1 (en) Method of menu-driven control of an external connected device in an audio/video apparatus
JP4963661B2 (ja) ビデオ再生装置
KR100774173B1 (ko) 프리젠테이션 정보 저장 및 재생방법 및 장치
JP2007104096A (ja) 映像表示装置及び映像表示方法
JP2000123558A (ja) 記録再生機器の設定装置

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application