Apparatus and method for searching data

Abstract: The present invention provides a data search apparatus having a processing device, a storage device, an input device responsive to user input, and a display device, the apparatus being characterised by: data extracting means within the processing device for dividing a sequence of data to be searched and for establishing a plurality of representative samples of data from said sequence of data; display means for sending said plurality of representative samples of data to the display device for display; the input device being responsive to user input to select two representative samples from among those displayed; and the processing device having a data search region determining and changing means responsive to the input device to determine, as a new sequence of data to be searched, a sequence of data whose start and end positions are specified by said two selected representative samples. This technique simplifies the data search area setting operation. Representative samples among a group of data to be searched are displayed, and two representative samples in the display are selected to specify a new area of data to be searched.

Description: This invention relates to a data search apparatus and a method for searching a sequence of data stored on a storage medium and visually outputting desired data. When a specific frame of image data (representing one screen) at an unknown storage location in movie data stored on a storage medium is to be retrieved by a data search apparatus, the data search apparatus normally reads the movie data on the storage medium sequentially from a start storage location and displays such data on a display unit. Viewing the display screen, the user waits for the appearance of a desired frame. In such a sequential search method, the closer the storage location of the desired frame is to the last part of the storage medium, the more time is taken until the user finds the desired frame. A data search apparatus is proposed (JP-A-3 241 149) in which the movie data is previously divided into a plurality of blocks, a frame representing each block is displayed as an icon, and the user nominates a desired icon to specify that the movie data block shown by the nominated icon is to be searched. In the method of JP-A-3 241 149, it is assumed that the data to be searched has been previously divided into a plurality of partial regions. The method was explained such that a region to be searched is narrowed to one of the partial regions. However, the problem with this method is that a region stretching over a plurality of partial regions cannot be specified as a searching target at the same time. Therefore, an inefficient search is required such that the partial regions which may contain the objective data are searched one by one. A second problem of this method is that the only interface provided is for narrowing the region to be searched. Therefore, when it is found that the objective data is not located in the section as a result of search, it is necessary to specify the entire partial region as a region to be searched and narrow again the region; this considerably reduces the efficiency of search work. Furthermore, a problem exists such that when a region including a number of representative frames is specified as a region to be searched, it is necessary to nominate a number of icons, which results in tedious operation. An object of the present invention is to provide an improved apparatus and method for searching data. Accordingly the present invention provides a data search apparatus having a processing device, a storage device, an input device responsive to user input, and a display device, the apparatus being characterised by: data extracting means within the processing device for dividing a sequence of data to be searched and for establishing a plurality of representative samples of data from said sequence of data; display means for sending said plurality of representative samples of data to the display device for display; the input device being responsive to user input to select two representative samples from among those displayed; and the processing device having a data search region determining and changing means responsive to the input device to determine, as a new sequence of data to be searched, a sequence of data whose start and end positions are specified by said two selected representative samples. Preferably each representative sample established by the data extracting means is located at the dividing position. By utilizing the approach of displaying representative data and allowing the region to be searched to be specified by the user, the process of finding desired data is greatly simplified, and efficiency is thus improved. In preferred embodiments the data search apparatus comprises initial data search region determining means for determining an initial region of data to be searched according to a position on a scroll bar specified by a user via the input device. Viewed from a second aspect the present invention provides a method of operating an apparatus to search data, the apparatus having a processing device, a storage device, an input device responsive to user input, and a display device, the method being characterised by the steps of: employing the processing device to divide a sequence of data to be searched and to establish a plurality of representative samples of data from said sequence of data; displaying said plurality of representative samples of data on said display device; selecting two representative samples from among those displayed based on user input entered via said input device; and employing the processing device to determine, as a new IEEE WORKSHOP ON VISUAL LANGUAGES, 4 October 1989, ROME, ITALY pages 68 - 73 TONOMURA Y. ET AL. 'Content Oriented Visual Interface Using Video Icons for Visual Database Systems' and ACM CONFERENCE ON OFFICE INFORMATION SYSTEMS, 23 March 1988, PALO ALTO, USA pages 219 - 227 CHRISTODOULAKIS S. ET AL. 'Browsing Within Time-Driven Multimedia Documents' both suggest providing icons which may be reduced representative video frames to allow a user to index into video objects. Moreover, the icons may be arranged hierarchically, to represent sections, sub-sections, etc.. However, they do not suggest the automatic generation of new icons in response to the selection of start and end points by the user. GB-A-2 258 117 (SONY CORPORATION) discusses the automatic generation of a visual index to a video object, consisting of a sequence of pictures, each picture synthesised from a sequence of frames of the object. However there is no suggestion of generating a new index in response to the selection of start and end points by the user. sequence of data to be searched, a sequence of data whose start and end positions are specified by said two selected representative samples. Preferably the method also comprises a step for convertibly displaying a plurality of second representative samples, which are established from the sequence of data searched before changing, instead of a plurality of first representative samples established by the processing device, this replacement taking place based on an external instruction received upon display of said plurality of first representative samples obtained from said new sequence of data to be searched. Typically the method further comprises the step of determining whether or not there are representative samples coinciding with each other between a plurality of second representative samples obtained from said sequence of data to be searched before changing and a plurality of first representative samples when said plurality of first representative samples obtained from said new sequence of data to be searched are displayed and, in the case of an affirmative determination, changing the coinciding first representative samples to display the changed samples. In preferred embodiments a start icon and an end icon individually indicating said start and end positions of said sequence of data to be searched are displayed in said representative sample displaying step, the start or end position for said new sequence of data to be searched being determined according to a selection of said start icon or said end icon during the step of determining the new sequence of data to be searched. A region specified by the selected two representative samples can be displayed in connection with a display of the plurality of representative samples. Typically the sequence of data represents moving pictures data, and each representative sample is the image data of one frame. Alternatively, the sequence of data is text data, and the representative sample is a predetermined amount of data from within the text data. The preferred embodiments of the invention enable the region to be searched to be reduced sequentially by selecting the positions of two representative data-samples. A scroll bar can be used to specify the initial region to be searched. One embodiment enables not only reduction but also enlargement of the region to be searched. Further the user can be shown a number of representative images by displaying different representative data every time a reduction of the region to be searched is performed. The start icon and/or the end icon can be used to specify the region, and when the start and/or end position of the foregoing region to be searched is the same as before, representative samples different from the previous one are displayed in order to display as many different representative samples as possible. A region determined by selected two representative samples can be displayed to enable the user to confirm the region. Moving pictures data can be applied as data to be searched in order to simplify the moving pictures data search work. Alternatively, text data can be applied as data to be searched in order to simplify the text data search work. The present invention will be described further, by way of example only, with reference to an embodiment thereof as illustrated in the accompanying drawings, in which: Fig. 1 is a schematic illustration showing the display content of the preferred embodiment of the present invention; Fig. 2 is a block diagram showing the system structure of the embodiment of the present invention; Fig. 3 is a schematic illustration showing the relation between the area to be searched and data position in the embodiment of the present invention; Fig. 4 is a schematic illustration showing the procedure for specifying the area to be searched in the embodiment of the present invention; Fig. 5 is a schematic illustration showing the relation between the position of the representative screen and the area to be searched in the embodiment of the present invention; Fig. 6 is a flow chart showing the procedure executed by CPU 10A in Fig. 2; Fig. 7 is a flow chart showing the procedure executed by CPU 10A in Fig. 2; Fig. 8 is a flow chart showing the procedure executed by CPU 10A in Fig. 2; and Fig. 9 is a schematic illustration showing a change in content of the representative screen. A system arrangement of a data search apparatus according to the present invention will be described using Fig. 2. In Fig. 2, a calculator (computer) 10 is connected with a display 20, a file storage device 30, and an input device 40. The calculator (computer) 10 can be a computer which is capable of image processing, such as a personal computer. The calculator (computer) 10 has a CPU 10A, a program memory 10B, and a work memory 10C. The CPU 10A executes the control procedure of Fig. 6 to Fig. 8 stored in the program memory 10B to achieve the moving pictures data search function according to the preferred embodiment of the present invention. The work memory 10C temporarily stores various data used for the search processing and image data displayed on the display 20. The display 20 can be a dot matrix type display such as a CRT display device. The file storage device 30 can be a floppy disk storage device (FDD) or a hard disk storage device (HDD), or an optical storage device. The file storage device 30 stores movie image data in units of frames. The input device 40 comprises a keyboard 40A and/or a mouse 40B. However the mechanism of screen pointing used in the present invention is not restricted to the use of a keyboard and a mouse. Hereinafter explanations are given for the case where a mouse 40B is equipped with a keyboard 40A. When only a keyboard 40A is used, an appropriate screen pointing mechanism using a keyboard is assumed. Frame search processing according to the preferred embodiment of the present invention will be described. Fig. 1 shows a display condition wherein a specific frame on the file storage device 30 is displayed in the display screen of the display 20. In Fig. 1, a display part P of the display 20 shows a frame screen. A display part 21 shows an entire scroll bar. A display part 21A shows a scroll box. The display part of the scroll bar (hereinafter referred to as the scroll bar) 21 is used by the user to set an initial frame search region. As shown in Fig. 3, a position at which the scroll box 21A is displayed shows a relative storage position in the storage data of a currently displayed frame. When the user uses the mouse 40B to position a mouse cursor in the display screen in the scroll bar 21, and operates a specific key of the keyboard 40A, a wide range search mode of the preferred embodiment is set to enable frame search. According to this mode, the CPU 10A in Fig. 2 starts the control procedure of Fig. 6. The user specifies the wide range to be searched using the scroll bar 21 (step S10 in Fig. 6). To specify a search object from a stored start frame to a stored frame corresponding to the currently displayed frame, the user indicates a part 21B of the scroll bar 21 in Fig. 1 by the mouse 40B (Fig. 3). With this operation, the CPU 10A identifies the position of the mouse cursor in the execution procedure of steps of S100 → S101 → S102 → S140 in Fig. 7, determines a start frame and a last frame of the region to be searched, and prepares a search region information (for example, frame storage address and frame number). To specify a region from the stored frame corresponding to the currently displayed frame to the last storage frame as a searching target, the user indicates a part 21C of the scroll bar 21 in Fig. 1 by the mouse 40B. With this operation, the CPU 10A identifies the position of the mouse cursor in steps of S100 → S110, and prepares search region information showing the specified region to be searched in steps of S111 → S112. To specify all of the stored data as a region to be searched, the user indicates the scroll box 21A of the scroll bar 21 in Fig. 1 by the mouse 40B. With this operation the CPU 10A identifies the position of the mouse cursor in the order of steps of S100 → S110, and next, prepares search region information showing the specified region to be searched (steps of S120 → S130). The CPU 10A is in preferred embodiments arranged to perform the function of the initial search region determining means as defined in the claims, and executes the above described processing. In such a way the region to be searched is specified by the user, and the CPU 10A then determines storage frames to be read as representative frames in the specified region to be searched (step S140 in Fig. 7). The determination method of the representative frames will be described later. The prepared search region information, that is, the positions of the start point and the end point of the region to be searched and the positions of the determined representative frames are stored in a stack area in the work memory 10C (step S150 in Fig. 7). The execution procedure of the CPU 10A returns from Fig. 7 to Fig. 6, the representative frames are read from the file storage device 30 in step S20, and displayed on the display 20 as shown in Fig. 1B. In the preferred embodiment the CPU 10A is arranged to act as the data extracting means and display means defined in the claims. The display screen in Fig. 1B will now be described. A window display region Q displays a predetermined number (10, for example) of reduced frames 23, these being the representative frames, a start icon 22A and an end icon 22B. All data to be searched is divided into 10 portions, and frames located at the dividing positions (Fig. 5) are read for use as the reduced frames 23 from the file storage device 30 by the instruction of the CPU 10A and reduced. Since the individual reduced frames indicate the dividing positions in the area to be searched and currently set, the start icon 22A, the end icon 22B, and the representative frames are selectively used for specifying the area of subsequent search. An operation example of specifying the area is shown in Fig. 4. Fig. 4A shows that the user indicates the representative frame #2 by the mouse 40B, then the representative frame #7, and specifies again an area between these frames as the area to be searched. Fig. 4B shows that an area from a start frame of an area to be searched and currently set as a start point, to the representative frame #5 is reset as the area to be searched. When the user re-specifies the area to be searched using the procedure as shown in Fig. 4A, the CPU 10A, as shown by the dotted lines in Figures 4A and 4B, displays an image surrounding the entire representative frames to inform the re-specified area to be searched. After that, the CPU 10A advances the execution procedure to S20 → S30 → S40 → S50 and, accepts the instruction of the mouse 40B, to accept the re-specified area to be searched. Then, the CPU 10A divides the specified area to be searched, that is, the area lying between the stored screen images corresponding to the two representative screen images selected on the display screen into 10 portions to determine representative screens images of a new second stage (Fig. 5) (step S60). The determined representative screen images are displayed on the display 20 (step S20). After that, the procedure of step S20 ∼ S60 is repeated so that reducing of the area to be searched and displaying of the representative screen images are performed. The example shown in Fig. 5 shows that the area to be searched is reduced to an area between the representative screen images #3 and #7 by the user. When the user learns from the representative screen images that the area to be searched becomes closer to a desired frame, the user indicates a representative screen image closest to the desired frame in the representative screen images by the mouse 40B. When the CPU 10A detects the indication input (step S40 in Fig. 6), the CPU 10A reads a plurality of frames adjacent to the stored screen image corresponding to the indicated representative screen image from the file storage device 30 to display on the display 20 (step S45). When the desired screen image is not obtained, the user searches using one of the following two methods. First, the representative frames displayed in the previous stage are displayed again by the instruction of the keyboard 40A or the mouse 40B. If necessary, the user re-indicates the area to be searched (step S40 → S50 → S60 → S20). Secondly, after selecting a single representative frame different from the single representative frame selected by the above operation, reduced stored screens adjacent to the selected representative frame are displayed by the CPU 10A (steps of S40 → S45). This procedure is repeated until the user finds the desired frame, and when the user inputs a search end instruction and an indication of the desired frame on the display screen by the keyboard 40A or the mouse 40B, the CPU 10A displays the stored screen image (original screen image) corresponding to the indicated (reduced) frame on the display 20, and ends the control procedure in Fig. 6 (steps of S30 → S35 → end). As described above, using the representative frames on the display screen, the user can reduce the area to be searched and search the desired frame. In the present embodiment, in addition to the above search function, the following two functions are provided for more efficient search by the user. First, after the area to be searched is reduced by indicating two representative screen images, it is possible to revert back to the area to be searched before reduction. For this purpose, a region enlarging key for instructing return of the area to be searched is provided on the keyboard 40A. Secondly, the representative screen images displayed in the process of reducing the area to be searched should not be the same as those which were displayed in the previous stage. For this purpose, a stack area to cumulatively store the frame number used as the representative screen images is provided in the frame memory 10C in Fig. 2. An execution procedure of the CPU 10A to achieve the above two functions is shown in Fig. 8. The control procedure of Fig. 8 is executed in the representative frame determination processing of step S60 in Fig. 6. After the user selects the representative screen image and specifies the reduced area to be searched, when the region enlarging key is operated, the CPU 10A detects the operation in step S200 in Fig. 8 to delete the related information showing the current area to be searched and representative screens, that is, the start and last frame numbers of the area to be searched and the frame numbers of the representative screens, from the stack area (step S201). Then, the CPU 10A reads the above related information of the previous stage, that is, the start frame number, the last frame numbers, and the representative frame numbers, from the stack area, and sets them to the current related information (step S203). This related information is used to display the representative screen. After the reduced area to be searched is specified, when the user does not operate the region enlarging key, the CPU 10A identifies the content of the instruction for the reduced search. More specifically, when the start icon 22A and the end icon 22B are operated, the operation is detected in step S210 in Fig. 8, the CPU 10A reads the newest (current) representative frame numbers stored in the stack area, and updates current representative frame numbers into new numbers adjacent to the above newest representative frame numbers respectively as shown in Fig. 9. As a result, the representative screens can be changed respectively over to screens adjacent to the representative screens displayed up to now. When the start icon 22A and the end icon 22B are not operated, the frame numbers used as the representative frames are determined within the specified area (steps of S200 → S210 → S220 → S230). At this time, the newly set current representative frame numbers and the previous representative frame numbers are individually compared for coincidence. The representative frame number determined to coincide is changed, for example, to the adjacent frame number (steps of S240 → S230). Thus, the currently set representative frame numbers are added to the stack area. In addition to the process of the preferred embodiment of the present embodiment, the following processes can be applied. 1) Prior to using the data search method of the present invention, a search can be performed based on a file name or a keyword in order to limit the data group to be searched. When such a search method is used, it is preferable to select the search method on the menu screen. 2) As shown above, a very common case where only the frame number information is given to each frame of the image data has been described. However, an even more efficient search can be achieved when the method of the present invention is used in combination with a representative frame determination method as disclosed in JP-A-5 282 379. Specifically, when a representative frame based on a change in scene or the content of a story (hereinafter referred to as a semantic representative frame) is previously determined or can be determined automatically, an area to be searched is divided equally to determine temporary representative frames, and by adopting a semantic representative frame closest to the temporary representative frame as the representative frame of the area, it is possible to retrieve the content of the data in the region to be searched more positively, thereby improving the efficiency of the search. 3) In the preferred embodiment, the data to be searched represents moving pictures. However, alternatively, other types of data groups such as a document text, a program text, etc can also be used as searching targets. For documents and programs, various methods can be considered for determining representative samples. The simplest method is to use number of lines of the text instead of number of frames of the image data. Alternatively, methods which are more adapted to content of data can be used, which may for example identify a start point of the representative sample, a line next to a space line, a character string which is known to appear at a punctuation of the text (for example, character string section in the document formatting software LATEX), a function defining section in a C program source, and the like. In any of the above cases, the representative sample should include document data of a predetermined number of lines. The search can be made more efficient by providing a mechanism for selecting one which is most suitable for a current situation from among the plurality of methods for taking representative sample through a graphical interface. Such an interface can be easily achieved. As described above, since in the embodiments, displayed representative data are used to reduce the area to be searched, the user can easily operate to specify the area to be searched, and the search time is reduced. Furthermore, since the area to be searched can be not only reduced but enlarged, a trial-and-error search is also possible with simple operation. In addition, different representative data is displayed at each of a plurality of stages, and so the user can acquire much information about the data.

