Method and apparatus for reading bar code of photographic film and method of determining the orientation of photographic film

Abstract: Two bar code sensors (8)(9) are disposed at opposite sides of a passage of a photographic film (2), each bar code sensor (8),(9) having two photosensors juxtaposed along the line perpendicular to the transportation direction of a photographic film. Each time a photographic film (2) is fed by a predetermined distance, signals outputted from the two bar code sensor units are sampled and compared with the signals obtained at the second preceding sampling timing to convert them into binary signals. Based on the the data configuration of binary signals, e.g., i.e., based on the the discrimination between the start code and end code, or the presence or absence of a clock track, automatic discrimination is performed between a DX bar code (6) data and frame number (4) bar code data which are then decoded into a film type and frame number, respectively. The setting conditions of a photographic film can also be determined based on the bar code data configuration. An alarm is made if the setting conditions are not normal. The feed amount of a read-out frame number code is measured to calculate the number of a frame set at the print stage. Reading a frame number bar code may be performed in synchro with reading the DX bar code clock track.

Description: BACKGROUND OF THE INVENTION The present invention relates to a method and apparatus for reading DX bar codes and frame number bar codes side-printed on a photographic film, and a method of determining the setting conditions of the photographic film on a film carrier based on the read-out results of such bar codes. DX bar codes representative of a film type (maker and film sensitivity) are printed in the form of latent image on the side portion of a negative film, e.g. of 135 type, the DX bar codes being made visible upon development process. The DX bar code is constructed of a clock track used for reading timings, and a data track on which data are recorded, both tracks being printed in juxtaposed arrangement on the negative film. The DX bar code is read with a bar code sensor unit at the time of printing or at the time of inspecting the quality (color balance and density) of frame image. The read-out film type data are used in calculating the exposure amount for printing. It is also known that a frame number bar code representative of a frame number is printed at the side of a photographic film. The frame number bar code is used, e.g., for searching the frame ordered to obtain additional prints thereof and automatically setting it at the print stage of a printer, for recording a frame number on some area of the print to dispense with the comparison work between a print and the frame, and for other objects. Side-printing both DX bar codes and frame number bar codes on a photographic film necessiates a use of different types of bar codes to allow discrimination therebetween. Moreover, it becomes necessary to use two bar code sensor units dedicated to each of the two types of bar codes and mounted on a film carrier at both the sides of a film passage. However, it becomes necessary to set the film on the film carrier in a predetermined direction either with a smallest frame number at the start position or with a largest frame number at the start position. If a film is set in the wrong direction, both the DX bar codes and frame number bar codes cannot be correctly read. Also, if a film is set upside down at the film carrier, the bar codes cannot be read correctly, and a photograph printed from the rear side is produced, thus resulting in loss of material and work time. Even if a read error occurs for a DX bar code, the following same DX bar code side-printed at equal intervals on the film may be read, thus posing no problem. However, only one frame number bar code is present for each particular frame so that if the bar code sensor unit erroneously reads the frame number, then the erroneously read number of the frame when set at the point stage cannot be identified. US-A-4 659 213 discloses a photographic printer in which image and marginal information, such as a DX code, having a clock track and a data track, are detected using image analysis, not bar code-sensors, and used for determining the film orientation in the printer film gate. Object of the Invention It is a principal object of the present invention to provide a bar code reading apparatus capable of reading both DX bar codes and frame number bar codes regardless of the direction of a photographic film set at the film carrier. It is another object of the present invention to provide a bar code reading apparatus for a photographic film capable of identifying the number of a frame positioned at the print stage, even if a read error occurs, based on the read-out frame number bar code of the preceding frame. It is a further object of the present invention to provide a method of determining the setting conditions of a photographic film based on the position and direction of a read-out bar code. It is a still further object of the present invention to provide a method of readily reading a frame number bar code by using the clock track of a DX bar code. Summary of the Invention The above and other objects, advantages of the present invention can be achieved as in the following. Two bar code sensor units having substantially the same structure are disposed at both sides of a photographic film passage. Each of the bar code sensor unit has two photosensors disposed perpendicular to the photographic film feed direction. Each time when a photographic film is fed by a constant distance, two signals outputted from each bar code sensor unit are sampled to read the DX bar code and frame number bar code printed at opposite sides of the photographic film. The orientation (film direction and film side) of a photographic film on a film carrier can be recognized based on the read-out data. Use of the clock track of a DX bar code makes it easy to read a frame number bar code. The two bar code sensor units have the same construction so that each of the two bar code sensor units can read both the DX bar code and frame number bar code. The two types of data read with each bar code sensor unit allow automatic discrimination between the DX bar code and frame number bar code. The discriminated DX bar code is decoded into a film type, and the discriminated frame number bar code is decoded into a frame number. By checking the positions of DX bar code and frame number bar code and checking if the reading has started from the start code or from the end code, it is possible to recognize the orientation of a photographic film on a film carrier. The sampling is carried out each time a photographic film is fed by a predetermined distance. The sampling is carried out synchronously with the drive pulses of a pulse motor by which a photographic film is caused to move, or synchronously with the drive pulses frequency divided or multiplied by an integer. The sampling may be carried out synchronously with pulses outputted from a rotary encoder mounted on a free roller simultaneously rotating with a motion of a photographic film. The bar code sensor unit is positioned remotely from a center of a film mask so that the read-out frame number is not that of a frame set at the film mask. In order to obtain the frame number of a frame set at the film mask, there are provided feed amount measuring means and calculating means. Feed amount measuring means measures the feed amount of a read-out frame number bar code from the mounting position of the bar code sensor unit. Calculating means obtains the distance between the read-out frame number bar code and the center of the film mask based on the obtained feed amount, and calculates the frame number of a frame set at the film mask by dividing the obtained distance by a pitch of frame number bar codes. Since frame numbers are printed at the side of each frame number bar code spaced apart therefrom by a predetermined distance, the feed amount of a frame number and the pitch of frame numbers may be used in a similar manner in determining the frame number of a frame set at the film mask. Feed amount measuring means is constructed of a perforation sensor for detecting the perforations of a photographic film, a perforation counter for counting output signals from the perforation sensor, and a pulse counter for counting the drive pulses for a pulse motor by which a photographic film is caused to move, the pulse count being reset in synchro with each count of a perforation by the perforation counter. It is preferable to measure the feed amount of a frame number bar code based on the number of perforations and drive pulses thus counted. Pulses outputted from a rotary encode simultaneously rotating with a motion of a photographic film may obviously be used instead of the drive pulses. According to the present invention, two bar code sensor units each having two photosensors are disposed at opposite side peripheries of a photographic film passage, and the signals from the bar code sensor units are sampled each time a photographic film is fed by a constant distance. Therefore, it is possible to read both the DX bar code and frame number bar code irrespective of the direction and side (back and front) of a photographic film. Based on the read-out data, the direction and side of a photographic film can be determined, and if a photographic film is set upside down, an alarm display is made or a print operation is stopped. The feed amount of a newest frame number bar code or corresponding frame number is measured to calculate a distance to the film mask. The calculated distance is divided by the pitch of frame number bar codes to obtain the number of frame number bar codes. The obtained number is added to or subtracted by the read-out frame number to identify the frame number of a frame set at the print mask. Therefore, even if a read error occurs, a previously stored read-out frame number bar code is used to identify the frame number now concerned. Brief Description of the Drawings The objects and advantages of the present invention will become more apparent from the following detailed description, taking in connection with the accompanying drawings, in which: Fig.1 shows a relationship of distance between bar code sensor units and a film mask according to an embodiment of this invention; Figs.2A and 2B show the examples of patterns of a frame number bar code and DX bar code printed on the photographic film shown in Fig.1; Fig.3 illustrates a relationship between the bar code sensor units and bar codes; Fig.4 is a schematic diagram showing a photographic printer used with the bar code sensors shown in Fig.1; Fig.5 is a block diagram of an electric circuit of the photographic printer; Fig.6 is a circuit diagram showing an example of the signal processing circuit; Fig.7 shows waveforms at various parts of the signal processing unit shown in Fig.6; Fig.8 is a perspective view of a film carrier; Fig.9 is a flow chart showing a print procedure by the photographic printer shown in Fig.4; Fig.10 is a flow chart showing the detail of the bar code reading procedure shown in Fig.9; Fig.11 is a block diagram of an electric circuit whereby an alarm display is performed if a photographic film is set in a wrong direction or on a wrong side, according to another embodiment of this invention; Fig.12 shows waveforms for producing binary data by the circuit shown in Fig.11; Figs.13A to 13D illustrate setting conditions of a photographic film; Fig.14 is a flow chart showing the print procedure according to the embodiment shown in Fig.11; Fig.15 is a flow chart showing the detail of the bar code reading procedure shown in Fig.14; Fig.16 is a flow chart showing the detail of the discrimination procedure for frame number and film type shown in Fig.14; Fig.17 is a flow chart showing the discrimination procedure for frame number and film type when a film direction is changed; Fig.18 is a view similar to Fig.3 illustrating the method of reading a frame number bar code using the clock track of a DX bar code according to this invention; and Fig.19 is a block diagram showing an electric circuit used with the reading method shown in Fig.18. Detailed Description of the Embodiments Fig.1 shows a relationship of distances between a film mask and sensor units, as viewed from the light source. A photographic film 2, e.g. a 135 type roll negative film, has a plurality of frames 2a to 2d printed thereon and perforations 3 at both sides thereof. At the intermediate position between the film edges and perforations 3, frame numbers 4 of numerical values are side printed at one side portion, and DX bar codes 6 at the other side portion. The frame numbers 4 and frame number bar codes 5 are disposed at a equal pitch "b". The DX bar codes 6 are disposed also at the equal pitch "b". The bar codes 5 and 6 and frame numbers 4 are recorded in the form of latent images which are made visible after photographic development. Two bar code sensor units 8 and 9 are mounted at both side portions of a passage of the photographic film 2 to perform contact transmission type reading. The bar code sensor units 8 and 9 have the same structure so that each of the bar code sensor units 8 and 9 can read both the frame number bar code 4 and DX bar code 5. The bar code sensor units 8 and 9 are disposed remotely from the center of a film mask 10 at the print position (print stage) by a distance "a". A perforation unit 11 is mounted above the passage of perforations 3 to optically detect them. A light projecting unit (not shown) made of, e.g., LEDs, is disposed facing each sensor unit 8, 9, 11, with the photographic film 2 being interposed therebetween. Figs.2A and 2B show the examples of patterns of the DX and frame number bar codes. As the frame number bar code 5, various types of bar codes conventionally proposed can be used. In this embodiment, a bar code of "Code 3 of 9" is used. The bar code has bars and spaces alternately disposed side by side. The bar or space with a larger width l1 represents a binary code "1", whereas the bar or space with a smaller width l2 (l1/2) represents a binary code "0". Five data bars are recorded within the data code area, and the start and end code areas are provided at the opposite sides of the data code area to distinguish between the highest bit and lowest bit of the bar code data. A wider start bar 5a is recorded in the start code area, whereas a narrower end bar 5b is recorded in the end code area. The distance between the edge of the start bar 5a and the center of the frame number 4 is a constant value of "c". The total length of the data, start code and end code areas is a constant value "d". The total length of "c" and "d" is represented by "e". Since a "code 3 of 9" is not a binary notation, the lowest bit does not identify whether a decimal number thereof is an odd number or an even number. The bar frame number bar code shown in Fig.2A represents "100010001100" so that a code "00100011" is recorded in the data code area, which corresponds to a decimal number of "26" and the frame number of "12A". The frame number bar code (represented herein by a decimal notation for convenience purposes) corresponds by 1-to-1 to the frame number as shown in Table 1. Instead of "S", "0" is used by a certain type of photographic film. Frame number bar code (Decimal) Frame number 1 S 2 SA 3 1 4 1A 5 2 6 2A . . . . 24 11A 25 12 26 12A . . . . 74 36A . . The DX bar code 6 is constructed of a clock track and a data track. Seven clock bars are recorded at a constant pitch (2 x l2) in the clock track, whereas data bars representative of a film type are recorded in the data track. At the opposite sides of the data code area, a start and end code areas are provided. A start pattern 6a is recorded in the start code area, whereas an end pattern 6b is recorded in the end code area. The DX bar code 6 has bars and spaces both having the same width of l1 which is the same as the narrower width of the frame number bar code 5. Fig.3 shows a relationship of positions of the bar codes and the bar code sensor units. The bar code sensor unit 8, 9 has at its bottom face an amorphous silicon substrate 13, 14 which requires no wire bonding for a sensor, thus allowing a compact size and contact transmission type reading for bar codes. An amplifier is also included in the bar code sensor unit 8, 9. Two photosensors 13A and 13B are fabricated on the amorphous silicon substrate 13. The photosensor 13A corresponds in position to the passage of the data track of the DX bar code, whereas the photosensor 13B corresponds in position to the clock track of the DX bar code 6. The amorphous silicon substrate 14 has the same structure as that of the amorphous silicon substrate 13, with the same alphabet fixed to the corresponding photosensor 14A and 14B. The perforation sensor unit 11 has also an amorphous silicon substrate 11 on which a photosensor 15a is fabricated facing the passage of the perforations 3. Fig.4 shows a photographic printer provided with the sensor units shown in Fig.1. A yellow filter 18, magenta filter 19, cyan filter 20 are mounted above a light source 17. These color correction filters 18 to 20 are caused to move in the plane perpendicular to the print optical path 21, and are adjustably inserted into the print optical path 21 in accordance with each color exposure amount, to thereby adjust the intensity of three color components of a print light. A print light passed through the color correction filters 18 to 20 is sufficiently diffused within a mixing box 22 which has a the structure that diffusion plates are mounted at opposite ends of rectangular tube whose inside constitutes a mirror face. A film carrier 110 (refer to Fig.8) is mounted above the mixing box 22 to set the photographic film 2 at the film carrier 110. A film mask 10 is mounted at the print stage of the film carrier 110, and feed roller pairs 23 and 24 operatively interconnected via a belt 26 are disposed at opposite sides of the film mask. The roller pair 23 is coupled to a pulse motor 25. The photographic film 2 is nipped with the feed roller pairs 23 and 24 and fed in the direction shown by an arrow one frame after another such that a frame to be printed is positioned at the print stage. A lens 27 and a sensor 28 are provided to measure the image within the frame set at the print stage. A print lens 29 is disposed above the print stage to enlarge the image within the frame set at the print stage and focus it onto a color paper 30. Between the print lens 29 and the color paper 30, a shutter 31 and a paper mask 32 are disposed. At opposite sides of the paper mask 32, two roller pairs 33 and 34 are mounted to nip and move the color paper one frame after another. The roller pair 33 is coupled to a pulse motor 35 whose rotation is transmitted via a belt 36 to the other roller pair 34. A character printer 37 is disposed at the side of the paper mask 32 to print the printed frame number obtained based on the frame number bar code 5 read with one of the bar code sensor units 8 and 9, on the back of the exposed color paper 30, for example in the form of dot pattern. Instead of the character printer 37, a paper mask print device constructed of a liquid crystal panel or a light emitting diode array may be mounted on the paper mask to print the frame number dot pattern simultaneously with photographic printing. Or a dedicated character printer and a magnetic floppy disk or the like storing the printed frame numbers may be used. In this case, the magnetic floppy and the developed, roll color paper are set at the dedicated character printer to print the frame number and thereafter, the color paper is cut into pieces of respective prints. Fig.5 shows a control circuit of the photographic printer. Signal processing circuits 40 and 41 are connected to the bar code sensor units 8 and 9. Signals outputted from the signal processing units 8 and 9 are processed in synchro with the drive pulses for the pulse motor 25 to output signals representative of the measured result. As described later in detail, two binary signals (1, 0) from the photosensor unit may be judged as black, two binary signals (0, 1) may be judged as white, and two binary signals (0, 0) may be judged as the same black or white as the preceding one. However, in this embodiment, the output signal from the photosensor which is sufficiently stable is used for discrimination between black and white. Since the two binary signals (1, 0) or (0, 1) represent that the output signal from the optical sensor is not still stable with relatively rapid change between two sampling timings, the two binary signals (0, 0) are judged as being for white and black, respectively corresponding to the bar and space (film base). CPU 45 samples the binary signals outputted from the signal processing circuits 40 and 41 which signals are sent via an I/O port 42 and bus line 43 to the buffer memory 44. The data stored in the buffer memory 44 are read into CPU 45 to judge the type of bar codes and convert the bar code into bar code data. CPU 45 sends a signal representative of rotation direction of the pulse motor 25 and drive pulses to the driver 47, to thereby control the rotation of the pulse motor 25 for moving the photographic film 2. The signal representative of the rotation direction is also inputted to the up/down terminals of a perforation counter 48 and a pulse counter 49. The perforation counter 48 counts up or down the signals outputted from the perforation sensor unit 11, in accordance with the rotation direction of the pulse motor 25, to thus measure the feed amount of the photographic film 2. The perforation counter 48 is reset by CPU 45 when the photographic film is set at the film carrier. The perforation counter 48 measures the feed amount of the photographic film 2 in units of the pitch of the perforations 3, which results in a coarse measurement of the feed amount. In this connection, the pulse motor causes to move the photographic film 2 by one pitch of the perforations 3 using, e.g, 20 drive pulses or steps. Therefore, the feed amount of the photographic film 2 can be measured more precisely by checking the number of drive pulses. In this embodiment, the count of the perforation counter 48 and the count of the pulse counter 49 which counts the drive pulses are used to perform precise measurement of the feed amount of the photographic film 2. The pulse counter 49 which measures the feed amount of the photographic film 2 within one pitch of the perforations 3 is reset in response to an output signal from the perforation sensor unit 11. A keyboard 53a is provided with fine adjustment keys 54a and 54b for finely adjusting the position of the photographic film, a pass key 55 for passing one frame, color correction keys 56, density correction keys 57, alphanumeric keys 58 for data input, and a print key for stating printing. ROM 62 stores therein programs for bar code reading sequence, various control sequences and the like. Reference numeral 64 represents a decode driver for driving a character printer 37. Fig.6 shows an example of the signal processing circuit 40 of analog type. The photosensor 13A is connected to a current/voltage converter 70 whereat a photocurrent is converted into a voltage. An output signal from the current/voltage converter 70 is supplied to and amplified by an amplifier 76 constructed of an operational amplifier 77 and resistors 78 and 79. An output of the amplifier 76 is held at one of hold circuits 84 to 86 upon selection by a demultiplexer 83 which is driven in response to a trailing edge of the drive pulse for the pulse motor 25. The hold circuits 84 to 86 for holding a signal each are constructed of a capacitor 88 and an operational amplifier 89. The output signals from the hold circuits 84 and 85 are inputted to a differential amplifier 90 to calculate a difference therebetween. The output signals from the hold circuits 85 and 86 are inputted to a differential amplifier 91 to calculate the difference therebetween. Similarly, the output signals from the hold circuits 84 and 84 are inputted to a differential amplifier 92. The hold circuits 84 to 84 and differential amplifiers 90 to 92 are provided for the purpose to compare the current signal with the signal sampled and held at the second preceding sampling pulse. This circuit arrangement has been adopted because, as seen from a photosensor output example shown in Fig.7, it takes approximately two drive pulse time duration for the output signal to move from a space to a bar. The difference between the current and two-pulse-before signal becomes large so that the light measuring condition of the photosensor 13A can be reliably detected. In addition, use of the differential amplifiers 90 to 92 ensures a correct measurement even with variations of the intensity of the light source. A multiplexer 94 is provided for selectively picking up the signals from the differential amplifiers 90 to 92, which multiplexer is switched in response to the switching of the demultiplexer 83. The signal selected by the multiplexer 94 is sent to a window comparator 95 to be converted into two binary signals P1 and P2 which are supplied to CPU 45 in synchro with the drive pulses. The combinations of the values of the two binary signals P1 and P2 are used for judging black (bar) and white (space) as previously described. The window comparator 95 is constructed of a first comparator 96 supplied with a first reference voltage Vh and a second comparator 97 supplied with a second reference voltage Vl. A potentiometer 100 is provided for setting the first voltage Vh which is supplied via a buffer 101. The second voltage V1 is supplied through an inverter amplifier 102 connected to the buffer 101. The waveforms at the signal processing circuit 40 are shown in Fig.7. The photosensor 13B is connected to a circuit 104 having the same structure as that for the photosensor 13A. Fig.8 shows a film carrier 110 which is constructed of a carrier main body 111 and a lid member 112 pivotally coupled thereto. The carrier main body 110 has a film passage 113 formed therein and the lower rollers of the feed roller pairs 23 and 24. The lid member 112 mounts the bar code sensor units 8 and 9, perforation sensor unit 11, film mask 10 and the upper rollers of the feed roller pairs 23 and 24. The lid member 112 is locked to the carrier main body 11 when the former is closed. Upon depression of a lock release knob 114, the lid member 112 is opened upward to expose the film passage 113 and allow to set the photographic film 2. The light sources are mounted facing the bar code sensor units 8 and 9 on the side of the film passage 113. Next, the operation of the above embodiment will be described with reference to Fig.9. Upon opening the lid member 112 of the film carrier 110, the film mask 10 and the upper rollers of the two feed roller pairs 23 and 24 are retracted upward to expose the film passage 113. The photographic film 2 is then set on the film passage 113, and the lid member 112 is moved to the original position so that the perforation counter 48 is reset at that time. After loading the photographic film 2, a pass key 55 is operated to make CPU 45 output a signal representative of a forward rotation direction. This forward rotation signal is inputted to the perforation counter 48 and pulse counter 49 to make them in an addition count state. CPU 45 outputs a predetermined number of drive pulses and sends them to the driver 47 to rotate the pulse motor 25 in the forward or normal direction. As the pulse motor 25 rotates in the normal direction, the photographic film 2 is nipped with the two feed roller pairs 23 and 24 and moved in the direction indicated by the arrow in Fig.4 by one frame. The drive pulses are also supplied to the pulse counter 49 which counts them. During the transportation of the photographic film 2, the perforation sensor unit 11 detects a perforation 3 and sends a detection signal to the perforation counter 48 and pulse counter 49. The perforation counter 48 which has been set in an addition count state counts up its content each time the detection signal is inputted thereto, to thus count the number of perforations 3. The pulse counter is reset each time the detection signal is supplied from the perforation sensor unit 11, to then start and continue measuring the fine feed amount of the photographic film 2 until the next perforation 3 is detected. The feed amount "H" of the photographic film 2, using as a reference the time when the first perforation was detected, can be therefore obtained by the following equation. H = α x Pn + Dn (1) where "Pn" represents a count of the perforation counter 48, "Dn" represents a count of the pulse counter 49, and "α" represents the number of drive pulses corresponding to one pitch of the perforations 3. The film feed amount is represented using the number of drive pulses in this embodiment. However, it may be represented by milimeters or inches. During the transportation of the photographic film 2, the bar code sensors 8 and 9 read the corresponding frame number bar code 5 and DX bar code 6 while contacting the bar code and detecting transmitted light. The bar code reading procedure will be described with reference to Fig.10. A signal outputted from the photosensor 13A is supplied to the current/voltage converter 70 whereat it is converted into a voltage signal which is then amplified by the amplifier 76. The amplified signal is sent to the demultiplexer 83 and further sent to a hold circuit, e.g., hold circuit 84 designated by the demultiplexer 83. Since the demultiplexer 83 sequentially and cyclically selects the hold circuits 84 to 86, the hold circuit 85 holds a signal sampled at the second preceding sampling pulse, whereas the hold circuit 86 holds a signal sampled at the first preceding sampling pulse. The output signals from the hold circuits 84 to 86 are sent to the differential amplifiers 90 to 92 to obtain a difference signal between a current signal and a two-pulse-before signal. With the circuit connection shown in Fig.6, the differential amplifier 90 compares the current signal with a signal sampled and held at the second preceding sampling pulse so that the difference signal is outputted via the multiplexer to the window comparator 95. Upon outputting a next drive pulse from CPU 45, the demultiplexer 83 and multiplexer 94 are switched to the hold circuit 85 at the trailing edge of the drive pulse. In this case, the difference signal from the differential amplifier 91 is selected and supplied to the window comparator 95. In the above manner, the difference signals from the differential amplifiers 90 to 92 are selectively picked up and sent to the window comparator as the difference signal shown in Fig.7. The window comparator 95 converts the difference signal into the two binary signals P1 and P2 using the two threshold values Vh and Vl. If the combination of the values of the two binary signals P1 and P2 is (1, 0), it means that the light measuring state is changing from a space to a bar between two light measuring timings. If the combination is (0, 1), it means that the light measuring state is changing from a bar to a space. If the combination is (0, 0), it means that a bar or space is just at the position of the photosensor 13A at both the two light measuring timings. In view of the above, in this embodiment, it is judged that the data (0, 0) changed from (1, 0) is black with an ample possibility since a bar is now under measurement, and it is judged that the data (0, 0) changed from (0, 1) is white with an ample possibility since a space is now under measurement. CPU 45 thus judges if the data are for black or white and the judgement data are stored in the buffer memory 44 in the manner as, e.g., with "1" assigned to black and "0" assigned to white. Similarly, a signal outputted from the photosensor 13B is converted into two binary signals P3 and P4 at the circuit 104 so that the black/white judgement result obtained therefrom is stored in the buffer memory 44. The black/white judgement result obtained using the other bar code sensor unit 9 is stored in the similar manner in the buffer memory 44. Each time the photographic film 2 is fed by a predetermined distance, sampling is performed. If all the binary signals P1 to P4 are "0" after a predetermined number of samplings, then CPU 45 judges that all the bars have been read completely. Upon this judgement, CPU 45 reads the counts of the perforation counter 48 and pulse counter 49. The number of pulses supplied from when the last bar was read and to the present time are obtained based upon the number of reading binary signals, i.e., the number of drive pulses, with reference to the buffer memory 44. The obtained number is then subtracted from the count of the pulse counter. Then, using this subtracted result and the count of the perforation counter 48, the film feed amount "H1" is calculated from the equation (1), the result being stored in RAM 63. If the subtraction result becomes a negative value, it becomes necessary that the count of the perforation counter 48 is subtracted by "1" and that the number of drive pulses corresponding to one pitch of the perforations 3 is subtracted by the subtraction result. After storing the film feed amount "H1" at the end of reading the bar code, CPU 45 judges the data read with the two bar code sensor units 8 and 9 if they are the frame number bar code 5, DX bar code 6, or frame number 4, based on the read-out data format including the presence or absence of data track, the configuration of the start code or end code. If the data are judged as the frame number 4, the buffer memory is reset to prepare for the next bar code reading. If the data read with one of the sensor units are judged as the frame number bar code 5, then the "N" sets of binary signal data stored in the buffer memory 44 at first address to N-th address are caused to be sequentially read out. The number N of binary signal data sets corresponds to the number of data within the data code area, which is 5 in the case of the frame number bar code shown in Fig.7. Prior to reading the N binary signal data sets, it is judged if the start data are for the start code or for the end code based on the length of black bar, i.e., the number of bits. If it is judged that the frame number bar code 5 was read from the start code side, then the addresses at which the binary signal data sets are stored are used to sequentially read out the binary signal data sets from the buffer memory 44. Alternatively, if it is judged that the frame number bar code 5 was read from the end code side, then the addresses are used from the highest address to read out the binary signal data sets in the reverse order to thereby make the bits on the start code side as the lowest bits. Next, the length of black and white (number of bits) is judged to convert it into the binary signal with the longer one set as "1" and the shorter one as "0", to thereby generate the bar code data. The bar code data are then decoded, with reference to a frame number bar code data table stored in ROM 62, into a frame number which is in turn stored in RAM 63. In actual, the frame number decoded is a numerical value as shown in Table 1. If it is judged as the DX bar code 6, then it is judged if the DX bar code 6 was read from the start code or not. If the DX bar code was read from the end code, then the content in the buffer memory 44 is read in the reverse order. In reading out the DX bar code data from the buffer memory 44, those data read with the photosensor 13B or 14B are used to identify the addresses where the two binary signals changes from (1, 0) to (0, 0). The DX bar code data read with the photosensor 13A or 14A are then read out from the buffer memory 44 at the above addresses. Consequently, the DX bar code 6 is detected while checking its data track status at the boudaries of the bar and space recorded on the clock track. The bar code data are decoded, with reference to a DX bar code table stored in ROM 62, into a film type. The obtained film type is stored in RAM 63. In actual, the numerical value corresponding to the film type is stored. After storing the frame number and film type, the buffer memory 44 is reset to advance to reading the next bar code in the manner described in the foregoing. The just read-out frame number and film type are replaced with the data previously read. At the same time, the film feed amount "H1" at the end of reading the bar code is replaced with a new one. After completion of feeding the photographic film 2 by a predetermined amount, the pulse motor 25 is caused to stop. Thereafter, film inspection is carried out while monitoring it through the film mask 10. In the film inspection, it is first checked if the first frame is correctly positioned at the print stage. If there is a shift in position alignment, the fine adjustment key 54a or 54b matching the shift direction is operated to slowly rotate the pulse motor in the forward or backward direction to correct the position of the frame. During this adjustment operation, since the perforation counter 48 and pulse counter 49 are set at the addition count state for the forward direction and at the subtraction count state for the backward direction, the counters 48 and 49 operate to count up or down accordingly. Next, it is judged if the frame correctly aligned at the film mask 10 is to be printed or not. If the frame has no image therein, an out-of-focus image, or an extraordinary over exposure or under exposure image, then it is judged that the frame is not necessary to be printed. For such an unnecessary frame, the pass key 55 is operated to feed one frame to thereafter perform position alignment for the second frame. For a frame necessary to be printed, it is judged if a subject failure occurs by the automatic exposure control. If it is anticipated that the subject failure will occur and the finished print of a main object becomes to have poor density and color, then the density correction key 56, color correction key 57 are operated to input manually the exposure correction data. After the frame inspection, the print key 59 is operated to make CPU 45 calculate the number of the frame to be printed. Upon operation of the print key 59, the counts of the perforation counter 48 and pulse counter 49 are read to calculate the film feed amount "H2" by using the equation (1). In this embodiment, the film feed amount "H1" when the bar code sensor unit 8 detected the pass of the end bar 5b is stored in RAM 63, so that by obtaining a difference therebetween, the transportation amount "x" of the end bar 5b of the last read frame number bar code can be obtained. Since the distance "L" from the center of the film mask 10 to the frame number is given by: L = (a - x -e) (2) the number of frames "n" and the remainder "m" can be obtained by dividing L by the pitch "b" of frame numbers. Namely: L/b = n with remainder "m" (3) The remainder "m" corresponds to a distance from the frame number at the right side within the film mask 10 to the center thereof. Since the pitch "b" of the frame number is a constant value, the following equation stands, taking "M" as the distance from the frame number at the left side within the film mask 10 to the center thereof: b = m = M (4) It is possible to know the frame number nearer to the center of the film mask 10 based on which value of "M" and "m" is larger or smaller. Specifically, taking "N" as the decoded numerical value of the read-out frame number bar code, the decoded numerical value "Y" of the bar code of the frame number nearer to the center of the frame 2a becomes: for m is equal to or smaller than M Y = N - n (5) and for m is larger than M Y = N - n - 1 (6) In the case where the photographic film 2 is transported from the film mask 10 to the bar code sensors 8 and 9, "+x" is used instead of "-x" in the above equations (2) and (6). In the case where the film feed amount is measured from the start bar 5a, "c" is used instead of "e". In the case where the frame number is larger at the film mask 10 side than at the bar code sensors 8 and 9 side, used are "+e" or "+c" instead of "-e" or "-c", and "+n" instead of "-n". For the case shown in Fig.1, assuming that a = 90, b = 15, x = 3, e = 8, and N = 30, then L = 90 - 3 - 8 = 79 79/15 = 5 with remainder 4 Since 4 is smaller than 11, the values of "N" and "n" are substituted into the equation (4). The result is: Y = 30 - 5 = 25 The frame number indicated by decimal number "25" of the decoded frame number bar code is "12". Therefore, it is judged that the frame of number "12" is positioned nearest to the center of the film mask 10. After calculating the frame number and storing the frame number data in RAM 63, the exposure light amount is calculated by measuring light with the sensor 28. The obtained exposure light amount and the exposure correction data inputted through the keyboard 53 are used to calculate an exposure amount for each color. In accordance with the each exposure amount, the insertion amount of the color correction filters 18 to 20 into the optical path 21 is adjusted. After this adjustment, the shutter 31 is opened to expose light to the color paper 30. After the exposure, the pulse motor 35 is rotated to feed the color paper 30 by one frame and set the unexposed portion at the exposure stage, with the color correction filters 18 to 20 being retracted to the normal positions. After the color paper 30 was fed, CPU 45 reads the frame number from RAM 63 and sends it to the decode driver 64. The decode driver 64 drives the character printer 37 to print the frame number "12" at the back of the exposed frame. In the similar manner, the frame number of each frame is read to make a print thereof, and the read-out frame number is printed at the back of the color paper 30. If the direction of the photographic film 2 is limited to one direction with respect to the film carrier 110, then the programs are simplified because it is not necessary to discriminate the type of bar codes. In this case, if the wrong film direction is employed, the car code cannot be read correctly. Fig.11 is a block diagram showing an embodiment where if a wrong film direction is set, an alarm display is conducted. In Fig.11, similar elements to those in Figs.1 to 8 are represented by using identical reference numerals, and the description therefor is omitted. In this embodiment, the discrimination between black and white bars is carried out with softwares under control of CPU 45. The car codes 8 and 9 are connected to A/D converters 120 and 121. Each time the photographic film 2 is fed by a predetermined distance, signals outputted from the bar code sensors 8 and 9 are sampled, digitalized and stored in temporary buffer memories 122 and 123. In this embodiment, the digital conversion is carried out using as its sampling pulses the drive pulses for driving the pulse motor 25. The drive pulses frequency divided or multiplied may be used as the sampling pulses, or the pulses outputted from a rotary encoder coupled to a free roller simultaneously rotating with the motion of the photographic film 2 may also be used as the sampling pulses for such digital conversion. Data stored in the temporary buffer memories 122 and 123 are taken in CPU 45 which discriminates "black" and "white" states corresponding to the bar and space which the bar code sensor units 8 and 9 measured, to thus generate the black/white data. The black/white data for the bar code sensor unit 8 are written in a buffer memory 124a, and the black/white data for the bar code sensor unit 9 are written in a buffer memory 124b. CPU 45 judges the setting conditions of the photographic film 2 and the type of bar codes based on the white/black data, and decodes the white/black data. The keyboard 53 is provided with film direction designating keys 126a and 126b. The film direction designating key 126a is used for the case where the photographic film 2 is set at the film carrier 100 with the frame of smallest frame number positioned at the top. On the other hand, the film direction designating key 126b is used for the case where the photographic film 2 is set at the film carrier 100 with the frame of largest frame number positioned at the top. Upon designation of the film direction, the type of bar codes read with the bar code sensor units 8 and 9 can be identified, and also whether the bar code is read from the start code or from the end code can be identified. With the identified bar code type and reading direction given, it is possible to know the film direction and film side (i.e, it is normally set or reversely set). If the film direction is opposite to the designated one, the driver 127 drives a film direction alarm display 128. If the photographic film is set reversely, the driver 129 drives a film side alarm display 130. As the alarm displays 128 and 130, lamps, buzzers, liquid crystal display panels or the like may be used. If a liquid crystal panel is used, the alarm displays 128 and 130 may be integrated in unison. Fig.12 illustrates output waveforms of the photosensor and how CPU generates binary data. As the photographic film 2 is fed, the photosensor 13A generates photocurrent in accordance with measured bar or space. The photocurrent is sampled and quantized at A/D converters 120 and 121 in synchro with the drive pulses, and the obtained data are compared with the data at the second preceding drive pulse to obtain a difference therebetween. If the difference is higher than a first level "Rh", it is converted into binary data (1, 0), if it is lower than a second level "Rl", it is converted into binary data (0, 1), if it is between the two levels, it is converted into binary data (0, 0). Next, the operation of the above embodiment will be briefly described with reference to Figs.13 to 16. First, using the keyboard 53, the direction of the photographic film 2 is designated. For instance, as shown in Fig.13A, if the photographic film is to be set with the frame of smaller frame number positioned at the top, the film direction designating key 126a is actuated. Next, the photographic film 2 is set as above to start feeding it. As the photographic film 2 is fed, the bar code sensor units output two types of different signals which are digitalized and stored in the temporary buffer memories 122 and 123, respectively. The data from the photosensor 13A stored in the temporary buffer memory 122 are read by CPU 45 to calculate a difference from the data at the second preceding drive pulse. As shown in Fig.12, the difference is converted into binary data so that the discrimination between black and white is conducted based on the time domain history of binary data as described with reference to the first embodiment. The obtained black/white data are stored in the buffer memory 124a. Similarly, the data from the photosensor 13B are read from the temporary buffer memory 122 and converted into black/white data which are stored in the buffer memory 124a. The data read from the temporary buffer 123 are subject to similar black/white discrimination, and the obtained black/white data are stored in the buffer memory 124b. After it is confirmed in accordance with the procedure described with Fig.10 that the bar code reading has completed, CPU 45 judges if the data read with the bar code sensor unit 8 are for the designated bar code based on the stored data. This judgement can be conducted based on whether there is a data track or not, or the start code or end code. In this embodiment, since the direction of the photographic film is assumed as designated as shown in Fig.13A, it is judged if the bar code sensor 8 read the frame number bar code 5 or not. If affirmative, then it is judged if the data was read from the start code or not. If the data were read from the end code, the photographic film 2 was set as shown in Fig.13D so that the film direction alarm display 128 and film side alarm display 130 are driven to alarm such effects, and the pulse motor 25 is stopped to forcibly stop feeding the photographic film 2. If the bar code sensor unit 8 read the DX bar code 6, it is judged if the data were read from the start code or not. If affirmative, the photographic film 2 was set as shown in Fig.13C so that the film side alarm display 130 is driven to alarm such effects, and the photographic film feeding is stopped. If the data were read from the end code, the photographic film 2 was set as shown in Fig.13B so that the film direction alarm display 128 is driven to alarm such effects. For the wrong film direction and side, the lid member 112 of the film carrier 100 is opened to again set the photographic film 2 correctly in accordance with the content of the alarm display. For the wrong film direction, the film direction designating key 126b may be actuated and the pass key 55 is operated to restart the film feeding. If the data read with the bar code sensor unit 8 are neither the frame number bar code 5 nor the DX bar code 6, it is judged the bar code sensor unit read the frame number 4, and the buffer memories are reset to prepare reading the following bar code. If the film direction and side are correct, the bar code sensor unit 8 has read the frame number bar code 5 from the start code thereof, and the bar code sensor unit 9 has read the DX bar code 6 from the start code thereof. As previously described, the bar code data are generated and converted into the frame number and film type with reference to ROM 62. After storing the film number or film type in RAM 63, the buffer memories 124a and 124b are reset to read the next bar code in the manner as described above. Thereafter, the frame number bar code 5 and DX bar code 6 are read in the similar manner so that the obtained frame number and film type are replaced with the old data and stored. At the same time, the film feed amount "H1" at the end of reading the frame number is replaced with a new one. If the photographic film 2 is set with the frame of larger number positioned at the top, the procedure shown in Fig.17 is used instead of Fig.16. In this case, the film direction designating key 126b of the keyboard 53 is actuated. Only for the case where the photographic film 2 is set as shown in Fig.13A, the bar code sensor units 8 and 9 can read the frame number bar code 5 and DX bar code 6. For the other cases, an alarm display is effected by means of the film direction alarm display 128 and film side alarm display 130. In these cases, since the data are read from the end code, the black/white data in the buffer memories 124a and 124b are read reversely from a larger address to a smaller address to obtain the frame number and film type. As shown in Fig.18, if the frame number bar code 5 is recorded in positional correspondence to the DX bar code 6 as shown in Fig.18, then it is possible to readily read the frame number bar code using the clock track of the DX bar code 6. Specifically, the edge of the first clock bar 6C1 recorded on the data code area of the DX bar code 6 coincides in position with one edge of the start bar 5a of the frame number bar code 5. The edge of the second clock bar 6C2 coincides in position with the other edge of the start bar 5a. Similarly, the edge of the clock bar 6C3 coincides with the edge of the data bar 5C1. Thus, it is possible to read the frame number bar code 5 using the clock track of the DX bar code 6. Even if such positional coincidence between two bar codes is not present, the bar code sensor unit 8 may be mounted at such a position where the positional difference can be eliminated so that the frame number code can be read using the clock track of the DX bar code 6. Such reading method shown in Fig.18 is also applicable to the embodiments shown in Figs.5 and 11. Fig.19 is a block diagram showing an example of a circuit used for reading the frame number bar code with the aid of the clock track. In this embodiment, since the film direction is limited to one direction, the photosensor 14B of the bar code sensor unit 9 reads the signals recorded on the clock track of the DX bar code 6. Signals outputted from the photosensor 14B are differentiated at a differentiation circuit 136. Sampling circuits 135 and 140 perform sampling operations in synchro with the obtained differentiated signals. The sampling circuit 135 samples a signal outputted from the photosensor 13A which signal is binarized at a binarization circuit 137 to be stored in a buffer memory 137. A series of binary signals stored in the buffer memory 137 are decoded at a decoder 139 into frame number data. Similarly, a signal outputted from the photosensor 14A is subject to the circuit constructed of a binarization circuit 141, buffer memory 142, and decoder 143. In order to read both the DX bar code 6 and frame number code 5, the photosensors 13B and 14B are connected to the differentiation circuit 136 via an OR gate so that the type of bar codes is discriminated based on a difference of code patterns as described previously. In the embodiment shown in Fig.11, the direction of the photographic film 2 can be selected by the film direction designating keys 126a and 126b. However, for simplifying the structure, the film direction keys may be omitted and the film direction is fixed at one particular direction. In this case, the type of bar codes read with the bar code sensor units 8 and 9, and the reading direction are fixed so that the reading and decoding procedure becomes simple. The film direction and film side are arranged to independently alarm a wrong one. However, the same alarm may be used in common for both the film direction and film side to simplify the alarm procedure. For the embodiment shown in Fig.5 whereby reading is allowed irrespective of film direction, an alarm only for a wrong film side is performed. The determination of the setting conditions of the photographic film is also applicable to photographic films now available in the market with only DX bar codes side printed. Further, in order to efficiently perform photographic printing, the photographic film 2 may be first fed in the one direction to perform for each frame a film inspection (position setting, exposure amount calculation) and frame number reading, and then the photographic film 2 is fed in the opposite direction to automatically position each frame and consecutively perform photographic printing based on the position data obtained by the film inspection. The present invention is applicable not only to a photographic printer, but also to a frame image inspection apparatus for manually determining an exposure correction amount. It will, of course, be understood that various changes and modifications may be made without departing from the scope of the present invention, which generally stated, consists in the matter set forth in the accompanying claims.

