KR100755123B1 - 신호처리용 디바이스 및 엔터테인먼트 기기 - Google Patents

신호처리용 디바이스 및 엔터테인먼트 기기 Download PDF

Info

Publication number
KR100755123B1
KR100755123B1 KR1020057010841A KR20057010841A KR100755123B1 KR 100755123 B1 KR100755123 B1 KR 100755123B1 KR 1020057010841 A KR1020057010841 A KR 1020057010841A KR 20057010841 A KR20057010841 A KR 20057010841A KR 100755123 B1 KR100755123 B1 KR 100755123B1
Authority
KR
South Korea
Prior art keywords
processor
component
signal processing
processing
input
Prior art date
Application number
KR1020057010841A
Other languages
English (en)
Other versions
KR20050093772A (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 가부시키가이샤 소니 컴퓨터 엔터테인먼트
Publication of KR20050093772A publication Critical patent/KR20050093772A/ko
Application granted granted Critical
Publication of KR100755123B1 publication Critical patent/KR100755123B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Abstract

다른 컴포넌트 프로세서(component-processor)의 영향을 받지 않는 동작 환경에서 각각 병렬적으로 동작할 수 있는 컴포넌트 프로세서 103A ~ 103D의 집합으로 구성되는 범용 신호처리 프로세서 103을 포함하는 엔터테인먼트 기기를 구성한다.
관리 프로세서(management processor) 101은 크로스바(a cross bar)104를 제어하여, 각 컴포넌트 프로세서 103A ~ 103D의 동작 환경을 CPU(11)로부터 주어진 신호처리 요구에 따라서 변경하도록 하는 동시에, 크로스바(104)를 통하여 입력되는 처리대상 신호를 받거나 또는 신호처리 요구에 따라서 처리결과 신호를 출력하는 임의의 컴포넌트 프로세서를 교체하도록 한다.
컴포넌트 프로세서(component-processor), 범용 신호처리 프로세서(a general-purpose signal processor), 엔터테인먼트 기기(an entertainment device), 관리 프로세서(a management processor), 크로스바(a cross bar)

Description

신호처리용 디바이스 및 엔터테인먼트 기기{SIGNAL PROCESSING DEVICE AND ENTERTAINMENT DEVICE}
본 발명은, 예컨대 화상(image), 소리(sound) 기타 의사(意思) 표현매체(multimedia)에 관한 여러 종류의 처리를 통합적으로 실행할 수 있는 엔터테인먼트 기기 및 그 구성부품에 관한 것이다.
통신 및 네트워크 기술의 발전에 의해, 디지털 방송용의 셋톱박스(set-top box), 혹은 가정 내의 복수의 기기를 연동시키는 홈 서버(home server)와 같은 엔터테인먼트 기기가 보급되기 시작하고 있다.
도 8은, 엔터테인먼트 기기의 일례가 되는 홈 서버(home server)의 구성도이다. 홈 서버는, CPU(Central Processing Unit), GPU(Graphics Processing Unit), IPU(Image Processing Unit), SPU(Sound Processing Unit) 와 같은 각종 프로세서 유닛, RAM(Random Access Memory) 등의 메모리, 네트워크 인터페이스, 하드디스크 장치 등의 저장장치(storage)를 포함하여 구성되며, 각 프로세서 유닛이 각각 소정의 컴퓨터 프로그램을 읽어내어 실행함으로써, 네트워크를 통해 전달되는 데이터의 수신(receiving), 복호화(decoding), 압축(compression)·복원(decompression), 지역 네트워크로의 데이터 전달, 네트워크로의 데이터 전송 등 다양한 기능을 실현한다.
IPU는, 압축 데이터의 복원, 복호화, 화상의 필터링(filtering), 매칭(matching) 등의 화상처리를 고속으로 행하기 위한 전용 프로세서 유닛이다. GPU은, 렌더링(rendering) 처리용의 프로세서이고, 「그래픽 엔진」이라고 불리는 경우도 있다. SPUout은, 음성출력처리용의 프로세서 유닛이고, 음성의 필터링, 이펙팅(effecting) 등을 행한다. SPUin은 음성 입력처리용의 프로세서 유닛이고, 음성의 광역제한, 고속 푸리에 변환 등의 처리를 행한다.
이와 같은 구성의 홈 서버(home server)는, 응용 프로그램(application program)에 맞게, 각종 기능을 서버 내에 구축한다. 이하, 게임, 영상 및 음성전달, 화상 및 음성통신용의 응용프로그램이 입력되었을 경우의 동작을 설명한다.
1. 게임
CPU와 소정의 기본 프로그램 즉, 운영체제(operating system)와의 협동에 의해, 네트워크상에 있는 게임 서버에서 게임프로그램 및 데이터를 다운받아, 이것을 저장장치(storage)에 모은다. CPU는 저장장치에 저장된 게임프로그램을 실행하여, 화상 데이터 및 음성 데이터를 생성한다. 그리고 이들을 GPU, SPUout에 전송한다. GPU은 화상 데이터에 기초하여 화상(an image)을 생성하고, SPUout은 음성 데이터에 기초하여 음성(a sound)을 생성한다. 사용자는, 생성된 화상 및 음성을 시청하 면서 게임을 행하고, 필요에 따라서, 컨트롤러 등의 조작을 행한다. 이것에 의해 생성되는 조작 데이터는, IO을 통하여 홈 서버(home server)에 입력되어, 게임의 진행에 영향을 준다.
2. 영상 및 음성전달
CPU와 소정의 기본 프로그램과의 협동에 의해, 네트워크상의 영상 서버에서 영상 데이터 및 음성 데이터를 다운받아, 이들을 저장장치에 저장한다. CPU는, 저장장치에 저장된 데이터를 읽어내고, 메모리에 기록되어 있는 소정의 프로그램을 실행하여 영상 및 음성을 해독하며, 영상 및 음성 데이터를 생성한다. 그리고 이 영상 및 음성 데이터를 GPU 및 SPUout에 전송하고, 영상에 대해서는 GPU을 통하여 디스플레이에 표시되며, 음성에 대해서는 SPUout을 통하여 speaker 등으로부터 출력시킨다. 그 결과, 사용자는 영상 및 음성을 시청할 수 있다.
3. 화상 및 음성을 사용한 통신
IPU는 디지털 무비 카메라(a digital movie camera)와 같은 촬영장치를 이용하여 사용자에 의해 촬영된 디지털 촬영화상에 대한 화상처리를 행한다. 이 화상처리에 의해, 대역제한 및 동작검색 등이 행해진다. CPU은 IPU의 처리결과를 사용하여 촬영화상을 압축하고, 압축된 화상을 IO에서 네트워크상으로 송출한다.
동일기능을 가진 홈 서버를 보유하는 수신자가, 네트워크상에서 상기 압축된 화상 데이터를 받아들이면, 그 홈 서버의 CPU는, 받아들인 화상 데이터를 메모리 상의 복원 프로그램을 실행시켜 복원하고, 복원 후의 화상을 IPU에 보낸다. IPU는, 복원 후의 화상에 대해서 화상처리를 행하고, 화질을 개선한 화상데이터를 생성한다. 이 화상 데이터에 의한 화상은 GPU을 통하여 디스플레이에 표시된다. 마찬가지로, 음성에 대해서도, 송신 측에서는 압축하고, 수신 측에서는 복원하여, 이것에 의해 얻어진 음성이, SPUout을 통하여 스피커(speaker) 등으로부터 출력된다.
셋톱박스(set-top box)의 내부동작도, 외부 기기와의 접속형태가 다를 뿐, 홈 서버와 거의 같다.
종래의 홈 서버(home server)는, 사용자의 요구, 즉 실행시키는 응용 프로그램(application program)의 콘텐츠에 따라서, GPU, IPU, SPUout, SPUin을 사용할 필요가 있지만, 여러 종류의 응용 프로그램을 동시에 실행하지 않으면 안 될 경우도 있다. 예컨대, 사용자가 게임을 하고 있는 동안에 화상통신을 행하는 경우이다. 이때, 각 프로세서 유닛은, 다음과 같이 복수의 처리를 실행할 필요가 있다.
1) GPU는 게임용의 화상생성과 화상통신용의 화상생성을 행한다.
2) IPU는 통신용 입력화상처리와 출력화상처리를 행한다.
3) SPUout이 게임용의 출력음성 처리와 통신용의 출력음성 처리를 행한다.
4) SPUin이 게임용의 입력음성 처리와 통신용의 입력음성 처리를 행한다.
이와 같이, 화상처리와 화상생성, 음성출력처리와 음성입력처리를 각각 동시에 행하기 위해서는, IPU, GPU, SPU를 각각 복수 배치하는 것이 가장 쉬운 방법이다. 그러나 그렇게 해도, 여러 종류의 처리를 동시에 행하지 않는 경우, 즉 단일 처리만을 행할 때에는, 사용하지 않는 리소스(resource)가 많아지고, 이것은 대단히 비효율적이다. 한편, 이들 여러 종류의 처리를 단일 프로 세서 유닛만으로 행하려고 하면, 다음과 같은 문제가 생긴다.
1) 성능이 부족하다.
예컨대, IPU가 행하고 있는 화상처리를 범용 프로세서 유닛(unit)만으로 실행하기에는, 화상처리를 위한 연산량이 방대하고, 더욱이, 연산량이, 처리대상이 되는 화상의 종류나 처리의 콘텐츠에 따라서 크게 변동하기 때문에, 연산기의 개수가 너무 부족하다. 또, 단일 프로세서 유닛이 적용되는 것이므로, 메모리 액세스(memory access)가 일원화되어 버리는 것으로 인해, 성능이 충분하지 않고, 여러 종류의 처리를 동시에 행할 수 없다.
2) 성능의 예측이 어렵다.
여러 종류의 처리를 단일 프로세서 유닛으로 행하는 형태에서는, 대상으로 되는 처리를 시분할로 교체할 필요가 있다. 그 때문에, 이와 같은 형태에서는, 한쪽의 처리에 요하는 시간의 변화가 다른 쪽의 처리에 영향을 주기 때문에, 단일 처리에 예정된 처리 시간이 차질이 생기는 일이 있다. 또, 동일의 자원을 공용한 메모리 액세스(memory access) 등에서는, 메모리의 캐시 미스(cash miss)가 일어나는 빈도가, 단일의 처리의 경우와는 현저하게 다를 가능성이 있어, 성능의 예측이 빗나간다.
본 발명은, 이와 같은 사정을 감안하여, 여러 종류의 처리를 효율적으로 동시에 높은 신뢰도로 행할 수 있는 엔터테인먼트 기기 및 그 구성부품을 제공하는 것을 목적으로 하는 것이다.
이러한 목적을 달성하기 위하여, 본 발명이 제공하는 엔터테인먼트 기기(an entertainment device)는, 신호처리용 디바이스(a signal processing device)와, 상기 신호처리용 디바이스에 신호처리 요구를 하는 주(主) 프로세서(a main device)를 갖춘다.
상기 신호처리용 디바이스는, 범용 신호처리 프로세서(a general-purpose signal processor), 관리 프로세서(a management processor) 및 입출력 인터페이스(an input/output interface)를 가지고 있다. 상기 범용 신호처리 프로세서는 컴포넌트 프로세서(component-processors)의 집합에 의해 구성되어 있다. 각 컴포넌트 프로세서는, 각각 다른 컴포넌트 프로세서의 영향을 받지 않는 동작 환경에서 병행동작이 가능하다. 상기 입출력 인터페이스는, 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로부터의 처리대상신호의 입력과, 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로의 처리결과신호의 출력을 행하는 것이다. 상기 관리 프로세서는 상기 주 프로세서로부터 제공된 신호처리요구에 따라 각각의 상기 컴포넌트 프로세서의 동작 환경을 설정하는 동시에, 상기 입출력 인터페이스를 통하여 입력되는 처리대상신호를 수신하거나 또는 신호처리 요구에 따라 상기 처리결과신호를 출력하는 컴포넌트 프로세서를 교체하도록 상기 입출력 인터페이스를 제어하는 것이다.
이와 같이 구성되는 엔터테인먼트 기기에서는, 각각의 컴포넌트 프로세서의 동작 환경을 신호처리 요구의 유형 및/또는 양에 따라 바꿀 수 있기 때문에, 동일한 하드웨어 구성이면서도 여러 종류의 처리를 실행하는 것이 가능하게 된다. 또, 입출력 인터페이스를 통하여 컴포넌트 프로세서 사이를 연결하는 것도 가능하기 때문에, 컴포넌트 프로세서 사이에서 여러 종류의 신호 처리의 결과를 서로 이용해 협동처리를 행하는 것도 가능하게 된다. 또, 화상 데이터와 음성 데이터 등, 여러 종류의 데이터가 끼워진(interleaved) 입출력을 취급하기도 쉽게 된다. 더욱이, 개개의 컴포넌트 프로세서의 동작이 독립하고 있기 때문에, 개개의 처리의 성능예측이, 다른 처리에 영향을 미쳐지지 않고, 용이하게 되는 효용이 있다.
네트워크 접속에 의해 외부서버 등으로부터 디지털 정보를 받아들여, 이에 따라 신호처리요구의 유형 및/또는 양을 결정하는 것도 가능하다. 이 경우는, 컴퓨터 네트워크와의 접속을 가능케 하는 네트워크 인터페이스와, 컴퓨터가 읽어낼 수 있는 디지털 정보를 축적하는 저장장치를 더 구비하여 엔터테인먼트 기기를 구성한다. 그리고 상기 주 프로세서가, 상기 네트워크 인터페이스를 제어하고, 외부기기로부터 상기 디지털 정보를 취득하며, 취득한 디지털 정보를 상기 저장장치에 축적하는 동시에, 축적된 디지털 정보 및 그에 기초한 신호처리요구를 상기 신호처리용 디바이스의 관리 프로세서에 제공함으로써, 상기 디지털 정보에 의해 그 콘텐츠가 정해지는 엔터테인먼트 처리를 위한 동작 환경을 하나 또는 복수의 상기 컴포넌트 프로세서상에 구축시키도록 한다.
이와 같은 네트워크 접속가능한 엔터테인먼트 기기에 있어서, 바람직하게는, 상기 주 프로 세서가, 상기 관리 프로세서를 통하여 상기 하나 또는 복수의 컴포넌트 프로세서에 엔터테인먼트 처리를 위한 동작 환경을 구축하게 한 뒤, 다른 디지털 정보를 취득했을 때는, 상기 구축완료된 동작 환경을 상기 다른 디지털 정보에 기초한 새로운 동작 환경으로 재구축하도록 한다.
상기 디지털 정보는, 예를 들어, 각각 요구되는 기능을 실현 가능하게 하는 여러 종류의 응용 프로그램(application program)으로 구성될 수 있다. 이 경우, 상기 관리 프로세서는, 상기 컴포넌트 프로세서의 각각에게 기능을 할당하고, 할당된 기능을 실현하기 위한 응용 프로그램을 상기 저장장치에서 읽어내어 실행시키도록 구성된다. 다른 컴포넌트 프로세서의 처리에 의해서 자기에게 할당된 처리가 정체되게 되는 사태를 방지하는 관점으로부터는, 개개의 상기 컴포넌트 프로세서가, 상기 관리 프로세서에 다른 요구가 제공될 때까지, 자기에게 할당된 기능을 실현하는 응용 프로그램을 실행하기 위해서만 동작하도록 구성한다.
본 발명은, 또, 엔터테인먼트 기기로서 활용 가능한 신호처리용 디바이스를 제공한다. 이 신호처리용 디바이스는, 범용 신호처리 프로세서와 관리 프로세서를 가진 디바이스이고, 상기 범용 신호처리 프로세서는, 컴포넌트 프로세서의 집합에 의해 구성되어 있고, 각 컴포넌트 프로세서는, 각각 다른 컴포넌트 프로세서의 영향을 받지 않는 동작 환경에서 동작 가능한 것이고, 상기 관리 프로세서는 각각의 상기 컴포넌트 프로세서의 동작 환경을 신호처리 요구에 따라 임의로 변경할 수 있다.
신호처리 디바이스를 외부 디바이스와의 협동 하에 다종다양한 신호처리를 가능케 하는 용도로 최적화시킨다는 관점에서, 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로부터의 처리대상신호의 입력과, 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로의 처리결과신호의 출력을 행하는 입출력 인터페이스를 더 구비한 신호처리용 디바이스를 구성한다. 이 경우, 상기 관리 프로세서는, 입력된 처리대상신호를 수신하고 상기 처리결과신호를 출력하는 컴포넌트 프로세서를 신호처리요구에 따라 교체하도록, 상기 입출력 인터페이스를 제어한다. 상기 입출력 인터페이스는, 예를 들어, 상기 외부 디바이스와 상기 컴포넌트 프로세서 중 하나, 또는 상기 컴포넌트 프로세서끼리를 선택적으로 접속가능하게 하는 크로스바 스위치를 포함하며, 혹은, 상기 외부 디바이스와 상기 컴포넌트 프로세서 중 하나, 또는 상기 컴포넌트 프로세서끼리를 선택적으로 접속가능하게 하는 다중버스를 포함한다.
바람직한 실시 예에서는, 각각의 컴포넌트 프로세서에 각각 로컬 메모리(local memory)가 설치되고, 각각의 컴포넌트 프로세서의 로컬 메모리에는, 당해 컴포넌트 프로세서에 의한 처리대상신호 혹은 처리결과신호가, 상기 입출력 인터페이스로 출력될 수 있을 때까지, 저장된다.
상기 범용 신호처리 프로세서, 상기 관리 프로세서 및 상기 입출력 인터페이스가 하나의 패키지 케이스에 수용되어 신호처리용 디바이스로 구성되어도 좋다. 이 패키지 케이스에는, 최소한, 관리 프로세서에 신호처리 요구를 제공하는 장치와의 접속을 가능케 하는 제 1 접속 인터페이스와, 상기 입출력 인터페이스와 관련된 신호를 받아 전달하는 상기 외부 디바이스와의 접속을 가능케 하는 제 2 접속 인터페이스가 형성되어 있다.
도 1은 본 발명을 적용한 홈 서버(home server)의 구성도.
도 2는 신호처리용 디바이스를 구성하는 각각의 컴포넌트프로세서의 구성도.
도 3은 여러 종류의 애플리케이션을 동시에 실행하는 상태를 나타낸 설명도.
도 4는 컴포넌트 프로세서에 의해 복수의 애플리케이션이 교체되어 실행될 때의 결함상태(a trouble state)를 나타낸 설명도.
도 5는 여러 종류의 애플리케이션을 동시에 실행할 경우에, 각 컴포넌트 프로세서에 각각 동일한 처리를 할당한 상태를 나타낸 설명도.
도 6은 도 5와 같은 처리모드(a processing mode)의 경우에 결함이 생기지 않는 것을 나타낸 설명도.
도 7은 신호처리용 디바이스의 다른 구성 예를 나타낸 도.
도 8은 종래의 홈 서버의 구성도.
<도면의 주요부분에 대한 부호의 설명>
1; 홈 서버(home server)
10; 신호처리용 디바이스(signal processing device)
11; CPU 12 ; 메모리(memory)
13 ; IO(Input/Output) 14 ; 저장장치(storage)
15; 디스플레이 장치(display) 16 ; 카메라(camera)
17 ; 스피커(speaker) 18; 마이크로 폰(microphone)
19; 게임용 컨트롤러(game controller)
101; 관리 프로세서(management processor)
102; 내부 메모리(internal memory)
103, 113; 범용 신호처리 프로세서(general-purpose signal processor)
103A; 제 1 컴포넌트 프로세서(component processor)
103B; 제 2 컴포넌트 프로세서
103C; 제 3 컴포넌트 프로세서
103D; 제 4 컴포넌트 프로세서
104; 크로스 바(cross bar)
114 ; 다중버스(multiple bus)
B ; 공통버스(common bus) B10 ; 내부버스(internal bus)
LM; 로컬 메모리(local memory)
CN ; 제어부(control section) CL ; 연산부(calculating section)
이하, 도면을 참조하여, 본 발명의 바람직한 실시 예를 상세히 설명한다.
<엔터테인먼트 기기의 구성: 홈 서버(home server)>
도 1은, 엔터테인먼트 기기의 일 실시 예로 되는 홈 서버(home server)의 구성도이다.
이 홈 서버(home server)(1)는, 본 발명의 신호처리용 디바이스(10)와, 보드에 실장된 CPU(11) 및 메모리(memory)(12)와, 네트워크 인터페이스의 일 실시 예로 되는 IO(Input Output)(13)을 공통버스B에 접속하여 구성된다. IO(13)에는, 인터넷과 같은 컴퓨터 네트워크가 접속할 수 있게 되어 있고, 또한, 하드디스크 장치와 같은 저장장치(storage)(14)가 접속되어 있다.
하드웨어로서 기능 하는 CPU(11), 메모리(12) 및 IO(13)은, 전술한 종래의 홈 서버의 부품과 동일한 부품들로 구성된다. 메모리(12)에는 CPU(11)가 읽어낼 수 있는 제어프로그램(오퍼레이팅 시스템 등) 및 실행형식의 각종 프로그램 (압축, 복원, 암호화, 복호화, 그 외 유틸리티 프로그램)이 저장되어 있고, 이들 프로그램에 따라 CPU(11)가 신호처리용 디바이스(device)(10) 및 IO(13)을 제어하여, 엔터테인먼트 처리용의 각종 응용 프로그램(application program)의 실행환경을 구축시킨다.
신호처리용 디바이스(10)는, 하드웨어와 교체할 수 있는 응용 프로그램과의 협동에 의해, 자신의 컨피규레이션(configuration, 동작환경(operating environments))을 요구의 형태 및/또는 양에 따라 변화시키고, 그 변화에 의해 여러 종류의 신호처리를 선택적으로 실행가능하게 하는, 이른바 다목적 처리회로로서 동작한다. 상기 동작을 달성하기 위한 하드웨어 구성이 도시되어 있다. 즉, 하나의 패키지 케이스의 내부에, 관리 프로세서(101), 내부 메모리(102)와, 범용 신호처리 프로세서(103)가 내부버스(B10)에 접속되어 있고, 또한, 범용 신호처리 프로세서 (103)에는 입출력 인터페이스의 일 실시 예인 크로스바(cross bar)(104)가 접속되어 있다.
관리 프로세서(101)는, 내부 메모리(102)에 기록되어 있는 관리용 프로그램을 읽어내어 실행함으로써, 신호처리용 디바이스(10)의 내부버스(internal bus) (B10)를 포함한 각 부분의 동작 및 공통 버스(B)를 통하여 전송되는 데이터 등을 제어하고, CPU(11)의 협동에 의한 홈 서버(home server)의 기능의 일부를 실행한다. 또, 관리 프로세서(101)는 CPU(11)로부터 전송되어 오는 프로그램을 실행하고, 그 프로그램의 일부 또는 전부를 범용 신호처리 프로세서(103)로 전송시킨다. 택일적으로 관리 프로세서(101)는 처리될 콘텐츠를 판별하고, 필요로 되는 프로그램을 공통버스(common bus)(B) 상의 메모리(12)로부터 획득하여 실행하는 기능을 구비하여도 좋다.
범용 신호처리 프로세서(103)는, 각각 독립의 동작환경에서 동작가능한 4개의 컴포넌트 프로세서(103A ~ 103D)의 집합에 의해 구성된다. 단, “독립의 동작환경”이라는 것은 다른 컴포넌트 프로세서의 동작환경에 의존하지 않는다는 의미로서, 같은 타이밍에 같은 콘텐츠의 동작을 병행하여 행하는 것이 가능하다. 또, 다른 컴포넌트 프로세서와 협동하여 동작하는 것도 가능하다.
각 컴포넌트 프로세서(103A ~ 103D)는, 도 2에 도시한 바와 같이, 각각 로컬 메모리(local memory)(LM)에 기록된 디지털 정보를 근거로 제어부(control section)(CN)가 연산부(calculating section)(CL)를 제어하여 연산을 실행하고, 그 결과를 로컬 메모리(local memory)(LM)에 일시적으로 보관한다. 연산의 콘텐츠는 디지털 정보의 콘텐츠에 따라 다르다. 예를 들면, 화상처리를 위한 연산, 음성처리를 위한 연산, 통신처리를 위한 연산 등이, 컴포넌트 프로세서(103A ~ 103D)에서 행하는 연산이다.
상기 디지털 정보는, 예컨대, 관리 프로세서(101)로부터 전송된 프로그램 및 데이터, 또는, 그 컴포넌트 프로세서가 스스로 관리 프로세서(101)에 요구하여 취득한 프로그램 및 데이터를 포함한다. 관리 프로세서(101)로부터 전송된 프로그램 및 데이터는, 관리 프로세서(101) 자신이 입수한 것과, CPU(11)가 메모리(12)에 전송한 것에 더하여 관리 프로세서(101)에 의하여 전송된 것을 포함한다.
각 컴포넌트 프로세서(103A ~ 103D)에 의하여 실행된 처리결과는, 크로스바 (104)를 통하여 각각의 컴포넌트 프로세서(103A ~ 103D) 사이에서 서로 송수신 된다. 프로그램의 콘텐츠에 따라서는, 프로그램 및 데이터를 처리한 측의 컴포넌트 프로세서가 처리결과를 내부메모리(102)에 일시적으로 보존해 두고, 처리결과를 수신하는 측의 다른 컴포넌트 프로세서는 내부메모리(102)로부터 처리결과를 획득한다고 하는 형태도 있다.
범용 신호처리 프로세서(103)가 상기 언급한 대로 컴포넌트 프로세서(103A ~ 103D)의 집합에 의해 구성될 때, 다른 종류의 처리 또는 기능이 각각의 컴포넌트 프로세서에 할당될 수 있다. 할당방법도 자유롭게 선택될 수 있기 때문에, 방책(resource)의 낭비도 줄어든다. 종래와 같은 전용 프로세서에서는, 상기와 같은 유 연한 방식의 처리를 실행할 수 없다. 범용 신호처리 프로세서(103)를 구성하는 컴포넌트 프로세서의 개수를 몇 개로 할지는, 엔터테인먼트 처리를 위해 필요로 되는 형식과 성능에 따라 결정되어도 좋다.
상기 크로스바(cross bar)(104)는 반도체 칩 용으로 설계된 소형 크로스바로 구성될 수 있다. 이 크로스바(104)는, 입출력 라인의 교차점인 크로스 포인트(cross point)의 어드레스(address)를 지정하여 입출력 라인의 접속을 임의로 교체한다. 이 어드레스의 지정은, CPU(11)의 초기 처리로서 미리 행하여져도 좋고, 관리 프로세서(101)가 목적으로 하는 처리콘텐츠에 맞추어 행하여도 좋고, 또한, 신호처리용 디바이스(10)의 범용 신호처리 프로세서(103)가 자기에게 할당된 처리과정 중에 직접 행하여도 좋고, 혹은 관리프로세서(101) 또는 CPU(11)에 의뢰하여 행하도록 해도 좋다.
크로스바(104)는, 또, 외부 디바이스의 일 실시 예로 되는 디스플레이(15), 카메라(16), 스피커(17), 마이크로폰(18), 게임용 컨트롤러(19)와 같은 주변기기와, 각각, 예컨대 USB(Universal Serial Bus) 같은, 기기의 종별(種別)을 자동으로 인식할 수 있는 인터페이스를 통하여 접속되도록 설계되어 있다.
또한, 도 1에서의 버스 구성은 하나의 예시이고, 본 발명을 실시할 때에, 도시한 것과는 다른 여러 가지의 구성을 취할 수 있다. 예컨대, 신호처리용 디바이스(10) 내의 내부버스(B10)와 크로스바(104)가 일체로 되는 구성, 공통버스(B)와 내부버스(B10)가 크로스바(104)가 일체로 되는 구성도 가능하다.
<홈 서버(home server)의 동작>
다음으로, 상기와 같이 구성되는 홈 서버(home server)(1)의 동작을 설명한다. 여기서는, 설명의 편의상, 종래의 실시 예와 관련하여 설명되었던, 게임, 비디오 분포, 화상 및 음성 통신에 대한 홈 서버의 동작 예를 설명한다.
1. 게임
홈 서버(home server)(1)로 게임을 행할 경우의 순서는, 다음과 같다.
CPU(11)는, 예컨대 게임용 컨트롤러(19)로부터의 게임 개시지시를 기초로 하여, 메모리(12)에 기록되어 있는 제어프로그램 및 실행형식프로그램을 읽어내고, 이들 프로그램과의 협동에 의해, 신호처리용 디바이스(10)의 컨피규레이션(configuration, 동작환경(operating environments))을 게임용으로 변화시킨다. 이러한 상황에서, 실행형식프로그램의 일부 또는 전부가, 신호처리용 디바이스(10)의 내부메모리(102)에 도달하게 되어있다.
신호처리용 장치(10)에서는, 관리 프로세서(101)가, 내부 메모리(102)의 프로그램을 기초로 하여, 게임에 필요한 부하(負荷, load) 및 처리될 콘텐츠를 추정한다. 그리고 추정결과에 맞추어, 동작시켜야 하는 컴포넌트 프로세서의 개수를 결정해서, 이들 컴포넌트 프로세서 내에 게임용의 동작환경을 구축시킨다.
예를 들어, 게임이 화상과 음성을 콘텐츠로서 동반하는 것으로, 화상생성, 화상처리, 및 음성출력처리가 행하여 질 필요가 있는 경우, 관리 프로세서(101)는, 제1 및 제2 컴포넌트 프로세서((103A, 103B))에 화상생성용 프로그램을 전송하고, 제3 컴포넌트 프로세서(103C)에 화상처리용 프로그램을 전송하고, 제4 컴포넌트 프로세서(103D)에 음성출력용 프로그램을 전송하여, 각각의 프로그램들이 실행가능하도록 한다.
CPU(11)은, 이어서, IO(13)을 제어하여 네트워크상의 게임 서버 (도시생략)에서 게임프로그램과 데이터를 다운로드하고, 이것을 저장장치(storage)(14)에 저장한다.
다운로드가 종료되면, CPU(11)은, 저장장치(14)에 저장되어 있는 게임프로그램을 읽어내어, 게임프로그램을 실행한다. 이 상황에서, CPU(11)은, 화상 데이터에 대해서는, 내부버스(B10)를 통하여 제1 및 제2컴포넌트 프로세서(103A, 103B)로 전송하고, 소리 데이터에 대해서는, 내부버스(B10)를 통하여 제4 컴포넌트 프로세서 (103D)로 전송하여, 화상 및 소리를 생성시킨다.
제1 및 제2 컴포넌트 프로세서 (103A, 103B)에서 생성된 화상은, 내부버스(B10)를 통하여 제3 컴포넌트 프로세서 103C로 전송되고, 필터링 등의 후처리가 행해진 뒤, 크로스바(104)를 통하여 디스플레이 15에서 출력된다. 제4 컴포넌트 프로세서(103D)에 의해 생성된 소리는 크로스바(104)를 통하여 스피커(speaker)(17)에서 출력된다. 내부버스(B10) 및 크로스바(104)는, 관리 프로세서(101)에 의해 제어된다.
사용자는, 이렇게 생성된 화상 및 음성을 시청하면서 게임을 하고. 필요에 따라서는 게임용 컨트롤러(19) 등을 조작한다. 게임용 컨트롤러(19)를 조작하여 얻어진 조작 데이터는, CPU(11)에 의해 실행되고 있는 게임프로그램의 진행에 영향을 주게 된다.
2. 영상 및 음성전달
영상 및 음성을 홈 서버(home server)(1)에 의해 시청할 때의 순서는, 다음과 같다.
CPU(11)은, 메모리(12)에 기록되어 있는 제어프로그램 및 실행형식 프로그램과의 협동에 의해, 신호처리용 디바이스(10)의 컨피규레이션(configuration)을 영상 전달용으로 변화시킨다. 이러한 상황에서, 실행형식 프로그램의 일부 또는 전부가, 신호처리용 디바이스(10)의 내부 메모리(102)에 도달하게 되어있다.
신호처리용 디바이스(10)에서는, 관리 프로세서(101)가, 내부 메모리(102)의 프로그램에 기초하여, 전체 처리의 부하(負荷, load) 및 처리의 종류를 추정하는 동시에 동작시켜야 하는 컴포넌트 프로세서의 개수를 결정하고, 이들 컴포넌트 프로세서에, 영상 및 음성전달용의 동작환경을 구축한다.
예를 들면, 전달대상이 되는 영상의 화상생성에 대해서 화상처리를 위한 부하(負荷,load)가 상대적으로 클 경우, 관리 프로세서(101)는, 제1 컴포넌트 프로세서 103A에 내부버스(B10)를 통하여 화상생성용 프로그램을 전송하고, 제2 및 제3 컴포넌트 프로세서(103B, 103C)에 내부버스(B10)를 통하여 화상처리용 프로그램을 전송하고, 제4 컴포넌트 프로세서(103D)에 내부버스(B10)를 통하여 음성출력용 프로그램을 전송하여, 각각의 프로그램들이 실행가능하도록 한다.
CPU(11)는, 이어서, IO(13)을 제어하여 네트워크상의 영상 서버(도시생략)로 부터 영상 및 음성 데이터를 다운로드하여, 이것을 저장장치(storage)(14)에 저장한다. 다운로드가 종료되면, CPU(11)는, 저장장치(14)로부터 영상 및 음성 데이터를 읽어내는 한편으로, 실행형식의 프로그램에 따라 영상 및 음성의 복호화 및 복원을 실행함으로써, 영상 데이터 및 음성 데이터를 생성시킨다. 그리고나서, CPU(11)는 영상 데이터를 내부버스(B10)를 통하여 제2 및 제3 컴포넌트 프로세서 (103B, 103C)로 전송하고, 영상 데이터가 필터링 등의 후처리를 받도록 하여, 영상을 생성시킨다. CPU(11)은, 또한, 자막 및 이용자 인터페이스(user interface)용 화상데이터를 생성시키고, 이것을 내부버스(B10)를 통하여 제1 컴포넌트 프로세서(103A)로 전송하여, 자막 및 이용자 인터페이스용 화면을 생성시킨다. CPU(11)은, 더욱이, 내부버스(B10)를 통하여 제2 및 제3 컴포넌트 프로세서(103B, 103C)로부터 제1 컴포넌트 프로세서(103A)로 영상 데이터를 보내고, 자막 및 이용자 인터페이스 화면과 합성시켜, 크로스바(104)를 통하여 디스플레이 15에 출력시킨다. CPU(11)은, 소리 데이터를 내부버스(B10)를 통하여 제4 컴포넌트 프로세서(103D)로 보내어, 크로스바(104)를 통하여 스피커(speaker)(17)로 출력시킨다. 이 경우도, 마찬가지로, 내부버스(B10) 및 크로스바(104)는, 관리 프로세서(101)에 의해 제어된다. 상기와 같은 절차를 거쳐, 사용자는, 영상 및 음성을 시청할 수 있다.
3. 화상 및 음성 통신
홈 서버(home server)(1)에 의해서 화상 및 음성을 이용한 통신을 행할 경우의 순서는, 다음과 같다. 본 실시 예의 홈 서버(1)는 네트워크를 통하여 송수신 측 에 접속되어 있는 것으로 가정한다.
송수신 측의 홈 서버(1)의 CPU(11)는, 예컨대 도시되지 않은 입력장치 또는 게임용 컨트롤러(19)로부터의 지시에 기초하여, 메모리(12)에 기록된 각종 프로그램과의 협동에 의해, 신호처리용 디바이스(10)의 컨피규레이션(configuration)을 화상 및 음성 통신용 컨피규레이션으로 바꾼다. 이 상황에서, 메모리(12)에 존재하는 프로그램의 일부 또는 전부는, 공통버스 B 및 내부버스(B10)를 통하여 신호처리용 디바이스(10)의 내부 메모리(102)에 도달하게 되어있다.
신호처리용 디바이스(10)에서는, 관리 프로세서(101)가, 내부 메모리(102)의 프로그램에 기초하여, 전체 처리의 부하(負荷, load) 및 처리의 종류를 추정하는 동시에 동작시켜야 하는 컴포넌트 프로세서의 개수를 결정하고, 이들 컴포넌트 프로세서에, 화상 및 음성전달용의 동작환경을 구축한다.
예컨대, 내부버스(B10)를 통하여, 제1 컴포넌트 프로세서(103A)에 화상생성용 프로그램을 전송하고, 제2 컴포넌트 프로세서(103B)에 화상처리용 프로그램을 전송하고, 제3 컴포넌트 프로세서(103C)에 음성출력용 프로그램을 전송하고, 제4 컴포넌트 프로세서(103D)에 음성입력용 프로그램을 전송하여, 각각의 프로그램들이 실행가능하도록 한다.
송신 측의 홈 서버(home server)(1)의 CPU(11)은, 크로스바(104)를 통하여 카메라(16)의 촬영화상을 스캔(scan)하고, 제2 컴포넌트 프로세서(103B)가 화상처리를 행하도록 한다. 이 화상처리에 의해서, 대역제한 및 동작검색 등이 행해진다. CPU(11)은, 제2 컴포넌트 프로세서(103B)에 의한 화상처리의 결과를 내부버스(B10) 및 공통버스(B)를 통하여 수신하고, 이 화상처리결과에 따라 촬영화상을 압축한 뒤, 이 압축된 촬영화상을 IO(13)으로부터 네트워크로 송출한다.
수신 측의 홈 서버(home server)(1)는, 압축된 영상 데이터를 네트워크로부터 수신하고, 이 수신받은 영상데이터를 CPU(11)의 처리를 통하여 복원한다. 그리고나서, 상기 홈 서버는 복원된 화상을 공통버스(B) 및 내부버스(B10)를 통하여 제1 컴포넌트 프로세서(103A)로 전송하고, 전송에 의하여 얻어진 영상을 크로스바(104)를 통하여 디스플레이장치(15)에 디스플레이시킨다. 이 경우도, 내부버스(B10) 및 크로스바(104)는, 관리 프로세서(101)에 의해 제어된다.
또한, 상기의 사례에서는, 각각의 관리 프로세서(101)가, 전송받은 각종 컴포넌트 프로세서용 프로그램을 CPU(11)로부터 해당되는 컴포넌트 프로세서로 전송하고 전송된 프로그램을 실행시킴으로써, 게임용의 동작환경, 영상 및 음성전달용의 동작환경, 및 화상 및 음성통신용의 동작환경이 각각의 컴포넌트 프로세서 내에 구성된다는 것을 전제로 하여 설명되었다. 택일적으로, 각종 컴포넌트 프로세서용 프로그램은, 메모리(12)로부터 읽혀져서 관리 프로세서(101) 스스로에 의해 전송되어도 좋다. 또한, 각 컴포넌트 프로세서(103A ~ 103D)가 처리해야 하는 데이터도, 관리 프로세서(101)가 메모리(12)에서 읽어내어 전송해도 좋고, 컴포넌트 프로세서 (103A ~ 103D)가 관리 프로세서(101)에 요청하여 입수하도록 해도 좋다.
4. 여러 종류의 애플리케이션(application)의 동시실행
예컨대, 상기의 게임과 화상 및 음성통신을 동시에 실행할 경우, 이들 애플 리케이션의 조합이, 도 3에 도시된 바와 같이 시분할로 바뀌면, 게임 또는 화상 및 음성통신의 하나의 처리주기가 연장되었을 경우에, 또 다른 처리주기가 부족하게 되어 버리는 등의 장애가 발생한다. 예를 들면, 본래 예정되어 있는 통신 화상처리 주기가 부족하게 되어 통신 화상처리가 실행되지 못하게 된다. 도 4의 빗금부분은, 이러한 상황(통신 화상처리주기가 부족한 상태)을 도시한 것이다.
상기와 같은 장애를 제거하기 위하여, 이 실시 예에서는, 도 5에 도시된 바와 같이, 관리 프로세서(101)로부터의 또 다른 요구, 다시 말하면 또 다른 애플리케이션의 지시(프로그램 등)가 주어질 때까지는, 각각의 컴포넌트 프로세서(103A ~ 103D)는, 각각 자기에게 할당된 기능을 수행하기 위한 프로그램만을 실행한다. 즉, 각각의 컴포넌트 프로세서를, 항상 동일한 애플리케이션에서 사용하도록 한다.
이렇게 하면, 처리주기가 변동해도, 도 6에 도시된 바와 같이, 동일한 애플리케이션 이면, 처리시간의 부하(負荷, load)의 균형이 잡힐 수 있기 때문에, 처리주기 총 합계는, 주어진 시간 내로 제한될 수 있다.
이와 같이, 본 실시 예의 홈 서버(home server)(1)에 따르면, 범용 신호처리용 디바이스(10)의 컨피규레이션(동작환경)을 요청되는 성능에 따라 동적으로 바꾸고, 화상생성, 화상처리 또는 음성 입출력처리 등의 다양한 몇몇 처리를, 신호처리용 디바이스(10)를 이용하여, 선택적으로, 또는 동시에 수행할 수 있다. 그리하여 효율적인 신호처리가 가능하게 된다.
또, 각각의 컴포넌트 프로세서(103A ~ 103D)가 독립적으로 동작하여, 다른 처리에 영향을 미치지 않기 때문에, 각 처리의 성능을 예측하기가 쉬워진다. 각각 의 컴포넌트 프로세서에, 처리결과를 일시보관하기 위한 비교적 대용량의 로컬 메모리(local memory)를 부가해서, 여러 개의 컴포넌트 프로세서들의 협동처리를 수행할 때의 메모리 액세스(memory access)의 오버헤드(overhead)를 억제하도록 하면, 각 처리의 성능예측이 보다 용이하게 된다.
더욱이, 화상의 입력 및 출력, 화상 또는 음성 등, 여러 종류의 처리 동안에, 처리 결과를 운반하는 것이 용이하게 되고, 또한, 화상 데이터 또는 음성 데이터 등과 같은, 여러 종류의 데이터로 번갈아 끼워져 있는(interleaved) 입출력을 처리하기가 쉽게 된다. 그 결과 다종다양한 표현형태의 멀티미디어 콘텐츠의 생성, 복수의 기능의 동시형성에 의한 고도의 화상처리가 용이하게 행해질 수 있게 된다. 한편, 비교적 단순한 콘텐츠에 대한 정보처리는, 모든 컴포넌트 프로세서 103A~103D를 같은 시기에 동작시킴으로써, 고속으로 실행될 수 있게 된다.
본 실시 예에서는, 입출력 인터페이스의 예로서 크로스바(104)를 사용했을 경우의 예를 들었지만, 택일적으로 도 7에 도시된 바와 같이, 크로스바(104) 대신에 다중버스(multiple bus)(114)를 사용해도 좋다. 다중버스(114)는, 외부 디바이스와 컴포넌트 프로세서 중 하나를, 또는, 컴포넌트 프로세서끼리를, 어드레스 지정에 따라서 선별적으로 접속가능하게 하는 것이다. 도 7에서 도면부호 113은, 각각 상기에서 기술된 대용량의 로컬 메모리(local memory)가 각각 부가된 여러 개의 컴포넌트 프로세서로 구성되는 범용 신호처리 프로세서이다.
또한, 본 실시 예에서는, 하나의 신호처리용 디바이스가 4개의 컴포넌트 프로세서로 구성되었을 경우의 사례를 설명했지만, 컴포넌트 프로세서의 개수는, 엔 터테인먼트 처리를 위해서 요구되는 성능의 최대값에 맞게 임의로 변경이 가능하다.
또한, 본 실시 예는, 홈 서버(home server)(1)의 사례를 들었지만, 셋톱박스(set-top box) 등의 다른 엔터테인먼트 기기에 대해서도 동일하게 적용할 수 있는 것이다. 또한, 본 발명에 따른 신호처리용 디바이스는, 엔터테인먼트 기기뿐만 아니라, 일반적인 정보처리기기에도 탑재할 수 있는 것이다.
이상의 설명에서 분명하듯이, 본 발명에 따르면, 여러 종류의 신호처리를 효율적이고 동시에 높은 신뢰성으로 실행할 수 있는 엔터테인먼트 기기 및 신호처리용 디바이스가 제공될 수 있다.
본 발명의 바람직한 실시 예는 도면 및 상세한 설명에 상세히 기술되어 있고, 본 발명은 상기 기술된 범위에 한정되거나 제한되지 않으며, 본 발명의 기술적 사상의 범위 및 실시에 따라 다양한 변형 및 수정이 가능하다.
본 발명의 실시 예들은 본 발명의 기술적 사상 및 그 실제 응용을 설명하기 위해 선별되어 기술되었으며, 본 발명의 기술분야에서 통상의 지식을 가진 자가 본 발명을 특정이용에 적합하도록 다양한 실시 예에서의 변형이 가능하다. 본 발명의 기술적 범위는 이하 첨부된 청구항 및 그 균등범위에 미친다.

Claims (11)

  1. 범용 신호처리 프로세서(a general-purpose signal processor)와 관리 프로세서(a management processor)를 구비하는 디바이스(device)에 있어서,
    상기 범용 신호처리 프로세서는 컴포넌트 프로세서(component-processor)의 집합에 의해 구성되어 있고,
    각각의 컴포넌트 프로세서는 다른 컴포넌트 프로세서의 영향을 받지 않는 동작 환경에서 동작 가능하며,
    상기 관리 프로세서는 상기 각각의 컴포넌트 프로세서의 동작 환경을 신호처리요구에 따라 임의로 변경시키는 것이 가능한 것을 특징으로 하는 신호처리용 디바이스(signal processing device).
  2. 제 1항에 있어서,
    외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로부터 입력된 처리대상신호의 수신 및, 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로 처리결과신호의 출력을 행하는 입출력 인터페이스(an input/output interface)를 더 구비하며,
    상기 관리 프로세서는, 상기 입출력 인터페이스를 통하여 입력되는 처리대상신호를 수신하거나 또는 신호처리 요구에 따라 상기 처리결과신호를 출력하는 컴포 넌트 프로세서 중 하나를 교체하도록 상기 입출력 인터페이스를 제어하는 것을 특징으로 하는 신호처리용 디바이스.
  3. 제 2항에 있어서,
    상기 입출력 인터페이스가, 상기 외부 디바이스와 상기 컴포넌트 프로세서 중 하나, 또는 상기 컴포넌트 프로세서끼리를 선택적으로 접속가능하게 하는 크로스바 스위치(a cross bar switch)를 포함하는 것을 특징으로 하는 신호처리용 디바이스.
  4. 제 2항에 있어서,
    상기 입출력 인터페이스가, 상기 외부 디바이스와 상기 컴포넌트 프로세서 중 하나, 또는 상기컴포넌트 프로세서끼리를 선택적으로 접속가능하게 하는 다중버스(a multiple bus)를 포함하는 것을 특징으로 하는 신호처리용 디바이스.
  5. 제 2항에 있어서,
    각각의 컴포넌트 프로세서에 각각 로컬 메모리(local memory)가 설치되며, 상기 로컬 메모리는, 당해 컴포넌트 프로세서에 의한 처리대상신호 혹은 처리결과 신호가 상기 입출력 인터페이스로 출력될 수 있을 때까지, 상기 처리대상신호 혹은 처리결과신호를 저장하는 것을 특징으로 하는 신호처리용 디바이스.
  6. 제 2항에 있어서,
    상기 범용 신호처리 프로세서, 상기 관리 프로세서 및 상기 입출력 인터페이스가 하나의 패키지 케이스에 수용되어 있고, 이 패키지 케이스에는, 적어도, 관리 프로세서에 신호처리 요구를 하는 장치와의 접속을 가능하게 하는 제 1 접속 인터페이스와, 상기 입출력 인터페이스와의 사이에서 신호를 전달하는 상기 외부 디바이스와의 접속을 가능케 하는 제 2 접속 인터페이스가 형성되어 있는 것을 특징으로 하는 신호처리용 디바이스.
  7. 신호처리용 디바이스(a signal processing device)와, 상기 신호처리용 디바이스에 신호처리 요구를 하는 주(主)-프로세서(a main processor)를 구비한 엔터테인먼트 기기에 있어서,
    상기 신호처리용 디바이스는, 범용 신호처리 프로세서, 관리 프로세서 및 입출력 인터페이스를 가지며,
    상기 범용 신호처리 프로세서는 컴포넌트 프로세서의 집합에 의해 구성되어 있고, 각각의 컴포넌트 프로세서는 다른 컴포넌트 프로세서의 영향을 받지 않는 동작 환경에서 병렬동작이 가능하며,
    상기 입출력 인터페이스는 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로부터 오는 처리대상신호를 입력하거나 또는 외부 디바이스 또는 상기 컴포넌트 프로세서 중 하나로 처리결과신호를 출력하며,
    상기 관리 프로세서는 상기 주 프로세서로부터 제공된 신호처리요구에 따라 각각의 상기 컴포넌트 프로세서의 동작 환경을 설정하는 동시에, 상기 입출력 인터페이스를 통하여 입력되는 처리대상신호를 수신하거나 또는 신호처리 요구에 따라 상기 처리결과신호를 출력하는 컴포넌트 프로세서 중 하나를 교체하도록 상기 입출력 인터페이스를 제어하는 것을 특징으로 하는 엔터테인먼트 기기(entertainment device).
  8. 제7항에 있어서,
    컴퓨터 네트워크와의 접속을 가능케 하는 네트워크 인터페이스와, 컴퓨터에 의해 읽혀질 수 있는 디지털 정보를 축적하는 저장장치(storage means)를 더 구비하며,
    상기 주 프로세서는, 상기 네트워크 인터페이스를 제어하여 외부 기기로부터 상기 디지털 정보를 취득하고, 취득한 디지털 정보를 상기 저장장치에 축적하는 동시에, 축적된 디지털 정보 및 그것에 기초하는 신호처리 요구를 상기 신호처리용 디바이스의 관리 프로세서에 제공함으로써, 상기 디지털 정보에 따라서 그 콘텐츠가 정해지는 엔터테인먼트 처리를 위한 동작 환경을 하나 또는 복수의 상기 컴포넌트 프로세서 위에 구축시키는 것을 특징으로 하는 엔터테인먼트 기기.
  9. 제8항에 있어서,
    상기 주 프로세서는, 상기 관리 프로세서를 통하여 상기 하나 또는 복수의 컴포넌트 프로세서에 엔터테인먼트 처리를 위한 동작 환경을 구축한 뒤, 다른 디지털 정보를 취득했을 때는, 상기 구축완료된 동작 환경을 상기 다른 디지털 정보에 기초하여 새로운 동작 환경으로 재구축시키는 것을 특징으로 하는 엔터테인먼트 기기.
  10. 제8항에 있어서,
    상기 디지털 정보는 각각 요구되는 기능을 실현 가능케 하기 위한 여러 종류의 응용 프로그램(application program)이고,
    상기 관리 프로세서는, 상기 요구되는 기능을 각각의 대응하는 컴포넌트 프로세서에 할당하고, 할당된 기능을 실현하기 위한 응용 프로그램을 상기 저장장치로부터 읽어내어 실행시키는 것을 특징으로 하는 엔터테인먼트 기기.
  11. 제10항에 있어서,
    각각의 상기 컴포넌트 프로세서는, 상기 관리 프로세서가 다른 요구를 부여(附與)할 때까지는 자기에게 할당된 기능을 실현하는 응용 프로그램(application program)을 실행하기 위해서만 동작하는 것을 특징으로 하는 엔터테인먼트 기기.
KR1020057010841A 2002-12-16 2003-12-12 신호처리용 디바이스 및 엔터테인먼트 기기 KR100755123B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00363780 2002-12-16
JP2002363780A JP4542308B2 (ja) 2002-12-16 2002-12-16 信号処理用デバイス及び情報処理機器

Publications (2)

Publication Number Publication Date
KR20050093772A KR20050093772A (ko) 2005-09-23
KR100755123B1 true KR100755123B1 (ko) 2007-09-04

Family

ID=32588215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010841A KR100755123B1 (ko) 2002-12-16 2003-12-12 신호처리용 디바이스 및 엔터테인먼트 기기

Country Status (7)

Country Link
US (1) US9418044B2 (ko)
EP (1) EP1576489A3 (ko)
JP (1) JP4542308B2 (ko)
KR (1) KR100755123B1 (ko)
CN (1) CN100367268C (ko)
TW (1) TWI252426B (ko)
WO (1) WO2004055689A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462807B1 (ko) * 2004-04-28 2004-12-17 엔에이치엔(주) 무선 네트워크를 통한 마일리지 제공 방법 및 그 시스템
JP5231970B2 (ja) * 2008-12-16 2013-07-10 学校法人光産業創成大学院大学 表面検査装置
US9942593B2 (en) * 2011-02-10 2018-04-10 Intel Corporation Producing decoded audio at graphics engine of host processing platform
CN106791152B (zh) * 2016-12-30 2019-08-27 Oppo广东移动通信有限公司 一种通信方法及移动终端
JP6737717B2 (ja) * 2017-01-06 2020-08-12 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびアプリケーション画像配信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450557A (en) * 1989-11-07 1995-09-12 Loral Aerospace Corp. Single-chip self-configurable parallel processor
US5886537A (en) * 1997-05-05 1999-03-23 Macias; Nicholas J. Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3643227A (en) * 1969-09-15 1972-02-15 Fairchild Camera Instr Co Job flow and multiprocessor operation control system
US4000487A (en) * 1975-03-26 1976-12-28 Honeywell Information Systems, Inc. Steering code generating apparatus for use in an input/output processing system
US4498134A (en) * 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
JPS5999575A (ja) 1982-11-29 1984-06-08 Mitsubishi Electric Corp パイプライン演算装置
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US5339396A (en) * 1987-11-18 1994-08-16 Hitachi, Ltd. Interconnection network and crossbar switch for the same
US5175837A (en) * 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5220651A (en) * 1989-10-11 1993-06-15 Micral, Inc. Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus
US5522083A (en) * 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
JP3083540B2 (ja) * 1990-08-20 2000-09-04 株式会社東芝 マルチプロセッサを用いた交換制御方式
JP3203701B2 (ja) * 1990-11-01 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法
US5349680A (en) * 1990-11-07 1994-09-20 Kabushiki Kaisha Toshiba Information processing apparatus for executing application programs under control of a system program
JP2770603B2 (ja) 1991-03-14 1998-07-02 三菱電機株式会社 並列計算機
US5392391A (en) * 1991-10-18 1995-02-21 Lsi Logic Corporation High performance graphics applications controller
JPH0670076A (ja) * 1992-08-19 1994-03-11 Toshiba Corp ファクシミリ蓄積交換システム
US5414857A (en) * 1992-10-02 1995-05-09 Ast Research, Inc. Adaptive processor interface operable with different types of processors
US5504670A (en) * 1993-03-31 1996-04-02 Intel Corporation Method and apparatus for allocating resources in a multiprocessor system
US5864679A (en) * 1993-09-06 1999-01-26 Kabushiki Kaisha Toshiba Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
CA2138263C (en) 1993-09-27 2000-02-22 Yukihiko Okumura Multiprocessor
JPH07141305A (ja) 1993-11-16 1995-06-02 Hitachi Ltd 並列計算機の実行制御方法
AU1433495A (en) * 1993-12-12 1995-06-27 Asp Solutions Usa, Inc. Apparatus and method for signal processing
CA2137488C (en) * 1994-02-18 1998-09-29 Richard I. Baum Coexecuting method and means for performing parallel processing in conventional types of data processing systems
US5442789A (en) * 1994-03-31 1995-08-15 International Business Machines Corporation System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors
US5832303A (en) * 1994-08-22 1998-11-03 Hitachi, Ltd. Large scale interconnecting switch using communication controller groups with multiple input-to-one output signal lines and adaptable crossbar unit using plurality of selectors
US5491787A (en) * 1994-08-25 1996-02-13 Unisys Corporation Fault tolerant digital computer system having two processors which periodically alternate as master and slave
EP0700180A1 (de) * 1994-08-31 1996-03-06 STUDER Professional Audio AG Vorrichtung zur Bearbeitung von digitalen Audio-Signalen
SE503633C2 (sv) * 1994-10-17 1996-07-22 Ericsson Telefon Ab L M Lastdelande system och förfarande för behandling av data samt kommunikationssystem med lastdelning
JP3625880B2 (ja) * 1994-12-02 2005-03-02 株式会社ソニー・コンピュータエンタテインメント 音源装置
WO1996019772A1 (en) 1994-12-19 1996-06-27 Philips Electronics N.V. Variable data processor allocation and memory sharing
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US5630161A (en) * 1995-04-24 1997-05-13 Martin Marietta Corp. Serial-parallel digital signal processor
JPH09160890A (ja) 1995-10-06 1997-06-20 Matsushita Electric Ind Co Ltd マルチプロセッサシステム
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
KR100506959B1 (ko) * 1996-02-29 2005-11-11 소니 컴퓨터 엔터테인먼트 인코포레이티드 화상처리장치및화상처리방법
EP0835028B1 (en) * 1996-04-17 2006-10-04 Sony Corporation Matrix switcher
KR100280285B1 (ko) * 1996-08-19 2001-02-01 윤종용 멀티미디어 신호에 적합한 멀티미디어 프로세서
US6241610B1 (en) * 1996-09-20 2001-06-05 Nintendo Co., Ltd. Three-dimensional image processing system having dynamically changing character polygon number
US6244959B1 (en) * 1996-09-24 2001-06-12 Nintendo Co., Ltd. Three-dimensional image processing system with enhanced character control
JP3923574B2 (ja) 1996-12-02 2007-06-06 株式会社日立製作所 並列データ処理機能を備えた検査装置及び検査方法
JPH10232788A (ja) 1996-12-17 1998-09-02 Fujitsu Ltd 信号処理装置及びソフトウェア
JP3681026B2 (ja) * 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6134515A (en) * 1997-06-13 2000-10-17 Telefonaktiebolaget Lm Ericsson Controlling a first type telecommunications switch upon translating instructions for a second type telecommunications switch
JPH1165862A (ja) 1997-08-14 1999-03-09 Nec Corp マルチプロセッサ資源分割管理方式
US6301603B1 (en) * 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
JP3946393B2 (ja) 1999-10-19 2007-07-18 株式会社東芝 階層構造をもつ並列計算機
US6807620B1 (en) * 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
JP2001290751A (ja) * 2000-04-04 2001-10-19 Sony Corp 情報処理装置、制御装置及び情報処理システム並びにそれらの方法
JP2002078958A (ja) * 2000-09-08 2002-03-19 Sony Corp ビデオゲームシステム、ビデオゲーム装置及びその制御方法
JP2002222436A (ja) * 2000-11-22 2002-08-09 Sony Computer Entertainment Inc オブジェクト制御方法、コンピュータに実行させるためのオブジェクト制御処理プログラム、コンピュータに実行させるためのオブジェクト制御処理プログラムを記録したコンピュータ読み取り可能な記録媒体、オブジェクト制御処理プログラムを実行するプログラム実行装置
US6721720B2 (en) * 2001-02-22 2004-04-13 Hewlett-Packard Development Company, L.P. Methods and structure for characterization of bayesian belief networks
JP3716753B2 (ja) * 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US6836839B2 (en) * 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7076576B2 (en) 2001-06-19 2006-07-11 Fujitsu Limited Data transfer in multi-node computer system
US6578940B2 (en) * 2001-07-25 2003-06-17 Hewlett-Packard Development Company, L.P. System for ink short protection
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7137121B2 (en) * 2002-04-19 2006-11-14 Equator Technologies, Inc. Data-processing circuit and method for switching between application programs without an operating system
US20030204551A1 (en) * 2002-04-30 2003-10-30 Ling Chen System and method for providing media processing services
JP2004005249A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
US6789058B2 (en) * 2002-10-15 2004-09-07 Mindspeed Technologies, Inc. Complexity resource manager for multi-channel speech processing
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
KR100564743B1 (ko) * 2002-12-18 2006-03-27 한국전자통신연구원 다기능 스위치 패브릭 장치 및 그 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450557A (en) * 1989-11-07 1995-09-12 Loral Aerospace Corp. Single-chip self-configurable parallel processor
US5886537A (en) * 1997-05-05 1999-03-23 Macias; Nicholas J. Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells

Also Published As

Publication number Publication date
TWI252426B (en) 2006-04-01
CN100367268C (zh) 2008-02-06
WO2004055689A3 (en) 2005-10-06
US20040163132A1 (en) 2004-08-19
JP2004199149A (ja) 2004-07-15
EP1576489A3 (en) 2005-11-23
WO2004055689A2 (en) 2004-07-01
KR20050093772A (ko) 2005-09-23
US9418044B2 (en) 2016-08-16
EP1576489A2 (en) 2005-09-21
JP4542308B2 (ja) 2010-09-15
CN1726486A (zh) 2006-01-25
TW200500941A (en) 2005-01-01

Similar Documents

Publication Publication Date Title
CA2814420C (en) Load balancing between general purpose processors and graphics processors
CN114501062B (zh) 视频渲染协同方法、装置、设备及存储介质
CN106454389B (zh) 一种直播视频的播放方法与装置
KR20070035037A (ko) 정보 처리 시스템 및 정보 처리 방법과 컴퓨터 프로그램
JP2002506251A (ja) 共有メモリを有するマルチプロセッサ装置
KR102110195B1 (ko) 응용 프로그램의 스트리밍 영상 제공 장치 및 방법
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN111614967B (zh) 虚拟形象直播方法、装置、电子设备及存储介质
US9798507B2 (en) Display device and control method
CN109218745A (zh) 一种直播方法、服务器、客户端及可读存储介质
KR100755123B1 (ko) 신호처리용 디바이스 및 엔터테인먼트 기기
CN114205359A (zh) 视频渲染协同方法、装置及设备
Vats et al. Semantic-aware view prediction for 360-degree videos at the 5g edge
KR20210017960A (ko) 응용 프로그램의 스트리밍 영상 제공 장치 및 방법
KR100719416B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
Rohloff et al. OpenUVR: An open-source system framework for untethered virtual reality applications
JP4329647B2 (ja) 情報処理システム及び情報処理方法、並びにコンピュータプログラム
CN111083137B (zh) 物联网终端设备状态调整的方法、装置及操作系统
CN110351584A (zh) 视频混流方法、视频混流装置及存储介质
CN115037979B (zh) 投屏方法及相关设备
JP2005301607A (ja) 情報処理装置、情報処理システムおよび情報処理方法
CN113893525A (zh) 云游戏运行方法、装置、电子设备及计算机可读介质
JP2005191690A (ja) 動画像復号化装置および動画像復号化方法
CN116016968A (zh) 一种音视频数据的处理方法、装置、存储介质及电子设备
WO2010150465A1 (ja) AV(Audio Visual)データ再生回路、AVデータ再生装置、集積回路およびAVデータ再生方法

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120802

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140808

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190819

Year of fee payment: 13