KR20210110202A - 촬상 장치, 디바이스, 제어 방법, 및 프로그램 - Google Patents

촬상 장치, 디바이스, 제어 방법, 및 프로그램 Download PDF

Info

Publication number
KR20210110202A
KR20210110202A KR1020210023101A KR20210023101A KR20210110202A KR 20210110202 A KR20210110202 A KR 20210110202A KR 1020210023101 A KR1020210023101 A KR 1020210023101A KR 20210023101 A KR20210023101 A KR 20210023101A KR 20210110202 A KR20210110202 A KR 20210110202A
Authority
KR
South Korea
Prior art keywords
information
analysis processing
data
imaging apparatus
imaging
Prior art date
Application number
KR1020210023101A
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 캐논 가부시끼가이샤
Publication of KR20210110202A publication Critical patent/KR20210110202A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017581Coupling arrangements; Interface arrangements programmable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00249Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a photographic apparatus, e.g. a photographic printer or a projector
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42661Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
    • H04N21/42669Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive the medium being removable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • H04N5/225
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

적어도 촬영 화상을 저장할 수 있는 디바이스를 착탈할 수 있는 장착부를 포함하는 촬상 장치는, 촬상 장치에 의해 취득되는 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 디바이스가 장착부에 장착되는 경우, 디바이스에 관한 디바이스 정보에 기초하여 디바이스의 논리 회로를 구성하기 위해 사용되는 회로 데이터를 결정하고 결정된 회로 데이터를 디바이스에 송신한다.

Description

촬상 장치, 디바이스, 제어 방법, 및 프로그램{IMAGE CAPTURING APPARATUS, DEVICE, CONTROL METHOD, AND PROGRAM}
본 발명은 분리가능 디바이스에 의한 정보 처리 기능의 설정 방법에 관한 것이다.
근년, 다양한 씬에서, 감시 카메라에 의해 촬영된 화상을 사용하여, 물체 검출 및 추적을 행하거나 또는 속성 추정을 행하는 화상 해석, 및 이러한 화상 해석 결과에 기초하는 물체의 수의 추정 같은 화상 처리가 행해진다. 종래, 이러한 화상 처리는, 실제 화상 처리를 실행하는 PC 또는 서버 등의 고성능 연산 장치에 감시 카메라의 영상을 전송함으로써 행해져 왔다. 그러나, 최근의 모바일 연산 장치의 처리 능력의 향상은 감시 카메라 측에서 화상 처리를 행하는 것을 가능하게 한다(WO2016/031720 참조).
WO2016/031720는 카메라에 화상 처리 기능을 부여함으로써 연산 장치의 부하를 저감하는 시스템을 기재하고 있다. 그러나, 이러한 전자 기기에서 확장적으로 처리 기능을 부가하는 것은 용이하지 않는다.
본 발명은 전자 기기에서의 기능을 용이하게 확장하는 기술을 제공한다.
본 발명의 일 양태에 따르면, 적어도 촬영 화상(captured image)을 저장할 수 있는 디바이스를 착탈할 수 있는 장착부를 포함하는 촬상 장치로서, 상기 촬상 장치에 의해 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 디바이스가 상기 장착부에 장착되는 경우, 상기 디바이스에 관한 디바이스 정보에 기초하여 상기 디바이스의 상기 논리 회로를 구성하기 위해 사용되는 회로 데이터를 결정하는 제1 결정 수단; 및 결정된 상기 회로 데이터를 상기 디바이스에 송신하는 송신 수단을 포함하는 촬상 장치가 제공된다.
본 발명의 다른 양태에 따르면, 장착부를 포함하는 촬상 장치에 장착되는 디바이스이며, 상기 장착부는 적어도 촬영 화상을 저장할 수 있는 상기 디바이스를 착탈할 수 있고, 상기 촬상 장치로부터 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 구성 수단; 및 상기 디바이스가 상기 촬상 장치에 장착되는 경우, 상기 디바이스가 상기 구성 수단을 포함하는 것을 상기 촬상 장치가 특정할 수 있게 하는 통신을 실행하는 실행 수단을 포함하며, 상기 통신에 기초하여 상기 촬상 장치로부터 회로 데이터가 취득되는 경우, 상기 구성 수단은 상기 회로 데이터에 기초하여 상기 논리 회로를 구성하는 디바이스가 제공된다.
본 발명의 추가적인 특징은 (첨부된 도면을 참고한) 예시적인 실시형태에 대한 이하의 설명으로부터 명확해질 것이다.
도 1은 시스템 구성예를 도시하는 블록도이다.
도 2는 촬상 장치의 하드웨어 구성예를 도시하는 블록도이다.
도 3은 촬상 장치의 기능 구성예를 도시하는 블록도이다.
도 4는 분리가능 디바이스의 하드웨어 구성예를 도시하는 블록도이다.
도 5는 분리가능 디바이스의 기능 구성예를 도시하는 블록도이다.
도 6은 입력/출력 장치의 하드웨어 구성예를 도시하는 블록도이다.
도 7은 입력/출력 장치의 기능 구성예를 도시하는 블록도이다.
도 8은 시스템에 의해 실행되는 처리의 수순의 일례를 도시하는 흐름도이다.
도 9는 장착된 디바이스의 분류를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 10은 분리가능 디바이스에 저장되는 데이터의 구성예를 도시하는 도면이다.
도 11은 기입 대상의 회로 데이터를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 12는 관리 장치에 저장되는 데이터의 구성예를 도시하는 도면이다.
도 13은 분리가능 디바이스에 회로 데이터를 기입하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 14는 화상 해석 처리를 실행하는 제어의 수순의 일례를 도시하는 흐름도이다.
도 15a 내지 도 15e는 커맨드와 리스폰스의 데이터 구조의 예를 개략적으로 도시하는 도면이다.
도 16은 분리가능 디바이스의 분류를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 17은 분리가능 디바이스의 분류를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 18은 분리가능 디바이스의 하드웨어 구성의 다른 예를 도시하는 블록도이다.
도 19는 시스템에 의해 실행되는 처리의 수순의 일례를 도시하는 순서도이다.
도 20a 및 도 20b는 촬상 장치에 저장되는 데이터의 구성예를 도시하는 도면이다.
도 21은 기입 대상의 회로 데이터를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 22a 및 도 22b는 분리가능 디바이스의 분류를 결정하는 처리를 설명하는 도면이다.
도 23은 분리가능 디바이스의 분류를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 24a 및 도 24b는 분리가능 디바이스의 분류를 결정하는 처리를 설명하는 도면이다.
도 25는 분리가능 디바이스의 분류를 결정하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 26a 내지 도 26c는 분리가능 디바이스의 분류를 결정하는 처리를 설명하는 도면이다.
도 27은 촬상 장치와 분리가능 디바이스의 하드웨어 구성예를 도시하는 블록도이다.
도 28은 분리가능 디바이스에 회로 데이터를 기입하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 29는 분리가능 디바이스에 회로 데이터를 기입하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 30은 분리가능 디바이스에 회로 데이터를 기입하는 처리의 수순의 일례를 도시하는 흐름도이다.
도 31a 및 도 31b는 분리가능 디바이스의 단자에의 신호 접속의 일례를 도시하는 도면이다.
이하, 첨부 도면을 참조하여 실시형태를 상세하게 설명한다. 이하의 실시형태는 청구된 발명의 범위를 한정하려는 것이 아니라는 것에 유의한다. 실시형태에는 다수의 특징이 기재되어 있지만, 이러한 특징 모두가 필요한 발명으로 한정되지 않으며, 다수의 이러한 특징은 적절히 조합될 수 있다. 또한, 첨부 도면에서는, 동일하거나 유사한 구성에는 동일한 참조 번호가 부여되며, 그에 대한 중복하는 설명은 생략한다.
<시스템 구성>
도 1은 본 실시형태에 다른 화상 해석 시스템의 구성예를 나타낸다. 이하에서는, 일례로서, 이 시스템이 특정 인물 추적 시스템일 경우에 대해서 설명한다. 그러나, 본 발명은 이것에 한정되지 않고, 화상을 해석하고 미리정해진 정보 출력을 행하는 임의의 시스템에 이하의 논의를 적용할 수 있다. 본 시스템은 촬상 장치(110a 내지 110d), 네트워크(120), 및 입력/출력 장치(130)를 포함하도록 구성된다. 촬상 장치(110a 내지 110d)는, 각각, 예를 들어 촬영 화상을 기록할 수 있는 디바이스가 착탈될 수 있는 슬롯을 포함하고, 분리가능 디바이스(100a 내지 100d)가 슬롯에 삽입될 때, 촬상 장치(110a 내지 110d)가 분리가능 디바이스(100a 내지 100d)에 접속된다는 것에 유의한다. 이하에서는, 분리가능 디바이스(100a 내지 100d)를 "분리가능 디바이스(100)"라고 지칭할 것이고, 촬상 장치(110a 내지 110d)를 "촬상 장치(110)"라고 지칭할 것이라는 것에 유의한다.
분리가능 디바이스(100)는, 촬상 장치(110)에 대하여 착탈가능한 연산 디바이스이다. 일례로서, 분리가능 디바이스(100)는 SD 카드에 미리정해진 처리 회로가 탑재된 디바이스이다. 분리가능 디바이스(100)는, 예를 들어 SD 카드의 형태로 촬상 장치(110)에 그 전체가 삽입되도록 구성되며, 이에 의해 촬상 장치(110)로부터 돌출되는 부분이 없는 상태에서 촬상 장치(110)에 접속가능하게 구성될 수 있다. 대안적으로, 분리가능 디바이스(100)는, 예를 들어 촬상 장치(110)에 그 절반 이상이 삽입될 수 있게 구성될 수 있으며, 이에 의해 촬상 장치(110)로부터 돌출되는 부분이 적은 상태에서 촬상 장치(110)에 접속 가능하게 구성될 수 있다. 이에 의해, 분리가능 디바이스(100)가 배선 등의 장애물과 간섭하는 것을 방지할 수 있고, 디바이스의 이용시의 편리성을 높일 수 있다. 또한, 많은 기존의 네트워크 카메라 등의 촬상 장치(110)에는, SD 카드 슬롯이 준비되어 있기 때문에, 분리가능 디바이스(100)는 기존의 촬상 장치(110)에 확장 기능을 제공할 수 있다. 분리가능 디바이스(100)는, SD 카드의 형태 이외에, 적어도 촬상 장치(110)에 의해 촬영된 화상을 저장할 수 있는 저장 장치가 장착되는 때에 사용되는 임의의 인터페이스를 통해 촬상 장치(110)에 장착되도록 구성될 수 있다는 것에 유의한다. 예를 들어, 분리가능 디바이스(100)는, USB(Universal Serial Bus) 인터페이스를 포함할 수 있으며, 촬상 장치(110)의 USB 소켓에 장착되도록 구성될 수 있다. 미리정해진 처리 회로는, 예를 들어 미리정해진 처리를 실행하도록 프로그램된 FPGA(Field Programmable Gate Array)에 의해 실현되지만, 다른 형태로 실현될 수 있다.
촬상 장치(110)는 네트워크 카메라 등의 촬상 장치이다. 본 실시형태에서는, 촬상 장치(110)는, 영상을 처리할 수 있는 연산 장치를 내장하지만, 이것에 한정되지 않는다. 예를 들어, 촬상 장치(110)에 접속된 PC(Personal Computer) 등의 외부 컴퓨터가 존재할 수 있으며, 이들의 조합을 촬상 장치(110)로서 다루어도 된다. 또한, 본 실시형태에서는, 모든 촬상 장치(110)에, 분리가능 디바이스(100)가 장착된다. 도 1은, 4개의 촬상 장치(110), 및 이들에 장착된 분리가능 디바이스를 나타낸다는 것에 유의한다. 디바이스의 조합의 수는 3개 이하 또는 5개 이상일 수 있다. 촬상 장치(110)에 화상 해석 처리 기능을 갖는 분리가능 디바이스(100)가 장착되면, 촬상 장치(110)가 화상 해석 처리 기능을 갖지 않아도, 촬상 장치(110) 측에서 영상 처리를 실행할 수 있다. 또한, 본 실시형태와 같이 촬상 장치(110)에 영상 처리용의 연산 장치가 배치된 형태에서는, 연산 장치를 포함하는 분리가능 디바이스(100)를 촬상 장치(110)에 장착함으로써, 촬상 장치(110) 측에서 실행가능한 화상 처리를 다양화/고도화할 수 있다.
입력/출력 장치(130)는, 유저로부터의 입력의 접수 및 유저에의 정보의 출력(예를 들어, 정보의 표시)을 행하는 장치이다. 본 실시형태에서는, 예를 들어 입력/출력 장치(130)는 PC 등의 컴퓨터이며, 그 컴퓨터에 인스톨된 브라우저 또는 네이티브 애플리케이션(native application)에 의해 정보를 입력/출력한다.
관리 장치(140)는 각종 데이터를 보유하는 관리 서버이다. 관리 장치(140)는, 예를 들어 촬상 장치(110) 또는 입력/출력 장치(130)로부터의 요구에 응답하여 데이터를 송신/수신하도록 구성될 수 있다. 또한, 관리 장치(140)는 인증 처리 및 인증시의 정보도 관리하도록 구성될 수 있다.
촬상 장치(110), 입력/출력 장치(130) 및 관리 장치(140)는 네트워크(120)를 통해서 서로 통신가능하게 접속된다. 네트워크(120)는, 예를 들어 Ethernet®의 통신 규격을 충족하는 복수의 라우터, 스위치, 케이블 등을 포함하도록 구성된다. 본 실시형태에서는, 네트워크(120)는, 촬상 장치(110)와 입력/출력 장치(130) 사이의 통신을 가능하게 하는 임의의 네트워크일 수 있으며, 임의의 규모 및 구성과 준거하는 통신 규격에 의해 구축될 수 있다. 예를 들어, 네트워크(120)는, 인터넷, 유선 LAN(Local Area Network), 무선 LAN, WAN(Wide Area Network) 등일 수 있다. 네트워크(120)는, 예를 들어 ONVIF(Open Network Video Interface Forum) 규격에 준거한 통신 프로토콜에 의한 통신이 가능하도록 구성될 수 있다. 그러나, 네트워크(120)는 이것에 한정되지 않고, 예를 들어 독자의 통신 프로토콜 등의 다른 통신 프로토콜에 의한 통신이 가능하도록 구성될 수 있다.
<장치 구성>
(촬상 장치의 구성)
계속해서, 촬상 장치(110)의 구성에 대해서 설명한다. 도 2는, 촬상 장치(110)의 하드웨어 구성예를 도시하는 블록도이다. 촬상 장치(110)는, 하드웨어 구성으로서, 예를 들어 촬상 유닛(201), 화상 처리 유닛(202), 연산 처리 유닛(203), 배신 유닛(204), 및 SD I/F 유닛(205)을 포함한다. I/F는 인터페이스의 약어라는 것에 유의한다.
촬상 유닛(201)은, 광을 결상하도록 구성되는 렌즈부, 및 결상된 광에 따른 아날로그 신호 변환을 행하는 촬상 소자를 포함하도록 구성된다. 렌즈부는, 화각을 조정하는 줌 기능, 광량을 조정하는 조리개 기능 등을 갖는다. 촬상 소자는, 광을 아날로그 신호로 변환할 때 감도를 조정하는 게인 기능을 갖는다. 이들 기능은, 화상 처리 유닛(202)으로부터 통지된 설정값에 기초해서 조정된다. 촬상 유닛(201)에 의해 취득된 아날로그 신호는, 아날로그-디지털 변환 회로에 의해 디지털 신호로 변환되고, 화상 신호로서 화상 처리 유닛(202)에 전송된다.
화상 처리 유닛(202)은, 화상 처리 엔진 및 그 주변 디바이스를 포함하도록 구성된다. 주변 디바이스는, 예를 들어 RAM(Random Access Memory), I/F의 드라이버 등을 포함한다. 화상 처리 유닛(202)은, 촬상 유닛(201)으로부터 취득된 화상 신호에 대하여, 예를 들어 현상 처리, 필터 처리, 센서 보정, 및 노이즈 제거 등의 화상 처리를 행해서 화상 데이터를 생성한다. 또한, 화상 처리 유닛(202)은, 렌즈부 및 촬상 소자에 설정값을 송신하고, 적절히 노출된 화상을 취득하도록 노출 조정을 실행할 수 있다. 화상 처리 유닛(202)에 의해 생성된 화상 데이터는 연산 처리 유닛(203)에 전송된다.
연산 처리 유닛(203)은, CPU 또는 MPU 등의 적어도 1개의 프로세서, RAM 및 ROM 등의 메모리, I/F의 드라이버 등에 의해 구성된다. CPU는 Central Processing Unit의 두문자어이고, MPU는 Micro Processing Unit의 두문자어이고, RAM은 Random Access Memory의 두문자어이며, ROM은 Read Only Memory의 두문자어이다. 일례에서, 연산 처리 유닛(203)은, 상술한 시스템에서 실행되어야 할 처리의 각 부분을 촬상 장치(110) 및 분리가능 디바이스(100) 중 어느 것이 실행해야 하는지에 관한 분담을 결정할 수 있고, 분담에 대응하는 처리를 실행할 수 있다. 처리 내용 및 처리 분담의 상세에 관해서는 후술한다. 화상 처리 유닛(202)으로부터 수신된 화상은 배신 유닛(204) 또는 SD I/F 유닛(205)에 전송된다. 처리 결과의 데이터도 배신 유닛(204)에 전송된다.
배신 유닛(204)은, 네트워크 배신 엔진, 및 예를 들어 RAM 및 ETH PHY 모듈 등의 주변 디바이스 등을 포함하도록 구성된다. ETH PHY 모듈은, Ethernet의 물리(PHY) 레이어의 처리를 실행하는 모듈이다. 배신 유닛(204)은, 연산 처리 유닛(203)으로부터 취득한 화상 데이터 또는 처리 결과의 데이터를, 네트워크(120)에 배신가능한 형식으로 변환하고, 변환된 데이터를 네트워크(120)에 출력한다. SD I/F 유닛(205)은, 분리가능 디바이스(100)와 접속하기 위해 사용되는 인터페이스 부분이며, 예를 들어 전력 공급부, 및 분리가능 디바이스(100)를 착탈하기 위해 사용되는 착탈 소켓 등의 장착부를 포함하도록 구성된다. 여기에서는, SD I/F 유닛(205)은 SD 협회에 의해 책정된 SD 규격에 따라서 구성된다. 연산 처리 유닛(203)으로부터 취득된 화상의 분리가능 디바이스(100)로의 전송, 또는 분리가능 디바이스(100)로부터의 데이터 취득 등의 분리가능 디바이스(100)와 촬상 장치(110) 사이에서의 통신은 SD I/F 유닛(205)을 통해서 행해진다.
도 3은 촬상 장치(110)의 기능 구성예를 나타낸다. 촬상 장치(110)는, 그 기능으로서, 예를 들어 촬상 제어 유닛(301), 신호 처리 유닛(302), 저장 유닛(303), 제어 유닛(304), 해석 유닛(305), 디바이스 통신 유닛(306) 및 네트워크 통신 유닛(307)을 포함한다.
촬상 제어 유닛(301)은, 촬상 유닛(201)을 통해서 주위 환경을 촬영하도록 하는 제어를 실행한다. 신호 처리 유닛(302)은, 촬상 제어 유닛(301)에 의해 촬영된 화상에 대하여 미리정해진 처리를 행하여, 촬영 화상의 데이터를 생성한다. 이하에서는, 이 촬영 화상의 데이터를 단순히 "촬영 화상"이라고 칭한다. 신호 처리 유닛(302)은, 예를 들어 촬상 제어 유닛(301)에 의해 촬영된 화상을 부호화한다. 신호 처리 유닛(302)은, 정지 화상에 대하여, 예를 들어 JPEG(Joint Photographic Experts Group) 등의 부호화 방식을 사용해서 부호화를 행한다. 신호 처리 유닛(302)은, 영상에 대하여, H.264/MPEG-4 AVC(이하에서는, "H.264"이라고 칭한다) 또는 HEVC(High Efficiency Video Coding) 등의 부호화 방식을 사용해서 부호화를 행한다. 신호 처리 유닛(302)은, 미리 설정된 복수의 부호화 방식 중에서, 예를 들어 촬상 장치(110)의 조작 유닛(도시되지 않음)을 통해서 유저에 의해 선택된 부호화 방식을 사용하여 화상을 부호화할 수 있다.
저장 유닛(303)은, 해석 유닛(305)에서 실행가능한 해석 처리의 리스트(이하에서는, "제1 처리 리스트"라고 칭한다) 및 해석 처리의 결과에 대한 후처리의 리스트를 저장한다. 또한, 저장 유닛(303)은 후술하는 해석 처리의 결과를 저장한다. 본 실시형태에서는, 실행되는 처리가 해석 처리라는 것에 유의한다. 그러나, 임의의 처리가 실행될 수 있으며, 저장 유닛(303)은, 실행되는 처리와 관련되는 처리에 대해서, 제1 처리 리스트 및 후처리의 리스트를 저장할 수 있다. 제어 유닛(304)은, 미리정해진 처리를 실행하도록 신호 처리 유닛(302), 저장 유닛(303), 해석 유닛(305), 디바이스 통신 유닛(306), 및 네트워크 통신 유닛(307)을 제어한다.
해석 유닛(305)은, 촬영 화상에 대하여, 후술하는 해석 전처리, 해석 처리, 해석 후처리 중 적어도 하나를 선택적으로 실행한다. 해석 전처리는, 후술하는 해석 처리를 실행하기 전에, 촬영 화상에 대하여 실행되는 처리이다. 본 실시형태에 따른 해석 전처리에서는, 일례로서, 촬영 화상을 분할해서 분할 화상을 작성하는 처리가 실행된다. 해석 처리는 입력된 화상을 해석해서 얻어지는 정보를 출력하는 처리이다. 본 실시형태에 다른 해석 처리에서는, 일례로서, 해석 전처리에 의해 얻어진 분할 화상을 수신하고, 인체 검출 처리, 얼굴 검출 처리, 및 차량 검출 처리 중 적어도 하나를 실행하며, 해석 처리 결과를 출력하는 처리가 실행된다. 해석 처리는, 화상에 포함되는 오브젝트를 검출하도록 학습된 기계 학습 모델을 사용하여, 분할 화상 중의 오브젝트의 위치를 출력하게 구성된 처리일 수 있다. 예를 들어, J. Redmon 및 A. Farhadi "YOLO9000: Better Faster Stronger" Computer Vision and Pattern Recognition (CVPR) 2016에 기재된 방법을 사용하여 해석 처리를 행할 수 있다.
해석 후처리는, 해석 처리가 실행된 후에 실행되는 처리라는 것에 유의한다. 본 실시형태에 따른 해석 후처리에서는, 일례로서, 각 분할 화상에 대한 해석 처리 결과에 기초하여, 분할 화상에서 검출된 오브젝트의 수를 합계하여 얻은 값을 처리 결과로서 출력하는 처리가 실행된다. 해석 처리는, 패턴 매칭을 행해서 화상 중의 오브젝트를 검출하고 오브젝트의 위치를 출력하는 처리일 수 있다는 것에 유의한다.
디바이스 통신 유닛(306)은, 분리가능 디바이스(100)와의 통신을 행한다. 디바이스 통신 유닛(306)은, 입력된 데이터를 분리가능 디바이스(100)에 의해 처리가능한 형식으로 변환하고, 변환에 의해 얻어진 데이터를 분리가능 디바이스(100)에 송신한다. 또한, 디바이스 통신 유닛(306)은, 분리가능 디바이스(100)로부터 데이터를 수신하고, 수신된 데이터를 촬상 장치(110)에 의해 처리가능한 형식으로 변환한다. 본 실시형태에서는, 디바이스 통신 유닛(306)은, 변환 처리로서, 소수를 부동 소수점 형식과 고정 소수점 형식 사이에서 변환하는 처리를 실행한다. 그러나, 본 발명은 이에 한정되지 않고, 다른 처리가 디바이스 통신 유닛(306)에 의해 실행될 수 있다. 또한, 본 예에서는, 디바이스 통신 유닛(306)은, 분리가능 디바이스(100)에 대하여 SD 규격의 범위 내에서 사전에 정해진 커맨드 시퀀스를 송신하고, 분리가능 디바이스(100)로부터의 리스폰스를 수신함으로써, 분리가능 디바이스(100)와의 통신을 행한다. 네트워크 통신 유닛(307)은 네트워크(120)를 통해서 입력/출력 장치(130)와의 통신을 행한다.
(분리가능 디바이스의 구성)
도 4는 분리가능 디바이스(100)의 하드웨어 구성예를 도시하는 블록도이다. 분리가능 디바이스(100)는, 일례로서, I/F 유닛(401), FPGA(402), SD 컨트롤러(403), 저장 유닛(404), 및 FPGA(405)를 포함하도록 구성된다. 분리가능 디바이스(100)는, 촬상 장치(110)에 제공되는 SD I/F 유닛(205)의 착탈 소켓에/으로부터 삽입/제거될 수 있는 형상, 즉 SD 규격에 준한 형상으로 형성된다.
I/F 유닛(401)은, 촬상 장치(110) 등의 장치와 분리가능 디바이스(100)를 접속하는데 사용되는 인터페이스 부분이다. I/F 유닛(401)은, 예를 들어 촬상 장치(110)로부터 전력의 공급을 받고, 분리가능 디바이스(100)에서 사용되는 전력 공급을 생성 및 분배하는, 전기적인 접점 단자 등을 포함하도록 구성된다. I/F 유닛(401)은, 촬상 장치(110)의 SD I/F 유닛(205)과 마찬가지로, SD 규격 내에서 정의(준거)되어 있는 항목에 관해서는, 그것을 따른다. 촬상 장치(110)로부터의 화상 및 설정 데이터의 수신, 및 FPGA(402)로부터 촬상 장치(110)로의 데이터의 송신은 I/F 유닛(401)을 통해서 실행된다.
FPGA(402) 및 FPGA(405)는 입력/출력 제어 유닛(410), 처리 전환 유닛(411) 및 연산 처리 유닛(412)을 포함하도록 구성된다. FPGA(402) 및 FPGA(405) 각각은 내부의 논리 회로 구조를 반복적으로 재구성할 수 있는 반도체 디바이스의 1종이다. 각 실시형태에서의 "재구성"이란 논리 회로가 구성(작성)되어 있지 않은 상태로부터 논리 회로가 구성(작성)된 상태로의 전환을 포함한다는 것에 유의한다. 즉, "재구성"은 이미 어떠한 논리 회로가 구성되어 있는 상태로부터 다른 논리 회로가 구성되어 있는 상태로의 전환 이외의 처리를 포함한다. FPGA(402) 및 FPGA(405)에 의해 실현되는 처리에 의해, 분리가능 디바이스(100)가 장착된 장치에 처리 기능을 부가(제공)할 수 있다. 또한, FPGA(402) 및 FPGA(405)의 재구성 기능에 의해, 이후 논리 회로 구조를 변경할 수 있다. 이 때문에, 예를 들어 기술의 진보가 빠른 분야의 장치에 분리가능 디바이스(100)를 장착할 때에, 그 장치에서 적시에 적절한 처리를 실행할 수 있다. 본 실시형태에서는, FPGA가 사용되는 예에 대해서 설명한다는 것에 유의한다. 그러나, 후술하는 처리를 실현될 수 있는 경우, 예를 들어 범용 ASIC 또는 전용 LSI가 사용될 수 있다. FPGA(402) 및 FPGA(405)는 생성되는 논리 회로 구조의 정보를 포함하는 설정 데이터를 전용 I/F로부터 기입하는 것에 의해 또는 설정 데이터를 전용 I/F로부터 판독하는 것에 의해 기동된다.
본 실시형태에서는, 해석 처리 기능을 형성하는 FPGA(405)의 설정 데이터는 저장 유닛(404)에 보유되어 있지 않고 촬상 장치(110)로부터 기입된다. 한편, FPGA(402)는, 디바이스에 전력이 투입되면, 저장 유닛(404) 저장 유닛(도시되지 않음)으로부터 설정 데이터를 판독하고, 논리 회로를 생성하며, 이를 기동하도록 구성될 수 있다. 그러나, 본 발명은 이것에 한정되지 않는다. 예를 들어, 분리가능 디바이스(100)에서 전용 회로를 실현함으로써, FPGA(402)는 I/F 유닛(401)을 통해 촬상 장치(110)로부터 기입되는 설정 데이터에 기초하여 기동/동작될 수 있다. FPGA(402) 및 FPGA(405)는 1개의 FPGA에 의해 구성될 수 있다. 또한, FPGA(402)의 기능 부분은 전용 회로를 사용해서 형성될 수 있으며, FPGA(405)의 기능 부분만이 재구성가능 FPGA 또는 다른 재구성가능 논리 회로 디바이스에 의해 형성될 수 있다.
입력/출력 제어 유닛(410)은, 촬상 장치(110)에/로부터 화상을 송신/수신하기 위해 사용되는 회로, 촬상 장치(110)로부터 수신된 커맨드를 해석하는 회로, 해석의 결과에 기초해서 제어를 행하는 회로 등을 포함하도록 구성된다. 여기에서의 커맨드는 SD 규격에 정의되는 구조의 커맨드를 포함할 수 있다. 기능의 상세에 대해서는 후술한다. 입력/출력 제어 유닛(410)은, 저장 처리에서는 SD 컨트롤러(403)에 화상을 송신하고, 화상 해석 처리에서는 연산 처리 유닛(412)에 화상을 송신하도록 제어한다. 입력/출력 제어 유닛(410)은, 처리의 전환의 설정 데이터를 수신했을 경우는, 처리 전환 유닛(411)에 설정 데이터를 송신한다.
처리 전환 유닛(411)은, 촬상 장치(110)로부터 수신된 설정 데이터에 기초하여, 저장 유닛(404)으로부터 화상 해석 처리 기능의 정보를 취득하고, 정보를 연산 처리 유닛(412)에 기입하도록 구성되는 회로를 포함하게 구성된다. 화상 해석 처리 기능의 정보는, 예를 들어 연산 처리 유닛(412)에서 구성되는 해석 처리 회로 데이터이다. 해석 처리 회로 데이터는 처리되는 연산의 순서 및 종류, 연산의 계수 등을 나타내는 설정 파라미터를 포함할 수 있다.
연산 처리 유닛(412)은, 화상 해석 처리 기능을 실행하기 위해서 필요한 복수의 연산 회로를 포함하도록 구성된다. 연산 처리 유닛(412)은, 처리 전환 유닛(411)으로부터 수신된 화상 해석 처리 기능의 정보에 기초하여, 각 연산 처리를 실행하고, 처리 결과를 촬상 장치(110)에 송신하며, 및/또는 처리 결과를 저장 유닛(404)에 기록한다. FPGA(405)는, 촬상 장치(110)로부터 기입된 해석 처리 회로 데이터 및 해석 처리 회로에서 설정된 실행 대상 처리 기능에 대응하는 설정 데이터에 의해 연산 처리 유닛(412)에 의해 실행되는 처리 내용을 변경할 수 있다. 이에 의해, 분리가능 디바이스(100)는, 촬상 장치(110)가 보유하고 있는 복수의 해석 처리 회로 데이터에 대응하는 처리 중 적어도 하나를 선택적으로 실행할 수 있게 된다. 필요한 처리의 설정 데이터가 FPGA(405)에 수시로 기입되면, 분리가능 디바이스(100)가 장착된 촬상 장치(110)에 의해 예를 들어 막 개발된 최신의 처리를 실행시킬 수 있다는 것에 유의한다. 이하에서는, 복수의 처리 기능에 대응하는 복수의 설정 데이터를 보유하고 있는 것을 "복수의 처리 기능을 보유한다"라고 표현한다는 것에 유의한다. 즉, 예를 들어 FPGA(405)가 1개의 처리 기능을 실행하도록 구성되는 상태에서도, 다른 처리 기능을 위한 설정 데이터에 의해 연산 처리 유닛(412)의 처리 내용을 변경할 수 있을 경우, 이는 "복수의 처리 기능을 실행할 수 있다"라고 표현한다.
SD 컨트롤러(403)는, SD 규격에 정의되는 바와 같은 공지의 컨트롤 IC(Integrated Circuit)이며, SD 프로토콜의 슬레이브 동작(slave operation)의 제어 및 저장 유닛(404)에 대한 데이터 판독/기입 제어를 실행한다. 저장 유닛(404)은, 예를 들어 NAND 플래시 메모리에 의해 형성되고, 촬상 장치(110)로부터 기입된 저장 데이터, 연산 처리 유닛(412)에 기입되는 화상 해석 처리 기능의 정보, 및 FPGA(402)의 설정 데이터 등의 각종 정보를 저장한다.
도 5는 분리가능 디바이스(100)의 기능 구성예를 나타낸다. 분리가능 디바이스(100)는, 그 기능 구성으로서, 예를 들어 해석 유닛(501) 및 통신 유닛(502)을 포함한다. 해석 유닛(501)은 예를 들어 화상 또는 오디오 데이터에 대한 해석 처리를 실행한다. 해석 유닛(501)은, 예를 들어 해석 처리 설정 요구가 입력된 경우에, 입력된 해석 처리를 실행가능한 상태로 설정하기 위한 설정을 실행한다. 해석 유닛(501)은, 화상이 입력된 경우, 입력된 화상에 대하여 실행가능한 상태로 설정된 해석 처리를 실행한다. 본 실시형태에서는, 실행가능한 해석 처리는, 인체 검출 처리 및 얼굴 검출 처리를 포함하지만, 이들에 한정되지 않는다. 예를 들어, 이는 사전에 저장된 인물이 화상에 포함되는지를 결정하는 처리(얼굴 인증 처리)일 수 있다. 예를 들어, 사전에 저장된 인물의 화상 특징과 입력된 화상으로부터 검출된 인물의 화상 특징 사이의 일치 정도가 산출되고, 일치 정도가 임계치 이상인 경우에, 그 인물은 사전에 저장된 인물이라고 결정된다. 대안적으로, 이는, 프라이버시 보호를 목적으로, 입력된 화상으로부터 검출된 인물에 대하여 미리정해진 마스크 화상을 중첩하거나 또는 모자이크 처리를 행하는 처리일 수 있다. 이는, 인물의 특정한 행동을 기계 학습에 의해 학습한 학습 모델을 사용하여, 화상 중의 인물이 특정한 행동을 행하고 있는지를 검출하는 처리일 수 있다. 또한, 이는 화상 중의 영역이 어떤 종류의 영역인지를 결정하는 처리일 수 있다. 예를 들어, 건물, 도로, 인물, 하늘 등을 기계 학습에 의해 학습한 학습 모델을 사용하여, 화상 내의 영역이 어떤 종류의 영역인지를 결정하는 처리일 수 있다. 상술한 바와 같이, 실행가능한 해석 처리는, 기계 학습을 사용한 화상 해석 처리 및 기계 학습을 사용하지 않는 화상 해석 처리 모두에 적용될 수 있다. 상술한 각 해석 처리는, 분리가능 디바이스(100)에 의해 독립적으로 실행되는 것이 아니라 촬상 장치(110)와 협동해서 실행될 수 있다. 통신 유닛(502)은, I/F 유닛(401)을 통해서 촬상 장치(110)와의 통신을 행한다.
(입력/출력 장치의 구성)
도 6은 입력/출력 장치(130)의 하드웨어 구성예를 나타낸다. 입력/출력 장치(130)는, 일반적인 PC 등의 컴퓨터로서 형성되며, 예를 들어 도 6에 나타내는 바와 같이 CPU 등의 프로세서(601), RAM(602) 및 ROM(603) 등의 메모리, HDD(604) 등의 저장 장치 및 통신 I/F(605)를 포함하도록 구성된다. 입력/출력 장치(130)는, 프로세서(601)가, 메모리 및 저장 장치에 저장된 프로그램을 실행함으로써, 각종 기능을 실행할 수 있다.
도 7은, 본 실시형태에 따른 입력/출력 장치(130)의 기능 구성예를 나타낸다. 입력/출력 장치(130)는, 그 기능 구성으로서, 예를 들어 네트워크 통신 유닛(701), 제어 유닛(702), 표시 유닛(703) 및 조작 유닛(704)을 포함한다. 네트워크 통신 유닛(701)은, 예를 들어 네트워크(120)에 접속되고, 네트워크(120)를 통해서 촬상 장치(110) 등의 외부 장치와의 통신을 실행한다. 이것은 일례에 지나지 않고, 예를 들어 네트워크 통신 유닛(701)은 촬상 장치(110)와 직접 통신을 확립하고, 네트워크(120) 또는 다른 장치를 통하지 않고 촬상 장치(110)와 통신하도록 구성될 수 있다는 것에 유의한다. 제어 유닛(702)은, 네트워크 통신 유닛(701), 표시 유닛(703), 및 조작 유닛(704)이 그들 각각의 처리를 실행하도록, 제어한다. 표시 유닛(703)은, 예를 들어 디스플레이를 통해서 유저에 정보를 제시한다. 본 실시형태에서는, 브라우저가 렌더링한 결과를 디스플레이에 표시함으로써, 정보를 유저에게 제시한다. 오디오 또는 진동 등의 화면 표시 이외의 방법에 의해 정보가 제시될 수 있다는 것에 유의한다. 조작 유닛(704)은 유저로부터의 조작을 접수한다. 본 실시형태에서는, 조작 유닛(704)은 마우스 또는 키보드이며, 유저가 이들을 조작하여 브라우저에 유저 조작을 입력한다. 그러나, 조작 유닛(704)은, 이것에 한정되지 않고, 예를 들어 터치 패널 또는 마이크로폰 등의 유저의 의도를 검출할 수 있는 다른 임의의 디바이스일 수 있다.
<처리의 수순>
계속해서, 시스템 내에서 실행되는 처리의 수순의 예에 대해서 설명한다. 이하의 처리 중에서 촬상 장치(110)에 의해 실행되는 처리는, 예를 들어 연산 처리 유닛(203) 내의 프로세서가 메모리 등에 저장된 프로그램을 실행함으로써 실현된다는 것에 유의한다. 그러나, 이것은 일례에 지나지 않고, 후술하는 처리의 일부 또는 전부가 전용의 하드웨어에 의해 실현될 수 있다. 또한, 분리가능 디바이스(100) 또는 입력/출력 장치(130)에 의해 실행되는 처리도, 각각의 장치에서의 프로세서가 메모리 등에 저장된 프로그램을 실행함으로써 실현될 수 있고, 처리의 일부 또는 전부를 전용 하드웨어에 의해 실현할 수 있다.
(전체 수순)
도 8은 시스템에 의해 실행되는 화상 해석 처리의 일련의 수순을 개략적으로 나타낸다. 본 처리에서는, 먼저, 유저가, 촬상 장치(110)에 분리가능 디바이스(100)를 장착한다(단계 S801). 촬상 장치(110)는, 분리가능 디바이스(100)의 초기화 시퀀스를 실행한다(단계 S802). 이 초기화 시퀀스에서는, 촬상 장치(110)가 분리가능 디바이스(100)에 전력을 공급하고, 촬상 장치(110)와 분리가능 디바이스(100) 사이에서 미리정해진 커맨드가 송신/수신된다. 따라서, 촬상 장치(110)는 분리가능 디바이스(100)를 사용 가능한 상태로 한다.
그 후, 촬상 장치(110)는, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정한다(단계 S803). 촬상 장치(110)는, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 경우, 분리가능 디바이스(100)에 회로 데이터가 기입될 필요가 있는지를 결정한다. 촬상 장치(110)는, 회로 데이터가 기입될 필요가 있다고 결정하는 경우, 분리가능 디바이스(100)의 구성 정보(이하에서는, "디바이스 정보"라 칭하는 경우가 있음)를 취득하고, 디바이스 정보에 따라 회로 데이터를 결정한다. 분리가능 디바이스(100)에 관한 디바이스 정보는, 예를 들어 해석 처리 기능을 구성하는 FPGA 정보, 주변 회로에 대한 접속 정보 등을 포함한다. 회로 데이터의 기입 필요의 결정 및 디바이스 정보에 따른 회로 데이터의 결정은 후술하는 바와 같이 분리가능 디바이스(100)에 의해 실행해야 할 처리가 결정된 후에 행해질 수 있다는 것에 유의한다.
이어서, 촬상 장치(110)는, 분리가능 디바이스(100)에 의해 실행가능한 처리를 파악하고, 국소적으로 실행될 수 있는(촬상 장치(110)만에 의해 또는 촬상 장치(110)와 분리가능 디바이스(100)의 조합에 의해 실행될 수 있는) 처리를 파악한다(단계 S804). 분리가능 디바이스(100)는, 임의의 처리를 실행하도록 구성될 수 있지만, 촬상 장치(110) 측에서 실행되어야 할 처리와 무관한 처리에 대해서는 고려될 필요가 없다는 것에 유의한다. 계속해서, 촬상 장치(110)는, 실행될 처리를 결정하고(단계 S805), 필요에 따라 분리가능 디바이스(100)에 기입될 회로 데이터를 결정하며, 회로 정보 및 설정값을 포함하는 설정 데이터를 분리가능 디바이스(100)에 기입한다(단계 S806). 예를 들어, 실행 대상으로서 결정된 처리의 적어도 일부가 분리가능 디바이스(100)에 의해 실행될 것이고 그 처리를 위한 회로 데이터가 분리가능 디바이스(100)에 기입되지 않은 경우에는, 촬상 장치(110)는 회로 데이터의 기입이 필요하다고 결정한다. 촬상 장치(110)가 회로 데이터의 기입이 필요하다고 결정하는 경우, 실행 대상으로서 결정된 처리 중 분리가능 디바이스(100)에 의해 실행될 부분의 회로 데이터를 포함한 설정 데이터가 촬상 장치(110)로부터 분리가능 디바이스(100)에 기입된다. 회로 자체를 재기입할 필요가 없을 경우에는, 회로 데이터를 포함하지 않는 설정 데이터가 기입될 수 있다는 것에 유의한다. 이 설정에 의해, 예를 들어 실행 대상의 처리에 대응하는 설정 데이터를 사용한 FPGA(405)의 재구성이 행해질 수 있다. 그리고, 촬상 장치(110) 또는 분리가능 디바이스(100)는 해석 처리를 실행한다(단계 S807). 그 후, 촬상 장치(110)는 후처리를 실행한다(단계 S808). 단계 S807 및 S808의 처리는 반복적으로 실행된다는 것에 유의한다. 도 8에 도시된 처리는, 예를 들어 분리가능 디바이스(100)가 장착되었을 때에 실행된다. 그러나, 예를 들어 분리가능 디바이스(100)에 전력이 재투입되는 때에도 단계 S802의 처리가 다시 실행되도록, 도 8에 도시된 처리의 적어도 일부가 반복적으로 실행될 수 있다.
이러한 분리가능 디바이스(100)를 촬상 장치(110)에 장착하고 촬상 장치(110) 측에서 실행가능한 처리(해석 처리)를 확장하는 방법은, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 경우에 사용가능한 방법이다. 한편, 촬상 장치(110)에는, 이러한 논리 회로 재구성 기능을 갖지 않는 일반적인 저장 매체로서의 SD 카드가 삽입되는 경우도 있다. 이러한 SD 카드에 대해서는, 촬상 장치(110)가 회로 데이터를 기입해도, 당연히 처리를 실행시킬 수 없다. 또한, 예를 들어 SD I/F를 통해서 촬상 장치(110)에 접속될 수 있고, 논리 회로 재구성 기능만을 실현하는 디바이스가 장착되는 것도 상정될 수 있다. 이러한 디바이스가 장착되어 있는 경우, 예를 들어 촬상 장치(110)가 촬상에 의해 얻어진 화상 데이터를 저장하며, 디바이스는 이러한 화상 데이터를 저장하는 기능을 갖지 않을 수 있다. 또한, 장착된 디바이스가 논리 회로 재구성 기능을 갖는 경우에, 재구성 기능의 구성 등에 따라 적절한 회로의 재구성이 요구된다. 이는, 재구성 기능의 구성에 적합하지 않은 회로가 재구성되면, 불필요한 전력 소비 등의 효율 열화를 초래하거나 경우에 따라서는 오동작을 초래할 수 있기 때문이다. 전술한 바와 같이, 촬상 장치(110)의 SD 카드 슬롯 등과 같은 디바이스 장착부에는 다양한 디바이스가 장착될 수 있다. 촬상 장치(110)는, 장착된 디바이스에 따라, 예를 들어 디바이스가 해석 처리 기능을 실행하게 할지 또는 저장 처리 기능을 실행하게 할지의 적절히 제어할 필요가 있다.
본 실시형태에서는, 이러한 상황을 감안하여, 촬상 장치(110)가, 장착된 디바이스가 논리 회로 재구성 기능을 갖는지를 나타내는 정보 또는 재구성 기능 등의 디바이스에 관한 정보를 특정하고, 장착된 디바이스에 따른 적절한 제어를 실행한다. 이하에서는 처리의 몇 가지의 예에 대해서 설명한다.
(처리 예 1)
도 9를 참고하여, 촬상 장치(110)가, 자-장치(self-apparatus)에 장착된 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정함으로써, 디바이스를 분류하는 처리의 수순의 예에 대해서 설명한다. 본 처리는 도 8의 단계 S803의 처리에 대응한다. 본 처리는, 분리가능 디바이스(100) 등의 디바이스가 촬상 장치(110)에 장착되거나 또는 그로부터 제거될 때 또는 촬상 장치(110)에 전력이 투입될 때에 실행될 수 있다. 본 처리에서는, 촬상 장치(110)는, 분리가능 디바이스(100)의 저장 유닛(404)에 저장되어 있는 분리가능 디바이스(100)의 디바이스 정보를 판독하고, 분리가능 디바이스(100)의 종별을 결정한다.
먼저, 촬상 장치(110)는, 분리가능 디바이스(100)를 착탈이능한 장착부에 외부 디바이스가 장착되어 있는지를 결정한다. 즉, 촬상 장치(110)의 제어 유닛(304)은, SD 카드 슬롯에 SD 카드가 삽입되어 있는지를 결정한다(단계 S901). 제어 유닛(304)은, 외부 디바이스가 장착되어 있지 않다고 결정한 경우(단계 S901에서 아니오), 외부 디바이스의 장착을 기다린다. 한편, 제어 유닛(304)은, 외부 디바이스가 장착되어 있다고 결정한 경우(단계 S901에서 예), SD I/F 유닛(205)을 통해서 SD 규격에 준거한 통신을 시도하고, 장착된 디바이스가 SD 카드인지를 결정한다(단계 S902). 예를 들어, 장착된 디바이스가 SD 카드로서 통신을 행하는 기능을 갖는 경우, 제어 유닛(304)은 디바이스가 SD 카드라고 결정한다는 것에 유의한다. 즉, 임의의 형태이며 SD 카드 기능을 갖는 디바이스가 장착되어 있는 경우에는, 디바이스는 SD 카드라고 인식된다. 제어 유닛(304)은, 장착된 디바이스가 SD 카드라고 결정한 경우(단계 S902에서 예), 디바이스와 자-장치 사이에서, SD 카드로서의 초기화 동작을 실행한다(단계 S903). 한편, 삽입된 디바이스가 SD 카드가 아닌 경우(단계 S902에서 아니오), 제어 유닛(304)은 이것이 비적응 디바이스(nonadaptive device)라고 결정하고 이를 유저에게 통지하며(단계 S908), 처리를 종료한다.
계속해서, 촬상 장치(110)의 제어 유닛(304)은, 장착된 외부 디바이스가, 예를 들어 종래의 저장 처리 기능만을 갖는 디바이스 또는 특정한 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 디바이스인지를 결정한다(단계 S904). 예를 들어, 제어 유닛(304)은, 디바이스 통신 유닛(306)을 제어하여, 장착된 디바이스에 대하여 특정한 어드레스에 대한 판독 요구(판독 커맨드)를 발행하고, 특정한 어드레스에 저장되어 있는 플래그 데이터를 판독한다. 이하에서는, 특정한 어드레스를 "어드레스 A"라고 칭하는 경우가 있다. 어드레스 A에 저장되는 데이터의 상세에 대해서는 후술한다는 것에 유의한다. 제어 유닛(304)은, 판독된 플래그 데이터에 기초하여, 분리가능 디바이스(100)가 특정한 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 디바이스인지를 결정할 수 있다. 그러나, 이것은 일례에 지나지 않고, 다른 방법에 의해, 장착된 디바이스가 논리 회로 재구성 기능을 갖는 미리정해진 디바이스 인지가 결정될 수 있다. 장착된 디바이스가 미리정해진 디바이스가 아닌 경우(단계 S904에서 아니오), 제어 유닛(304)은 장착된 디바이스가 저장 기능만을 갖는 디바이스라고 결정하고(단계 S907), 처리를 종료한다. 예를 들어, 어드레스 A에 데이터가 저장되어 있지 않은 경우, 또는 어드레스 A에 저장된 플래그 데이터가 장착된 디바이스는 미리정해진 디바이스가 아닌 것을 나타내고 있는 경우에, 제어 유닛(304)은 장착된 디바이스가 미리정해진 디바이스가 아니라고 결정한다.
제어 유닛(304)은, 장착된 디바이스가 미리정해진 디바이스라고 결정한 경우(단계 S904에서 예), 디바이스(분리가능 디바이스(100))에 기입될 수 있는 회로 데이터를 파악하기 위한 처리를 실행한다. 제어 유닛(304)은, 디바이스 통신 유닛(306)을 제어해서 분리가능 디바이스(100)와 통신하고 분리가능 디바이스(100)의 디바이스 정보를 취득한다(단계 S905). 예를 들어, 디바이스 정보는 분리가능 디바이스가 미리정해진 디바이스 인지를 결정하기 위해 사용되는 플래그 데이터와 동일한 어드레스(어드레스 A)에 저장될 수 있다. 이 경우, 제어 유닛(304)이 분리가능 디바이스(100)가 미리정해진 디바이스 인지를 결정하는 경우와 마찬가지로, 제어 유닛(304)은 어드레스 A에 저장되어 있는 데이터를 판독함으로써 디바이스 정보를 취득할 수 있다. 이 경우, 촬상 장치(110)는, 어드레스 A에 액세스하여, 플래그 데이터와 디바이스 정보를 동시에 취득하고, 단계 S902의 처리와 단계 S905의 처리를 동시에 실행한다. 그러나, 본 발명은 이것에 한정되지 않고, 이들 데이터는 다른 어드레스에 저장될 수 있다. 제어 유닛(304)은, 디바이스 정보에 기초하여, 분리가능 디바이스(100)에 기입될 수 있는 해석 회로 데이터를 특정한다. 예를 들어, 제어 유닛(304)은, 촬상 장치(110)로부터 분리가능 디바이스(100)에 제공될 수 있는 1개 이상의 해석 회로 데이터 각각을 분리가능 디바이스(100)가 실현할 수 있는지를 결정한다. 제어 유닛(304)은, 그 결정 결과에 기초하여, 분리가능 디바이스(100)가 해석 처리를 실행할 수 있는지를 결정하고, 실행가능한 해석 처리를 특정한다(단계 S906). 디바이스 정보에는, 분리가능 디바이스(100)에 의해 실행가능한 해석 처리의 리스트로서, 분리가능 디바이스(100)에 기입될 수 있는 해석 회로 데이터와 관련지어진 해석 처리의 리스트를 나타내는 정보가 포함될 수 있다는 것에 유의한다. 따라서, 촬상 장치(110)는 디바이스 정보를 취득함으로써 분리가능 디바이스(100)에 의해 실행가능한 처리를 파악할 수 있다.
전술한 처리에 의해, 특정한 처리를 실행할 수 있는 분리가능 디바이스(100)가 촬상 장치(110)에 장착되어 있는 경우, 촬상 장치(110)는 분리가능 디바이스(100)에 특정한 처리를 기입할지를 결정할 수 있다. 또한, 촬상 장치(110)는 디바이스 정보를 취득함으로써 분리가능 디바이스(100)에 적합한 회로 데이터를 선택할 수 있다. 또한, 예를 들어, 촬상 장치(110)가 입력/출력 장치(130)에 결정 결과를 통지함으로써, 유저에 결정 결과를 제시할 수 있고, 유저는 촬상 장치(110)에 올바른 디바이스가 장착되어 있는지를 인식할 수 있다.
도 10을 참조하여, 분리가능 디바이스(100)의 저장 유닛(404)에 저장되는 정보(1001)의 일례에 대해서 설명한다. 본 실시형태에 따른 분리가능 디바이스(100)는 저장 유닛(404)의 특정한 어드레스(어드레스 A)에 자-장치가 갖는 디바이스 정보를 저장한다. 촬상 장치(110)의 제어 유닛(304)은, 어드레스 A에 대하여 멀티-판독 커맨드 또는 싱글-판독 커맨드를 발행함으로써, 분리가능 디바이스(100)의 디바이스 정보를 확인한다. 디바이스 정보는, 예를 들어 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 나타내는 해석 처리 회로 보유 플래그(1002)를 포함한다. 또한, 디바이스 정보는, 회로 데이터의 기입이 필요한지를 나타내는 회로 데이터 보유 플래그(1003), 및 연산 처리 회로에의 회로 데이터의 기입이 완료되었는지를 나타내는 회로 데이터 기입 완료 플래그(1004)를 포함할 수 있다. 또한, 디바이스 정보는, 분리가능 디바이스(100)의 하드웨어의 구성 정보로서, 기입되는 회로 데이터의 데이터 형식, 기입 커맨드, 및 회로 기입 처리의 처리 시간을 포함할 수 있다. 하드웨어의 구성 정보는, 예를 들어 FPGA의 종별(모델 번호), FPGA의 PIN 접속을 나타내는 제약 정보, 논리 회로 구성의 제약 정보, 단자 접속 정보, 및 주변 회로 디바이스를 나타내는 정보를 포함할 수 있다. 이들 정보가 모델 번호, 일련 번호, 및 ID 번호 등의 정보와 관련지어져서 데이터베이스에 미리 보존되어 있는 경우, 모델 번호, 일련 번호, ID 번호 등이 하드웨어의 구성 정보로서 포함될 수 있다. 또한 다른 정보가 동일한 종류의 정보를 특정할 수 있는 다른 정보로 치환될 수 있다. 또한, 디바이스 정보는, 해석 처리의 실현 후의 처리 기능 리스트, 해석 처리가 실행되는 경우에 해석 처리의 완료까지 필요한 시간, 처리 결과의 데이터 사이즈, 처리 결과를 저장하는 어드레스의 정보 등을 포함할 수도 있다.
디바이스 정보는 암호화된 상태로 저장 유닛(404)에 저장될 수 있다는 것에 유의한다. 이 경우, 촬상 장치(110)는, 암호화된 정보를 취득하고, 취득한 정보를 복호화해서 디바이스 정보를 취득한다. 대안적으로, 촬상 장치는 인증 기능을 가질 수 있고 특정한 키 정보를 사용하지 않고서는 저장 유닛(404)으로부터 디바이스 정보를 판독하는 것이 금지되도록 구성될 수 있다.
예를 들어, 어드레스 A와는 상이한 저장 유닛(404)의 어드레스 B에는, 연산 처리 유닛(412)에 기입되는 해석 처리 회로 데이터가 저장된다. 예를 들어, 분리가능 디바이스(100)에서는, 촬상 장치(110)로부터 해석 처리 기능을 기동하기 위해 사용되는 해석 처리 설정 커맨드를 수신하면, 처리 전환 유닛(411)이 어드레스 B의 해석 처리 회로 데이터를 판독하고, 연산 처리 유닛(412)에의 기입을 실행한다. 연산 처리 유닛(412)에의 회로 데이터의 기입이 완료되면, 연산 처리 유닛(412)은 기입 완료를 처리 전환 유닛(411)에 통지하고, 처리 전환 유닛(411)은 어드레스 A의 회로 데이터의 기입 필요 플래그를 변경한다. 촬상 장치(110)는, 그 후에 어드레스 A의 디바이스 정보를 판독함으로써, 해석 처리 회로 데이터의 기입이 완료된 것을 알 수 있다.
추가적으로, 촬상 장치(110)는, 어드레스 A에 미리정해진 형식의 하드웨어 구성 정보가 저장되어 있지 않은 것을 검출하면, 장착부에 장착된 디바이스가 화상 해석 처리 기능을 갖지 않는다고 결정한다. 따라서, 촬상 장치(110)는, 결정 후에, 디바이스와 해석 처리 기능에 관한 통신을 행하지 않는다. 이 경우, 분리가능 디바이스(100)는, 촬상 장치(110)로부터 수신한 데이터에 대해서, 데이터를 저장 유닛(404)에 저장하는 저장 처리 기능만을 실행하게 된다.
이어서, 도 11을 참고하여, 분리가능 디바이스(100)로부터 취득한 디바이스 정보에 기초하여 회로 데이터를 결정하는 촬상 장치(110)의 처리의 수순의 예에 대해서 설명한다. 본 처리는 예를 들어 도 9의 단계 S906에서 실행된다. 촬상 장치(110)는, 장착된 디바이스(분리가능 디바이스(100))가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖고 해석 처리 회로 데이터의 기입이 필요한 것을 검출하면, 분리가능 디바이스(100)에 디바이스 정보를 요구한다. 촬상 장치(110)는 취득한 디바이스 정보로부터 분리가능 디바이스(100)의 하드웨어 구성 정보를 취득한다(단계 S1101). 이어서, 촬상 장치(110)는 해석 처리 회로 데이터를 결정하기 위한 조건을 확인한다(단계 S1102). 이 조건은, 예를 들어 분리가능 디바이스(100)의 하드웨어 구성, 촬상 장치(110)의 구성, 및 선택될 해석 처리 기능에 기초해서 취득된다. 분리가능 디바이스(100)의 하드웨어 구성은 FPGA의 모델 번호, 주변 회로에 대한 접속 PIN 등을 포함한다. 촬상 장치(110)의 구성은, 예를 들어 촬상 장치(110)가 분리가능 디바이스(100)에 공급할 수 있는 전력 정보나, 촬상 장치(110)의 전력 소비의 증가에 수반하는 온도 상승 정보 등의 촬상 장치의 동작 조건, 및 통신 속도를 포함한다. 촬상 장치(110)의 구성은 촬영 화상에 대하여 실행되는 해석 전처리의 결과의 화상에 관한 정보가 포함할 수 있다. 해석 전처리 결과의 화상에 관한 정보는, 촬상 장치가 디바이스에 해석 처리를 실행하게 하는 화상 데이터의 화소수, 커팅 사이즈, RGB 또는 YCbCr 등의 색차/색 공간 정보, 8 비트 또는 10 비트 등의 양자화 비트수, 및 화상 형식 중 적어도 하나를 포함할 수 있다. 촬상 장치(110)의 구성은, 촬상 장치(110)의 모델 번호 등의 정보를 특정할 수 있는 값에 의해 나타낼 수 있다. 해석 처리 기능은 촬상 장치(110)가 선택한 해석 처리 기능이다.
촬상 장치(110)는, 예를 들어 확인한 조건을 해석 처리 회로 데이터 요구와 함께 관리 장치(140)에 송신하고, 해석 처리 회로 데이터를 취득한다(단계 S1103). 본 실시형태에서는, 관리 장치(140)는 관리 장치(140)의 저장 유닛에 미리정해진 형식의 해석 처리 회로 데이터를 데이터베이스로서 보유할 수 있다. 이 경우, 관리 장치(140)는, 촬상 장치(110)로부터 수신한 정보에 기초하여, 데이터베이스로부터 해석 처리 회로 데이터를 선택하고, 선택된 해석 처리 회로 데이터를 촬상 장치(110)에 송신한다. 또한, 관리 장치(140)는, 촬상 장치(110)로부터의 요구를 수신할 때마다, 그 요구와 함께 수신된 정보에 기초하여 논리 합성을 행함으로써, 촬상 장치(110)와 분리가능 디바이스(100)의 조건에 맞은 해석 처리 회로 데이터를 생성할 수 있다. 촬상 장치(110)는, 관리 장치(140)로부터 취득된 해석 처리 회로 데이터로부터 분리가능 디바이스(100)에 기입되는 해석 처리 회로 데이터를 결정한다(단계 S1104). 본 실시형태에서는, 관리 장치(140)가 해석 처리 회로 데이터를 보유 또는 생성한다는 것에 유의한다. 그러나, 촬상 장치(110)가 이 기능을 가질 수 있다.
계속해서, 관리 장치(140)가 해석 처리 회로 데이터를 보유하고 있는 경우의 해석 처리 회로 데이터의 구성에 대해서 도 12를 참고해서 설명한다. 도 12는 관리 장치(140)의 저장 유닛에 저장되는 해석 처리 회로 데이터의 테이블의 일례이다. 분류(1201)는, 관리 장치(140)가 갖고 있는 각 해석 처리에 부여된 일련 번호이다. FPGA 종별(1202)은, FPGA의 종별 및 모델 번호, 주변 회로에 대한 접속 PIN을 포함하는 제약 정보, 및 기입되는 회로 데이터의 형식을 포함하는 정보를 나타낸다. 해석 처리 종별(1203)은, 군중 해석, 얼굴 검출, 오디오 패턴 검출 등의 해석 처리 기능의 종별에 관한 정보를 나타낸다. 촬상 장치 조건(1204)은 촬상 장치의 구성 정보에 대응하는 정보를 나타낸다. 또한, 촬상 장치 조건(1204)은 FPGA의 전력 소비, 입력 데이터 사이즈, 및 형식 입력 사양에 관한 정보를 나타낸다. 어드레스(1205)는 각 해석 처리 회로 데이터가 저장되어 있는 어드레스를 나타낸다. 데이터 사이즈(1206)는 해석 처리 회로 데이터의 데이터 사이즈를 나타낸다. 테이블의 항목은 예일뿐이며, 상세 조건에 따라 항목을 부가하거나 항목을 생략할 수 있다는 것에 유의한다.
관리 장치(140)는, 촬상 장치(110)로부터의 해석 처리 회로 데이터의 요구에서 수신한 정보에 기초하여, 정보에 대응하는 해석 처리 회로 데이터를 선택한다. 이 때문에, 일례에서는, 취득된 정보에 기초하여 1개의 해석 처리 회로 데이터가 결정되도록 데이터베이스가 구성될 수 있다. 관리 장치(140)는 선택된 1개의 해석 처리 회로 데이터만을 촬상 장치(110)에 송신하기 때문에, 네트워크를 통해서 통신되는 데이터의 양을 억제할 수 있다. 촬상 장치(110)가 복수의 조건을 동시에 제시하는 경우, 관리 장치(140)는 복수의 조건 각각에 대응하는 복수의 해석 처리 회로 데이터를 선택하고 이들을 촬상 장치(110)에 송신할 수 있다는 것에 유의한다. 촬상 장치(110)는, 관리 장치(140)로부터 취득된 복수의 해석 처리 회로 데이터를 저장 유닛(303)에 저장하고, 촬상 장치(110)의 동작 모드에 따라 분리가능 디바이스(100)에 적절한 해석 처리 회로 데이터를 기입할 수 있다. 해석 처리 회로 데이터는 해석 처리를 실행하기 위해 사용되는 설정값을 회로 데이터에 포함하도록 구성될 수 있거나, 설정값은 회로 데이터와는 독립적으로 준비될 수 있다.
또한, 해석 처리 회로 데이터 및 설정값은 1개의 해석 처리 회로 데이터에 대하여 다른 설정값을 추가적으로 설정함으로써 상이한 해석 처리 기능을 실현하도록 구성될 수 있다. 이를 위해, 관리 장치(140)는, 별도, 데이터베이스에, 각 해석 처리 회로 데이터에 대응하는 해석 처리 기능을 변경하기 위해 사용되는 설정값을 별도로 보유할 수 있다. 이 경우, 관리 장치(140)는, 촬상 장치(110)로부터의 해석 처리 회로 데이터의 요구에 응답하여, 해석 처리 회로 데이터뿐만 아니라 해석 처리 회로 데이터에 대응하는 설정값을 송신할 수 있다.
일반적으로, 촬상 장치(110)의 저장 유닛(303)의 저장 용량은 한정된다. 그러나, 촬상 장치(110)는, 상술한 바와 같이 각각의 필요한 해석 처리마다 관리 장치(140)로부터 데이터를 취득하고, 그 데이터를 해석 처리 회로 데이터가 저장되는 저장 유닛(303)의 영역의 데이터에 덮어쓰기할 수 있다. 따라서, 촬상 장치(110)는 분리가능 디바이스(100)가 자-장치의 데이터 보유 능력의 범위 내에서 다양한 종류의 해석 처리를 실행하게 할 수 있다.
전술한 방법에서는, 분리가능 디바이스(100)의 정보, 선택된 해석 처리, 및 촬상 장치(110)의 구성 정보의 조합에 대응하는 해석 처리 회로 데이터가 선택된다. 이런 이유로, 동일한 하드웨어 구성 정보를 갖는 분리가능 디바이스(100)가 동일한 해석 처리 기능을 실행하게 하는 경우에, 디바이스가 장착되는 촬상 장치(110)가 변경되는 경우, 다른 해석 처리 회로 데이터가 기입될 수 있다. 이에 의해, 촬상 장치(110)의 기능의 차이로 인해 발생하는 분리가능 디바이스(100)에서의 해석 처리의 오동작을 방지할 수 있다.
계속해서, 도 13을 참조하여, 분리가능 디바이스(100)에서의 해석 처리 회로 데이터 기입 처리의 예에 대해서 설명한다. 먼저, 촬상 장치(110)는, 분리가능 디바이스(100)에 해석 처리 회로 데이터 기입 요구를 송신한다(단계 S1301). 촬상 장치(110)의 제어 유닛(304)은, 디바이스 통신 유닛(306)을 제어하여, 장착된 분리가능 디바이스(100)에 대하여 특정한 어드레스에 대한 기입 요구(기입 커맨드)를 발행한다. 분리가능 디바이스(100)의 통신 유닛(502)은 회로 데이터 기입 요구를 촬상 장치(110)로부터 수신한다. 이때, 통신 유닛(502)은, 촬상 장치(110)로부터 기입되는 데이터 또는 기입 커맨드의 종별에 기초하여 실행 대상 처리의 회로 데이터 기입 요구를 판별할 수 있다. 예를 들어, 촬상 장치(110)는 분리가능 디바이스의 어드레스 B에 해석 처리 회로 데이터를 기입한다(단계 S1302). 어드레스 B는 분리가능 디바이스(100)의 저장 유닛(404)의 특정한 어드레스이며, 여기에 해석 처리 회로 데이터가 저장된다. 해석 처리 회로 데이터를 저장하는 어드레스 B의 정보는 디바이스 정보에 포함될 수 있고, 촬상 장치(110)는 디바이스 정보에 저장되어 있는 어드레스 B를 지정하고 해석 처리 회로 데이터를 기입할 수 있다.
계속해서, 촬상 장치(110)는, 해석 처리 회로 데이터의 송신이 완료되면, 해석 처리 설정을 요구한다. 분리가능 디바이스(100)는, 해석 처리 설정 요구를 수신하면, 어드레스 B에 놓인 해석 처리 회로 데이터를 판독하고 연산 처리 유닛(412)에 회로 데이터를 기입한다. 분리가능 디바이스(100)의 처리 전환 유닛(411)은 저장 유닛(404)의 어드레스 B로부터 해석 처리 회로 데이터를 판독하고 판독된 해석 처리 회로 데이터를 연산 처리 유닛(412)에 기입한다. 분리가능 디바이스(100)는, 촬상 장치(110)로부터의 요구에 따라, 연산 처리 유닛(412)에 전개되는 해석 처리 회로에 대한 설정값을 설정한다(단계 S1303).
분리가능 디바이스(100)는, 해석 처리 회로의 기입과 설정값의 설정이 완료되면, 촬상 장치(110)에 설정 완료를 통지한다(단계 S1304). 촬상 장치(110)의 제어 유닛(304)은 디바이스 통신 유닛(306)을 제어하여 분리가능 디바이스(100)로부터 회로 데이터 기입 완료 통지를 수신한다. 이와 같이 도 13에 도시된 처리가 실행됨으로써, 분리가능 디바이스(100)에서 해석 처리 기능이 실행가능하게 준비된다.
분리가능 디바이스(100)로부터의 촬상 장치(110)로의 회로 데이터 기입 완료(설정 완료)의 통지는, 예를 들어 이하의 3개의 방법 중 하나를 사용해서 실행될 수 있다. 첫 번째 통지 방법에서는, 통신 유닛(502)은, 촬상 장치(110)로부터의 제1 블록의 데이터의 기입 처리 시에 실행 대상 처리의 설정이 종료되지 않은 경우에, 비지 신호(BUSY signal)를 출력한다. 비지 신호의 출력은, 예를 들어 SD 규격에 의해 정해져 있는 DATA의 신호 라인을 로우 상태(Low state)로 드라이브함으로써 행해진다. 이 경우, 촬상 장치(110)는, 비지 신호를 확인함으로써, 연산 처리 유닛(412)에의 회로 데이터 기입이 완료되었는지를 판별한다. 두 번째 통지 방법에서는, 실행 대상 처리의 회로 데이터 기입이 완료될 때까지의 시간을 전술한 특정한 어드레스 A에 미리 저장하고, 촬상 장치(110)는 회로 데이터 기입 완료까지의 시간의 정보를 판독한다. 촬상 장치(110)는, 실행 대상 처리의 회로 데이터의 기입의 완료까지의 시간의 경과 후에, 기입 데이터를 출력한다(기입 커맨드를 발행한다)을 행한다. 이에 의해, 촬상 장치(110)는 회로 데이터 기입이 완료된 후에 촬영 화상의 데이터를 송신하는 것이 가능하게 된다. 세 번째 통지 방법에서는, 회로 데이터 기입이 완료될 때, 해석 유닛(501)은 분리가능 디바이스(100)의 제2 특정한 어드레스에 설정 완료 플래그를 기입한다. 촬상 장치(110)는, 제2 특정한 어드레스의 데이터를 판독함으로써, 회로 데이터 기입이 완료되었는지를 판별할 수 있다. 회로 데이터 기입 완료 플래그가 기입되는 어드레스의 정보는, 전술한 특정한 어드레스에 저장될 수 있거나 다른 어드레스에 저장될 수 있다는 것에 유의한다.
또한, 해석 처리 회로 데이터를 연산 처리 유닛(412)에 기입하는 처리는 처리 전환 유닛(411)에 의해 어드레스 A의 플래그 정보를 검출함으로써 자동으로 실행될 수 있다. 예를 들어, 분리가능 디바이스(100)의 입력/출력 제어 유닛(410)은, 저장 유닛(404)의 어드레스 B에의 해석 처리 회로 데이터의 기입의 완료를 검출하면, 어드레스 A의 회로 데이터 보유 플래그(1003)의 값으로서 "1"을 설정한다. 처리 전환 유닛(411)은, 회로 데이터 보유 플래그(1003)의 값이 "1"이 되면, 저장 유닛(404)의 어드레스 B로부터 해석 처리 회로 데이터를 판독하며, 연산 처리 유닛(412)에 판독된 해석 처리 회로 데이터를 기입한다. 연산 처리 유닛(412)은, 논리 회로의 재구성이 완료되면, 입력/출력 제어 유닛(410)에 논리 회로의 재구성의 완료를 통지한다. 입력/출력 제어 유닛(410)은, 이 통지에 따라, 어드레스 A의 회로 데이터 기입 완료 플래그의 값으로서 "1"을 설정한다. 촬상 장치(110)는, 어드레스 A의 회로 데이터 기입 완료 플래그의 값을 판독할 수 있고, 값이 "1"일 경우에 해석 처리 기능이 실행될 수 있는 것을 확인할 수 있다.
계속해서, 도 14를 참조하여, 촬상 장치(110)가 분리가능 디바이스(100)에 해석 처리를 실행시킬 때에 행해지는 처리의 수순의 일례에 대해서 설명한다. 본 처리에서는, 먼저, 촬상 제어 유닛(301)은 주위 환경을 촬영한다(단계 S1401). 제어 유닛(304)은, 신호 처리 유닛(302)을 제어하여, 촬상 제어 유닛(301)에 의해 촬영 화상을 처리하고 촬영 화상을 취득한다. 그 후, 제어 유닛(304)은, 해석 유닛(305)을 제어하여, 제어 유닛(304)으로부터 입력된 촬영 화상에 대하여 해석 전처리를 실행하고 해석 전처리 결과의 화상을 취득한다(단계 S1402). 제어 유닛(304)은, 실행 대상 처리가 실행가능 해석 처리 리스트에 포함되는지를 결정한 후, 해석 전처리 결과의 화상을 포함하는 송신 데이터를 생성한다(단계 S1403). 제어 유닛(304)은 디바이스 통신 유닛(306)을 제어하여 데이터를 분리가능 디바이스(100)에 송신한다(단계 S1404). 예를 들어, 제어 유닛(304)은, 해석 전처리 결과의 기입 요구(기입 커맨드)를 발행함으로써, 분리가능 디바이스(100)에 해석 전처리 결과의 화상을 송신한다. 분리가능 디바이스(100)의 통신 유닛(502)은, 해석 전처리 결과의 화상을 촬상 장치(110)로부터 수신하고, 촬상 장치(110)로부터 수신된 화상을 해석 유닛(501)에 출력한다. 해석 유닛(501)은, 통신 유닛(502)으로부터 입력된 화상에 대하여, 설정된 실행 대상 처리를 실행한다(단계 S1405). 그리고, 통신 유닛(502)은, 해석 유닛(501)의 처리에 의해 얻어진 해석 처리 결과를 촬상 장치(110)에 송신한다(단계 S1406). 촬상 장치(110)의 제어 유닛(304)은 디바이스 통신 유닛(306)을 제어하여 분리가능 디바이스(100)로부터 해석 처리 결과를 수신한다. 그 후, 제어 유닛(304)은 해석 유닛(305)을 제어하여 해석 처리 결과에 대하여 해석 후처리를 실행한다(단계 S1407). 해석 후처리는, 예를 들어 해석 결과 저장 처리 또는 표시 등의 처리이다.
분리가능 디바이스(100)로부터 촬상 장치(110)로의 해석 처리 결과의 송신은 예를 들어 이하와 같이 행해진다. 분리가능 디바이스(100)의 해석 유닛(501)은 해석 처리 결과를 각각의 실행 대상 처리마다 할당된 해석 처리 결과의 저장처 어드레스에 저장한다. 촬상 장치(110)는, 예를 들어 제2 처리 리스트와 함께 어드레스 A에 저장된 해석 처리 결과의 저장 어드레스를 나타내는 정보를 판독하고, 저장 어드레스에 대한 판독 요구(판독 커맨드)를 발행한다. 분리가능 디바이스(100)는, 통신 유닛(502)을 통해서 해석 처리 결과의 저장 어드레스에 대한 판독 요구를 수신하고, 해석 처리 결과를 촬상 장치(110)에 출력한다. 촬상 장치(110)는, 예를 들어 어드레스 A에 저장되어 있는 추정 처리 시간이 경과한 후에, 해석 처리 결과의 저장 어드레스에 대한 판독 요구를 발행할 수 있다는 것에 유의한다. 또한, 분리가능 디바이스(100)는, 촬상 장치(110)로부터 송신된 해석 전처리 결과의 최후의 블록의 기입 요구로부터 실행 대상 처리가 종료될 때까지 비지 신호를 출력할 수 있다. 이 경우, 촬상 장치(110)는, 더 이상 비지 신호를 수신하지 않게 될 때, 해석 처리 결과의 저장 어드레스에 대한 판독 요구를 발행할 수 있다. 이에 의해, 촬상 장치(110)는, 처리가 종료된 후에 처리 결과를 취득하는 것이 가능하게 된다.
전술한 실시형태에서는, 분리가능 디바이스(100)의 저장 유닛(404)의 특정한 어드레스 A에 처리 기능에 관한 정보를 저장하는 방법에 대해서 설명했다. 그러나, 본 발명은 이것에 한정되지 않는다. 예를 들어, 처리 기능의 정보는 분리가능 디바이스(100)의 초기화 시에 사용되는 커맨드에 대한 리스폰스의 리스폰스 인수부(response argument part)에 부가될 수 있다.
이어서, 촬상 장치(110)와 분리가능 디바이스(100) 사이의 통신에 대해서 설명한다. 촬상 장치(110)의 연산 처리 유닛(203)과 분리가능 디바이스(100)의 SD 컨트롤러(403)는 촬상 장치(110)의 SD I/F 유닛(205)의 디바이스 삽입 소켓을 통해서 전력 공급 라인, GND 라인, 클록 라인, 커맨드 라인, 및 데이터 라인에 의해 접속된다. 클록 라인, 커맨드 라인 및 데이터 라인은 FPGA(402)를 통해서 접속된다는 것에 유의한다. 클록 라인에서는, 연산 처리 유닛(203)으로부터 출력되는 동기 클록(CLK)이 통신된다. 커맨드 라인에서는, 연산 처리 유닛(203)으로부터 SD 컨트롤러(403)로의 동작 요구를 위해 발행되는 커맨드 및 커맨드에 대한 SD 컨트롤러(403)로부터 연산 처리 유닛(203)으로의 리스폰스가 통신된다. 데이터 라인에서는, 연산 처리 유닛(203)으로부터의 기입 데이터 및 분리가능 디바이스(100)로부터의 판독 데이터가 통신된다. 또한, 연산 처리 유닛(203)은, SD I/F 유닛(205)의 디바이스 삽입 소켓의 디바이스 검출 신호의 하이(High)와 로우를 판별함으로써, 분리가능 디바이스(100)가 삽입되어 있는지를 인식할 수 있다.
연산 처리 유닛(203)은, 전력 공급 후에 커맨드 라인 상에서 SD 컨트롤러(403)에 커맨드를 발행한다. 연산 처리 유닛(203)은, SD 컨트롤러(403)로부터의 리스폰스와 SD 카드로서의 디바이스 정보를 나타내는 출력 데이터를 수신하면, 데이터 통신용의 전압, 통신 속도(클록 주파수) 등을 설정한다.
도 15a 및 도 15b는 커맨드 라인 상에서 통신되는 커맨드와 리스폰스의 구조의 예를 나타낸다. 커맨드와 리스폰스는 SD 규격에 따르는 구조를 갖는다. 연산 처리 유닛(203)으로부터 SD 컨트롤러(403)에 발행되는 커맨드(1501)는 커맨드 번호부(1504), 커맨드 인수부(1505), 및 오류 정정 데이터부(1506)를 포함하도록 구성된다. 커맨드 번호부(1504)에는, 커맨드의 종류를 나타내는 값이 기술된다. 예를 들어, 커맨드 번호부(1504)에 값 "23"이 저장되어 있을 경우, 이는 커맨드가 데이터 블록의 수를 지정하는 블록수 지정 커맨드인 것을 나타낸다. 커맨드 번호부(1504)에 값 "25"이 저장되어 있을 경우, 이는 커맨드가 멀티-기입 커맨드(multi-write command)인 것을 나타낸다. 커맨드 번호부(1504)에 값 "12"이 저장되어 있을 경우, 이는 커맨드가 데이터 전송 정지 커맨드인 것을 나타낸다. 커맨드 인수부(1505)에서는, 커맨드의 종류에 따라서 전송 데이터 블록의 수 및 메모리의 기입/판독 어드레스 등의 정보가 지정된다. 커맨드의 첫 번째 비트에는 커맨드의 개시 위치를 나타내는 커맨드 개시 비트(1502)가 부가되고, 커맨드의 마지막 비트에는 커맨드의 종료를 나타내는 커맨드 종료 비트(1507)가 부가된다. 또한, 커맨드 개시 비트(1502) 후에, 커맨드가 촬상 장치(110)로부터 분리가능 디바이스(100)에 출력되는 신호인 것을 나타내는 방향 비트(1503)가 부가된다.
연산 처리 유닛(203)으로부터의 커맨드에 응답하여 SD 컨트롤러(403)로부터 복귀되는 리스폰스(1511)는, 어느 커맨드에 대한 리스폰스가 복귀되는지를 나타내는 리스폰스 번호부(1514), 리스폰스 인수부(1515), 및 오류 정정 데이터부(1516)를 포함한다. 리스폰스의 첫 번째 비트에는 리스폰스의 개시 위치를 나타내는 리스폰스 개시 비트(1512)가 부가되며, 리스폰스의 마지막 비트에는 리스폰스의 종료 위치를 나타내는 리스폰스 종료 비트(1517)가 부가된다. 또한, 리스폰스 개시 비트(1512) 후에 리스폰스가 분리가능 디바이스(100)로부터 촬상 장치(110)에 출력된 신호인 것을 나타내는 방향 비트(1513)도 부가된다. 리스폰스 인수부(1515)에는, 커맨드 종류에 따라서 SD 카드의 스테이터스(status) 등의 정보가 저장된다.
계속해서, 도 15c 내지 도 15e를 참고하여, 본 실시형태에 관련되는 커맨드 및 리스폰스의 예에 대해서 설명한다. 본 실시형태에서는, 예를 들어 디바이스 확인 커맨드, 해석 처리 설정 커맨드 및 해석 처리 요구 커맨드가 사용된다. 디바이스 확인 커맨드는, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 확인할 때에 촬상 장치(110)로부터 분리가능 디바이스(100)에 송신되는 커맨드이다. 해석 처리 설정 커맨드는, 해석 처리 회로 데이터 및 그 설정값을 촬상 장치(110)로부터 분리가능 디바이스(100)에 기입하기 위해 사용되는 커맨드이다. 해석 처리 요구 커맨드는, 촬상 장치(110)로부터 분리가능 디바이스(100)에 해석 처리의 실행을 요구하기 위해 사용되는 커맨드이다. 도 15c는 디바이스 확인 커맨드에서의 커맨드 인수부 및 리스폰스 인수부의 예를 나타내고 있다. 마찬가지로, 도 15d 및 도 15e는, 각각, 해석 처리 설정 커맨드 및 해석 처리 요구 커맨드에서의 커맨드 인수부 및 리스폰스 인수부의 예를 나타내고 있다. 여기서는, 커맨드 인수부 및 리스폰스 인수부의 내용을 설정함으로써 각종 문의가 행해지는 예에 대해서 설명한다는 것에 유의한다. 그러나, 분리가능 디바이스(100)에 문의를 행하기 위해 사용되는 전용 커맨드 번호가 준비될 수 있다.
디바이스 확인 커맨드의 커맨드 인수부(1521)는, 문의처의 디바이스가 해석 처리 디바이스인지를 확인하는 해석 처리 기능 확인 요구 플래그 및 디바이스 정보 요구 플래그를 포함하도록 구성될 수 있다. 해석 처리 설정 커맨드의 커맨드 인수부(1531)는, 해석 처리 회로 데이터의 송신을 통지하는 회로 송신 플래그 및 해석 처리의 설정값의 송신을 통지하는 설정값 송신 플래그를 포함하도록 구성될 수 있다. 해석 처리 요구 커맨드의 커맨드 인수부(1541)는 해석 처리의 실행을 요구하는 해석 처리 요구 플래그와 해석 전처리의 화상 정보를 포함하도록 구성될 수 있다. 해석 전처리의 화상 정보는, 예를 들어 화상 사이즈, 화상 형식(RGB 또는 YUV), 및 해상도(8 비트 또는 10 비트)를 나타내는 인수값을 포함한다.
디바이스 확인 커맨드에 대한 리스폰스의 리스폰스 인수부(1522)는, 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 나타내는 해석 처리 기능 플래그, 디바이스 정보를 나타내는 인수값, 및 회로 데이터 기입 방법을 나타내는 인수값을 포함할 수 있다. 예를 들어, 촬상 장치(110)는, 해석 처리 디바이스 플래그의 값이 "1"로 설정되어 있는 것을 확인함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는 것을 인식할 수 있다. 해석 처리 설정 커맨드에 대한 리스폰스의 리스폰스 인수부(1532)는, 해석 처리 회로 데이터의 수신의 완료를 통지하는 회로 수신 완료 플래그 및 연산 처리 유닛에의 회로 데이터의 기입이 완료된 것을 통지하는 회로 기입 완료 플래그를 포함할 수 있다. 해석 처리 요구 커맨드에 대한 요구의 리스폰스 인수부(1542)는, 해석 처리가 실행될 수 있는 것을 나타내는 해석 처리 실행 가능 플래그 및 비지 상태(BUSY state)를 나타내는 인수값을 포함하도록 구성될 수 있다.
계속해서, 도 16 및 도 17을 참고하여, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정하고, 분리가능 디바이스(100)의 분류를 결정하는 촬상 장치(110)의 처리에 대해서 설명한다. 도 16은, 장착된 분리가능 디바이스(100)가 SD 카드로서 동작하는지를 결정한 후에, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정하는 처리의 수순의 예를 나타낸다. 도 17은, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정한 후에, 장착된 분리가능 디바이스(100)가 SD 카드로서 동작하는지를 결정하는 처리의 수순의 일례를 나타낸다. 이들 처리에서는, 결정 순서만이 다르고, 얻어지는 처리 결과는 동일하다. 촬상 장치(110)는, 분리가능 디바이스(100)가, (1) 저장 처리 기능만을 갖는지, (2) 저장 처리 기능과 해석 처리 기능을 갖는지, (3) 해석 처리 기능만을 갖는지, 또는 (4) 저장 처리 기능도 해석 처리 기능도 갖지 않는지를 결정한다. 본 실시형태에서는, 일반적인 SD 카드로서의 기능을 사용하는 경우, 촬상 장치(110)는 SD 규격에 준거하는 커맨드를 사용해서 SD 카드 슬롯에 장착된 디바이스와 통신을 행한다는 것에 유의한다. 한편, 해석 처리 기능을 사용하는 경우, 촬상 장치(110)는 SD 규격에 의해 규정되지 않는 커맨드를 사용해서 통신을 행한다. 즉, 저장 처리 기능과 해석 처리 기능의 양쪽 모두에서 SD의 인터페이스를 사용해서 통신이 행해진다. 그 통신에서의 커맨드로서, SD 규격에 의해 규정되어 있는 커맨드와 그 이외의 커맨드가 사용될 수 있다. SD 규격에 의해 규정되어 있지 않은 커맨드는, 예를 들어 기존의 SD 규격에서 일부의 인수가 불가능한 값으로 설정되는 기존의 커맨드를 포함한다는 것에 유의한다. 즉, 일부의 커맨드에 대해서, 종래의 저장 처리 기능을 갖는 SD 카드에서 사용되는 SD 규격에 준거한 커맨드가 인수를 변경함으로써 사용될 수 있다. 또한, 본 실시형태에서의 "SD 규격에 준거하지 않는 커맨드"는 현시점에서 SD 규격에 의해 규정되어 있지 않은 커맨드를 의미한다. 즉, 디바이스가 본 실시형태에서 설명한 처리를 실행하게 하기 위한 SD 규격에 준거하지 않는 커맨드가 SD 규격에서 새로운 커맨드로서 규정되는 경우, 이 커맨드는 "SD 규격에 의해 새롭게 규정된 커맨드"로서 간주될 수 있다.
분리가능 디바이스가 "(1) 저장 처리 기능만을 갖는다"라고 결정된 경우에는, 분리가능 디바이스는 통상의 SD 카드로서 기능하고 SD 규격에 준거한 커맨드를 사용해서 통신을 행한다.
분리가능 디바이스가 "(2) 저장 처리 기능과 해석 처리 기능을 갖는 다"라고 결정된 경우에는, 분리가능 디바이스는 입력된 커맨드가 SD 규격에 준거한 커맨드인지 또는 그 이외의 커맨드인지를 결정한다. 분리가능 디바이스는, SD 컨트롤러에 정보를 송신해서 저장 처리 기능을 실행하거나, 연산 처리 유닛과 처리 전환 유닛에 정보를 송신해서 해석 처리 기능을 실행한다. 저장 처리 기능과 해석 처리 기능은 동일한 수신 데이터에 대하여 병행하여 실행될 수 있다. 즉, 수신한 데이터는 그대로 저장될 수 있고, 데이터에 대한 해석 처리가 동시에 실행될 수 있다. 이때, 이들 기능에 의한 처리는 동시에 실행될 수 있거나 또는 상이한 타이밍에 실행될 수 있다. 연산 처리 유닛에 의해 얻어진 해석 결과가 저장 유닛에 보유될 수 있다. 해석 처리에 관한 스테이터스가 연산 처리 유닛으로부터 저장 유닛에 출력되어 저장 유닛에 보유될 수 있다. 상술한 실시형태에서는, 해석 처리 회로 데이터 및 그 설정값이 저장 유닛에 적어도 일시적으로 축적되고, 축적의 종료에 따라서 연산 처리 유닛에 전개되는 예에 대해서 설명했다. 그러나, 본 발명은 이것에 한정되지 않는다. 예를 들어, 해석 처리 회로 데이터 및 그 설정값이 저장 유닛에 보유된 후, 이들은 해석 처리 기능의 기동까지 연산 처리 유닛에 전개될 필요는 없다. 이 경우, 해석 처리 기능의 기동에 따라, 해석 처리 회로 데이터가 저장 유닛으로부터 판독되고 연산 처리 유닛에 전개될 수 있다. 연산 처리 유닛과 저장 유닛 사이의 통신에 대해서는, 연산 처리 유닛과 저장 유닛이 직접 접속되고, 이들 사이에서 직접 통신이 행해질 수 있다는 것에 유의한다.
분리가능 디바이스가 "(3) 해석 처리 기능만을 갖는다"라고 결정되는 경우에는, 분리가능 디바이스는, 예를 들어 SD 규격에 의해 규정되지 않은 커맨드에 의해 동작한다. 분리가능 디바이스는, SD 규격에 준거하지 않는 커맨드에 기초하여, 커맨드에 대응하는 데이터를 연산 처리 유닛과 처리 전환 유닛 중 적어도 하나에 송신하고 해석 처리 기능을 실행한다. 분리가능 디바이스는 해석 처리 기능을 기동하도록 구성되는 해석 처리 회로 또는 설정값을 저장할 수 있는 비휘발성 저장 기능을 포함하지 않도록 구성될 수 있다. 이 경우, 촬상 장치(110)는, 분리가능 디바이스의 장착을 검출하면, 해석 처리 회로 및 그 설정값을 분리가능 디바이스에 송신한다. 분리가능 디바이스는 수신된 정보에 기초하여 해석 처리 기능이 사용가능한 상태로 되도록 연산 처리 유닛을 설정한다. 이러한 분리가능 디바이스에서는, 삽입/제거 또는 전력 공급 재기동 때마다, 해석 처리 기능 기동 처리가 행해진다. 이러한 디바이스의 구성에 대해서는 후술한다.
분리가능 디바이스가 "(4) 저장 처리 기능도 해석 처리 기능도 갖지 않는다"라고 결정된 경우에는, 분리가능 디바이스는 촬상 장치(110)에서는 비적응 디바이스로서 다루어진다. 이 경우, 예를 들어 촬상 장치(110)가 결정 결과를 입력/출력 장치(130)에 송신함으로써, 장착된 디바이스가 비적응 디바이스인 것을 유저에 통지할 수 있다. 촬상 장치(110)는, 분리가능 디바이스의 디바이스 정보를 취득함으로써 분리가능 디바이스에서 처리가능한 구성을 인식하도록 구성될 수 있다.
도 16의 처리에 대해서 설명한다. 본 처리에서는, 먼저, 촬상 장치(110)는, 자-장치의 장착부에 디바이스가 삽입된 것을 검출한 것에 기초하여, SD I/F 유닛(205)을 통해서 전력과 CLK를 디바이스에 공급한다. 계속해서, 촬상 장치(110)는, 장착된 디바이스에 대해서, SD 카드로서의 초기화 처리를 실행하고, 디바이스가 SD 카드 인지를 결정한다(단계 S1601). 촬상 장치(110)는, 예를 들어 초기화 처리가 완료된 것에 기초하여, 장착된 디바이스가 SD 카드라고 결정한다(단계 S1601에서 예). 한편, 촬상 장치(110)는, 예를 들어 초기화 처리에 실패한 경우, 장착된 디바이스가 SD 카드가 아니라고 결정한다(단계 S1601에서 아니오). 또한, 촬상 장치(110)는, 예를 들어 장착된 디바이스에 커맨드를 송신였지만 미리정해진 시간 내에 리스폰스가 수신되지 않거나 디바이스가 SD 카드가 아닌 것을 나타내는 리스폰스가 수신된 경우, 초기화 처리에 실패했다고 결정할 수 있다.
촬상 장치(110)는, 장착된 디바이스가 SD 카드라고 결정한 경우(단계 S1601에서 예), 디바이스 확인 커맨드를 장착된 디바이스에 송신한다. 촬상 장치(110)의 제어 유닛(304)은, 커맨드에 대한 디바이스 확인 리스폰스를 수신하고, 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정한다(단계 S1602). 또한, 촬상 장치(110)는 디바이스의 디바이스 정보를 취득한다. 촬상 장치(110)는 커맨드에 대한 리스폰스의 인수값으로서 디바이스 정보를 취득할 수 있다. 그러나, 촬상 장치(110)는 디바이스에 대하여 데이터 판독을 요구하는 판독 커맨드를 송신하고 데이터 라인으로부터 디바이스 정보를 취득할 수 있다. 촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖는다고 결정하면(단계 S1602에서 예), 디바이스가 저장 처리 기능과 해석 처리 기능을 갖는 디바이스라고 인식하고 처리를 종료한다(단계 S1604). 한편, 촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖지 않는다고 결정하면(단계 S1602에서 아니오), 현재 장착된 디바이스가 저장 처리 기능만을 갖는 디바이스라고 결정한다(단계 S1603). 촬상 장치(110)는, 디바이스 확인 커맨드에 대한 리스폰스가 미리정해진 시간 내에 수신되지 않은 경우, 디바이스가 논리 회로 재구성 기능을 갖지 않는다고 결정할 수 있다. 촬상 장치(110)는, 스테이터스 오류를 나타내는 리스폰스가 수신되거나 기대한 인수값을 포함하지 않는 리스폰스가 수신된 경우에도, 디바이스가 논리 회로 재구성 기능을 갖지 않다고 결정할 수 있다.
촬상 장치(110)는, 장착된 디바이스가 SD 카드가 아니라고 결정한 경우(단계 S1601에서 아니오), 해석 처리의 디바이스 확인 커맨드를 송신하고 디바이스가 해석 처리 기능을 갖는지를 결정한다(단계 S1605). 촬상 장치(110)는, 디바이스 확인 리스폰스를 수신한 경우, 장착된 디바이스가 해석 처리 기능을 갖지만 저장 처리 기능을 갖지 않는다고 결정한다(단계 S1605에서 예, 및 단계 S1606). 한편, 촬상 장치(110)는, 디바이스 확인 리스폰스가 수신될 수 없는 경우에는, 장착된 디바이스가 해석 처리 기능도 저장 처리 기능도 갖지 않는 비적응 디바이스라고 결정한다(단계 S1605에서 아니오, 및 단계 S1607).
도 17에 도시된 처리에 대해서 설명한다. 본 처리에서도, 먼저, 촬상 장치(110)는, 자-장치의 장착부에 디바이스가 삽입된 것을 검출한 것에 기초하여, SD I/F 유닛(205)을 통해 전력과 CLK를 디바이스에 공급한다. 계속해서, 촬상 장치(110)는, 장착된 디바이스에 디바이스 확인 커맨드를 송신하고, 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정한다(단계 S1701). 예를 들어, 촬상 장치(110)는, 디바이스 확인 커맨드에 대한 리스폰스를 수신하고, 수신된 리스폰스의 내용에 기초하여, 장착된 디바이스가 논리 회로 재구성 기능을 갖는지를 결정할 수 있다. 촬상 장치(110)는, 디바이스 확인 커맨드에 대한 리스폰스가 미리정해진 시간 내에 수신되지 않은 경우, 디바이스가 논리 회로 재구성 기능을 갖지 않는다고 결정할 수 있다. 촬상 장치(110)는, 스테이터스 오류를 나타내는 리스폰스가 수신되거나 기대한 인수값을 포함하지 않는 리스폰스가 수신된 경우에도, 디바이스가 논리 회로 재구성 기능을 갖지 않다고 결정할 수 있다. 디바이스 확인 커맨드를 사용하는 방법과는 다른 방법에 의해, 장착된 디바이스가 논리 회로 재구성 기능을 갖는지가 결정될 수 있다는 것에 유의한다.
촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖는다고 결정하는 경우(단계 S1701에서 예), 계속해서 디바이스로부터 디바이스 정보를 취득한다. 그리고, 촬상 장치(110)는, 취득된 디바이스 정보에 따라 해석 처리 회로 데이터를 결정하고, 장착된 디바이스에 회로 데이터를 기입한다. 그 후, 촬상 장치(110)는, 예를 들어 디바이스에의 회로 데이터 기입 완료 통지를 검출하면, SD 카드로서의 초기화 처리를 실행하고 디바이스가 SD 카드 인지를 결정한다(단계 S1702). 촬상 장치(110)는, 예를 들어 초기화 처리가 완료된 것에 기초하여, 장착된 디바이스가 SD 카드라고 결정한다(단계 S1702에서 예). 한편, 촬상 장치(110)는, 예를 들어 초기화 처리에 실패한 경우, 장착된 디바이스가 SD 카드가 아니라고 결정한다(단계 S1702에서 아니오). 또한, 촬상 장치(110)는, 예를 들어 장착된 디바이스에 커맨드를 송신였지만 미리정해진 시간 내에 리스폰스가 수신되지 않거나 디바이스가 SD 카드가 아닌 것을 나타내는 리스폰스가 수신된 경우, 초기화 처리에 실패했다고 결정할 수 있다. 촬상 장치(110)는, 장착된 디바이스가 SD 카드라고 결정한 경우(단계 S1702에서 예), 디바이스가 해석 처리 기능과 저장 처리 기능을 갖는 디바이스라고 결정한다(단계 S1704). 장착된 디바이스가 단계 S1701 및 S1702에서 촬상 장치(110)와 통신을 실행하고 설정을 행하면, 해석 처리 기능의 사용 준비가 완료된다는 것에 유의한다. 한편, 촬상 장치(110)는, 장착된 디바이스가 SD 카드가 아니라고 결정한 경우(단계 S1702에서 아니오), 디바이스가 해석 처리 기능만을 갖는 디바이스라고 결정한다(단계 S1703).
촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖지 않는다고 결정한 경우(단계 S1701에서 아니오)에도, SD 카드로서의 초기화 처리를 실행하고 디바이스가 SD 카드 인지를 결정한다(단계 S1705). 촬상 장치(110)는, 장착된 디바이스가 SD 카드라고 결정한 경우(단계 S1705에서 예), 디바이스가 저장 처리 기능만을 갖는 디바이스라고 결정한다(단계 S1706). 한편, 촬상 장치(110)는, 장착된 디바이스가 SD 카드가 아니라고 결정하는 경우(단계 S1705에서 아니오), 디바이스가 해석 처리 기능도 저장 처리 기능도 갖지 않는 비적응 디바이스라고 결정한다(단계 S1707). 도 17에 도시된 처리에서는, 디바이스에 전력과 CLK를 공급한 직후에 디바이스 확인 커맨드가 송신된다. 이에 의해, 디바이스가 논리 회로 재구성 기능을 갖는지를 결정할 때까지의 시간이 단축된다. 이 경우, 예를 들어 SD 카드로서의 초기화 처리와 촬상 장치(110)가 관리 장치(140)에 액세스해서 회로 데이터 등을 취득하는 처리를 병행해서 행할 수 있고, 디바이스에서 처리가 개시될 때까지의 시간도 단축할 수 있다.
도 18은, 해석 처리 회로 데이터를 보유하기 위한 비휘발성 저장 기능을 갖지 않는 경우의 분리가능 디바이스(100)의 구성예를 나타낸다. 분리가능 디바이스(100)는, 촬상 장치(110)에 장착되어 전력 공급을 받을 때마다, 촬상 장치(110)로부터 해석 처리 회로 데이터를 수신하고 FPGA(405)에서 해석 처리 회로를 구성한다. 이하의 설명에서는, 도 4와 동일한 구성에 대해서는 설명을 생략한다는 것에 유의한다.
도 18에 도시된 구성에서, 분리가능 디바이스(100)의 입력/출력 제어 유닛(410)은, 예를 들어 커맨드 결정 유닛(1801) 및 커맨드 제어 유닛(1802)을 포함한다. 커맨드 결정 유닛(1801)은 해석 처리에 관한 전용 커맨드를 검출한다. 커맨드 제어 유닛(1802)은 촬상 장치(110)에 회신되는 리스폰스를 생성한다. 입력/출력 제어 유닛(410)의 커맨드 결정 유닛(1801)은, 해석 처리에 관한 전용 커맨드를 검출하면, 그 커맨드를 SD 컨트롤러(403)에 전송하지 않고 처리 전환 유닛(411)에만 지시를 송신한다. 커맨드 제어 유닛(1802)은 커맨드에 대한 리스폰스를 자유롭게 생성할 수 있다.
하드웨어 구성 정보 저장 유닛(1803)은 분리가능 디바이스(100)의 하드웨어 구성 정보를 저장하고 있다. 하드웨어 구성 정보 저장 유닛(1803)은, 예를 들어 도 10에 도시된 어드레스 A에 저장되어 있는 정보의 일부를 저장하도록 구성된다. 하드웨어 구성 정보로서 보유되는 정보는, 예를 들어 분리가능 디바이스(100)의 FPGA(405)의 구성(모델 번호 및 제약 정보)을 판별할 수 있는 식별 정보일 수 있다. FPGA(405) 자체의 구성을 나타내는 정보 대신에 이들 정보를 특정할 수 있는 식별 정보가 사용되는 경우, 보유되어야 하는 정보의 양을 억제할 수 있다.
촬상 장치(110)로부터 해석 처리 회로 데이터가 수신되면, 커맨드 결정 유닛(1801)은 데이터를 검출하고 그것을 처리 전환 유닛(411)에 전송한다. 처리 전환 유닛(411)은 수신된 해석 처리 회로 데이터를 FPGA(405)에 기입한다. 이에 의해, FPGA(405)에 해석 처리 회로가 재구성된다. 해석 처리 회로(1810)는 재구성된 해석 처리 회로의 구성을 나타낸다. 해석 처리 회로(1810)는, 연산 처리 유닛(1811), 설정값 보유 유닛(1812), 연산 처리 제어 유닛(1813) 및 입력/출력 유닛(1814)에 대응하는 처리 회로를 포함하도록 구성될 수 있다. 즉, 일례에서, 촬상 장치(110)로부터 제공되는 해석 처리 회로 데이터는 이들 처리 회로를 포함하는 논리 회로 데이터로서 생성된다. 연산 처리 유닛(1811)은 복수의 연산 처리 회로의 조합에 의해 형성되는 연산 회로이다. 연산 처리 유닛(1811)은, 자신이 포함하고 있는 복수의 연산 처리에서 처리가 순차적으로 행해질 때에 생성되는 중간 처리 결과를 저장하는 저장 보유 회로를 포함하도록 구성될 수 있다. 설정값 보유 유닛(1812)은 촬상 장치(110)로부터 수신되는 해석 처리의 설정값을 보유하는 저장 회로이다. 해석 처리의 설정값은, 연산 처리 유닛(1811)의 연산 처리 회로에 대해 설정되는 설정값, 및 연산 처리 회로에서의 연산의 순서 및 횟수를 제어하기 위해 사용되는 설정값을 포함할 수 있다. 연산 처리 제어 유닛(1813)은, 설정값 보유 유닛(1812)에서 설정된 설정값을 연산 처리 유닛(1811)에 설정하고, 설정값 보유 유닛(1812)에 보유된 시퀀스 설정값에 따라서 연산 처리 유닛(1811)의 연산을 제어하는 제어 회로이다. 입력/출력 유닛(1814)은 입력/출력 제어 유닛(410)에/로부터의 송신/수신을 행하는 통신 회로이다. 입력/출력 제어 유닛(410)으로부터의 해석 처리의 설정값은 데이터 버스(1820)를 통해서 입력/출력 유닛(1814)에 송신되며, 입력/출력 유닛(1814)은 수신된 해석 처리의 설정값을 설정값 보유 유닛(1812)에 전송한다. 또한, 촬상 장치(110)로부터 수신되는 해석 처리 전의 화상은 입력/출력 유닛(1814)을 통해서 연산 처리 유닛(1811)에 입력되며, 연산 처리 유닛(1811)에 의한 해석 처리의 실행 후의 해석 결과는 입력/출력 유닛(1814)을 통해서 입력/출력 제어 유닛(410)에 전송된다. 연산 처리 유닛(1811)에 의한 해석 처리의 실행 후의 해석 결과는 입력/출력 제어 유닛(410)을 통해서 연산 결과 보유 유닛(1815)에 전송된다는 것에 유의한다. 연산 결과 보유 유닛(1815)은, 연산 처리 유닛(1811)에서 화상 또는 오디오 데이터에 대한 해석 처리의 실행 후의 해석 결과를 보유하는 저장 회로이다. 연산 결과 보유 유닛(1815)은 FPGA(402) 또는 FPGA(405)에 구성될 수 있다. 연산 결과 보유 유닛(1815)이 FPGA(405)에 구성되는 경우, 입력/출력 유닛(1814)은 입력/출력 제어 유닛(410)으로부터의 요구에 따라 연산 결과 보유 유닛(1815)에 의해 보유되는 연산 처리 결과를 판독하도록 구성될 수 있다.
계속해서, 분리가능 디바이스(100)가 장착되고 나서 분리가능 디바이스(100)에 해석 처리 기능을 기동시킬 때까지의 처리의 수순의 일례를 도 19를 참조하여 설명한다.
본 처리에서는, 먼저, 분리가능 디바이스(100)가 촬상 장치(110)에 장착된다(단계 S1901). 촬상 장치(110)는, 장착된 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 디바이스인지를 결정한다(단계 S1902). 여기에서는, 촬상 장치(110)는 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는다고 결정한 것으로 상정한다는 것에 유의한다. 그리고, 촬상 장치(110)는 분리가능 디바이스에 디바이스 정보를 요구하는 신호를 송신한다(단계 S1903). 요구 신호는, 예를 들어 도 15a 및 도 15c에 나타내는 바와 같은 커맨드의 형태로 송신된다. 분리가능 디바이스(100)는, 이 요구 신호에 응답하여, 촬상 장치(110)에 디바이스 정보를 송신한다(단계 S1904). 디바이스 정보는, 예를 들어 도 15b 및 도 15c에 나타내는 바와 같은 리스폰스에 의해 송신된다.
촬상 장치(110)는, 분리가능 디바이스(100)의 디바이스 정보를 수신하면, 디바이스 정보로부터 분리가능 디바이스(100)의 하드웨어 구성 정보를 취득하고, 분리가능 디바이스(100) 내의 FPGA 구성을 결정한다(단계 S1905). 촬상 장치(110)는, FPGA 구성에 기초하여, 해석 처리 회로의 기입 데이터를 결정한다(단계 S1906). 그 후, 촬상 장치(110)는, 분리가능 디바이스(100)에 대하여, 결정된 해석 처리 회로 데이터의 기입을 요구한다(단계 S1907). 분리가능 디바이스(100)는, 해석 처리 회로 데이터의 기입 준비를 행하고, 완료 통지를 촬상 장치(110)에 송신한다(단계 S1908). 촬상 장치(110)는, 완료 통지를 수신한 것에 기초하여, 해석 처리 회로 데이터를 분리가능 디바이스(100)에 송신한다(단계 S1909). 분리가능 디바이스(100)는, 해석 처리 회로 데이터를 수신하면, 해석 처리 회로 데이터를 FPGA(405)에 기입하고, 연산 처리 회로를 개시한다(단계 S1910). 분리가능 디바이스(100)는, 해석 처리 회로 데이터의 기입이 완료되면, 완료 통지를 촬상 장치(110)에 송신한다(단계 S1911). 촬상 장치(110)는, 해석 처리 회로 데이터의 기입 완료를 검출하면, 분리가능 디바이스(100)에 해석 처리의 설정값을 송신한다(단계 S1912). 설정값의 기입은, 예를 들어 SD 규격의 기입 커맨드를 사용해서 행해진다. 분리가능 디바이스(100)는, FPGA(405)에 해석 처리의 설정값을 설정하고, 해석 처리 기능을 기동하며, 기동 완료를 촬상 장치(110)에 통지한다(단계 S1913). 이상과 같이 하여, 분리가능 디바이스(100)의 해석 처리 기능이 기동될 수 있다.
일례에서는, 촬상 장치(110)는, 저장 유닛(303)에, 해석 처리 회로 데이터와 해석 처리의 설정값 각각에 관한 정보를 저장할 수 있다. 따라서, 촬상 장치(110)는, 예를 들어 관리 장치(140)와 통신을 행하지 않고, 분리가능 디바이스(100)의 FPGA의 종별에 따라, 분리가능 디바이스(100)에 송신되어야 할 해석 처리 회로 데이터를 선택할 수 있다. 이 경우에 저장되는 정보의 예에 대해서 도 20a 및 도 20b를 참고해서 설명한다.
테이블(2001)은 해석 처리 회로 데이터의 테이블의 일례이다. 회로 데이터 분류(2002)는 촬상 장치에 저장되어 있는 해석 처리 회로 데이터에 부가된 인덱스이다. FPGA 종별(2003)은 해석 처리 회로 데이터가 대응하고 있는 FPGA의 종별을 나타낸다. 어드레스(2004)는 해석 처리 회로 데이터가 저장 유닛(303)에 저장되어 있는 위치를 나타낸다. 대응 해석 처리 플래그(2005)는 각 해석 처리 회로 데이터가 어느 해석 처리 기능에 대응하는지를 나타낸다. 촬상 장치(110)는 대응 해석 처리 플래그를 확인함으로써, 각 FPGA 종별에 대하여 실행가능한 해석 처리 기능을 판별할 수 있다. 전력 소비(2006)는, 해석 처리 회로 데이터에 대응하는 처리가 실행될 때의 분리가능 디바이스(100)의 해석 처리 기능에 따른 전력 소비를 나타낸다. 입력 사양(2007)은 해석 처리 회로 데이터에 대응하는 처리 기능에 관한 입력 사양을 나타낸다. 예를 들어, 화상의 입력 사이즈, 화상의 해상도(8 비트/10 비트/16 비트), 형식(RGB/YUV) 등을 나타내는 값이 입력 사양(2007)으로서 저장된다. 도 20a는 해석 처리 회로 데이터가 각 FPGA 종별마다 보유되는 예를 나타낸다는 것에 유의한다. 그러나, 본 발명은 이것에 한정되지 않는다. 즉, 여기에서 나타낸 것 이외의 조건을 조합함으로써 해석 처리 회로 데이터를 선택할 수 있다.
테이블(2011)은 해석 처리의 설정값의 테이블의 일례이다. 해석 처리의 설정값은, 예를 들어 연산 처리 유닛(412)에서 처리되는 각 연산의 순서 및 종류, 각 연산의 계수 등을 나타내는 설정값이다. 분류(2012)는 촬상 장치에 저장되어 있는 설정값에 부가되는 인덱스이다. 해석 처리 기능(2013)은 각 설정값이 대응하는 해석 처리 기능을 나타낸다. 어드레스(2014)는 설정값이 저장 유닛(303)에 저장되는 위치를 나타낸다. 해석 처리 시간(2015)은 해석 처리에 필요한 시간의 기준값을 나타낸다. 또한, 분리가능 디바이스(100)의 연산 처리 유닛(412)의 해석 처리를 구동하는 구동 주파수에 의해 해석 처리 시간은 변화하기 때문에, 이 해석 처리 시간(2015)의 값과 구동 주파수에 기초하는 계산에 의해, 상정되는 해석 처리 시간이 산출될 수 있다는 것에 유의한다. 해석 처리 정밀도(2016)는 해석 처리 기능이 실행될 때의 해석 정밀도의 기준값이다. 해석 처리의 설정값은, 연산 처리 유닛(1811)의 연산 처리 회로에서 설정되는 설정값 및 연산 처리 회로에서 연산을 행하는 순서 및 횟수를 제어하기 위해 사용되는 설정값을 포함하도록 구성된다. 각 해석 처리마다 연산 처리 회로에서 연산을 행하는 순서 및 횟수가 변화되기 때문에, 각 해석 처리마다 해석 처리 시간이 변화한다. 또한, 계층적인 반복 연산을 필요로 하는 해석 처리에서는, 계층 구조가 커질수록 해석 처리의 정밀도가 증가한다. 한편, 해석 시간이 길어지는 경향이 있다.
계속해서, 촬상 장치(110)가 해석 처리 회로 데이터와 해석 처리의 설정값을 선택하는 처리의 수순의 예에 대해서 설명한다. 촬상 장치(110)의 설치 상황에 따라 관리 장치(140)에 대한 접속이 불가능할 수 있다. 촬상 장치(110)가 관리 장치(140)와 통신할 수 있는 경우에도, 회선 속도의 영향으로 인해 해석 처리 기능의 기동이 지연될 수 있다. 따라서, 여기서는, 촬상 장치(110)에 보유되는 해석 처리 회로 데이터와 해석 처리의 설정값을 사용하여, 분리가능 디바이스(100)의 해석 처리 기능을 기동하는 경우의 처리의 수순의 예에 대해서 설명한다. 도 21은 이 처리의 수순의 예를 나타낸다.
본 처리에서는, 먼저, 촬상 장치(110)는 디바이스 정보를 취득하고 분리가능 디바이스(100)의 하드웨어 구성에 의한 제약을 확인한다(단계 S2101). 또한, 촬상 장치(110)는 자-장치의 제약 조건을 확인할 수 있다. 촬상 장치(110)의 제약 조건은, 예를 들어 현재 촬영 화상의 전처리를 행할 때의 화상 사이즈 및 화상 형식과 관련된다. 실행되는 처리가 오디오 처리인 경우, 촬상 장치(110)의 제약 조건은 기록되는 오디오 데이터의 압축 형식, 비트 레이트 등일 수 있다. 이어서, 촬상 장치(110)는, 예를 들어 입력/출력 장치(130)를 통해서 유저에 의해 선택된 해석 처리 기능을 확인한다(단계 S2102). 유저 선택이 행해지지 않을 경우에는, 미리정해진 해석 처리 기능이 선택된 것으로서 취급할 수 있다는 것에 유의한다.
그 후, 촬상 장치(110)는 해석 처리 기능에 따른 해석 처리 회로 데이터를 선택한다(단계 S2103). 촬상 장치(110)는 선택된 해석 처리 기능에 대응하는 해석 처리 회로에서 설정가능한 설정값을 선택한다(단계 S2104). 예를 들어, 도 20a에서, FPGA "C1F0" 및 FPGA "C3F2"는 상이한 FPGA를 가리킨다. 이런 이유로, 촬상 장치(110)는, 취득된 디바이스 정보로부터 분리가능 디바이스(100)의 FPGA가 "C1F0"인 것을 검출한 경우, 분류(0001)와 분류(0002)의 해석 처리 회로 데이터를 선택 후보로서 추출할 수 있다. 촬상 장치(110)는 선택된 해석 처리 기능이 "P01"인 것을 확인한 것으로 상정한다. 이 경우, 촬상 장치(110)는, 각 선택 후보의 해석 처리 회로 데이터의 대응 해석 처리 플래그를 확인하고, 선택된 해석 처리 기능 "P01"에 대응하는 분류(0001)의 해석 처리 회로를 선택한다. 또한, 촬상 장치(110)는, 해석 처리 기능(P01)에 대응하는 해석 처리의 설정값으로서, 분류(001) 및 분류(002)의 설정값을 후보로서 선택한다. 예를 들어, 촬상 장치(110)에 의해 단계 S2101에서 확인된 촬영 조건은 해석 처리 속도를 우선하는 것으로 상정한다. 이 경우, 촬상 장치(110)는, 해석 처리 시간을 우선하고, 분류(001)에 대응하는 설정값을 선택한다. 촬상 장치의 제어 유닛(304)은, 결정된 해석 처리 회로 데이터와 해석 처리의 설정값을, 이들이 저장되어 있는 저장 유닛(303)의 어드레스로부터 판독하고, 이들을 분리가능 디바이스(100)에 송신한다. 전술한 방식으로, 해석 처리 회로 데이터 및 해석 처리의 설정값이 결정되고 분리가능 디바이스(100)에 제공된다.
1개의 해석 처리 기능에 대응하는 복수의 설정값이 존재할 수 있다는 것에 유의한다. 예를 들어, 도 20b에서, 해석 처리 기능 "P01"에 대하여, 분류(002)의 설정값에 따르면, 99%의 해석 처리 정밀도를 얻을 수 있지만 500 msec의 해석 처리 시간이 필요하다. 한편, 동일한 해석 처리 기능 "P01"에 대하여, 분류(001)의 설정값에 따르면, 해석 처리 정밀도가 80%로 낮아지지만, 해석 처리 시간은 100 msec로 단축될 수 있다. 예를 들어, 해석 처리 기능 "P01"이 얼굴 인증 처리인 것으로 상정한다. 보안의 관점으로부터 인증 정밀도가 중요한 경우에는, 분류(002)의 설정값이 적절하다. 한정된 시간에 복수의 인물로부터 유사한 인물을 검출하는 유스 케이스에서는, 분류(001)의 설정값이 적절하다. 전술한 바와 같이, 유저의 목적에 따라 우선 순위가 변화하기 때문에, 한정된 선택지로부터 최적해라고 생각되는 설정값을 초기에 설정하고, 분리가능 디바이스(100)의 해석 처리 기능을 기동하는 것이 요구될 수 있다.
각 해석 처리 회로 데이터는, 해석 처리 설정값을 변경함으로써, 해석 처리 기능을 변경할 수 있는 회로 데이터로서 구성된다. 여기서, 해석 처리 회로에 구성되는 해석 처리의 설정값을 보유하는 레지스터 구조를 공유함으로써, 동일한 해석 처리 회로에 대하여 상이한 해석 처리 설정값을 설정할 수 있다. 또한, 일부 다른 해석 처리 회로가 동일한 해석 처리 설정값을 설정함으로써 동일한 해석 처리 기능을 실행하게 할 수 있다. 해석 처리 회로 데이터와 해석 처리 설정값을 이러한 방식으로 구성하면, 일부 해석 처리 회로에 대하여 해석 처리 기능에 관련지어진 해석 처리 설정값을 공유할 수 있다. 이에 의해, 촬상 장치(110)의 저장 유닛(303)에 보유될 필요가 있는 해석 처리 회로 데이터와 해석 처리 설정값의 데이터양을 저감할 수 있다.
해석 처리 회로 데이터는 디바이스 정보로부터 취득되는 분리가능 디바이스(100)의 모델 번호 등에 기초하여 선택될 수 있다. 이 경우, 예를 들어, 미리 분리가능 디바이스(100)의 종별 및 하드웨어 구성 정보가 리스트화되고, 촬상 장치(110)의 저장 유닛(303)에 하드웨어 구성 정보가 저장된다. 촬상 장치(110)는, 디바이스 정보로서의 분리가능 디바이스(100)의 모델 번호에 기초하여, 분리가능 디바이스(100)에 포함되는 FPGA와 주변 회로 사이의 접속 구성 및 제약 조건을 특정할 수 있다.
촬상 장치(110)는 관리 장치(140)로부터 해석 처리 회로 데이터를 미리 취득할 수 있다. 촬상 장치(110)는, 분리가능 디바이스(100)의 해석 처리 기능의 기동 시에, 먼저 지정된 적용 목적에 가장 적합한 해석 처리 회로 데이터와 설정값을 선택한다. 촬상 장치(110)는, 유저 지정에 의해 특정한 해석 처리 기능이 미리 선택되어 있는 경우에는, 지정된 해석 처리 기능을 실행할 수 있는 해석 처리 회로 데이터를 선택한다는 것에 유의한다. 촬상 장치(110)는, 특정한 해석 처리 기능의 선택이 미리 결정되어 있지 않은 경우, FPGA에 대응할 수 있는 해석 처리 회로 데이터 중에서 선택가능한 해석 처리 기능의 수가 최대인 해석 처리 회로 데이터를 선택할 수 있다. 해석 처리 회로 데이터의 선택 우선 순위는 이것으로 한정되지 않는다. 예를 들어, 해석 처리 정밀도가 가장 높은 해석 처리 회로 데이터 및 설정값이 선택되도록 우선 순위가 설정될 수 있다. 이외에도, 우선 순위가 자유롭게 설정될 수 있거나, 우선 순위 자체가 변경가능하게 구성될 수 있다. 촬상 장치(110)는, 해석 처리 회로 데이터가 결정되면, 해석 처리 회로 데이터에 대응하는 해석 처리 설정값을 선택한다. 또한 해석 처리 설정값은 해석 처리 회로 데이터의 선택과 마찬가지로 우선 순위에 기초하여 선택될 수 있다.
분리가능 디바이스(100)에서 해석 처리 기능이 실행가능해지면, 촬상 장치(110)는 선택된 해석 처리 회로 데이터와 해석 처리 설정값의 정보를 입력/출력 장치(130)에 송신한다. 입력/출력 장치(130)가, 수신된 정보에 기초하여, 선택된 해석 처리 기능의 정보를 표시 유닛(703)에 표시하면, 유저는 입력/출력 장치(130)의 표시 유닛(703)으로부터 현재의 분리가능 디바이스(100)의 구성 정보를 알 수 있다. 분리가능 디바이스(100)에서의 해석 처리 기능의 기동의 완료 후에, 촬상 장치(110)는 관리 장치(140)에 현재 설정되어 있는 해석 처리 기능의 정보를 송신할 수 있다. 이때, 예를 들어 동일한 해석 처리에 관한 더 진보된 해석 처리 기능이 존재하는 경우에, 촬상 장치(110)는 해석 처리 기능에 대응하는 해석 처리 회로 데이터 및 설정값을 취득하고 분리가능 디바이스(100)의 해석 처리 기능을 갱신할 수 있다.
전술한 방식으로, 촬상 장치(110)는 분리가능 디바이스(100)에 의해 실현되는 해석 처리 기능을 결정할 수 있다. 이때, 해석 처리 기능은 촬상 장치(110)의 적용 목적에 따라서 변경될 수 있다. 또한, 해석 처리 회로 및 대응하는 해석 처리의 설정값이 상이한 테이블에서 관리되는 경우, 테이블 사이즈를 축소할 수 있고, 촬상 장치(110)의 저장 용량이 낭비되는 것을 방지할 수 있다. 또한, 해석 처리 회로 데이터에 대하여 선택될 해석 처리 기능에 따른 해석 처리 설정값이 설정됨으로써, 해석 처리 기능을 선택가능하게 구성할 수 있다.
계속해서, 분리가능 디바이스(100)에서의 처리의 수순에 대해서 설명한다. 디바이스 확인 커맨드는 촬상 장치(110)가 분리가능 디바이스(100)의 디바이스 정보를 요구하기 위해서 규정된 커맨드이다. 전술한 바와 같이, 디바이스 확인 커맨드는, 커맨드 인수값에 해석 처리 기능 확인 요구 플래그 및 디바이스 정보 요구 플래그를 포함할 수 있다. 해석 처리 기능 확인 요구 플래그는, 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능의 존재에 대해 문의하는 플래그이다. 디바이스 정보 요구 플래그는 디바이스 정보의 송신을 요구하는 플래그이다. 분리가능 디바이스(100)는 이들 플래그 정보를 검출하고 검출된 플래그 정보에 대응하는 제어를 행한다. 분리가능 디바이스(100)는 디바이스 확인 커맨드에 응답하여 디바이스 확인 리스폰스를 회신한다. 디바이스 확인 리스폰스는, 상술한 바와 같이, 리스폰스 인수값에 해석 처리 기능 보유 플래그와 디바이스 정보를 나타내는 인수값을 포함할 수 있다. 해석 처리 기능 보유 플래그는, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 나타내는 플래그이다. 예를 들어, 해석 처리 기능 보유 플래그가 "1"로 설정되면, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는 것을 나타낸다. 디바이스 정보를 나타내는 인수값은, 예를 들어 디바이스의 모델 번호일 수 있다. 디바이스 정보의 데이터양이 많은 경우, 디바이스 정보의 인수값으로서 디바이스 정보의 데이터 사이즈가 설정될 수 있으며, 디바이스 정보가 데이터 라인을 통해 송신되도록 촬상 장치(110)가 판독 커맨드를 발생하게 할 수 있다는 것에 유의한다.
분리가능 디바이스(100)는, 촬상 장치(110)로부터 디바이스 확인 커맨드를 수신하면, 커맨드 결정 유닛(1801)에 의해 수신된 커맨드를 결정한다. 커맨드 결정 유닛(1801)은, 해석 처리 기능 확인 요구 플래그를 검출한 경우, 커맨드 제어 유닛(1802)에 검출 결과를 통지한다. 커맨드 제어 유닛(1802)은, 해석 처리 기능 확인 요구 플래그가 검출된 것을 나타내는 검출 결과를 수신하면, 해석 처리 기능 보유 플래그가 "1"로 설정된 디바이스 확인 리스폰스를 촬상 장치(110)에 회신한다. 한편, 커맨드 결정 유닛(1801)은, 디바이스 정보 요구 플래그를 검출하면, 처리 전환 유닛(411)에 디바이스 정보의 취득 요구를 발행한다. 처리 전환 유닛(411)은, 디바이스 정보 저장 유닛(1803)에 저장되어 있는 정보를 판독하고, 판독된 정보를 커맨드 제어 유닛(1802)에 전송한다. 커맨드 제어 유닛(1802)은, 인수값에 처리 전환 유닛(411)으로부터 취득된 디바이스 정보를 포함하는 디바이스 확인 리스폰스를 촬상 장치(110)에 송신한다. 커맨드 제어 유닛(1802)은, 예를 들어 디바이스 정보의 사이즈를 포함한 디바이스 확인 리스폰스를 촬상 장치(110)에 송신하고, 촬상 장치(110)가 판독 커맨드를 발행하게 할 수 있다는 것에 유의한다. 이 경우, 커맨드 제어 유닛(1802)은, 디바이스 확인 리스폰스의 송신 후의 판독 커맨드에 응답하여 디바이스 정보를 송신할 수 있다. 디바이스 정보 저장 유닛(1803)은, 예를 들어 EEPROM(Electrically Erasable Programmable Read-Only Memory) 등의 저장 소자에 의해 형성될 수 있다. 모델 번호 등의 한정된 정보량에 의해 디바이스 정보가 형성되는 경우에는, 디바이스 정보 저장 유닛(1803)은 예를 들어 퓨즈 회로를 포함하도록 구성될 수 있으며, 따라서 출하시에 퓨즈 회로를 접속해제함으로써 식별가능한 고정값을 갖는 회로로서 구성될 수 있다.
해석 처리 설정 커맨드는, 촬상 장치(110)에 의해 분리가능 디바이스(100)에 해석 처리 회로 데이터를 기입하기 위해서 정의된 커맨드이다. 해석 처리 설정 커맨드는, 커맨드 인수값에, 예를 들어 회로 송신 플래그, 설정값 송신 플래그, 및 회로 접속 변경 플래그를 포함할 수 있다. 회로 송신 플래그는 해석 처리 회로 데이터의 기입의 요구를 나타내는 플래그이다. 설정값 송신 플래그는 해석 처리 설정값의 기입의 요구를 나타내는 플래그이다. 회로 접속 변경 플래그는, 분리가능 디바이스의 SD I/F 유닛(205)의 접속 변경의 요구를 나타내는 플래그이다. 촬상 장치(110)는, 해석 처리 설정 커맨드의 각 플래그에 "1"을 설정함으로써, 다음 기입 커맨드에 의해 송신될 데이터를 통지한다. 해석 처리 설정 커맨드의 인수값에는 송신될 데이터 사이즈 등이 포함될 수 있다. 회로 접속 변경 플래그의 상세에 대해서는 후술한다. 분리가능 디바이스(100)는 플래그 정보를 검출하고, 검출된 플래그 정보에 대응하는 제어를 행한다.
분리가능 디바이스(100)는 해석 처리 설정 커맨드에 대한 해석 처리 설정 리스폰스를 촬상 장치(110)에 송신한다. 해석 처리 설정 리스폰스는, 인수값으로서, 회로 수신 동의 플래그, 회로 기입 완료 플래그, 설정값 수신 동의 플래그, 설정 완료 플래그, 접속 변경 동의 플래그, 및 접속 변경 완료 플래그를 포함할 수 있다. 분리가능 디바이스(100)가 각 플래그에 "1"을 설정하면, 촬상 장치(110)는 분리가능 디바이스(100)의 처리 상태를 확인할 수 있다.
분리가능 디바이스(100)가 촬상 장치(110)로부터 해석 처리 설정 커맨드를 수신하면, 커맨드 결정 유닛(1801)이 수신된 커맨드를 결정한다.
회로 송신 플래그를 검출하면, 커맨드 결정 유닛(1801)은 해석 처리 회로 데이터가 송신되는 것을 처리 전환 유닛(411)에 통지하고, 처리 전환 유닛(411)은 FPGA(405)를 회로 데이터가 기입될 수 있는 상태로 설정하는 처리를 실행한다. 처리 전환 유닛(411)은, FPGA(405)가 회로 데이터가 기입될 수 있는 상태로 설정되면, 커맨드 제어 유닛(1802)에 준비 완료 통지를 출력한다. 커맨드 제어 유닛(1802)은, 준비 완료 통지에 따라, 회로 수신 동의 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 촬상 장치(110)에 송신한다. 그 후, 입력/출력 제어 유닛(410)은, 촬상 장치(110)로부터의 기입 커맨드에 따라, 송신된 데이터(해석 처리 회로 데이터)를 처리 전환 유닛(411)에 전송한다. 처리 전환 유닛(411)은, 해석 처리 회로 데이터를 필요에 따라서 변환하고, 그것을 FPGA(405)에 기입한다. 처리 전환 유닛(411)은, FPGA(405)에의 해석 처리 회로 데이터의 기입이 완료되면, 커맨드 제어 유닛(1802)에 기입 완료를 통지한다. 커맨드 제어 유닛(1802)은, 처리 전환 유닛(411)으로부터 기입 완료 통지를 수신하면, 예를 들어 회로 기입 완료 플래그를 "1"로 설정한다. 그 후, 커맨드 제어 유닛(1802)은, 촬상 장치(110)로부터 해석 처리 설정 커맨드를 수신하면, 회로 기입 완료 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 촬상 장치(110)에 회신한다. 커맨드 제어 유닛(1802)은, 회로 데이터의 기입 개시로부터 기입 완료까지의 시간 동안, I/F 유닛(401)에 지시를 송신하여 DATA 신호 라인을 로우 상태로 드라이브함으로써, 비지 신호를 출력할 수 있다.
커맨드 결정 유닛(1801)은, 설정값 송신 플래그를 검출하면, 해석 처리 회로(1810)의 입력/출력 유닛(1814)에 해석 처리 설정값이 송신되는 것을 통지한다. 입력/출력 유닛(1814)은 설정값 보유 유닛(1812)에 설정값이 송신될 수 있는 상태를 설정하도록 준비한다. 입력/출력 유닛(1814)은, 준비의 완료에 따라, 커맨드 제어 유닛(1802)에 준비 완료 통지를 출력한다. 커맨드 제어 유닛(1802)은, 입력/출력 유닛(1814)으로부터 준비 완료 통지를 접수하면, 설정값 수신 동의 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 촬상 장치(110)에 송신한다. 그 후, 입력/출력 제어 유닛(410)은, 촬상 장치(110)로부터의 기입 커맨드에 따라, 전송 데이터(해석 처리 설정값)를 입력/출력 유닛(1814)에 전송한다. 입력/출력 유닛(1814)은 해석 처리 설정값을 설정값 보유 유닛(1812)에 기입한다. 입력/출력 유닛(1814)은, 설정값 보유 유닛(1812)에의 기입이 완료되면, 커맨드 제어 유닛(1802)에 기입 완료를 통지한다. 커맨드 제어 유닛(1802)은, 통지를 수신하면, 예를 들어 설정값 기입 완료 플래그를 "1"로 설정한다. 그 후, 커맨드 제어 유닛(1802)은, 촬상 장치(110)로부터 해석 처리 설정 커맨드를 수신하면, 설정값 기입 완료 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 촬상 장치(110)에 회신한다. 커맨드 제어 유닛(1802)은, 해석 처리 설정값의 기입 개시로부터 기입 완료까지의 시간 동안, I/F 유닛(401)에 지시를 송신하여 DATA 신호 라인을 로우 상태로 드라이브함으로써 비지 신호를 출력할 수 있다.
전술한 방식으로, FPGA(405)에 해석 처리 회로 데이터가 기입되고, 기동된 해석 처리 회로에 해석 처리 설정값이 기입됨으로써, 분리가능 디바이스(100)에서의 해석 처리 기능의 기동을 완료한다.
해석 처리 요구 커맨드는, 촬상 장치(110)가, 해석 처리 전 화상을 분리가능 디바이스(100)에 송신하고, 해석 처리를 요구하기 위해서 규정된 커맨드이다. 해석 처리 요구 커맨드는 커맨드 인수값에 해석 처리 전 화상 정보, 해석 처리 요구 플래그, 및 해석 결과 요구 플래그를 포함할 수 있다. 해석 처리 전 화상 정보는 해석 대상으로서의 화상의 정보이다. 해석 대상으로서의 화상을 해석 처리 전 화상이라 칭한다. 해석 처리 요구 플래그는 다음 기입 커맨드에 의해 송신되는 전송 데이터가 해석 처리 전 화상인 것을 나타내는 플래그이다. 해석 결과 요구 플래그는 해석 처리 결과의 판독의 요구를 나타내는 플래그이다. 해석 처리 요구 커맨드의 인수값에는 송신되는 데이터의 사이즈 등이 포함될 수 있다. 분리가능 디바이스(100)는 플래그 정보를 검출하며 검출된 기능 정보에 대응하는 제어를 행한다.
분리가능 디바이스(100)는, 촬상 장치(110)로부터 해석 처리 요구 커맨드를 수신하면, 해석 처리 요구 리스폰스를 회신한다. 해석 처리 요구 리스폰스는, 리스폰스 인수값에 해석 처리 요구 동의 플래그, 해석 처리 완료 플래그, 및 해석 결과 판독 동의 플래그를 포함할 수 있다. 분리가능 디바이스(100)는 각 플래그를 "1"로 설정함으로써, 촬상 장치(110)에 분리가능 디바이스(100)의 처리 상태를 통지할 수 있다.
분리가능 디바이스(100)가 촬상 장치(110)로부터 해석 처리 요구 커맨드를 수신하면, 커맨드 결정 유닛(1801)은 수신된 커맨드를 결정한다.
커맨드 결정 유닛(1801)은, 해석 처리 요구 플래그를 검출하면, 해석 처리 회로(1810)의 입력/출력 유닛(1814)에 해석 처리 요구가 수신된 것을 통지하고, 입력/출력 유닛(1814)은 연산 처리 유닛(1811)이 해석 처리 전 화상을 받아들일 수 있도록 준비를 행한다. 입력/출력 유닛(1814)은, 준비가 완료되면, 커맨드 제어 유닛(1802)에 준비 완료 통지를 출력한다. 커맨드 제어 유닛(1802)은, 입력/출력 유닛(1814)으로부터 준비 완료 통지를 수신하면, 해석 처리 요구 동의 플래그가 "1"로 설정된 해석 처리 요구 리스폰스를 촬상 장치(110)에 회신한다. 그 후, 촬상 장치(110)로부터의 기입 커맨드에 따라, 전송 데이터(해석 처리 전 화상)를 수신하면, 입력/출력 제어 유닛(410)은 데이터를 입력/출력 유닛(1814)에 전송한다. 입력/출력 유닛(1814)은 데이터를 연산 처리 유닛(1811)에 전송한다. 입력/출력 유닛(1814)은, 연산 처리 유닛(1811)으로의 데이터 전송이 개시되면, 커맨드 제어 유닛(1802)에 해석 처리의 개시를 통지한다. 커맨드 제어 유닛(1802)은 해석 처리가 완료될 때까지 해석 처리 완료 플래그를 "1"로 설정하지 않는다. 이 경우, 촬상 장치(110)는 해석 처리 요구 리스폰스에서 해석 처리 완료 플래그가 "0"인 것을 검출함으로써, 해석 처리가 실행 중인 것을 알 수 있다. 커맨드 제어 유닛(1802)은, 해석 처리의 개시로부터 해석 처리 완료까지의 시간 동안, I/F 유닛(401)에 지시를 송신하여 DATA 신호 라인을 로우 상태로 드라이브함으로써, 비지 신호를 출력할 수 있다는 것에 유의한다. 그 후, 연산 처리 유닛(1811)은, 해석 처리가 완료되면, 해석 처리의 완료를 입력/출력 유닛(1814)에 통지한다. 또한, 연산 처리 유닛(1811)은 해석 처리 결과를 입력/출력 유닛(1814)에 전송한다. 입력/출력 유닛(1814)은, 해석 처리 완료 통지를 수신하면, 해석 처리 완료 통지를 입력/출력 제어 유닛(410)에 전송한다. 또한, 입력/출력 유닛(1814)은 해석 처리 결과를 입력/출력 제어 유닛(410)을 통해서 연산 결과 보유 유닛(1815)에 전송하고, 연산 결과 보유 유닛(1815)은 해석 처리 결과를 저장한다. 그 후, 커맨드 제어 유닛(1802)은 해석 처리 완료 플래그를 "1"로 설정한다. 따라서, 촬상 장치(110)는, 해석 처리 완료 플래그가 "1"인 해석 처리 요구 리스폰스를 수신함으로써, 해석 처리가 완료된 것을 알 수 있다.
커맨드 결정 유닛(1801)은, 해석 결과 요구 플래그를 검출하면, 연산 결과 보유 유닛(1815)에 해석 결과 요구 플래그가 수신된 것을 통지한다. 연산 결과 보유 유닛(1815)은, 예를 들어 해석 처리 결과 저장 처리의 완료에 기초하여, 커맨드 제어 유닛(1802)에 준비 완료 통지를 출력한다. 커맨드 제어 유닛(1802)은, 연산 결과 보유 유닛(1815)으로부터 준비 완료 통지를 수신하면, 해석 결과 판독 동의 플래그가 "1"로 설정된 해석 처리 요구 리스폰스를 촬상 장치(110)에 회신한다. 촬상 장치(110)가 판독 커맨드를 발행하면, 입력/출력 제어 유닛(410)은 촬상 장치(110)로부터의 판독 커맨드에 따라 연산 결과 보유 유닛(1815)으로부터 해석 처리 결과를 판독하고, 그것을 촬상 장치(110)에 전송한다. 전술한 방식으로, 해석 처리 요구 커맨드에 의해, 분리가능 디바이스(100)에서 해석 처리가 실행되고, 촬상 장치(110)가 해석 처리 결과를 분리가능 디바이스(100)로부터 판독할 수 있도록 제어가 행해진다.
분리가능 디바이스(100)에서 해석 처리 완료 플래그가 "1"로 설정될 때까지는, 연산 처리 유닛(1811)은 새로운 화상의 해석 처리를 접수할 수 없다는 것에 유의한다. 이 때문에, 촬상 장치(110)는, 해석 처리 완료 플래그가 "1"로 설정된 리스폰스가 수신될 때까지, 해석 처리 요구 커맨드를 송신함으로써 분리가능 디바이스(100)의 상태를 확인할 수 있다. 또한, 분리가능 디바이스(100)는 해석 처리의 실행 동안에는 비지 신호를 출력하도록 구성될 수 있다. 분리가능 디바이스(100)에서의 해석 처리의 실행 동안에도, 촬상 장치(110)는 과거에 실행이 완료된 해석 처리 결과를 판독할 수 있다는 것에 유의한다. 이때, 연산 결과 보유 유닛(1815)은 새로운 해석 처리 결과가 입력되는 경우에 새로운 해석 처리 결과를 오래된 해석 처리 결과에 덮어쓰기 하도록 구성될 수 있다는 것에 유의한다. 또한, 연산 결과 보유 유닛(1815)은 복수의 해석 처리 결과를 보유하도록 구성될 수 있다. 이 경우, 예를 들어 각 해석 처리 결과에 일련 번호가 부여될 수 있다. 이에 의해, 촬상 장치(110)는 어느 해석 처리 결과를 판독할지를 일련 번호에 의해 지정할 수 있다. 해석 처리 결과의 번호는 해석 처리 요구 커맨드의 커맨드 인수값에 그것을 포함시킴으로써 지정될 수 있다.
입력/출력 제어 유닛(410)의 커맨드 결정 유닛(1801)은, 해석 처리에 관한 전용 커맨드를 검출하면, 전용 커맨드를 SD 컨트롤러(403)에 전송하지 않고 처리 전환 유닛(411)에만 지시를 보내도록 구성될 수 있다는 것에 유의한다. 이에 의해, SD 컨트롤러(403)가 불필요한 제어를 행하는 것을 방지할 수 있다. 한편, 입력/출력 제어 유닛(410)은, 해석 처리에 관한 전용 커맨드 이외의 커맨드 및 커맨드와 관련된 데이터를 수신하면, 임의의 특수한 제어를 행하지 않고 SD 컨트롤러(403)에 그대로 커맨드 및 데이터를 전송할 수 있다. 이에 의해, 분리가능 디바이스(100)는 통상적인 저장 처리 기능을 실행하는 것이 가능하게 된다.
(처리 예 2)
계속해서, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는지를 결정하는 다른 처리에 대해서 설명한다. 본 처리에서는, 분리가능 디바이스의 단자 처리를 검출함으로써 결정을 실행한다. 분리가능 디바이스의 단자 처리에 대해서 도 22a 및 도 22b를 참고해서 설명한다. 도 22a는 분리가능 디바이스(100)의 SD I/F의 단자부의 논리를 나타내며, 도 22b는 분리가능 디바이스(100)의 I/F 유닛(401)의 회로 구성을 나타낸다.
도 22a의 핀 번호(2201)는 SD I/F의 커넥터 단자의 핀 번호를 나타낸다. 기능(2202)은 SD 규격에 의해 할당된 각 단자(핀)의 기능을 나타낸다. 핀 2는 커맨드(CMD)이고, 핀 5는 클록(CLK)이며, 핀 7 내지 10은 데이터 라인(DAT0 내지 DAT3)이다. 단자 논리(2203)는 디바이스를 SD 카드로서 기동할 때의 초기화 커맨드(CMD0)의 실행 시의 각 단자의 논리이다. 이때, 모든 통신 단자는 풀-업 저항(pull-up resistor)에 의해 하이로 설정된다. 단자 논리(2204)는 분리가능 디바이스(100)에 전력이 투입된 직후의 각 통신 단자의 논리를 나타낸다. 단자 논리(2205)는 분리가능 디바이스(100)에 클록(2211)이 입력된 후의 각 통신 단자의 논리를 나타낸다. CLK 이외의 분리가능 디바이스(100)의 단자부(2201)는, 전력 공급(2213)이 턴 온되면 풀업되도록 구성된다. DAT1 및 DAT2(데이터(2212))는 단자 제어 유닛(2221)에 의해 로우로 설정된다. 그 후, 단자 제어 유닛(2221)이 촬상 장치(110)로부터의 CLK(2211)의 공급을 검출하면, 로우인 DAT1 및 DAT2는 해제되고, 나머지 단자의 논리 상태는 촬상 장치(110) 내의 풀-업 저항에 의해 하이로 설정된다. 즉, 본 실시형태에서는, 분리가능 디바이스(100)는, 전력 공급 후 및 CLK의 공급 전에 DAT1 및 DAT2가 로우로 설정될 수 있는 경우에는 단자 제어 유닛(2221)을 포함한다. 여기서, 분리가능 디바이스가 논리 회로 재구성 기능을 갖는 경우에만 단자 제어 유닛(2221)을 채용하는 경우, 촬상 장치(110)는 DAT1 및 DAT2를 감시함으로써 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 용이하게 결정할 수 있다.
계속해서, 도 23을 참조하여, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 촬상 장치(110)가 결정하는 다른 처리의 수순의 예에 대해서 설명한다. 촬상 장치(110)는, 분리가능 디바이스(100)의 삽입을 검출하면(단계 S2301에서 예), SD I/F 유닛(205)을 통해서 분리가능 디바이스(100)에 전력을 공급한다(단계 S2302). 촬상 장치(110)는, 전력 공급 전압이 미리정해진 값에 도달하고 전력 공급이 안정된 것을 검출하면(단계 S2303), 제1 단자 처리를 확인하고, 각 단자의 논리가 단자 논리(2204)의 상태로 설정되어 있는 것을 확인한다(단계 S2304). 계속해서, 촬상 장치(110)는 CLK(2211)를 공급하고(단계 S2305) 제2 단자 처리를 확인한다(단계 S2306). 이때, 촬상 장치(110)에 의해 검출되는 각 단자 논리는 단자 논리(2205)의 상태를 갖는다. 촬상 장치(110)는, 제1 단자 논리로부터 제2 단자 논리로의 변화를 검출하면, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는다고 결정한다. 전술한 바와 같이, 촬상 장치(110)는, SD I/F 유닛(205)을 통해서 분리가능 디바이스(100)의 SD I/F의 단자 상태를 확인함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정한다. 이 방법에서는, SD 규격에 준거한 통신을 행하지 않고, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정하는 것이 가능하다.
계속해서, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정하는 또 다른 처리에 대해서 설명한다. 본 처리에서도, 분리가능 디바이스(100)의 단자 처리를 검출함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정한다. 분리가능 디바이스의 단자 처리에 대해서 도 24a 및 도 24b를 참고해서 설명한다. 도 24a는 분리가능 디바이스(100)의 SD I/F의 단자부의 논리와 접속 신호를 나타내고, 도 24b는 분리가능 디바이스(100)의 I/F 유닛(401)의 구성예를 나타낸다. 도 24a를 참조하면, 핀 번호는 SD I/F의 커넥터 단자의 핀 번호를 나타낸다. 기능은 SD 규격에 의해 할당된 각 단자(핀)의 기능을 나타낸다. 핀 2는 커맨드(CMD)이고, 핀 5는 클록(CLK)이며, 핀 7 내지 10은 데이터 라인(DAT0 내지 DAT3)이다. 단자 논리(2401)는 디바이스를 SD 카드로서 기동시킬 때의 초기화 커맨드(CMD0)의 실행 전의 각 단자의 논리이다.
여기에서는, SD I/F의 핀 8에 단자 제어 유닛(2421)의 단자(2403)가 할당되며, SD I/F의 핀 9에 단자 제어 유닛(2421)의 단자(2402)가 할당된다. 단자 제어 유닛(2421)의 단자(2403)는 기동시에 입력 단자로 설정되며 높은 임피던스로 설정된다. 단자 제어 유닛(2421)의 단자(2402)는, 기동시에 출력 단자로 설정되고, 단자 제어 유닛(2421) 내에서 단자(2403)로의 입력 신호가 단자(2402)에 루프 백(loop back)되도록 접속되어 있다. 이 때문에, 단자(2403)에 입력된 신호가 단자(2402)로부터 출력되는 신호와 일치하는 경우에는, 분리가능 디바이스는 단자 제어 유닛(2421)을 포함한다. 분리가능 디바이스가 논리 회로 재구성 기능을 갖는 경우에만 단자 제어 유닛(2421)을 채용할 수 있다. 따라서, 촬상 장치(110)는, 단자(2403)로의 입력 신호 및 단자(2402)로부터의 출력 신호가 미리정해진 지연 시간의 어긋남을 가지고 일치하는지를 감시함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 용이하게 결정할 수 있다. 도 24a 및 도 24b에 도시된 예에서는, 1개의 단자에의 입력 신호와 다른 단자로부터의 출력 신호 사이의 일치가 결정된다는 것에 유의한다. 그러나, 본 발명은 이것에 한정되지 않는다. 즉, 복수의 단자 중 일부에의 입력 신호와 복수의 단자 중 다른 일부의 단자로부터의 출력 신호 사이의 일치가 결정될 수 있다. 입력 단자의 수와 출력 단자의 수는 일치하지 않아도 된다는 것에 유의한다.
계속해서, 도 25를 참고하여, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 촬상 장치(110)가 결정하는 또한 다른 처리의 수순에 대해서 설명한다. 촬상 장치(110)는, 분리가능 디바이스(100)의 삽입을 검출하면(단계 S2501에서 예), SD I/F 유닛(205)을 통해서 분리가능 디바이스(100)에 전력을 공급한다(단계 S2502). 촬상 장치(110)는, 전력 공급이 안정된 것을 검출하면, SD I/F의 핀 8에 접속된 신호(2411)에 미리정해진 패턴의 신호를 입력한다(단계 S2503). 입력된 신호 패턴은, 단자(2403)로부터 보내지고 신호(2412)로서 단자(2402)로부터 촬상 장치(110)에 출력된다. 촬상 장치(110)는 출력 신호(2411)를 수신된 신호(2412)와 비교한다(단계 S2504). 촬상 장치(110)는, 이들 신호가 미리정해진 지연 시간의 어긋남을 갖는 동일한 신호인 것을 확인하면, 장착된 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는다고 결정한다(단계 S2505). 전술한 바와 같이, 촬상 장치(110)는, SD I/F 유닛(205)을 통해서 분리가능 디바이스(100)의 SD I/F의 각 단자의 상태를 확인함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정한다. 이 방법에서는, SD 규격에 준거한 통신을 행하지 않고, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정할 수 있다. 촬상 장치(110)가 핀 8에 신호를 입력하지 않는 경우에는, 전력 공급에 의해 신호(2411 및 2412)가 풀업된다는 것에 유의한다. 따라서, 본 처리를 지원하지 않는 촬상 장치(110)에 분리가능 디바이스(100)가 장착되는 경우에도 오동작은 발생하지 않는다.
(처리 예 3)
계속해서, 도 26a 내지 도 26c를 참고하여, SD 카드 초기화 시퀀스에서의 리스폰스의 인수값에 기초하여, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정하는 처리에 대해서 설명한다. 도 26a 및 도 26b는 SD 카드 초기화 시퀀스 동안의 리스폰스의 일부의 구조를 각각 나타낸다. 리스폰스(2611) 및 리스폰스(2621)는 초기화 커맨드(ACMD 41)의 2개의 상이한 상태를 나타낸다. 리스폰스(2611) 내의 비트(2612) 및 리스폰스(2621) 내의 비트(2622)는 비지 상태를 나타내는 비트이다. 리스폰스(2611) 내의 비트(2613) 및 비트(2614)와 리스폰스(2621) 내의 비트(2623) 및 비트(2624)는 리저브 비트(reserve bit)이다. 초기화 커맨드(ACMD 41)의 리스폰스에서 비트(2612) 또는 비트(2622)가 "0"인 경우에는, 분리가능 디바이스(100)가 비지 상태에 있다고 결정되며, 나머지 리스폰스 인수부는 유효한 리스폰스로서 처리되지 않는다. 한편, 비트(2612) 또는 비트(2622)가 "1"로 설정되면, 분리가능 디바이스(100)의 비지 상태가 해제되었다고 결정되고, 리스폰스(2611) 및 리스폰스(2621)의 인수는 유효한 리스폰스의 인수값으로서 인식된다. 리저브 비트는 기능으로서 정의되어 있지 않은 비트이다. 통상적으로, 리저브 비트는 "0"을 저장하고 접속된 촬상 장치(110)에 의해 무시된다. 한편, 리스폰스(2611)에서는, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는 것을 나타내는 인수값이 리저브 비트에 설정된다. 리스폰스(2611)는, 비지 비트(BUSY bit)(2612)에는 "0"이 저장되어 있기 때문에 SD 규격에서는 무효인 리스폰스로서 다루어진다는 것에 유의한다. 즉, SD 규격에서 무효인 리스폰스의 형태에서, 분리가능 디바이스(100)는 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 나타내는 정보를 촬상 장치(110)에 통지된다. 한편, 리스폰스(2621)에서는, 비지 비트(2622)에 "1"이 저장되고, 리저브 비트(비트(2613) 및 비트(2614))에 "0"이 저장됨으로써, 비지 상태가 해제된 것을 나타낸다. 리스폰스(2621)는 SD 규격에 준거한 유효한 리스폰스로서 다루어진다.
계속해서, 도 26c를 참고하여, 처리의 수순의 예에 대해서 설명한다. 촬상 장치(110)는, 분리가능 디바이스(100)의 장착을 검출하면, 그것과 분리가능 디바이스(100) 사이에서 SD 카드 초기화 처리를 행한다. 먼저, 촬상 장치(110)는 ACMD 41을 발행하고(단계 S2601), SD 카드를 판별한다. 분리가능 디바이스(100)의 커맨드 제어 유닛(1802)은, SD 컨트롤러(403)로부터의 리스폰스가 ACMD 41의 리스폰스인 것을 검출하면, 비지 비트에 "0"이 설정된 상태에서 리저브 비트의 값을 변경한다. 여기에서는, 비트(2613)에 인수값 "0xB"이 설정되고, 비트(2614)에 인수값 "0xC3"이 설정된다. 그리고, 분리가능 디바이스(100)는 수신된 커맨드에 대한 리스폰스로서 리스폰스(2611)를 촬상 장치(110)에 송신한다.
촬상 장치(110)의 제어 유닛(304)은, ACMD 41에 대한 리스폰스로서 비지 상태의 리스폰스를 수신하면, 리스폰스에서의 리저브 영역의 값을 확인한다. 촬상 장치(110)는, 리스폰스(2611)의 리저브 영역으로부터 취득된 값이, 미리 저장 유닛(303)에 저장되어 있는 분리가능 디바이스를 식별하는 디바이스 코드와 대응(일치)하는지를 결정한다(단계 S2602). 여기에서는, 디바이스 코드로서 "0xBC3"이 저장 유닛(303)에 보유되어 있는 것으로 상정한다. 이 경우, 촬상 장치(110)는, 리스폰스(2611)로부터 취득된 인수값 "0xB" 및 "0xC3"이 저장 유닛(303)에 보유되어 있는 디바이스 코드 "0xBC3"에 대응한다고 결정한다(단계 S2602에서 예). 그리고, 촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖는다고 결정하고(단계 S2603), 처리를 종료한다. 인수값 "0xB" 및 "0xC3"은 예일뿐이며, 이들 이외의 수치도 당연히 사용될 수 있다. 한편, 촬상 장치(110)는, 리스폰스(2611)의 인수값이 저장 유닛(303)에 보유되어 있는 디바이스 코드에 대응하지 않는다고 결정하면(단계 S2602에서 아니오), 장착된 디바이스가 저장 처리 기능만을 갖는다고 결정하고(단계 S2604), 처리를 종료한다. 어느 경우에도, 촬상 장치(110)는 그대로 SD 카드로서의 초기화 처리의 처리를 계속한다. 분리가능 디바이스(100)는, SD 컨트롤러(403)로부터의 비지 상태가 해제되면, 리스폰스(2621)를 촬상 장치(110)에 송신한다. 촬상 장치(110)는, 리스폰스(2621)의 비트(2622)에 "1"이 설정되어 있는 것을 검출하면, 비지 상태가 해제되었다고 결정하고 리스폰스(2621)의 인수값을 확인한다. 그 후, 촬상 장치(110)와 분리가능 디바이스(100)는 계속해서 SD 카드로서의 초기화 시퀀스를 처리할 수 있다. 전술한 처리는 분리가능 디바이스가 삽입/제거되는 경우 또는 디바이스에 전력이 다시 투입될 때마다 실행될 수 있다. 분리가능 디바이스(100)는, 예를 들어 해석 처리 회로 데이터의 기입이 필요하지 않은 경우, 비지 상태의 리스폰스의 인수값을 디바이스 코드와는 상이한 미리정해진 값으로 설정함으로써, 그 상태를 촬상 장치(110)에 통지할 수 있다는 것에 유의한다. 이에 의해, 촬상 장치(110)는 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖지만 해석 처리 회로 데이터의 기입은 불필요한 상태에 있는 것을 특정할 수 있다. 또한, 분리가능 디바이스(100)는 자-장치의 스테이터스에 따라서 비지 상태의 리스폰스에서의 인수값을 변경하도록 구성될 수 있다.
촬상 장치(110)는, 해석 처리 기능을 지원하는 경우, 비지 상태에서의 리스폰스의 리저브 비트의 값을 결정함으로써, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖고 해석 처리 회로 데이터의 기입이 필요한 것을 검출할 수 있다. 전술한 방식으로, 촬상 장치(110)는, 비지 상태 동안 리스폰스를 이용하여, 분리가능 디바이스(100)가 논리 회로 재구성 기능을 갖는지를 결정할 수 있다. 한편, 촬상 장치(110)는, 해석 처리 기능이 지원되지 않는 경우, 비지 비트에 기초하여 분리가능 디바이스(100)가 비지 상태인 것을 검출하고 리스폰스의 인수값을 무시한다. 결과적으로, 해석 처리 기능을 지원하지 않는 촬상 장치(110)는 저장 처리 기능만을 갖는 통상의 SD 카드와 마찬가지로 분리가능 디바이스(100)를 다룰 수 있다.
(다른 처리 예)
촬상 장치(110)가 분리가능 디바이스(100)에 해석 처리 회로 데이터를 기입하는 처리는 상술한 바와 같은 구성과는 상이한 구성에 의해 실행될 수 있다는 것에 유의한다. 이하에서는 그 처리에 대해서 설명한다.
도 27은 촬상 장치(110) 및 분리가능 디바이스(100)의 구성예를 나타낸다. 도 2에 도시된 촬상 장치(110)의 구성예 및 도 18에 도시된 분리가능 디바이스(100)의 구성예에서 동일한 참조 번호는 공통 구성요소를 나타내며, 그에 대한 설명은 생략한다.
촬상 장치(110)의 연산 처리 유닛(203)은, 예를 들어 통신 유닛(2751), 통신 유닛(2752), 및 접속 제어 유닛(2753)을 포함한다. 또한, 촬상 장치(110)의 SD I/F 유닛(205)은 단자부(2754)를 포함한다. 통신 유닛(2751)은 SD 컨트롤러에 대응하는 통신 유닛이다. 통신 유닛(2752)은, 통신 유닛(2751)과는 상이한 통신 유닛이며, SD 프로토콜 이외의 프로토콜에 대응한다. 접속 제어 유닛(2753)은 단자부(2754)에 대한 전기적인 접속에 관해서 통신 유닛(2751)과 통신 유닛(2752) 사이를 전환한다. 단자부(2754)는 SD I/F에 대응한 커넥터의 단자부이다. 접속 제어 유닛(2753)은, 제어 유닛(304)으로부터의 지시를 받고, 예를 들어 통신 유닛(2751)과의 접속이 선택되면, 통신 유닛(2751)의 통신 라인을 단자부(2754)에 접속시키도록 제어를 실행한다. 마찬가지로, 접속 제어 유닛(2753)은, 통신 유닛(2752)과의 접속이 선택되면, 통신 유닛(2752)의 통신 라인을 단자부(2754)에 접속시키도록 제어를 행한다. 접속 제어 유닛(2753)은 통신 유닛(2751)과 통신 유닛(2752)을 단자부(2754)에 동시에 접속시키도록 제어를 행할 수 있다는 것에 유의한다. 이 경우, 예를 들어 단자부(2754)의 각 단자마다 통신 유닛(2751)과 통신 유닛(2752) 중 어느 것이 접속되어야 하는지가 선택되며, 접속 제어 유닛(2753)은 그 선택에 기초하여 접속 제어를 실행한다.
분리가능 디바이스(100)의 입력/출력 제어 유닛(410)은, 도 18에 도시된 구성 이외에, 예를 들어 접속 제어 유닛(2704), 통신 유닛(2705), 및 통신 유닛(2706)을 포함한다. 또한, 분리가능 디바이스(100)의 I/F 유닛(401)은 도 18에 도시된 구성 이외에 예를 들어 단자부(2703)을 포함한다. 통신 유닛(2705) 및 통신 유닛(2706)은 촬상 장치(110)와 통신하도록 구성되는 통신 유닛이다. 이들은 독립적으로 동작가능하게 구성되며 SD 규격 및 그 이외의 통신 프로토콜에 대응한다. 단자부(2703)는 SD I/F에 대응하는 커넥터의 단자부이다. 접속 제어 유닛(2704)은, 통신 유닛(2705)과 통신 유닛(2706) 중 적어도 하나를 단자부(2703)에 접속시키도록 제어를 행한다. 접속 제어 유닛(2704)은, 커맨드 결정 유닛(1801)의 결정 결과에 기초하여 단자부(2703)로부터 통신 유닛(2705)에의 접속과 단자부(2703)로부터 통신 유닛(2706)에의 접속 중 적어도 하나를 선택하고 접속을 전환하는 제어를 실행한다. 접속 제어 유닛(2704)은, 통신 유닛(2705)의 사용을 선택하면, 단자부(2703)의 모든 신호 라인이 통신 유닛(2705)에 접속되도록 제어를 실행한다. 한편, 접속 제어 유닛(2704)은, 통신 유닛(2706)의 사용을 선택하면, 단자부(2703)의 모든 신호 라인이 통신 유닛(2706)에 접속되도록 제어를 실행한다. 통신 유닛(2705)과 통신 유닛(2706)을 동시에 단자부(2703)에 접속시키는 것도 가능하다. 이 경우에는, 접속 제어 유닛(2704)은, 단자부(2703)의 각 단자마다 통신 유닛(2705)과 통신 유닛(2706) 중 어느 것이 접속되어야 할지를 선택하고, 선택 결과에 따라 접속 제어를 실행한다. 도 27에 도시된 구성에서는, FPGA(402)에 설정값 보유 유닛(1812)이 포함된다. 본 구성에서는, 촬상 장치(110) 및 분리가능 디바이스(100)는 2개의 통신 유닛 중 적어도 하나를 통해 접속된다.
계속해서, 전술한 바와 같은 구성이 사용되는 경우에, 분리가능 디바이스(100)가 촬상 장치(110)에 장착되며, 분리가능 디바이스(100)에 해석 처리 회로 데이터 및 해석 처리의 설정값이 기입될 때의 처리의 수순의 예에 대해서 설명한다. 본 처리에서는, 도 27에 도시된 통신 라인(2701)과 통신 라인(2702)을 사용하여 SD 카드 초기화 시퀀스가 실행된다. 그 후, 제1 통신 라인(2701)을 사용해서 해석 처리 회로 데이터가 전송되며, 제2 통신 라인(2702)을 사용해서 해석 처리 설정값이 전송된다. 도 28은 이 처리의 수순의 예를 나타낸다.
먼저, 촬상 장치(110)는, 분리가능 디바이스(100)의 장착을 검출하면, SD 카드 초기화 처리를 실행한다. 촬상 장치(110)는, 분리가능 디바이스(100)로부터 디바이스 정보를 취득하고, 분리가능 디바이스(100)가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖는 것을 검출한다(단계 S2801). 분리가능 디바이스 판별 방법 또는 디바이스 정보 취득 방법은 전술한 실시형태의 방법 중 하나에 의해 실행될 수 있기 때문에, 여기서는 그에 대한 설명을 생략한다. 계속해서, 촬상 장치(110)는 SD I/F의 단자 접속의 전환을 분리가능 디바이스(100)에 요구한다(단계 S2802). 분리가능 디바이스(100)가 단자 접속을 전환시킬 수 있는지는 예를 들어 취득된 디바이스 정보에 기초하여 결정될 수 있다. 촬상 장치(110)는, 예를 들어 회로 접속 변경 플래그가 "1"로 설정되고, 접속 방법이 커맨드 인수값에 포함되는 해석 처리 설정 커맨드를 생성하고, 커맨드를 분리가능 디바이스(100)에 송신한다. 분리가능 디바이스(100)의 커맨드 결정 유닛(1801)은, 촬상 장치(110)로부터 해석 처리 설정 커맨드를 수신하면, 그것에 포함되어 있는 회로 접속 변경 플래그를 검출하고, 접속 제어를 실행한다(단계 S2802). 먼저, 커맨드 결정 유닛(1801)은 접속 제어 유닛(2704)에 통지를 행한다. 또한, 커맨드 결정 유닛(1801)은, 통신 유닛(2705) 및 통신 유닛(2706)에도 통지를 행하고, 통신 유닛(2705)이 해석 처리 회로 데이터를 수신할 수 있고 통신 유닛(2706)이 해석 처리 설정값을 수신할 수 있도록 준비를 실행한다. 또한, 커맨드 결정 유닛(1801)은 처리 전환 유닛(411)에 통지를 보내고, 처리 전환 유닛(411)은 통신 유닛(2705)으로부터의 해석 처리 회로 데이터를 FPGA(405)에 기입할 준비를 한다. 커맨드 결정 유닛(1801)은, 또한 설정값 보유 유닛(1812)에 통지를 행하고, 해석 처리 설정값이 저장될 수 있도록 준비를 실행한다. 커맨드 제어 유닛(1802)은, 접속 변경 동의 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 생성하고, 그것을 촬상 장치(110)에 회신한다.
접속 제어 유닛(2704)은 커맨드 인수값에 의해 지정된 접속 방법이 사용되도록 접속처를 제어한다. 단자 접속의 상세에 대해서는 후술한다. 접속 제어 유닛(2704)에 의한 접속 설정이 완료되면, 커맨드 제어 유닛(1802)은 접속 변경 완료 플래그를 "1"로 설정한다. 분리가능 디바이스(100)는, 이 상태에서 해석 처리 설정 커맨드를 다시 수신하면, 접속 변경 완료 플래그가 "1"로 설정된 해석 처리 설정 리스폰스를 촬상 장치(110)에 회신한다. 커맨드 제어 유닛(1802)은, 접속 변경 동의 플래그와 접속 변경 완료 플래그를 동시에 "1"로 설정할 수 있다. 이 경우, 접속 변경이 동의되고 접속 변경이 완료된 것을 나타내는 통지를 해석 처리 설정 리스폰스를 한번 송신하는 것에 의해 행할 수 있다. 촬상 장치(110)는, 분리가능 디바이스(100)로부터 접속 변경 동의 플래그가 "1"로 설정되어 있지 않은 해석 처리 설정 리스폰스를 수신한 경우, 분리가능 디바이스(100)에서 단자 접속이 변경될 수 없는 것을 인식할 수 있다. 촬상 장치(110)의 접속 제어 유닛(2753)은, 해석 처리 설정 리스폰스의 접속 변경 완료 플래그를 검출하면, 접속을 변경한다. 이때, 촬상 장치(110)의 통신 유닛(2752)과 분리가능 디바이스(100)의 통신 유닛(2705)은 단자부(2754)와 단자부(2703) 사이의 제1 단자 접속을 통해서 통신가능하게 접속되고, 통신 유닛(2751)과 통신 유닛(2706)은 제2 단자 접속을 통해서 통신가능하게 접속된다.
계속해서, 촬상 장치(110)는 결정된 해석 처리 회로 데이터 및 해석 처리 설정값을 송신한다. 촬상 장치(110)는, 해석 처리 회로 데이터를 통신 유닛(2751)으로부터 송신하고, 해석 처리 설정값을 통신 유닛(2752)으로부터 송신한다(단계 S2803). 분리가능 디바이스(100)의 통신 유닛(2705)은 수신된 해석 처리 회로 데이터를 처리 전환 유닛(411)에 보내고, 처리 전환 유닛(411)은 FPGA(405)에 해석 처리 회로 데이터를 기입한다. 통신 유닛(2706)은 수신된 해석 처리 설정값을 설정값 보유 유닛(1812)에 송신하고, 설정값 보유 유닛(1812)은 수신된 해석 처리 설정값을 저장한다. 촬상 장치(110)는, 송신 대상으로서의 해석 처리 회로 데이터의 데이터 사이즈와 해석 처리 설정값의 데이터 사이즈를 인수값으로서 포함하는 해석 처리 설정 커맨드를 사전에 송신할 수 있다. 데이터 사이즈는, 별개인 복수의 커맨드에 의해 복수회로 나누어서 송신될 수 있거나, 기입 커맨드에 의해 데이터 라인을 통해 송신될 수 있다. 촬상 장치(110)는, 해석 처리 회로 데이터와 해석 처리 설정값의 송신이 완료되면, 접속 제어 유닛(2753)의 접속을 다시 변경한다. 초기에 접속되어 있었던 통신 유닛은 단자부(2754)에 접속된다. 분리가능 디바이스(100)의 커맨드 결정 유닛(1801)은, 수신된 데이터 사이즈가 해석 처리 설정 커맨드의 인수값에 일치하는 것을 검출하면, 접속 제어 유닛(2704)과 커맨드 제어 유닛(1802)에 통지를 행한다. 접속 제어 유닛(2704)은 초기 상태에서 접속되어 있었던 통신 유닛을 단자부(2703)에 접속시킨다. 이와 같이 하여, SD I/F의 접속 변경이 완료된다(단계 S2804).
커맨드 제어 유닛(1802)은 해석 처리 설정 리스폰스의 설정 완료 플래그를 "1"로 설정한다. 촬상 장치(110)는, 다시 해석 처리 설정 커맨드를 송신하고, 해석 처리 설정 리스폰스에 "1"로 설정된 설정 완료 플래그가 포함되어 있는 것을 검출함으로써, 해석 처리 기능의 기동이 완료된 것을 특정하고 처리를 종료한다. 이에 의해, 분리가능 디바이스에서 해석 처리의 기동이 완료된다.
도 27에 도시된 구성에 따르면, 설정값 보유 유닛(1812)이 FPGA(405) 외부에 형성되기 때문에, 해석 처리 회로 데이터 및 해석 처리 설정값은 동시에 전송될 수 있다. FPGA(405)에의 회로 데이터의 기입 시에 클록 주파수를 상승시킬 수 없는 경우에도, 해석 처리 회로 데이터와 해석 처리 설정값을 동시에 기입함으로써 해석 처리 기능의 기동 시간을 단축할 수 있다.
촬상 장치(110)로부터의 데이터 전송의 완료는 전송 데이터의 마지막에 종료 플래그를 설정함으로써 결정될 수 있다. 또한, 분리가능 디바이스(100)는, 회로 접속 변경이 완료된 후에, 비지 신호를 출력함으로써 FPGA에의 기입이 완료된 것을 통지할 수 있다. 접속 변경은 해석 처리 설정 커맨드 이외의 방법에 의해 요구될 수 있다. 예를 들어, SPI(Serial Peripheral Interface) 모드에서의 통신, I2C(Inter-Integrated Circuit) 통신, 또는 다른 독자 프로토콜에 의한 통신에 의해 접속 변경이 요구될 수 있다. 연산 결과 보유 유닛(1815) 및 설정값 보유 유닛(1812) 각각은 FPGA(402)의 외부에 배치될 수 있으며 예를 들어 RAM 등의 저장 소자에 의해 형성될 수 있다.
계속해서, 도 29를 참고하여, 제1 통신 라인(2701)을 사용해서 커맨드에 의한 SD의 초기화 시퀀스를 행하고 제2 통신 라인(2702)을 사용해서 해석 처리 회로 데이터를 전송하는 처리의 수순의 예에 대해서 설명한다. 도 28에 도시된 처리와 동일한 내용에 대해서는 설명을 생략한다는 것에 유의한다.
촬상 장치(110)는, 장착된 디바이스가 해석 처리 기능을 갖는 것을, 장착 시의 단자 논리에 기초하여 검출한다(단계 S2901). 촬상 장치(110)는, 분리가능 디바이스에 SD I/F의 접속 구성의 전환을 요구하고, 자-장치의 SD I/F의 접속 구성도 전환한다(단계 S2902). 촬상 장치는, 제1 단자에서 SD 카드로서의 초기화 시퀀스를 개시하고, 제2 단자에서 해석 처리 회로 데이터 및 해석 처리 설정값을 전송한다(단계 S2903). 촬상 장치(110)는, 제1 단자에서 SD 카드로서의 초기화 시퀀스가 완료되고 제2 단자에서 해석 처리 기능의 기동이 완료된 것을 검출하면, SD I/F의 접속 구성을 전환한다(단계 S2903).
SD 카드의 초기화 시퀀스 시의 통신 속도는 제한된다. 이 때문에, SD 카드의 초기화 시퀀스가 완료될 때까지는 데이터의 전송에 시간이 필요하다. 한편, 본 처리에 따르면, SD 카드의 초기화와 병행해서 해석 처리 설정값 등을 전송해서 해석 처리 기능을 기동할 수 있다. 따라서, 분리가능 디바이스(100)에서, 해석 처리 기능이 기동될 때까지의 시간을 단축할 수 있다. SD 컨트롤러가 비지 상태에 있는 경우에도, SD 컨트롤러에의 영향 없이 해석 처리 회로 데이터를 전송할 수 있다. 본 처리에서는, 커맨드 라인에 의한 통신과는 상이한 통신 유닛에 의해 해석 처리 회로 데이터가 전송된다. 따라서, 커맨드 라인의 것과는 상이한 주파수를 사용해서 해석 처리 회로 데이터를 전송할 수 있기 때문에, 해석 처리 회로 데이터의 기입 시간을 단축할 수 있다.
이어서, SD 컨트롤러(403) 및 저장 유닛(404)을 포함하지 않는, 도 27에 도시된 분리가능 디바이스(100)의 구성에서의 처리의 수순의 예에 대해서 도 30을 참고해서 설명한다. 본 처리에서는, 단자 처리에 의해 디바이스가 결정된다. 제1 통신 라인(2701)을 사용해서 해석 처리 회로 데이터가 전송되며, 제2 통신 라인(2702)을 사용해서 해석 처리 설정값이 전송된다.
먼저, 촬상 장치(110)는, 장착된 디바이스가 해석 처리 기능을 갖는 것을 장착 시의 단자 논리에 기초하여 검출한다(단계 S3001). 촬상 장치(110)는, 분리가능 디바이스(100)에 SD I/F의 접속 구성의 전환을 요구하고, 자-장치의 SD I/F의 접속 구성을 전환한다(단계 S3002). 촬상 장치(110) 및 분리가능 디바이스(100)는, 제1 단자에 의해 해석 처리 회로 데이터가 송신되고 제2 단자에 의해 해석 처리 설정값이 전송되도록 접속 제어 유닛(2753) 및 접속 제어 유닛(2704)에 의해 통신 유닛 사이의 접속을 제어한다(단계 S3003). 촬상 장치(110)는, 제1 단자에서 해석 처리 회로의 기동을 확인하고 제2 단자에서 해석 처리 설정값의 설정이 완료된 것을 검출하면, SD I/F의 접속 구성을 전환한다(단계 S3004). 이에 의해, 분리가능 디바이스(100)에서 해석 처리 기능의 기동이 완료된다. 이 처리에 따르면, 해석 처리 회로 데이터와 해석 처리 설정값을 동시에 송신됨으로써, 분리가능 디바이스(100)에서 해석 처리 기능이 기동될 때까지의 시간을 단축할 수 있다. 분리가능 디바이스(100)는, 디바이스가 SD 카드로서의 저장 처리 기능을 갖지 않는 경우에도, 입력/출력 제어 유닛(410)에 의해 SD 커맨드에 의한 통신을 행할 수 있도록 구성될 수 있다. 한편, 분리가능 디바이스(100)는 SD 컨트롤러를 갖지 않기 때문에, SPI 등의 통신이 사용될 수 있거나, 또는 SDIO(Secure Digital Input/Output) 커맨드가 사용될 수 있다. 고유한 통신 방식이 사용될 수 있다.
여기서, 도 31a 및 도 31b를 참고하여 단자부(2754) 및 단자부(2703)에 접속되는 신호의 일례에 대해서 설명한다. 도 31a는 통상의 SD 카드 단자의 경우의 예를 나타내고, 도 31b는 분리가능 디바이스(100)의 단자부에 UHS(Ultra High Speed)(2)의 전송 구성이 사용되는 경우의 예를 나타내고 있다.
도 31a에 도시된 단자 번호(3101)는 SD 커넥터의 단자 번호이다. 접속 구성(3102)은 SD 카드의 4-비트 모드에서 통신을 행할 때 각 단자에 접속되는 신호를 나타낸다. 접속 구성(3103)은 SD 카드의 초기화 시퀀스 시에 사용되는 단자를 나타낸다. 여기에서는, 커맨드 라인, 클록 라인, 및 DAT0가 비지 신호로서 사용된다. 접속 구성(3104)은 촬상 장치(110)의 단자 접속이 변경된 상태를 나타낸다. CMD, CLK, 및 DAT0은 제1 단자 접속이며, CLK2, CMD2, 및 DATA2는 제2 단자 접속이다. 제1 단자 접속에서는, 커맨드 라인에 의한 통신이 행해진다. 병행하여, 제2 접속 단자에서는, 제1 접속 단자와는 상이한 클록(CLK2)에서 통신을 행할 수 있다. 예를 들어, 단자 접속은 도 28 및 도 29에 도시된 처리에서 이 단자 접속으로 변경될 수 있다. 접속 구성(3105)은 촬상 장치(110)의 단자 접속이 변경된 상태를 나타낸다. CMD, CLK, 및 DAT0은 제1 단자 접속이며, CLK, DO_0, DO_1, 및 DI는 제2 단자 접속이다. 이 접속 구성에서는, 제1 단자 접속에 의한 통신과 제2 단자 접속에 의한 통신이 동일한 클록 라인(CLK)을 사용해서 실행된다. 제1 단자 접속에서는, 데이터 출력이 하나의 단자(DAT0)에서 행해진다. 한편, 제2 단자 접속에서는, 데이터 출력이 2개의 단자(DO_0 및 DO_1)에서 행해진다. 따라서, 2배 더 높은 전송 속도를 얻을 수 있다. DI는 입력 신호 단자라는 것에 유의한다.
도 31b에 도시된 단자 번호(3111)는 UHS2에 대응하는 SD 커넥터의 단자 번호이다. 접속 구성(3114)은 초기화 시퀀스에서 UHS2가 선택되지 않는 경우의 분리가능 디바이스의 접속 구성을 나타낸다. 단자 군(3115)은 SD 카드에 대한 신호 접속을 나타낸다. 단자 군(3116)은, 미사용 단자인 단자 번호(11 내지 16)에 2-비트 SPI 통신이 할당된 상태를 나타내고 있다.
접속 구성(3114)에서, 기동시에 단자 군(3115)에 의해 회로 데이터가 기입되며, 한편 단자 군(3116)에 의해 해석 처리 설정값이 기입될 수 있다. 단자 군(3115) 및 단자 군(3116)에 송신 데이터 할당은 이것에 한정되지 않고, 다른 데이터 송신의 조합이 사용될 수 있다. 또한, 초기화 처리 완료 후에는, 단자 군(3115)에 의해 촬영 화상 기록 처리 동작을 행하면서, 단자 군(3116)에 의해 해석 처리 회로를 기입할 수 있다.
이와 같이, 접속 구성을 적절히 설정함으로써, 해석 처리 회로를 재기입하는 타이밍의 제약을 크게 경감할 수 있다. 이들은 예일뿐이며, 단자에 대한 다른 조합의 할당이 사용될 수 있다는 것에 유의한다. 본 실시형태에서는, 2개의 단자 접속에 의한 통신 구성을 설명했다. 그러나, 2개 초과의 단자 접속, 예를 들어 3개 또는 4개의 단자 접속이 사용될 수 있다.
이상과 같이, 분리가능 디바이스(100)는 SD 프로토콜에 의해 액세스될 수 있기 때문에, 높은 I/F 호환성을 갖는 분리가능 디바이스(100)를 실현할 수 있다. 분리가능 디바이스는 상이한 적용 목적의 촬상 장치(110)에 장착될 수 있다. 또한, 촬상 장치(110)는 착탈된 디바이스를 판별함으로써 적절한 디바이스에 회로 데이터를 기입할 수 있다. 또한, 촬상 장치(110)는, 장착된 디바이스가 해석 처리 기능을 구성할 수 있는 논리 회로 재구성 기능을 갖지 않는 것을 결정함으로써, 회로 데이터 기입 등의 통신이 디바이스에 대해 불필요하게 행해지는 것을 방지할 수 있다.
촬상 장치(110)가 자-장치에 제공되지 않는 처리를 선택하고 분리가능 디바이스(100)에 해석 처리 회로 데이터를 기입하면, 해석 처리를 적절히 실행할 수 있다. 촬상 장치(110)가 분리가능 디바이스(100)의 장착을 검출하고 자동으로 해석 처리 회로 데이터를 기입하면, 유저에 의한 설정 조작을 행하지 않고 용이하게 처리 기능을 기동할 수 있다.
촬상 장치(110)가 디바이스의 구성 정보를 취득할 수 없는 경우, 기입된 회로 데이터에 따라서는 오동작이 발생할 수 있다. 그러나, 촬상 장치(110)는, 분리가능 디바이스(100)의 하드웨어 구성 정보를 취득함으로써, 분리가능 디바이스(100)의 FPGA에 따른 적절한 회로 데이터를 선택할 수 있다. 또한, SD 규격에 준거하지 않는 방법에 의해 장착된 디바이스를 판별함으로써, 분리가능 디바이스의 구성을 자유롭게 선택할 수 있다. 또한, 데이터 송신 방법에서 단자 접속을 변경하면, 복수의 데이터 송신을 병행해서 실행할 수 있고, 해석 처리의 기동까지의 시간을 단축할 수 있다.
상술한 실시형태에서는, SD 규격에 준거한 촬상 장치(110)의 장착부에 디바이스가 장착되는 경우의 예에 대해서 설명했다. 그러나, 본 발명은 이것에 한정되지 않는다. 즉, 임의의 전자 기기에서 임의의 형태의 장착부에 외부 디바이스가 장착되는 경우에, 전술한 논의를 적용할 수 있다. SD 규격 이외의 미리정해진 규격에 의해 이용가능한 장착부가 사용되는 경우에도 유사한 논의를 적용할 수 있다.
또한, 상술한 실시형태에서는, 촬상 장치(110)는, 장착된 디바이스가 논리 회로 재구성 기능을 갖는다고 결정하면, 디바이스의 디바이스 정보에 기초하여 디바이스에 제공되는 회로 데이터를 결정한다. 그러나, 본 발명은 이것에 한정되지 않는다. 예를 들어, 일부 경우에, 어떤 처리에 대하여 디바이스의 구성과 관계없이 1개의 회로 데이터가 존재한다. 이 경우, 촬상 장치(110)는, 그 처리가 선택되어 있고 장착된 디바이스가 논리 회로 재구성 기능을 갖는다고 결정하는 경우, 디바이스의 디바이스 정보에 관계없이 제공되는 회로 데이터를 결정할 수 있다.
다른 실시형태
본 발명의 실시형태(들)는, 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할 수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시형태(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 개별 컴퓨터 또는 개별 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하드 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광학 디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명을 예시적인 실시형태를 참고하여 설명하였지만, 본 발명은 개시된 예시적인 실시형태로 한정되지 않음을 이해해야 한다. 이하의 청구항의 범위는 이러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (37)

  1. 적어도 촬영 화상(captured image)을 저장할 수 있는 디바이스를 착탈할 수 있는 장착부를 포함하는 촬상 장치이며,
    상기 촬상 장치에 의해 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 디바이스가 상기 장착부에 장착되는 경우, 상기 디바이스에 관한 디바이스 정보에 기초하여 상기 디바이스의 상기 논리 회로를 구성하기 위해 사용되는 회로 데이터를 결정하는 제1 결정 수단; 및
    결정된 상기 회로 데이터를 상기 디바이스에 송신하는 송신 수단을 포함하는, 촬상 장치.
  2. 제1항에 있어서,
    상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는 제2 결정 수단을 더 포함하는, 촬상 장치.
  3. 제2항에 있어서,
    상기 제2 결정 수단은, 상기 디바이스 정보에 기초하여, 상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는, 촬상 장치.
  4. 제1항에 있어서,
    상기 디바이스 정보는, 상기 디바이스에 포함되며 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는 구성 수단에 관한 정보를 포함하는, 촬상 장치.
  5. 제1항에 있어서,
    상기 디바이스로부터 상기 디바이스 정보를 요구하는 커맨드를 송신하고, 상기 커맨드에 대한 리스폰스의 인수값에 의해 상기 디바이스로부터 상기 디바이스 정보를 취득하는 취득 수단을 더 포함하는, 촬상 장치.
  6. 제1항에 있어서,
    상기 디바이스가 FPGA(field programmable gate array)에 의해 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는 경우, 상기 디바이스 정보는, 상기 디바이스의 하드웨어 구성 정보, 상기 FPGA의 종별의 정보, 논리 회로 구성의 제약 정보, 단자 접속 정보, 및 주변 회로의 정보 중 적어도 하나를 나타내는 정보, 또는 상기 디바이스의 상기 하드웨어 구성 정보, 상기 FPGA의 상기 종별의 정보, 상기 논리 회로 구성의 상기 제약 정보, 상기 단자 접속 정보, 및 상기 주변 회로의 상기 정보 중 적어도 하나를 특정할 수 있는 정보를 포함하는, 촬상 장치.
  7. 제2항에 있어서,
    상기 장착부는 미리정해진 규격에 대응하는 구성을 가지며,
    상기 제2 결정 수단은, 상기 장착부를 통해, 상기 미리정해진 규격의 커맨드가 아닌 커맨드를 송신하고, 리스폰스가 수신되었는지에 기초하여 상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는, 촬상 장치.
  8. 제2항에 있어서,
    상기 장착부는 복수의 단자를 포함하도록 구성되며,
    상기 제2 결정 수단은 상기 복수의 단자의 상태를 결정함으로써, 상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는, 촬상 장치.
  9. 제8항에 있어서,
    상기 제2 결정 수단은, 상기 디바이스에의 전력의 공급이 개시되고 나서 상기 디바이스에 클록이 공급될 때까지의 상기 복수의 단자 중 일부의 상태에 기초하여, 상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는, 촬상 장치.
  10. 제8항에 있어서,
    상기 제2 결정 수단은, 상기 복수의 단자 중 일부로의 입력 신호의 패턴과 상기 복수의 단자 중 다른 일부의 단자로의 출력 신호의 패턴을 비교함으로써, 상기 디바이스가 상기 해석 처리에 대응하는 상기 논리 회로를 구성할 수 있는지를 결정하는, 촬상 장치.
  11. 제1항에 있어서,
    상기 제1 결정 수단은 상기 디바이스에 의해 실행될 처리에 기초하여 상기 회로 데이터를 결정하는, 촬상 장치.
  12. 제1항에 있어서,
    상기 제1 결정 수단은 상기 촬상 장치에 관한 정보에 기초하여 상기 회로 데이터를 결정하는, 촬상 장치.
  13. 제12항에 있어서,
    상기 촬상 장치에 관한 상기 정보는, 상기 촬상 장치로 하여금 상기 디바이스가 해석 처리를 실행하게 하는 화상 데이터의 사이즈, 색차/색 공간 정보, 화상 형식, 및 양자화 비트수 중 적어도 하나를 나타내는 정보, 또는 상기 촬상 장치로 하여금 상기 디바이스가 해석 처리를 실행하게 하는 상기 화상 데이터의 상기 사이즈, 상기 색차/색 공간 정보, 상기 화상 형식, 및 상기 양자화 비트수 중 적어도 하나를 특정할 수 있는 정보를 포함하는, 촬상 장치.
  14. 제12항에 있어서,
    상기 촬상 장치에 관한 상기 정보는, 상기 촬상 장치가 공급할 수 있는 전력, 상기 촬상 장치의 동작 조건, 및 통신 속도 중 적어도 하나를 나타내는 정보, 또는 상기 촬상 장치가 공급할 수 있는 상기 전력, 상기 촬상 장치의 상기 동작 조건, 및 상기 통신 속도 중 적어도 하나를 특정할 수 있는 정보를 포함하는, 촬상 장치.
  15. 제1항에 있어서,
    상기 디바이스에 공급될 수 있는 상기 회로 데이터를 보유하는 보유 수단을 더 포함하며,
    상기 송신 수단은 결정된 상기 회로 데이터를 상기 보유 수단으로부터 취득하고 상기 회로 데이터를 상기 디바이스에 송신하는, 촬상 장치.
  16. 제1항에 있어서,
    상기 제1 결정 수단에 의해 결정된 상기 회로 데이터를 상기 촬상 장치 및 상기 디바이스와는 상이한 장치로부터 취득하는 수단을 더 포함하며,
    상기 송신 수단은 취득된 상기 회로 데이터를 상기 디바이스에 송신하는, 촬상 장치.
  17. 제1항에 있어서,
    상기 장착부는 복수의 단자를 포함하도록 구성되며,
    상기 촬상 장치는, 상기 복수의 단자를 사용하여 상기 디바이스와 복수의 통신이 병행하여 행해지도록 상기 복수의 단자에 접속되는 신호를 설정하는 설정 수단을 더 포함하는, 촬상 장치.
  18. 제17항에 있어서,
    상기 설정 수단은, 상기 복수의 단자 중 제1 단자를 사용하여 상기 디바이스의 초기화 처리를 실행하고 상기 복수의 단자 중 제2 단자를 사용하여 상기 디바이스에 상기 회로 데이터를 송신하도록, 상기 복수의 단자에 접속되는 상기 신호를 설정하는, 촬상 장치.
  19. 제17항에 있어서,
    상기 회로 데이터는 상기 디바이스에 구성되는 회로의 정보 및 설정값의 정보를 포함하며,
    상기 설정 수단은, 상기 복수의 단자 중 제1 단자를 사용하여 상기 회로의 정보를 상기 디바이스에 송신하고 상기 복수의 단자 중 제2 단자를 사용하여 상기 설정값의 정보를 상기 디바이스에 송신하도록, 상기 복수의 단자에 접속되는 상기 신호를 설정하는, 촬상 장치.
  20. 장착부를 포함하는 촬상 장치에 장착되는 디바이스이며, 상기 장착부는 적어도 촬영 화상을 저장할 수 있는 상기 디바이스를 착탈할 수 있고,
    상기 디바이스는,
    상기 촬상 장치로부터 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 구성 수단; 및
    상기 디바이스가 상기 촬상 장치에 장착되는 경우, 상기 디바이스가 상기 구성 수단을 포함하는 것을 상기 촬상 장치가 특정할 수 있게 하는 통신을 실행하는 실행 수단을 포함하며,
    상기 통신에 기초하여 상기 촬상 장치로부터 회로 데이터가 취득되는 경우, 상기 구성 수단은 상기 회로 데이터에 기초하여 상기 논리 회로를 구성하는, 디바이스.
  21. 제20항에 있어서,
    상기 통신으로서, 상기 실행 수단은 상기 디바이스에 관한 디바이스 정보를 송신하는, 디바이스.
  22. 제21항에 있어서,
    상기 디바이스 정보는 상기 구성 수단에 관한 정보를 포함하는, 디바이스.
  23. 제21항에 있어서,
    상기 디바이스 정보를 요구하는 커맨드가 상기 촬상 장치로부터 수신되는 경우, 상기 실행 수단은 상기 커맨드에 대한 리스폰스의 인수값으로서 상기 디바이스 정보를 송신하는, 디바이스.
  24. 제21항에 있어서,
    상기 구성 수단은 필드 프로그래머블 게이트 어레이(FPGA)이며,
    상기 디바이스 정보는, 상기 디바이스의 하드웨어 구성 정보, 상기 FPGA의 종별의 정보, 논리 회로 구성의 제약 정보, 단자 접속 정보, 및 주변 회로의 정보 중 적어도 하나를 나타내는 정보, 또는 상기 디바이스의 상기 하드웨어 구성 정보, 상기 FPGA의 상기 종별의 정보, 상기 논리 회로 구성의 상기 제약 정보, 상기 단자 접속 정보, 및 상기 주변 회로의 상기 정보 중 적어도 하나를 특정할 수 있는 정보를 포함하는, 디바이스.
  25. 제20항에 있어서,
    상기 디바이스는 상기 장착부에 대응하는 미리정해진 규격에 대응하는 구성을 포함하며,
    상기 통신으로서, 상기 장착부를 통해 상기 미리정해진 규격의 커맨드가 아닌 커맨드가 수신된 경우, 상기 실행 수단은 리스폰스를 송신하는, 디바이스.
  26. 제20항에 있어서,
    상기 통신으로서, 상기 실행 수단은 상기 촬상 장치로부터의 전력의 공급이 개시되고 나서 클록이 공급될 때까지의 상기 장착부에 대응하는 복수의 단자의 일부의 상태를 변경하고, 상기 촬상 장치가 상기 상태를 특정하게 하는, 디바이스.
  27. 제20항에 있어서,
    상기 통신으로서, 상기 실행 수단은 상기 장착부에 대응하는 복수의 단자의 일부에 입력되는 패턴을 상기 복수의 단자의 다른 일부의 단자로부터 출력하는, 디바이스.
  28. 제26항에 있어서,
    상기 장착부에 대응하는 상기 복수의 단자를 사용하여 상기 촬상 장치와 복수의 통신을 병행해서 행하도록 상기 복수의 단자에 접속되는 신호를 설정하는 수단을 더 포함하는, 디바이스.
  29. 제28항에 있어서,
    상기 복수의 단자에 접속되는 상기 신호를 설정하는 상기 수단은, 상기 복수의 단자 중 제1 단자를 사용하여 상기 디바이스의 초기화 처리를 위한 통신이 실행되고, 상기 복수의 단자 중 제2 단자를 사용하여 상기 촬상 장치로부터 상기 회로 데이터를 수신하도록, 상기 복수의 단자에 접속되는 상기 신호를 설정하는, 디바이스.
  30. 제28항에 있어서,
    상기 회로 데이터는 상기 디바이스에 구성되는 회로의 정보 및 설정값의 정보를 포함하며,
    상기 복수의 단자에 접속되는 상기 신호를 설정하는 상기 수단은, 상기 복수의 단자 중 제1 단자를 사용하여 상기 회로의 정보를 상기 촬상 장치로부터 수신하고 상기 복수의 단자 중 제2 단자를 사용하여 상기 설정값의 정보를 상기 촬상 장치로부터 수신하도록, 상기 복수의 단자에 접속되는 상기 신호를 설정하는, 디바이스.
  31. 제20항에 있어서,
    상기 촬상 장치로부터 취득되는 상기 데이터를 저장할 수 있는 저장 수단을 더 포함하는, 디바이스.
  32. 제31항에 있어서,
    상기 촬상 장치로부터 수신된 데이터에 기초하여, 상기 데이터를 상기 구성 수단의 설정을 행하는 설정 수단과 상기 저장 수단 중 어느 것에 전송할지를 결정하는 결정 수단을 더 포함하는, 디바이스.
  33. 제21항에 있어서,
    상기 촬상 장치로부터 취득된 상기 데이터를 저장할 수 있는 저장 수단을 더 포함하며,
    상기 디바이스 정보는 상기 저장 수단에 저장되며,
    상기 실행 수단은, 상기 촬상 장치로부터의 상기 디바이스의 판독 요구에 따라, 상기 디바이스 정보를 상기 촬상 장치에 송신하는, 디바이스.
  34. 제20항에 있어서,
    상기 디바이스는 상기 회로 데이터를 보유하기 위한 비휘발성 저장 수단을 포함하지 않는, 디바이스.
  35. 적어도 촬영 화상을 저장할 수 있는 디바이스를 착탈할 수 있는 장착부를 포함하는 촬상 장치에 의해 실행되는 제어 방법이며,
    상기 촬상 장치에 의해 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 디바이스가 상기 장착부에 장착되는 경우에, 상기 디바이스에 관한 디바이스 정보에 기초하여 상기 디바이스의 상기 논리 회로를 구성하기 위해 사용되는 회로 데이터를 결정하는 단계; 및
    결정된 상기 회로 데이터를 상기 디바이스에 송신하는 단계를 포함하는, 제어 방법.
  36. 적어도 촬영 화상을 저장할 수 있는 디바이스를 착탈할 수 있는 장착부를 포함하는 촬상 장치에 장착되며, 상기 촬상 장치로부터 취득된 데이터에 대한 해석 처리에 대응하는 논리 회로를 구성할 수 있는 구성 수단을 포함하는 상기 디바이스에 의해 실행되는 제어 방법이며,
    상기 디바이스가 상기 촬상 장치에 장착되는 경우에, 상기 디바이스가 상기 구성 수단을 포함하는 것을 상기 촬상 장치가 특정할 수 있게 하는 통신을 실행하는 단계; 및
    상기 통신에 기초하여 상기 촬상 장치로부터 회로 데이터가 취득되는 경우에, 상기 회로 데이터에 기초하여 상기 논리 회로를 구성하는 단계를 포함하는, 제어 방법.
  37. 컴퓨터가 제35항 또는 제36항에서 규정된 제어 방법을 실행하게 하도록 구성되는, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020210023101A 2020-02-28 2021-02-22 촬상 장치, 디바이스, 제어 방법, 및 프로그램 KR20210110202A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2020-033754 2020-02-28
JP2020033754A JP7482649B2 (ja) 2020-02-28 2020-02-28 撮像装置、デバイス、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
KR20210110202A true KR20210110202A (ko) 2021-09-07

Family

ID=74758580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210023101A KR20210110202A (ko) 2020-02-28 2021-02-22 촬상 장치, 디바이스, 제어 방법, 및 프로그램

Country Status (5)

Country Link
US (1) US20210274079A1 (ko)
EP (1) EP3873087A3 (ko)
JP (1) JP7482649B2 (ko)
KR (1) KR20210110202A (ko)
CN (1) CN113329167A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021136666A (ja) 2020-02-28 2021-09-13 キヤノン株式会社 撮像装置、デバイス、制御方法、およびプログラム
JP7518632B2 (ja) 2020-02-28 2024-07-18 キヤノン株式会社 デバイス、制御方法、およびプログラム
EP4148581B1 (en) 2021-09-10 2023-08-30 Axis AB Verification of updated analytical procedures in monitoring systems
JP7475380B2 (ja) * 2022-01-31 2024-04-26 キヤノン株式会社 撮像装置、デバイス、それらの制御方法及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147254A (ja) * 1999-11-19 2001-05-29 Nec Ic Microcomput Syst Ltd 半導体集積回路のテスト装置とそのテスト方法
JP2005135099A (ja) * 2003-10-29 2005-05-26 Canon Inc 画像入力装置および制御方法
JP2006019932A (ja) * 2004-06-30 2006-01-19 Canon Inc 処理装置及び撮像装置
KR100725981B1 (ko) * 2005-08-01 2007-06-08 삼성전자주식회사 멀티-인터페이스 컨트롤러, 상기 멀티-인터페이스컨트롤러를 구비하는 메모리 카드, 및 인터페이스 설정방법
US7739487B2 (en) * 2006-01-17 2010-06-15 Nokia Corporation Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from
US9565419B2 (en) * 2007-04-13 2017-02-07 Ari M. Presler Digital camera system for recording, editing and visualizing images
JP5060404B2 (ja) * 2008-06-20 2012-10-31 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP5310176B2 (ja) 2009-03-25 2013-10-09 富士通株式会社 集積回路及びコンフィギュレーション方法
JP5361695B2 (ja) * 2009-12-17 2013-12-04 キヤノン株式会社 データ記録装置及びその制御方法
JP2011168099A (ja) * 2010-02-16 2011-09-01 Tokai Rika Co Ltd タイヤ空気圧監視システム
US20110304706A1 (en) * 2010-06-09 2011-12-15 Border John N Video camera providing videos with perceived depth
US20140152777A1 (en) * 2012-12-01 2014-06-05 Csr Techology Inc. Camera having additional functionality based on connectivity with a host device
JP2015032890A (ja) * 2013-07-31 2015-02-16 三星電子株式会社Samsung Electronics Co.,Ltd. 撮像装置及び現像方法
KR102192198B1 (ko) * 2014-02-24 2020-12-17 삼성전자주식회사 전자 장치 및 그것의 통신 방법
JP6300202B2 (ja) * 2014-03-03 2018-03-28 パナソニックIpマネジメント株式会社 メモリカード及びメモリカード制御装置
JP6403784B2 (ja) 2014-08-25 2018-10-10 株式会社日立国際電気 監視カメラシステム
JP2017062537A (ja) 2015-09-24 2017-03-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017092757A (ja) 2015-11-12 2017-05-25 株式会社リコー 画像処理装置、及び画像処理方法
WO2017104218A1 (ja) * 2015-12-18 2017-06-22 三菱電機株式会社 表示装置及び表示装置の更新方法
JP6543324B2 (ja) * 2017-12-15 2019-07-10 株式会社メガチップス 情報処理システム、プログラム、及び付属装置の真贋判定方法
US11086194B2 (en) * 2019-03-29 2021-08-10 Lenovo (Singapore) Pte. Ltd. Camera accessory mask

Also Published As

Publication number Publication date
EP3873087A2 (en) 2021-09-01
CN113329167A (zh) 2021-08-31
EP3873087A3 (en) 2022-01-19
JP2021136665A (ja) 2021-09-13
JP7482649B2 (ja) 2024-05-14
US20210274079A1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
KR20210110202A (ko) 촬상 장치, 디바이스, 제어 방법, 및 프로그램
CN112752018B (zh) 图像捕获装置、控制方法及计算机可读存储介质
US11825194B2 (en) Image capturing apparatus and method for controlling the same, and non-transitory computer-readable storage medium
CN112543255B (zh) 图像捕获装置、控制方法和计算机可读存储介质
JP7441017B2 (ja) デバイス、撮像装置、制御方法及びプログラム
EP4027218B1 (en) Detachable electrical device and control method thereof
US20220279118A1 (en) Image capturing apparatus, method for controlling image capturing apparatus, information processing apparatus
KR102702575B1 (ko) 촬상 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
KR102704618B1 (ko) 촬상 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
KR102701518B1 (ko) 디바이스, 촬상 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP7500246B2 (ja) 撮像装置、制御方法、及び、プログラム
US11483464B2 (en) Image capturing apparatus, device, control method, and computer-readable storage medium
EP4221244A1 (en) Image capturing apparatus, control method of image capturing apparatus, and computer program
EP4221245A1 (en) Image capturing apparatus, attachable device, control method thereof, and computer program
US11968469B2 (en) Computing apparatus, image capturing apparatus, control method, and storage medium
EP4057147A1 (en) Detection of anomalous processing means or anomalous storing means in an image capturing system.
US11843847B2 (en) Device, information processing apparatus, control method therefor, and computer-readable storage medium
US11778313B2 (en) Image capturing apparatus, device, communication method, and non-transitory computer-readable storage medium
KR20210034521A (ko) 촬상 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP2021158576A (ja) 着脱可能デバイスおよびその制御方法、プログラム

Legal Events

Date Code Title Description
A201 Request for examination