KR100886692B1 - 파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템 - Google Patents

파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템 Download PDF

Info

Publication number
KR100886692B1
KR100886692B1 KR1020077008120A KR20077008120A KR100886692B1 KR 100886692 B1 KR100886692 B1 KR 100886692B1 KR 1020077008120 A KR1020077008120 A KR 1020077008120A KR 20077008120 A KR20077008120 A KR 20077008120A KR 100886692 B1 KR100886692 B1 KR 100886692B1
Authority
KR
South Korea
Prior art keywords
information
file
delete delete
digital camera
information processing
Prior art date
Application number
KR1020077008120A
Other languages
English (en)
Other versions
KR20070057922A (ko
Inventor
켄이치로 하라
타카시 미즈노
타카시 아이자와
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2004270084A external-priority patent/JP4371966B2/ja
Priority claimed from JP2004272525A external-priority patent/JP2006087050A/ja
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20070057922A publication Critical patent/KR20070057922A/ko
Application granted granted Critical
Publication of KR100886692B1 publication Critical patent/KR100886692B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • 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/00204Connection 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 digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection 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 digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • 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/00204Connection 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 digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection 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 digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00241Connection 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 digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reading device as a local input to a computer
    • 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/00347Connection 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 another still picture apparatus, e.g. hybrid still picture apparatus
    • 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/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • 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/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2158Intermediate information storage for one or a few pictures using a detachable storage unit
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • 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
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32122Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate device, e.g. in a memory or on a display separate from image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2101/00Still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0041Point to point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0046Software interface details, e.g. interaction of operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0048Type of connection
    • H04N2201/0049By wire, cable or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0048Type of connection
    • H04N2201/0055By radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3226Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of identification information or the like, e.g. ID code, index, title, part of an image, reduced-size image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3274Storage or retrieval of prestored additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3278Transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

메모리 카드에 기억되어 있는 화상의 수가 매우 많은 경우에는, 컴퓨터와 디지털 카메라가 논리적으로 접속되어 있어, 컴퓨터와 디지털 카메라가 유저에게 응답할 때까지의 시간이 극단적으로 길어진다. 디지털 카메라가 재생 모드에서 기억매체에 액세스해 그 기억매체에 기억하고 있는 파일의 정보를 캐쉬할 때, 그리고, 디지털 카메라와 컴퓨터가 논리적으로 서로 접속되어, 통신 모드가 되면, 그 컴퓨터가 최종적으로 요구하는 것을 나타내는 정보를 재생해 기억한다. 디지털 카메라가 컴퓨터로부터의 데이터 전송요구를 수신하면, 디지털 카메라는 기억되어 있는 정보를 일괄해서 컴퓨터에 송신한다.
정보장치, 화상공급장치, 촬상장치, 통신 시스템, 디지털 카메라

Description

파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템{FILE TRANSMISSION APPARATUS AND CONTROL METHOD OF THE SAME AND COMMUMICATION SYSTEM}
본 발명은, 화상공급장치와 촬상장치, 정보처리장치, 그 제어방법, 및 통신 시스템에 관한 것으로서, 상기 화상공급장치와 촬상장치는 PTP(Picture Transfer Protocol)라고 불리는 통신 프로토콜에 근거해 정보처리장치와 통신을 행해, 기억하고 있는 오브젝트의 정보를 해당 정보처리장치에 공급한다.
컴퓨터 등의 정보 단말과 촬상장치 간의 통신규격으로서 USB(Universal Serial Bus)가 알려져 있다. 또, 최근에는, USB의 스틸 이미지 랭크 인터페이스(still image rank interface)에 근거해 작성된 USB의 상위층의 통신규격으로서 PTP(Picture Transfer Protocol)가 PIMA(Photographic and Imaging Manufactures Association, INC.)에 의해 제안되었다.
이 규격은, 디지털 카메라, 스캐너 등에 대한 데이터 전송 방식을 규정한다. 이 규격에 의해, 유저는, 화상 파일이 저장되는 디렉토리 구조를 의식하지 않고, 용이하게 촬상 또는 스캔한 화상의 데이터 파일을 퍼스널 컴퓨터로 로드하는 것이 가능하다. 컴퓨터와 디지털 카메라를 서로 접속해, 통신 프로토콜 PTP에 근거해 데 이터를 교환하는 경우, 기억되어 있는 1개의 오브젝트(화상, 음성, 텍스트 등의 데이터)의 정보를 컴퓨터가 취득하기 위해서는, 우선 컴퓨터가 GetObjectInfo를 송신한다. 그 후, 컴퓨터는 오브젝트 데이터를 수신하고, Ack를 수신하는 1순서를 실행한다.
여기서, GetObjectInfo로 취득할 수 있는 정보는, 그 오브젝트 자체가 아니지만, 그것의 파일명, 파일 사이즈, 디렉토리 구조, 및 파일의 형식 등, 오브젝트의 속성 정보를 취득할 수 있다. 즉, 어떤 오브젝트의 데이터를 취득하기 위해서는, GetObjectInfo로 취득한 속성 정보를 취득하고, 그 후 데이터 본체를 취득하는 것이 행해진다.
한편, 기억매체의 복수의 오브젝트를 교환하는 경우, 처음에는 컴퓨터의 OS가, 디지털 카메라가 보유한 기억매체의 폴더 구성을 알기 위해서, 그 기억매체에 기억되어 있는 데이터에 관한 속성 정보와 그 폴더 구성의 정보를 요구한다.
따라서, 디지털 카메라에 기억되어 있는 화상 및 음성 등의 데이터의 모든 오브젝트에 대한 속성 정보를 취득하기 위해서는, 그 기억되어 있는 오브젝트의 수에 대한 상술한 커멘드의 교환을 다시 실행하게 된다(일본국 공개특허공보 특개 2004-15234호).
상술한 것처럼, PTP를 이용해 컴퓨터의 OS가 디지털 카메라에 기억되어 있는 모든 화상의 정보를 취득하기 위해서는, 적어도 그 기억되어 있는 화상의 수에 대하여 상기 설명한 통신을 행하는 것이 필요하다.
즉, 디지털 카메라가 기억하고 있는 모든 화상의 정보를 취득하는데 필요한 시간은, 단순히 그 기억되어 있는 화상의 수에 비례한다는 것을 알 수 있다.
특히, 화상 수신측(예를 들면, PC)에서는, 화상 수신측이 속성 정보 등의 정보를 취득해 그것의 폴더 구성을 재현할 때까지, PTP 상에서의 데이터의 송수신을 할 수 없게 되면, 화상 수신측에서 그 폴더 구성과 디렉토리 구성을 재현할 때까지 걸리는 시간이 길어진다.
즉, 디지털 카메라에 대용량의 메모리 카드가 장착되어 있고, 그 메모리 카드에 기억되어 있는 화상과 그 외의 오브젝트의 수가 매우 큰 경우에는, 컴퓨터와 디지털 카메라가 논리적으로 접속되고 나서 유저에게 응답할 때까지의 시간이 극단적으로 길어진다. 이 때문에, 유용성이 나빠지고, 이것은 PTP의 통신의 약점도 된다.
본 발명은 상기의 종래의 문제점을 감안하여 이루어진 것이다. 본 발명의 목적은, 상기 문제점을 해결하는, 화상공급장치, 촬상장치, 정보처리장치, 그 제어 방법, 및 통신 시스템을 제공하는 것에 있다
본 발명의 또 다른 목적은, 촬상장치 내의 기록매체에 기록된 오브젝트의 조작(판독, 삭제, 정보의 취득 등)에 필요한 시간을 단축할 수 있는 하는 화상공급장치, 촬상장치, 정보처리장치, 그 제어 방법, 및 통신 시스템을 제공하는 것에 있다.
상술한 목적을 달성하기 위해, 본 발명의 제1 국면에 의하면, 정보처리장치와 통신해서 기억매체에 기억된 파일 정보를 전송하는 파일 송신 장치로서, 소정의 통신 프로토콜로 통신을 수행하기 위해서, 촬상장치와 상기 정보처리장치를 접속시키는 인터페이스 수단과, 상기 인터페이스 수단이 물리층에서 상기 정보처리장치와 통신을 확립하기 전에, 기억매체에 기억된 파일의 파일 엔트리의 정보를 캐쉬 메모리에 캐쉬하는 캐쉬수단과, 상기 인터페이스 수단이 상기 정보처리장치와의 접속을 적어도 물리층에서 확립하면, 상기 소정의 통신 프로토콜로 파일을 전송하기 위해 요구되는 정보를, 상기 캐쉬수단에 의해 캐쉬된 파일 엔트리에 근거해서 생성하는 전송정보 생성수단과, 상기 정보처리장치로부터의 요구에 응답해서, 상기 전송정보 생성수단에 의해 생성된 정보를 상기 정보처리장치에 송신하도록 상기 인터페이스 수단을 제어하는 송신제어수단을 구비한 것을 특징으로 하는 파일 송신 장치가 제공한다.
본 발명의 또 다른 국면에 따른, 본 발명의 화상공급장치는, 각각의 파일에 할당된 고유(unique) 번호를 이용해, 기억매체에 기억되어 있는 화상 파일을 한 개씩 지정하고, 상기 화상 파일의 각각에 포함된 속성 정보를 송신하는 것이 가능한 통신 프로토콜을 이용해서 통신하는 화상공급장치로서, 상기 기억매체에 기억되어 있는 화상 파일을 재생할 때에, 상기 기억매체에 기억되어 있는 복수의 화상 파일에 대해 상기 속성 정보의 적어도 일부와 화상 파일의 각각에 할당된 번호를 캐쉬하는 캐쉬 수단과, 상기 정보처리장치와 상기 화상 공급장치를 접속시키는 인터페이스 수단과, 상기 인터페이스 수단에 의해 상기 정보처리장치와의 접속에 응답해, 상기 캐쉬 수단에 의해 캐쉬된 정보를 상기 정보처리장치에 송신하는 송신수단을 구비한다.
본 발명의 또 다른 국면에 따른, 본 발명의 정보처리장치는, 각각의 파일에 할당된 고유 번호를 이용해, 화상공급장치에 접속되어 있는 기억매체에 기억된 화상 파일을 한 개씩 지정하고, 상기 화상 파일의 각각에 포함된 속성 정보를 취득하는 것이 가능한 통신 프로토콜을 이용해 통신하는 정보처리장치로서, 상기 화상공급장치와 상기 정보 처리장치를 접속시키는 인터페이스 수단과, 상기 인터페이스 수단을 통해서 상기 화상공급장치와의 접속에 응답해, 상기 기억매체에 기억되어 있는 복수의 화상 파일에 대한 상기 속성 정보의 적어도 일부와 각각의 화상 파일에 할당된 번호를 포함한 정보를 수신하는 수신수단과, 상기 수신수단에 의해 수신된 정보에 포함된, 상기 복수의 화상의 각각에 할당된 번호를 이용해 상기 화상공급장치에 화상의 송신요구를 송신하는 송신수단을 구비한다.
본 발명의 또 다른 국면에 따르면, 정보처리장치와 파일 송신 장치 간의 통신을 수행해서, 상기 파일 송신 장치의 기억매체에 기억되어 있는 파일 정보를 상기 정보처리장치에 전송하는 통신 시스템으로서, 상기 파일 송신 장치는, 소정의 통신 프로토콜로 통신을 수행하기 위해서, 촬상장치와 상기 정보처리장치를 접속시키는 인터페이스 수단과, 상기 인터페이스 수단이 상기 정보처리장치와의 접속을 물리층에서 확립하기 전에, 기억매체에 기억된 모든 파일의 파일 엔트리를 캐쉬 메모리에 캐쉬하기 위한 캐쉬 수단과, 상기 인터페이스 수단이 상기 정보처리장치와의 접속을 적어도 물리층에서 확립하면, 상기 소정의 통신 프로토콜로 파일을 전송하기 위해 요구되는 정보를, 상기 캐쉬 수단에 의해 캐쉬된 파일 엔트리에 근거해서 생성하는 전송정보 생성수단과, 상기 정보처리장치로부터의 요구에 응답해서, 상기 전송정보 생성수단에 의해 생성된 정보를 상기 정보처리장치에 송신하도록 상기 인터페이스 수단을 제어하는 송신제어수단을 구비하고, 상기 정보처리장치는, 상기 인터페이스 수단에 의해 상기 정보처리장치가 상기 파일 송신 장치에 접속되면, 상기 파일 송신 장치에 상기 기억매체에 기억되어 있는 파일 정보의 정보를 요구하는 데이터 요구수단을 구비한 것을 특징으로 하는 통신 시스템을 제공한다.
본 발명의 그 외의 목적 및 구성은 첨부된 도면을 참조하여 이하의 설명으로부터 분명해질 것이다.
도 1은 본 실시 예에 따른 디지털 카메라(DSC)와 컴퓨터를 갖는 시스템의 구성을 나타내는 블럭도이다.
도 2는 본 실시 예에 따른 디지털 카메라와 컴퓨터가 통신 인터페이스를 통해서 접속되었을 때에 주 모듈이 되는 모듈의 구성을 나타내는 블럭도이다.
도 3은 통신 인터페이스를 통해서 컴퓨터에 접속될 때의 시간으로부터 OS가 애플리케이션에 기동을 통지할 때의 시간까지, 본 실시 예에 따른 디지털 카메라가 실행하는 처리를 나타내는 플로차트이다.
도 4는 본 실시 예에 따른 컴퓨터에 의한 처리를 설명하는 플로차트이다.
도 5는 종래의 디지털 카메라와 컴퓨터가 서로 접속될 때의 시간으로부터 OS가 애플리케이션을 기동할 때의 시간까지의 순서를 설명하는 도면을 나타내는 도 5a 및 도 5b로 이루어져 있다.
도 6은 본 실시 예에 따른 디지털 카메라와 컴퓨터가 서로 접속될 때의 시간으로부터 컴퓨터의 OS가 애플리케이션을 기동할 때의 시간까지의 동작 순서를 설명하는 도면을 나타내는 도 6a 및 6b로 이루어져 있다.
도 7은 본 발명의 제2 실시 예에 따른 디지털 카메라의 하드웨어 구성 예 및 PC와 디지털 카메라와의 접속 상태를 나타내는 도면이다.
도 8은 본 발명의 제2 실시 예에 따른 디지털 카메라가 생성하는 TreeDataTable의 데이터 구조를 나타내는 도면이다.
도 9는 본 발명의 제3 실시 예에 따른 디지털 카메라가 생성하는 StorageInfoTabel의 데이터 구조를 나타내는 도면이다.
도 10은 디지털 카메라에 장착된 기록매체 내의 오브젝트의 계층 구성의 예를 나타내는 도면이다.
도 11은 제2 실시 예에 있어서, SendObjectInfo 커멘드를 TreeDataTable를 이용해 실행할 때의 처리를 설명하는 플로차트이다.
도 12는 제2 실시 예에 있어서, GetObjectHandleByName 커멘드를 TreeDataTable를 이용해 실행할 때의 처리를 설명하는 플로차트이다.
도 13은 제2 실시 예에 있어서, TreeDataTable에 오브젝트 정보를 추가할 때의 처리를 설명하는 플로차트이다.
도 14는 제2 실시 예에 있어서, TreeDataTable를 작성하는 처리를 설명하는 플로차트이다.
도 15는 제2 실시 예에 있어서, 스토리지 내의 모든 오브젝트 핸들을 취득하는 처리를 설명하는 플로차트이다.
제1 실시 예
이하, 첨부 도면을 참조해 본 발명의 매우 바람직한 실시 예를 자세히 설명한다.
본 실시 예에서는, 디지털 카메라와 컴퓨터를, USB 등의 범용 인터페이스와 접속시키고, 디지털 카메라와 컴퓨터가 PTP에 의해 통신하는 예에 대해서 설명한다. 그러나, 본 발명의 인터페이스, 통신 프로토콜 등은 본 실시 예에 한정되는 것은 아니다.
도 1은, 본 실시 예에 따른 디지털 카메라(DSC)와 컴퓨터를 갖는 시스템의 구성을 나타내는 블럭도이다. PTP 통신을 갖는 디지털 카메라(100)와 PTP 통신이 가능한 컴퓨터(101)가 범용 인터페이스(102)(예를 들면, USB)를 통해서 접속되어 있다. 이 범용 인터페이스(102)는, PTP에 의해 통신이 가능한 통신 인터페이스이며, 유선 통신 인터페이스에 한정되는 것은 아니다. 블루투스 등의 무선 통신 인터페이스를 채용해도 된다.
이 디지털 카메라(100)는, 통신 인터페이스(102)를 통해서 컴퓨터(101)와의 접속을 검출하면, 디지털 카메라(100)는 통신 모드로 천이한다. 디지털 카메라(100)에 있어서의 그 이전의 모드는 재생 모드로 설정되어 있다. 덧붙여, 컴퓨터(101)에는, PTP에 의해 통신이 가능한 애플리케이션(OS 기능을 포함한다)이 인스톨되어 있다.
우선, 먼저 디지털 카메라(100)의 구성을 설명한다.
피사체로부터의 광속이 광학계(201)를 통해 촬상소자(202)에 조사되고, 그 영상이 전하로서 촬상소자(202)에 보유된다. 이렇게 함으로써, 촬상소자(202)에 축적된 전하가 촬상 프로세스부(203)에 의해 화상 신호로 변환된다. 이 촬상 프로세스부(203)로부터 출력된 화상 신호는, A/D 변환기(204)에 의해 디지털 신호로 변환되고, 데이터 버스(205)를 통해서 RAM(210)에 보존된다.
중앙 처리 프로세스부(213)는, 화상 처리부(207)(화이트 밸런스, 샤프니스(sharpness), 선염(degrading), 컬러 밸런스, 레벨 보정 등), 압축 신장부(208)(JPEG의 신장 등), 표시 제어부(209)(표시부(217)에의 유저 인터페이스(UI)의 묘화), 기록 재생 제어부(211)(기억매체(218)에의 I/O 제어), 통신 제어부(212)(통신부(219)에의 데이터의 I/O 제어), 중앙 제어부(CPU; 215)(각 제어부를 통괄 제어하고 있다)를 포함한다.
시스템 제어부(214)는, 데이터 버스(205)와 접속되어 있고, 조작부(216)에 의해 유저가 행한 조작에 근거한 제어를 한다. 표시부(217)는, 유저의 조작에 의해 요구된 화상을, 표시 제어부(209)의 제어 하에서 표시한다. 기억매체(218)는, RAM(210)에 보존된 화상(JPEG 화상 등)을 기록 재생 제어부(211)를 통해서 저장한다.
이 기억매체(218)는, 카메라 본체에 탈착 가능한 기억매체(예를 들면 메모리 카드 등)와 카메라 본체에 내장된 기억매체 중 어느 것이든 괜찮다. 이 기억매체(218)는 디지털 카메라(100)에 전원이 투입되어 있지 않은 상태에서도 메모리를 보유하는 것이 가능한 불휘발성의 기억매체이다. 통신부(219)는, 무선과 유선 중 어느 것이든 상관하지 않으면, 본체에 탈착 가능해도 되고 혹은 불가능해도 상관없다. 통신 제어부(212)는 PTP의 통신이 가능하다.
다음에, 컴퓨터(101)의 구성에 대해 설명한다.
컴퓨터(101)의 조작부(221)는, 키보드, 마우스 등을 포함하여, 시스템 제어부(225)에 의한 조작에 근거하여 제어를 한다. 표시부(222)는 표시용 모니터이며, 표시 제어부(228)에 의해 묘화된 UI 등을 출력한다. RAM(229)은, 컴퓨터(101)의 OS, PTP와 호환 가능한 애플리케이션(OS 포함) 등을 기억하는 휘발성의 메모리(예를 들면 DRAM)이다.
기억매체(223)는, 기억 제어부(230)에 의한 데이터 요구에 응답해 입출력을 하는 장치(예를 들면 하드 디스크 등)이며, 불휘발성의 기억장치이다. 이 기억매체(223)에는, OS나 PTP와 호환 가능한 애플리케이션이 저장되어 있다. 통신부(224)는, 통신 인터페이스(102)와 접속 가능한 통신 유닛이며, 통신 제어부(231)에 의해 데이터의 입출력을 한다. 통신부(224)는, 무선 혹은 유선 중 어느 것이든 상관하지 않고, 통신부(224)가 탈착 가능한지 혹은 불가능한지는 문제가 되지 않는다.
중앙 처리 프로세스부(227)는, 표시 제어부(228), 기억 제어부(230), 통신 제어부(231), 및 중앙 제어부(226)(CPU는, 각 제어부의 통괄 제어 등을 하고 있다)를 포함한다. 데이터 버스(232)는, 시스템 제어부(225), 표시 제어부(228), RAM(229), 기억 제어부(230), 및 통신 제어부(231)와 접속되어 있다.
도 2는, 본 실시 예에 따른 디지털 카메라(100)와 컴퓨터(101)가 통신 인터페이스(102)를 통해서 접속되었을 때에, 주 모듈이 되는 모듈 구성을 나타내는 블럭도이다.
우선, 컴퓨터(101)에 대해 설명한다.
애플리케이션(301)은, 유저에게 디지털 카메라(100)의 접속을 통지하기 위한 애플리케이션이다. 이 애플리케이션(301)은, 사전에 OS(302)에 등록되어 있고, 이 애플리케이션(301)은 자동적으로 기동되는 것이어도 된다. 또, 이 애플리케이 션(301)은 유저의 조작에 의해 기동되는 것이어도 된다. 본 실시 예에서는, 이 애플리케이션(301)은, OS(302)에 의해 디지털 카메라(100)가 접속된 것을 검출함으로써 기동되는 것으로 가정하고 있다. OS(302)는 컴퓨터(101)의 오퍼레이팅 시스템이며, Microsoft사의 Windows(등록상표)나 Apple Computer사의 Macintosh(등록상표)와 같은 PTP 통신을 해석할 수 있는 기능을 갖는 것이나, 혹은 드라이버를 인스톨해 PTP 통신을 해석할 수 있는 것으로 가정하고 있다. PTP 이니시에이터 드라이버(PTPInitiatorDriver; 303)(이하, PTP 기동 드라이버라고 칭함)는, OS(302)에 인스톨되어 있는 PTP의 이니시에이터 드라이버이다.
다음에, 디지털 카메라(100)의 모듈에 대해 설명한다.
PTP 레스폰더 드라이버(PTPResponderDriver; 306)(이하, PTP 응답 드라이버라고 칭함)는, 디지털 카메라(100)에 내장되어 있는 PTP의 리스폰스 드라이버라고 가정하고 있다.
PTP 캐쉬 테이블(PTPCacheTable; 307)(이하, PTP 캐쉬 테이블이라고 칭함)은, PTP 오퍼레이션에 의해 요구되는 한번 이용된 내용을 캐쉬하고, 재차 같은 요구가 있을 경우에는, 이 캐쉬되어 있는 내용을 이용해 고속으로 응답한다. 그 캐쉬의 구조에 대해서는, 여기에서는 문제가 되지 않는다. 파일 엔트리 캐쉬(FileEntryCache; 308)(이하, 파일 캐쉬라고 칭함)는, 파일의 엔트리 정보를 캐쉬한다. 이것은 디지털 카메라(100)가 프리뷰(preview) 모드에서 기억매체(218)에 기억되어 있는 화상을 표시기(217)에 표시할 때 하나의 수단으로서 파일 정보의 캐쉬를 이용하는 것에 대해 상정하고 있다. 파일 캐쉬(308)에서는 각 파일의 많은 속 성 정보의 적어도 일부를 카피하고, 예를 들면, 파일 캐쉬(308)에는, 파일 사이즈, 파일 속성, 파일 작성 일시, 파일 갱신 일시, 파일 액세스 일시, 파일명 등이 기록되어 있다.
본 실시 예의 목적은, 디지털 카메라(100)와 컴퓨터(101)와의 접속 개시부터, OS(302)가 애플리케이션(301)에 어떠한 액션을 시작할 때까지의 시간을 단축하는 것에 있다. 애플리케이션(301)은 PTP와 호환 가능한 애플리케이션이며, OS(302)로부터 기동되거나, 혹은, 유저의 조작에 의해 기동된다. OS(302)가 디지털 카메라(100)와의 접속을 확립했으면, 애플리케이션(301)은, 디지털 카메라(100)에 액세스 가능하게 된다. OS(302)는, 컴퓨터(101)에 로드되는 오퍼레이팅 시스템이다. 이 OS(302)는, PTP로 통신 가능한 디바이스를 인식하고, 드라이버(303)를 이용해 디지털 카메라(100)의 기억매체(218)에 기억되어 있는 화상의 정보를 취득한다. 모든 정보를 취득한 후, OS(302)는 카메라(100)가 접속 가능한 상태로 변화되고, 애플리케이션(101)으로부터의 요구에 응답해서 디바이스 핸들을 전할 수가 있다.
본 실시 예에서는, 모든 정보를 취득한 후, OS(302)가 애플리케이션(301)을 자동으로 기동하도록 설정되어 있다. PTP 기동 드라이버(303)는, 디지털 카메라(100)와 PTP 접속을 할 수가 있는 드라이버이며, OS(302)의 요구에 의해 RAM(229)에 로드되어 기동된다. 통신 인터페이스(102)는, PTP 통신이 가능한 통신 인터페이스이며, 이 통신 인터페이스(102)는 PTP 통신이 가능하면, 유선인지 무선인지는 문제되지 않으며, 더 나아가서 탈착 가능한지 착탈 불가능하지도 문제되지 않는다.
디지털 카메라(100)는 PTP 통신 가능한 디지털 카메라이며, 그 내부에는, PTP 응답 드라이버(306), 캐쉬 테이블(307), 및 파일 캐쉬(308)가 포함되어 있다. PTP 응답 드라이버(306)는, PTP의 레스폰더로서 행동하는 기능이 있다.
캐쉬 테이블(307)은, PTP에 요구되는 항목을 캐쉬하기 위한 캐쉬 테이블이며, 한 번 이용되었던 화상 파일은, 캐쉬의 정합성이 보증되는 한, 캐쉬 테이블(307)을 참조해 취득될 수가 있다. 그 결과, 기억매체(218)에 직접 액세스해 화상 파일을 판독해 이 파일을 해석하는 것보다도, 훨씬 더 고속으로 파일을 판독할 수가 있다.
파일 캐쉬(308)는, 파일 정보, 즉, 파일명, 파일 사이즈, 속성, 작성 일시, 갱신 일시 등, 파일 엔트리 정보에 기록되는 항목을 캐쉬하고 있다. 이것에 의해, 캐쉬 테이블(307)과 같이, 캐쉬의 정합성이 보증되는 한, 이들 파일의 정보를 참조할 수 있다. 그 결과, 액세스의 고속화를 실현할 수가 있다.
도 3은, 본 실시 예에 따른 디지털 카메라(100)가 통신 인터페이스(102)를 통해서 컴퓨터(101)와 접속되고 나서, OS(302)가 애플리케이션(301)에 기동을 통지할 때까지, 디지털 카메라(100)가 실행하는 처리를 나타내는 플로차트이다. 이 처리는 디지털 카메라(100)의 전원이 온 되어 기동됨으로써 개시된다. 우선, 스텝 S1에서는, 재생 모드에서 기동한다.
다음에, 스텝 S2에서, 파일 캐쉬(308)에, 기억매체(218)에 기억되어 있는 모든 화상 파일의 파일 엔트리를 캐쉬한다. 이때, 캐쉬되는 파일의 순서는 문제되지 않는다.
다음에, 스텝 S3에서, 디지털 카메라(100)는 통신 인터페이스(102)를 통해서 컴퓨터(101)와 접속한다. 이때, 물리층에 의해, 디지털 카메라(100)는 통신이 가능하게 된 것을 검출하고, 스텝 S4에서 통신 모드로 이행한다.
이렇게 함으로써, 디지털 카메라(100)가 통신 모드로 이행하면, 스텝 S5에서, 디지털 카메라(100)는 파일 캐쉬(308)에 캐쉬되어 있는(스텝 S2에서 캐쉬가 끝난) 정보를 기본으로, 기억매체(218)의 폴더 구성을 작성한다. 이때, 디지털 카메라(100)는 컴퓨터(101)의 OS(302)가 요구하는 것으로 예정된 파일 정보와 OS(302)가 요구하는 폴더 구성을 고려한 테이블을 작성한다. 이 테이블은, 다음의 제2 실시 예에 상세히 설명되어 있다. 여기에서는, 파일 캐쉬(308)에 캐쉬되어 있는 정보에 근거해, 디지털 카메라(100)는 OS(302)가 요구하는 파일의 정보를 작성한다. 이 때문에, 기억매체(218)에 액세스하는 일없이 캐쉬 테이블(307)을 작성할 수 있다.
이것에 의해, 디지털 카메라(100)와 컴퓨터(101)가 서로 접속된 후, 유저가 컴퓨터(101)에 대해서 어떠한 액션을 행할 수가 있게 될 때까지의 시간을 단축한다. 또한, 이것과 동시에, PTP에 의해 송신하기 위한 오브젝트 핸들과 오브젝트 FormatCode도 작성한다.
이 오브젝트 핸들이란, 기억매체 중의 화상 파일과 음성 파일 등의 각 오브젝트에 고유하게 할당된 번호이며, PC 및 디지털 카메라는, 이 번호(핸들)를 이용해 화상 파일의 지정 등을 할 수가 있다.
통상 PTP에서는, 이 핸들을 이용해, 각 오브젝트가 어떠한 종류의 파일인지를 조사하기 위해서, 오브젝트마다 그 속성 정보, 적어도 데이터의 일부(파일명, 파일 사이즈 등), 및 디렉토리 구조를 문의하고 있다. 이 타이밍과는 별도로, 디지털 카메라(100)는 컴퓨터(101)로부터, PTP의 확장 오퍼레이션인 일괄 전송 오퍼레이션을 서포트하고 있는지 아닌지에 관한 문의를 수신한다. 본 실시 예의 처리에서는, 디지털 카메라(100)가 GetDeviceInfo를 수신한 경우, 디지털 카메라(100)가 일괄 전송 오퍼레이션을 서포트하고 있으면, 디지털 카메라(100)는 일괄 전송 오퍼레이션의 서포트를 처리한다는 것을 나타내는 데이터를 포함해 그 명령에 응답한다.
그 후, 스텝 S6에서, 컴퓨터(101)로부터 일괄 전송의 요구가 발행되면, 디지털 카메라(100)의 처리는 스텝 S7로 진행되고, 디지털 카메라(100)는 스텝 S5의 테이블 작성 처리가 완료했는지 아닌지를 조사한다. 이 테이블 작성 처리가 완료하지 않았을 때는, 이 디지털 카메라(100)의 처리는 스텝 S5로 돌아와, 전술의 처리를 실행한다.
한편, 이 테이블 작성 처리가 완료했으면, 이 디지털 카메라(100)의 처리는 스텝 S8로 진행되고, 일괄 전송을 서포트할지 여부를 조사한다. 일괄 전송을 서포트하면, 스텝 S9에서, 디지털 카메라(100)는 스텝 S5에서 작성한 테이블에 근거해 일괄 전송을 한다.
이 스텝 S9에서는, 디지털 카메라(100)가 캐쉬 테이블(307)에 있는 모든 파일의 정보(파일명, 파일 사이즈, 파일 속성, 파일 스탬프, 오브젝트 핸들, 오브젝트 FormatCode, 폴더의 친자 관계를 나타내는 정보)를 전송한다.
이때, 캐쉬 테이블(307)을 사이즈 고정으로 전해주는 방법도 있지만, PTP 오브젝트의 수에 대한 사이즈만 전해주는 가변 길이 사이즈로의 전송도 생각할 수 있 다.
덧붙여, 이 플로차트의 스텝 S9에서는, 한 번 행해지는 일괄 전송 처리를 나타내고 있지만, 일괄 전송하는 데이터 사이즈가 가변 길이인 경우는, 컴퓨터(101)가 어느 정도의 데이터 사이즈를 수신하는지 모른다. 이 때문에, 사전에, 컴퓨터(101)가 디지털 카메라(100)에 데이터 사이즈를 문의해도 된다. 또한, 캐쉬 테이블(307)에 채워진 구조체를, 확장 오퍼레이션에 따라 혹은 OS(302)가 요구하는 정보의 변경에 따라 변경되도록 용장성을 갖게 해도 된다.
이상의 점을 고려했을 경우에도, 몇 차례 정도의 통신으로, 기억매체(218)에 기억되어 있는 모든 정보를 전송할 수가 있기 때문에, 기억매체(218)의 모든 정보를 1개씩 전송하는 경우보다 훨씬 더 통신의 오버헤드가 작아져 고속화를 실현할 수 있다.
도 4는, 본 실시 예에 따른 컴퓨터(101)에 의한 처리를 설명하는 플로차트이다. 여기에서, 도 4는 통신 인터페이스(102)를 통해서 디지털 카메라(100)와 접속된 것을 검지하고 나서, OS(302)가 애플리케이션(301)에 기동을 통지할 때까지의 기간 동안 컴퓨터가 실행하는 처리를 나타내고 있다.
스텝 S11에서, 컴퓨터(101)가 통신 인터페이스(102)를 통한 접속에 의해, 물리층에서 카메라(100)와의 접속을 검출한다.
다음에, 스텝 S12에서, OS(302)는, 접속된 디바이스의 과거에 접속된 데이터에 근거해 접속된 디바이스를 인식한다. 이 단계에서는, PTP와 호환 가능한 디지털 카메라(100)가, 과거에 적어도 한 번 접속되어, 드라이버가 인스톨되었다는 것이 전제이다.
다음에, 스텝 S13에서, OS(302)는, PTP 기동 드라이버(303)로부터, 디지털 카메라(100)에 의해 기억되어 있는 모든 정보와 그 폴더 구성을 요구한다. 여기서 요구하는 것은, 파일 각각에 포함된 많은 속성 정보의 일부로서, 예를 들면 파일명, 파일 사이즈, 파일 속성, 및 파일 작성 일시; PTP의 오브젝트 핸들; PTP의 오브젝트 FormatCode; 및 OS(302)가 요구하는 형태의 폴더 구성이다.
이 OS(302)의 요구를 받은 PTP 기동 드라이버(303)는, 스텝 S14에서, 일괄 전송을 서포트하고 있는지 아닌지를, 디지털 카메라(100)에 문의한다. 이 문의 커멘드로서는, 예를 들면, PTP의 "GetDeviceInfo" 등을 들 수 있다.
일괄 전송이 서포트되어 있으면, 컴퓨터(101)의 처리는 스텝 S17로 진행되고, PTP 기동 드라이버(303)는, 디지털 카메라(100)로부터 일괄 데이터 전송을 요구한다.
이것에 의해, 디지털 카메라(100)는, 도 3의 스텝 S6에서 일괄 데이터 전송 요구를 수신하고, 스텝 S9에서 테이블의 내용을 일괄 전송해, 이 요구에 응답한다.
이것에 의해, 스텝 S18에서, 컴퓨터(101)가 디지털 카메라(100)로부터 데이터를 수신하고, 그 데이터를 해석한다. 다음에, 스텝 19에서, PTP 기동 드라이버(303)는, 그 수신한 데이터를 기본으로 해서, OS(302)가 요구하는 형태에 대응한 데이터를 해석하고, OS(302)에 응답한다.
다음에, 스텝 S20에서, OS(302)는, PTP 기동 드라이버(303)에 대해서 행해진 데이터 전송 요구에 응답해 보내져 온 디바이스 핸들이 이용 가능한 상태로 애플리 케이션(301)을 기동한다. 이렇게 함으로써, 애플리케이션(301)이 기동되면, 유저에게, 접속되어 있는 디지털 카메라(100)의 기억매체(218)의 정보가 통지된다.
한편, 스텝 S15에서, 컴퓨터(101)가 일괄 전송을 서포트하고 있지 않다고 판정했을 경우에는, 컴퓨터(101)의 처리가 스텝 S16로 진행되고, PTP 기동 드라이버(303)는, PTP 오퍼레이션의 "GetStorageIDs", "GetStorageInfo", "GetObjectHandles", "GetObjectInfo" 등을 이용해, 디지털 카메라(100)의 기억매체(218)에 기억되어 있는 정보를 취득할 필요가 있다. 그 후, 컴퓨터(101)의 처리는 스텝 S18로 진행되어, 전술한 처리를 실행한다.
도 5a 및 도 5b는, 종래의 디지털 카메라와 컴퓨터가 접속되어, OS가 애플리케이션을 기동할 때까지 행해지는 순서를 설명하는 도면이다.
디지털 카메라(600)와 컴퓨터(604)가 개별적으로 기동되고, 물리층의 접속 611에 의해, 그들의 접속이 행해졌다고 가정한다. 디지털 카메라(600)는, 접속되기 전의 단계에서 재생 모드로서 기동되고, 파일 캐쉬(FileEntryCache) 601에 기억매체 내의 정보의 파일 엔트리 정보를 모두 캐쉬하고 있다. 이 캐쉬 정보는, 파일명, 파일 사이즈, 파일 속성, 파일 작성 일시 등을 포함한다. 이렇게 함으로써, 물리층의 접속 611이 행해지면, 디지털 카메라(600)에서는, 통신 제어부에 의해 접속이 검출되고, 통신 모드를 기동한다. 컴퓨터(604)에서는, 이 접속을 OS가 검출하고, 디바이스와 네고시에이션(negotiation)을 개시한다(612).
다음에, 컴퓨터의 OS(606)는, 카메라(600)를 인식해, PTP 기동 드라이버(PTPInitiatorDriver) 605에 카메라(600)의 정보를 요구한다. 여기서 요구하는 것은, 파일명, 파일 사이즈, 파일 속성, 파일 스탬프, PTP 포맷의 오브젝트 핸들, 같은 오브젝트 FormatCode, 및 그 폴더 구성이다.
OS(606)의 요구를 받은 PTP 기동 드라이버(PTPInitiator; 605)는, 이 요구에 응답해서, "GetStorageIDs"을 이용해 디지털 카메라(600)의 기억매체의 ID(StorageID)를 취득한다. 다음에, PTP 기동 드라이버(605)는 "GetStorageInfo"를 이용해 디지털 카메라(600)의 기억매체의 정보를 취득한다.
다음에, PTP 기동 드라이버(605)는 "GetObjectHandle"를 사용해 오브젝트 핸들을 열거하고, 그 하부층에 있는 오브젝트 핸들에 대해서 "GetObjectInfo"을 한 번씩 반복한다(608). 이 "GetObjectHandle"와 "GetObjectInfo"의 조합은, 1디렉토리당의 처리이며, 이 처리를 디렉토리의 수만큼 반복한다(610).
이렇게 함으로써, 디렉토리의 수만큼 커멘드의 조합을 반복한 후, PTP 기동 드라이버(605)는, 디지털 카메라(600)의 기억매체의 모든 정보를 취득하고, 이 정보를 OS가 요구한 정보의 포맷으로 작성해 이 OS에 응답한다.
OS(606)는, PTP 기동 드라이버(605)의 정보를 취득해, 애플리케이션(607)을 기동한다. 한편, 디지털 카메라(600)에서는, PTP 오퍼레이션이 올 때에는 언제나, 디지털 카메라(600)가 PTP 오퍼레이션을 캐쉬 테이블(PTPCacheTable; 602)에 캐쉬하고, 디지털 카메라(600)의 기억매체(613)에 액세스한다. 그 다음, 디지털 카메라(600)는 PTP 응답 드라이버(PTPResponderDriver)에 의한 해석과, 컴퓨터(604)에 응답하는 순서를 실행한다.
여기서, 컴퓨터(604)의 OS(606)가 기억매체 내의 모든 정보를 취득하려고 하는 것은 통상 한 번 뿐이다. 따라서, 이 캐쉬 테이블(PTPCacheTable)에 캐쉬되었다고 해도, 이 OSS는 컴퓨터(604)와 디지털 카메라(600) 간의 통상의 통신에서는 이 캐쉬 메모리에 재차 액세스하지 않아도 된다. 그 때문에, 이 캐쉬 메모리에 의한 효과는 적다.
반대로, 기억매체(613)에의 액세스마다, PTP의 통신의 커멘드의 교환 및 데이터 전송 처리를 행하는 경우, 파일 수가 많아질수록, 모든 정보를 전송하는데 필요한 시간이 더 길어진다. 즉, PTP 통신에서는, 오브젝트 핸들의 수가 증가함에 따라, 그 오브젝트 핸들의 증가 수만큼, 통신 회수가 증가한다. 그 결과, 단순 비례로, 모든 정보를 취득하는데 필요한 시간이 길어진다.
즉, 파일 수가 많아질수록 통신의 오버헤드가 커져, 속도 저하를 일으킨다. 예를 들면, 50매의 화상이 기억매체에 기억되어 있는 디지털 카메라와 3000매의 화상이 기억매체에 기억되어 있는 디지털 카메라와의 접속 시간을 비교하면, 후자는 단순 비례해 전자의 약 60배가 된다.
또한, 디지털 카메라(600)가 기억매체(613)에 반복해서 액세스하기 때문에, RAM에의 액세스 속도와 비교해도 수 디지트의 오더(order)로 시간이 길어지는 것을 알고 있다.
도 6a 및 도 6b는, 본 실시 예에 따른 디지털 카메라(100)와 컴퓨터(101)가 서로 접속될 때의 시간으로부터 컴퓨터(101)의 OS(302)가 애플리케이션(301)을 기동할 때의 시간까지의 동작 순서를 설명하는 도면이다. 이 도면은 도 2의 모듈 구성에 대응한 도면이다.
통신 인터페이스(102)에 의해 물리층의 접속이 행해지면(709), 디지털 카메라(100)와 컴퓨터(101)는 접속을 검출한다.
디지털 카메라(100)는, 물리층의 접속이 행해지기 전 또는 후에, 한 번 재생 모드로 시프트한다(통신 모드 전의 모드는 반드시 재생 모드이다).
이 재생 모드에 있어서는, 기억매체(218) 내의 모든 파일의 정보가, 파일 캐쉬(308)에 기록되어 캐쉬되어 있다. 여기서 작성된 캐쉬 항목은, 파일명, 파일 사이즈, 파일 속성, 및 파일 작성 일시이며, 파일 캐쉬의 순서에 대해서는 특히 규정은 없다.
그 후, 통신 모드가 기동되면, 이 통신 모드에서는, 기동시에 다른 스레드(thread)를 시동하고, OS(302)가 요구하는 정보를, 사전에 캐쉬 테이블(307)에 작성한다.
여기에서는, 파일 캐쉬(308) 내의 정보에 근거해 정보를 작성하고, PTP에 필요한 정보도 작성한다. 여기에서는, 이미 파일 캐쉬(308)에 기억매체(218)의 모든 파일의 정보가 캐쉬되어 있기 때문에, 기억매체(218)에 액세스하는 일없이, OS(302)가 요구하는 정보를 캐쉬 테이블(307)에 작성한다.
따라서, 이때의 속도에 관해서는, 도 5a 및 도 5b에 나타낸 순서에 비해 수 디지트의 오더로 고속으로 캐쉬 테이블(307)을 작성할 수 있다. 다른 스레드가 기동되는 동안에, 컴퓨터(101)에서는, 물리층의 접속 후(709), OS(302)가 접속을 검출하고, 디지털 카메라(100)와의 네고시에이션을 개시한다(710). 이 네고시에이션의 종료 후에, OS(302)가 디지털 카메라(100)를 인식하고, 그 디바이스의 정보를 PTP 기동 드라이버(303)에 요구한다. 여기서 요구하는 것은, 파일명, 파일 사이즈, 파일 속성, 파일 작성 일시, PTP의 오브젝트 핸들, PTP의 오브젝트 FormatCode, 및 폴더의 구성을 나타내는 정보이다. 이 OS(302)의 요구를 받은 PTP 기동 드라이버(303)는, 디지털 카메라(100)가 데이터의 일괄 전송을 서포트하고 있는지 아닌지를 판별하기 위해서, "GetDeviceInfo" 커멘드를 발행해 디지털 카메라(100)에 문의한다.
이 커멘드를 수신한 디지털 카메라(100)의 PTP 응답 드라이버(306)는, 이 커멘드에 대해서 응답한다. 여기에서는, PTP 응답 드라이버(306)가 일괄 전송을 서포트하고 있는 커멘드에 PTP 응답 드라이버(306)가 응답하는 것으로 가정한다. 이것에 의해, 컴퓨터(101)의 PTP 기동 드라이버(303)는, 다음에 PTP의 확장 오퍼레이션으로서 일괄 데이터 전송을 요구한다.
이것에 의해, 디지털 카메라(100)가, 데이터의 일괄 전송의 요구를 수신하면, 디지털 카메라(100)는, 캐쉬 테이블(307)이 이 요구에 응답할 수 있는 상태에 있는지 아닌지를 판정한다. 캐쉬 테이블(307)이 이 요구에 응답할 수 있는 상태에 있는 경우에는, 디지털 카메라(100)는 OK 회답으로 즉답한다. 그 상태가 아닌 경우에는, 디지털 카메라(100)는 캐쉬 테이블(307)의 작성 처리가 완료할 때까지 대기한다.
덧붙여, 블록 타임 아웃(block time-out)이 행해지는지 아닌지에 대한 염려가 생각되지만, 실제로는, 기억매체(218)에 액세스하는 일없이 캐쉬 테이블(307)이 작성되기 때문에, 이 처리는 고속으로 행해진다. 따라서, 비록 디지털 카메라(100) 가 서포트하는 최대 오브젝트의 수에 상당하는 수의 파일이 기억매체(218)에 기억되어 있다고 해도, 블록 타임 아웃이 발생하는 것은 있을 수 없다고 생각된다.
또한, 블록 타임 아웃이 발생해 오류를 일으켰다고 해도, 재차, 컴퓨터(101)의 PTP 기동 드라이버(303)가 다시 시도하도록 컴퓨터가 설계되어 있어도 된다.
이렇게 함으로써, 컴퓨터(101)의 PTP 기동 드라이버(303)가, 그 요구에 대한 응답을 수신하면, PTP 기동 드라이버(303)는 그 수신한 캐쉬 테이블(307)의 데이터를 해석하고, OS(302)가 요구하는 구조로 데이터의 구조를 변경해, OS(302)에 응답한다. 이것에 의해, OS(302)는, 그 데이터를 수신한 후 애플리케이션(301)을 기동한다.
이것에 의해, 애플리케이션(301) 또는 CPU(226)는, 종래의 기술보다 매우 짧은 시간 동안, 수신한 정보를 해석할 수 있고, 디지털 카메라의 기억매체 내의 디렉토리 구조와 폴더 구조, 파일명 등의 정보를 인식할 수 있다. 또한, 수신한 핸들(번호)에 근거해, 애플리케이션(301) 또는 CPU(226)는 소망한 화상 데이터 등의 송신 요구를, 통신 인터페이스를 통해서 디지털 카메라에 송신할 수가 있다. 이 데이터의 해석은, 컴퓨터(101)로 해석의 종류를 판별함으로써 행해질 수 있고, 컴퓨터(101)는 이 해석에 따라 OS(302)에 응답할 수가 있다.
또한, 컴퓨터(101)가 그 데이터 해석의 종류를 판별하기 위해서, 컴퓨터(101)가 디지털 카메라(100)에 PTP 확장 오퍼레이션으로 문의하는 방법도 생각할 수 있다. 이것에 의해, 디지털 카메라(100)에 있어서의 기억매체(218)에의 액세스는, 재생 모드에서 디지털 카메라(100)가 기동했을 때에 모든 오브젝트에 대한 일 괄 액세스로서 행해지기 때문에, 컴퓨터(101)와의 통신 중에도 고속으로 액세스가 처리된다.
또, 이 일괄 데이터 전송을 채용함으로써, 화상 파일의 수에 관계없이, 그저 몇 회의 통신(캐쉬된 데이터의 ObjectInfo와 그 오브젝트 자체의 최저 2회)만으로 통신을 행할 수가 있다.
이것에 의해, 디지털 카메라(100)의 기억매체(218)에 화상 파일이 50개 저장되어 있는 경우, 또는 화상 파일이 3000개 저정되어 있는 경우에도, 동일한 통신 회수로 데이터 전송을 할 수 있다.
덧붙여, 캐쉬 테이블이 작성한 오브젝트를 분할적으로 송수신하는 경우에는, 그 방식에 의해 예를 들면 3, 4회로 통신의 회수를 늘릴 수 있다. 그러한 경우에도, 역시, 고속화의 효과는 충분히 얻을 수 있다.
본 실시 예의 특징은, 컴퓨터(101)의 OS(302)가 요구하는 것으로 상정되는 정보를, 디지털 카메라(100)가 사전에 인지하고 있다는 점에 있다.
또, 본 발명의 특징은, 디지털 카메라(100)가 재생 모드에서 사용하는 캐쉬 정보를 모두 이용하고, 디지털 카메라(100)가 컴퓨터(101)의 PTP 기동 드라이버(303)로부터 호출되기 전에, 디지털 카메라(100)가 개별적인 스레드로 컴퓨터(101)에 전송하는 데이터를 준비하는 점에 있다. 덧붙여, 이 캐쉬 데이터는, 먼저 전송할 예정의 데이터를 캐쉬하고 있기 때문에, 그 캐쉬 히트율은 100%이다.
이러한 본 실시 예에 의하면, 컴퓨터와 디지털 카메라 사이에서의 물리층의 접속으로부터 컴퓨터의 애플리케이션의 기동까지는, 디지털 카메라에서 기억매체에 액세스하는 것이 발생하지 않고, 디지털 카메라(100)의 내부 메모리(RAM)에의 액세스만으로 처리를 할 수 있기 때문에, 디지털 카메라(100)가 고속으로 응답할 수가 있다.
본 발명에 따르면, 촬상장치 및 정보 처리장치가 정보처리장치의 유저에 응답하는 동작과 연결되는 시간을 단축할 수 있다. 또한, 촬상장치의 기억매체에 기억된 파일의 정보가 정보처리장치로부터 요구될 경우, 그것의 정보처리에 정보를 신속하게 전달하라고 하는 요구에 응답할 수 있다.
<제2 실시 예>
도 7은 제2 실시 예에 따른 촬상장치로서의 디지털 카메라(700)의 구성 예를 나타낸다. 또한, 도 7은, 디지털 카메라(700)와 통신 가능한 외부 정보 단말(이하, 단순히 "단말"이라고 부르는 경우도 있다)로서의 퍼스널 컴퓨터(PC; 701)와 디지털 카메라(이하, 단순히 "카메라"라고 부른다)(700)을 접속한 상태를 나타낸다.
디지털 카메라(700)는, 단말(701)과 통신하기 위한 통신 제어장치(702)와, 디지털 카메라(700) 전체의 동작을 제어하는 연산장치(CPU; 703)와, 촬영 화상의 압축 코딩, 윤곽 강조, 및 노이즈 제거 등의 처리를 하는 신호처리장치(704)를 포함한다.
또한, 디지털 카메라(700)는 렌즈와 오토 포커스 및 줌 구동용 모터 등을 포함한 광학 유닛(705), CPU(703)의 일시 기억 영역으로서 이용되는 일시 기억장치(DRAM; 706), 및 플래쉬 메모리(등록상표) 등의 불휘발성 기억장치인 2차 기억장치(707)를 포함한다.
또한, 디지털 카메라(700)는 커서 키, 설정/실행 버튼, 및 메뉴 키 등, 유저가 디지털 카메라(700)에 각종 지시를 하기 위한 조작부(708), LCD를 대표로 하는 표시부(709), 및 CPU(703)가 실행하는 제어 프로그램을 기억하는 판독 전용 메모리(ROM; 710)를 포함한다.
또한, 디지털 카메라(700)는 메모리 카드를 대표로 하는 착탈 가능 기록매체(711)와, 그것의 판독 기록장치(카드 리더 라이터 및 광학 드라이브 등; 712)를 포함한다.
덧붙여, 본 실시 예에 있어서는, 디지털 카메라(700)와 단말(701)이 USB 인터페이스로 접속되고, PTP에 준거한 통신, 즉 PTP에 준거한 커멘드를 이용한 통신을 하는 것으로 가정한다.
그러나, 디지털 카메라(700)와 단말(701)을 USB 이외의 접속 방법으로 접속해도 된다. 구체적으로, IEEE 1394를 대표로 하는 유선 접속과, Bluetooth 및 IEEE 802.11x를 대표로 하는 무선 접속을 이용할 수가 있다. 덧붙여, 상기 설명한 바와 같이, PTP에 준거한 커멘드로서는, 표준의 커멘드 및 벤더(vendor) 확장 커멘드가 있다.
(TreeDataTable의 설명)
도 8은 본 실시 예의 디지털 카메라(700)가 PC(701)와의 통신 개시 시에 일시 기억장치(706)에서 작성하는 TreeDataTable의 구조를 나타내는 도면이다.
지금부터는, 제2 실시 예로서 테이블에 관한 기술에 대해서 설명하지만, 제2 실시 예는 제1 실시 예, 도 3, 및 스텝 S5의 처리의 상세를 나타낸다.
TreeDataTable은 카메라 내에 기록되어 있는 오브젝트 정보(파일 정보, 디렉토리 정보)를 기록하기 위한 테이블이다. 이 테이블의 사이즈는 고정이다. TreeDataTable는 각각이 고정 사이즈를 갖고, 1개의 오브젝트에 대응하는 Association 정보 혹은 화상 정보 단위로 기록된다. 따라서, 1개의 테이블에 기억할 수 있는 오브젝트의 수는 고정이다. 상기 설명한 바와 같이, TreeDataTable는, 폴더 등 화상 이외의 오브젝트에 대한 정보인 Association 정보와, 화상 오브젝트에 대한 정보가 기록되어 있는 화상 정보로 구성된다.
도 8에 있어서, Associaion 정보의 예로서 A1 및 I1가 각각 예시되어 있다. 덧붙여, TreeDataTable에 있어서, Association 정보와 화상 정보가 저장되는 순서는 임의이다.
다음에, Association 정보의 각 필드에 대해 설명한다. 필드 UsedFlag는 오브젝트 정보가 유효한지 아닌지를 나타내는 플래그이다. UsedFlag는 예를 들면 초기 상태(유효 상태)에서 진 값(TRUE)을 받아, 대응하는 오브젝트가 삭제될 때 무효 상태(FALSE)로 리라이트(rewrite)된다.
필드 FormatCode에는 오브젝트 정보의 형식(Association 정보인지 화상 정보인지를 식별할 수 있는 정보, 예를 들면 화상 정보의 경우 오브젝트의 종류(JPEG, GIF, bmp 등)를 나타내는 값)이 저장된다. 필드 InitState는 오브젝트 정보의 상태를 나타낸다.
PC(701)와의 통신이 개시되어 TreeDataTable가 작성된 시점에서는, 디지털 카메라(700)가 폴더 구성 상태가 된다. 그리고, 디지털 카메라(700)가 PC(701)로부 터의 PTP 커멘드에 응답해 오브젝트 정보를 처음으로 취득하려고 하면, 필드 InitState는 오브젝트 정보 상세 기록 상태가 되어, 화상 정보의 필드 일부가 TreeDataTable에 기록된다.
후에 설명하는 바와 같이, 폴더 구성 상태란, 단말과의 통신 개시 시에, 친(親)오브젝트, 선두의 자(子)오브젝트 및 1개의 동(同)계층의 오브젝트에 대한 정보가 TreeDataTable에 기록되어 있는 상태이다. 오브젝트 정보 상세 기록 상태란, 오브젝트의 헤더를 참조해 갱신 일시 및 파일 사이즈 등 오브젝트에 대한 정보가 TreeDataTable에 기록되어 있는 상태이다.
필드 DriveNo는 볼륨의 번호를 나타낸다. 필드 Handle는 이 오브젝트에의 핸들(오브젝트 핸들)이며, 후에 설명하는 바와 같이, TreeDataTable의 인덱스 번호와 같다. 필드 ParentObjectHandle는 친오브젝트에의 핸들(친오브젝트에 대응하는 오브젝트 핸들의 값, 즉 인덱스 번호)이다.
필드 PreviousSiblingObjectHandle는 같은 계층에서 선행하는 오브젝트에의 핸들이다. 필드 NextSiblingObjectHandle는 같은 계층에서 다음의 오브젝트에의 핸들이다. 필드 ChildObjecthandle는 선두의 자오브젝트에의 핸들이다. 이들 4개의 필드에 의해, 오브젝트의 계층 구조의 재현 및 파악이 가능하다.
필드 FileName는 오브젝트명이다. DCF 프로토콜에 준거한 문자열이 필드 FileName로 들어가, 문자가 13 문자 이내로 설정된다. 필드 Attribute는 파일의 속성(액세스권 등)을 나타낸다. 필드 FileStamp는 파일의 갱신 일시를 나타낸다. 필드 FileSize는 파일의 사이즈이며, 헤더를 포함한 오브젝트 전체의 사이즈이다. 필 드 ChildNum는 자오브젝트의 수이다. 필드 ChildState는 자오브젝트의 오브젝트 핸들이 연속적인 번호인지 아닌지를 나타낸다. 필드 Reserve는 예약 영역이다.
다음에, TreeDataTable의 화상 정보의 각 필드에 대해 설명한다.
필드 UsedFlag, FomatCode, InitState, DriveNo, Handle, ParentObjectHandle, PreviousSiblingObjectHandle, nextSiblingObjectHandle, ChildObjectHandle, FileName, Attribute, FileStamp, 및 FileSize는 각각 Association 정보의 동일명 필드와 같은 용도로 사용된다.
필드 Year, Month, Day, Hour, Min, 및 Sec는 촬영 일시(년, 월, 일, 시, 분, 및 초)를 나타내기 위해서 사용된다. ThumbSize는 섬네일(thumbnail) 화상의 데이터 사이즈이다. PixWidth는 본 화상 데이터의 수평방향의 화소 수이고, PixHeight는 수직 방향의 화소 수이다. Offset는 섬네일 화상 데이터와 본 화상 데이터를 포함한 화상 파일 오브젝트에 있어서, 본 화상 데이터가 시작되는 위치를 나타내는 값(바이트 수)이다. Size는 본 화상의 데이터 사이즈이다. Reserve는 예약 영역이다.
덧붙여, 본 실시 예에 있어서는, Association 정보 및 화상 정보의 필드 Handle(오브젝트 핸들)에 저정된 값이, TreeDataTable에 있어서의 인덱스 번호와 동일해지도록 TreeDataTable를 작성한다.
즉, TreeDataTable를 구성하는 Association 정보 및 화상 정보의 필드 Handle는, 그 오브젝트 정보가 TreeDataTable에 존재하는 위치를 나타내는 값과 동일하다.
상기 설명한 바와 같이, Association 정보 및 화상 정보는 동일한 고정 사이즈(예를 들면, n바이트로 가정한다)를 갖는다. 이 때문에, 오브젝트 핸들(인덱스 번호)이 1에서 시작되는 정수라고 했을 경우, TreeDataTable 중, 오브젝트 핸들(인덱스 번호) a의 오브젝트 정보의 개시 위치는, (n×a+1) 바이트로서 즉시 취득될 수가 있다.
따라서, 오브젝트 핸들을 이용하는 PTP 커멘드에 의한 검색이 요구되었을 경우, 즉시 검색 대상의 Association 정보 또는 화상 정보를 판독할 수가 있고, 검색의 고속화를 실현할 수가 있다.
(TreeDataTable의 생성 처리)
도 9는 디지털 카메라(700) 내의 기억매체(711) 또는 2차 기억장치(707)에 기록되어 있는 오브젝트의 논리적인 계층 구성의 예를 나타낸 도면이다.
덧붙여, 이하의 설명에 있어서, 화상 오브젝트가 착탈 가능한 기억매체(711)에 기록되는 것으로 하지만, 화상 오브젝트가 착탈 불가능한 2차 기억장치(707)에 기록되어 있어도, 그 동작은 같다. 이러한 기록매체(711)가 장착된 상태에서, 도 7에 나타낸 바와 같이 유저가 USB 및 IEEE 1394 등의 유선 인터페이스나, Bleutooth 등의 무선 인터페이스를 통해서 디지털 카메라(700)와 PC(701)를 접속한다. 그것에 의해, 디지털 카메라(700)와 단말(701)과의 통신이 개시한다.
통신의 개시에 의해, CPU(703)는, 기록매체(711)의 내용을 참조하면서 일시 기억장치(706)의 소정 영역에 TreeDataTable를 생성한다. 이하, TreeDataTable의 생성, 및 기록 처리에 대해 도 14의 플로차트를 이용해 설명한다.
우선, CPU(703)는, 인덱스 번호 i를 1로 초기화한다(스텝 ST101). 그리고, 기록매체(711)을 참조해, CPU(703)는 루트 디렉토리 D 이하의 계층으로부터 순차적으로 기록매체(711)를 참조한다. 그 다음, CPU(703)는 우선 폴더 "DCIM"를 참조해, 이 오브젝트가 화상 오브젝트인지 아닌지를 판정한다(스텝 ST105).
"DCIM"는 폴더이기 때문에, CPU(703)의 처리는 스텝 ST107로 진행되고, CPU(703)는 폴더 "DCIM"의 오브젝트 정보(Association 정보)를 도 8에 나타낸 각 필드에 기록한다.
덧붙여, 스텝 ST105에서의 판별 방법에 있어서는, 디지털 카메라(700)의 기록매체(711)에 생성되는 폴더명 및 계층 구조는 규격에 의해 정해져 있기 때문에, CPU(703)는 기록매체(711) 중의 계층 구조에 있어서의 폴더와 화상 파일을, 예를 들면, 그 파일이 루트 디렉토리 D로부터 몇 번째의 계층에 존재하는가에 의해 판별할 수가 있다.
CPU(703)가 "DCIM"의 오브젝트 정보를, TreeDataTable에 기록하면, CPU(703)는 스텝 ST111에서 인덱스 번호를 1씩 증가시키고, CPU(703)의 처리는 스텝 ST103로 돌아온다. 덧붙여, 폴더 "DCIM"의 오브젝트 정보는, InitState가 폴더 구성 상태, Handle=1, FileName="DCIM", ChildNum=1, 및 ChildObjectHandle=2를 갖는 Association 정보이다.
그리고, 다음에, Handle=2를 갖는 오브젝트 정보로서 "DCIM"의 1개 아래의 계층에 존재하는 폴더 "100GANON"의 정보가, Association 정보로서 TreeDataTable에 기록된다. 폴더 "100GANON"의 오브젝트 정보는, InitState가 폴더 구성 상태, Handle=2, ParentObjectHandle=1, NextSiblingObjectHandle=6, ChildObjectHandle=3, FileName="100GANON", 및 ChildNum=3을 갖는 Association 정보이다.
다음에, Handle=3을 갖는 오브젝트 정보로서 폴더 "100GANON" 아래의 계층에 존재하는 화상 오브젝트 "IMG_0001.JPG"를 처리한다. "IMG_0001.JPG"는 화상 오브젝트이기 때문에, CPU(703)의 처리는 스텝 ST105로부터 ST109로 진행되고, 화상 정보로서 오브젝트 정보를 기록한다.
그러나, 이 시점에서는, InitState 상태는 폴더 구성이기 때문에, CPU(307)는 도 8에 나타낸 각 필드 중, 선두의 UsedFlag로부터 FileSize까지 필드에 기록을 하고, 필드 Year 이후에는 아무것도 필드에 기록하지 않는다. 화상 오브젝트 "IMG_0001.JPG"의 오브젝트 정보는, InitState가 폴더 구성 상태, Handle=3, ParentObjectHandle=2, NextSiblingObjectHandle=4, ChildObjectHandle=NULL, 및 FileName="IMG_0001.JPG"을 갖는 화상 정보이다.
마찬가지로, 다음에 화상 오브젝트 "IMG_0002.JPG"의 오브젝트 정보가 Handle=4를 포함한 오브젝트 정보로서 기록된다. 화상 오브젝트 "IMG_0002.JPG"의 오브젝트 정보는, InitState가 폴더 구성 상태, Handle=4, ParentObjectHandle=2, PreviousSiblingObjectHandle=3, NextSiblingObjectHandle=5, ChildObjectHandle=NULL, 및 FileName="IMG_0002.JPG"를 갖는 화상 정보이다.
그 다음에, Handle=5의 "IMG_0003.JPG"의 오브젝트 정보는, InitState가 폴더 구성 상태, Handle=5, ParentObjectHandle=2, PreviousSiblingObjectHandle=4, NextSiblingObjectHandle=NULL, ChildObjectHandle=NULL, 및 FileName="IMG_0003.JPG"를 갖는 화상 정보로서 TreeDataTable에 기록된다.
다음에, 폴더 "101GANON"의 오브젝트 정보가 Association 정보로서 TreeDataTable에 기록되고, 하부 계층에 존재하는 화상 오브젝트 "IMG_0005.JPG" 및 "IMG_0006.JPG"의 오브젝트 정보가 화상 정보로서 TreeDataTable에 기록된다.
마지막으로, 폴더 "MISC" 및 그 폴더 "MISC"의 내부의 오브젝트의 정보도, 폴더 "DCIM"와 그 폴더 "DCIM" 내부의 오브젝트 정보가 TreeDataTable에 기록된 것과 같이 TreeDataTable에 기록된다.
그리고, 스텝 ST111에서, 기록매체(711) 내에 미등록 오브젝트가 존재하지 않는다고 판정되면, CPU(703)는 TreeDataTable의 작성 처리를 종료한다. 덧붙여, 여기에서는 후술하는 처리에 이용하는 주요한 필드에의 기록에 대해서만 설명했지만, CPU(703)가 다른 필드에도 각각 적절한 값을 저장하는 것은 말할 필요도 없다.
이와 같이, 기록매체(711) 내의 각 오브젝트에 관해서는, 폴더/디렉토리에 대해서 Association 정보를, TreeDataTable에 등록하고, 화상 파일에 대해서 화상 정보를, TreeDataTable에 등록한다. 또, 이 시점에 있어서, 각 오브젝트 정보의 필드 InitState은 폴더 구성 상태에 있다.
이하, 이와 같이 작성한 테이블을 이용해서, PC(701)로부터의 PTP 커멘드를 어떻게 처리하고, PTP 커멘드에 응답할지에 대한 구체적인 예를 설명한다. (폴더 내의 오브젝트의 수를 취득하는 처리); PC(701)로부터 PTP 커멘드 GetNumObjects를 수신해, 커멘드에 의해 특정되는 폴더에 포함된 오브젝트의 수를 취득하는 경우의 처리에 대해 설명한다.
여기에서, 도 10의 상태, 즉, 폴더 "100GANON" 내에 "IMG_0001.JPG", "IMG_0002.JPG", 및 "IMG_0003.JPG"의 3개의 오브젝트가 있는 상태에서, 폴더 "100GANON" 내의 오브젝트의 수를 취득하는 것이 요구되는 것으로 한다.
우선, CPU(703)는, PTP 커멘드에 포함되는 오브젝트 핸들(폴더 "100GANON"를 지정하는 정보)을 취득하고, 그 취득한 오브젝트 정보의 값과 동일한 값을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다. 오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(여기에서는, 폴더의 오브젝트 정보이기 때문에, 오브젝트 정보는 Association 정보이다) 내의 필드 ChildNum가 가리키는 수를 "100GANON" 내의 오브젝트 수로서 취득하고, CPU(703)는 PC(701)로 그 취득한 수를 반송한다.
(오브젝트 정보 취득 처리)
다음에, PC(701)로부터 PTP 커멘드 GetObjectInfo를 수신해, 커멘드에 의해 특정되는 오브젝트에 대한 정보를 취득할 때의 처리에 대해 설명한다.
여기에서는, 도 10의 폴더 "100GANON" 내에 있는 화상 오브젝트 "IMG_0001.JPG"의 오브젝트 정보 취득이 요구된 것으로 가정한다.
우선, CPU(703)는, PTP 커멘드에 포함되는 오브젝트 핸들(화상 오브젝트 "IMG_0001.JPG"를 지정하는 정보)을 취득하고, 그 취득한 오브젝트 핸들의 값과 동일한 값을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다.
오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(여기에서는 화상 정보) 내의 필드 InitState를 참조한다. InitState가 오브젝트 정보 상세 기록 상태에 있는 경우, 화상 정보 내의 모든 필드에 정보가 저장되기 때문에, CPU(703)는 화상 정보에 필요한 필드로부터 본 화상 오브젝트의 정보를 취득하고, 그 취득한 정보를 PC(701)로 반송한다.
한편, TreeDataTable가 작성되고 나서 "IMG_0001.JPG"의 오브젝트 정보가 취득되지 않은 경우, InitState는 폴더 구성 상태에 있다. 이 경우, CPU(703)는 이 화상 오브젝트의 파일 헤더를 디지털 카메라(700) 내의 기억매체(711)로부터 판독하고, 이 화상 오브젝트의 정보를 취득한다.
이 화상 오브젝트의 정보를 취득한 후, CPU(703)는 화상 정보의 필드 Year 이후(촬영 일시, 섬네일 화상의 사이즈, 화상의 수평 사이즈, 및 화상의 수직 사이즈를 화상 정보 내의 필드 Year, Month, Day, Hour, Min, Sec, ThumbSize, PixWidth, 및 PixHeight에 기록)에 헤더로부터 취득한 정보를 필드에 기록하고, CPU(703)는 이 화상 정보의 InitState를 오브젝트 정보 상세 기록 상태로 변경한다.
그리고, CPU(703)는 PC(701)에 오브젝트 정보를 반송한다.
(오브젝트 데이터 취득 처리)
다음에, PC(701)로부터 PTP 커멘드 GetObject를 수신해, 커멘드에 의해 특정되는 오브젝트 데이터를 취득할 때의 처리에 대해 설명한다.
여기에서는, 도 10의 폴더 "100GANON" 내에 있는 화상 오브젝트 "IMG_0001.JPG"의 오브젝트 데이터 취득이 요구된 것으로 가정한다.
우선, CPU(703)는, PTP 커멘드에 포함되는 오브젝트 핸들(화상 오브젝트 "IMG_0001.JPG"를 지정하는 정보)을 취득하고, 그 취득한 오브젝트 핸들의 값과 동일한 값을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다. 오브젝트 정보가 발견되었을 경우, CPU(703)는 그 검색한 오브젝트 정보(화상 정보) 내의 필드 FileName를 참조한다. CPU(703)는 필드 ParentObjectHandle를 참조해, "IMG_0001.JPG"의 친오브젝트(폴더 "100GANON")의 오브젝트 핸들 "2"를 취득한다. CPU(703)는 이 오브젝트 핸들을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다. 오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(폴더 "100GANON"의 오브젝트 정보)의 필드 FileName를 참조한다.
CPU(703)는 필드 ParantObjectHandle를 참조해, "100GANON"의 친오브젝트(폴더 "DCIM")의 오브젝트 핸들 "1"을 취득한다. CPU(703)는 이 오브젝트 핸들을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다. 오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(폴더 "DCIM"의 오브젝트 정보)의 필드 FileName를 참조한다.
CPU(703)는 필드 ParentObjectHandle를 참조해, 친오브젝트(볼륨 "D")의 오브젝트 핸들 "0"을 취득한다. CPU(703)는 이 오브젝트 핸들을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다.
오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(볼륨 "D"의 오브젝트 정보)의 필드 FileName를 참조한다. 볼륨 "D"는 최상위 계층이기 때문에, CPU(703)는 그 계층보다 더 높은 계층의 탐색을 하지 않는다.
이상의 스텝에 의해 참조한 Filename를 순서대로 배열함으로써, "IMG_0001.JPG"의 풀 패스(full path) "D:¥DCIM¥100GANON¥IMG_0001.JPG"를 얻을 수 있다. CPU(703)는 이 풀 패스에 의해 디지털 카메라(700) 내의 기억매체(711)에 기록되어 있는 "IMG_0001.JPG"에 액세스해, 화상 데이터 "IMG_0001.JPG"를 PC(701)에 전송한다.
이와 같이, 본 실시 예의 TreeDataTable를 이용하는 것으로, PTP 커멘드로 지정되는 오브젝트 핸들로부터 즉시 오브젝트 정보를 참조할 수 있다. 또, 오브젝트 정보에는 적어도 친오브젝트를 특정 가능한 정보가 포함되어 있기 때문에, 그 후에는 최상위 계층까지 순차 파일명을 취득함으로써 오브젝트의 풀 패스를 취득할 수가 있다.
도 10의 폴더 구성을 갖는 기록매체(711)의 경우에는, 화상 오브젝트의 수에 의존하지 않고, 어느 화상 오브젝트도 4회 TreeDataTable를 참조하는 것으로 그 풀 패스를 얻는 것이 가능하다.
다른 한편으로, 종래 기술에서 설명한 방법에서는, 오브젝트 핸들을 테이블의 개시부터 순차적으로 탐색하는 것이 필요하기 때문에, 오브젝트 수가 증가함에 따라 테이블의 참조 회수가 증가하고, 풀 패스의 취득에 시간이 걸린다.
(오브젝트의 삭제 처리)
다음에, PC(701)로부터 PTP 커멘드 DeleteObject를 수신해, 커멘드에 의해 특정되는 오브젝트를 삭제하는 경우의 처리에 대해 설명한다. 여기에서는, 도 10의 폴더 "100GANON" 내에 있는 화상 오브젝트 "IMG_0001.JPG"의 삭제가 요구된 것으로 가정한다.
우선, CPU(703)는, PTP 커멘드에 포함되는 오브젝트 핸들(화상 오브젝트 "IMG_0001.JPG"를 지정하는 정보)을 취득하고, 그 취득한 오브젝트 핸들의 값과 동일한 값을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다.
오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보(화상 정보) 내의 필드 UsedFlag의 값을 FALSE(무효)에 리라이트하고, 디지털 카메라(700) 내의 기억매체(711)로부터 화상 오브젝트 "IMG_0001.JPG"를 삭제한다. 그리고, CPU(703)는 다른 오브젝트의 관련 필드의 변경 처리를 한다. 구체적으로는, 삭제된 오브젝트의 친오브젝트의 오브젝트 정보에 대해서는, CPU(703)가 필드 ChildNum를 1씩 줄인다. 또한, 삭제된 오브젝트가 선두의 자오브젝트이면, CPU(703)는 ChildObjectHandle를, 삭제된 오브젝트의 NextSiblingObjectHandle에 저장된 핸들에 리라이트한다.
또, CPU(703)는 삭제된 오브젝트의 NextSiblingObjectHandle에 의해 특정되는 오브젝트의 PreviousObjectHandle를 NULL로 변경한다. 또, 삭제된 오브젝트가 선두 혹은 후미의 자오브젝트 이외의 것인 경우에는, 다음의 자오브젝트의 핸들-자오브젝트의 핸들=1의 조건이 유지되지 않기 때문에, CPU(703)는 오브젝트 핸들의 연속 번호를 나타내는 ChildState를 FALSE로 갱신한다.
그러나, ChildState가 FALSE이고, 오브젝트의 삭제를 행하는 것으로 자오브젝트의 수가 1이 되었을 경우, CPU(703)는 ChildState를 TRUE로 갱신한다.
또, 삭제된 오브젝트가 친오브젝트인 경우에는, CPU(703)가 그 자오브젝트와 그 이하의 오브젝트의 모든 오브젝트의 오브젝트 정보의 UsedFlag를 FALSE로 설정한다.
(PC로부터의 오브젝트 정보의 등록 처리)
다음에, PC(701)로부터 PTP 커멘드 SendObjectInfo를 수신해, TreeDataTable에 오브젝트 정보를 등록하는 처리에 대해 설명한다.
여기에서는, 카메라(700)의 기록매체(711)에 존재하지 않는 화상 오브젝트의 오브젝트 정보를 이 PC(701)로부터 카메라(700)에 송신하고, 그 송신된 오브젝트 정보를 기록매체(711) 내의 폴더 "100GANON" 내에 있는 오브젝트 "IMG_0006.JPG"의 오브젝트 정보로서 등록하는 경우를 상정한다.
또, 여기에서 TreeDataTable에는 오브젝트 정보가 아직도 등록 가능한 것(최종 인덱스까지 기록되어 있지 않다)으로 상정한다.
이하, 도 11에 나타낸 플로차트를 참조하면서, PTP 커멘드 SendObjectInfo를 수신했을 때의 TreeDataTable에의 등록 처리에 대해 설명한다.
TreeDataTable에 있어서, CPU(703)는, 오브젝트 정보가 기록되어 있는 마지막 인덱스의 다음의 인덱스에 화상 오브젝트 "IMG_0006.JPG"의 화상 정보를 기록한다(스텝 ST501). 필드 Handle를 참조하면, CPU(703)는 오브젝트 핸들이 오브젝트 "100GANON"의 오브젝트 핸들인지 아닌지를 판정한다(스텝 ST502). ST502에서 오브젝트 핸들이 오브젝트 "100GANON"의 오브젝트 핸들이 아니라고 판정되었을 경우, CPU(703)는 스텝 ST503에서, 참조한 오브젝트 정보의 인덱스가 TreeDataTable의 최종 인덱스인지 아닌지를 판정한다. 스텝 ST503에서 인덱스가 최종 인덱스가 아니라 고 판정되었을 경우, CPU(703)는 스텝 ST504에서 다음의 인덱스(오브젝트 정보)를 참조한다. 다음에, CPU(703)의 처리는 스텝 ST502로 돌아온다. 스텝 ST503에서 인덱스가 최종 인덱스라고 판정되었을 경우, CPU(703)는 이 처리를 종료한다.
스텝 ST502에서 오브젝트 핸들이 오브젝트 "100GANON"의 핸들이라고 판단되었을 경우, 즉, "100GANON"의 오브젝트 정보가 TreeDataTable에서 발견되면, CPU(703)는 스텝 ST505에서, 그 Handle이 포함되는 Association 정보의 필드 ChildObjectHandle와 필드 ChildNum를 참조한다. 또, CPU(703)는 ChildNum의 값을 1씩 늘린다.
CPU(703)는 스텝 ST506에서 필드 ChildObjectHandle가 NULL인지 아닌지를 판정한다. 스텝 ST506에서 필드 ChildObjectHandle가 NULL이 아니라고 판정되었을 경우, 즉, 폴더 "100GANON"에 다른 화상 파일이 이미 존재하는 경우에는, CPU(703)는 스텝 ST507에서, 필드 ChildObjectHandle가 지시하는 인덱스의 오브젝트 정보를 참조한다.
참조지(reference destination)의 화상 정보의 필드 NextSiblingObjectHandle를 참조해, CPU(703)은, 필드 NextSiblingObjectHandle가 지시하는 인덱스의 오브젝트 정보를 참조한다. CPU(703)는 이 처리를 "필드 ChildNum에 기록되어 있는 값-1" 회분 반복한다(스텝 ST508). 이것에 의해, CPU(703)는 폴더 "100GANON"에 포함된(폴더 "100GANON"의 1계층 아래의) 화상 파일에 대응하는 마지막 오브젝트 정보에 도달한다.
스텝 ST509에서, CPU(703)는 오브젝트 정보의 필드 NextSiblingObjectHandle 에, 스텝 ST501에서 "IMG_0006.JPG"의 화상 정보를 기록한 인덱스(Handle의 값)를 기록한다. 이것에 의해, "IMG_0006.JPG"가 폴더 "100GANON"의 1계층 아래에 존재하는 것으로서 TreeDataTable에 등록되었다.
한편, 스텝 ST506에서 오브젝트 "100GANON"의 필드 ChildObjectHandle가 NULL이라고 판정되었을 경우(즉, 폴더 "100GANON"에 아직 화상 파일이 존재하지 않는 경우), CPU(703)는 스텝 ST510에서 필드 ChildObjectHandle에 "IMG_0006.JPG"의 화상 정보를 기록한 인덱스를 기록한다. 덧붙여, 스텝 ST507에서의 판정은 필드 ChildNum가 0인지 아닌지를 조사하는 판정이어도 괜찮다.
(오브젝트 사이즈와 오프셋 취득 처리)
다음에, PC(701)로부터 확장 PTP 커멘드 GetPartialObjectInfo를 수신해, 커멘드에 의해 특정되는 오브젝트에 대해 오브젝트의 사이즈와, 오브젝트 데이터가 시작되는 오프셋을 취득할 때의 처리에 대해 설명한다. 여기서, GetPartialObjectInfo란, 오브젝트 중의 구성요소의 종류를 지정하고, 그 구성요소의 사이즈 및 오프젝트의 선두로부터의 구성요소의 오프셋을 취득하는 커멘드이다.
여기에서는, 도 10의 폴더 "100GANON"내에 있는 화상 오브젝트 "IMG_0001.JPG"의 전체 JPEG 화상 데이터(섬네일 화상의 데이터가 아닌, 실제의 화상 데이터)의 사이즈와, 오브젝트 "IMG_0001.JPG"의 선두로부터의 오프셋 정보(즉, 필드 오프셋 및 사이즈의 값)의 취득이 요구된 것으로 가정한다.
우선, CPU(703)는, PTP 커멘드에 포함되는 오브젝트 핸들(화상 오브젝트 "IMG_0001.JPG"를 지정하는 정보)을 취득하고, 그 취득한 오브젝트 핸들의 값과 동 일한 값을 필드 Handle에 갖는 오브젝트 정보를 TreeDataTable로부터 검색한다.
오브젝트 정보가 발견되었을 경우, CPU(703)는 그 오브젝트 정보 내의 필드 InitState를 참조한다. 참조의 결과, InitState가 오브젝트 정보 상세 기록 상태이면, 상술한 대로 필드 Offset 및 Size에는 이미 값이 판독되었기 때문에, CPU(703)는 화상 정보 내의 필드 Size 및 Offset을 기초로 오브젝트 "IMG_0001.JPG"의 구성요소인 전체 JPEG 화상의 사이즈와, 전체 JPEG 화상에 대한 오브젝트 "IMG_0001.JPG"의 선두로부터의 오프셋을 취득한다.
다른 한편, InitState가 파일 구성 상태에 있는 경우에는, 필드 Offset 및 Size에 값이 판독되지 않기 때문에, 상술한 오브젝트 데이터 취득 처리에 대해 설명한 것처럼, CPU(703)는 오브젝트 "IMG_0001.JPG"의 풀 패스를 취득한다. 그리고, CPU(703)는 기억매체(711)에 기록되어 있는 오브젝트 "IMG_0001.JPG"의 헤더 파일을 참조하여, 오브젝트 "IMG_0001.JPG"의 구성요소인 전체 JPEG 화상의 바이트 수와, 전체 JPEG 화상에 대해 오브젝트 "IMG_0001.JPG"의 선두로부터의 오프셋을 취득한다. 그리고, CPU(703)는 PC(701)에 이들 정보를 반송한다.
(풀 패스로부터의 오브젝트 핸들 취득 처리)
다음에, PC(701)로부터 확장 PTP 커멘드 GetObjectHandleByName를 수신해, 커멘드에 의해 특정되는 패스명으로부터 오브젝트 핸들을 취득할 때의 처리에 대해 설명한다.
여기서, GetObjectHandleByName란, 패스명으로 표시된 오브젝트의 핸들의 취득을 지시하는 PTP 확장 커멘드이다. 이 확장 커멘드에 의해, 오브젝트 핸들에 의 해서가 아닌 풀 패스에 의해 오브젝트가 지정된다. 여기에서는, 커멘드에 있어서의 풀 패스 "D:¥DCIM¥100GANON¥IMG_0001.JPG"로 지정된 오브젝트의 핸들 취득이 요구된 것으로 가정한다.
이하, 도 12에 나타낸 플로차트를 참조하면서 처리에 대해 설명한다.
우선, 스텝 ST601~ST604에 있어서, CPU(703)는 TreeDataTable로부터, "DCIM"에 대응하는 오브젝트 정보를 탐색한다. 즉, CPU(703)는 스텝 ST601에서 TreeDataTable의 각 오브젝트 정보의 필드 FileName를 참조한다. 덧붙여, "DCIM"는 화상 오브젝트가 아닌 것이 분명하기 때문에, CPU(703)는 오브젝트 정보의 필드 FormatCode가 Association 정보인 오브젝트 데이터에 대해서만 필드 FileName를 참조해도 된다.
다음에, CPU(703)는 스텝 ST602에서 필드 FileName가 "DCIM"인지 아닌지를 판정한다. 스텝 ST602에서 필드 FileName가 "DCIM" 폴더가 아니라고 판정되었을 경우, CPU(703)는 스텝 ST603에서 필드 FileName이 최종 인덱스(최종 오브젝트 데이터)인지 아닌지를 판정한다.
스텝 ST603에서 필드 FileName이 최종 인덱스가 아니라고 판정되었을 경우, CPU(703)는 스텝 ST604에서 다음의 오브젝트 데이터의 필드 FileName를 참조하고, CPU(703)의 처리는 스텝 ST602로 돌아온다. 필드 FileName이 스텝 ST603에서 최종 인덱스라고 판정되었을 경우, CPU(703)는 처리를 종료한다.
스텝 ST602에서 "DCIM"의 FileName를 갖는 오브젝트 데이터가 발견되면, CPU(703)는 스텝 ST605에서 그 오브젝트 정보의 필드 ChildObjectHandle 및 ChildNum를 참조한다.
다음에, CPU(703)는 스텝 ST606에서, 필드 ChildObjectHandle에 기술되어 있는 핸들(인덱스 번호)로 표시된 오브젝트 정보를 참조한다. 다음에, CPU(703)는 스텝 ST607에서 필드 FileName를 참조한다.
다음에, CPU(703)는 스텝 ST608에서 FileName가 "100GANON"인지 아닌지를 판정한다. 스텝 ST608에서 FileName가 "100GANON"가 아니라고 판정되었을 경우, CPU(703)는 스텝 ST609에서 NextSiblingObjectHandle에 기술되어 있는 인덱스 번호로 표시된 오브젝트 정보(즉, 같은 계층의 별도의 폴더의 오브젝트 정보)를 참조한다.
다음에, CPU(703)의 처리는 스텝 ST607로 돌아오고, CPU(703)가 "100GANON"의 오브젝트 정보를 참조할 때까지 CPU(703)는 최대 ChildNum회(도 10의 예에서는 2회) TreeDataTable를 탐색한다. 한편, 스텝 ST608에서 FileName가 "100GANON"이라고 판정되었을 경우에는, CPU(703)는 스텝 ST610에서 필드 ChildObjectHandle 및 ChildNum을 참조한다.
다음에, CPU(703)는 스텝 ST611에서 ChildObjectHandle에 기술되어 있는 인덱스 번호로 표시된 오브젝트 정보를 참조한다. 다음에, CPU(703)는 스텝 ST612에서 필드 FileName를 참조한다. 다음에, CPU(703)는 스텝 ST613에서 FileName가 "IMG_0001.JPG" 폴더인지 아닌지를 판정한다.
스텝 ST613에서 FileName가 "IMG_0001.JPG"가 아니라고 판정되었을 경우, CPU(703)는 스텝 ST614에서 NextSiblingObejctHandle에 기술되어 있는 인덱스 번호 로 표시된 오브젝트 정보를 참조한다.
다음에, CPU(703)의 처리는 스텝 ST612로 돌아오고, CPU(703)가 "IMG_0001.JPG"의 화상 정보를 참조할 때까지, CPU(703)는 최대 "100 maximum GANON" 오브젝트 정보의 ChildNum회만, TreeDataTable를 탐색한다.
스텝 ST613에서 FileName가 "IMG_0001.JPG"이라고 판정되었을 경우, CPU(703)는 스텝 ST615에서 오브젝트 정보의 필드 Handle를 참조하고, 스텝 S615에서 패스명 "D:¥DCIM¥100GANON¥IMG_0001.JPG"에 대응하는 오브젝트 핸들을 PC(701)에 전송한다.
(스토리지 내의 모든 오브젝트 핸들의 취득)
다음에, PC(701)로부터 PTP 커멘드 GetObjectHandles를 수신해, 스토리지 내의 지정된 오브젝트 포맷의 모든 오브젝트 핸들을 취득할 때의 처리에 대해 설명한다.
여기서, GetObjectHandles란, 스토리지 내의 모든 오브젝트의 핸들의 취득을 지시하는 PTP 커멘드이다. 여기에서, 취득하는 오브젝트의 포맷은 모든 오브젝트라고 가정한다.
이하, 도 15에 나타낸 플로차트를 참조하면서 이 처리에 대해서 설명한다.
스텝 ST901에서, CPU(703)는 TreeDataTable의 필드 FileName를 참조한다. 스텝 ST902에서, CPU(703)는 필드 FileName이 "DCIM"인지 아닌지를 판정한다. 스텝 ST902에서 필드 FileName이 "DCIM"가 아니라고 판정되었을 경우, CPU(703)는 필드 FileName이 최종 인덱스인지 아닌지를 판정한다(스텝 ST903).
스텝 ST903에서 필드 FileName가 최종 엔트리라고 판정되지 않은 경우, CPU(703)는 TreeDataTable의 다음의 인덱스를 참조하고(스텝 ST904), CPU(703)의 처리는 스텝 ST901로 돌아온다. 스텝 ST903에서 필드 FileName이 최종 엔트리라고 판정되었을 경우, CPU(703)는 처리를 종료시킨다. 스텝 ST901에서 필드 FileName이 "DCIM"이라고 판단되었을 경우, CPU(703)는 필드 Handle를 참조해 "DCIM"의 값을 취득한다(스텝 ST905).
다음에, 스텝 ST906에서, CPU(703)는 필드 ChildHandle을 참조하고, TreeDataTable의 "100GANON"의 인덱스를 참조한다. 다음에, 스텝 ST907에서, CPU(703)는 필드 Handle를 참조해, 폴더 "100GANON"의 오브젝트 핸들을 취득한다. 그 취득한 오브젝트 핸들의 값을 h라고 가정한다. 다음에, 스텝 ST908에서, CPU(703)은 필드 ChildNum를 참조한다. 필드 ChilNum의 값을 N이라고 가정한다(도 10에서는 값 N이 3이다).
다음에, CPU(703)는 스텝 ST909에서, 필드 ChildState을 참조한다. 다음에, 스텝 ST910에서, CPU(703)는 ChildState가 "TRUE"인지 아닌지를 판정한다. 스텝 ST910에서 ChildState가 "TRUE"라고 판정되었을 경우, CPU(703)는 스텝 907에서 취득한 폴더 "100GANON"의 오브젝트 핸들의 값 h와 스텝 ST908에서 취득한 자오브젝트의 수 N을 기초로, 폴더 "100CANON" 내의 오브젝트 핸들의 값으로서 N개의 값 h+1, h+2, ...,h+N을 취득할 수 있다(스텝 ST911).
다음에, CPU(703)의 처리는 스텝 ST918로 진행된다. 스텝 ST910에서 ChildState가 "FALSE"라고 판정되었을 경우, CPU(703)는 스텝 ST912에서, 필드 ChildHandle을 참조하고, TreeDataTable의 화상 오브젝트 "IMG_0001.JPG"의 엔트리를 참조한다. 스텝 ST913에서, CPU(703)는 필드 Handle를 참조해, 화상 오브젝트 "IMG_0001.JPG"의 오브젝트 핸들을 취득한다.
스텝 ST914에서, CPU(703)는 N이 1인지 아닌지를 판정한다. 스텝 ST914에서 N이 1이라고 판정되었을 경우, CPU(703)는 처리를 종료한다. 스텝 ST914에서 N이 1로 판정되었을 경우, CPU(703)는 필드 NextSiblingObjectHandle에 기술되어 있는 화상 오브젝트의 인덱스를 참조한다(스텝 ST915).
다음에, CPU(703)는 스텝 ST916에서 필드 Handle를 참조하고, 그 필드 Hnadle의 값을 취득한다. 스텝 ST917에서, CPU(703)는 스텝 ST915 및 스텝 ST916을 (N-1)회 수행할지 아닌지를 판정한다. 스텝 ST917에서, 스텝 ST915 및 스텝 ST916을 (N-1)회 수행했다고 판정되지 않은 경우, CPU(703)의 처리는 스텝 ST915로 돌아온다.
스텝 ST917에서, 스텝 ST915 및 스텝 ST916을 (N-1)회 수행했다고 판정되었을 경우, CPU(703)의 처리는 스텝 ST918로 진행된다. 스텝 ST918에서, CPU(703)는 자오브젝트에 화상 오브젝트를 갖는 폴더(도 10의 예에서는 폴더 "100GANON")의 NextSiblingObjectHandle(도 10의 예에서는 폴더 "101GANON")를 참조하고, NextSiblingObjectHandle의 인덱스를 참조한다. 스텝 ST919에서, CPU(703)는 NextSiblingObjectHandle가 NULL인지 아닌지를 판정한다.
스텝 ST919에서 NextSiblingObjectHandle가 NULL이라고 판단되었을 경우, CPU(703)가 모든 오브젝트 핸들을 취득했기 때문에, CPU(703)는 처리를 종료한다. 스텝 ST919에서, NextSiblingObjectHandle가 NULL이 아니라고 판단되었을 경우, CPU(703)는 스텝 ST907로부터 스텝 ST917까지의 처리를 실행한다(스텝 ST920). 즉, CPU(703)는 스텝 ST920에서, 도 10의 폴더 "101GANON" 내의 모든 오브젝트 핸들을 취득할 수가 있다. 다음에, CPU(703)의 처리는 스텝 ST108로 돌아온다.
이상의 처리에 의해, CPU(703)는 스토리지 내에 존재하는 모든 오브젝트의 핸들을 취득할 수가 있다.
그때, 1계층 아래의 계층에 화상 오브젝트를 갖는 폴더의 TreeDataTable의 필드 ChildState가 "TRUE"인 경우, 자오브젝트의 핸들을 따르고, 한층 더 N개의 동일한 계층의 화상 오브젝트의 핸들을 따를 필요가 없다. 따라서, 처리를 고속화할 수가 있다.
(TreeDataTable의 무효 영역 재이용 처리)
위에서 설명한 바와 같이, 본 실시 예에 있어서, TreeDataTable의 사이즈는 고정이며, 1개의 TreeDataTable에 오브젝트 정보를 기록할 수 있는 오브젝트의 수도 고정이다. 그 때문에, 최대수의 오브젝트에 대해 오브젝트 정보가 기록되어 있는 경우(최종 인덱스까지 사용되고 있는 경우)에는, 새로운 오브젝트에 대해 오브젝트 정보를 기록할 수가 없다.
그러나, 삭제된 오브젝트에 대한 오브젝트 정보와 같이, 무효 오브젝트 정보(필드 UsedFlag가 FALSE인 정보)가 있으면, 그 영역을 재이용하는 것이 가능하다.
이하, 이 재이용 처리에 대해 도 13의 플로차트를 참조해 설명한다.
여기에서, TreeDataTable는 최종 인덱스까지 오브젝트 정보가 기록되어 있는 상태에 있고, 그 상태에서 새로운 화상 오브젝트 "IMG_0010.JPG"의 정보를 TreeDataTable에 기록하는 것을 시도하는 것으로 가정한다.
스텝 ST701에서, CPU(703)가 기록되어 있지 않은 오브젝트 정보 인덱스를 TreeDataTable의 종단까지 검색한다. 다음에, 기록되어 있지 않은 오브젝트 정보 영역이 있는 경우, CPU(703)는 그 영역에 새로운 오브젝트의 오브젝트 정보를 기록한다(스텝 ST702). 이와 같이, 스텝 ST701~ST702의 처리는, 아직도 빈영역이 있는 상태에서의 신규 오브젝트 정보의 추가 처리와 같다.
여기에서는, 이미 빈 영역이 없기 때문에, CPU(703)의 처리는 스텝 ST703로 진행되고, CPU(703)는 TreeDataTable의 선두로부터 필드 UsedFlag가 FALSE인 오브젝트 정보를 탐색한다. 즉, UsedFlag가 TRUE이면, CPU(703)는 스텝 ST706에서 이 오브젝트 정보가 최종 인덱스인지 아닌지를 판정한다. 오브젝트 정보가 최종 인덱스가 아니라고 판정되었을 경우, CPU(703)는 ST707에서 다음의 인덱스에 액세스하고, CPU(703)의 처리는 스텝 ST703로 돌아온다.
스텝 ST706에서 오브젝트 정보가 최종 인덱스라고 판정되었을 경우, TreeDataTable의 모든 인덱스의 필드 Used가 TRUE이고, 새로운 오브젝트 정보를 추가할 수 없다. 이 때문에, CPU(703)는 미처리로서 처리를 종료한다. 한편, 스텝 ST703에서, UsedFlag가 FLASE인 경우, CPU(703)는 그 오브젝트 정보에 화상 오브젝트 "IMG_0010.JPG"의 오브젝트 정보를 오버라이트한다(스텝 ST704).
그리고, 스텝 ST705에서, CPU(703)는 그 오브젝트 정보의 필드 UsedFlag를 TRUE로 변경한다. 이와 같이, UsedFlag를 이용해서, 유한의 영역을 낭비하는 일없이 재이용할 수가 있다.
이상 설명한 것처럼, 본 실시 예에 의하면, 기록매체에 포함되는 개개의 오브젝트와 적어도 다른 1개의 오브젝트와의 상대 위치 관계를 나타내는 정보를 저장하는 테이블을 작성함으로써, 구체적으로는 논리적 계층 폴더 구성에 있어서의 적어도 친오브젝트를 특정할 수 있는 정보를 포함한 오브젝트의 정보를 저장한 테이블을 작성함으로써, 기록매체에 포함되는 오브젝트의 수, 구체적으로는 화상 파일의 수가 많아져도 고속으로 검색이 가능하다.
또한, 오브젝트 정보로서 선두의 자오브젝트를 특정할 수 있는 정보를 포함하는 것과 동시에, 논리적 계층 구조에 있어서 같은 계층에 속하고 공통의 친오브젝트를 갖는 복수의 자오브젝트에 대해서, 다른 1개의 자오브젝트를 특정하는 정보를 기록하는 것으로, 어떤 친오브젝트의 복수의 자오브젝트 중에서 특정의 자오브젝트를 용이하게 탐색할 수가 있다.
게다가, 친오브젝트에 대해서는, 자오브젝트의 수에 관한 정보를 오브젝트 정보에 포함시킴으로써, 자오브젝트를 카운트하는 종래의 방법보다, 자오브젝트의 수를 고속으로 파악하는 것이 가능하다.
또, 오브젝트 핸들과 테이블의 인덱스가 1대1로 대응하고 있기 때문에(같은 값을 갖는 방식으로 또는 소정의 관계로 서로 관련되어 있다), 본 실시 예는 PTP 커멘드로 오브젝트 핸들을 지정해 오브젝트를 검색할 때, 검색 시간이 짧아지는 이점이 있다. 특히, 테이블의 각 오브젝트 정보가 고정 사이즈를 갖는 영역에 기록되 는 경우, 오브젝트 핸들로부터 즉시 오브젝트 정보의 개시 위치를 취득할 수 있다. 이 때문에, 검색이 고속화된다.
또한, 화상 오브젝트의 파일 헤더에 포함되는 오브젝트 정보에 대해서는, 최초로 요구가 있던 시점에서 오브젝트 정보를 취득하고, 그 취득한 오브젝트 정보를 테이블에 등록하는 것으로, 테이블의 작성에 필요한 시간을 단축함과 동시에, 그 후 같은 정보가 요구되었을 경우에는 재차 파일에 액세스하는 일없이 오브젝트 정보를 얻을 수 있다.
또한, 오브젝트의 모든 자오브젝트의 핸들을 취득할 때, 모든 자오브젝트의 핸들의 값이 연속적인 번호라고 나타난 경우, 그 오브젝트의 핸들로부터 계산에 의해 그 값을 취득할 수가 있다. 그 때문에, 개개의 자오브젝트에 액세스해 자오브젝트의 핸들을 1개씩 취득하는 종래의 방법보다, 모든 자오브젝트의 핸들의 값을 고속으로 취득하는 것이 가능해진다.
<제3 실시 예>
(StrageInfoTable의 이용)
상술한 실시 예의 촬상장치에 있어서, 더 스토리지 정보를 기록하기 위한 테이블 StrageInfoTable를 한층 더 작성하는 것도 가능하다. 도 9는 본 실시 예의 디지털 카메라(700)가, TreeDataTable 작성 후에 카메라 내의 일시 기억장치(706)에 작성 가능한 StorageInfoTable의 예를 나타내는 도면이다.
StorageInfoTable는 디지털 카메라에 삽입되는 기록매체(711)와, PTP로 정의되는 일시 기억장치(706)에서 작성된 논리적인 기록매체의 스토리지 정보를 기록하 기 위한 테이블이다.
StorageInfoTable는 도 8의 TreeDataTable와는 다른 테이블이다. StorageInfoTable는 스토리지 ID 마다의 정보 ST와 전체에 대한 정보 MT 등의 2종류의 정보를 갖는다.
PTP의 규격에 따라, 논리적인 스토리지 정보를 생성할 필요가 있기 때문에, 1개의 기록매체에 대해서 2종류의 정보 ST가 작성된다. 여기서, 스토리지 ID마다의 정보 ST1 엔트리 당의 사이즈는 고정 사이즈이기 때문에, 도 8의 TreeDataTable의 필드 DriveNo를 지정하는 것으로, StorageInfo 테이블 상의 어느 스토리지 ID 정보의 엔트리인지를 지정할 수 있다.
필드 ValidFlag는 이 정보가 유효한지 아닌지를 나타내는 플래그이다. 필드 Num는 StorageInfoTable에 기록되어 있는 정보 ST의 수이다. 필드 TotalObjectNum은 StorageInfoTable에 기록되어 있는 모든 정보 ST에 대응하는 스토리지에 존재하는 오브젝트수(각 정보 ST의 ObjectNum를 합계한 것)이다. RollState는 도 8의 TreeDataTable가 최종 인덱스까지 기록되고, 도 8에 있어서 무효가 되는 필드 UsedFlag가 재이용될 가능성이 있는 상태를 나타낸다.
AccessCapability는 그 정보 ST에 대응하는 스토리지(기록매체 또는 그 논리적 스토리지 정보)에 대해서 판독 및 기록이 가능한지 아닌지를 나타낸다. DriveName는 볼륨명으로, 1문자이다. DriveName는 도 8의 TreeDataTable의 필드 FileName와 같은 것이 된다. StorageID는 스토리지 ID이다. RootHandle는 루트 디렉토리에의 핸들(도 10의 예에서는, 디렉토리 D에 대응하는 오브젝트 핸들)이다. ObjectNum는 이 정보 ST에 대응하는 스토리지에 포함되는 오브젝트의 수이다. Reserve는 예약 영역이다.
(StrageInfo Table 작성 처리)
상술한 것처럼, 본 실시 예의 디지털 카메라(700)는, TreeDataTable를 작성한 후, StorageInfoTable를 일시 기억장치(706)에 작성할 수가 있다. 이 경우, CPU(703)는 카메라(700)에 장착된 메모리 카드(711)를 참조해, 메모리 카드(711)의 스토리지 정보 ST1과 논리적인 스토리지 정보 ST2를 작성한다. 또한, CPU(703)는 전체 스토리지 정보로서 MT1를 생성해, 각 필드에 적절한 값을 저장한다.
덧붙여, 볼륨 정보에 대해서는, StorageInfoTable의 필드 DriveName와 TreeDataTable의 필드 FileName는 같은 문자가 되고, StorageInfoTable의 필드 RootHandle와 TreeDataTable의 필드 Handle는 같은 값이 된다.
도 10의 예에서는, 볼륨 "D"에 대한 정보가 이와 같이 작성된다.
(StorageInfoTable와 TreeDataTable의 관련)
이하에서는, StorageInfoTable와 TreeDataTable의 2개의 테이블을 사용하는 예에 대해 설명한다.
1. 파일 사이즈의 취득
기억매체에 액세스해 화상 오브젝트의 파일 사이즈를 취득하려고 하는 예에 대해 설명한다.
여기에서는, 도 10의 볼륨 "D2 내의 폴더 "100GANON" 내에 존재하는 화상 오브젝트 "IMG_0001.JPG"의 파일 사이즈를 취득하는 것으로 가정한다.
CPU(703)는 TreeDataTable로부터 화상 오브젝트 "IMG_0001.JPG" 엔트리에 액세스한다. 다음에, CPU(703)는 필드 DriveNo를 참조한다.
다음에, CPU(703)는 TreeDataTable로부터 취득한 화상 오브젝트 "IMG_0001.JPG"의 DriveNo로부터, StorageInfoTable의 볼륨 "D"의 엔트리에 액세스 한다.
다음에, CPU(703)는 볼륨 "D"의 StorageInfoTable 상의 필드 StorageID를 참조한다.
CPU(703)는 취득한 StorageID의 상위 2바이트를 참조한다. StorageID의 상위 2바이트가 0x0001이면, 실제의 스토리지 상에 데이터가 존재하므로, 실제의 스토리지 상에 존재하는 화상 오브젝트 "IMG_0001.JPG"의 헤더로부터 파일 사이즈를 취득한다.
StorageID의 상위 2바이트가 0x8000이면, 가상 스토리지 상에 데이터가 존재하므로, 실제의 스토리지와는 다른 메모리에 존재하는 화상 오브젝트 "IMG_0001.JPG"의 헤더로부터 파일 사이즈를 취득한다.
2. 액세스 속성에 의한 오브젝트의 삭제 금지
스토리지의 액세스 속성이 기록 금지되어 있을 때에, 오브젝트를 삭제하려고 하는 예에 대해 설명한다.
여기에서는, 도 10의 볼륨 "D"는 기록 금지 속성이고, 폴더 "100GANON" 내에 존재하는 화상 오브젝트 "IMG_0001.JPG"를 삭제하는 것으로 가정한다.
CPU(703)는 TreeDataTable로부터 화상 오브젝트 "IMG_0001.JPG" 엔트리에 액 세스한다.
다음에, CPU(703)는 필드 DriveNo를 참조한다.
다음에, CPU(703)는 TreeDataTable로부터 취득한 화상 오브젝트 "IMG_0001.JPG"의 DriveNo로부터, StorageInfoTable의 볼륨 "D"의 엔트리에 액세스 한다.
다음에, CPU(703)는 볼륨 "D"의 StorageInfoTable 상의 필드 "AccessCapacity"를 참조한다.
필드 "AccessCapacity"의 속성이 기록 금지 속성이기 때문에, 화상 오브젝트 "IMG_0001.JPG"를 삭제하는 처리는 중지된다.
본 실시 예에서는 볼륨 내의 화상 오브젝트의 삭제에 대해 설명했지만, 볼륨 내의 폴더의 삭제에 대해서도 동일하다. 또, 오브젝트의 추가도 동일하다.
본 발명에 따르면, 상기 구성에 의해, 화상장치 내의 기록매체에 기록된 오브젝트의 동작(판독, 삭제 및 정보 취득 등)에 필요한 시간을 단축할 수 있다.
<그 외의 실시 예>
상술한 실시 예에 있어서는, 화상 오브젝트의 오브젝트 정보(화상 정보)가 폴더 구성 상태로부터 오브젝트 정보 상세 기록 상태로 천이하는 타이밍을, 그 오브젝트 정보가 실제로 요구되는 시점으로서 설정되었다.
이와 같이 설정함으로써, 필요한 경우에만, 화상 오브젝트의 파일에 액세스해, 카메라의 처리 부하의 경감 및 TreeDataTable의 작성에 필요한 시간의 단축을 실현할 수 있다.
그러나, 카메라는, 아이돌(idol) 상태 등, 그것의 부하가 작은 상태에 있을 때, 순차적으로 화상 오브젝트 파일에 액세스해, 파일 헤더로부터 정보를 취득하고, 이 취득한 정보를 테이블에 기록해도 된다.
덧붙여, 본 발명은, 상기 설명한 실시 예의 기능을 실현하는 소프트웨어의 프로그램을, 기록매체로부터 직접 혹은 유선/무선 통신을 통해서 해당 프로그램을 실행 가능한 CPU 및 다른 구성을 구비한 촬상장치나 정보처리장치(정리해 컴퓨터라고 한다)에 공급하고, 그들 장치가 공급된 프로그램을 실행함으로써 동등의 기능을 달성하는 경우도 포함한다.
따라서, 본 발명의 기능 처리를 컴퓨터로 실현되기 위해서, 해당 컴퓨터에 공급되어, 인스톨되는 프로그램 코드 자체도 본 발명을 실현한다. 즉, 본 발명의 기능 처리를 실현하기 위한 컴퓨터 프로그램 자체도 본 발명에 포함된다.
그 경우, 소프트웨어가 프로그램의 기능을 가지고 있으면, 오브젝트 코드, 인터프리터에 의해 실행되는 프로그램, 및 OS에 공급하는 스크립트 데이터 등, 프로그램의 형태는 신경 쓰지 않아도 된다.
프로그램을 공급하기 위한 기록매체로서는, 예를 들면, 플렉시블 디스크, 하드 디스크, 자기 테이프 등의 자기 기록매체, MO, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-R, 및 DVD-RW 등의 광/광자기 기억매체, 불휘발성의 반도체 메모리 등이 있다.
유선/무선 통신을 이용한 프로그램의 공급 방법으로서는, 컴퓨터 네트워크상의 서버에, 본 발명을 형성하는 컴퓨터 프로그램 그 자체 혹은 자동 인스톨 기능을 포함한 압축된 파일 등, 클라이언트 컴퓨터상에서 본 발명을 형성하는 컴퓨터 프로그램으로서 기능을 할 수 있는 데이터 파일(프로그램 데이터 파일)을 기억하고, 접속되어 있던 클라이언트 컴퓨터에 프로그램 데이터 파일을 다운로드하는 방법 등을 들 수 있다.
이 경우, 프로그램 데이터 파일을 복수의 세그먼트 파일로 분할하고, 그 세그먼트 파일을 다른 서버에 배치하는 것도 가능하다.
즉, 본 발명의 기능 처리를 컴퓨터로 실현하기 위한 프로그램 데이터 파일을 복수의 유저에 대해서 다운로드시키는 서버 장치도 본 발명에 포함한다.
또, 본 발명의 프로그램을 암호화하고, 그 암호화된 프로그램을 CD-ROM 등의 기억매체에 저장하며, 그 기억매체를 유저에게 배포해, 소정의 조건을 만족하는 유저에 대해서 암호화를 푸는 열쇠 정보를, 예를 들면 인터넷을 통해서 홈 페이지로부터 다운로드시킴으로써 유저에게 열쇠 정보를 공급하고, 그 열쇠 정보를 사용해서 암호화된 프로그램을 실행해서 유저가 그 프로그램을 컴퓨터에 인스톨시킴으로써, 본 발명의 기능 처리를 실현하는 것도 가능하다.
또, 컴퓨터가, 판독한 프로그램을 실행함으로써, 상기 설명한 실시 예의 기능을 실현하는 것 외에, 그 프로그램의 지시에 근거해, 컴퓨터상에서 가동하고 있는 OS 등에 의해 실행되는 실제의 처리의 일부 또는 전부에 의해, 상기 설명한 실시 예의 기능이 실현될 수 있다.
게다가, 기록매체로부터 판독한 프로그램이, 컴퓨터에 삽입된 기능 확장 보드나 컴퓨터에 접속된 기능 확장 유닛에 설치된 메모리에 기록된 후, 그 프로그램 의 지시에 근거해, 그 기능확장 보드나 기능 확장 유닛에 설치된 CPU 등이 실제의 처리의 일부 또는 전부를 실행하고, 그 처리에 의해도 전술한 실시 예의 기능을 실현할 수 있다.
본 발명은, 상기 실시 예에 한정되는 것이 아니고, 본 발명의 정신 및 범위 내에서 다양한 변형 및 변경이 가능하다. 따라서, 본 발명의 범위를 공공연히 알리기 위해, 이하의 청구항들이 작성되었다.
본 출원은 전체 내용이 본 명세서에 참고로 통합되어 있는 2004년 9월 16일자로 출원된 일본 특허출원번호 제2004-270084호와 2004년 9월 17일자로 출원된 일본국 특허출원번호 제2004-272525호로부터 우선권을 주장한다.

Claims (46)

  1. 정보처리장치와 통신해서 기억매체에 기억된 파일 정보를 전송하는 파일 송신 장치로서,
    소정의 통신 프로토콜로 통신을 수행하기 위해서, 촬상장치와 상기 정보처리장치를 접속시키는 인터페이스 수단과,
    상기 인터페이스 수단이 물리층에서 상기 정보처리장치와 통신을 확립하기 전에, 기억매체에 기억된 파일의 파일 엔트리의 정보를 캐쉬 메모리에 캐쉬하는 캐쉬수단과,
    상기 인터페이스 수단이 상기 정보처리장치와의 접속을 적어도 물리층에서 확립하면, 상기 소정의 통신 프로토콜로 파일을 전송하기 위해 요구되는 정보를, 상기 캐쉬수단에 의해 캐쉬된 파일 엔트리에 근거해서 생성하는 전송정보 생성수단과,
    상기 정보처리장치로부터의 요구에 응답해서, 상기 전송정보 생성수단에 의해 생성된 정보를 상기 정보처리장치에 송신하도록 상기 인터페이스 수단을 제어하는 송신제어수단을 구비한 것을 특징으로 하는 파일 송신 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 전송정보 생성수단에 의해 생성된 정보는 복수의 파일과 관련된 정보를 포함하고,
    상기 송신제어수단은, 상기 전송정보 생성수단에 의해 생성된 복수의 파일과 연관된 정보를 일괄해 상기 정보처리장치에 전송하도록 제어하는 것을 특징으로 하는 파일 송신 장치.
  4. 제 3 항에 있어서,
    상기 송신제어수단은, 상기 전송정보 생성수단에 의한 정보의 생성이 완료되지 않으면, 상기 전송정보 생성수단에 의한 정보의 생성의 완료 후에 송신하도록 제어하는 것을 특징으로 하는 파일 송신 장치.
  5. 정보처리장치와 통신해서 기억매체에 기억된 파일 정보를 전송하는 파일 송신 장치의 제어방법으로서,
    소정의 통신 프로토콜로 통신을 수행하기 위해서, 촬상장치와 상기 정보처리장치를 접속시키는 공정과,
    상기 접속 공정이 상기 정보처리장치와의 접속을 물리층에서 확립하기 전에, 기억매체에 기억된 모든 파일의 파일 엔트리의 정보를 캐쉬 메모리에 캐쉬하는 캐쉬 공정과,
    상기 접속 공정이 상기 정보처리장치와의 접속을 적어도 물리층에서 확립하면, 상기 소정의 통신 프로토콜로 파일을 전송하기 위해 요구되는 정보를, 상기 캐쉬 공정에서 캐쉬된 파일 엔트리에 근거해서 생성하는 전송정보 생성공정과,
    상기 정보처리장치로부터의 요구에 응답해서, 상기 전송정보 생성공정에서 생성된 정보를 상기 정보처리장치에 송신하도록 제어하는 송신제어공정을 포함한 것을 특징으로 하는 파일 송신 장치의 제어방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 정보처리장치와 파일 송신 장치 간의 통신을 수행해서, 상기 파일 송신 장치의 기억매체에 기억되어 있는 파일 정보를 상기 정보처리장치에 전송하는 통신 시스템으로서,
    상기 파일 송신 장치는,
    소정의 통신 프로토콜로 통신을 수행하기 위해서, 촬상장치와 상기 정보처리장치를 접속시키는 인터페이스 수단과,
    상기 인터페이스 수단이 상기 정보처리장치와의 접속을 물리층에서 확립하기 전에, 기억매체에 기억된 모든 파일의 파일 엔트리를 캐쉬 메모리에 캐쉬하기 위한 캐쉬 수단과,
    상기 인터페이스 수단이 상기 정보처리장치와의 접속을 적어도 물리층에서 확립하면, 상기 소정의 통신 프로토콜로 파일을 전송하기 위해 요구되는 정보를, 상기 캐쉬 수단에 의해 캐쉬된 파일 엔트리에 근거해서 생성하는 전송정보 생성수단과,
    상기 정보처리장치로부터의 요구에 응답해서, 상기 전송정보 생성수단에 의해 생성된 정보를 상기 정보처리장치에 송신하도록 상기 인터페이스 수단을 제어하는 송신제어수단을 구비하고,
    상기 정보처리장치는,
    상기 인터페이스 수단에 의해 상기 정보처리장치가 상기 파일 송신 장치에 접속되면, 상기 파일 송신 장치에 상기 기억매체에 기억되어 있는 파일 정보의 정보를 요구하는 데이터 요구수단을 구비한 것을 특징으로 하는 통신 시스템.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 청구항 5에 기재된 제어방법을 실행하는 프로그램을 기억한 것을 특징으로 하는 컴퓨터 판독가능한 기억매체.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 제 1 항에 있어서,
    상기 기억매체에 기억된 파일을 재생하기 위한 재생 모드에서, 상기 파일 송신 장치를 활성화 하기 위한 활성 수단을 더 구비하고,
    상기 캐쉬수단은 재생 모드에서 활성화되는 상기 파일 송신 장치에 따라, 파일 엔트리를 캐쉬 메모리에 캐쉬하는 것을 특징으로 하는 파일 송신 장치.
  43. 제 1 항에 있어서,
    소정의 프로토콜은, 각각의 파일에 할당된 고유(unique) 번호를 이용해서, 통신되는 파일을 특정할 수 있는 통신 프로토콜이고,
    상기 전송정보 생성수단은, 상기 캐쉬 메모리에 캐쉬하는 상기 파일 엔트리의 정보와 각각의 파일에 할당된 번호를 포함하는 정보를 상기 소정의 통신 프로토콜에 의해 파일로 전송하기 위한 정보로서 생성하는 것을 특징으로 하는 파일 송신 장치.
  44. 제 1 항에 있어서,
    각각의 파일에 할당된 번호에 근거하는 화상 전송 지시를 상기 정보처리장치로부터 수취하기 위한 수취수단을 더 구비하는 것을 특징으로 하는 파일 송신 장치.
  45. 제 43 항에 있어서,
    각각의 파일에 할당된 번호가 파일명과 다른 것을 특징으로 하는 파일 송신 장치.
  46. 제 1 항에 있어서,
    상기 캐쉬수단은, 상기 인터페이스 수단이 상기 정보처리장치와의 접속을 물리층에서 확립하기 전에, 상기 파일 송신 장치가 재생 모드에 있으면, 상기 파일 엔트리의 정보를 상기 캐쉬 메모리에 캐쉬하는 것을 특징으로 하는 파일 송신 장치.
KR1020077008120A 2004-09-16 2005-09-15 파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템 KR100886692B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00270084 2004-09-16
JP2004270084A JP4371966B2 (ja) 2004-09-16 2004-09-16 撮像装置及びその制御方法及びそのプログラムと通信システム
JP2004272525A JP2006087050A (ja) 2004-09-17 2004-09-17 撮像装置及びその制御方法
JPJP-P-2004-00272525 2004-09-17
PCT/JP2005/017427 WO2006030962A1 (en) 2004-09-16 2005-09-15 Communication between image-related apparatus and information apparatus

Publications (2)

Publication Number Publication Date
KR20070057922A KR20070057922A (ko) 2007-06-07
KR100886692B1 true KR100886692B1 (ko) 2009-03-04

Family

ID=36060200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008120A KR100886692B1 (ko) 2004-09-16 2005-09-15 파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템

Country Status (5)

Country Link
US (1) US8280975B2 (ko)
EP (1) EP1784730A4 (ko)
KR (1) KR100886692B1 (ko)
CN (1) CN101023413A (ko)
WO (1) WO2006030962A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150929A (ja) * 2001-11-08 2003-05-23 Canon Inc 撮像装置、撮像方法、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
JP4148957B2 (ja) * 2005-05-11 2008-09-10 三洋電機株式会社 コンテンツ記録装置
US7730043B1 (en) * 2006-06-29 2010-06-01 Adobe Systems Incorporated Incremental batch-mode editing of digital media objects
JP5100182B2 (ja) * 2007-03-30 2012-12-19 キヤノン株式会社 データ転送装置及びデータ受信装置並びにデータ転送システム
JP2008289102A (ja) * 2007-05-21 2008-11-27 Sony Corp 受信装置、記録装置、コンテンツ受信方法及びコンテンツ記録方法
US8392591B2 (en) 2007-12-28 2013-03-05 Cellspinsoft Inc. Automatic multimedia upload for publishing data and multimedia content
JP2009212743A (ja) * 2008-03-04 2009-09-17 Sony Corp 電子機器、送信方法及びプログラム
US8553778B2 (en) 2009-03-19 2013-10-08 International Business Machines Corporation Coding scheme for identifying spatial locations of events within video image data
US8537219B2 (en) 2009-03-19 2013-09-17 International Business Machines Corporation Identifying spatial locations of events within video image data
JP5832260B2 (ja) 2011-12-02 2015-12-16 キヤノン株式会社 記録媒体及びそれを用いる撮像装置
JP6132617B2 (ja) * 2013-03-26 2017-05-24 キヤノン株式会社 受信した画像データをフォルダに格納する画像処理システム、画像処理方法、及びプログラム
US10235078B2 (en) * 2014-10-31 2019-03-19 Hewlett Packard Enterprise Development Lp Meta-data block within a non-volatile memory device
JP6570360B2 (ja) 2015-07-28 2019-09-04 キヤノン株式会社 情報通知システム、情報端末、通信装置、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002369106A (ja) * 2001-04-06 2002-12-20 Sony Corp ディジタルカメラおよびデータ転送方法
KR20030009514A (ko) * 2001-04-06 2003-01-29 소니 가부시끼 가이샤 디지털 카메라 및 데이터 전송 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2153445C (en) * 1994-09-08 2002-05-21 Ashok Raj Saxena Video optimized media streamer user interface
JPH0998367A (ja) * 1995-10-03 1997-04-08 Canon Inc 信号処理装置
US6192191B1 (en) * 1995-10-03 2001-02-20 Canon Kabushiki Kaisha Data storage based on serial numbers
JPH09114724A (ja) 1995-10-16 1997-05-02 Hitachi Ltd リモートファイル操作方法
JPH09305473A (ja) 1996-05-16 1997-11-28 Fuji Xerox Co Ltd 検索システムにおけるキャッシング方式
JPH11249949A (ja) * 1998-03-04 1999-09-17 Sharp Corp ファイル転送方法およびファイル転送装置ならびにファイル転送プログラムを記録したコンピュータで読取可能な記録媒体
US6784925B1 (en) * 1998-03-24 2004-08-31 Canon Kabushiki Kaisha System to manage digital camera images
JP2001128111A (ja) * 1999-10-27 2001-05-11 Sony Corp 記録再生装置及び記録再生方法、制御装置及び制御方法、記録再生制御システム及び記録再生制御方法
US6760065B1 (en) * 2000-03-24 2004-07-06 Eastman Kodak Company Imaging table of contents
US7779097B2 (en) * 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
JP3705117B2 (ja) * 2000-11-17 2005-10-12 カシオ計算機株式会社 デジタルカメラ、記録媒体及び画像データ管理方法
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
WO2003012578A2 (en) * 2001-08-01 2003-02-13 Actona Technologies Ltd. Virtual file-sharing network
US7032003B1 (en) * 2001-08-13 2006-04-18 Union Gold Holdings, Ltd. Hybrid replication scheme with data and actions for wireless devices
EP1440402A1 (en) * 2001-10-22 2004-07-28 Apple Computer, Inc. Intelligent synchronization for a media player
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
JP3619235B2 (ja) * 2002-07-05 2005-02-09 キヤノン株式会社 記録システム及びその制御方法、記録装置及び画像供給デバイス
JP3809403B2 (ja) * 2002-07-16 2006-08-16 キヤノン株式会社 撮像装置、外部処理装置、撮像装置のための制御プログラム、外部処理装置のための制御プログラム
US7006318B2 (en) * 2002-08-29 2006-02-28 Freescale Semiconductor, Inc. Removable media storage system with memory for storing operational data
JP2004112078A (ja) * 2002-09-13 2004-04-08 Seiko Epson Corp 画像入出力システム
JP4532815B2 (ja) * 2002-09-20 2010-08-25 キヤノン株式会社 デジタル情報入力システム、情報生成装置、情報管理方法、プログラム、及びコンピュータ読み取り可能な記憶媒体
US7730155B1 (en) * 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US7165224B2 (en) * 2002-10-03 2007-01-16 Nokia Corporation Image browsing and downloading in mobile networks
US7792970B2 (en) * 2005-06-17 2010-09-07 Fotonation Vision Limited Method for establishing a paired connection between media devices
US7991890B2 (en) * 2004-09-30 2011-08-02 Microsoft Corporation Game console communication with a device
JP4262186B2 (ja) * 2004-10-21 2009-05-13 キヤノン株式会社 画像供給装置及び該装置の制御方法及び印刷システム
US7706637B2 (en) * 2004-10-25 2010-04-27 Apple Inc. Host configured for interoperation with coupled portable media player device
US7467195B2 (en) * 2005-01-11 2008-12-16 Ricoh Company, Ltd. Method and system for extracting status information from networked devices using the SNMP protocol
JP4953603B2 (ja) * 2005-09-09 2012-06-13 キヤノン株式会社 撮像装置及びその制御方法
US7702821B2 (en) * 2005-09-15 2010-04-20 Eye-Fi, Inc. Content-aware digital media storage device and methods of using the same
US7929551B2 (en) * 2006-06-01 2011-04-19 Rovi Solutions Corporation Methods and apparatus for transferring media across a network using a network interface device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002369106A (ja) * 2001-04-06 2002-12-20 Sony Corp ディジタルカメラおよびデータ転送方法
KR20030009514A (ko) * 2001-04-06 2003-01-29 소니 가부시끼 가이샤 디지털 카메라 및 데이터 전송 방법

Also Published As

Publication number Publication date
KR20070057922A (ko) 2007-06-07
CN101023413A (zh) 2007-08-22
EP1784730A1 (en) 2007-05-16
WO2006030962A1 (en) 2006-03-23
US8280975B2 (en) 2012-10-02
EP1784730A4 (en) 2009-07-15
US20070260809A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
KR100886692B1 (ko) 파일 송신 장치와, 파일 송신 장치의 제어 방법 및, 통신 시스템
EP0837405B1 (en) File management system of image data
JP4451480B2 (ja) 電子カメラおよび記憶媒体
US20040263644A1 (en) Electronic apparatus, directory generating method, directory reading method and computer program
US7375742B2 (en) Digital information input apparatus
US20110025858A1 (en) Method, apparatus, and system for adding functionality to a digital camera
US20110019007A1 (en) Method, apparatus and method for adding functionality to a digital camera
US20050195430A1 (en) Image registration apparatus, image retrieval apparatus, image management method, and storage medium
US7755661B2 (en) Image data transfer control in digital imaging system
JP4886551B2 (ja) 画像処理システム、情報処理装置及びその制御方法、記憶媒体、プログラム
JP4764808B2 (ja) 画像ファイル管理装置及び画像ファイル管理方法
KR20050114410A (ko) 미디어 파일 이동 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 저장된 저장매체
JP2005117487A (ja) 画像保存装置、撮像装置、画像撮影保存システム、画像保存方法、撮影データ転送方法、画像撮影保存方法、及びプログラム
US20070009228A1 (en) Information processing device and method, program recording medium, program, and imaging device
JP2005244614A (ja) 電子カメラ装置、及び記録媒体
JP4054629B2 (ja) 画像変換サーバ、画像データ処理方法、記憶媒体、プログラム
JP2006087050A (ja) 撮像装置及びその制御方法
JP2002354309A (ja) デジタルカメラ連携システムおよび画像データ処理プログラムを記録した記録媒体
JP4865589B2 (ja) 撮像装置及びその制御方法、アダプタ装置及びその制御方法、並びにプログラム
CN1627795A (zh) 图像记录装置
JP5024173B2 (ja) サーバー装置、モバイルストレージ装置、およびアルバム情報の更新方法
JP2009134457A (ja) プログラム及び画像ファイル管理装置
JP4765518B2 (ja) 画像管理装置及びプログラム
JP2006109176A (ja) 画像記録装置及びその制御方法
JP2008104147A (ja) 撮像装置、撮像システム、画像データ処理方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160121

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee