WO1999040724A1 - Image defect identification system - Google Patents

Image defect identification system Download PDF

Info

Publication number
WO1999040724A1
WO1999040724A1 PCT/US1999/002576 US9902576W WO9940724A1 WO 1999040724 A1 WO1999040724 A1 WO 1999040724A1 US 9902576 W US9902576 W US 9902576W WO 9940724 A1 WO9940724 A1 WO 9940724A1
Authority
WO
WIPO (PCT)
Prior art keywords
defect
database
information
storing
owner
Prior art date
Application number
PCT/US1999/002576
Other languages
French (fr)
Other versions
WO1999040724B1 (en
WO1999040724A8 (en
WO1999040724A9 (en
Inventor
Sean Michael Coughlin
Clyde W. Spear
Gretchen Marie Linder
Steven Minoru Haruta
Original Assignee
Post Optical Services, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Post Optical Services, Inc. filed Critical Post Optical Services, Inc.
Priority to AU26599/99A priority Critical patent/AU2659999A/en
Publication of WO1999040724A1 publication Critical patent/WO1999040724A1/en
Publication of WO1999040724B1 publication Critical patent/WO1999040724B1/en
Publication of WO1999040724A8 publication Critical patent/WO1999040724A8/en
Publication of WO1999040724A9 publication Critical patent/WO1999040724A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • H04N1/4097Removing errors due external factors, e.g. dust, scratches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/253Picture signal generating by scanning motion picture films or slide opaques, e.g. for telecine

Definitions

  • the present invention generally relates to identifying defects in film-based materials. More specifically, the present invention is a method and apparatus for identifying defects in film frames or motion pictures, and for storing and managing information that describes the defects.
  • asset refers broadly to a motion picture that can be exploited in some way
  • element refers to a particular motion picture medium or other film-based product in which the asset is fixed or recorded, including a film print, camera negative, interpositive, duplicate negative, color reversal intermediate, and internegative.
  • element or “motion picture element” also refers to any other tangible linear or serial information carrying medium that is subject to damage or wear from handling or playback, including videotape, audio tape, and other materials.
  • an asset is the film "Gone With The Wind”; elements of that asset include its camera negative, a print, etc.
  • the motion picture restoration process generally involves identification of an asset or element to be restored, review of the asset to identify defects, and correction of at least some of the defects.
  • an owner of an asset such as a motion picture studio or distributor, identifies an asset for restoration, re-release, etc.
  • the owner generally determines that the asset needs restoration or evaluation for restoration.
  • the owner contracts with an external service provider to carry out the restoration.
  • the cost of the restoration is usually proportional to the number and type of defects in the asset.
  • the service provider reviews the asset or its elements, identifies defects in the asset, and records information about the defects in paper form, for example, in a handwritten form or table.
  • the review stage of the process is a fact-finding mission intended to gather information from which the owner of the asset can determine what restoration activities to undertake.
  • Restoration may involve electronic corrective work on a digitized version of the asset, such as inter-cutting different elements of an asset so as to cut out a destroyed frame, shot or scene from one element and substitute a frame, shot or scene from another element.
  • These processes may also involve various forms of chemical treatment.
  • the review stage has involved placing the asset on a viewing device, such as a flatbed editing machine, viewing the assets by eye, and assessing defects subjectively and manually.
  • a viewing device such as a flatbed editing machine
  • the asset is displayed using a film chain or projection equipment and viewed directly using the eye.
  • Another approach is running the asset through a film scanner that digitizes the film and generates a corresponding video image, and manually examining the video display.
  • a disadvantage of these approaches is that they do not permit individual frames, shots or scenes containing a defect to be automatically associated with information that describes the location of the frames, shots or scenes, and with information that describes the defect.
  • information about the nature and location of defects has been recorded manually on handwritten forms.
  • defect reporting has been extremely subjective. For example, different persons vary widely in their perception of the nature and severity of defects. In the past approaches, such different persons have recorded in the forms different, subjectively- determined values to denote the severity of a defect. As a result, often it is difficult for an owner of an asset to interpret or evaluate the true severity of a defect. There is a need for a more consistent and objective way to record and report defect information.
  • the service provider conveys the information to the owner so that the owner can review it to determine the extent of the restoration that is needed. Often, the owner wishes to review each portion of the asset that contains a defect at the same time that the owner reviews the information, so that the owner can determine whether the service provider's descriptions are accurate. Since descriptions of defects are highly subjective, the owner review step is important. One complication of this process is that the owner often wishes to receive the information in a confidential way. In particular, the owner of an asset usually does not want its competitors to know the condition of the asset, and does not want its competitors to know which assets it is evaluating for possible exploitation. Thus, there is a need for the service provider to communicate with the owner of the asset in a secure way.
  • a limiting factor in carrying out the restoration process according to the foregoing prior approach is the speed with which information that describes defects in an asset is assembled, managed, and transported.
  • the handwritten forms are tedious to compile and can be communicated to the owner of the asset only using traditional methods of document transmission, such as mail or facsimile. Further, it is difficult for the owner of the asset to make decisions about whether to pursue corrective work on defects based only on information in the handwritten forms.
  • the owner of the asset normally receives only the form and not the asset.
  • Another disadvantage of the past approaches is that they do not enable the owner of the asset to easily cross-reference the condition of multiple elements of an asset. For example, the owner may wish to know whether the same stain, dig or tear is present in a particular negative and a print made from that negative. In the past, this has required tedious cross-comparison of handwritten defect reports.
  • the present invention provides, in one aspect, a method of evaluating defects in a motion picture element, the method comprising the steps of identifying a defect in a portion of the motion picture element; storing information that describes the defect, in association with a location value that identifies a location of the defect, in a defect database; and providing an owner of the motion picture element with access to the defect database.
  • One feature of this aspect involves identifying a defect by converting the portion into a video image; displaying the video image on a display; and identifying the defect based on the video image.
  • Another feature relates to generating the location value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device.
  • the method includes the steps of converting the video image into a digitized image representation; and storing the digitized image representation in the database in association with the information that describes the defect.
  • Still another feature involves generating the location value by (a) generating a frame count value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device and (b) converting the frame count value into a footage value and a frame value.
  • the step of storing information comprises the steps of (A) storing information that describes the defect, in association with a location value that identifies a location of the defect in the motion picture element, in a defect file; and (B) reading the information that describes the defect, and the location value, from the defect file and storing the information that describes the defect and the location value into the database.
  • step (A) further comprises the steps of storing header information in the defect file; storing reel identifying information in the defect file; and storing a type code, the location value, and the information that describes the defect in the defect file.
  • the step of storing a type code further includes the step of storing a footage value and a frame value in the defect file.
  • step (B) further comprises the step of storing the information that describes the defect and the location value in an array that is stored in the memory of a computer.
  • the step of storing further comprises the steps of storing work order information about motion picture defect evaluation projects in one of a plurality of work order records in a work order table of the database; storing reel descriptive information about one or more reels of the motion picture element in one or more reel records of a reel information table of the database, in which each reel record is associated with one of the work order records; and storing defect descriptive information about one or more defects of a reel of the motion picture element in one or more defect records of a defect information table of the database, in which each defect record is associated with one of the reel records.
  • Yet another feature further involves the steps of converting the portion into a video image; converting the video image into a digitized image representation; and storing the digitized image representation in one of the defect records in association with the defect descriptive information.
  • the step of providing an owner of the motion picture element with access to the defect database comprises the steps of storing the defect database in a computer- readable medium; delivering the computer-readable medium to the owner; and displaying the database at a client of the owner.
  • the step of providing an owner of the motion picture element with access to the defect database comprises the steps of storing the defect database in a server that is accessible over a global computer network, in which the server is responsive to requests for information that are presented in an agreed-upon protocol; providing to the owner an identifier of a location on the server of the defect database; and retrieving a copy of the database at a client of the owner using the protocol.
  • the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in anonymous file transfer protocol (FTP).
  • FTP anonymous file transfer protocol
  • the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in hypertext transfer protocol (HTTP).
  • the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in the database.
  • the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in one of the defect records in association with a defect that is referenced in the comments.
  • the step of storing defect descriptive information includes the step of storing a unique reel reference value in one of the defect records in association with the descriptive information.
  • the step of storing a unique reel reference value includes the step of generating the unique reel reference value based on a work order number and a reel number that are associated, respectively, with a work order record and a reel record that relate to the defect information.
  • Figure 1 is a block diagram of a computer system environment in which embodiments of the present invention may be used.
  • Figure 2 is a block diagram of a database schema used in a preferred embodiment.
  • Figure 3 is a block diagram of software components used in a preferred embodiment.
  • Figure 4 is a block diagram of a computer system with which an embodiment of the present invention is implemented.
  • Figure 5 is a flow diagram of an embodiment of a method of identifying defects in a motion picture element.
  • Figure 6A is a flow diagram of an embodiment of a method of converting a defect file into a file that is compatible with a database.
  • Figure 6B is a flow diagram of additional steps in the method of Figure 6A.
  • Figure 6C is a flow diagram of additional steps in the method of Figure 6 A.
  • Figure 6D is a flow diagram of additional steps in the method of Figure 6A.
  • Figure 6E is a flow diagram of additional steps in the method of Figure 6A.
  • Figure 7 is a diagram of a user interface screen that is generated using a preferred embodiment.
  • Figure 8 is a diagram of a report that is generated by a preferred embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 is a block diagram of a computer system environment in which embodiments of the present invention may be used.
  • a motion picture element 100 is provided to a film scanner 102 having a film/frame counter 104.
  • “Element” refers to any image medium, including still frame and - -
  • the film scanner 102 is a machine that projects the element and creates a digitized signal representing an image recorded in the element in real time, frame by frame.
  • the digitized signal can be processed by an external computer, as will be explained further below.
  • the film scanner 102 also produces video information that is displayed to an operator of the film scanner.
  • the film scanner 102 generates a conventional NTSC video signal that is coupled to a display 107 such as a conventional television monitor. Using the monitor, an operator of the film scanner can see the image produced by the film scanner as the element passes through the scanner.
  • the video signal is also coupled by a signal path 134 to the computer system 108.
  • the computer system 108 has a video digitizer that receives the video signal and converts it to digital form.
  • the film/frame counter 104 operates in conjunction with the film scanner and counts the element as it passes through the film scanner 102.
  • count means to automatically measure the length of an element in frames.
  • the film scanner 102 internally generates one electronic pulse per frame as frames move through the scanner.
  • the pulse train is coupled to the film/frame counter 104.
  • the film/frame counter 104 maintains an internal count of the number of pulses, and increments or decrements the count as an element moves forward or backward through the film scanner 102.
  • the film/frame counter 104 generates a digital representation of the number of frames of the element that have passed through the film scanner 102.
  • the digital representation of frame information is provided from an interface 106 through a first signal path 132 to a computer system 108 that has a complementary interface for receiving data from the film/frame counter 104.
  • the interface 106 is an RS-232 high-speed serial data interface.
  • the signal path 132 is any means of connecting the interface 106 to the computer system 108, for example, a cable, wireless transceiver, or direct bus connection.
  • the film/frame counter 104 is an Evertz film/frame counter that is compatible with the film scanner 102.
  • the computer system 108 is a conventional personal computer or workstation. A more detailed description of certain internal parts of the computer system 108 is provided below.
  • the computer system 108 is coupled to a database 110 and a printer 112.
  • the computer system 108 reads and stores information in storage media such as a disk 114 and a CD- ROM 116.
  • the computer system 108 operates under control of one or more stored programs, of which the functions, inputs, and outputs are described further below.
  • the computer system 108 forms one element of a computer network 120 located at the service provider's facility.
  • the computer network 120 includes typically one or more clients 122a, 122b, 122c, each of which is a workstation or computer.
  • each of the clients can receive messages from the computer system 108 and access information stored in the database 110.
  • the computer network 120 includes a server 124 that provides centralized storage of programs and data.
  • the server 124 is coupled using an appropriate interface to a global packet-switched network popularly known as the Internet 126.
  • the server 124 operates without a network connection and information is exchanged among client and server by physically moving storage media from one location to another.
  • client 130 At a facility of the owner 4 of the element 100, there is a client 130 that is coupled to the Internet 126 using an appropriate interface and software. Using the client 130, the owner 4 of the element 100 can receive messages and information about the element from the service provider 2 while the service provider is working on the element.
  • client refers broadly to any electronic end station device, such as a personal computer, workstation, terminal, browser, etc.
  • the computer system 108 executes one or more computer programs that establish and use tables in the database 110 according to the schema shown in Figure 2.
  • the database 110 is a database created using a commercially available database application program such as Microsoft Access®.
  • the database is created using a database server such as the Oracle8®, Sybase® or DB2® database servers.
  • the schema comprises a work order table 200, a reel table 210, and a defect table 220.
  • Each record in the work order table 200 stores information describing a particular job to be performed or being performed by the service provider 2.
  • Each record in the reel table 210 stores information describing one reel of an element that is involved in one of the work orders.
  • Each record in the defect table 220 stores information describing one defect in one of the reels that is described in the reel table.
  • a work order refers to a set of services carried out by the service provider that may potentially involve more than one reel and more than one defect.
  • the work order table 200 comprises columns named WorkOrderNo, WorkOrderType, JobNo, Title, Customer, StartDate, StopDate, Operator, Type, ColorType, ElementType, Composite, FilmFormat, AspectRatio, ReelCount, TotalFootage, and Comment.
  • the foregoing names are merely exemplary labels that can be applied to the columns of the work order table 200; other labels can be used. Likewise, not every indicia indicated is required in every embodiment.
  • the WorkOrderNo column stores a work order number, which is a numeric value that uniquely identifies a particular work order.
  • the WorkOrderNo column is a key to the reel table 210.
  • the database 110 maintains an index keyed to the value of the WorkOrderNo column, so that table lookups based on WorkOrderNo can be carried out by an operator or by other database tables and functions.
  • the WorkOrderType column stores a work order type code, which is a value identifying the type of work to be carried out by the service provider for a particular work order.
  • An example work order type is "Film Evaluation.”
  • the work order type provides a brief description of the nature of the work under a work order.
  • the JobNo column stores values that identify a job number.
  • job refers to an asset.
  • Each job may have one or more work orders, in which each work order is associated with a particular work project involving one or more elements of the asset associated with the job. For example, a particular work order may call for work on several different reels of an asset. Further, identifying all defects in a reel may require work over several different days or sessions.
  • the Title column stores values that identify an element to be serviced as part of a particular job. Generally, Title values are names of motion pictures, such as "The Freshman.”
  • the Customer column stores a value that identifies the customer for whom defect identification services are to be carried out. Generally, Customer values represent the owner of an element, such as "MGM/UA.”
  • the StartDate and StopDate columns store values indicating the date and time on which the service provider began and completed services under a work order.
  • the StartDate and StopDate values are primarily useful in computing service charges and accounting for manpower needs of the service provider.
  • the Operator column stores a value identifying an employee of the service provider who is responsible for operating the equipment with which the services are carried out. For example, the Operator column stores the value "John Smith.”
  • the Type column stores a value identifying the type of motion picture element involved in the work order, namely, whether the element is in color or black and white. A numeric code is used, for example, "1" indicates color and "2" indicates black and white.
  • the ColorType column stores a numeric value that identifies the type of color element involved in the work order, when the Type column value is "1".
  • Table 1 below lists the preferred values for the ColorType column and the element types to which the values correspond.
  • the ElementType column stores a value indicating the type of element represented by the element.
  • the ElementType column provides information that is important in determining how a restoration process will be carried out on the element. For example, in the industry it is well known that nitrate type film is fragile and highly flammable, so that it requires special handling. In contrast, "safety" film is more durable and less flammable. The two types of film require different restoration processes. Thus, in the preferred embodiment, the ElementType column stores a value of "1" to indicate that the element is nitrate type film, and "2" to indicate that the element is safety film.
  • the Composite column stores a value indicating whether the element is a composite element. "Composite” in this context is used in the ordinary film industry sense to refer to an element that has a sound track formed integrally with visual picture information in the element. In the preferred embodiment, the Composite column stores a numeric value, for example, "1" indicates a composite element, "2" indicates a silent element.
  • the FilmFormat column stores a value that specifies the format of an element involved in a work order. For example, in the preferred embodiment, the FilmFormat column stores the value "16" when the element is 16 millimeter film, and "35" when the element is 35 mm film.
  • AspectRatio stores a value identifying a ratio of the horizontal and vertical dimensions of frames of the element.
  • the AspectRatio column stores the value "4/3", “16/9”, “1.33:1”, “1.66:1”, “1.78:1”, “1.85:1", “2.25:1", “2.35:1", or "2.50:1".
  • the TotalReels column stores a numeric value that identifies the total number of reels of an element that are associated with a particular work order.
  • the TotalFootage column stores a numeric value that identifies the total number of feet of film of the elements involved in the work order.
  • the Comment column is a free-form text field in which the operator can enter any desired comments about a work order.
  • Each row in the reel table 210 has columns named WorkOrderNo, ReelNo, Barcode, Client Barcode, StartDate, StartTime, StopDate, StopTime, TotalFootage, ReelRef, and ReelComment.
  • the WorkOrderNo column and ReelNo column are indexed. Values in the WorkOrderNo column match one of the values in the work order table 200.
  • rows in the reel table 210 represent one or more reels of elements that are associated with a work order.
  • Values in the ReelNo column identify a reel associated with a work order.
  • the values of the ReelNo column are unique with respect to a particular work order, but non-unique across the entire database 110. For example, work orders
  • each may have a reel having a ReelNo value of "1", indicating the first reel in each work order.
  • each such work order may have only one reel with a ReelNo value of "1".
  • the bar code indicia corresponds to a unique identifier, like a serial number, for each element reel.
  • the Barcode column stores the value of a bar code identifier applied or used by the service provider.
  • the ClientBarcode column stores information corresponding to the bar code indicia applied to a reel by a client or customer of the service provider. Information in the Barcode column, or in the Client Barcode column, can be used for tracking purposes.
  • the StartDate, StartTime, StopDate, and StopTime columns store values indicating, respectively, the starting date, starting time, ending date, and ending time during which the service provider has provided service for or worked with a particular element reel. These values are useful in computing the efficiency of the service provider's personnel, or in computing charges for services rendered by the personnel.
  • the TotalFootage column stores a value that reflects the total footage in a particular reel. For example, the value is "1000" for a one thousand foot reel.
  • the ReelComment field is a free-form text field that stores a comment about the reel.
  • the ReelRef column stores a unique identifier that associates a reel and a work order.
  • the value of the ReelRef column is a concatenation of the values of the WorkOrderNo column and the ReelNo column. Such concatenation produces a unique identifier that is useful as a tag or key for rows in the defect table 220, as described further below.
  • Rows in the defect table 220 store information that describes one particular defect in a reel of an element.
  • the defect table 220 has columns named ReelRef, SeqNo, DefectType, Footage, Frame, DefectDescription, DefectComment, Severity, and Defectlmage.
  • the ReelRef column stores an identifier that associates the row with a particular reel of a particular work order. Since each work order may have multiple reels, and each reel may have multiple defects, the values of the WorkOrderNo column or the ReelNo column alone cannot be used to group defects. In combination, however, they form a reference value that is used to group or associate all defects for a particular work order and reel.
  • the SeqNo column stores a numeric value that uniquely identifies a particular defect.
  • the SeqNo value acts as a serial number for a defect.
  • the SeqNo value is generated using a sequential number generating function integral to the database 110.
  • the DefectType code stores a numeric value identifying the type of defect that is represented by the current row. Examples of defect types include tear, scratch, stain, and dig.
  • the Footage column stores a value identifying the footage location within a reel of an element at which a defect occurs.
  • the Frame column stores a value indicating the frame at which the defect occurs.
  • the Footage and Frame values are expressed as integers, such that footage 0 and frame 0 represent the start of a reel.
  • the values of the Footage column and Frame column are derived from the output of the film/frame counter 104.
  • the DefectDescription column stores text that briefly describes a particular defect. For example, a defect description is, "chemical stain,” “emulsion dig,” “tear,” “scratch,” etc.
  • the purpose of the DefectDescription column is to provide a brief natural language explanation of the value of the DefectType column.
  • the value of the DefectDescription column is a particular fixed text string that is associated with a particular DefectType value.
  • the DefectComment column stores text that explains or comments upon a particular defect.
  • the Severity column stores a numeric value that identifies the relative severity of a particular defect. For example, it is customary in this field to rate each defect using a numeric code such as "1", "2", or "3", in which "1" represents a least severe defect and "3" is most severe.
  • the Defectlmage column stores a reference to an image that is associated with a particular defect. For example, the Defectlmage column stores a reference to a data file that contains a digital representation of a single frame of the defect.
  • the Defectlmage column stores an object linking and embedding (OLE) object reference to a file stored in a standard graphics file format (e.g., Motion Picture Experts Group [MPEG] format).
  • OEL object linking and embedding
  • MPEG Motion Picture Experts Group
  • the database 110 includes a work order form, a reel form, and a defect form that correspond, respectively, to the work order table 200, reel table 210, and defect table 220.
  • the forms enable an operator to manually enter data into each table for the purpose of manual table maintenance, reconfiguration, or correction.
  • the forms are integrated into a user interface screen that is described further below.
  • Figure 3 is a block diagram of software components that are loaded into memory of the computer system 108 and executed by the computer system in a preferred embodiment.
  • BIOS 302 A basic input/output system (BIOS) 302 is stored in main memory of the computer, or in firmware, and resides at the lowest logical level of the software components.
  • the BIOS 302 is responsible for controlling and supervising basic input and output functions of the computer system, for example, interaction of its processor, memory, and local storage devices.
  • the BIOS 302 is any of the standard BIOS programs conventionally delivered in readonly-memory (ROM) form in a personal computer, such as the Phoenix ROM BIOS.
  • An operating system 304 operates in close cooperation with the BIOS 302.
  • the operating system 304 controls and supervises the loading, execution, and operation of application programs with which users of the computer system 108 interact.
  • the operating system 304 is the Microsoft Windows® operating system, or an equivalent.
  • the application programs include a database client 306, a report generator 308, a file conversion utility 310, a raw data builder 314, and an frame capture program 318.
  • the database client 306 provides local database functions such as a user interface, management of local storage, and interaction with the database 110.
  • the database client 306 is Microsoft Access®.
  • an operator of the computer system 108 can establish tables in the database 110, and add, modify, or delete rows from the tables.
  • the database client 306 and the other application programs also read and write files using a local data storage device 410, such as a disk drive.
  • the report generator 308 is coupled to the database client 306 and can receive data stored in the database 110.
  • the report generator 308 enables an operator of the computer system 108 to design, generate, and print reports from data in the database 110.
  • the reports are directed to the printer 112 or to a display device of the computer system.
  • the report generator 308 is a commercially available report software package, Crystal Reports.
  • the raw data builder 314 is coupled to a port driver 316 and the local storage device 410.
  • the port driver 316 which may be integral to the operating system 304 or a separate program, is coupled to the interface 106 of the film/frame counter 104.
  • the port driver 316 is compatible with the interface 106.
  • the port driver 316 is an RS-232 port driver.
  • the raw data builder 314 is responsible for interrogating the interface 106 to receive a current frame count value, receiving defect codes entered by the operator, and storing information describing a defect in association with footage and frame values on the storage device 410.
  • an operator runs a motion picture element through the film scanner 102. The operator stops the film scanner 102 at a defect.
  • the port driver 316 signals the raw data builder 314 that the film scanner 102 has stopped. In response, the raw data builder 314 interrogates the interface 106 and requests the current frame count. The port driver 316 receives a frame count value from the interface 106 and passes the frame count value to the raw data builder 314. The raw data builder 314 converts the frame count value to a footage value and a frame value, and stores the information in memory. When the operator identifies a defect by pressing a key on a keyboard of the computer system 108, in response the raw data builder 314 stores information describing the defect in the local storage device 410 in association with the footage value and frame value. Preferably, the information is stored in a pre-determined format, for example, as an ASCII text file comprising a plurality of sequential text records, each of which represents a defect.
  • the raw data builder 314 writes and stores a code prefix at the start of each text record.
  • the code prefix identifies the type of data that is stored in the remainder of the record, for example, header information, reel information, or defect information.
  • the following codes are used:
  • the raw data builder 314 also enables the operator to enter comments about the current defect, and stores the comments in a record of the text file in association with the defect information.
  • An example of a comment is a file name that identifies a frame capture image file.
  • the raw data builder 314 has a file header function that enables the operator to enter and store information that defines a job or work order at the start of the text file that contains defect information. At the start of a work session, the operator executes the raw data builder 314.
  • the raw data builder 314 presents a screen on a display of the computer system 108 that prompts the operator to enter a name of the owner of the asset or client or the service provider, the project name, the job number, the work order number, the type of element (e.g., positive or negative, safety or nitrate), and other information.
  • the information entered by the operator is stored in a header portion of the text file.
  • the raw data builder 314 also provides a reel number function.
  • a key on the keyboard of the computer system 108 is designated as the "Reel Number" key.
  • the raw data builder 314 prompts the operator to enter the reel number, and barcode values that correspond to barcode labels placed on the reel by the service provider and the owner.
  • the reel information is stored in the text file.
  • the raw data builder 314 can be implemented in the form of a Visual C++® computer program that runs under control of the operating system 304.
  • the file conversion utility 310 is coupled to the local storage device 410.
  • the file conversion utility 310 operates in conjunction with a function library 312.
  • the function of the file conversion utility 310 is to read the information stored by the raw data builder 314 and convert the information into a format that is usable by the database client 306.
  • the file conversion utility 310 is a program written in the Visual Basic language
  • the function library 312 is the Visual Basic dynamically loaded library (DLL).
  • the computer system also executes a frame capture program 318 that can receive a digitized video signal and store a file containing a representation of a digitized frame on the storage device 410.
  • a frame capture program 318 can receive a digitized video signal and store a file containing a representation of a digitized frame on the storage device 410.
  • the operator can select a frame of the element and capture the video signal produced by the film scanner in an image file stored on the storage device 410.
  • an image file can be associated with information that describes a defect.
  • Figure 4 is a block diagram that illustrates a computer system 108 upon which an embodiment of the invention may be implemented.
  • Computer system 108 includes a bus 402 or other communication mechanism for communicating information, and a processor 404 coupled with bus 402 for processing information.
  • Computer system 108 also includes a main memory 406, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processor 404.
  • Main memory 406 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 404.
  • Computer system 108 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404.
  • ROM read only memory
  • a storage device 410 such as a magnetic disk or optical disk, is provided and coupled to bus 402 for storing information and instructions.
  • Computer system 108 may be coupled via bus 402 to a display 412, such as a cathode ray tube (CRT), for displaying information to a computer user.
  • the display 412 is a second display that is used in addition to the display 107 that is coupled to the film scanner 102.
  • An input device 414 is coupled to bus 402 for communicating information and command selections to processor 404.
  • cursor control 416 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 404 and for controlling cursor movement on display 412.
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
  • the invention is related to the use of computer system 108 for image defect identification. According to one embodiment of the invention, image defect identification is provided by computer system 108 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. Such instructions may be read into main memory 406 from another computer-readable medium, such as storage device 410.
  • main memory 406 causes processor 404 to perform the process steps described herein.
  • hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention.
  • embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • the term "computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 404 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical or magnetic disks, such as storage device 410.
  • Volatile media includes dynamic memory, such as main memory 406.
  • Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 402. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infrared data communications .
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution.
  • the instructions may initially be carried on a magnetic disk of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system 108 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal.
  • An infrared detector can receive the data carried in the infrared signal and appropriate circuitry can place the data on bus 402.
  • Bus 402 carries the data to main memory 406, from which processor 404 retrieves and executes the instructions.
  • the instructions received by main memory 406 may optionally be stored on storage device 410 either before or after execution by processor 404.
  • Computer system 108 also includes a communication interface 418 coupled to bus 402.
  • Communication interface 418 provides a two-way data communication coupling to a network link 420 that is connected to a local network 422.
  • communication interface 418 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 418 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links may also be implemented.
  • communication interface 418 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • the computer system 108 also has a video signal digitizer 440 coupled to the bus 402.
  • the video signal digitizer 440 is externally connected to a video signal provided by the film scanner 102.
  • the digitizer 440 receives the analog video signal and converts it to a digital representation in real time.
  • the processor 404 reads, stores, and manipulates the digital representation. For example, the processor 404 captures data that is a digital representation of a frame of the motion picture element 100 and stores the data as a digital file in the storage device 410.
  • Network link 420 typically provides data communication through one or more networks to other data devices.
  • network link 420 may provide a connection through local network 422 to a host computer 424 or to data equipment operated by an Internet Service Provider (ISP) 426.
  • the local network 422 may be coupled through a firewall 427 to the ISP 426 to logically isolate the local network 422 and safeguard communications to and from it.
  • ISP 426 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 428.
  • Internet 428 uses electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 420 and through communication interface 418, which carry the digital data to and from computer system 108, are exemplary forms of carrier waves transporting the information.
  • Computer system 108 can send messages and receive data, including program code, through the network(s), network link 420 and communication interface 418.
  • a server 430 might transmit a requested code for an application program through Internet 428, ISP 426, local network 422 and communication interface 418.
  • one such downloaded application provides for identifying defects in a motion picture element as described herein.
  • the received code may be executed by processor 404 as it is received, and/or stored in storage device 410, or other non-volatile storage for later execution. In this manner, computer system 108 may obtain application code in the form of a carrier wave.
  • one input device 414 of the computer system 108 is a keyboard.
  • the standard function keys of the keyboard which are labeled “Fl” through “F12" in a conventional personal computer keyboard, are redefined to identify types of defects in motion picture elements.
  • Table 2 provides a mapping of the function keys to defect names:
  • Figure 5 is a flow diagram of one embodiment of a method of capturing defect information.
  • step 502 an image from a motion picture element is converted to video format.
  • step 502 involves carrying out a film scanning process.
  • the motion picture element 100 is mounted in the film scanner 102.
  • An operator activates the film scanner, causing the element 100 to travel through the film scanner.
  • the film scanner 102 scans frames of the element 100 and produces video information as output.
  • the video information is provided in the form of, for example, a conventional NTSC video signal, or a digital composite video signal.
  • step 504 the video information is displayed and digitized.
  • an NTSC video signal from the film scanner 102 is routed to the display 107, which is viewed by the operator.
  • the video signal is coupled to the digitizer 440 in the computer system 108, and digitized by the digitizer.
  • the video information from the film scanner 102 is coupled to a videotape recorder.
  • the video information is stored in on videotape for later delivery to the owner of the asset or element. This alternative is appropriate, for example, when the owner wishes to economically view long shots or scenes that contain defects.
  • Videotape storage or archiving is generally known to be less expensive than storage in a digital data storage device or CD-ROM.
  • step 504 the display 107 may be large to permit enlarged viewing of individual frames.
  • the display 107 is a 19" CRT display.
  • examination of individual frames generally involved placing a small film frame on a light box for examination using a microscope. Since standard film frame sizes are 16 mm or 35 mm, the past process has been laborious.
  • the display 107 can present a greatly enlarged view of a frame.
  • step 506 defects in the motion picture element are identified and captured, along with related foot and frame information.
  • an operator sees a defect in a frame of the element as shown on the display 107.
  • the operator stops the film scanner 102 at the first frame that contains the defect.
  • footage and frame information for the current position of the element in the scanner is captured.
  • the raw data builder 314 running on the computer system 108 issues an interrogation command to the interface 106 of the film/frame counter 104.
  • the interface 106 provides the current frame count value to the computer system 108.
  • the computer system 108 computes a footage value based upon the frame count value. The computation is carried out, using the following equation:
  • Footage (Frame Count) / 16 This equation is valid because there are 16 frames per foot of 35mm film.
  • the footage and frame values are stored in the memory of the computer system.
  • the computer system 108 generates information or a code that describes the defect, and stores it in association with the current footage and frame values.
  • the operator may also command the system to capture the current output of the digitizer, so that a digitized image of the frame of interest is stored in a computer memory or storage device.
  • the operator may characterize a defect using references to more than one frame of the motion picture element. This is useful for many defects that span more than one frame of the element. For example, various types of chemical stains may occur in several consecutive frames of an element.
  • the operator can indicate the first frame at which a defect appears (the starting frame) and the last frame at which the defect appears (the ending frame).
  • the operator also may enter comments about the defect by typing the comments using the keyboard of the computer system 108.
  • the comments are stored in the memory of the computer system 108 in association with the footage location and frame location information.
  • the operator can further characterize a defect by associating a digital image of the frame where the defect occurs. For example, when the operator identifies a defect in the element 100, the operator activates the frame capture program 318.
  • the frame capture program 318 reads the output of the digitizer 440. As a result, the frame capture program 318 receives the digital representation of the frame then currently shown on the display 107 that is produced by the digitizer 440.
  • the frame capture program 318 formats the digital representation using a pre-determined format (for example, MPEG format or Graphics Interchange Format (GIF)).
  • the frame capture program 318 prompts the operator to provide a pathname or file name to be used for the captured image.
  • the operator enters a pathname or file name that is valid in the file system managed by the operating system 304.
  • the frame capture program 318 stores the formatted digital representation as an image file having the specified name, using file system functions of the operating system 304.
  • the raw data builder 314 provides a frame capture function that is activated by pressing a pre-determined key on the keyboard of the computer system. When the operator presses the predetermined key, the raw data builder 314 prompts the operator to enter a filename of an image file to be associated with the current defect. The operator enters the pathname or file name of an image file that has been stored using the frame capture program 318 as described above. The raw data builder 314 stores the file name in association with the information that describes the location and type of defect.
  • an image file is captured in advance and a copy is associated with the defect information by storing the name of the copy in the database.
  • the image file is stored in a column of one of the tables of the database.
  • the raw data builder 314 is tightly integrated with the frame capture program 318. The raw data builder 314 automatically retrieves or obtains the name of the image file from the frame capture program 318, eliminating the need for a user to enter the file name.
  • a file of defect information is generated.
  • step 508 involves opening a standard text file on the storage device 410 and writing a sequence of rows of text information.
  • the defect file comprises records of one of four types: header, defect, begin, and end. Header records identify the element or asset to which the other records relate.
  • the defect records comprise a code identifying the type of defect.
  • the begin and end records comprise the foot and frame information captured in step 506 for the beginning and ending of a defect.
  • each record is a separate line of the defect file, terminated by carriage return and line feed characters.
  • the term "defect file” refers broadly to a collection of information that describes a defect; the term “defect file” is not limited to a particular file format or a specific set of values.
  • step 506 defect foot and frame information is captured and stored in main memory of the computer system, and step 508 is carried out when the operator activates a
  • step 508 is carried out when the operator reaches the end of a reel of an element, or the end of a workday. Alternatively, step 508 is carried out repeatedly within step 506, as defects are identified and captured.
  • the defect file is converted into a file that is readable and usable by a database.
  • the file that is created in step 508 is referred to as the "defect file” and the file that is created from the defect file in step 510 is referred to as the "database file”.
  • the file conversion utility 310 is executed using the defect file as input.
  • the output of the file conversion utility 310 is a database file that is compatible with the database 110. Steps involved in executing the file conversion utility 310 are described further below.
  • steps 508 and 510 are combined, so that a database-compatible file, or database table, is directly created as defect information is captured.
  • the conversion step involves the step of carrying out one or more validity checks on the information in the defect file.
  • the validity checks include verifying that every start time code corresponds to a matching stop or ending time code, verifying that codes identifying the start of a reel have a matching end-of-reel code, verifying that every defect file has a work order number, etc.
  • Step 512 a client or customer is provided with access to the database file.
  • Step 512 may be carried out in several ways.
  • the database file is copied from the local storage device 410 onto a data storage medium compatible with systems used by the client or customer, such as the disk 114 or CD-ROM 116.
  • the data storage medium is delivered to the owner 4 of the element 100.
  • the data storage medium used for such interchange may be any non-volatile storage medium, such as disk, tape, cartridge, flash memory, etc.
  • the database file is stored on a server 124 of the computer network 120 of the service provider 4.
  • the server 124 has an Internet Protocol (IP) address and runs anonymous file transfer protocol (FTP) server software.
  • IP Internet Protocol
  • FTP file transfer protocol
  • the service provider 2 communicates the name or location of the database file to the owner 4; for example, the service provider sends an electronic mail message to the owner containing a directory pathname of the database file.
  • the owner 4 executes, on the client 130, FTP client software, such as a browser.
  • the owner 4 commands the FTP client software to connect to the FTP server of the service provider 2 using the IP address of the server 124.
  • the FTP client software establishes an FTP connection over the Internet 126 to the server 124.
  • the FTP client software requests the database file from the server 124 using the pathname.
  • the server 124 retrieves the database file and delivers a copy over the FTP connection to the client 130.
  • the server 124 is coupled to one or more modems or other devices that are coupled to the public switched telephone network.
  • the service provider 2 establishes an account on the server 124 for the owner 4 and provides an access number, user identifier, and password to the owner 4.
  • the owner 4 executes, on the client 130, remote access software that can connect the client 130 to the server 124, provide the user identifier and password, and obtain access to the database file or its contents. Examples of suitable remote access software include PC Anywhere, and Pro Comm, both of which are commercially available.
  • the database file is stored on a server 124 of the computer network 120 of the service provider 4.
  • the client 130 connects to the server 124 through the network 120.
  • the client 130 sets up a secure communication channel with the server 124.
  • the client 130 retrieves or accesses the database file, or its contents, over the secure channel.
  • the server 124 is coupled to a firewall 128 that selectively passes or rejects information communicated through it.
  • the firewall 128 is coupled to the network 120, providing a secure way for the server to communicate data to or from the network 120. Suitable firewalls are commercially available from numerous vendors of network products such as Cisco Systems, Inc.
  • the server 124 has an Internet Protocol (IP) address and runs HTTP (Web) server software.
  • IP Internet Protocol
  • Web HTTP
  • the service provider 2 communicates the name or location of the database file to the owner 4; for example, the service provider sends an electronic mail message to the owner containing a Uniform Resource Locator (URL) that identifies the database file.
  • the owner 4 executes, on the client 130, Web client software, such as a browser.
  • the owner 4 commands the browser to connect to the HTTP server of the service provider 2 using the URL.
  • the browser establishes a secure HTTP connection over the Internet 126 to the server 124.
  • the browser and server 124 communicate using the Secure Sockets Layer (SSL) protocol, or any other client/server secure communication protocol.
  • SSL Secure Sockets Layer
  • the browser sends an HTTP request for the database file to the server 124 using the URL in the request.
  • the server 124 retrieves the database file and delivers a copy over the HTTP connection to the client 130.
  • the owner 4 receives defect information in a secure way.
  • the database file is secured prior to transmission to the owner 4.
  • the database file is encrypted using a public key encryption algorithm, based on a public key provided by the service provider 2 to the owner 4.
  • the service provider 2 generates a printed report of the defect information.
  • the printed report is delivered to the owner 4 with a videotape copy of the element.
  • the report generator 308 is used to prepare one or more reports based on the information in the database 110.
  • instructions from the client or customer, or other feedback are received.
  • the owner 4 upon receiving the database file that is provided in step 512, reviews the defect information in the database file or one or more reports generated from the database file. The owner determines whether the service provider 2 should attempt to correct one or more defects listed in the database file. Also, the owner may determine that certain defects are not to be addressed, or are not sufficiently important as to merit further attention by the service provider 2. The owner 4 provides these comments to the service provider 2. Alternatively, the owner 4 reviews the database file, the captured images, or the asset itself prior to providing the feedback.
  • step 514 the service provider corrects, converts, or restores one or more images in the element that is the subject of the database file.
  • Step 514 may involve carrying out one or more motion picture restoration processes on the element or portions of the element.
  • the client is provided access to, and works with, the defect file rather than the database file.
  • defect information is collected and provided to a client or customer in a way that improves security of the information.
  • the information is recorded in a database, all or a portion of which may be communicated to the client or customer using secure electronic communications.
  • Images of prospective defects are associated with information that describes the defects so that the client or customer can rapidly review the defects to determine whether restoration processes should be carried out on them.
  • FIGS. 6A, Figure 6B, Figure 6C, Figure 6D, and Figure 6E are flow diagrams of an embodiment of the file conversion utility 310.
  • Appendix A presents an example of Visual Basic source code that can be used to implement the conversion utility 310.
  • the source code shown in Appendix A includes certain error handling subroutines that are omitted from Figure 6A, Figure 6B, Figure 6C, Figure 6D, and Figure 6E to avoid obscuring the invention.
  • the method establishes functional responses for certain administrative functions.
  • the utility provides graphical user interface buttons that access administrative functions such as opening a database, opening a file, saving a file, converting a file, updating the database 110, and exiting the utility.
  • Step 602 involves assigning logical subroutines to these administrative functions, so that when the corresponding button is clicked, the utility responds with the proper subroutine.
  • the "Update Database" button is disabled.
  • step 604 datatypes, arrays, and other variables are declared and initialized.
  • Step 604 involves allocating memory for variables and arrays used later in the utility, and initializing the arrays and scalar variables to pre-determined values.
  • the arrays preferably include a job array, a reel array, and a defect or "detail" array.
  • Each of the arrays preferably is an array of non-scalar data structures.
  • the job array is an array of records in which each record element comprises a plurality of scalar values including job number, job title, customer name, etc.
  • the reel array is an array of records in which each record element stores values relating to an individual reel of an asset. The values are stored in a plurality of variables, in which each variable corresponds to an attribute of a reel, such as start date, start time, comment, barcode, etc.
  • a defect file is opened.
  • the defect file is a text file prepared in the manner described above.
  • a line of text is read from the defect file. Steps 606 and 608 may be carried out by calling appropriate functions of the function library 312. The line that is read from the defect file is temporarily stored in a local string variable.
  • a type code and data segment of the line that was read from the defect file are separated from one another in the string variable.
  • a string copy function is used to separate a numeric code value at the beginning of the string.
  • the type code is a 2-digit numeric code that indicates whether the remainder of the line is job header data, reel information, or defect data.
  • the type code is evaluated and decoded, and a subroutine corresponding to the type code is selected. In succeeding steps, control is transferred to a subroutine that carries out a function associated with the type code.
  • step 614 when the type code indicates that the data segment is a job title, job number, customer name, or operator name, then the data segment is stored in an element of the job array.
  • step 616 when the type code indicates that the data segment contains values relating to a new reel, then control is passed to a subroutine that initializes the values of the next available element in the reel array.
  • step 618 when the type code indicates that the data segment contains the value of a reel start date, a reel start time, a reel comment, a client barcode, or another barcode, then the data segment value is stored in a corresponding variable of the current reel array element.
  • step 620 the type code is tested to determine whether it indicates that the data segment contains defect information. If so, then control is passed to step 622 of Figure 6C, in which footage, frame, and defect description data is extracted from the data segment. Step 622 may be carried out using string manipulation functions.
  • step 624 variables relating to a new defect row are initialized.
  • step 626 values representing the footage and frame location of the defect, the current sequence, current job, current reel, defect type, and defect description are stored in variables of the current defect array element. If the type code indicates that the data segment does not contain defect information, then control is passed to step 628. Steps 608 to 626 are repeated for each line of text or information that is stored in the defect file.
  • step 628 the number of rows that have been successfully converted, and any errors that have occurred, are reported to the operator. For example, a message or dialog box is displayed on the display 412.
  • step 628 the process has read all the data in the defect file and stored it in arrays in main memory. Accordingly, the process is prepared to complete file conversion by moving the data to a database-compatible file.
  • step 630 the process enables a database update function.
  • a button labeled "Update Database” is displayed in a graphical user interface on the display 412.
  • variables and constants that are needed for database-oriented operations are declared and initialized.
  • the variables and constants represent, for example, the database 110, records of the database, and miscellaneous counters.
  • step 634 the database is opened, and an error log file is opened.
  • a function of the function library 312 is called to open the database 110, and to open an error log file on the local storage device 410.
  • the error log file is used to record information about errors if errors occur during conversion of defect information.
  • step 636 a database transaction is initiated.
  • “transaction” is used in the conventional database processing sense to refer to a series of related operations in which changes to the database are made persistent or "committed” only if the operations occur without error.
  • a status message is displayed to the operator. For example, a message box is displayed on the display 412 to inform the operator that database file conversion is occurring.
  • a work order header record is inserted into the work order table 200 of the database 110.
  • the values stored in the reel array are added to the database. For example, values stored in each variable of each element of the reel array are copied to variables, in a row data structure, that represent columns of the reel table 210 of the database 110.
  • a database record insert function is called to insert the contents of the row data structure into the database 110.
  • the process displays a running count of the number of reel rows that have been processed.
  • the file conversion utility 310 calls a message box display function of the function library 312 and provides a count of the number of reel rows that have been inserted.
  • defect information is processed.
  • step 646 involves copying information stored in the defect or "detail" array to data structures that represent rows of the defect table 220.
  • Step 646 also involves calling a database record insert function to cause values of the row data structures to be inserted into the defect table 220.
  • a message is displayed that informs the operator that database updating is complete.
  • the file conversion utility 310 calls a message box display function of the function library 312 and provides a string to the display function that contains a message stating, "Database Update Complete".
  • step 650 the database update button in the user interface is disabled. This prevents the operator from attempting to carry out a duplicate database update operation.
  • step 652 the error log file is closed.
  • step 652 it is no longer possible for a database error to arise from operations carried out by the process of Figure 6 A to Figure 6E, and therefore it is appropriate to close the log file.
  • step 654 the current transaction is committed. For example, a function of the database client 306 is called to carry out a commit operation. The commit operation involves making persistent the changes to the database that are carried out in the preceding steps.
  • step 656 the database is closed. For example, another function of the database client 306 is called to release control of the database to another process, release memory allocated for database- oriented data structures, etc. The process is complete at step 658.
  • the foregoing process generally involves moving values from a text file created by the raw data builder 314 into arrays stored in memory, then moving values from the arrays into the database 110.
  • This separation of tasks is preferred in an embodiment because it ensures that the database 110 is not modified in the event that the text file contains invalid data.
  • no arrays are used, and the values in the text file are read and directly inserted into database records.
  • the conversion process can be carried out using a file import function of the database client 306; any errors that occur as a result of invalid data in the text file are logged to an error file.
  • Figure 7 is a diagram of a user interface screen 700 that is generated on the display 412 by a preferred embodiment.
  • the screen 700 provides a concurrent view of the work order table 200, reel table 210, and defect table 220 of the database 110.
  • the screen 700 is also known as an electronic inspection summary form.
  • the screen 700 comprises a header pane 702, a reel information pane 704, and a defect information pane 706.
  • the header pane 702 has a title bar 708 that identifies the name of the system.
  • the header pane 702 also displays a work order form 709 that generally identifies the work order that is currently being processed.
  • the work order form 709 comprises a plurality of data entry fields 710 that correspond to columns in the work order table 200. Using the work order form 709, an operator views information that has been imported into the database using the file conversion utility 310 or the conversion step 510 of the process of Figure 5.
  • the only information available for the work order form 709 is a job title, job number, customer name, and operator name.
  • the operator can enter other work order information in the work order form 709 by clicking on a field and entering an appropriate value. In this way, all columns of a row of the work order table 200 are completed.
  • the reel information pane 704 comprises a tabular view of rows and columns of the reel table 210.
  • the reel information pane 704 has a title row 712 that displays column labels for each column in the reel table 210.
  • a row table 714 in the reel information pane 704 displays a plurality of values of rows and columns stored in the reel table 210.
  • the row table 714 displays four rows of the reel table 210.
  • the size of the row table display is not critical, and more or fewer rows can be displayed.
  • an operator can adjust the display to show rows or columns that are not currently visible. In this way, the operator can cause the screen 700 to display any desired row or column of the reel table 210.
  • the defect information pane 706 similarly comprises a tabular view of rows and columns of the defect table 220.
  • the defect information pane 706 has a title row 716 that displays column labels for each column in the defect table 220.
  • a row table 718 in the defect information panel displays a plurality of values of rows and columns stored in the defect table 220.
  • an operator can adjust the information displayed in the row table 718 using standard scroll bars and scroll buttons, so that any desired column or row of the defect table 220 is displayed.
  • the defect information pane 706 displays information for defects that correspond to the reel that is currently selected in the reel information pane 704. For example, in Figure 7, reel "1" having barcode value "346753" is currently selected in the reel information pane 704.
  • the defect information shown in the defect information pane 706 reflects defects associated with reel "1".
  • the defect information pane 706 is logically connected to the reel information pane 704, so that when an operator selects a different reel or row in the reel information pane, the defect information pane automatically refreshes with defect information that is associated with the newly-selected reel or row.
  • the refresh operation involves carrying out a query to the defect table 220 to obtain rows having a ReelRef value that matches the current reel.
  • the refresh operation is programmed into the database 110, for example, using an event trigger that initiates a database re-query operation when the operator selects a new reel.
  • the defect information pane 706 also has an image column 720 that enables an operator to associate an image file with a defect.
  • the operator captures a frame of an asset into an image file using the process described above in connection with the frame capture program 318.
  • the operating system 304 is the Windows® operating system
  • an operator can associate an image file with a defect by dragging an icon representing the image file from a window of a file manager program (such as Windows Explorer) to the appropriate row of the image column 720.
  • the database client 306 displays an icon representing the file in the image column 720. Internal functions of the database client 306 and the operating system 304 establish an association of the file to the row. Thereafter, the operator may view the file by double-clicking on the icon shown in the image column 720.
  • an operator can display the contents of the database 110, and edit or modify any field or column value of any of the tables, and carry out other database functions.
  • the operator can save the database 110 persistently in a storage device.
  • the operator can copy the database 110 to a storage medium, such as the disk 114, CD-ROM 116, or the other examples of storage media given above, and provide the storage medium to a customer or owner of the asset or elements that are described in the database.
  • the operator may also electronically transfer the database 110 to the customer or owner, for example, by sending a copy of the database as an email attachment to the customer or owner over a secure communication channel or using a secure communication protocol.
  • the database 110 can be secured or encrypted prior to transmission. This greatly improves the security of communications about assets among the service provider and the owner, and speeds up the communications.
  • Figure 8 is a diagram of an exemplary report 800 that is generated by a preferred embodiment.
  • the report 800 generally comprises a title portion 802, a header 830, and a body 840.
  • the title portion 802 which is an optional component of the report 800, identifies the report as an "electronic film evaluation report" and identifies the service provider.
  • the header 830 presents information that generally describes the asset, element, and reel for which defects aie described in the body 840.
  • the header 830 presents an owner's name 804 for the asset or element, a title 806 of the asset, and a reel number 808.
  • Descriptive information 810 identifies the format and type of the element.
  • the header 830 also includes a date 812 on which the report 800 was generated, and a work order number 814 that identifies the current work order to which the report relates.
  • Barcode information 816 presents the values of the Barcode and ClientBarcode columns of the reel table 210. Each of the values presented in the header 830 is derived from the work order table 200 or the reel table 210.
  • the header 830 may also include the job number value.
  • Certain values in the header 830 are derived by applying conditional tests to values of the work order table 200 or the reel table 210. For example, when the report generator is generating the electronic film evaluation report 800 of Figure 8, and the value of a Composite column of the work order table 200 is encountered, if the value is "1,” then the report generator 308 inserts the text string "Composite” into the descriptive information 810 of the report 800. Otherwise, if the value is "2,” then the report generator 308 inserts the text string "Silent" into the report.
  • the conditional tests are logically created and stored in association with a definition of the report 800 using a report design function of the report generator 308.
  • Values from the defect table 220 are presented in the report body 840.
  • the report body 840 is presented in columnar format, comprising a footage column 818, description column 820, defect severity column 822, and comment column 824.
  • the footage column presents the values of the Footage column and the Frame column of the defect table 220.
  • the value "201.10” indicates a defect at a position 201 feet, 10 th frame from the start of the current reel.
  • the description column 820 presents descriptions of defects, taken from the value of the DefectDescription column of the defect table 220.
  • the defect severity column 822 presents severity values taken from the Severity column of the defect table 220.
  • the comment column 824 presents values taken from the DefectColumn of the defect table 220.
  • the report 800 provides a neat, organized, clear way to present defect information to an owner of an asset or element.
  • electronic generation of the report using the report generator 308, enables rapid communication of the defect information to the owner.
  • the report 800 is stored in an electronic file of a data storage device, rather than being printed in paper form.
  • the report 800 is then communicated to an owner or customer electronically, for example, using electronic mail. Further, an operator can attach the report 800 to one or more image files that contain frames that have been digitally captured from an asset or element.
  • the processes and reports described above enable an owner of an asset to easily cross-correlate elements of an asset. For example, when the owner sees information about a defect that is reported in a report about a particular element, the owner can rapidly locate the same footage and frame in reports about other elements. This enables the owner to determine whether the defect can be repaired using a good portion of another element. Such decision-making is facilitated by the precise, frame-level reporting that is provided in the system. Further, the owner can determine the approximate cost of accomplishing the correction by looking at information that describes the element. For example, the owner might determine that a particular defect is located in an interpositive element and not in the camera negative. As a result, the owner knows that another interpositive can be made from the camera negative to avoid or correct the defect. In contrast, if the owner determines that a defect is in the camera negative, the owner must determine whether to undertake a repair of the negative or address the defect when a print is made from the negative.
  • the database client 306, report generator 308, file conversion utility 310, function library 312, raw data builder 314, port driver 316, and frame capture program 318 are integrated in a single electronic film laboratory application program that runs under control of the operating system 304.
  • an image file is automatically associated with a row in the database 110 when a frame image is captured by the operator.
  • a continuous speech recognition software program runs under control of the operating system 304.
  • the speech recognition program is integrated with the raw data builder 314.
  • the operator identifies a defect by speaking the name of the defect into a microphone that is coupled through a suitable analog-to-digital (A/D) interface to the computer system 108.
  • the speech recognition program receives digitized speech from the A/D interface and converts the digitized speech into a defect code or name.
  • the defect code or name is stored in the defect file or, alternatively, directly in the database 110.
  • the invention is not limited to use with film-based elements.
  • the invention is usable in the context of any tangible linear serial information-carrying medium that is subject to damage or wear from handling or playback.
  • the motion picture element is videotape or audiotape having time code recorded on it.
  • a time code reader is used to perform the same function as the film/frame counter 104.
  • a controllable playback device is used to perform the same function as the film scanner 102.
  • An example of a controllable playback device is a computer-controlled videotape recorder (VTR) of broadcast quality as commercially used in the entertainment industry.
  • VTR computer-controlled videotape recorder
  • VTRs have a shuttle capability and single- frame playback and seek functions, so that the VTR can locate and play back an individual frame identified by a particular time code.
  • SMTP time code is suitable.
  • the controllable playback device is an audiotape recorder.
  • a loudspeaker or other audio output devices are used to perform the same function as display 107.

Abstract

In a method for evaluating defects, a motion picture element (100) moves through a viewing device (102) such as a film scanner. The viewing device (102) generates information identifying the location of a current frame relative to the start of the element (100). An operator signals that a defect exists in the current frame. Information identifying the type of the defect and its location are associated and stored in a text file. When an evaluation session is complete, the text file is converted to a database file (110) comprising a work order table, a reel table, and a defect table. The current frame can be digitally captured and stored in association with a record of the database (110). An owner of the motion picture element (100) is provided access to the database (110) through reports or electronic transmission. Information about defects is received securely and rapidly in association with frame images.

Description

IMAGE DEFECT IDENTIFICATION SYSTEM
RELATED APPLICATIONS
The following application claims the benefit of US Provisional Application Serial No. 60/073,779 entitled "Image Defect Identification System" by Steve Haruta, Sean Coughlin, Clyde Spear, and Gretchen Linder, filed February 5, 1998, the disclosure of which is incorporated in this document by reference.
FIELD OF THE INVENTION The present invention generally relates to identifying defects in film-based materials. More specifically, the present invention is a method and apparatus for identifying defects in film frames or motion pictures, and for storing and managing information that describes the defects.
BACKGROUND OF THE INVENTION All completed motion pictures and related assets deteriorate as time passes. Still frame or motion picture film negatives, prints, and related materials tend to contain dyes and substrates that degrade with time. Further, such materials suffer damage or wear arising from use, such as scratches, tears, breaks, and other damage. In particular, "classic" movies and related materials grow ever older with each passing year. As a result, there is an increasing demand for motion picture restoration services.
Concurrently, there has been increased interest in the entertainment industry in preparing archival motion picture material for re-release or further distribution, in the form of "director's cuts," restored prints, and other recompiled works. There is also growing interest in the entertainment industry in maximizing such exploitation of motion picture properties, especially older properties.
The ability of motion picture studios and other owners of such assets to obtain financing for their activities depends, in part, on whether a particular asset is ready to bring to market. It is important for such owners to determine whether an edited, marketable print of an asset can be produced from a collection of motion picture elements. Such decisions depend greatly upon the quality and accuracy of information available to the owner about defects in the assets.
As used herein, the term "asset" refers broadly to a motion picture that can be exploited in some way, and the terms "element" or "motion picture element" refer to a particular motion picture medium or other film-based product in which the asset is fixed or recorded, including a film print, camera negative, interpositive, duplicate negative, color reversal intermediate, and internegative. "Element" or "motion picture element" also refers to any other tangible linear or serial information carrying medium that is subject to damage or wear from handling or playback, including videotape, audio tape, and other materials. For example, an asset is the film "Gone With The Wind"; elements of that asset include its camera negative, a print, etc.
The motion picture restoration process generally involves identification of an asset or element to be restored, review of the asset to identify defects, and correction of at least some of the defects. Generally, an owner of an asset, such as a motion picture studio or distributor, identifies an asset for restoration, re-release, etc. The owner generally determines that the asset needs restoration or evaluation for restoration. The owner contracts with an external service provider to carry out the restoration. The cost of the restoration is usually proportional to the number and type of defects in the asset. The service provider reviews the asset or its elements, identifies defects in the asset, and records information about the defects in paper form, for example, in a handwritten form or table. Thus, the review stage of the process is a fact-finding mission intended to gather information from which the owner of the asset can determine what restoration activities to undertake. Restoration may involve electronic corrective work on a digitized version of the asset, such as inter-cutting different elements of an asset so as to cut out a destroyed frame, shot or scene from one element and substitute a frame, shot or scene from another element. These processes may also involve various forms of chemical treatment.
In past approaches, the review stage has involved placing the asset on a viewing device, such as a flatbed editing machine, viewing the assets by eye, and assessing defects subjectively and manually. Alternatively, the asset is displayed using a film chain or projection equipment and viewed directly using the eye. Another approach is running the asset through a film scanner that digitizes the film and generates a corresponding video image, and manually examining the video display. A disadvantage of these approaches is that they do not permit individual frames, shots or scenes containing a defect to be automatically associated with information that describes the location of the frames, shots or scenes, and with information that describes the defect. In the past approaches, information about the nature and location of defects has been recorded manually on handwritten forms.
Further, in the past approaches, defect reporting has been extremely subjective. For example, different persons vary widely in their perception of the nature and severity of defects. In the past approaches, such different persons have recorded in the forms different, subjectively- determined values to denote the severity of a defect. As a result, often it is difficult for an owner of an asset to interpret or evaluate the true severity of a defect. There is a need for a more consistent and objective way to record and report defect information.
The service provider conveys the information to the owner so that the owner can review it to determine the extent of the restoration that is needed. Often, the owner wishes to review each portion of the asset that contains a defect at the same time that the owner reviews the information, so that the owner can determine whether the service provider's descriptions are accurate. Since descriptions of defects are highly subjective, the owner review step is important. One complication of this process is that the owner often wishes to receive the information in a confidential way. In particular, the owner of an asset usually does not want its competitors to know the condition of the asset, and does not want its competitors to know which assets it is evaluating for possible exploitation. Thus, there is a need for the service provider to communicate with the owner of the asset in a secure way.
A limiting factor in carrying out the restoration process according to the foregoing prior approach is the speed with which information that describes defects in an asset is assembled, managed, and transported. The handwritten forms are tedious to compile and can be communicated to the owner of the asset only using traditional methods of document transmission, such as mail or facsimile. Further, it is difficult for the owner of the asset to make decisions about whether to pursue corrective work on defects based only on information in the handwritten forms. The owner of the asset normally receives only the form and not the asset.
Thus, there is a need for a system that provides a way to store image defect information in correlation with image location information, so that a portion of an image that contains a perceived defect can be rapidly located by the owner of the asset.
Another disadvantage of the past approaches is that they do not enable the owner of the asset to easily cross-reference the condition of multiple elements of an asset. For example, the owner may wish to know whether the same stain, dig or tear is present in a particular negative and a print made from that negative. In the past, this has required tedious cross-comparison of handwritten defect reports.
SUMMARY OF THE INVENTION
The foregoing needs, and other needs, are fulfilled by the present invention, which provides, in one aspect, a method of evaluating defects in a motion picture element, the method comprising the steps of identifying a defect in a portion of the motion picture element; storing information that describes the defect, in association with a location value that identifies a location of the defect, in a defect database; and providing an owner of the motion picture element with access to the defect database. One feature of this aspect involves identifying a defect by converting the portion into a video image; displaying the video image on a display; and identifying the defect based on the video image. Another feature relates to generating the location value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device. In another feature, the method includes the steps of converting the video image into a digitized image representation; and storing the digitized image representation in the database in association with the information that describes the defect. Still another feature involves generating the location value by (a) generating a frame count value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device and (b) converting the frame count value into a footage value and a frame value.
In another feature, the step of storing information comprises the steps of (A) storing information that describes the defect, in association with a location value that identifies a location of the defect in the motion picture element, in a defect file; and (B) reading the information that describes the defect, and the location value, from the defect file and storing the information that describes the defect and the location value into the database. One related feature is that step (A) further comprises the steps of storing header information in the defect file; storing reel identifying information in the defect file; and storing a type code, the location value, and the information that describes the defect in the defect file.
According to another feature, the step of storing a type code further includes the step of storing a footage value and a frame value in the defect file. In another feature, step (B) further comprises the step of storing the information that describes the defect and the location value in an array that is stored in the memory of a computer. According to still another feature, the step of storing further comprises the steps of storing work order information about motion picture defect evaluation projects in one of a plurality of work order records in a work order table of the database; storing reel descriptive information about one or more reels of the motion picture element in one or more reel records of a reel information table of the database, in which each reel record is associated with one of the work order records; and storing defect descriptive information about one or more defects of a reel of the motion picture element in one or more defect records of a defect information table of the database, in which each defect record is associated with one of the reel records. Yet another feature further involves the steps of converting the portion into a video image; converting the video image into a digitized image representation; and storing the digitized image representation in one of the defect records in association with the defect descriptive information. According to another feature, the step of providing an owner of the motion picture element with access to the defect database comprises the steps of storing the defect database in a computer- readable medium; delivering the computer-readable medium to the owner; and displaying the database at a client of the owner.
In another feature, the step of providing an owner of the motion picture element with access to the defect database comprises the steps of storing the defect database in a server that is accessible over a global computer network, in which the server is responsive to requests for information that are presented in an agreed-upon protocol; providing to the owner an identifier of a location on the server of the defect database; and retrieving a copy of the database at a client of the owner using the protocol. In another feature, the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in anonymous file transfer protocol (FTP). A related feature is that the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in hypertext transfer protocol (HTTP). According to another feature, the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in the database. In a related feature, the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in one of the defect records in association with a defect that is referenced in the comments. Another related feature is that the step of storing defect descriptive information includes the step of storing a unique reel reference value in one of the defect records in association with the descriptive information. In yet another feature, the step of storing a unique reel reference value includes the step of generating the unique reel reference value based on a work order number and a reel number that are associated, respectively, with a work order record and a reel record that relate to the defect information. Advantages of the invention will be set forth, in part, in the description that follows and, in part, will be understood by those skilled in the art from the description or may be learned by practice of the invention. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents. BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, that are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention. Figure 1 is a block diagram of a computer system environment in which embodiments of the present invention may be used.
Figure 2 is a block diagram of a database schema used in a preferred embodiment.
Figure 3 is a block diagram of software components used in a preferred embodiment.
Figure 4 is a block diagram of a computer system with which an embodiment of the present invention is implemented.
Figure 5 is a flow diagram of an embodiment of a method of identifying defects in a motion picture element.
Figure 6A is a flow diagram of an embodiment of a method of converting a defect file into a file that is compatible with a database. Figure 6B is a flow diagram of additional steps in the method of Figure 6A.
Figure 6C is a flow diagram of additional steps in the method of Figure 6 A.
Figure 6D is a flow diagram of additional steps in the method of Figure 6A.
Figure 6E is a flow diagram of additional steps in the method of Figure 6A.
Figure 7 is a diagram of a user interface screen that is generated using a preferred embodiment.
Figure 8 is a diagram of a report that is generated by a preferred embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Reference will now be made in detail to preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
A method and apparatus for image defect identification is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
ENVIRONMENT
Figure 1 is a block diagram of a computer system environment in which embodiments of the present invention may be used. In the preferred embodiment, at the premises of a motion picture restorer or other service provider 2, a motion picture element 100 is provided to a film scanner 102 having a film/frame counter 104. "Element" refers to any image medium, including still frame and - -
motion picture media such as film prints, camera negatives, color reversal intermediates, internegatives, videotapes, interpositives, and other material. The film scanner 102 is a machine that projects the element and creates a digitized signal representing an image recorded in the element in real time, frame by frame. The digitized signal can be processed by an external computer, as will be explained further below.
The film scanner 102 also produces video information that is displayed to an operator of the film scanner. For example, the film scanner 102 generates a conventional NTSC video signal that is coupled to a display 107 such as a conventional television monitor. Using the monitor, an operator of the film scanner can see the image produced by the film scanner as the element passes through the scanner. The video signal is also coupled by a signal path 134 to the computer system 108. As described further below, the computer system 108 has a video digitizer that receives the video signal and converts it to digital form.
Suitable film scanners are commercially available from Cintel, Inc., BTS, Quantel, and other makers. The film/frame counter 104 operates in conjunction with the film scanner and counts the element as it passes through the film scanner 102. In this context, "count" means to automatically measure the length of an element in frames. The film scanner 102 internally generates one electronic pulse per frame as frames move through the scanner. The pulse train is coupled to the film/frame counter 104. The film/frame counter 104 maintains an internal count of the number of pulses, and increments or decrements the count as an element moves forward or backward through the film scanner 102. The film/frame counter 104 generates a digital representation of the number of frames of the element that have passed through the film scanner 102. The digital representation of frame information is provided from an interface 106 through a first signal path 132 to a computer system 108 that has a complementary interface for receiving data from the film/frame counter 104. For example, the interface 106 is an RS-232 high-speed serial data interface. The signal path 132 is any means of connecting the interface 106 to the computer system 108, for example, a cable, wireless transceiver, or direct bus connection.
In the preferred embodiment, the film/frame counter 104 is an Evertz film/frame counter that is compatible with the film scanner 102. The computer system 108 is a conventional personal computer or workstation. A more detailed description of certain internal parts of the computer system 108 is provided below. In the preferred embodiment, the computer system 108 is coupled to a database 110 and a printer 112. The computer system 108 reads and stores information in storage media such as a disk 114 and a CD- ROM 116. The computer system 108 operates under control of one or more stored programs, of which the functions, inputs, and outputs are described further below.
In one embodiment, the computer system 108 forms one element of a computer network 120 located at the service provider's facility. The computer network 120 includes typically one or more clients 122a, 122b, 122c, each of which is a workstation or computer. Using the computer network 120 and conventional network software executing on the computer system 108 and the clients 122a- 122c, each of the clients can receive messages from the computer system 108 and access information stored in the database 110. Preferably, the computer network 120 includes a server 124 that provides centralized storage of programs and data. In one embodiment, the server 124 is coupled using an appropriate interface to a global packet-switched network popularly known as the Internet 126. In an alternative embodiment, as will be described, the server 124 operates without a network connection and information is exchanged among client and server by physically moving storage media from one location to another.
At a facility of the owner 4 of the element 100, there is a client 130 that is coupled to the Internet 126 using an appropriate interface and software. Using the client 130, the owner 4 of the element 100 can receive messages and information about the element from the service provider 2 while the service provider is working on the element. In this context, the term "client" as used in "client 130" refers broadly to any electronic end station device, such as a personal computer, workstation, terminal, browser, etc.
DATABASE SCHEMA
In the preferred embodiment, the computer system 108 executes one or more computer programs that establish and use tables in the database 110 according to the schema shown in Figure 2. Preferably, the database 110 is a database created using a commercially available database application program such as Microsoft Access®. Alternatively, the database is created using a database server such as the Oracle8®, Sybase® or DB2® database servers.
Generally, the schema comprises a work order table 200, a reel table 210, and a defect table 220. Each record in the work order table 200 stores information describing a particular job to be performed or being performed by the service provider 2. Each record in the reel table 210 stores information describing one reel of an element that is involved in one of the work orders. Each record in the defect table 220 stores information describing one defect in one of the reels that is described in the reel table. Thus, a work order refers to a set of services carried out by the service provider that may potentially involve more than one reel and more than one defect.
In the preferred embodiment, the work order table 200 comprises columns named WorkOrderNo, WorkOrderType, JobNo, Title, Customer, StartDate, StopDate, Operator, Type, ColorType, ElementType, Composite, FilmFormat, AspectRatio, ReelCount, TotalFootage, and Comment. The foregoing names are merely exemplary labels that can be applied to the columns of the work order table 200; other labels can be used. Likewise, not every indicia indicated is required in every embodiment. The WorkOrderNo column stores a work order number, which is a numeric value that uniquely identifies a particular work order. The WorkOrderNo column is a key to the reel table 210. The database 110 maintains an index keyed to the value of the WorkOrderNo column, so that table lookups based on WorkOrderNo can be carried out by an operator or by other database tables and functions. The WorkOrderType column stores a work order type code, which is a value identifying the type of work to be carried out by the service provider for a particular work order. An example work order type is "Film Evaluation." Thus, the work order type provides a brief description of the nature of the work under a work order.
The JobNo column stores values that identify a job number. In this context, "job" refers to an asset. Each job may have one or more work orders, in which each work order is associated with a particular work project involving one or more elements of the asset associated with the job. For example, a particular work order may call for work on several different reels of an asset. Further, identifying all defects in a reel may require work over several different days or sessions.
The Title column stores values that identify an element to be serviced as part of a particular job. Generally, Title values are names of motion pictures, such as "The Freshman." The Customer column stores a value that identifies the customer for whom defect identification services are to be carried out. Generally, Customer values represent the owner of an element, such as "MGM/UA."
The StartDate and StopDate columns store values indicating the date and time on which the service provider began and completed services under a work order. The StartDate and StopDate values are primarily useful in computing service charges and accounting for manpower needs of the service provider.
The Operator column stores a value identifying an employee of the service provider who is responsible for operating the equipment with which the services are carried out. For example, the Operator column stores the value "John Smith." The Type column stores a value identifying the type of motion picture element involved in the work order, namely, whether the element is in color or black and white. A numeric code is used, for example, "1" indicates color and "2" indicates black and white.
The ColorType column stores a numeric value that identifies the type of color element involved in the work order, when the Type column value is "1". Table 1 below lists the preferred values for the ColorType column and the element types to which the values correspond.
TABLE 1 - - Color Type Values
VALUE COLOR TYPE
Duplicate negative
"2" Fine grain master
"3" Internegative
"4" Original negative "5" Interpositive
"6" Print
Color reversal intermediate
The ElementType column stores a value indicating the type of element represented by the element. Preferably, the ElementType column provides information that is important in determining how a restoration process will be carried out on the element. For example, in the industry it is well known that nitrate type film is fragile and highly flammable, so that it requires special handling. In contrast, "safety" film is more durable and less flammable. The two types of film require different restoration processes. Thus, in the preferred embodiment, the ElementType column stores a value of "1" to indicate that the element is nitrate type film, and "2" to indicate that the element is safety film.
The Composite column stores a value indicating whether the element is a composite element. "Composite" in this context is used in the ordinary film industry sense to refer to an element that has a sound track formed integrally with visual picture information in the element. In the preferred embodiment, the Composite column stores a numeric value, for example, "1" indicates a composite element, "2" indicates a silent element.
The FilmFormat column stores a value that specifies the format of an element involved in a work order. For example, in the preferred embodiment, the FilmFormat column stores the value "16" when the element is 16 millimeter film, and "35" when the element is 35 mm film. The
AspectRatio stores a value identifying a ratio of the horizontal and vertical dimensions of frames of the element. For example, the AspectRatio column stores the value "4/3", "16/9", "1.33:1", "1.66:1", "1.78:1", "1.85:1", "2.25:1", "2.35:1", or "2.50:1".
The TotalReels column stores a numeric value that identifies the total number of reels of an element that are associated with a particular work order. The TotalFootage column stores a numeric value that identifies the total number of feet of film of the elements involved in the work order. The Comment column is a free-form text field in which the operator can enter any desired comments about a work order.
Each row in the reel table 210 has columns named WorkOrderNo, ReelNo, Barcode, Client Barcode, StartDate, StartTime, StopDate, StopTime, TotalFootage, ReelRef, and ReelComment. The WorkOrderNo column and ReelNo column are indexed. Values in the WorkOrderNo column match one of the values in the work order table 200. Thus, rows in the reel table 210 represent one or more reels of elements that are associated with a work order. Values in the ReelNo column identify a reel associated with a work order. The values of the ReelNo column are unique with respect to a particular work order, but non-unique across the entire database 110. For example, work orders
10245 and 10899 each may have a reel having a ReelNo value of "1", indicating the first reel in each work order. However, each such work order may have only one reel with a ReelNo value of "1". - -
In this field it has been found useful to mark reels with one or more bar code labels, so that an inventory of reels of an asset can be tracked by the owner of the asset or by the service provider as the service provider handles the reels. Generally, the bar code indicia corresponds to a unique identifier, like a serial number, for each element reel. The Barcode column stores the value of a bar code identifier applied or used by the service provider.
It is also common practice for a customer of the restoration service provider to apply its own bar code label to the reels, so that the customer can track movement of the reels around its facility and among service providers using its own client barcode identifier. The ClientBarcode column stores information corresponding to the bar code indicia applied to a reel by a client or customer of the service provider. Information in the Barcode column, or in the Client Barcode column, can be used for tracking purposes.
The StartDate, StartTime, StopDate, and StopTime columns store values indicating, respectively, the starting date, starting time, ending date, and ending time during which the service provider has provided service for or worked with a particular element reel. These values are useful in computing the efficiency of the service provider's personnel, or in computing charges for services rendered by the personnel.
The TotalFootage column stores a value that reflects the total footage in a particular reel. For example, the value is "1000" for a one thousand foot reel. The ReelComment field is a free-form text field that stores a comment about the reel. The ReelRef column stores a unique identifier that associates a reel and a work order. For example, the value of the ReelRef column is a concatenation of the values of the WorkOrderNo column and the ReelNo column. Such concatenation produces a unique identifier that is useful as a tag or key for rows in the defect table 220, as described further below.
Rows in the defect table 220 store information that describes one particular defect in a reel of an element. Preferably, the defect table 220 has columns named ReelRef, SeqNo, DefectType, Footage, Frame, DefectDescription, DefectComment, Severity, and Defectlmage.
The ReelRef column stores an identifier that associates the row with a particular reel of a particular work order. Since each work order may have multiple reels, and each reel may have multiple defects, the values of the WorkOrderNo column or the ReelNo column alone cannot be used to group defects. In combination, however, they form a reference value that is used to group or associate all defects for a particular work order and reel.
The SeqNo column stores a numeric value that uniquely identifies a particular defect. Thus, the SeqNo value acts as a serial number for a defect. Preferably, the SeqNo value is generated using a sequential number generating function integral to the database 110. The DefectType code stores a numeric value identifying the type of defect that is represented by the current row. Examples of defect types include tear, scratch, stain, and dig. The Footage column stores a value identifying the footage location within a reel of an element at which a defect occurs. The Frame column stores a value indicating the frame at which the defect occurs. Generally, the Footage and Frame values are expressed as integers, such that footage 0 and frame 0 represent the start of a reel. Preferably, the values of the Footage column and Frame column are derived from the output of the film/frame counter 104.
The DefectDescription column stores text that briefly describes a particular defect. For example, a defect description is, "chemical stain," "emulsion dig," "tear," "scratch," etc. The purpose of the DefectDescription column is to provide a brief natural language explanation of the value of the DefectType column. In one embodiment, the value of the DefectDescription column is a particular fixed text string that is associated with a particular DefectType value.
The DefectComment column stores text that explains or comments upon a particular defect. The Severity column stores a numeric value that identifies the relative severity of a particular defect. For example, it is customary in this field to rate each defect using a numeric code such as "1", "2", or "3", in which "1" represents a least severe defect and "3" is most severe. The Defectlmage column stores a reference to an image that is associated with a particular defect. For example, the Defectlmage column stores a reference to a data file that contains a digital representation of a single frame of the defect. In one embodiment, the Defectlmage column stores an object linking and embedding (OLE) object reference to a file stored in a standard graphics file format (e.g., Motion Picture Experts Group [MPEG] format). Thus, the Defectlmage column enables an operator to link a graphics file that represents a frame of a defect with database information that describes the defect. As the description below shows, this linking enables an operator or the customer to rapidly locate and view the actual defect at the same time that the operator views information describing the defect.
In the preferred embodiment, the database 110 includes a work order form, a reel form, and a defect form that correspond, respectively, to the work order table 200, reel table 210, and defect table 220. The forms enable an operator to manually enter data into each table for the purpose of manual table maintenance, reconfiguration, or correction. In the preferred embodiment, the forms are integrated into a user interface screen that is described further below.
SOFTWARE COMPONENTS
Figure 3 is a block diagram of software components that are loaded into memory of the computer system 108 and executed by the computer system in a preferred embodiment.
A basic input/output system (BIOS) 302 is stored in main memory of the computer, or in firmware, and resides at the lowest logical level of the software components. The BIOS 302 is responsible for controlling and supervising basic input and output functions of the computer system, for example, interaction of its processor, memory, and local storage devices. In the preferred embodiment, the BIOS 302 is any of the standard BIOS programs conventionally delivered in readonly-memory (ROM) form in a personal computer, such as the Phoenix ROM BIOS.
An operating system 304 operates in close cooperation with the BIOS 302. The operating system 304 controls and supervises the loading, execution, and operation of application programs with which users of the computer system 108 interact. In the preferred embodiment, the operating system 304 is the Microsoft Windows® operating system, or an equivalent.
The application programs include a database client 306, a report generator 308, a file conversion utility 310, a raw data builder 314, and an frame capture program 318. The database client 306 provides local database functions such as a user interface, management of local storage, and interaction with the database 110. In the preferred embodiment, the database client 306 is Microsoft Access®. Using the database client 306, an operator of the computer system 108 can establish tables in the database 110, and add, modify, or delete rows from the tables.
The database client 306 and the other application programs also read and write files using a local data storage device 410, such as a disk drive. The report generator 308 is coupled to the database client 306 and can receive data stored in the database 110. The report generator 308 enables an operator of the computer system 108 to design, generate, and print reports from data in the database 110. The reports are directed to the printer 112 or to a display device of the computer system. In the preferred embodiment, the report generator 308 is a commercially available report software package, Crystal Reports. The raw data builder 314 is coupled to a port driver 316 and the local storage device 410.
The port driver 316, which may be integral to the operating system 304 or a separate program, is coupled to the interface 106 of the film/frame counter 104. The port driver 316 is compatible with the interface 106. For example, when the interface 106 is an RS-232 interface, the port driver 316 is an RS-232 port driver. Preferably, the raw data builder 314 is responsible for interrogating the interface 106 to receive a current frame count value, receiving defect codes entered by the operator, and storing information describing a defect in association with footage and frame values on the storage device 410. As described further below, in the preferred embodiment, an operator runs a motion picture element through the film scanner 102. The operator stops the film scanner 102 at a defect. The port driver 316 signals the raw data builder 314 that the film scanner 102 has stopped. In response, the raw data builder 314 interrogates the interface 106 and requests the current frame count. The port driver 316 receives a frame count value from the interface 106 and passes the frame count value to the raw data builder 314. The raw data builder 314 converts the frame count value to a footage value and a frame value, and stores the information in memory. When the operator identifies a defect by pressing a key on a keyboard of the computer system 108, in response the raw data builder 314 stores information describing the defect in the local storage device 410 in association with the footage value and frame value. Preferably, the information is stored in a pre-determined format, for example, as an ASCII text file comprising a plurality of sequential text records, each of which represents a defect.
Also in the preferred embodiment, the raw data builder 314 writes and stores a code prefix at the start of each text record. The code prefix identifies the type of data that is stored in the remainder of the record, for example, header information, reel information, or defect information. The following codes are used:
Prefix Function Type Description
Code Key
1 Fl Defect Chemical Stain
2 F2 Defect Emulsion Dig.
3 F3 Defect Neg Dirt
4 F4 Defect Pos Dirt
5 F5 Defect Mislites
6 F6 Defect Tear
7 F7 Defect Light Scratch
8 F8 Defect Heavy Scratch
9 F9 Control Slug Starts
10 F10 Control Slug Ends
11 Fll Control Start of Reel
12 F12 (Undefined)
13 TL Data Title
14 JB Data Job
15 CO Data Customer
16 OP Data Operator
17 RL Data Reel
18 TMSD Data Start Date
19 TMDD Data Done Date
20 CM Data Comment
21 TF Data Tape Format-Speed
22 CB Data Client Barcode
23 FB Data Film Barcode
24 TMST Data Start Time
25 TFDT Data Done Time
26 F5 spec (Undefined)
27 (Undefined)
28 (Undefined) 29 (Undefined)
30 (Undefined)
31 Ctrl+Fl Defect Optical Bump
32 Ctrl+F2 Defect Splices
33 Ctrl+F3 Defect Neg Hair
34 Ctrl+F4 Defect Pos Scratch
35 Ctrl+F5 Defect Neg Scratch
36 Ctrl+F6 Defect Pos Scratch
37 Ctrl+F7 Defect Film Bump
38 Ctrl+F8 Defect Film Weave
39 Ctrl+F9 Defect Processing Error
40 Ctrl+FlO Defect Other
41 Ctrl+Fl 1 Control End of Reel
42 Ctrl+Fl 2 Data Work Order
Preferably, the raw data builder 314 also enables the operator to enter comments about the current defect, and stores the comments in a record of the text file in association with the defect information. An example of a comment is a file name that identifies a frame capture image file. Also in the preferred embodiment, the raw data builder 314 has a file header function that enables the operator to enter and store information that defines a job or work order at the start of the text file that contains defect information. At the start of a work session, the operator executes the raw data builder 314. The raw data builder 314 presents a screen on a display of the computer system 108 that prompts the operator to enter a name of the owner of the asset or client or the service provider, the project name, the job number, the work order number, the type of element (e.g., positive or negative, safety or nitrate), and other information. The information entered by the operator is stored in a header portion of the text file.
The raw data builder 314 also provides a reel number function. A key on the keyboard of the computer system 108 is designated as the "Reel Number" key. To inform the system that the operator is beginning work on a new reel within a work order, the operator presses the Reel Number key. In response, the raw data builder 314 prompts the operator to enter the reel number, and barcode values that correspond to barcode labels placed on the reel by the service provider and the owner. The reel information is stored in the text file. The raw data builder 314 can be implemented in the form of a Visual C++® computer program that runs under control of the operating system 304.
The file conversion utility 310 is coupled to the local storage device 410. In the preferred embodiment, the file conversion utility 310 operates in conjunction with a function library 312. As described further below, the function of the file conversion utility 310 is to read the information stored by the raw data builder 314 and convert the information into a format that is usable by the database client 306. In the preferred embodiment, the file conversion utility 310 is a program written in the Visual Basic language, and the function library 312 is the Visual Basic dynamically loaded library (DLL).
Preferably, the computer system also executes a frame capture program 318 that can receive a digitized video signal and store a file containing a representation of a digitized frame on the storage device 410. When an element is stopped in the film scanner 102, the operator can select a frame of the element and capture the video signal produced by the film scanner in an image file stored on the storage device 410. As described below, an image file can be associated with information that describes a defect.
HARDWARE OVERVIEW
Figure 4 is a block diagram that illustrates a computer system 108 upon which an embodiment of the invention may be implemented.
Computer system 108 includes a bus 402 or other communication mechanism for communicating information, and a processor 404 coupled with bus 402 for processing information. Computer system 108 also includes a main memory 406, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processor 404. Main memory 406 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 404. Computer system 108 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to bus 402 for storing information and instructions.
Computer system 108 may be coupled via bus 402 to a display 412, such as a cathode ray tube (CRT), for displaying information to a computer user. In the preferred embodiment, the display 412 is a second display that is used in addition to the display 107 that is coupled to the film scanner 102. Thus, an operator of the system views the display 107 to see images from the element 100, and views the display 412 to see information generated by programs running in the computer system 108. An input device 414, including alphanumeric and other keys, is coupled to bus 402 for communicating information and command selections to processor 404. Another type of user input device is cursor control 416, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 404 and for controlling cursor movement on display 412. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. The invention is related to the use of computer system 108 for image defect identification. According to one embodiment of the invention, image defect identification is provided by computer system 108 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. Such instructions may be read into main memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequences of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 404 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 410. Volatile media includes dynamic memory, such as main memory 406. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 402. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infrared data communications .
Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 108 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector can receive the data carried in the infrared signal and appropriate circuitry can place the data on bus 402. Bus 402 carries the data to main memory 406, from which processor 404 retrieves and executes the instructions. The instructions received by main memory 406 may optionally be stored on storage device 410 either before or after execution by processor 404.
Computer system 108 also includes a communication interface 418 coupled to bus 402. Communication interface 418 provides a two-way data communication coupling to a network link 420 that is connected to a local network 422. For example, communication interface 418 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 418 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 418 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. The computer system 108 also has a video signal digitizer 440 coupled to the bus 402. The video signal digitizer 440 is externally connected to a video signal provided by the film scanner 102. The digitizer 440 receives the analog video signal and converts it to a digital representation in real time. Under direction of appropriate driver software or application software, the processor 404 reads, stores, and manipulates the digital representation. For example, the processor 404 captures data that is a digital representation of a frame of the motion picture element 100 and stores the data as a digital file in the storage device 410.
Network link 420 typically provides data communication through one or more networks to other data devices. For example, network link 420 may provide a connection through local network 422 to a host computer 424 or to data equipment operated by an Internet Service Provider (ISP) 426. The local network 422 may be coupled through a firewall 427 to the ISP 426 to logically isolate the local network 422 and safeguard communications to and from it. ISP 426 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 428. Local network 422 and Internet 428 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 420 and through communication interface 418, which carry the digital data to and from computer system 108, are exemplary forms of carrier waves transporting the information.
Computer system 108 can send messages and receive data, including program code, through the network(s), network link 420 and communication interface 418. In the Internet example, a server 430 might transmit a requested code for an application program through Internet 428, ISP 426, local network 422 and communication interface 418. In accordance with the invention, one such downloaded application provides for identifying defects in a motion picture element as described herein.
The received code may be executed by processor 404 as it is received, and/or stored in storage device 410, or other non-volatile storage for later execution. In this manner, computer system 108 may obtain application code in the form of a carrier wave.
INPUT DEVICE FUNCTION KEYS
In the preferred embodiment, one input device 414 of the computer system 108 is a keyboard. The standard function keys of the keyboard, which are labeled "Fl" through "F12" in a conventional personal computer keyboard, are redefined to identify types of defects in motion picture elements. Preferably, there are twenty-four defect types that are mapped to the function keys. Table 2 provides a mapping of the function keys to defect names:
TABLE 2 - FUNCTION KEY DEFINITIONS
FUNCTION KEY DEFECT NAME
Fl CHEMICAL STAIN
F2 EMULSION DIG
F3 NEGATIVE DIRT
F4 POSITIVE DIRT
F5 MISLITES
F6 TEAR
F7 LIGHT SCRATCH
F8 HEAVY SCRATCH
F9 SLUG STARTS
F10 SLUG ENDS
Fl l START OF REEL
F12 (Unassigned)
Ctrl+Fl OPTICAL BUMP
Ctrl+F2 SPLICES
Ctrl+F3 NEGATIVE HAIR
Ctrl+F4 POSITIVE HAIR
Ctrl+F5 NEGATIVE SCRATCH
Ctrl+F6 POSITIVE SCRATCH
Ctrl+F7 FILM BUMP
Ctrl+F8 FILM WEAVE
Ctrl+F9 PROCESSING ERROR
Ctrl+FlO OTHER
Ctrl+Fl 1 END OF REEL
Ctrl+Fl 2 (Unassigned)
Use of the function keys, as defined above, is described further below.
METHOD OF OPERATION
Figure 5 is a flow diagram of one embodiment of a method of capturing defect information.
In step 502, an image from a motion picture element is converted to video format. Generally, step 502 involves carrying out a film scanning process. For example, in the embodiment of Figure 1, the motion picture element 100 is mounted in the film scanner 102. An operator activates the film scanner, causing the element 100 to travel through the film scanner. The film scanner 102 scans frames of the element 100 and produces video information as output. The video information is provided in the form of, for example, a conventional NTSC video signal, or a digital composite video signal.
In step 504, the video information is displayed and digitized. Preferably, an NTSC video signal from the film scanner 102 is routed to the display 107, which is viewed by the operator. Concurrently, the video signal is coupled to the digitizer 440 in the computer system 108, and digitized by the digitizer.
Alternatively, the video information from the film scanner 102 is coupled to a videotape recorder. In this alternative, the video information is stored in on videotape for later delivery to the owner of the asset or element. This alternative is appropriate, for example, when the owner wishes to economically view long shots or scenes that contain defects. Videotape storage or archiving is generally known to be less expensive than storage in a digital data storage device or CD-ROM.
An advantage of step 504 is that the display 107 may be large to permit enlarged viewing of individual frames. For example, the display 107 is a 19" CRT display. In the past, examination of individual frames generally involved placing a small film frame on a light box for examination using a microscope. Since standard film frame sizes are 16 mm or 35 mm, the past process has been laborious. In contrast, in the present embodiment, the display 107 can present a greatly enlarged view of a frame.
In step 506, defects in the motion picture element are identified and captured, along with related foot and frame information. For example, as the element 100 is moving through the film scanner 102, an operator sees a defect in a frame of the element as shown on the display 107. The operator stops the film scanner 102 at the first frame that contains the defect. In response to the film scanner stopping, footage and frame information for the current position of the element in the scanner is captured. Preferably, the raw data builder 314 running on the computer system 108 issues an interrogation command to the interface 106 of the film/frame counter 104. In response, the interface 106 provides the current frame count value to the computer system 108. The computer system 108 computes a footage value based upon the frame count value. The computation is carried out, using the following equation:
Footage = (Frame Count) / 16 This equation is valid because there are 16 frames per foot of 35mm film. The footage and frame values are stored in the memory of the computer system.
The operator presses a function key of the input device 414 or keyboard that corresponds to the defect. In response, the computer system 108 generates information or a code that describes the defect, and stores it in association with the current footage and frame values.
As described below, at this point the operator may also command the system to capture the current output of the digitizer, so that a digitized image of the frame of interest is stored in a computer memory or storage device. The operator may characterize a defect using references to more than one frame of the motion picture element. This is useful for many defects that span more than one frame of the element. For example, various types of chemical stains may occur in several consecutive frames of an element. The operator can indicate the first frame at which a defect appears (the starting frame) and the last frame at which the defect appears (the ending frame).
Preferably, the operator also may enter comments about the defect by typing the comments using the keyboard of the computer system 108. The comments are stored in the memory of the computer system 108 in association with the footage location and frame location information. Also in the preferred embodiment, the operator can further characterize a defect by associating a digital image of the frame where the defect occurs. For example, when the operator identifies a defect in the element 100, the operator activates the frame capture program 318. The frame capture program 318 reads the output of the digitizer 440. As a result, the frame capture program 318 receives the digital representation of the frame then currently shown on the display 107 that is produced by the digitizer 440. The frame capture program 318 formats the digital representation using a pre-determined format (for example, MPEG format or Graphics Interchange Format (GIF)). The frame capture program 318 prompts the operator to provide a pathname or file name to be used for the captured image. The operator enters a pathname or file name that is valid in the file system managed by the operating system 304. The frame capture program 318 stores the formatted digital representation as an image file having the specified name, using file system functions of the operating system 304.
The raw data builder 314 provides a frame capture function that is activated by pressing a pre-determined key on the keyboard of the computer system. When the operator presses the predetermined key, the raw data builder 314 prompts the operator to enter a filename of an image file to be associated with the current defect. The operator enters the pathname or file name of an image file that has been stored using the frame capture program 318 as described above. The raw data builder 314 stores the file name in association with the information that describes the location and type of defect.
The foregoing two paragraphs express only one possible way of associating a digital image file with information that describe a defect. For example, in an alternative embodiment, an image file is captured in advance and a copy is associated with the defect information by storing the name of the copy in the database. In another alternative, the image file is stored in a column of one of the tables of the database. Further, in another alternative, the raw data builder 314 is tightly integrated with the frame capture program 318. The raw data builder 314 automatically retrieves or obtains the name of the image file from the frame capture program 318, eliminating the need for a user to enter the file name.
In step 508, a file of defect information is generated. In the preferred embodiment, step 508 involves opening a standard text file on the storage device 410 and writing a sequence of rows of text information. In the preferred embodiment, the defect file comprises records of one of four types: header, defect, begin, and end. Header records identify the element or asset to which the other records relate. The defect records comprise a code identifying the type of defect. The begin and end records comprise the foot and frame information captured in step 506 for the beginning and ending of a defect. Preferably, each record is a separate line of the defect file, terminated by carriage return and line feed characters. However, in this context it should be understood that the term "defect file" refers broadly to a collection of information that describes a defect; the term "defect file" is not limited to a particular file format or a specific set of values.
In one embodiment, in step 506 defect, foot and frame information is captured and stored in main memory of the computer system, and step 508 is carried out when the operator activates a
SAVE function of the raw data builder 314. For example, step 508 is carried out when the operator reaches the end of a reel of an element, or the end of a workday. Alternatively, step 508 is carried out repeatedly within step 506, as defects are identified and captured.
In step 510, the defect file is converted into a file that is readable and usable by a database. In this context, the file that is created in step 508 is referred to as the "defect file" and the file that is created from the defect file in step 510 is referred to as the "database file". For example, in the preferred embodiment, when the defect file is a text file, the file conversion utility 310 is executed using the defect file as input. The output of the file conversion utility 310 is a database file that is compatible with the database 110. Steps involved in executing the file conversion utility 310 are described further below.
In an alternate embodiment, steps 508 and 510 are combined, so that a database-compatible file, or database table, is directly created as defect information is captured.
In another alternative, the conversion step involves the step of carrying out one or more validity checks on the information in the defect file. For example, the validity checks include verifying that every start time code corresponds to a matching stop or ending time code, verifying that codes identifying the start of a reel have a matching end-of-reel code, verifying that every defect file has a work order number, etc.
In step 512, a client or customer is provided with access to the database file. Step 512 may be carried out in several ways. For example, the database file is copied from the local storage device 410 onto a data storage medium compatible with systems used by the client or customer, such as the disk 114 or CD-ROM 116. The data storage medium is delivered to the owner 4 of the element 100. The data storage medium used for such interchange may be any non-volatile storage medium, such as disk, tape, cartridge, flash memory, etc.
Alternatively, the database file is stored on a server 124 of the computer network 120 of the service provider 4. The server 124 has an Internet Protocol (IP) address and runs anonymous file transfer protocol (FTP) server software. The service provider 2 communicates the name or location of the database file to the owner 4; for example, the service provider sends an electronic mail message to the owner containing a directory pathname of the database file. The owner 4 executes, on the client 130, FTP client software, such as a browser. The owner 4 commands the FTP client software to connect to the FTP server of the service provider 2 using the IP address of the server 124. The FTP client software establishes an FTP connection over the Internet 126 to the server 124. The FTP client software requests the database file from the server 124 using the pathname. The server 124 retrieves the database file and delivers a copy over the FTP connection to the client 130. In a variation of this alternative, the server 124 is coupled to one or more modems or other devices that are coupled to the public switched telephone network. The service provider 2 establishes an account on the server 124 for the owner 4 and provides an access number, user identifier, and password to the owner 4. The owner 4 executes, on the client 130, remote access software that can connect the client 130 to the server 124, provide the user identifier and password, and obtain access to the database file or its contents. Examples of suitable remote access software include PC Anywhere, and Pro Comm, both of which are commercially available.
As another alternative, the database file is stored on a server 124 of the computer network 120 of the service provider 4. The client 130 connects to the server 124 through the network 120. In establishing the connection, the client 130 sets up a secure communication channel with the server 124. The client 130 retrieves or accesses the database file, or its contents, over the secure channel.
For example, in one embodiment, the server 124 is coupled to a firewall 128 that selectively passes or rejects information communicated through it. The firewall 128 is coupled to the network 120, providing a secure way for the server to communicate data to or from the network 120. Suitable firewalls are commercially available from numerous vendors of network products such as Cisco Systems, Inc. The server 124 has an Internet Protocol (IP) address and runs HTTP (Web) server software. The service provider 2 communicates the name or location of the database file to the owner 4; for example, the service provider sends an electronic mail message to the owner containing a Uniform Resource Locator (URL) that identifies the database file. The owner 4 executes, on the client 130, Web client software, such as a browser. The owner 4 commands the browser to connect to the HTTP server of the service provider 2 using the URL. The browser establishes a secure HTTP connection over the Internet 126 to the server 124. For example, the browser and server 124 communicate using the Secure Sockets Layer (SSL) protocol, or any other client/server secure communication protocol. The browser sends an HTTP request for the database file to the server 124 using the URL in the request. The server 124 retrieves the database file and delivers a copy over the HTTP connection to the client 130. Thus, the owner 4 receives defect information in a secure way. In another alternative, the database file is secured prior to transmission to the owner 4. For example, the database file is encrypted using a public key encryption algorithm, based on a public key provided by the service provider 2 to the owner 4.
As another alternative, the service provider 2 generates a printed report of the defect information. The printed report is delivered to the owner 4 with a videotape copy of the element. For example, the report generator 308 is used to prepare one or more reports based on the information in the database 110.
At this point, optionally, instructions from the client or customer, or other feedback, are received. In the preferred embodiment, upon receiving the database file that is provided in step 512, the owner 4 reviews the defect information in the database file or one or more reports generated from the database file. The owner determines whether the service provider 2 should attempt to correct one or more defects listed in the database file. Also, the owner may determine that certain defects are not to be addressed, or are not sufficiently important as to merit further attention by the service provider 2. The owner 4 provides these comments to the service provider 2. Alternatively, the owner 4 reviews the database file, the captured images, or the asset itself prior to providing the feedback.
In step 514, the service provider corrects, converts, or restores one or more images in the element that is the subject of the database file. Step 514 may involve carrying out one or more motion picture restoration processes on the element or portions of the element. In alternate embodiments, in steps 512-514 the client is provided access to, and works with, the defect file rather than the database file.
Accordingly, a process is disclosed in which defect information is collected and provided to a client or customer in a way that improves security of the information. The information is recorded in a database, all or a portion of which may be communicated to the client or customer using secure electronic communications. Images of prospective defects are associated with information that describes the defects so that the client or customer can rapidly review the defects to determine whether restoration processes should be carried out on them.
FILE CONVERSION UTILITY Figure 6A, Figure 6B, Figure 6C, Figure 6D, and Figure 6E are flow diagrams of an embodiment of the file conversion utility 310. Appendix A presents an example of Visual Basic source code that can be used to implement the conversion utility 310. The source code shown in Appendix A includes certain error handling subroutines that are omitted from Figure 6A, Figure 6B, Figure 6C, Figure 6D, and Figure 6E to avoid obscuring the invention. Referring first to Figure 6A, in step 602, the method establishes functional responses for certain administrative functions. For example, the utility provides graphical user interface buttons that access administrative functions such as opening a database, opening a file, saving a file, converting a file, updating the database 110, and exiting the utility. Step 602 involves assigning logical subroutines to these administrative functions, so that when the corresponding button is clicked, the utility responds with the proper subroutine. Preferably, at step 602, the "Update Database" button is disabled. In step 604, datatypes, arrays, and other variables are declared and initialized. Step 604 involves allocating memory for variables and arrays used later in the utility, and initializing the arrays and scalar variables to pre-determined values. The arrays preferably include a job array, a reel array, and a defect or "detail" array. Each of the arrays preferably is an array of non-scalar data structures. For example, the job array is an array of records in which each record element comprises a plurality of scalar values including job number, job title, customer name, etc. The reel array is an array of records in which each record element stores values relating to an individual reel of an asset. The values are stored in a plurality of variables, in which each variable corresponds to an attribute of a reel, such as start date, start time, comment, barcode, etc. In step 606, a defect file is opened. Generally, the defect file is a text file prepared in the manner described above. In step 608, a line of text is read from the defect file. Steps 606 and 608 may be carried out by calling appropriate functions of the function library 312. The line that is read from the defect file is temporarily stored in a local string variable.
In step 610, a type code and data segment of the line that was read from the defect file are separated from one another in the string variable. For example, a string copy function is used to separate a numeric code value at the beginning of the string. Preferably, the type code is a 2-digit numeric code that indicates whether the remainder of the line is job header data, reel information, or defect data. In step 612, the type code is evaluated and decoded, and a subroutine corresponding to the type code is selected. In succeeding steps, control is transferred to a subroutine that carries out a function associated with the type code.
Referring now to Figure 6B, for example, in step 614, when the type code indicates that the data segment is a job title, job number, customer name, or operator name, then the data segment is stored in an element of the job array. In step 616, when the type code indicates that the data segment contains values relating to a new reel, then control is passed to a subroutine that initializes the values of the next available element in the reel array. Also, in step 618, when the type code indicates that the data segment contains the value of a reel start date, a reel start time, a reel comment, a client barcode, or another barcode, then the data segment value is stored in a corresponding variable of the current reel array element.
In step 620, the type code is tested to determine whether it indicates that the data segment contains defect information. If so, then control is passed to step 622 of Figure 6C, in which footage, frame, and defect description data is extracted from the data segment. Step 622 may be carried out using string manipulation functions. In step 624, variables relating to a new defect row are initialized. In step 626, values representing the footage and frame location of the defect, the current sequence, current job, current reel, defect type, and defect description are stored in variables of the current defect array element. If the type code indicates that the data segment does not contain defect information, then control is passed to step 628. Steps 608 to 626 are repeated for each line of text or information that is stored in the defect file.
In step 628, the number of rows that have been successfully converted, and any errors that have occurred, are reported to the operator. For example, a message or dialog box is displayed on the display 412. When step 628 is reached, the process has read all the data in the defect file and stored it in arrays in main memory. Accordingly, the process is prepared to complete file conversion by moving the data to a database-compatible file.
Referring to Figure 6D, in step 630, the process enables a database update function. For example, a button labeled "Update Database" is displayed in a graphical user interface on the display 412. In step 632, variables and constants that are needed for database-oriented operations are declared and initialized. The variables and constants represent, for example, the database 110, records of the database, and miscellaneous counters.
In step 634 the database is opened, and an error log file is opened. For example, a function of the function library 312 is called to open the database 110, and to open an error log file on the local storage device 410. The error log file is used to record information about errors if errors occur during conversion of defect information. In step 636, a database transaction is initiated. In this context, "transaction" is used in the conventional database processing sense to refer to a series of related operations in which changes to the database are made persistent or "committed" only if the operations occur without error. In step 638, a status message is displayed to the operator. For example, a message box is displayed on the display 412 to inform the operator that database file conversion is occurring.
Referring now to Figure 6E, in step 640 a work order header record is inserted into the work order table 200 of the database 110. In step 642, the values stored in the reel array are added to the database. For example, values stored in each variable of each element of the reel array are copied to variables, in a row data structure, that represent columns of the reel table 210 of the database 110. A database record insert function is called to insert the contents of the row data structure into the database 110. In step 644, the process displays a running count of the number of reel rows that have been processed. For example, the file conversion utility 310 calls a message box display function of the function library 312 and provides a count of the number of reel rows that have been inserted. In step 646, defect information is processed. For example, step 646 involves copying information stored in the defect or "detail" array to data structures that represent rows of the defect table 220. Step 646 also involves calling a database record insert function to cause values of the row data structures to be inserted into the defect table 220. In step 648, a message is displayed that informs the operator that database updating is complete. For example, the file conversion utility 310 calls a message box display function of the function library 312 and provides a string to the display function that contains a message stating, "Database Update Complete".
In step 650, the database update button in the user interface is disabled. This prevents the operator from attempting to carry out a duplicate database update operation. In step 652, the error log file is closed. When step 652 is reached, it is no longer possible for a database error to arise from operations carried out by the process of Figure 6 A to Figure 6E, and therefore it is appropriate to close the log file. In step 654, the current transaction is committed. For example, a function of the database client 306 is called to carry out a commit operation. The commit operation involves making persistent the changes to the database that are carried out in the preceding steps. In step 656 the database is closed. For example, another function of the database client 306 is called to release control of the database to another process, release memory allocated for database- oriented data structures, etc. The process is complete at step 658.
The foregoing process generally involves moving values from a text file created by the raw data builder 314 into arrays stored in memory, then moving values from the arrays into the database 110. This separation of tasks is preferred in an embodiment because it ensures that the database 110 is not modified in the event that the text file contains invalid data. However, in an alternate embodiment, no arrays are used, and the values in the text file are read and directly inserted into database records. For example, the conversion process can be carried out using a file import function of the database client 306; any errors that occur as a result of invalid data in the text file are logged to an error file.
USER INTERFACE
Figure 7 is a diagram of a user interface screen 700 that is generated on the display 412 by a preferred embodiment. The screen 700 provides a concurrent view of the work order table 200, reel table 210, and defect table 220 of the database 110. The screen 700 is also known as an electronic inspection summary form.
Generally, the screen 700 comprises a header pane 702, a reel information pane 704, and a defect information pane 706. The header pane 702 has a title bar 708 that identifies the name of the system. The header pane 702 also displays a work order form 709 that generally identifies the work order that is currently being processed. The work order form 709 comprises a plurality of data entry fields 710 that correspond to columns in the work order table 200. Using the work order form 709, an operator views information that has been imported into the database using the file conversion utility 310 or the conversion step 510 of the process of Figure 5.
However, as described above in connection with Figure 6A, Figure 6B, Figure 6C, Figure 6D, and Figure 6E, standard film scanners and foot/frame counters generate only a subset of the information defined in the work order table 200, reel table 210, and defect table 220 of the database
110. Accordingly, after carrying out the file conversion step, in one embodiment the only information available for the work order form 709 is a job title, job number, customer name, and operator name. The operator can enter other work order information in the work order form 709 by clicking on a field and entering an appropriate value. In this way, all columns of a row of the work order table 200 are completed. The reel information pane 704 comprises a tabular view of rows and columns of the reel table 210. The reel information pane 704 has a title row 712 that displays column labels for each column in the reel table 210. A row table 714 in the reel information pane 704 displays a plurality of values of rows and columns stored in the reel table 210. In the example screen 700 shown in Figure 7, the row table 714 displays four rows of the reel table 210. However, the size of the row table display is not critical, and more or fewer rows can be displayed. Further, using standard scroll bars and scroll buttons, an operator can adjust the display to show rows or columns that are not currently visible. In this way, the operator can cause the screen 700 to display any desired row or column of the reel table 210.
The defect information pane 706 similarly comprises a tabular view of rows and columns of the defect table 220. The defect information pane 706 has a title row 716 that displays column labels for each column in the defect table 220. A row table 718 in the defect information panel displays a plurality of values of rows and columns stored in the defect table 220. As with the row table 714, an operator can adjust the information displayed in the row table 718 using standard scroll bars and scroll buttons, so that any desired column or row of the defect table 220 is displayed. Preferably, the defect information pane 706 displays information for defects that correspond to the reel that is currently selected in the reel information pane 704. For example, in Figure 7, reel "1" having barcode value "346753" is currently selected in the reel information pane 704. The defect information shown in the defect information pane 706 reflects defects associated with reel "1". The defect information pane 706 is logically connected to the reel information pane 704, so that when an operator selects a different reel or row in the reel information pane, the defect information pane automatically refreshes with defect information that is associated with the newly-selected reel or row. The refresh operation involves carrying out a query to the defect table 220 to obtain rows having a ReelRef value that matches the current reel. The refresh operation is programmed into the database 110, for example, using an event trigger that initiates a database re-query operation when the operator selects a new reel.
The defect information pane 706 also has an image column 720 that enables an operator to associate an image file with a defect. In an embodiment, the operator captures a frame of an asset into an image file using the process described above in connection with the frame capture program 318. When the operating system 304 is the Windows® operating system, an operator can associate an image file with a defect by dragging an icon representing the image file from a window of a file manager program (such as Windows Explorer) to the appropriate row of the image column 720. The database client 306 displays an icon representing the file in the image column 720. Internal functions of the database client 306 and the operating system 304 establish an association of the file to the row. Thereafter, the operator may view the file by double-clicking on the icon shown in the image column 720.
Using the screen 700, an operator can display the contents of the database 110, and edit or modify any field or column value of any of the tables, and carry out other database functions. When the operator is satisfied with the values stored in the tables, the operator can save the database 110 persistently in a storage device. Also, the operator can copy the database 110 to a storage medium, such as the disk 114, CD-ROM 116, or the other examples of storage media given above, and provide the storage medium to a customer or owner of the asset or elements that are described in the database. The operator may also electronically transfer the database 110 to the customer or owner, for example, by sending a copy of the database as an email attachment to the customer or owner over a secure communication channel or using a secure communication protocol. Further, the database 110 can be secured or encrypted prior to transmission. This greatly improves the security of communications about assets among the service provider and the owner, and speeds up the communications.
REPORTS
Figure 8 is a diagram of an exemplary report 800 that is generated by a preferred embodiment. The report 800 generally comprises a title portion 802, a header 830, and a body 840. The title portion 802, which is an optional component of the report 800, identifies the report as an "electronic film evaluation report" and identifies the service provider.
The header 830 presents information that generally describes the asset, element, and reel for which defects aie described in the body 840. For example, the header 830 presents an owner's name 804 for the asset or element, a title 806 of the asset, and a reel number 808. Descriptive information 810 identifies the format and type of the element. The header 830 also includes a date 812 on which the report 800 was generated, and a work order number 814 that identifies the current work order to which the report relates. Barcode information 816 presents the values of the Barcode and ClientBarcode columns of the reel table 210. Each of the values presented in the header 830 is derived from the work order table 200 or the reel table 210. The header 830 may also include the job number value.
Certain values in the header 830 are derived by applying conditional tests to values of the work order table 200 or the reel table 210. For example, when the report generator is generating the electronic film evaluation report 800 of Figure 8, and the value of a Composite column of the work order table 200 is encountered, if the value is "1," then the report generator 308 inserts the text string "Composite" into the descriptive information 810 of the report 800. Otherwise, if the value is "2," then the report generator 308 inserts the text string "Silent" into the report. The conditional tests are logically created and stored in association with a definition of the report 800 using a report design function of the report generator 308.
Values from the defect table 220 are presented in the report body 840. Preferably, the report body 840 is presented in columnar format, comprising a footage column 818, description column 820, defect severity column 822, and comment column 824. The footage column presents the values of the Footage column and the Frame column of the defect table 220. Thus, the value "201.10" indicates a defect at a position 201 feet, 10th frame from the start of the current reel. The description column 820 presents descriptions of defects, taken from the value of the DefectDescription column of the defect table 220. The defect severity column 822 presents severity values taken from the Severity column of the defect table 220. The comment column 824 presents values taken from the DefectColumn of the defect table 220.
The report 800 provides a neat, organized, clear way to present defect information to an owner of an asset or element. In addition, electronic generation of the report, using the report generator 308, enables rapid communication of the defect information to the owner. In one embodiment, the report 800 is stored in an electronic file of a data storage device, rather than being printed in paper form. The report 800 is then communicated to an owner or customer electronically, for example, using electronic mail. Further, an operator can attach the report 800 to one or more image files that contain frames that have been digitally captured from an asset or element.
In addition, the processes and reports described above enable an owner of an asset to easily cross-correlate elements of an asset. For example, when the owner sees information about a defect that is reported in a report about a particular element, the owner can rapidly locate the same footage and frame in reports about other elements. This enables the owner to determine whether the defect can be repaired using a good portion of another element. Such decision-making is facilitated by the precise, frame-level reporting that is provided in the system. Further, the owner can determine the approximate cost of accomplishing the correction by looking at information that describes the element. For example, the owner might determine that a particular defect is located in an interpositive element and not in the camera negative. As a result, the owner knows that another interpositive can be made from the camera negative to avoid or correct the defect. In contrast, if the owner determines that a defect is in the camera negative, the owner must determine whether to undertake a repair of the negative or address the defect when a print is made from the negative.
In this way, the owner of an asset rapidly receives integrated information that describes and shows defects in the asset. As a result, the owner can more rapidly determine whether to proceed with restorative work on defects that have been identified. MODIFICATIONS AND OTHER EMBODIMENTS
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
For example, in an alternative embodiment, the database client 306, report generator 308, file conversion utility 310, function library 312, raw data builder 314, port driver 316, and frame capture program 318 are integrated in a single electronic film laboratory application program that runs under control of the operating system 304. In the integrated application, an image file is automatically associated with a row in the database 110 when a frame image is captured by the operator.
Further, in another alternative, a continuous speech recognition software program runs under control of the operating system 304. The speech recognition program is integrated with the raw data builder 314. In this embodiment, the operator identifies a defect by speaking the name of the defect into a microphone that is coupled through a suitable analog-to-digital (A/D) interface to the computer system 108. The speech recognition program receives digitized speech from the A/D interface and converts the digitized speech into a defect code or name. The defect code or name is stored in the defect file or, alternatively, directly in the database 110.
In addition, it should be understood that the particular file formats, record and array formats, forms and tables described herein are merely exemplary, and that the scope of the invention encompasses a range of modifications of them.
Further, the invention is not limited to use with film-based elements. The invention is usable in the context of any tangible linear serial information-carrying medium that is subject to damage or wear from handling or playback. For example, in one alternative embodiment, the motion picture element is videotape or audiotape having time code recorded on it. In this embodiment, a time code reader is used to perform the same function as the film/frame counter 104. A controllable playback device is used to perform the same function as the film scanner 102. An example of a controllable playback device is a computer-controlled videotape recorder (VTR) of broadcast quality as commercially used in the entertainment industry. Such VTRs have a shuttle capability and single- frame playback and seek functions, so that the VTR can locate and play back an individual frame identified by a particular time code. SMTP time code is suitable. Alternatively, the controllable playback device is an audiotape recorder. In this alternative, a loudspeaker or other audio output devices are used to perform the same function as display 107.

Claims

CLAIMSWhat is claimed is:
1. A method of evaluating defects in a motion picture element, the method comprising the steps of: identifying a defect in a portion of the motion picture element; storing information that describes the defect, in association with a location value that identifies a location of the defect, in a defect database; and providing an owner of the motion picture element with access to the defect database.
2. The method recited in claim 1, in which the step of identifying a defect further comprising the steps of: converting the portion into a video image; displaying the video image on a display; and identifying the defect based on the video image.
3. The method recited in claim 1 , further comprising the steps of: generating the location value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device.
4. The method recited in claim 2, further comprising the steps of: converting the video image into a digitized image representation; and storing the digitized image representation in the database in association with the information that describes the defect.
5. The method recited in claim 1, further comprising the steps of: generating the location value by (a) generating a frame count value using a motion picture viewing device that counts frames of the portion as the portion is moves through the motion picture viewing device and (b) converting the frame count value into a footage value and a frame value.
6. The method recited in claim 1 , in which the step of storing information comprises the steps of:
(A) storing information that describes the defect, in association with a location value that identifies a location of the defect in the motion picture element, in a defect file; and (B) reading the information that describes the defect, and the location value, from the defect file and storing the information that describes the defect and the location value into the database.
7. The method recited in claim 6, in which step (A) further comprises the steps of: storing header information in the defect file; storing reel identifying information in the defect file; and storing a type code, the location value, and the information that describes the defect in the defect file.
8. The method recited in claim 7, in which the step of storing a type code further includes the step of storing a footage value and a frame value in the defect file.
9. The method recited in claim 6, in which step (B) further comprises the step of storing the information that describes the defect and the location value in an array that is stored in the memory of a computer.
10. The method recited in claim 1 , in which step of storing further comprises the steps of: storing work order information about motion picture defect evaluation projects in one of a plurality of work order records in a work order table of the database; storing reel descriptive information about one or more reels of the motion picture element in one or more reel records of a reel information table of the database, in which each reel record is associated with one of the work order records; and storing defect descriptive information about one or more defects of a reel of the motion picture element in one or more defect records of a defect information table of the database, in which each defect record is associated with one of the reel records.
11. The method recited in claim 10, further comprising the steps of: converting the portion into a video image; converting the video image into a digitized image representation; and storing the digitized image representation in one of the defect records in association with the defect descriptive information.
12. The method recited in claim 1 , in which the step of providing an owner of the motion picture element with access to the defect database comprises the steps of: storing the defect database in a computer-readable medium; delivering the computer-readable medium to the owner; and displaying the database at a client of the owner.
13. The method recited in claim 1, in which the step of providing an owner of the motion picture element with access to the defect database comprises the steps of: storing the defect database in a server that is accessible over a global computer network, in which the server is responsive to requests for information that are presented in an agreed-upon protocol; providing to the owner an identifier of a location on the server of the defect database; and retrieving a copy of the database at a client of the owner using the protocol.
14. The method recited in claim 13, in which the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in anonymous file transfer protocol (FTP).
15. The method recited in claim 13, in which the step of storing the defect database in a server includes the step of storing the defect database in a server that is responsive to requests for information that are presented in hypertext transfer protocol (HTTP).
16. The method recited in claim 1, in which the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in the database.
17. The method recited in claim 10, in which the step of incorporating instructions of the owner into the defect database comprises the steps of receiving comments of the owner and storing the comments in one of the defect records in association with a defect that is referenced in the comments.
18. The method recited in claim 10, in which the step of storing defect descriptive information includes the step of storing a unique reel reference value in one of the defect records in association with the descriptive information.
19. The method recited in claim 18, in which the step of storing a unique reel reference value includes the step of generating the unique reel reference value based on a work order number and a reel number that are associated, respectively, with a work order record and a reel record that relate to the defect information.
20. A computer apparatus comprising: one or more processors; and a memory coupled to the one or more processors, the memory comprising a defect database, and one or more sequences of instructions for evaluating defects in a motion picture element, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: identifying a defect in a portion of the motion picture element; storing information that describes the defect, in association with a location value that identifies a location of the defect, in a defect database, and providing an owner of the motion picture element with access to the defect database.
21. A computer-readable medium carrying one or more sequences of instructions for evaluating defects in a motion picture element, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: identifying a defect in a portion of the motion picture element; storing information that describes the defect, in association with a location value that identifies a location of the defect, in a defect database, and providing an owner of the motion picture element with access to the defect database.
PCT/US1999/002576 1998-02-05 1999-02-05 Image defect identification system WO1999040724A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU26599/99A AU2659999A (en) 1998-02-05 1999-02-05 Image defect identification system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7377998P 1998-02-05 1998-02-05
US60/073,779 1998-02-05
US7402598A 1998-05-06 1998-05-06
US09/074,025 1998-05-06

Publications (4)

Publication Number Publication Date
WO1999040724A1 true WO1999040724A1 (en) 1999-08-12
WO1999040724B1 WO1999040724B1 (en) 1999-11-11
WO1999040724A8 WO1999040724A8 (en) 2000-03-09
WO1999040724A9 WO1999040724A9 (en) 2000-08-24

Family

ID=26754878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/002576 WO1999040724A1 (en) 1998-02-05 1999-02-05 Image defect identification system

Country Status (2)

Country Link
AU (1) AU2659999A (en)
WO (1) WO1999040724A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012065759A1 (en) * 2010-11-16 2012-05-24 Thomson Licensing Method and apparatus for automatic film restoration
US9038089B2 (en) 2011-11-30 2015-05-19 Thomson Licensing Method and apparatus for generating metadata for digital content
US9442065B2 (en) 2014-09-29 2016-09-13 Zyomed Corp. Systems and methods for synthesis of zyotons for use in collision computing for noninvasive blood glucose and other measurements
US9554738B1 (en) 2016-03-30 2017-01-31 Zyomed Corp. Spectroscopic tomography systems and methods for noninvasive detection and measurement of analytes using collision computing
CN111859502A (en) * 2020-07-09 2020-10-30 万翼科技有限公司 Method and related equipment for positioning drawing review result
US10877000B2 (en) 2015-12-09 2020-12-29 Schlumberger Technology Corporation Fatigue life assessment
US10883966B2 (en) 2014-06-04 2021-01-05 Schlumberger Technology Corporation Pipe defect assessment system and method
US11029283B2 (en) 2013-10-03 2021-06-08 Schlumberger Technology Corporation Pipe damage assessment system and method
US11237132B2 (en) 2016-03-18 2022-02-01 Schlumberger Technology Corporation Tracking and estimating tubing fatigue in cycles to failure considering non-destructive evaluation of tubing defects

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4524392A (en) * 1983-05-19 1985-06-18 Robert Bosch Gmbh Cine film-video scanner system
US5745217A (en) * 1996-03-29 1998-04-28 Eastman Kodak Company System for detecting, coding, avoiding, and removing defects on a photosensitive web

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4524392A (en) * 1983-05-19 1985-06-18 Robert Bosch Gmbh Cine film-video scanner system
US5745217A (en) * 1996-03-29 1998-04-28 Eastman Kodak Company System for detecting, coding, avoiding, and removing defects on a photosensitive web

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012065759A1 (en) * 2010-11-16 2012-05-24 Thomson Licensing Method and apparatus for automatic film restoration
CN103210636A (en) * 2010-11-16 2013-07-17 汤姆逊许可公司 Method and apparatus for automatic film restoration
US9167219B2 (en) 2010-11-16 2015-10-20 Thomson Licensing Method and apparatus for automatic film restoration
US9038089B2 (en) 2011-11-30 2015-05-19 Thomson Licensing Method and apparatus for generating metadata for digital content
US11029283B2 (en) 2013-10-03 2021-06-08 Schlumberger Technology Corporation Pipe damage assessment system and method
US10883966B2 (en) 2014-06-04 2021-01-05 Schlumberger Technology Corporation Pipe defect assessment system and method
US9459203B2 (en) 2014-09-29 2016-10-04 Zyomed, Corp. Systems and methods for generating and using projector curve sets for universal calibration for noninvasive blood glucose and other measurements
US9453794B2 (en) 2014-09-29 2016-09-27 Zyomed Corp. Systems and methods for blood glucose and other analyte detection and measurement using collision computing
US9448165B2 (en) 2014-09-29 2016-09-20 Zyomed Corp. Systems and methods for control of illumination or radiation collection for blood glucose and other analyte detection and measurement using collision computing
US9459202B2 (en) 2014-09-29 2016-10-04 Zyomed Corp. Systems and methods for collision computing for detection and noninvasive measurement of blood glucose and other substances and events
US9459201B2 (en) 2014-09-29 2016-10-04 Zyomed Corp. Systems and methods for noninvasive blood glucose and other analyte detection and measurement using collision computing
US9610018B2 (en) 2014-09-29 2017-04-04 Zyomed Corp. Systems and methods for measurement of heart rate and other heart-related characteristics from photoplethysmographic (PPG) signals using collision computing
US9448164B2 (en) 2014-09-29 2016-09-20 Zyomed Corp. Systems and methods for noninvasive blood glucose and other analyte detection and measurement using collision computing
US9442065B2 (en) 2014-09-29 2016-09-13 Zyomed Corp. Systems and methods for synthesis of zyotons for use in collision computing for noninvasive blood glucose and other measurements
US10877000B2 (en) 2015-12-09 2020-12-29 Schlumberger Technology Corporation Fatigue life assessment
US11237132B2 (en) 2016-03-18 2022-02-01 Schlumberger Technology Corporation Tracking and estimating tubing fatigue in cycles to failure considering non-destructive evaluation of tubing defects
US11662334B2 (en) 2016-03-18 2023-05-30 Schlumberger Technology Corporation Tracking and estimating tubing fatigue in cycles to failure considering non-destructive evaluation of tubing defects
US9554738B1 (en) 2016-03-30 2017-01-31 Zyomed Corp. Spectroscopic tomography systems and methods for noninvasive detection and measurement of analytes using collision computing
CN111859502A (en) * 2020-07-09 2020-10-30 万翼科技有限公司 Method and related equipment for positioning drawing review result

Also Published As

Publication number Publication date
AU2659999A (en) 1999-08-23
WO1999040724B1 (en) 1999-11-11
WO1999040724A8 (en) 2000-03-09
WO1999040724A9 (en) 2000-08-24

Similar Documents

Publication Publication Date Title
US20230325445A1 (en) Methods and apparatuses for assisting the production of media works and the like
US6557013B1 (en) Story workflow management system and method
US10592075B1 (en) System and method for media content collaboration throughout a media production process
JP3657206B2 (en) A system that allows the creation of personal movie collections
JP3268545B2 (en) System and method for linking and displaying a movie with its underlying source information
CA2182666C (en) Multimedia capture and audit system for a video surveillance network
US20070073776A1 (en) Digital file management
US8195616B2 (en) Content-based storage management
RU2496138C2 (en) Distribution main line
US20050008198A1 (en) Apparatus and method for selecting key frames of clear faces through a sequence of images
US20030225641A1 (en) Integrated digital production line for full-motion visual products
US6864779B2 (en) Method and apparatus for transmitting data from a remote location to a desired device
US20050165840A1 (en) Method and apparatus for improved access to a compacted motion picture asset archive
JPH08287107A (en) System and method for establishment of link between provision of seller information and seller during display of movie
US11776271B2 (en) Systems and methods for creating a story board with forensic video analysis on a video repository
WO1999040724A1 (en) Image defect identification system
US20050163462A1 (en) Motion picture asset archive having reduced physical volume and method
US20020169667A1 (en) Content submission and distribution system for use in clearing advertisement spots
US11380364B2 (en) Editing and tracking changes in visual effects
CN101203865A (en) System and method to simulate film or other imaging media
CN212990113U (en) Data acquisition equipment is dressed to intelligence
Williams et al. The impact of distributed multimedia systems on computer support for co-operative work
CN116055819A (en) Reading room management system based on set top box
Bertrem et al. A digital search tool for VRT’s film collection
Boss Imaging for libraries and information centers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AU BA BB BG BR CA CN CZ EE GD GE HR HU ID IL IS JP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN YU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: B1

Designated state(s): AL AU BA BB BG BR CA CN CZ EE GD GE HR HU ID IL IS JP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN YU

AL Designated countries for regional patents

Kind code of ref document: B1

Designated state(s): AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

AK Designated states

Kind code of ref document: C1

Designated state(s): AL AU BA BB BG BR CA CN CZ EE GD GE HR HU ID IL IS JP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN YU

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page

Free format text: REVISED ABSTRACT RECEIVED BY THE INTERNATIONAL BUREAU AFTER COMPLETION OF THE TECHNICAL PREPARATIONS FOR INTERNATIONAL PUBLICATION

AK Designated states

Kind code of ref document: C2

Designated state(s): AL AU BA BB BG BR CA CN CZ EE GD GE HR HU ID IL IS JP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN YU

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

COP Corrected version of pamphlet

Free format text: PAGES 1-31, DESCRIPTION, REPLACED BY NEW PAGES 1-34; PAGES 32-35, CLAIMS, REPLACED BY NEW PAGES 35-38; PAGES 1/12-12/12, DRAWINGS, REPLACED BY NEW PAGES 1/12-12/12; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase