US007589852B2

(12) United States Patent (10) Patent No.: US 7,589,852 B2 Niida (45) Date of Patent: Sep. 15, 2009

(54) IMAGE CAPTURE APPARATUS AND 7,292,770 B2 11/2007 Nakano et al. CONTROL METHOD FOREIGN PATENT DOCUMENTS (75) Inventor: Mitsuo Niida, Tokyo (JP) JP 05-260425 A 10, 1993 JP T-154731 A 6, 1995 (73) Assignee: Canon Kabushiki Kaisha, Tokyo (JP) JP 7-154740 A 6, 1995 JP 9-200674. A 7/1997 (*) Notice: Subject to any disclaimer, the term of this JP 2001-101790 4/2001 patent is extended or adjusted under 35 JP 2001-11 1939 4/2001 U.S.C. 154(b) by 789 days. JP 2002-218366 A 8, 2002 JP 2003-061013 A 2, 2003 (21) Appl. No.: 11/000,485 JP 2003-25O106 9, 2003 (22) Filed: Nov. 29, 2004 k cited. by examiner O O Primary Examiner Thomas D Lee (65) Prior Publication Data Assistant Examiner Stephen Brinich US 2005/O141039 A1 Jun. 30, 2005 (74) Attorney, Agent, or Firm Canon USA Inc IP Div (30) Foreign Application Priority Data (57) ABSTRACT Dec. 3, 2003 (JP) ...... 2003-404881 An image capture apparatus (for example, a camcorder) includes a first recording unit, a second recording unit, and a (51) Int. Cl. controlling unit. The first recording unit records a moving H04N I/40 (2006.01) image on a first recording medium connected to the image (52) U.S. Cl...... 358/1.15: 358/1.16 capture apparatus. The second recording unit records, O a (58) Field of Classification Search ...... 358/1.15-1.18, second recording medium connected to the image capture 358/496; 348/14.1-14. 11, 152-155,208.1 apparatus, related information including information being 348/208.4 208.6, 208.13-208.14, 352 used to generate a search command for searching the first See application file for complete search history. recording medium to find the moving image. The controlling (56) References Cited unit (a) controls the image capture apparatus to transmit the related information reproduced from the second recording U.S. PATENT DOCUMENTS medium to a controller connected to the image capture appa ratus, and (b) controls the image capture apparatus based on 6,198.833 B1* 32001 Rangan et al...... 382,103 the search command received from the controller to search 6,415,097 B1 7/2002 Takei et al. the first recording medium to find the moving image 7,007,888 B2 * 3/2006 Brunson et al...... 244.3.18 9. g 1mage. 7,027,717 B1 4/2006 Tsujii et al. 7,193,645 B1* 3/2007 Aagaard et al...... 348,211.3 10 Claims, 24 Drawing Sheets

2 3. 6 -- S. AUDO AUDO MICROPHONEBoossoR COMPRESSOR

RECORDING 4 5 PROCESSING MAGNETIC RECORDING HEAD IMAGE COMPRESSING UNIT FORMATPROCESSOR 14 AN GENERATOR SUBCODE GENERATOR TIMECODE TAPE DRIVE GENERATOR MECHANISM

18

s INDEX GENERATING UNIT TAPE DRIVE CONTROLLER

CONTROLLER ATN

DETECTOR. R.27 24 23 TIMECODE D-If - a. DETECTOR DATA AUDIO OUTPUT REPRODUCED AUDIO 28 SEPARATOR

DEWICE PROCESSOR 19 26 25 2 IMAGE OUTPUT REPRODUCED DEWICE IMAGE PROCESSOR

U.S. Patent Sep. 15, 2009 Sheet 3 of 24 US 7,589,852 B2

FIG. 3

MSB PCO (ITEM) PC1 PC2 (DATA) PC3 PC4 U.S. Patent Sep. 15, 2009 Sheet 4 of 24 US 7,589,852 B2

U.S. Patent Sep. 15, 2009 Sheet 5 of 24 US 7,589,852 B2

U.S. Patent Sep. 15, 2009 Sheet 6 of 24 US 7,589,852 B2 FIG. 6

START S401

ISBUS RESET DETECTED 2 no

YES INITIALIZATION OPERATION S403

S410

IS IDENTIFICATION INFORMATION DETECTED 2 YES TRANSMIT IDENTIFICATION INFORMATION S411

REQUEST FOR RECEIVING INDEX S404

TRANSMISSION OF INDEX for 2 so COMPLETED S4O6 YES REQUEST FOR RECEIVING POSITIONAL INFORMATION ON TAPE CORRESPONDING TO INDEX

TRANSMISSION OF IS a POSITIONAL INFORMATION ON TAPE COMPLETED 2

S408

IS OPERATION COMPLETED FOR ALL THE INDEXES 2 YES END S409 U.S. Patent Sep. 15, 2009 Sheet 7 of 24 US 7,589,852 B2

FIG. 7

460

CONTROLLER NODE CONNECTION CONNECTION MANAGEMENT MANAGEMENT COMMAND COMMAND

PRODUCER DATA FLOW CONSUMER NODE NODE

4602 4603

U.S. Patent Sep. 15, 2009 Sheet 10 of 24 US 7,589,852 B2 }{{HÍNÍTSNOO ?IJVOOTTIV HOWELLV

HOVLJIVTORJEVOOTTV U.S. Patent Sep. 15, 2009 Sheet 11 of 24 US 7,589,852 B2 |- () |---- | U.S. Patent Sep. 15, 2009 Sheet 12 of 24 US 7,589,852 B2 HOWALCHOI GISVIHTOEHH HOHWIOSNOO?HCHTITIO?HALNOO?HCHOTICIO?HAI GISVGITIGHHTHOVALGICI U.S. Patent Sep. 15, 2009 Sheet 13 of 24 US 7,589,852 B2

FIG. 14

1230 TIFF Header 231 Oth IFD Pointer

1232 Entry Count

Image Width 1233 Oth IFD for Image Length Primary Data Exif IFD Pointer 1234 1st IFD Pointer 1235 Value of Oth IFD

1236 Entry Count

1237 Exif Private Tag Maker Note 1238 1239 Value of Exif Data 1240 Maker Note Data

1241

IFD f Image Width 1242 ThumbnailSTP, Data Image Length

1243 Terminal 1244 Value of 1st IFD 1245 Thumbnail Data

1246 Plimary Image Data

U.S. Patent Sep. 15, 2009 Sheet 15 of 24 US 7,589,852 B2 FIG 16

APP1 Marker

APP1 Length

Exif Identifier and Pnd

TIFF Header Entry Count

Oth IFD for

Primary Data

Exit IFD Pointer 1st IFD Pointer

Value of Oth IFD

Exif Private Tag

Thumbnail1st IFD for Data

Thumbnail Data U.S. Patent Sep. 15, 2009 Sheet 16 of 24 US 7,589,852 B2 FIG. 17

START S801

DETECT BUS RESET S802

INITIALIZATION OPERATION --S803

DETECT CASSETTE ID (CID) S804 S805 HAS NO CAMCORDER BEEN CONNECTED 2

HISTORY EXIST?

READ OUT HISTORY INFORMATION OF CID (HID) ACQUIRE LIST (L) OF

INDEX IMAGE REQUEST FOR TRANSFERRING CALCULATE ALL THE INDEX DIFFERENCES IMAGES BETWEEN LIAND HID

REQUEST FOR TRANSFERRING INDEX IMAGE BASED ONS

CREATE CID HISTORY S814

RECORD CID HISTORY S815

END S816 U.S. Patent Sep. 15, 2009 Sheet 17 of 24 US 7,589,852 B2

FIG. 18

1503 1504 1512

SSSSSXSSSSSSSXXXXXXXXXX-XXXXXPXXXXX as S&SYaYax/YaYa X^NaNaNasaya NaNaN YaYaaaSaa/NaNa/YYYaK^Xaxaca.2%N8XXX:

1505

1501

508

502

151.

1516 1514 1513 1515 1517

U.S. Patent Sep. 15, 2009 Sheet 19 of 24 US 7,589,852 B2

cy O N

U.S. Patent US 7,589,852 B2

VIZ'0IJI

U.S. Patent Sep. 15, 2009 Sheet 21 of 24 US 7,589,852 B2

FIG. 22

VALUE MEANING asynchronous plug?Ol

asynchronous plug30) any available asynchronous plug

FIG. 23

VALUE MEANING Consumer port producer port1l

producer port 14) any available producer port U.S. Patent Sep. 15, 2009 Sheet 22 of 24 US 7,589,852 B2

FIG. 24

MEANING

Writing in segment buffer of this consumer port in any order is allowed

Only sequential writing in segment buffer of this consumer port from head is allowed

This consumer port supports multicast connection

This consumer port does not support multicast connection

This port supports only fixed-size segment buffer

This port supports change 011.6-0E16 012 FRAME in size of segment buffer for every frame

This port supports change 102 SEGMENT in size of segment buffer

for every segment

ll2 reserved U.S. Patent Sep. 15, 2009 Sheet 23 of 24 US 7,589,852 B2

FIG. 25

VALUE MEANING

Transmission of segment data is MORE 1. completed (subsequent segment data exists) SUSPENDED Change of consumer to suspended mode is confirmed

Transmission of segment data is completed (transmission of last segment data in frame is completed)

Transmission of frame data is suspended (transmitted data is effective) Transmission of frame data is JUNK suspended (transmitted data is ineffective)

LOST TOSS notification from consumer is confirmed

FIG. 26

VALUE MEANING

1.

SUSPEND 2 Notification of change to suspended mode

a- 3 reserved ResuME | 4 |Nottish of turn from SEND 5 Request for transmitting segment data reserved Notification of discard of subsequent TOSS 7 segment data (frame data is not used) U.S. Patent Sep. 15, 2009 Sheet 24 of 24 US 7,589,852 B2

FIG. 27

Tag Number

tape

UUID cassetteUUID of 2011 LONG 1 o Recording

Recording

date of 202016 BYTE Date tape