Claims: A data search apparatus having a processing device (10A), a storage device (30), an input device (40) responsive to user input, and a display device (20), the apparatus being characterised by: data extracting means within the processing device (10A) for dividing a sequence of data to be searched and for establishing a plurality of representative samples of data from said sequence of data; display means for sending said plurality of representative samples of data to the display device (20) for display; the input device being responsive to user input to select two representative samples from among those displayed; and the processing device having a data search region determining and changing means responsive to the input device to determine, as a new sequence of data to be searched, a sequence of data whose start and end positions are specified by said two selected representative samples. An apparatus as claimed in claim 1, wherein each representative sample established by the data extracting means is located at the dividing position; An apparatus as claimed in claim 1 or claim 2 further comprising initial data search region determining means for determining an initial region of data to be searched according to a position on a scroll bar specified by a user via the input device (40). A method of operating an apparatus to search data, the apparatus having a processing device (10A), a storage device (30), an input device (40) responsive to user input, and a display device (20), the method being characterised by the steps of: employing the processing device to divide a sequence of data to be searched and to establish a plurality of representative samples of data from said sequence of data; displaying said plurality of representative samples of data on said display device (20); selecting two representative samples from among those displayed based on user input entered via said input device (40); and employing the processing device to determine, as a new sequence of data to be searched, a sequence of data whose start and end positions are specified by said two selected representative samples. A method as claimed in claim 4, further comprising a step for convertibly displaying a plurality of second representative samples, which are established from the sequence of data searched before changing, instead of a plurality of first representative samples established by the processing device, this replacement taking place based on an external instruction received upon display of said plurality of first representative samples obtained from said new sequence of data to be searched. A method as claimed in claim 4 or claim 5 further comprising the step of determining whether or not there are representative samples coinciding with each other between a plurality of second representative samples obtained from said sequence of data to be searched before changing and a plurality of first representative samples when said plurality of first representative samples obtained from said new sequence of data to be searched are displayed and, in the case of an affirmative determination, changing the coinciding first representative samples to display the changed samples. A method as claimed in any of claim 4 to 6 wherein a start icon and an end icon individually indicating said start and end positions of said sequence of data to be searched are displayed in said representative sample displaying step, the start or end position for said new sequence of data to be searched being determined according to a selection of said start icon or said end icon during the step of determining the new sequence of data to be searched. A method as claimed in any of claims 4 to 7, further comprising the step of displaying a region specified by said selected two representative samples in connection with a display of said plurality of representative samples. A method as claimed in any of claims 4 to 8, wherein said sequence of data represents moving pictures data, and each representative sample is the image data of one frame. A method as claimed in any of claims 4 to 8, wherein said sequence of data is text data, and said representative sample is a predetermined amount of data from within said text data.

Inventors: HONG JUNG-KOOK, IWANO KAZUO, MISONO SHINJI, HONG, JUNG-KOOK, IWANO, KAZUO, MISONO, SHINJI
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1994
Main classification: G06F17
IPC codes: G06F3, G06F17