Claims: An apparatus for reading a DX bar code (6) recorded on one side portion of a photographic film (2) and a frame number bar code (5) recorded on the other side portion, comprising: two bar code sensor units (8,9) having substantially the same structure disposed on opposite sides of the path of said photographic film (2) in the direction of the film width, each said bar code sensor unit (8,9) being provided with two photosensors (13A,13B,14A,14B) juxtaposed along a line perpendicular to the lengthwise direction in which said photographic film (2) is transported; sampling means (135,140) for sampling at the same time four types of signals outputted from said four photosensors (13A,13B,14A,14B), each time said photographic film (2) is transported a predetermined distance; digitising means (137,141) for digitising said signals sampled by said sampling means (135,140) and means for automatically discriminating the data of said DX bar code (6) and frame number bar code (5) read with said two bar code sensors (8,9), based on the data configuration, and obtaining a film type from said discriminated DX bar code data and a frame number from said frame number bar code data. An apparatus according to claim 1, further comprising means for determining the direction and side of said photographic film (2) based on the read-out two types of bar codes, and means (128,130) for alarming in case of a wrong film direction and side. An apparatus according to claim 1, further comprising means for measuring the feed amount of the read-out frame number bar code (5), from a reference position which is the mounting position of said bar code sensor unit (8), means for obtaining a distance to the center of a film mask from the read-out frame number bar code (5) or associated side-printed frame number, based on said measured feed amount, and means for obtaining the number of frames by dividing said distance by the pitch of said frame number bar code (5) or associated side-printed frame number, and calculating the frame number of a frame set at said film mask, based on said number of frames and said read-out frame number. An apparatus according to claim 3, wherein said feed amount measuring means comprises a perforation sensor (11) for detecting a perforation of said photographic film (2), a first counter (48) for counting an output signal from said perforation sensor, and a second counter (49) for counting a drive pulse used in feeding said photographic film (2), said second counter (49) being reset in synchronisation with each count operation by said first counter (48), whereby said feed amount of said read-out frame number bar code is measured based on the number of perforations and the number of drive pulses. An apparatus according to claim 4, wherein said sampling is performed in synchronism with drive pulses supplied to a pluse motor (25) which transports said photographic film (2). An apparatus according to claim 5, wherein said photosensor is fabricated on an amorphous silicon substrate. An apparatus according to claim 6, wherein said digitising means (137,141) comprises means for obtaining a difference signal between a current sampled signal and a signal sampled at the second preceding sampling timing, and data conversion means for converting said difference signal into a binary signal of value 1,0 if said difference signal is larger than a first reference level, into a binary signal of value 0,1 if said difference signal is lower than a second reference level, or into a binary signal of value 0,0 if said difference signal is between said first and second reference signal levels. An apparatus according to claim 7, wherein said data convesion means is a window comparator (95). An apparatus according to claim 7, where a binary signal of 0,0 produced after a signal of 1,0 are judged as indicating a bar, and a binary signal of 0,0 produced after a signal of 0,1 are judged as indicating a space. A method of determining the orientation of a photographic film (2) having at least one type of side-printed bar code, said bar code being recorded in a data code area, a start code area and end code area being disposed at opposite sides of said data code area, comprising the steps of: reading said bar code while said photographic film (2) is fed with an apparatus according to claim 1, and determining the orientation of a said photographic film (2) with respect to a film carrier based on the read-out bar code data. A method according to claim 10, further comprising a step of issuing an alarm when the orientation of said photographic film (2) is not normal. A method of reading a DX bar code (6) and a frame number bar code (5) side-printed on a photographic film (2), said DX bar code (6) being constructed of a clock track and a data track and representing a type of said photographic film, and said frame number bar code (5) representing a frame number, comprising a step of: reading a bar of said frame number bar code (5) synchronously with detecting said clock track of said DX bar code (6).

Inventors: SAEKI YOSHIHIKO C O FUJI PHOTO, TAHARA SHUJI C O FUJI PHOTO FI, TOKUDA KANJI C O FUJI PHOTO FI, UJIIE YOHICHI C O FUJI PHOTO F, SAEKI, YOSHIHIKO C/O FUJI PHOTO FILM CO.LTD., TAHARA, SHUJI C/O FUJI PHOTO FILM CO., LTD., TOKUDA, KANJI C/O FUJI PHOTO FILM CO., LTD., UJIIE, YOHICHI C/O FUJI PHOTO FILM CO., LTD.
Applicants: FUJI PHOTO FILM CO LTD, FUJI PHOTO FILM CO., LTD.
Application year: 1989
Main classification: G03B27
IPC codes: G03B27