Recording Recording time of 202116 BYTE me tape US 7,589,852 B2 1. 2 IMAGE CAPTURE APPARATUS AND medium to a controller connected to the image capture appa CONTROL METHOD ratus and control the image capture apparatus to search for the moving image in accordance with a command transmitted BACKGROUND OF THE INVENTION from the controller. In another aspect of the present invention, a control method 1. Field of the Invention controls an image capture apparatus that includes a first The present invention relates to control of an image capture recording unit adapted to record a moving image on a first apparatus, for example, a camcorder. recording medium, and a second recording unit adapted to 2. Description of the Related Art record, on a second recording medium, related information data, which is captured by a moving-image capture 10 including information required for searching for the moving apparatus including a camcorder and is recorded on a record image. The control method includes steps of transmitting the ing medium including a video tape, is usually a collection of related information reproduced from the second recording so-called clips, that is, a series of continuously cap medium to a controller connected to the image capture appa tured. Each clip is often relatively short in the case of the ratus; and searching for the moving image in accordance with camcorder. Accordingly, it is necessary to searching for a 15 a command transmitted from the controller. desired clip in order to confirm the content or to edit the Other features and advantages of the present invention will videos after the videos are captured. be apparent from the following description taken in conjunc Methods of searching for clips are disclosed in Japanese tion with the accompanying drawings, in which like reference Patent Laid-Open No. 7-154731 (Patent Document 1), Japa characters designate the same or similar parts throughout the nese Patent Laid-Open No. 7-154740 (Patent Document 2), figures thereof. and Japanese Patent Laid-Open No. 9-200674 (Patent Docu ment 3). For example, in the methods disclosed in Patent BRIEF DESCRIPTION OF THE DRAWINGS Documents 1 and 2, an index is created for the captured image data or audio data that is recorded on a recording medium, and The accompanying drawings, which are incorporated in the created index is recorded on a recording medium different 25 and constitute a part of the specification, illustrate embodi from the one having the image recorded thereonoris recorded ments of the invention and, together with the description, in an area next to the image area on the recording medium on serve to explain the principles of the invention. which the image is recorded. FIG. 1 is a block diagram showing an example of the In the method disclosed in Patent Document 3, information structure of a camcorder according to an embodiment of the including recording times, recording contents, and titles is 30 present invention. recorded in a semiconductor memory device, such as a flash FIG. 2 is a block diagram showing the structure of an index memory, which is incorporated in a cassette housing a video generating unit in the camcorder in FIG. 1. tape. In addition, in the method disclosed in Patent Document FIG. 3 illustrates a basic structure of a pack. 3, the index images for every clip are collectively recorded on FIGS. 4A to 4D illustrate a of cassette a video tape, and information indicating the recording area, 35 identification information. on the video tape, of each clip and the recording area of the FIG. 5 illustrates an example of the structure of a system corresponding index image is recorded in the semiconductor including the camcorder. memory device in the cassette housing the video tape. FIG. 6 is a flowchart showing a series of initialization Editing Software run on a personal computer or the like that operations of the camcorder. is connected to a camcorder through a digital interface has 40 FIG.7 shows a basic structure of asynchronous connection. increasingly been in widespread use. Also in this case, it is FIG. 8 shows the structure of an asynchronous plug. necessary to search for a desired clip, as described above. FIG. 9 illustrates a command/transaction set (CTS) com However, in the above example, there is a problem in that mand, which is required for controlling the asynchronous a desired clip cannot be searched for through the digital connection, and a format of a response to the CTS command. interface by remote control. Furthermore, even when the 45 FIG. 10 illustrates a process of setting one connection used camcorder is connected to another device through the digital in the asynchronous connection. interface, a desired clip must be searched for on the cam FIG. 11 shows the format of an iAPR of a CONSUMER in corder or an operator must manually repeat a tape operation, the asynchronous connection. such as fast-forward or rewind, by the remote control to FIG. 12 shows the format of an OAPR of a PRODUCER in search for a desired clip. 50 the asynchronous connection. SUMMARY OF THE INVENTION FIG. 13 illustrates a process of breaking a connection used in the asynchronous connection. An object of the present invention is to overcome the draw FIG.14 shows the structure of an uncompressed data file in backs described above. 55 an Exif format. Another object of the present invention is to provide an FIG. 15 shows the structure of a compressed data file in the image capture apparatus and a control method capable of Exif format. searching for a desired clip (moving image) with a simple FIG.16 shows a basic structure of a JPEG compressed data operation. file in an APP1. In an aspect of the present invention, an image capture 60 FIG. 17 is a flowchart showing a process of identifying a apparatus includes a first recording unit adapted to record a Video cassette in an application on a PC. moving image on a first recording medium; a second record FIG. 18 is a diagram for describing an application on the ing unit adapted to record, on a second recording medium, PC. related information including information required for FIG. 19 is a flowchart showing an operation of the appli searching for the moving image; and a controlling unit 65 cation on the PC. adapted to control the image capture apparatus to transmit the FIG. 20 illustrates an example of the structure of another related information reproduced from the second recording system including the camcorder. US 7,589,852 B2 3 4 FIGS. 21A and 21B are diagrams for describing an appli forms the discrete cosine transformation. The sorter sorts the cation on a digital TV set. transformed elements in the order of frequency such that FIG.22 shows an example of codes set in a plug idfield. direct-current (DC) components of the video signal are FIG. 23 shows an example of codes set in a port id field. located at predetermined positions. The amount-of-coding FIG. 24 shows an example of codes set in a port bits field. estimator estimates an amount of coding based on the Sorted FIG. 25 shows an example of codes set in a mode field in elements to determine a quantization level based on the esti the APR. mated value, and the quantizer performs adaptive quantiza FIG. 26 shows an example of codes set in a mode field in tion. The variable-length coder supplies coded data, which is the OAPR. generated by performing variable-length coding for the quan FIG. 27 illustrates information stored in a maker note area. 10 tized video signal, to the format processor 6. According to this embodiment, the variable-length coder performs, for DESCRIPTION OF THE EMBODIMENTS example, two-dimensional Huffman coding. The ATN generator 14 generates an ATN, which is an First Embodiment absolute number of each track recorded on the 15 11 from its starting point. The timecode generator 15 is a Embodiments of the present invention will be described in timing unit for generating a timecode, which serves as an detail below with reference to the drawings. In the embodi index indicating a recording position or the like of the signal, ments, IEEE1394 includes IEEE Std 1394 to 1995 and IEEE and outputting the generated timecode to the format proces Std 1394a to 2000. sor 6. The output time is an absolute time or a relative time, FIG. 1 is a block diagram showing an example of the which can be arbitrarily selected. The relative time is reset by structure of a camcorder according to an embodiment of the mounting/removal of a video cassette in which the recording present invention. Referring to FIG. 1, the camcorder medium 11 is housed or by depression of a reset button by a includes a microphone 1, an audio processor 2, an audio user. The ATN signal and the timecode signal are Supplied to compressor 3, a camera unit 4, an image compressing unit 5. the subcode generator 16. The subcode generator 16 gener a format processor 6, an error correction coding unit 7, a 25 ates usable information including the timecode and the ATN recording processing unit 8, a selector 9, a magnetic record as a Subcode and Supplies the Subcode to the format processor ing head 10, a recording medium 11 Such as a magnetic tape, 6. an index generating unit 12, a controller 13, an absolute track The format processor 6 converts each signal Supplied from number (hereinafter referred to as ATN) generator 14, a time the audio compressor 3, the image compressing unit 5, and the code generator 15, a Subcode generator 16, a tape drive con 30 Subcode generator 16 into a bit stream appropriate for the troller 17 for controlling drive of a tape, a tape drive mecha recording format. The format processor 6 also adds insert nism 18 for driving the tape, a digital interface (hereinafter track information (ITI) data in use for generating an operating referred to as D-I/F) 19 conforming to the IEEE1394, a repro clock in reproduction and supplies the ITI to the error correc duction processor 20, an error correction decoder 21, a data tion coding unit 7. The format processor 6 further adds iden separator 22, a reproduced audio processor 23, an audio out 35 tification (ID) information on the video cassette to the bit put device 24, a reproduced image processor 25, an image stream in accordance with an instruction from the controller output device 26, an ATN detector 27, a timecode detector 28, 13 during the conversion into the bit stream. The ID informa a recording interface (hereinafter referred to as recording I/F) tion on the video cassette is, for example, a universal unique 29, and a removable recording medium 30 such as a memory identifier (UUID) having a length of 16 bytes, which is gen card. 40 erated by various algorithms that have already been disclosed. A recording operation is described below. An audio signal The error correction coding unit 7 adds a parity bit to the input with the microphone 1 is Subjected to, for example, coded data Supplied from the format processor 6 to generate analog-digital conversion or filtering in the audio processor 2. record data and Supplies the record data to the recording The digitized audio signal is compressed and encoded in the processing unit 8. According to this embodiment, the error audio compressor 3 and is Supplied to the format processor 6. 45 correction coding unit 7 uses a Reed-Solomon product code The camera unit 4 includes a charge-coupled device in which an error correction block is two-dimensionally (CCD), a filter, and a camera processor, which are not shown. structured. Specifically, the error correction coding unit 7 The camera unit 4 converts a signal captured by the CCD into includes a shuffler and an error-correction-code adder, which a television signal based on a control signal Supplied from the are not shown. In the error correction coding unit 7, the controller 13 and supplies the converted signal to the filter. 50 error-correction-code adder adds an outer-code parity bit to The filter converts a 4:2:2 format video signal, which is Sup the supplied coded data, the shuffler performs shuffling and plied from the camera unit 4, into a 4:1:1 format video signal. adds a synchronization signal and an ID code, and the error The converted video signal is Supplied to the image com correction-code adder adds an inner-code parity bit. pressing unit 5. The recording processing unit 8 includes a channel coder The image compressing unit 5 includes a block separator, a 55 and a recording amplifier, which are not shown. The record discrete cosine transformer, a movement detector, a sorter, a data Supplied from the error correction coding unit 7 is con quantizer, an amount-of-coding estimator, and a variable Verted into a digital bit sequence appropriate for magnetic length coder, which are not shown. The block separator sepa recording characteristics of the recording medium 11, Such as rates each frame of the video signal supplied from the filter in a magnetic tape, in the channel coder. The converted digital the camera unit 4 into 8x8 macroblocks. The image com 60 bit sequence is amplified in the recording amplifier. The pressing unit 5 performs discrete cosine transform (DCT) amplified data is applied to the magnetic recording head 10 coding for the video signal separated into the macroblocks through the selector 9 and is recorded at a predetermined and further performs quantization and variable-length coding position on the magnetic tape 11. Concurrently, the controller for video signals. Specifically, in the image compressing unit 13 outputs a control signal to the tape drive controller 17 to 5, the movement detector detects a movement of the video 65 control the tape drive mechanism 18 so as to drive the record signal for every 8x8 macroblock, which is supplied from the ing medium 11 at a speed corresponding to the recording block separator. The discrete cosine transformer then per mode. The controller 13 also drives the recording medium 11 US 7,589,852 B2 5 6 at a speed corresponding to the recording mode or reproduc memory 74 to the SRAM 75 in the SRAM 75 such that the tion mode in accordance with each operation signal output pixel data forms an image in the SRAM 75. from an operation unit (not shown). The frame memory 77 stores the data associated with the When a recording start signal is Supplied from the opera frames of the video data. The frame memory 77 according to tion unit (not shown) to the controller 13, recording on the this embodiment stores, for example, video data correspond recording medium 11 is started and the index generating unit ing to seven frames. The address of the frame memory 77 is 12 generates an index image corresponding to a clip of the controlled by the frame-memory address controller 78. The Video signal to be recorded. The index image is Supplied to the frame memory 77 sequentially stores the image of each clip, recording I/F 29 as an image typifying the clip and is recorded which is sequentially formed in the SRAM 75, based on the in the removable recording medium 30. Information indicat 10 control signal Supplied from the index generator-controller ing a position of the clip on the magnetic tape 11, Such as the 71. Since the frame memory 77 according to this embodiment timecode or the ATN described above, is supplied to the is a flash memory, the recorded content is held even when the recording I/F 29 through the controller 13 and is recorded in camcorder is turned off. The recorded content is deleted based the removable recording medium 30. ID information that on the control signal Supplied through the index generator uniquely identifies the video cassette housing the magnetic 15 controller 71 in response to the instruction from the controller tape 11 and information indicating the date and time when the 13. Since the image stored in the SRAM 75 is given, for above clip is recorded are also recorded in the removable example, by vertically and horizontally reducing in size the recording medium 30. original video data to an eighth part, that is, by reducing in A process of generating the index image described above is area the original video data to a sixty-fourth part, 64 images described below. The index generating unit 12 extracts, based are stored in an area, on the frame memory 77, corresponding on the video signal Supplied from the camera unit 4, an image to one frame. Accordingly, when an arbitrary clip is recorded, appropriate for search for the content of each clip and gener an operator can select an index image from among the 64x7 ates the index image (sometimes referred to as an index images on completion of the recording to record the selected picture) by using the images extracted from multiple clips. index image on the removable recording medium30. Accord The index generating unit 12 Supplies the generated index 25 ing to this embodiment, the operator can advantageously image to the recording I/F 29 at a predetermined timing Such select an index image that best represents an arbitrary clip. that the index image is recorded in the removable recording The frame-memory address controller 78 controls the address medium30. As shown in FIG. 2, the index generating unit 12 of the frame memory 77, based on the control signal supplied includes an index generator-controller 71, a sub-sampler 72, from the index generator-controller 71, such that the image a timing-pulse generator 73, a Sub-sampling memory 74, a 30 data supplied from the SRAM 75 to the frame memory 77 is static random access memory (SRAM) 75, an SRAM address stored in the appropriate position described above. controller 76, a frame memory 77, and a frame-memory Referring back to FIG. 1, when the operator instructs a address controller 78. reproduction operation through a user interface (not shown), The index generator-controller 71 controls each compo the controller 13 controls the tape drive mechanism 18 nent in the index generating unit 12 based on a control signal 35 through the tape drive controller 17 to drive the magnetic tape supplied from the controller 13. A control process by the 11 in order to start the reproduction operation. The magnetic index generator-controller 71 is described below in the recording head 10 reads out the data recorded on the magnetic description of each component. The sub-sampler 72 and the tape 11 and performs the reproduction process. Such as ampli Sub-Sampling memory 74 read image data Supplied from the fication, in the reproduction processor 20 through the selector camera unit 4 at a predetermined timing based on a pulse 40 9. The reproduction signal converted into digital data through Supplied from the timing-pulse generator 73, calculate a the above reproduction process is Supplied to the error cor direct-current (DC) component, and Supply the calculated rection decoder 21. The reproduction data, which is subjected DC component to the SRAM 75. Specifically, the timing to the error correction process in the error correction decoder pulse generator 73 generates the pulse to be supplied to the 21, is separated into Subcode data, including audio data, the Sub-Sampler 72 in order to extract an image for use in the 45 image data, the timecode, and the ATN, in the data separator index image from the first video data of each clip. The sub 22. When the ID information on the video cassette is added, sampling memory 74 stores the image data corresponding to the reproduction data is similarly separated and is Supplied to eightlines, Supplied from the Sub-sampler 72, and outputs the the controller 13. image data corresponding to 8x8 pixel blocks in accordance The audio data is Subjected to audio processing, such as with addresses input from the sub-sampler 72. The sub-sam 50 decompression, in the reproduced audio processor 23 and is pler 72 calculates the DC component from the image data output from the audio output device 24. The image data is corresponding to the 8x8 pixel blocks. Subjected to image processing, such as decompression, in the The address of the SRAM 75 is controlled by the SRAM reproduced image processor 25 and is output from the image address controller 76. Timing at which data is written in output device 26. The timecode and the ATN in the subcode and/or read out from the SRAM 75 is controlled by the index 55 are detected in the timecode detector 28 and the ATN detector generator-controller 71. The SRAM 75 sequentially stores 27, respectively, and are supplied to the controller 13. one piece of data for every macroblock supplied from the As described above, the index image and positional infor Sub-Sampling memory 74 and finally stores the image corre mation, on the magnetic tape, of the video image of the clip sponding to the first video data of each clip. As described from which the index image is cut are stored in the removable above, since the sub-sampler 72 sequentially outputs one DC 60 recording medium 30. When the index image is selected component for every 8x8 pixel block as a representative through the user interface (not shown), the camcorder of this value, the image finally stored in the SRAM 75 is an image embodiment reads out the tape position information, which is given by Vertically and horizontally reducing in size the origi recorded in the removable recording medium 30 along with nal video data to an eighth part. The SRAM address controller the index image. The tape position information includes the 76 controls the address of the SRAM 75, based on the control 65 timecode and the ATN, as described above. The controller 13 signal Supplied from the index generator-controller 71, to drives the magnetic tape 11 based on the readout time code store pixel data sequentially supplied from the Sub-sampling and the ATN to start the reproduction operation from the US 7,589,852 B2 7 8 corresponding position on the magnetic tape. The reproduc to record the ID information on the video cassette on the tion of the clip from which the index image is cut is automati magnetic tape. The ID information on the video cassette may cally performed in the manner described above. be recorded on the magnetic tape by the use of packs having The index image and the ID information on the video values other than the above values in their pack header. cassette, associated with the index image, are recorded in the removable recording medium 30. The ID information on the Operation in Connection through D-I/F Video cassette in which the magnetic tape 11 is housed is also When the D-I/F 19 is connected via a D-IF cable (not recorded in the recording medium 11. Hence, when the ID shown), a bus reset occurs. After the setting operation in the information on the video cassette recorded in the removable bus reset is completed, the camcorder of this embodiment recording medium 30 is different from the ID information on 10 waits for a signal Supplied from a connected controller (not the video cassette recorded in the recording medium 11, an shown). When the controller outputs a signal including infor alarm may be generated or insertion of a correct removable mation indicating that the controller controls the camcorder recording medium 30 may be prompted. of this embodiment, the camcorder receives the signal, reads out the index image and the data, Such as the time code and the Structure of ID Information on Video Cassette 15 ATN, associated with the index image from the removable According to this embodiment, the ID information on the recording medium 30, and transmits the index image and the Video cassette described above is recorded on the magnetic data, such as the time code and the ATN, associated with the tape 11 based on, for example, IEC-61834 Helical-scan digi index image to the controller through the D-I/F 19. At the tal video cassette recording system using 6, 35 mm magnetic same time, the ID information on the video cassette or the date tape for consumer use (525-60, 625-50, 1125-60, and 1250 and time information may be transmitted. 50 systems) standard. According to the above standard, an The data transfer operation described above is described audio auxiliary data (AAUX) area in an audio area, a video with reference to FIG. 5. Referring to FIG. 5, reference auxiliary data (VAUX) area in a video area, and an auxiliary numeral 101 denotes a camcorder to which the present inven (AUX) data recording area in a Subcode area are available as tion is applied. Reference numeral 102 denotes a cable com areas where subsidiary information is recorded on the mag pliant with IEEE1394 (hereinafter referred to as an IEEE1394 netic tape. The recording area of the Subsidiary information is 25 cable), reference numeral 103 denotes a personal computer a collection of data units, referred to as packs, each having a (hereinafter referred to as a PC), and reference numeral 104 fixed length of five bytes. denotes a monitor display (hereinafter referred to as a moni FIG.3 shows a basic structure of each pack having a fixed tor). length of five bytes. A first byte (PCO) of the pack is a pack 30 When the camcorder 101 is connected to the PC 103 via the header indicating the content of data in the pack. Arbitrary IEEE1394 cable 102, a bus reset occurs, as described above. data whose data structure is determined by the packheader is In the PC 103, device driver software (hereinafter referred to described in four bytes (PC1 to PC4) subsequent to the pack as a device driver) is loaded from an internal hard disk device header. (hereinafter referred to as an HD) on a memory in the PC 103 The pack header is divided into higher four bits and lower 35 using the bus reset as a trigger. The device driver is Software four bits. Data indicating the application of the data Subse for controlling IEEE1394-compliant hardware connected to quent to the pack header is described in a higher nibble, that the PC 103. The device driver performs an initialization is, the higher four bits of the pack header. Data indicating the operation relating to the IEEE1394-compliant hardware specific content of the data Subsequent to the pack header is using the bus reset as a trigger. Similarly, the camcorder 101 described in a lower nibble, that is, the lower four bits of the 40 performs an initialization operation relating the IEEE1394 pack header. Up to 16 types of the higher nibble are provided. using the bus reset as a trigger. Up to 16 types of the lower nibble are provided for every FIG. 6 is a flowchart showing a series of initialization higher nibble. Groups, including control "0000, title operations of the camcorder 101. In Step S401, the camcorder “0001, chapter “0010, part “0011, program “0010, 101 starts the series of the initialization operations. In Step AAUX “0101, VAUX “0110, camera “01 11, line 45 S402, the camcorder 101 detects whether a bus reset occurs. “10000", MPEG “1001, and soft “1111", are defined for If the bus reset does not occur, the camcorder 101 continues the higher nibble of the pack header in the IEC-61834 Heli the operation of detecting a bus reset. If a bus reset occurs, cal-scan cassette recording system using 6, 35 then in Step S403, the camcorder 101 performs an initializa mm magnetic tape for consumer use (525-60, 625-50, 1125 tion operation after the bus reset has occurred. 60, and 1250-50 systems) standard described above. Each of 50 After performing the initialization operation, in Step S410. the above groups is expanded into 16 packs in the lower the camcorder 101 detects whether identification information nibble. on the video cassette is read out. As described above, the In the IEC-61834 Helical-scan digital video cassette identification information on the video cassette is recorded in recording system using 6.35 mm magnetic tape for consumer part of the pack area on the magnetic tape 11. If the identifi use (525-60, 625-50, 1125-60, and 1250-50 systems) stan 55 cation information on the video cassette is read out in Step dard, no data is defined for the higher nibble, having any value S410, then in Step S411, the camcorder 101 transmits the from 1010 to 1110, of the pack header. According to this identification information on the video cassette to the PC 103 embodiment, for example, the pack data having a value through the D-I/F19. If the identification information on the “1010 in the higher nibble of the pack header is used to video cassette is not read out in Step S410, the camcorder 101 record the ID information on the video cassette. 60 waits for the readout of the identification information on the As described above, the ID information on the video cas video cassette and, in Step S411, transmits the identification sette of this embodiment is, for example, a UUID having a information on the video cassette to the PC 103 through the length of 16 bytes. According to this embodiment, as shown D-IFF 19. in FIGS. 4A to 4D, the 16-byte UUID is divided into four In Step S404, the camcorder 101 transmits a request for packs that are recorded on the magnetic tape. Specifically, the 65 receiving an index to the PC 103. In Step S405, the camcorder four packs having values “10100000”, “10100001, 101 determines whether the transmission of the index is com “10100010, and “10100011” in their packheader are used pleted. If the transmission of the index is not completed, the US 7,589,852 B2 10 camcorder 101 continues the transmission of the index. If the the oAPRS depends on the capability of the PRODUCER transmission of the index is completed, the camcorder 101 4602. For example, when the data is transmitted to N-number proceeds to Step S406. In Step S406, the camcorder 101 (N denotes an integer not less than one) of CONSUMERS transmits to the PC 103 a request for receiving positional data 4603 in one connection, the PRODUCER 4602 has the on the magnetic tape, associated with the index. In Step S407, 5 N-number of oAPRs or more. When the data is transmitted the camcorder 101 determines whether the transmission of only to one CONSUMER 4603, the PRODUCER 4602 has the positional data on the magnetic tape is completed. If the only one oAPR. When multiple connections are established, transmission of the positional data on the magnetic tape is not the PRODUCER 4602 has more than one asynchronous plug completed, the camcorder 101 continues the transmission of shown in FIG. 8. the positional data on the magnetic tape. If the transmission of 10 the positional data on the magnetic tape is completed, the A command/transaction set (CTS) command, which is camcorder 101 proceeds to Step S408. required for controlling the asynchronous connection, and a In Step S408, the camcorder 101 determines whether the format of a response to the CTS command are described above operation is completed for all the indexes. Steps from below with reference to FIG. 9. The CTS is one function S405 to S408 form a processing loop. If the above operation 15 control protocol (FCP) component and defines, for example, is not completed for all the indexes, the camcorder 101 the structures of a command set, a command field, and a repeats the transmission of the index and the transmission of response field, which use the FCP, and the transaction rule the positional data, on the magnetic tape, associated with the when a control command and response data in response to the index. If the above operation is completed for all the indexes, control command are transmitted. The FCP is a protocol in in Step S409, the camcorder 101 completes the operation. use for controlling each node connected via an IEEE1394 After the camcorder 101 completes the series of initializa serial bus. The FCP can be applied to various commands that tion operations subsequent to the bus reset, the camcorder 101 have been set in advance and command transactions. Com uses, for example, a communication protocol called an asyn mands and response data compliant to the FCP are transmit chronous connection to transmit to the PC 103 the index ted and/or received by the use of an asynchronous packet defined in the IEEE1394. image and the data, Such as the time code and the ATN, 25 associated with the index image. The asynchronous connec In the asynchronous connection, opcode and operand fields tion is described in detail in AV/C Compatible Asynchro in a command frame transmitted from the CONTROLLER nous Serial Bus Connections’ (published by 1394 Trade 4601 to the PRODUCER 4602 or the CONSUMER 4603 Association) and 'AV/C commands for management of Asyn have the same format as opcode and operand fields in a chronous Serial Bus Connections’ (published by 1394 Trade 30 response frame transmitted from the PRODUCER 4602 or Association). the CONSUMER 4603 to the CONTROLLER 4601. Referring to FIG.9, an opcode field indicates a type of the Description of Asynchronous Connection CTS command and has a code indicating that the correspond The asynchronous connection used in this embodiment is ing command is a command for the asynchronous connection. described below. FIG. 7 shows a basic structure of the asyn 35 A Subfunction field (operand 0) has a code specifying an chronous connection. Referring to FIG. 7, a transmission operation performed by the PRODUCER 4602 or the CON side node having a function of transferring data is called a SUMER 4603. For example, allocation of a plug resource or PRODUCER node (hereinafter referred to as a PRODUCER establishment/break of a connection is specified in the sub 4602), a reception-side node having a function of receiving function field. the data is called a CONSUMER node (hereinafter referred to 40 A status field (operand(1) indicates a status of a com as a CONSUMER 4603), and a node having a function of mand that has been executed. A predetermined code is set in managing the logical connection relationship (that is, connec the response frame and the status is notified to the CON tion) established between the PRODUCER 4602 and the TROLLER 4601. A plug id field (operand(2) indicates an CONSUMER 4603 is called a CONTROLLER node (here asynchronous plug number used in the connection. An inafter referred to as a CONTROLLER 4601). In the asyn 45 example of codes set in the plug idfield is shown in FIG. 22. chronous connection, the data transfer is controlled by the CONTROLLER4601, the PRODUCER 4602, and the CON A plug offset field (operand 3 to operand 8) is 42-bit SUMER 4603. field. The plug offset field has an initial address of the asyn The PRODUCER 4602 and the CONSUMER 4603 each chronous plug (that is, an address specifying the iAPR shown have an asynchronous plug for transmitting and/or receiving 50 in FIG. 8). data. FIG. 8 shows the structure of the asynchronous plug. A port id field (operand8) indicates which port in the The asynchronous plug includes one input asynchronous port asynchronous plug is selected. An example of codes set in the register (iAPR), more than one output asynchronous port port idfield is shown in FIG. 23. Referring to FIG. 23, con register (oAPR), and a Segment Buffer for receiving the Sumer port corresponds to the iAPR shown in FIG. 8. Pro data, which are allocated to IEEE1394-compliant address 55 ducer port 1 to producer port 14 correspond to oAPR1 to spaces. The asynchronous plug is required each time one oAPR14 shown in FIG.8. connection is established. When multiple asynchronous A port bits field (operand 8) indicates the capability of a plugs are provided, the asynchronous plugs are identified port selected. An example of codes set in the port bits field is with their plug ID. shown in FIG. 24. For example, a node having only the function of the PRO 60 A connection node id field (operand 9 to operand 10) DUCER 4602 has an asynchronous plug including only the indicates the nodeID of a destination with which the connec oAPRs. A node having only the function of the CONSUMER tion is established (that is, a connection node). The connec 4603 has an asynchronous plug including the iAPR and the tion node id field indicates the node ID of the CONSUMER Segment Buffer for receiving the data. A node having both 4603 for the PRODUCER 4602 and indicates the node ID of the function of the PRODUCER 4602 and the function of the 65 the PRODUCER 4602 for the CONSUMER 4603. The CON CONSUMER 4603 has an asynchronous plug including the TROLLER 4601. Sets the node ID of the PRODUCER 4602 iAPR, the oAPRs, and the Segment Buffer. The number of for the CONSUMER 4603 and the node ID of the CON US 7,589,852 B2 11 12 SUMER 4603 for the PRODUCER 4602, and notifies the set A response field of each of the response frames 1b, 2b, and node IDS to the PRODUCER 4602 and the CONSUMER 3b has a code indicating whether the command is accepted. A 4603. case in which the command is accepted and "Accepted' is set A connected plug offset field (operand 11 to operand 16) is described here. A subunit type field and a subunit ID field has an offset address specifying the asynchronous plug of the of each of the response frames 1b, 2b, and 3b have the same connection node. A connected port idfield (operand 16) has codes as in the subunit type field and the subunit ID field of a port number of the connection node used in the connection. each of the command frames 1a, 2a, and 3a. A connected port bits field (operand 16) has a code indi Referring to FIG. 10, the CONTROLLER4601 first trans cating the capability of a port of the connection node. A mits an ALLOCATE command to the CONSUMER 4603 connected plug idfield (operand 17) has a code indicating a 10 (shown by 1a in FIG.10). Examples of codes set in the opcode plug number of the connection node used in the connection. and operand fields in the command frame of the ALLOCATE An ex (exclusive) bit (operand 18) specifies whether command are described next. another CONTROLLER can access the port used in the con In the ALLOCATE command, the opcode field has a code nection. For example, when the PRODUCER 4602 or the "26 indicating that the ALLOCATE command is a com CONSUMER 4603 receives a command frame for accessing 15 mand for the asynchronous connection. The subfunction field the port with the exbit being setto “1”, the PRODUCER4602 (operand 0) has a code "01", of the ALLOCATE com or the CONSUMER 4603 determines the node ID of the mand, specifying the allocation of the resource. transmitter of the command. If the node ID of the transmitter The plugidfield (operand2) has a code "A0 indicating is different from the node ID of the CONTROLLER 4601 that the 0th asynchronous plug is allocated. The port idfield with which the connection is established, the PRODUCER (operand 8) has a port number “O'” indicating the iAPR. The 4602 or the CONSUMER 4603 transmits a response frame ex (exclusive) field (operand 18) has a code “O'” indicating that specifies Rejected for the command. that access from another CONTROLLER is allowed. “1” is A connection count field (operand 18) indicates how set to all the bits in the remaining fields as dummy data. The many PRODUCER ports the CONSUMER port is connected command frame of the ALLOCATE command is set in the to. A write interval field (operand19) has a code indicating 25 data field of the asynchronous packet and is written in a a minimum interval when the PRODUCER 4602 sequentially command register from the CONTROLLER 4601 to the performs write transactions with the segment buffer of the CONSUMER 4603 in the write transaction. The ALLOCATE CONSUMER 4603. A retry count field (operand19) has a command is issued in this manner. retry count value, which is necessary when a serial bus trans The CONSUMER 4603, which receives the above ALLO action fails. The retry count value is set in the response frame 30 CATE command, transmits to the CONTROLLER 4601 an from the CONSUMER 4603. Accepted response indicating that the CONSUMER 4603 has accepted the ALLOCATE command (shown by 1b in FIG. Process of Establishing Connection by Asynchronous Con 10). Examples of codes set in the opcode and operand fields in nection the response frame of the Accepted response are described FIG. 10 illustrates a process of setting one connection 35 neXt. between the CONTROLLER4601 and the 0th asynchronous In the Accepted response, the opcode field has a code plugs of the PRODUCER 4602 and the CONSUMER 4603. "26 indicating that the Accepted response is a response to An offset address specifying the 0th asynchronous plug of the a command for the asynchronous connection. The Subfunc CONSUMER 4603 and that of the PRODUCER 4602 are tion field (operand 0) has a code "01" indicating that the “FFFFF0001800. The PRODUCER 4602 has a function 40 Accepted response is a response to the ALLOCATE com of sequentially writing the transferred data in the Segment mand. The status field (operand1) has a code "02 of a Buffer of the CONSUMER 4603 from its initial address and status FIXED indicating that the resource is allocated. The does not support a multicast connection function. plug id field (operand2) has a code "A0 indicating that The PRODUCER4602 supports only the Segment Buffer, the 0th asynchronous plug is allocated. The plug offset field of the CONSUMER 4603, having a fixed size. In the example 45 (operand3 to operand 8) has a code indicating an offset shown in FIG. 10, the node IDs of the CONTROLLER 4601, address of the 0th asynchronous plug of the CONSUMER the PRODUCER 4602, and the CONSUMER 4603 are 0, 1, 4603. The port id field (operand 8) has a port number “O'” and 2, respectively. indicating the iAPR. Referring to FIG. 10, solid-line arrows show the flows of The port bits field (operand 8) has a code "00, indicat command frames 1a, 2a, and 3a, and broken-line arrows 50 ing that only the sequential writing of the data in the Seg show the flows of response frames 1b, 2b, and 3b. The com ment Buffer of the CONSUMER 4603 from its initial mand frames 1a, 2a, and 3a and the response frames 1b, 2b, address is Supported and that the multicast connection func and 3b have the same structure as the FCP frame and are set tion is not supported. The connection count field (operand in the data fields of asynchronous packets. 18) has a code "00, indicating that the connection to the The asynchronous packet including the command frames 55 PRODUCER port is not established. The write interval field 1a, 2a, and 3a is subjected to a write transaction from the and the retry count field (operand19) have a code “F” CONTROLLER 4601 to the CONSUMER 4603 or the PRO indicating the dummy data. The same values as in the com DUCER 4602. The asynchronous packet including the mand frame of the ALLOCATE command are set in the response frames 1b, 2b, and 3b is subjected to a write trans remaining fields. action from the CONSUMER 4603 or the PRODUCER 4602 60 The above response frame is set in the data field of the to the CONTROLLER 4601. asynchronous packet and is written in a response register Actype field of each of the command frames 1a, 2a, and 3a from the CONSUMER 4603 to CONTROLLER 4601 in the has a code indicating “Control'. A subunit type field and a write transaction. The response to ALLOCATE command is subunit ID field of each of the command frames 1a, 2a, and issued in this manner. 3a have codes specifying a predetermined subunit in the 65 The CONTROLLER 4601, which receives the Accepted CONSUMER 4603 or the PRODUCER 4602, which is the response to the ALLOCATE command from the CON target. SUMER 4603, transmits to the PRODUCER 4602 an ALLO US 7,589,852 B2 13 14 CATE ATTACH command (shown by 2a in FIG. 10). PRODUCER 4602, transmits to the CONSUMER 4603 an Examples of codes set in the opcode and operand fields in the ATTACH command (shown by 3a in FIG. 10). Examples of command frame of the ALLOCATE ATTACH command are codes set in the opcode and operand fields in the command described next. frame of the ATTACH command are described next. In the ALLOCATE ATTACH command, the opcode field In the ATTACH command, the opcode field has a code has a code “26' indicating that the ALLOCATE ATTACH “26 indicating that the ATTACH command is a command command is a command for the asynchronous connection. for the asynchronous connection. The Subfunction field (op The subfunction field (operand 0) has a code "03, of the erand 0) has a code "02, of the ATTACH command, ALLOCATE ATTACH command, instructing the allocation instructing connection to the PRODUCER 4602. The plugid of the resource and connection to the CONSUMER 4603. 10 field (operand2) has a code "A0 indicating the 0th asyn The plugidfield (operand2) has a code "A0 indicating chronous plug, as in the issuance of the ALLOCATE com that the 0th asynchronous plug is allocated. The port idfield mand. The plug offset field (operand 3 to operand 8) has a (operand 8) has a port number “1” indicating the oAPR1. code indicating the plug offset of the CONSUMER 4603, The connected node idfield (operand 9 to operand 10) has which is notified in the response to the ALLOCATE com “0002 indicating the node ID of the CONSUMER 4603. 15 mand. The connected plug offset field (operand 11 to operand 16) The port idfield (operand 8) has a port number “O'” indi has a code indicating an offset address of the 0th asynchro cating the iAPR, as in the issuance of the ALLOCATE com nous plug of the CONSUMER 4603, notified by the CON mand. The port bits field (operand 8) has a code "00 indi SUMER 4603. cating the transmission capability of the CONSUMER 4603, The connected port id field (operand 16) has a port num which is notified in the response to the ALLOCATE com ber “O'” indicating the iAPR. The connected port bits field mand. (operand 16) has a code “00 indicating the reception The connected node id field (operand 9 to operand 10) capability notified by the CONSUMER 4603. The connected has “0001 indicating the node ID of the PRODUCER plug id field (operand17) has a code "A0 indicating that 4602. The connected plug offset field (operand 11 to oper the connection with the 0th asynchronous plug of the CON 25 and 16) has a code indicating an offset address of the 0th SUMER 4603 is to be established. The ex (exclusive) field asynchronous plug of the PRODUCER 4602, notified by the (operand 18) has a code “O'” indicating that access from PRODUCER 46O2. another CONTROLLER is allowed. “1” is set to all the bits in The connected port id field (operand 16) has a port num the remaining fields as the dummy data. ber “1” indicating the oAPR1. The connected port bits field The command frame of the ALLOCATE ATTACH com 30 (operand 16) has a code "00 indicating the transmission mand is set in the data field of the asynchronous packet and is capability notified by the PRODUCER 4602. The connected writtenina command register from the CONTROLLER4601 plug idfield (operand 17) has a code "A0 indicating that to the PRODUCER 4602 in the write transaction. The ALLO the connection with the 0th asynchronous plug of the PRO CATE ATTACH command is issued in this manner. DUCER 4602 is to be established. The PRODUCER 4602, which receives the above ALLO 35 The ex (exclusive) field (operand 18) has a code “O'” indi CATE ATTACH command, transmits to the CONTROLLER cating that access from another CONTROLLER is allowed. 4601 an Accepted response indicating that the PRODUCER “1” is set to all the bits in the remaining fields as the dummy 4602 has accepted the ALLOCATE ATTACH command data. The command frame of the ATTACH command is set in (shown by 2b in FIG.10). Examples of codes set in the opcode the data field of the asynchronous packet and is written in a and operand fields in the response frame of the Accepted 40 response are described next. command register from the CONTROLLER 4601 to the In the Accepted response, the opcode field has a code CONSUMER 4603 in the write transaction. The ATTACH "26 indicating that the Accepted response is a response to command is issued in this manner. a command for the asynchronous connection. The Subfunc The CONSUMER 4603, which receives the above tion field (operand 0) has a code "03 indicating that the 45 ATTACH command, transmits to the CONTROLLER 4601 Accepted response is a response to the ALLOCATE AT an Accepted response indicating that the CONSUMER 4603 TACH command. has accepted the ATTACH command (shown by 3b in FIG. The status field (operand1) has a code "03 of a status 10). Examples of codes set in the opcode and operand fields in ACTIVE indicating that the specified port is active. The plug the response frame of the Accepted response are described neXt. idfield (operandI2) has a code "A0 indicating that the 0th 50 asynchronous plug is allocated. The plug offset field (operand In the Accepted response, the opcode field has a code 3 to operand 8) has a code indicating an offset address of "26 indicating that the Accepted response is a response to the 0th asynchronous plug of the PRODUCER4602. The port a command for the asynchronous connection. The Subfunc id field (operand 8) has a port number “1” indicating the tion field (operand 0) has a code "02 indicating that the oAPR1. 55 Accepted response is a response to the ATTACH command. The port bits field (operand 8) has a code "00, indicating The status field (operand1) has a code "03 of a status that the specified port of the PRODUCER 4602 supports only ACTIVE indicating that the specified port is active. The same the data transfer to the Segment Buffer having a fixed size. values as in the ATTACH command are set in the plugid, plug The same values as in the command frame of the ALLO offset, port id, and port bits fields (operandI2 to operand 8) CATE ATTACH command are set in the remaining fields. 60 after it is confirmed that the value of eachfield in the ATTACH The above response frame is set in the data field of the command coincides with the value notified to the CON asynchronous packet and is written in a response register TROLLER 4601 in the response to the ALLOCATE com from the PRODUCER 4602 to CONTROLLER 4601 in the mand described above. The same values as in the command write transaction. The response to ALLOCATE ATTACH frame of the ATTACH command are set in the remaining command is issued in this manner. 65 fields. The CONTROLLER 4601, which receives the Accepted The above response frame is set in the data field of the response to the ALLOCATE ATTACH command from the asynchronous packet and is written in a response register US 7,589,852 B2 15 16 from the CONSUMER 4603 to CONTROLLER 4601 in the adding six-bit Zeros to the lower side of the value of the 18-bit write transaction. The response to ATTACH command is countHi field is the actual size of the Segment Buffer. issued in this manner. A run field is for control of access from the PRODUCER The transmission of the command frames and the response 4602 to the CONSUMER 4603. When the run field is set to frames described above to the CONSUMER 4603 or the “0”, the PRODUCER 4602 cannot perform the Lock trans PRODUCER 4602 notifies the CONSUMER 4603 and the action with the iAPR of the PRODUCER 4602 and the write PRODUCER 4602 of the corresponding node ID, plug ID, transaction with the Segment Buffer. A maxLoad field indi plug offset, port ID of the connection node, thus establishing cates a maximum size of the payload that can be received by one connection between the CONSUMER 4603 and the the CONSUMER 4603 in one write transaction. The size is PRODUCER 46O2. 10 given by the following equation. Process of Transferring Data by Asynchronous Connection payloadSize=2 (maxLoad+1) A process of transferring data between the PRODUCER A process of transferring data between the PRODUCER 4602 and the CONSUMER 4603 after the connection is 4602 and the CONSUMER 4603 is described in detail below. established is described below. After the connections estab 15 The CONSUMER 4603 has a Segment Buffer of 32 KB, and lished in the manner described above, the CONSUMER 4603 a maximum size of the payload received by the CONSUMER uses a Lock transaction to notify the oAPR of the PRO 4603 is 1 KB. The PRODUCER 4602 transfers a frame of 50 DUCER 4602 of the size of the Segment Buffer of the CON KB (for example, a predetermined data file or a file list) to the SUMER 4603 and instructs start of the data transfer. CONSUMER 4603. The initial values of all the bits in the The PRODUCER 4602 instructed to start the data transfer iAPR and the OAPR described above are set to “O’. writes frames (for example, a predetermined data file or a file First, the CONSUMER 4603 uses the Lock transaction to list) of the PRODUCER 4602 in the Segment Buffer of the update the oAPR of the PRODUCER 4602. Setting the mode CONSUMER 4603 in the write transaction. When the data field of the oAPR to “SEND” requests start of the transfer to size of the frame is larger than the size of the Segment Buffer, the PRODUCER 4602. The counti field of the OAPR indi the frame is separated into segments each having the size of 25 cates that the segment buffer of the CONSUMER 4603 has a the Segment Buffer and the segments are transferred. After size of 32 KB. The maxLoad field indicates that the payload the PRODUCER 4602 transfers the final data of the frame or has a maximum size of 1 KB. Since the run field is updated to the segments, the PRODUCER 4602 uses the Lock transac one, the PRODUCER4602 is allowed to perform transactions tion to notify the iAPR of the CONSUMER 4603 of the size with the CONSUMER 4603. of the transferred data and whether the Subsequent segment 30 The PRODUCER 4602 whose oAPR is updated uses the data exists or whether the transfer of the frame is completed. write transaction to start the transmission of the segment data The CONSUMER 4603, which receives the notification to the Segment Buffer of the CONSUMER 4603. The PRO from the PRODUCER 4602, starts processing of the data DUCER 4602 sequentially writes the data in its own frame of written in the Segment Buffer. When the processing is com 50 KB in the Segment Buffer of the CONSUMER 4603 from pleted, the CONSUMER 4603 notifies the oAPR of the PRO 35 its initial address by 1 KB in the write transaction. Each time DUCER 4602 of the size of the Segment Buffer and instructs the PRODUCER 4602 transmits a write packet, the offset start of the transmission of the Subsequent segment data. The address used for the write transaction is incremented by 1 KB. CONSUMER 4603 repeats this operation until the transfer of After the PRODUCER4602 transmits the segment data of 32 one frame is completed. 40 KB, the PRODUCER 4602 updates the iAPR of the CON FIG 11 shows a format of APR of the CONSUMER 4603. SUMER 4603 to notify the CONSUMER 4603 of the After the PRODUCER 4602 transmits the segment data, the completion of the transmission of the segment data. Setting PRODUCER 4602 uses the Lock transaction to update the the mode field of the iAPR to “MORE notifies the CON register in order to notify the completion of the transmission. SUMER 4603 that the subsequent segment data is to be Referring to FIG. 11, anr (reserved) field is for future expan transmitted. The same value as in the sc field of the oAPR sion. An hb (heartbeat) field is for handshaking to prevent a 45 updated by the CONSUMER 4603 is set in the sc field. Data timeout from occurring when the data communication is not notifying the CONSUMER 4603 that data of 32 KB is trans performed within a predetermined time period. A mode field mitted is set in the count field. is for notification of the state of the transmitted data or the After the iAPR is updated, the CONSUMER 4603 com connection state. An example of codes set in the mode field is 50 pares the value of the sc field of the oAPR, which was previ shown in FIG. 25. Ansc (segment count) field is for checking ously updated, with the value of the sc field of the iAPR, to correctly perform the data transfer. A count field is for which has been updated here. If both the sc fields have the notification of the byte size of the transmitted segment data. same value, the CONSUMER 4603 determines that the data FIG. 12 shows a format of the OAPR of the PRODUCER has been correctly transmitted and starts to process the seg 4602. After the Segment Buffer for data reception is ready, 55 ment data. After the processing of the segment data is com the CONSUMER 4603 uses the Lock transaction to update pleted and the Segment Buffer is active, the CONSUMER the register and requests transmission of the segment data. 4603 updates the oAPR of the PRODUCER 4602 again. Referring to FIG. 12, anr (reserved) field is for future expan Transmission of a new segment is requested by inverting the sion. An hb (heartbeat) field is for handshaking to prevent a value of the sc field. The remaining fields have the same timeout from occurring when the data communication is not 60 values as those that were previously set. performed within a predetermined time period. A mode field The PRODUCER 4602 whose oAPR is updated uses the is for notification of the transmission request or the connec write transaction to start the transmission of the Subsequent tion state. An example of codes set in the mode field is shown segment data to the Segment Buffer of the CONSUMER in FIG. 26. 4603. The PRODUCER 4602 sequentially writes the data An Sc (segment count) field is for checking to correctly 65 subsequent to the transmitted 32-KB data in the Segment perform the data transfer. A countHi field is for notification of Buffer of the CONSUMER 4603 from its initial address by 1 the byte size of the Segment Buffer. A 24-bit value given by KB in the write transaction. US 7,589,852 B2 17 18 Each time the PRODUCER 4602 transmits a write packet, frame. The plug offset field (operand 3) to operand 8) has a the offset address used for the write transaction is incre code indicating an offset address of the asynchronous plug mented by 1 KB. After the PRODUCER 4602 transmits the specified in the command frame. segment data of 18 KB (=50 KB-32 KB), the PRODUCER The port idfield (operand 8) has a port number specified 4602 updates theiAPR of the CONSUMER4603 to notify the 5 in the command frame. The port bits field (operand 8) has a CONSUMER 4603 of the completion of the transmission of code indicating the capability of the port specified in the the segment data. command frame. The connected node id, connected plug Setting the mode field of the iAPR to “LAST' notifies the offset, connected port id, connected port bits, and connected CONSUMER 4603 that the transmission of all the data in this plug idfields (operand 9 to operand17) has the node ID of frame is completed. The same value as in the sc field of the 10 the PRODUCER 4602 with which the connection is estab oAPRupdated by the CONSUMER 4603 is set in the sc field. lished, an offset address of the asynchronous plug, a port Data notifying the CONSUMER 4603 that data of 18 KB is number, the capability of the port, and a plug number, respec transmitted is set in the count field. The CONSUMER 4603 tively. The connection count field (operand 18) has a value whose iAPR is updated processes the segment data after “0” given by subtracting “1” from the value of the connection comparing the values of the Sc fields. After the processing of 15 count field before the DETACH command is received. The the segment data is completed, the CONSUMER 4603 same values as in the command frame of the DETACH com updates the oAPR of the PRODUCER 4602. mand are set in the remaining fields. The data corresponding to one frame is transmitted from The above response frame is set in the data field of the the PRODUCER 4602 to the CONSUMER 4603 in the man asynchronous packet and is written in a response register ner described above. When the PRODUCER 4602 has other from the CONSUMER 4603 to CONTROLLER 4601 in the frames to be transferred, the same process is repeated. After write transaction. The response to DETACH command is the transfer of all the frames is completed, the CONTROL issued in this manner. LER 4601 breaks the connection established between the The CONTROLLER 4601, which receives the Accepted PRODUCER 4602 and the CONSUMER 4603 if required. response to the DETACH command from the CONSUMER 25 4603, transmits to the PRODUCER 4602 a DETACH RE Process of Breaking Connection in Asynchronous Connec LEASE command (shown by 2a in FIG. 13). Examples of tion codes set in the opcode and operand fields in the command FIG. 13 illustrates a process of breaking a connection. frame of the DETACH RELEASE command are described Referring to FIG. 13, solid-line arrows show the flows of neXt. command frames 1a, 2a, and 3a, and broken-line arrows 30 In this command frame, the opcode field has a code "26. show the flows of response frames 1b, 2b, and 3b. The CON indicating that the DETACH RELEASE command is a com TROLLER 4601 first transmits a DETACH command to the mand for the asynchronous connection. The subfunction field CONSUMER 4603 (shown by 1a in FIG. 13). Examples of (operand 0) has a code “07, of the DETACH RELEASE codes set in the opcode and operand fields in the command command, instructing breaking of the connection and release frame of the DETACH command are described next. 35 of the resource. The plug id field (operand2) has a code In the DETACH command, the opcode field has a code A0 indicating the 0th asynchronous plug, as in the issu “26 indicating that the DETACH command is a command ance of the ALLOCATE ATTACH command. for the asynchronous connection. The subfunction field (op The PRODUCER 4602, which receives the above erand 0) has a code "06, of the DETACH command, DETACH RELEASE command, transmits to the CON instructing breaking of the connection. The plugid field (op 40 TROLLER 4601 an Accepted response indicating that the erand2) has a code "A0 indicating the 0th asynchronous PRODUCER 4602 has accepted the DETACH RELEASE plug, as in the issuance of the ATTACH command. The portid command (shown by 2b in FIG. 13). Examples of codes set in field (operand 8) has a port number “O'” indicating the iAPR, the opcode and operand fields in the response frame of the as in the issuance of the ATTACH command. The ex (exclu Accepted response are described next. sive) field (operand 18) has a code “O'” indicating that access 45 In this response frame, the opcode field has a code “26. from another CONTROLLER is allowed. “1” is set to all the indicating that the Accepted response is a response to a com bits in the remaining fields as dummy data. mand for the asynchronous connection. The subfunction field The command frame of the DETACH command is set in (operand 0) has a code "07 indicating that the Accepted the data field of the asynchronous packet and is written in a response is a response to the DETACH RELEASE com command register from the CONTROLLER 4601 to the 50 mand. The status field (operand1) has a code "01" of a CONSUMER 4603 in the write transaction. The DETACH status FREE indicating that the specified port is not used. The command is issued in this manner. same values as in the command frame of the DETACH RE The CONSUMER 4603, which receives the above LEASE command are set in the remaining fields. DETACH command, transmits to the CONTROLLER 4601 The above response frame is set in the data field of the an Accepted response indicating that the CONSUMER 4603 55 asynchronous packet and is written in a response register has accepted the DETACH command (shown by 1b in FIG. from the PRODUCER 4602 to CONTROLLER 4601 in the 13). Examples of codes set in the opcode and operand fields in write transaction. The response to DETACH RELEASE the response frame of the Accepted response are described command is issued in this manner. neXt. The CONTROLLER 4601, which receives the Accepted In the response frame, the opcode field has a code “26. 60 response to the DETACH RELEASE command from the indicating that the Accepted response is a response to a com PRODUCER 4602, transmits to the CONSUMER 4603 a mand for the asynchronous connection. The subfunction field RELEASE command (shown by 3a in FIG. 13). Examples of (operand 0) has a code "06 indicating that the Accepted codes set in the opcode and operand fields in the command response is a response to the DETACH command. The status frame of the RELEASE command are described next. field (operand1) has a code "04 of a status INACTIVE 65 In this command frame, the opcode field has a code “26. indicating that the specified port is inactive. The plug idfield indicating that the RELEASE command is a command for the (operand2) has a plug number specified in the command asynchronous connection. The subfunction field (operand 0) US 7,589,852 B2 19 20 has a code "05, of the RELEASE command, instructing the ID information on the video cassette or the date and time release of the resource. The plug id field (operandI2) has a information, in addition to the above index image and data. code "A0 indicating the 0th asynchronous plug, as in the The PC 103 records the received index image and the data, issuance of the ALLOCATE command. The port id field such as the time code and the ATN, associated with the index (operand 8) has a port number “O'” indicating the iAPR, as in image in the HD in the PC 103. When the ID information on the issuance of the ALLOCATE command. The ex (exclu the video cassette or the date and time information is also sive) field (operand 18) has a code “O'” indicating that access received, the index image is associated with the ID informa from another CONTROLLER is allowed. “1” is set to all the tion on the video cassette and the date and time information to bits in the remaining fields as the dummy data. be recorded in the HD. The command frame of the RELEASE command is set in 10 Although, as described above, the asynchronous connec the data field of the asynchronous packet and is written in a tion is used to transfer the index image, to transfer the tape command register from the CONTROLLER 4601 to the position information associated with the index image, or to CONSUMER 4603 in the write transaction. The RELEASE transfer the ID information on the video cassette and the date command is issued in this manner. and time information associated with the index image in this The CONSUMER 4603, which receives the above 15 embodiment, IPv4 over IEEE1394 (RFC2734, IETF) may be RELEASE command, transmits to the CONTROLLER4601 used to transfer the above information. In this case, a file an Accepted response indicating that the CONSUMER 4603 transfer protocol, such as a file transfer protocol (FTP) or a has accepted the RELEASE command (shown by 3b in FIG. hypertext transfer protocol (HTTP), is used as a higher-layer 13). Examples of codes set in the opcode and operand fields in protocol. the response frame of the Accepted response are described An operation when the IPv4 over IEEE1394 is used is neXt. described below with reference to FIG. 5. If a bus reset In the response frame, the opcode field has a code “26. occurs, the camcorder 101 and the PC 103 performs an initial indicating that the Accepted response is a response to a com reset operation. When the initial reset operation is completed, mand for the asynchronous connection. The subfunction field an FTP server is up and run in, for example, the PC 103. The (operand 0) has a code "05 indicating that the Accepted 25 camcorder 101 logs into the FTP server. For example, a one response is a response to the RELEASE command. The status time password is used in the login process. The camcorder field (operand1) has a code “O1 of a status FREE indi 101, which logs into the FTP server, uses a PUT command to cating that the specified port is not used. The same values as transfer, for example, the index image file, the tape position in the command frame of the RELEASE command are set in information associated with the index image, or the ID infor the remaining fields. 30 mation on the video cassette and the date and time informa The above response frame is set in the data field of the tion associated with the index image. After the transfer pro asynchronous packet and is written in a response register cess is performed a number of times corresponding to the from the CONSUMER 4603 to CONTROLLER 4601 in the number of the index image files, the camcorder 101 uses a write transaction. The response to RELEASE command is QUIT command to perform a logout process. issued in this manner. 35 Although the FTP server is up and run in the PC 103 in the The transmission of the command frames and the response above process, an FTP server may be up and run in the frames described above to the CONSUMER 4603 or the camcorder 101. A process in which the FTP server is up and PRODUCER 4602 breaks one connection established run in the camcorder 101 is described below with reference to between the CONSUMER 4603 and the PRODUCER 4602. FIG. 5, as in the above case. If a bus reset occurs, the cam 40 corder 101 and the PC 103 performs the initial reset opera Method of Transferring Position Information on Tape tion. When the initial reset operation is completed, an FTP As described above, after the series of initialization opera server is up and run in the camcorder 101. In the PC 103, an tion Subsequent to the bus reset is completed, the camcorder FTP application (FTP client) is loaded on the memory in the 101 uses, for example, the asynchronous connection PC 103 and the PC 103 logs into the FTP server in the described above to transmit to the PC 103 the index image and 45 camcorder 101. For example, a one-time password is used in the data, such as the time code and the ATN, associated with the login process. The PC 103, which logs into the FTP server, the index image. The camcorder 101 serves as both the CON uses a GET command to transfer, for example, the index TROLLER node and the PRODUCER node in the asynchro image file, the tape position information associated with the nous connection to transmit the index image and the data, index image, or the ID information on the video cassette and such as the time code and the ATN, associated with the index 50 the date and time information associated with the index image. The PC 103 serves as the CONSUMER node to image. After the transfer process is performed a number of receive the index image and the data, Such as the time code times corresponding to the number of the index image files, and the ATN, associated with the index image. In this case, the the camcorder101 uses a QUIT command to perform a logout camcorder 101 may be structured so as to transmit the ID process. information on the video cassette or the date and time infor 55 Although the FTP is used as the higher-layer protocol of mation, in addition to the above index image and data. the IPv4 over IEEE 1394 in the embodiment described above, Alternatively, after the series of initialization operation any protocol, such as trivial file transfer protocol (TFTP), the subsequent to the bus reset is completed, the PC 103 may HTTP, or simple mail transfer protocol (SMTP), may be used serve as both the CONTROLLER node and the CONSUMER as long as the protocol is capable of data transfer. Any proto node in the asynchronous connection. In this case, the cam 60 col, such as SBP-2, SBP-3, or direct printing protocol (DPP), corder 101 serves as the PRODUCER node and transmits the may be used as the higher-layer protocol compliant with the index image and the data, Such as the time code and the ATN, IEEE 1394 as long as the protocol is capable of data transfer associated with the index image under the control of the PC by the use of an asynchronous mode. Although the IEEE 1394 103. The PC 103 serves as the CONSUMER node and is used as the protocol for a lower layer including a network receives the index image and the data, such as the time code 65 access layer in the embodiment described above, any protocol and the ATN, associated with the index image. Also in this may be used as long as the protocol is a lower-layer protocol case, the camcorder 101 may be structured so as to transmit capable of detecting whether logical connection to the net US 7,589,852 B2 21 22 work is established. For example, Ethernet (registered trade entropy coding data end code (EOI) are sequentially mark), IEEE 802.3, IEEE 802.4, IEEE 802.5, IEEE 802.11, described in the compressed data file. The APP1 includes an universal serial bus (USB), Bluetooth, or ultra wide band APP1 marker, an Exif identification code, and auxiliary infor (UWB) may be used as the lower-layer protocol. mation. The auxiliary information has a structure of TIFF Structure of Index File including a header. Two IFDs (a 0th IFD and a 1st IFD) are The index image is recorded in the removable recording recorded in the auxiliary information. medium 30 in a format compliant with, for example, an image FIG.16 shows a basic structure of a JPEG compressed data file format standard for a digital still camera (hereinafter file in the APP1. Referring to FIG. 16, the APP1 includes the referred to as an exchangeable image file format (Exif) stan structure (TIFF structure) of the uncompressed data file dard) standardized by Japan Electronic Industry Develop 10 described above with reference to FIG. 14. ment Association (JEIDA). The Exif standard defines two Information stored in the maker note area is described data file formats, that is, an uncompressed data file format and below with reference to FIG. 27. According to this embodi a compressed data file format. The uncompressed data file ment, the information including the ATN, the timecode, the format is compatible with a tagged image file format (TIFF) ID information on the video cassette, and the date and time 15 information, which are associated with the index image, are Rev. 6.0, whereas the compressed data file format is compli stored in the maker note area. Each of the ATN, the timecode, ant with a joint photographic experts group (JPEG) format. the ID information on the video cassette, and the date and time FIG. 14 shows a file format in use for the uncompressed information is stored in the maker note area as a Tag in this data. Image data (primary image data) is recorded in a RGB or embodiment. YC,C, format. Recording a thumbnail image in the file is Referring to FIG. 27, TimeCode is an item indicating a recommended. The thumbnail image is recorded in the RGB timecode on the magnetic tape. ATN is an item indicating an or HCC, format, independent of the main image data. Two ATN on the magnetic tape. UUID is an item indicating an image file directories (IFDs) can be described in one file. An identification number of the video cassette housing the mag IFD described first in the file is called a “0th IFD. The Oth netic tape. RecordingDate is an item indicating a date when IFD has information concerning the primary image described 25 the clip associated with the index image is captured. Record therein. An IFD subsequent to the 0th IFD is called a "1st ingTime is an item indicating a time when the clip associated IFD. The 1st IFD has information concerning the thumbnail with the index image is captured. Tag Number indicates a image described therein. number identifying the Tag. Type indicates a data type of the Referring to FIG. 14, “0th IFD pointer 1231 is described Tag. BYTE indicates eight-bit unsigned integer and LONG subsequent to a header 1230. The “0th IFD pointer 1231 30 indicates 32-bit (four-byte) unsigned integer. Count indicates indicates an initial address of the 0th IFD. A code of an entry the number of pieces of data having the data type indicated in count 1232 is described subsequent to the "0th IFD pointer” the Type for every Tag. Number of Tags indicates the number 1231. An IFD (“0th IFD for primary data” 1233) correspond of Tags included in the maker note area. Level indicates the ing to the primary image is described Subsequent to the code necessity of the Tag. If the level has a value Mandatory (M), of the entry count 1232. The “0th IFD for primary data” 1233 35 the tag must be recorded in the maker note area as long as includes the width of the image, the height of the image, and there is no limit in the hardware. If the Level has a value an Exif IFD pointer. Optional (O), the Tag is optional. A “1st IFD pointer 1234 is described subsequent to the According to this embodiment, in order to store in the “0th IFD for primary data 1233. Specific data concerning the index image the information, Such as the ATN, the timecode, 0th IFD (a “value of 0th IFD 1235) is described subsequent 40 the ID information on the video cassette, and the date and time to the “1st IFD pointer 1234. When the 1st IFD does not exit information, associated with the index image, it is sufficient in the file, a termination code (terminal) is described in place for the camcorder 101 to transfer only the index image to the of the “1st IFD pointer 1234. PC 103. Accordingly, the transfer time and the waiting time of The “value of 0th IFD 1235 is followed by a code of an the operator are advantageously reduced, thus improving the entry count 1236 and an “Exif private tag' 1237. The “Exif 45 responsiveness. private tag 1237 includes the version information on the Exif Although the primary image of the Exif file is transferred in and a maker note. Information specific to a vendor can be this embodiment, only the thumbnail image in the Exif file described in a maker note area. The maker note area may may be transferred and the information, such as the ATN, the include information, such as the ATN, the timecode, the ID timecode, the ID information on the video cassette, and the information on the video cassette, and the date and time 50 date and time information, may be transferred later. In this information, associated with the index image. case, since the thumbnail image has lower Volume, the trans A terminal 1238 is described subsequent to the “Exif pri fer time and the waiting time of the operator are advanta vate tag 1237. “Value of Exifdata” 1239 and maker note data geously reduced, thus improving the responsiveness. 1240 are described subsequent to the terminal 1238. Subse quent to the maker note data 1240, a code of an entry count 55 Operation of Identifying Cassette on PC 1241 and an IFD corresponding to the thumbnail image ("1st According to this embodiment, the index image and the IFD forthumbnail data” 1242) are described. The “1st IFD for information including the tape position information (for thumbnail data 1242 includes the width of the image and the example, the ATN and the timecode), the ID information on height of the image. Subsequent to the “1st IFD for thumbnail the video cassette, and the date and time information, associ data' 1242, a terminal 1243, “value of 1st IFD 1244, and 60 ated with the index image, are transferred from the camcorder thumbnail data 1245 are described. Primary image data 1246 101 to the PC 103 through the D-I/F19, and then are recorded is described subsequent to the thumbnail data 1245. in the HD in the PC 103. An operation of identifying the video FIG. 15 shows the structure of a compressed data file. A cassette on the PC 103 in this case, when the connection start of image (SOI) marker indicating the start of the file, an between the camcorder 101 and the PC 103 is broken and is application marker segment (APP1), a quantization table 65 established again, is described below. (DQT), a Huffman table (DHT), a frame header (SOF), a FIG. 17 is a flowchart showing the process of identifying scanning header (SOS), an entropy coding data, and an the video cassette in an application on the PC 103. Referring US 7,589,852 B2 23 24 to FIG. 17, in Step S801, the process starts the operation. In images, so that the time required for the transfer is reduced Step S802, the process detects a bus reset. In Step S803, the and the responsiveness for the operator is improved. process performs an initialization operation when the bus Operation on PC reset occurs. In Step S804, the cassette identification infor An operation of an application on the PC 103, according to mation (C) on the video cassette mounted in the camcorder an embodiment of the present invention, is described below 101 is transferred from the camcorder 101, and the process with reference to FIG. 18. Referring to FIG. 18, reference detects the C. numeral 1501 denotes a monitor screen, reference numeral In Step S805, the process detects, from the HD in the PC 1502 denotes an application window, reference numerals 103, whether the camcorder 101 has ever been connected to 1503 to 1511 denote index-image display areas, reference the application on the PC 103. If the camcorder 101 has not 10 been connected to the application on the PC 103, in Step numeral 1512 denotes a pointer cursor, reference numeral S807, the process transmits to the camcorder101 a request for 1513 denotes a start search button, reference numerals 1514 transferring all the index images and the data including the and 1515 denote index-image scroll buttons, and reference positional data on the magnetic tape and the date and time numerals 1516 and 1517 denote jump buttons. 15 In the application of this embodiment, index image infor data, associated with the index images, and the camcorder mation relating to a cassette mounted in a camcorder is auto 101 transfers the above data. matically selected based on cassette identification informa If the camcorder 101 has ever been connected to the appli tion, and the selected index image information is displayed. cation on the PC 103 in Step S805, then in Step S809, the When an operator operates a pointing device (not shown), process determines whether history information concerning Such as a mouse, to move the pointer cursor 1512 and selects the cassette identification information (C) is recorded in the any of the index-image display areas 1503 to 1511, the HD in the PC 103. If the process determines that the no history selected index image is highlighted. For example, the index information is recorded in Step S809, then in Step S807, the image in the index-image display area 1507 is displayed in process transmits to the camcorder 101 a request for transfer ring all the index images and the data including the positional FIG. 18. When the operator further moves the pointer cursor 25 1512 in this state and presses the start search button 1513, the data on the magnetic tape and the date and time data, associ tape position information associated with the index image in ated with the index images, and the camcorder 101 transfers the index-image display area 1507 is read out from the HD in the above data. the PC 103. If the process determines that the history information con The tape position information includes, for example, an cerning the cassette identification information (C) is 30 ATN and a timecode. The application of this embodiment recorded in the HD in the PC 103 in Step S809, then in S810, uses the tape position information to search for a position on the process reads out the history information (H) concern the tape. According to this embodiment, the application on ing the cassette identification information (C) from the HD the PC 103 first issues, for example, an ATN command. The in the PC 103. In Step S811, the process reads out list infor ATN command is compliant with a known AV/C Tape mation (L.) on the index image from the removable recording 35 Recorder/Player subunit specification (IEEE 1394 Trade medium 30 mounted in the camcorder 101. According to this Association). The command set in the above specification is a embodiment, for example, the history information (H) and collection of the CTS commands described above. The cam the list information (L) are recorded on the same recording corder 101, which receives the ATN command, transmits an format. INTERIM response to the PC 103 to start an ATN search In Step S812, the process calculates difference information 40 operation. The camcorder 101 feeds the magnetic tape to a S between the history information (H) and the list informa position near an ATN value set in the ATN command and tion (L). In Step S813, the process transmits a request for suspends the tape drive to be in a PLAY FORWARD PAUSE transferring index image information that is not included in state. The camcorder 101 returns an ACCEPTED response to the history information (H) based on the calculated differ the ATN command to the PC 103. ence information S. The difference index image and the data 45 The PC 103, which receives the ACCEPTED response, including the positional data on the magnetic tape and the date then issues a timecode command. In response the timecode and time data, associated with the index image, are read out command, the camcorder 101 stores the timecode currently from the camcorder 101. read out in the response frame and returns the stored timecode In Step S814, the process creates new history information to the PC 103. The application on the PC 103 reads out the concerning the cassette identification information (C). If 50 timecode at the current position of the camcorder 101, on the Step S807 is performed before Step S814, the history infor magnetic tape, using the timecode command. mation is created from all the index image information. If the The application on the PC 103 then compares the timecode S813 is performed before Step S814, the history information value received from the camcorder 101 with the (target) time concerning the cassette identification information (C) is code value read out from the HD to determine a direction at created from the previous history information and the differ 55 which the magnetic tape is fed. If the timecode value read out ence index image information read out from the camcorder from the HD is larger than the timecode value received from 101. The history information is kept up to date by the above the camcorder 101, the application on the PC 103 issues a operation. PLAYNEXT FRAME command. If the timecode value read In Step S815, the process records the history information out from the HD is smaller than the timecode value received concerning the cassette identification information (C), cre 60 from the camcorder 101, the application on the PC 103 issues ated by the above operation, in the HD in the PC 103. In Step a PLAY PREVIOUS FRAME command. If the timecode S816, the process is completed. With the operation described value read out from the HD is equal to the timecode value above, the PC 103 can automatically select the index image received from the camcorder 101, the process is completed. information recorded in the HD in the PC 103 and the infor FIG. 19 is a flowchart showing the operation of the appli mation including the positional data on the magnetic tape and 65 cation on the PC 103. Referring to FIG. 19, in Step S1601, the the date and time data, associated with the index image. process is started. In Step S1602, an operator selects an index Accordingly, it is possible to transfer only the necessary index image. In Step S1603, the process starts a search operation US 7,589,852 B2 25 26 associated with the selected index image. The search opera als are used in FIG. 20 to identify the components having the tion is started with an operation by the operator on the appli same functions as in FIG. 5. Referring to FIG. 20, reference cation in the PC 103. In Step S1604, the process reads out an numeral 1703 denotes a digital TV set. The digital TV set ATN associated with the selected index image. In Step S1605, 1703, which is provided with a D-I/F, is connected to the the process reads out a timecode associated with the selected camcorder 101 via the IEEE1394 cable 102. index image and stores the value of the timecode in a variable When the camcorder 101 is connected to the digital TV set Tr. In Step S1606, the process issues an ATN control com 1703 via the IEEE1394 cable 102, a bus reset occurs. The mand to the camcorder 101. In Step S1607, the process digital TV set 1703 performs an initialization operation relat checks a first response to the ATN control command. If the ing to the IEEE1394-compliant hardware using the bus reset response has a value other than INTERIM, in Step S1608, the 10 as a trigger. Similarly, the camcorder 101 performs an initial process is completed because an illegal value is set in the ATN ization operation relating the IEEE1394 using the bus resetas control command or the camcorder 101 cannot detect the a trigger. ATN. The operation of the camcorder 101 is described with ref If the response has the value INTERIM in Step S1607, then erence to the flowchart shown in FIG. 6. In Step S401, the in Step S1609, the process waits for an ACCEPTED response. 15 operation of the camcorder 101 is started. In Step S402, the If the process receives the ACCEPTED response in Step camcorder 101 detects whether a bus reset occurs. If the bus S1609, then in Step S1610, the process issues a status com reset does not occur, the camcorder 101 continues the opera mand of the timecode to the camcorder 101. In Step S1611, tion of detecting a bus reset. If a bus reset occurs, then in Step the process checks a response to the status command of the S403, the camcorder 101 performs an initialization operation timecode. If a response other than STABLE is received, in after the bus reset has occurred. Step S1608, the process is completed because an illegal value After performing the initialization operation, in Step S410. is set in the status command of the timecode or the camcorder the camcorder 101 detects whether identification information 101 cannot detect the timecode. If the STABLE response is on the video cassette is read out. As described above, the received in Step S1611, then in Step S1612, the process stores identification information on the video cassette is recorded in the detected timecode in a variable Tc. 25 part of the pack area on the magnetic tape 11. If the identifi In Step S1613, the process compares the value of the vari cation information on the video cassette is read out in Step able Tr with the value of the variable Tc. If the difference S410, then in Step S411, the camcorder 101 transmits the between the values of the Tr and of the Tc is smaller than a identification information on the video cassette to the digital predetermined threshold value Th, the process determines TV set 1703 through the D-I/F 19. If the identification infor that the magnetic tape reaches the target position and, in Step 30 mation on the video cassette is not read out in Step S410, the S1608, the process is completed. If the difference between the camcorder 101 waits for the readout of the identification values of the Tr and of the Tc is larger than or equal to the information on the video cassette and, in Step S411, transmits predetermined threshold value Thand the Tris larger than the the identification information on the video cassette to the Tc in Step S1613, then in Step S1614, the process issues a digital TV set 1703 through the D-I/F 19. PLAYNEXT FRAME control command to the camcorder 35 101. In response to the PLAYNEXT FRAME control com In Step S404, the camcorder 101 transmits a request for mand, the camcorder 101 forwards the tape by one frame. If receiving an index to the digital TV set 1703. In Step S405, the difference between the values of the Tr and of the Tc is the camcorder 101 determines whether the transmission of larger than or equal to the predetermined threshold value Th the index is completed. If the transmission of the index is not and the Tris smaller than the Tc in Step S1613, then in Step 40 completed, the camcorder 101 continues the transmission of S1615, the process issues a PLAY PREVIOUS FRAME con the index. If the transmission of the index is completed, the trol command to the camcorder 101. In response to the PLAY camcorder 101 proceeds to Step S406. In Step S406, the PREVIOUS FRAME control command, the camcorder 101 camcorder 101 transmits to the digital TV set 1703 a request rewinds the tape by one frame. Steps S1610 to S1015 form a for receiving positional data, on the magnetic tape, associated processing loop. The tape in the camcorder 101 can be 45 with the index. In Step S407, the camcorder 101 determines stopped at a position within a predetermined error range from whether the transmission of the positional data on the mag the target position by the use of this loop. netic tape is completed. If the transmission of the positional As described above, in the application on the PC 103 of this data on the magnetic tape is not completed, the camcorder embodiment, it is sufficient for the operator to select one 101 continues the transmission of the positional data. If the index image while watching the index images in order to 50 transmission of the positional data on the magnetic tape is move the tape in the camcorder 101 to the tape position completed, the camcorder 101 proceeds to Step S408. indicated by selected the index image, thus noticeably In Step S408, the camcorder 101 determines whether the improving the responsiveness. In addition, the operator can above operation is completed for all the indexes. Steps from search for a desired tape position while watching the index S405 to S408 form a processing loop. If the above operation images, thus advantageously improving the responsiveness. 55 is not completed for all the indexes, the camcorder 101 Furthermore, since the data on a memory card inserted in the repeats the transmission of the index and the transmission of camcorder 101 is recorded in the HD in the PC 103 and is the positional data, on the magnetic tape, associated with the backed up, it is possible to protect the data even when the index. If the above operation is completed for all the indexes, operator erroneously deletes the data on the memory card or in Step S409, the camcorder 101 completes the operation. overwrites the data on the memory card. 60 After the camcorder 101 completes the series of initializa tion operations subsequent to the bus reset, the camcorder 101 Another Embodiment uses, for example, a communication protocol called the asyn chronous connection to transmit to the digital TV set 1703 the The present invention is applied to a digital television (TV) index image and the data, Such as the time code and the ATN, set, a set-top box, or the like. An embodiment in which the 65 associated with the index image. The digital TV set 1703 present invention is applied to a digital TV set is described records the data including the timecode and the ATN in a flash below with reference to FIG. 20. The same reference numer memory in the digital TV set 1703. US 7,589,852 B2 27 28 Operation of Identifying Cassette on Digital TV Set concerning the cassette identification information (C) is According to this embodiment, the index image and the created from the previous history information and the differ information including the tape position information (for ence index image information read out from the camcorder example, the ATN and the timecode), the ID information on 101. The history information is kept up to date by the above the video cassette, and the date and time information, associ operation. ated with the index image, are transferred from the camcorder In Step S815, the process records the history information 101 to the digital TV set 1703 through the D-I/F19, and then concerning the cassette identification information (C), cre are recorded in the flash memory in the digital TV set 1703. ated by the above operation, in the flash memory in the digital An operation of identifying the video cassette on the digital TV set 1703. In Step S816, the process is completed. With the TV set 1703 in this case, when the connection between the 10 operation described above, the digital TV set 1703 can auto camcorder 101 and the digital TV set 1703 is broken and is matically select the index image information recorded in the established again, is described below. flash memory in the digital TV set 1703 and the information A process of identifying the video cassette in an applica including the positional data on the magnetic tape and the date tion on the digital TV set 1703 is described next with refer and time data, associated with the index image. Accordingly, ence to the flowchart in FIG. 17. Referring to FIG. 17, in Step 15 it is possible to transfer only the necessary index images, so S801, the process starts the operation. In Step S802, the that the time required for the transfer is reduced and the process detects abus reset. In Step S803, the process performs responsiveness for the operator is improved. an initialization operation when the bus reset occurs. In Step S804, the cassette identification information (C) on the Operation on Digital TV Set video cassette mounted in the camcorder 101 is transferred An operation of an application on the digital TV set 1703, from the camcorder 101, and the process detects the C. according to an embodiment of the present invention, is In Step S805, the process detects, from the flash memory in described below with reference to FIGS. 21A and 21 B. Refer the digital TV set 1703, whether the camcorder 101 has ever ring to FIG. 21A, reference numeral 1801 denotes a digital TV screen, reference numeral 1802 denotes a main screen, been connected to the application on the digital TV set 1703. and reference numerals 1803 to 1811 denote index screens for If the camcorder 101 has not been connected to the applica 25 tion on the digital TV set 1703, in Step S807, the process displaying the index images. Referring to FIG.21B, reference transmits to the camcorder 101 a request for transferring all numeral 1820 denotes an infrared remote controller (herein the index images and the data including the positional data on after referred to as remote controller) with which the digital the magnetic tape and the date and time data, associated with TV set 1703 is operated, reference numeral 1821 denotes a the index images, and the camcorder 101 transfers the above 30 power button, reference numeral 1822 denotes a channel data. selection button group, reference numeral 1823 denotes a If the camcorder 101 has ever been connected to the appli Volume-control button group, reference numerals 1824 and cation on the digital TV set 1703 in Step S805, then in Step 1825 denote index selection buttons for selecting an index, S809, the process determines whether history information and reference numeral 1826 denotes a start search button. concerning the cassette identification information (C) is 35 In the application of this embodiment, index image infor recorded in the flash memory in the digital TV set 1703. If the mation relating to a cassette mounted in a camcorder is auto process determines that the no history information is recorded matically selected based on cassette identification informa in Step S809, then in Step S807, the process transmits to the tion, and the selected index image information is displayed. camcorder 101 a request for transferring all the index images When an operator operates the index selection buttons and the data including the positional data on the magnetic tape 40 1824 and 1825 to select any of the index screens in the index and the date and time data, associated with the index images, screens 1803 to 1811, the selected index image is highlighted. and the camcorder 101 transfers the above data. For example, the index image in the index screen 1807 is If the process determines that the history information con displayed in FIG. 21 A. When the operator presses the start cerning the cassette identification information (C) is search button 1826 on the remote controller 1820 in this state, recorded in the flash memory in the digital TV set 1703 in 45 the tape position information associated with the index image Step S809, then in S810, the process reads out the history in the index screen 1807 is read out from the flash memory in information (H) concerning the cassette identification the digital TV set 1703. information (C) from the flash memory in the digital TV set The tape position information includes, for example, an 1703. In Step S811, the process reads out list information (L) ATN and a timecode. The application on the digital TV set on the index image from the removable recording medium 30 50 1703 of this embodiment uses the tape position information to mounted in the camcorder 101. According to this embodi search for a position on the tape. According to this embodi ment, for example, the history information (H) and the list ment, the application on the digital TV set 1703 first issues, information (L.) are recorded on the same recording format. for example, an ATN command. The ATN command is com In Step S812, the process calculates difference information pliant with a known AV/C Tape Recorder/Player subunit S between the history information (H) and the list informa 55 specification (IEEE 1394 Trade Association). The command tion (L). In Step S813, the process transmits a request for set in the above specification is a collection of the CTS com transferring index image information that is not included in mands described above. The camcorder 101, which receives the history information (H) based on the calculated differ the ATN command, transmits an INTERIM response to the ence information S. The difference index image and the data digital TV set 1703 to start an ATN search operation. The including the positional data on the magnetic tape and the date 60 camcorder 101 feeds the magnetic tape to a position near an and time data, associated with the index image, are read out ATN value set in the ATN command and suspends the tape from the camcorder 101. drive to be in a PLAY FORWARD PAUSE State. The cam In Step S814, the process creates new history information corder 101 returns an ACCEPTED response to the ATN com concerning the cassette identification information (C). If mand to the digital TV set 1703. Step S807 is performed before Step S814, the history infor 65 The digital TV set 1703, which receives the ACCEPTED mation is created from all the index image information. If the response, then issues a timecode command. In response the S813 is performed before Step S814, the history information timecode command, the camcorder 101 stores the timecode US 7,589,852 B2 29 30 currently read out in the response frame and returns the stored processing loop. The tape in the camcorder 101 can be timecode to the digital TV set 1703. The application on the stopped at a position within a predetermined error range from digital TV set 1703 reads out the timecode at the current the target position by the use of this loop. position of the camcorder 101, on the magnetic tape, using the As described above, in the application on the digital TV set timecode command. 1703 of this embodiment, it is sufficient for the operator to The application on the digital TV set 1703 then compares select one index image while watching the index images in the timecode value received from the camcorder 101 with the order to move the tape in the camcorder 101 to the tape (target) timecode value read out from the flash memory to position indicated by selected the index image, thus notice determine a direction at which the magnetic tape is fed. If the ably improving the responsiveness. In addition, the operator timecode value read out from the flash memory is larger than 10 the timecode value received from the camcorder 101, the can search for a desired tape position while watching the application on the digital TV set 1703 issues a PLAYNEXT index images, thus advantageously improving the responsive FRAME command. If the timecode value read out from the ness. Furthermore, since the data on a memory card inserted flash memory is smaller than the timecode value received in the camcorder 101 is recorded in the flash memory in the from the camcorder 101, the application on the digital TV set 15 digital TV set 1703 and is backed up, it is possible to protect 1703 issues a PLAY PREVIOUS FRAME command. If the the data even when the operator erroneously deletes the data timecode value read out from the flash memory is equal to the on the memory card or overwrites the data on the memory timecode value received from the camcorder 101, the process card. is completed. The operation of the application on the digital TV set 1703 Other Embodiments is described below with reference to FIG. 19. Referring to FIG. 19, in Step S1601, the process is started. In Step S1602, an operator selects an index image. In Step S1603, the process The object of the present invention can be attained by the starts a search operation associated with the selected index computer (or the CPU or the MPU) in a system or an appa image. The search operation is started with an operation by 25 ratus in which a storage medium storing program code of the operator on the application in the digital TV set 1703. In software for achieving the functions of the embodiments Step S1604, the process reads out an ATN associated with the described above is provided. The computer that reads and selected index image. In Step S1605, the process reads out a executes the program code stored in the storage medium can timecode associated with the selected index image and stores achieve the functions of the embodiments described above. the value of the timecode in a variable Tr. In Step S1606, the 30 In the above case, the program code itself, read out from the process issues an ATN control command to the camcorder storage medium, achieves the functions of the embodiments 101. In Step S1607, the process checks a first response to the described above. The program code itself and the storage ATN control command. If the response has a value other than medium storing the program code constitute the present INTERIM, in Step S1608, the process is completed because invention. an illegal value is set in the ATN control command or the 35 camcorder 101 cannot detect the ATN. Storage media for Supplying the program code include a If the response has the value INTERIM in Step S1607, then flexible disk, a hard disk, an optical disc, a magneto-optical in Step S1609, the process waits for an ACCEPTED response. disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile If the process receives the ACCEPTED response in Step memory card, and a ROM. S1609, then in Step S1610, the process issues a status com 40 The computer can execute the read program code to mand of the timecode to the camcorder 101. In Step S1611, achieve the functions of the embodiments described above. the process checks a response to the status command of the Or, the operating system, the basic system, or the like running timecode. If a response other than STABLE is received, in on the computer can execute all or part of the actual process Step S1608, the process is completed because an illegal value ing based on the instructions in the program code to achieve is set in the status command of the timecode or the camcorder 45 the functions of the embodiments described above. 101 cannot detect the timecode. If the STABLE response is Alternatively, after the program code read out from the received in Step S1611, then in Step S1612, the process stores the detected timecode in a variable Tc. storage medium has been written in a memory that is provided In Step S1613, the process compares the value of the vari in a function expansion board included in the computer or in able Tr with the value of the variable Tc. If the difference 50 a function expansion unit connected to the computer, the CPU between the values of the Tr and of the Tc is smaller than a or the like in the function expansion board or the function predetermined threshold value Th, the process determines expansion unit can execute all or part of the actual processing that the magnetic tape reaches the target position and, in Step based on the instructions in the program code to realize the S1608, the process is completed. If the difference between the functions of the embodiments described above. values of the Tr and of the Tc is larger than or equal to the 55 While the present invention has been described with refer predetermined threshold value Thand the Tris larger than the ence to what are presently considered to be the preferred Tc in Step S1613, then in Step S1614, the process issues a embodiments, it is to be understood that the invention is not PLAYNEXT FRAME control command to the camcorder limited to the disclosed embodiments. On the contrary, the 101. In response to the PLAYNEXT FRAME control com invention is intended to cover various modifications and mand, the camcorder 101 forwards the tape by one frame. If 60 equivalent arrangements included within the spirit and scope the difference between the values of the Tr and of the Tc is of the appended claims. The scope of the following claims is larger than or equal to the predetermined threshold value Th to be accorded the broadest interpretation so as to encompass and the Tris smaller than the Tc in Step S1613, then in Step all Such modifications and equivalent structures and func S1615, the process issues a PLAY PREVIOUS FRAME con tions. trol command to the camcorder 101. In response to the PLAY 65 This application claims priority from Japanese Patent PREVIOUS FRAME control command, the camcorder 101 Application No. 2003-404881 filed Dec. 3, 2003, which is rewinds the tape by one frame. Steps S1610 to S1015 form a hereby incorporated by reference herein. US 7,589,852 B2 31 32 What is claimed is: 6. A control method of controlling an image capture appa 1. An image capture apparatus comprising: ratus, the control method comprising steps of: a first recording unit adapted to record a moving image on recording a moving image on a first recording medium a first recording medium connected to the image capture connected to the image capture apparatus; apparatus; recording, on a second recording medium connected to the a second recording unit adapted to record, on a second image capture apparatus, related information including recording medium connected to the image capture appa information being used to generate a search command ratus, related information including information being for searching the first recording medium to find the used to generate a search command for searching the moving image: first recording medium to find the moving image; and 10 controlling the image capture apparatus to transmit the a controlling unit adapted to (a) control the image capture related information reproduced from the second record apparatus to transmit the related information reproduced ing medium to a controller connected to the image cap from the second recording medium to a controller con ture apparatus; and nected to the image capture apparatus and (b) control the controlling the image capture apparatus based on the image capture apparatus based on the search command 15 search command received from the controller to search received from the controller to search the first recording the first recording medium to find the moving image. medium to find the moving image. 7. The control method according to claim 6, wherein the 2. The image capture apparatus according to claim 1, related information includes information indicating a posi wherein the related information includes information indicat tion where the moving image is recorded. ing a position where the moving image is recorded. 8. The control method according to claim 6, wherein the 3. The image capture apparatus according to claim 1, related information includes information identifying the first wherein the related information includes information identi recording medium. fying the first recording medium. 9. The control method according to claim 6, wherein the 4. The image capture apparatus according to claim 1, related information includes first information indicating a 25 position where the moving image is recorded and second wherein the related information includes first information information identifying the first recording medium. indicating a position where the moving image is recorded and 10. The control method according to claim 6, wherein the second information identifying the first recording medium. first recording medium and the second recording medium are 5. The image capture apparatus according to claim 1, removable. wherein the first recording medium and the second recording medium are removable.