Method, apparatus and system for displaying video data
16 claims: 9 independent, 7 dependent
- 1複数のカメラにより得られた各々のビデオデータを再生する再生 方法であって、 前記複数のカメラにより得られた各々の ビデオデー タを 記録する工程と、 前記 複数 のカメラに関連する 各々 のイベント の時間 を記録する工程と、 2つ以上のカメラが選択され、選択されたカメラにより得られた各々のビデオデータを同時に再生する際に、前記各々のビデオデータの再生時間と前記各々のイベントの時間との時間差 を判定する工程と、 前記判定の結果、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が速くなるように、前記各々のビデオデータを再生 する工程とを有し、 前記 判定する工程では、選択されていないカメラに関連するイベントの時間との時間差は判定しない ことを特徴とする 再生 方法。
- 2前記 再生する工程は、前記時間差が前記所定の閾値内のときの当該時間差のイベントに関連するカメラのビデオデータを表示するウィンドウを、当該時間差のイベントとは関連しないカメラのビデオデータを表示するウィンドウよりも強調表示する ことを特徴とする請求項1に記載の 再生 方法。
- 3前記 再生する工程は、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が当該時間差に応じて速くなるように、前記各々のビデオデータを再生する ことを特徴とする請求項1に記載の 再生 方法。
- 4前記再生速度は、所定の速度を上限と す ることを特徴とする請求項 3 に記載の 再生 方法。
- 5前記 所定の閾値は、ユーザ入力に基づいて決定される ことを特徴とする請求項1に記載の 再生 方法。
- 6複数のカメラにより得られた各々のビデオデータを送信可能なサーバ 装置であって、 前記複数のカメラにより得られた各々の ビデオデー タを 記録する手段と、 前記 複数 のカメラに関連する 各々 のイベント の時間 を記録する手段と、 2つ以上のカメラが選択され、選択されたカメラにより得られた各々のビデオデータを要求するメッセージを表示装置から受信する手段と、 前記メッセージに応答して前記各々のビデオデータを送信する際に、前記各々のビデオデータの再生時間と前記各々のイベントの時間との時間差 を判定す る手 段と、 前記判定の結果、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が速くなるように、前記各々のビデオデータを送信する 手段とを 有し 、 前記 判定する手段は、選択されていないカメラに関連するイベントの時間との時間差は判定しない ことを特徴とする サーバ 装置。
- 7前記送信する手段は、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が当該時間差に応じて速くなるように、前記各々のビデオデータを送信することを特徴とする請求項6に記載のサーバ装置。
- 8前記所定の閾値は、ユーザ入力に基づいて決定されることを特徴とする請求項6に記載のサーバ装置。
- 9複数のカメラにより得られた各々のビデオデータを送信可能なサーバ装置で実行される送信方法であって、 前記複数のカメラにより得られた各々のビデオデータを記録する工程と、 前記複数のカメラに関連する各々のイベントの時間を記録する工程と、 2つ以上のカメラが選択され、選択されたカメラにより得られた各々のビデオデータを要求するメッセージを表示装置から受信する工程と、 前記メッセージに応答して前記各々のビデオデータを送信する際に、前記各々のビデオデータの再生時間と前記各々のイベントの時間との時間差を判定する工程と、 前記判定の結果、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が速くなるように、前記各々のビデオデータを送信する工程とを有し、 前記判定する工程では、選択されていないカメラに関連するイベントの時間との時間差は判定しないことを特徴とする送信方法。
- 10請求項9に記載の送信方法をコンピュータに実行させるためのプログラム。
- 11複数のカメラにより得られた各々のビデオデータをサーバ装置から受信して再生可能な表示装置であって、 2つ以上のカメラを選択し、選択されたカメラに関連する各々のイベントの時間を前記サーバ装置から取得する手段と、 前記選択したカメラにより得られた各々のビデオデータを再生する際に、各々のビデオデータの再生時間と前記取得した各々のイベントの時間との時間差を判定する手段と、 前記判定の結果、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が速くなるように、前記各々のビデオデータを送信するように前記サーバに要求する手段と、 前記要求した再生速度に応じて送信された前記各々のビデオデータを受信して再生する手段とを有し、 前記判定する手段は、選択されていないカメラに関連するイベントの時間との時間差は判定しないことを特徴とする表示装置。
- 12前記要求する手段は、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が当該時間差に応じて速くなるように、前記各々のビデオデータを送信するように前記サーバ装置に要求することを特徴とする請求項11に記載の表示装置。
- 13前記再生する手段は、前記時間差が前記所定の閾値内のときの当該時間差のイベントに関連するカメラのビデオデータを表示するウィンドウを、当該時間差のイベントとは関連しないカメラのビデオデータを表示するウィンドウよりも強調表示することを特徴とする請求項11に記載の表示装置。
- 14前記所定の閾値は、ユーザ入力に基づいて決定されることを特徴とする請求項11に記載の表示装置。
- 15複数のカメラにより得られた各々のビデオデータをサーバ装置から受信して再生可能な表示装置で実行される再生方法であって、 2つ以上のカメラを選択し、選択されたカメラに関連する各々のイベントの時間を前記サーバ装置から取得する工程と、 前記選択したカメラにより得られた各々のビデオデータを再生する際に、各々のビデオデータの再生時間と前記取得した各々のイベントの時間との時間差を判定する工程と、 前記判定の結果、前記時間差が所定の閾値内のときよりも前記所定の閾値内でないときのほうがビデオデータの再生速度が速くなるように、前記各々のビデオデータを送信するように前記サーバに要求する工程と、 前記要求した再生速度に応じて送信された前記各々のビデオデータを受信して再生する工程とを有し、 前記判定する工程では、選択されていないカメラに関連するイベントの時間との時間差は判定しないことを特徴とする再生方法。
- 16請求項15に記載の再生方法をコンピュータに実行させるためのプログラム。
Independent claims16
71 paragraphs, as filed
The present invention<u style="single">Playback method, server device, transmission method, and display device</u>Regarding.
Recording units such as video cassette recorders (VCRs) and digital hard disk video recorders are well known and widely used. Recording units are often used as part of a recording system. Traditionally, a recording system consists of recording units connected to many cameras (eg, 8 or 16 cameras). The recording unit retrieves one or more streams of video and image data from the camera and stores the data on a hard disk or tape. Recording systems are used in many applications, including video monitoring, surveillance and security.
In recent years, recording units have been realized as software that resides on standard personal computer platforms. Recording units implemented by such software connect directly to one or more camcorders over a network using the Internet Protocol (IP), which typically uses a standard protocol such as Hypertext Transfer Protocol (HTTP). Video data transmitted over the network is usually in digitized format (eg motion JPEG, MPEG-2, MPEG-4).
The recording unit realized by the software usually supports the reproduction of recorded video data for review. Optionally, such a unit can simultaneously play one or more streams of recorded video data.
In a security environment, a normally recorded video data stream contains segments where there is no activity of interest. Therefore, a recording system generally records event information when a particular activity of interest occurs. Recording system operators typically use playback control to fast forward to a segment of the video data stream where activity is present and skip the segment of the video data stream where no event is present. The disadvantage of such methods is that they often require a large amount of user interaction to process and review the recorded video data, which is inefficient.
It is an object of the present invention to substantially overcome or at least improve one or more of the shortcomings of existing configurations.
According to one aspect of the invention<u style="single">Playback Playback of each video data obtained by multiple cameras</u>The way<u style="single">Each obtained by the plurality of cameras</u>Video day<u style="single">Ta</u>The process of recording and Said<u style="single">Multiple</u>Related to the camera<u style="single">Each</u>Event<u style="single">time of</u>And the process of recording<u style="single">When two or more cameras are selected and each video data obtained by the selected cameras is played back at the same time, the time difference between the playback time of each video data and the time of each event.</u>And the process of determining<u style="single">As a result of the determination, each of the video data is reproduced so that the reproduction speed of the video data is faster when the time difference is not within the predetermined threshold value than when the time difference is within the predetermined threshold value.</u>Has a process to do Said<u style="single">In the determination process, the time difference from the time of the event related to the unselected camera is not determined.</u>Characterized by<u style="single">Regeneration</u>The method is provided.
According to another aspect of the invention<u style="single">A server capable of transmitting each video data obtained by multiple cameras</u>It s a device,<u style="single">Each obtained by the plurality of cameras</u>Video day<u style="single">Ta</u>Means of recording and Said<u style="single">Multiple</u>Related to the camera<u style="single">Each</u>Event<u style="single">time of</u>And the means to record<u style="single">A means by which two or more cameras are selected and a display device receives a message requesting each video data obtained by the selected cameras.</u><u style="single">When transmitting each of the video data in response to the message, the time difference between the playback time of each of the video data and the time of each of the events.</u>To judge<u style="single">Hand</u>Step and<u style="single">As a result of the determination, each of the video data is transmitted so that the reproduction speed of the video data is faster when the time difference is not within the predetermined threshold value than when the time difference is within the predetermined threshold value.</u>Means<u style="single">Have</u>, Said<u style="single">The determination method does not determine the time difference from the time of the event related to the unselected camera.</u>Characterized by<u style="single">server</u>Equipment is provided.
Other aspects of the invention are further disclosed.
One or more embodiments of the present invention will be described with reference to the drawings.
When referring to steps and / or features having the same reference numerals in any one or more of the accompanying drawings, those steps and / or features are, for convenience of the present specification, unless otherwise indicated. Have the same function or operation.
A method 400 (see FIG. 4) for displaying one or more video data streams is described below with reference to FIGS. 1-8. A method 500 for transmitting a video data stream at a reproduction speed will be further described. Further, a method 600 for determining the playback speed at which the video data stream is transmitted and displayed will be further described. Further, a method 900 for recording a video data stream will be described. A method 1000 for transmitting a video data stream at a reproduction speed will be further described. Further, a method 1200 for determining the reproduction speed will be described. In embodiments, methods 400, 500, 600 and 900 may be implemented within the recording system 100 as shown in FIG. System 100 includes video cameras 103, 104 and 105 connected to a communication network 720 that uses IP such as the Internet or an intranet. Each camera 103, 104 and 105 has a role of independently capturing a video data stream.
System 100 further includes a client 700 that processes and displays the captured video data stream. As shown in FIG. 7, the client 700 is preferably composed of a computer module 701, an input device such as a keyboard 702 and a mouse 703, and an output device including a printer 715, a display device 714, and a speaker 717. The modulator / demodulator (modem) transceiver device 716 is used by the computer module 701 to communicate, for example, with a communication network 720 connectable via a telephone line 721 or other functional medium. Modem 716 is used to access the Internet and communication networks 720 implemented in the form of any other network system such as local area networks (LANs) or wide area networks (WANs). In some implementations, the modem 716 may be integrated into the computer module 701.
Computer module 701 typically includes at least one processor device 705 and memory device 706. The memory device 706 is composed of, for example, a semiconductor random access memory (RAM) and a read-only memory (ROM). Module 701 includes an audio-video interface 707 that couples to the video display 714 and speaker 717, a keyboard 702 and mouse 703, and optionally an input / output (I / O) interface 713 to a joystick (not shown), and an interface to the modem 716 and printer 715. It also includes many I / O interfaces, including the interface 708. In some implementations, the modem 716 may be embedded in the computer module 701, eg, in the interface 708. The storage device 709 is provided and typically includes a hard disk drive 710 and a floppy disk drive 711. Magnetic tape drives (not shown) may be further used. CD-ROM drive 712 is typically provided as a non-volatile data source. The components 705 to 713 of the computer module 701 usually communicate via the interconnect bus 704 in a manner that is a conventional mode of operation of a computer system well known to those skilled in the art. Examples of computers that implement the above configurations include IBM-PCs and compatibles, Sun Sparcstations or similar computer systems derived from them.
The recording system 100 further includes a storage server 800 connected to the communication network 720. The storage server 800 is used for recording (ie requesting and storing) the video data stream, accessing the video data stream, handling events, and controlling the system 100. The storage server 800 further stores data corresponding to the events generated by the cameras 103, 104 and 105. The storage server 800 may be further used to create and store data corresponding to events such as motion detection events and sensor events. The storage server 800 is shown in detail in Figure 8.
The storage server 800 is preferably composed of a computer module 801 and an input device such as a keyboard 802 and a mouse 803, and an output device including a printer 815, a display device 814, and a speaker 817. The modulator / demodulator (modem) transceiver device 816 is used by the computer module 801 to communicate, for example, with a communication network 720 connectable via a telephone line 821 or other functional medium. Modem 816 is used to access the Internet and other network systems such as local area networks (LANs) or wide area networks (WANs) and may be incorporated into computer module 801 in some implementations. ..
Like the computer module 701, the computer module 801 typically includes at least one processor device 805 and a memory device 806. The memory device 806 is composed of, for example, a semiconductor random access memory (RAM) and a read-only memory (ROM). Module 801 includes an audio-video interface 807 coupled to a video display 814 and speaker 817, an input / output (I / O) interface 813 for a keyboard 802 and mouse 803 and optionally a joystick (not shown), and an interface for the modem 816 and printer 815. It also includes many I / O interfaces, including the interface 808. In some implementations, the modem 816 may be embedded in the computer module 801 or, for example, in the interface 808. Storage device 809 is provided and typically includes a hard disk drive 810 and a floppy disk drive 811. Magnetic tape drives (not shown) may be further used. CD-ROM drive 812 is typically provided as a non-volatile data source. The components 805 to 813 of the computer module 801 usually communicate via the interconnection bus 804 in a manner that is a conventional mode of operation of a computer system well known to those skilled in the art.
The method 400 is preferably realized as software such as an application program executed in the computer module 701 of the client 700. In particular, the steps of Method 400 are performed by software instructions executed by processor 705. Instructions may be configured as one or more code modules, each performing one or more specific tasks. For example, the software may be stored on a computer-readable medium, including the storage devices described below. The software is loaded from a computer-readable medium into computer module 701 and then executed by processor 705. A computer-readable medium on which such software or computer programs are recorded is a computer program product. It is preferred that the use of computer program products in a computer provides an advantageous device that implements the methods described herein.
Methods 500, 600 and 900 are preferably implemented as software such as one or more application programs running within the computer module 801 of the server 800. In particular, the steps of methods 500, 600 and 900 are performed by software instructions executed by processor 805. Instructions may be configured as one or more code modules, each performing one or more specific tasks. For example, the software may be stored on a computer-readable medium, including the storage devices described below. The software is loaded from a computer-readable medium into computer module 801 and then executed by processor 805. A computer-readable medium on which such software or computer programs are recorded is a computer program product. It is preferred that the use of computer program products in a computer provides an advantageous device that implements the methods described herein.
Alternatively, methods 400, 500, 600 and 900 may be implemented as one or more application programs running within the same computer module.
Methods 400, 500, 600 and 900 will be described in more detail as an example. Figure 2 shows window 201 of the client graphical user interface (GUI) 200 according to this example. Window 201 includes a main layout area 202, a control panel 223 and a timeline area 218. Layout area 202 includes any number of video windows displaying a video data stream. In the example of FIG. 2, there are three video windows 215, 216 and 217.
Control panel 223 may be used to select one or more of cameras 103, 104 and 105 for review. The control panel 223 may be further used to specify a predetermined time interval threshold and initiate a review of the video data stream. The control panel 223 includes a camera selector area 203 labeled "camera selector". The camera selector area 203 includes three labeled camera check boxes 204, 205 and 206 corresponding to cameras 103, 104 and 105 available in system 100. Camera 103 corresponds to check box 204 labeled "Camera 1". The camera 104 corresponds to a check box 205 labeled "Camera 2". The camera 105 corresponds to a check box 206 labeled "Camera 3". In the example of FIG. 2, camera check box 204 and camera check box 205 are selected. Therefore, camera 103 and camera 104 are selected for review.
The control panel further includes a playback mode area 207 labeled "playback mode". Playback mode area 207 has a review button 208 labeled "review". The user can use the review button 208 to perform method 400 and initiate a review of the video data. In an embodiment, the review button 208 becomes available when the number of selected cameras is greater than one. If the number of selected cameras is 1 or less, the review button 208 is disabled.
Control panel 223 further includes a threshold area 209 labeled "threshold". The threshold area 209 includes an input field 210. The input field 210 may be used to specify a time interval threshold that represents at least the time from the event that video playback should begin to slow down. In the example of FIG. 2, the input field 210 may be used to specify the number of seconds before the event. However, the input field 210 may be further used to specify a fraction to the event or other suitable time unit.
The main area of window 201 is the layout area 202 labeled "Layout". In the example of FIG. 2, layout area 202 includes three video windows 215, 216 and 217. Each video window 215, 216 and 217 corresponds to one of the check boxes 204, 205 and 206 in the camera selector area 203. If one of the checkboxes (eg 204) is selected, a second border will appear around the corresponding video window (eg 215) to visually indicate that the window has been selected. .. As shown in FIG. 2, camera check box 204 and camera check box 205 are selected. Thus, the video window 215 for "camera 1" and the video window 216 for "camera 2" have additional boundaries displayed around them to highlight the video data stream displayed within the video windows 215 and 216. Since the check box 206 is not selected, the video window 217 for "Camera 3" does not show any additional borders around it.
The timeline area 218 is displayed below the layout area 202. The timeline area 218 includes a timeline 220, a playhead 219 and a set of time markers 221. The playhead 219 represents the position of the current playback time. The timeline area 218 further includes a date indicator 222 and events 211, 212, 213 and 214. Events 211, 212, 213 and 214 are visually linked to their respective video windows. In particular, the pattern used to display the event corresponds to the border of the video window linked to that event. For example, video window 215 for "camera 1" 103 has a solid border around window 215, and events 211 and 213 are similarly represented by solid lines. In addition, the video window 216 for "Camera 2" 104 has a dashed border corresponding to event 212. The video window 217 for "camera 3" 105 has a dotted border corresponding to event 214, and event 214 is similarly displayed using the dotted line. When the mouse pointer hovers over an event, other visual hints such as colors, tooltips or corresponding highlights may be further used to link the video window 215-217 with the displayed event. good.
When the user starts displaying one or more video data streams of the selected camera, the playhead 219 moves along the timeline 220. The video data stream is displayed (or played) at a specific playback speed, and this specific playback speed is reflected in the moving speed of the playhead 219. As the time interval between the current playback time and the closest event decreases, the playback speed of the video data stream changes. The threshold 210 is used to determine the playback speed of the video data stream of the selected camera. Events for unselected cameras are ignored. In the example of FIG. 2, the check box 206 of "Camera 3" is not checked. Therefore, the corresponding event 214 is excluded from the determination of the reproduction speed.
Furthermore, if the current playback time position is close to the time position of the closest event (or the first event or the next event), the video data stream associated with that closest event is the video on which the video data stream is displayed. It is highlighted by highlighting the window. For example, see FIG. 2, if the playhead 219 is close to the time position of event 212, the video data stream associated with event 212 displays an additional border around the video window 216 displaying that video data stream. It is highlighted by doing.
FIG. 3 is a high-level block diagram showing the interaction between the client 700 and the server 800. As shown in FIG. 3, there is one or more software applications on the storage server 800 that implement methods 500, 600, and 900. The end user may use one or more other software applications residing on the client 700 to initiate the display of video data, as indicated by arrow 303. The display of the video data may be initiated by sending a message to the storage server 800 over the network 720. The storage server 800 then performs method 500. During the execution of method 500, the storage server 800 returns the video data to the client 700 via the same network 720 at the determined playback speed, as indicated by arrow 304. For example, the end user can start displaying the video data by clicking the review button 208. The playback speed may be represented by a variable stored in the memory 806 of the server 800.
A method 900 for recording video data using the recording system 100 will be described with reference to the examples of FIGS. 1 and 2. The steps of Method 900 may be performed for any number of video data streams and events over any time period.
Method 900 starts at step 901 and processor 805 performs a step of recording a first video data stream captured by the first camera. For example, "Camera 1" 103 may capture a first video data stream. Processor 805 may upload a video data stream from camera 103 and store the video data stream in memory 806 and / or hard disk drive 810. In the next step 902, processor 805 performs a step of recording the first event associated with the first camera. For example, the camera 103 may include a motion detector that detects a motion event at a specific time. Processor 805 downloads motion event details and stores motion event details, including event time, in memory 806 and / or hard disk drive 810.
Method 900 proceeds to the next step 903, where processor 805 performs a step of recording a second video data stream captured by the second camera. For example, "Camera 2" 104 may capture a second video data stream. Processor 805 may upload a second video data stream from camera 104 and store the video data stream in memory 806 and / or hard disk drive 810. In the next step 904, processor 805 performs a step of recording a second event associated with the second camera. For example, door opening may be detected at a specific time. Processor 805 may download the details of this door opening event and store the event details, including the time of the event, in memory 806 and / or hard disk drive 810.
In the next step 905, if processor 805 determines that any further recording target video data stream and / or event is present, method 900 may return to step 903 to record another video data stream. If processor 805 does not make such a decision, method 900 ends.
A method 400 for displaying one or more video data streams will be described with reference to FIG. Method 400 starts at step 402 and processor 705 waits for input from the user. According to the embodiment, there are two types of inputs. One type of input is a time interval threshold that can be input via field 210. The other type of input is the selection of one or more video windows (eg, 215). As mentioned above, the video window can be selected by selecting one or more of the checkboxes 204, 205 and 206 in the camera selector area 203.
In the next step 403, processor 705 determines the specified time interval threshold. After the user specifies the time interval threshold in field 210, the updated time interval threshold is stored in memory 706 by processor 705. Therefore, in step 403, the time interval threshold may be read from memory 706. In one embodiment, the time interval threshold is automatically determined by the server 800 based on certain characteristics of the event, such as event priority.
Then, in the next step 404, the processor 705 determines which of the cameras 103, 104 and 105 has been selected for review. Again, the cameras 103, 104 and 105 selected for review may be determined by determining the selected check box among the check boxes 204, 205 and 206. In the example of FIG. 2, cameras 103 and 104 associated with check boxes 204 and 205 are selected. After the processor 705 determines that a plurality of cameras 103, 104 and 105 have been selected for review via the camera selector area 203, the processor 705 enables the review button 208.
In the next step 405, when processor 705 detects the selection of review button 208, processor 705 sends a review start message to storage server 800, as indicated by arrow 303.
Then, in step 406, processor 705 initiates reception of one or more video data streams from storage server 800, as indicated by arrow 304. Client 700 displays one or more video data streams received from selected cameras 103, 104 and 105 in the corresponding selected video window (eg, 215, 216). Method 400 exits after all received video data streams are displayed.
A method 500 for transmitting video data will be described with reference to FIG. Method 500 starts at step 502 and waits for processor 805 to receive review start message 303 from client 700. After the storage server 800 receives the review start message 303 from the client 700, method 800 proceeds to step 504 and processor 805 retrieves all event data corresponding to the associated event. The event data retrieved in step 504 corresponds to the cameras 103 and 104 specified in step 404. For example, the motion detection event may be pre-determined from the analysis of one or more video data streams captured by the camera 103. In this case, the details of the motion detection event, including the time of the event, are retrieved by processor 805 in step 504.
After all the relevant event data has been retrieved, in the next step 505, the storage server 800 retrieves all the video data streams associated with the relevant event. Continuing this example, in step 505, all video data streams related to motion detection events related to camera 103 are retrieved. The video data stream and event data may be retrieved from memory 806 and / or hard disk drive 810 by processor 805.
In the next step 506, the processor 805 determines the playback speed, and then transmits the video data to the client 700 at the playback speed determined as a stream. Method 500 ends at step 506.
The reproduction speed determination method 600 executed in step 506 will be described in detail with reference to FIG. Method 600 starts at step 602 and processor 805 determines the time interval between the current play time and the next (or closest) event. Processor 805 determines this time interval by subtracting the time position of the next event from the current playback time position.
In step 603, if processor 805 determines that the time interval determined in step 602 is within the time interval threshold specified by the user in field 210 in step 403, method 600 proceeds to step 605. If processor 805 does not make such a determination, method 600 proceeds to step 604.
In step 604, processor 805 sets the playback speed to a first playback speed called the "review" playback speed. The review playback speed will be described in more detail below. The playback speed may be set in step 604 by updating the playback speed variable stored in memory 806.
In step 605, the playback speed is adjusted to a second playback speed called the "normal" playback speed (eg, by adjusting the playback speed variable). The normal reproduction speed will be described in more detail below as well. After that, in step 606, the processor 805 accesses all the video data of the cameras (for example, 103 and 104) determined in step 404, which corresponds to the current playback time position. The processor 805 then sends the accessed video data corresponding to the time unit (for example, 1 minute) to the client 700. The accessed video data is transmitted to the client 700 at the playback speed determined in step 604 or 605. Continuing with the above example, in step 606, processor 805 performs a step of synchronizing the first video data stream and the second video data stream at the determined playback speed and transmitting it to the client 700. The processor 705 of the client 700 then performs a step of displaying the first video data stream and the second video data stream on the display 714 at the determined playback speed.
Continuing with the above example, in steps 602, 603, 604 and 605, processor 805 is at least between the current playback time position and the time position of the closest event of the first and second events. Perform the step of determining the playback speed based on the difference. Then, in step 606, the processor 805 executes a step of synchronizing the first video data stream and the second video data stream at the determined playback speed and transmitting the second video data stream to the client 700. The processor 705 of the client 700 then performs a step of synchronizing the first video data stream and the second video data stream and displaying them at playback speed. Therefore, the first video data stream and the second video data stream are displayed synchronized at the playback speed.
If no video data is available at the current time for one of the selected cameras, the storage server 800 notifies the client 700 that there is no video data for that camera at the current time.
Then, in step 607, the regeneration time is moved forward according to the time unit described above. Then, in step 608, if processor 805 determines that the end of the video data stream of the selected camera has reached the new playback time, method 600 ends. If processor 805 does not make such a determination, method 600 returns to step 602 to determine the time interval between the current time position and the position of the next event.
Usually, the normal playback speed is real time. However, for example, if the user wants to review the video data in slow motion, the normal playback speed may be slower than real time. In another embodiment, the server 800 may dynamically determine the playback speed according to certain properties of the event, such as event priority.
The review playback speed is variable and may be proportional to the time interval between the next event and the current playback time. For example, as the current playback time position approaches the time position of the event, the playback speed may gradually slow down towards a normal playback speed that is slower than the review playback speed. The closer the current playback time position is to the time position of the event, the slower the playback speed may be. The playback speed may be set to the normal playback speed while the time interval of the current playback time position is less than the predetermined time interval threshold from the event.
When the current playback time position moves beyond the event, the playback speed may gradually start accelerating when the current playback time position becomes larger than a predetermined time interval threshold from the event. The review playback speed may be up to a predetermined speed. In this case, the reproduction speed may be accelerated only to the predetermined speed limit.
Alternatively, the review playback speed may be a specified fixed speed. In this case, the playback speed may increase to the specified review playback speed as soon as the current playback time is greater than a predetermined threshold time interval from the event.
In another embodiment, the playback speed is determined by the client 700. In this case, the storage server 800 may return one or more video data streams to the client 700 at the playback speed specified by the client 700. In yet another embodiment, the client 700 and server 800 may be incorporated into a stand-alone video playback software application.
In yet another embodiment, the event does not necessarily have to be immediately associated with cameras 103, 104 and 105 in order to be displayed on the timeline 220. Events that are less relevant to any of cameras 103, 104 and 105 under review may be placed on the timeline 220. The placed event serves as an additional condition to slow down the playback speed. For example, if a fire alarm on the 6th floor of a building is activated, an event containing at least one fire alarm event is recorded. If the Playhead 219 approaches a fire alarm event during a review of video data captured by the 6th floor cameras, the playback speed of all 6th floor cameras will slow down.
In another embodiment, as shown in FIG. 11, the client 700 may determine the playback speed, and the server 800 may output the video data at the playback speed determined by the client 700. In this case, the playback speed may be realized as a playback speed variable stored in the memory 706 of the client 700. With reference to FIG. 10, a method 1000 for transmitting a video data stream at a determined playback speed will be described in detail below. Further, with reference to FIG. 12, the method 1200 for determining the reproduction speed will be described in detail.
In the embodiment of FIG. 11, there is one or more software applications on the server 800 that implement methods 900 and 1000. Another software application that implements Method 1200 resides on Client 700. The end user using the embodiment of FIG. 11 first requests an event, as indicated by arrow 1101. When the server 800 receives the request, it returns an event as indicated by arrow 1102. The client then executes method 1200 to determine the playback speed between each event and requests video data at a predetermined playback speed, as indicated by arrow 1103. The server 800 returns the video data of the selected cameras 103, 104 and 105 at the determined playback speed, as indicated by the arrow 1104. Requests 1101 and 1103, and responses 1102 and 1104, may be in the form of Hypertext Transfer Protocol (http) requests and responses.
A method 1000 for transmitting video data at a determined playback speed will be described in detail with reference to FIG. Method 1000 starts at step 1002, where processor 805 requests client 700 for video data at playback speed (ie, playback speed represented by a playback speed variable stored in memory 706), as indicated by arrow 1103. Wait to receive from. Request 1103 includes the start time and end time of the requested video data. The start time and end time may be realized as variables stored in the memory 706.
When the storage server 800 receives the request 1103 from the client 700, the method 800 proceeds to step 1004 and the processor 805 retrieves all the video data corresponding to the requested start and end times. The video data retrieved in step 1004 corresponds to cameras 103 and 104 specified in step 404 of method 400. In the next step 1006, the processor 805 sends the extracted video data to the client 700 at the playback speed determined as a stream (as indicated by the arrow 1104), and the method 1000 ends. The playback speed used to transmit the video data in step 1006 is determined according to method 1200.
A method 1200 for determining the reproduction speed of the video data requested in step 1002 will be described in detail with reference to FIG. As mentioned above, method 1200 may be implemented as software that resides on client 700 and is controlled by being executed by processor 705.
Method 1200 starts at step 1202 and processor 805 initializes the start time so that cameras 103, 104 and 105 are at the beginning of the available video data. For example, processor 705 may initialize a start time variable stored in memory 706.
If processor 805 determines in step 1203 that the current event is the last event, method 1200 proceeds to step 1209. If processor 805 does not make such a determination, method 1200 proceeds to step 1205. For example, four events may occur in the video data available to cameras 103, 104 and 105. As mentioned above, the four events are displayed in timeline area 218. In method 1200, the events are processed in chronological order, so the current event is the currently being processed event displayed in the timeline area.
In step 1205, processor 805 sets the playback speed to the review playback speed. As mentioned above, the review playback speed is variable and may be proportional to the time interval between the next event and the current playback time. In step 1205, the playback speed may be set by updating the playback speed variable stored in memory 706 of the client 700. Processor 805 further sets the end time to be equal to "event time-threshold". In this case as well, the end time may be set by changing the value of the end time variable stored in the memory 806. Further in step 1205, method 1200 sends request 1103, including start time, playback speed and end time, to server 800.
In step 1206, processor 705 resets the start time to "event time-threshold" to generate a "new start time". Again, the start time may be reset by changing the value of the start time variable stored in memory 706, and the reset start time variable represents the new start time.
Further, in step 1206, the processor 705 sets the playback speed to the normal speed to generate a "new playback speed" and sets the end time to the event time to generate a new end time. In this case as well, the playback speed may be reset by changing the value of the playback speed variable stored in the memory 706, and the reset playback speed variable represents the new playback speed. Similarly, the end time may be set by updating the end time variable in memory 706. As mentioned above, normal speed is usually real time.
Further, in step 1206, processor 705 sends a request 1103 to server 800, including a new start time, a new playback speed, and a new end time, similar to step 1002. Therefore, request 1103 received by the storage server 800 in step 1004 includes a new start time, a new playback speed, and a new end time determined in step 1206.
Method 1200 proceeds to step 1207 and processor 705 sets the start time to the event time. In the next step 1208, processor 705 moves to the next event.
At step 1209, if processor 705 determines that the end time for all video data has been reached, method 1200 ends. If processor 705 does not make such a determination, method 1200 proceeds to step 1210. In step 1210, processor 705 sets the new start time to the time of the last event, the end time to the end of the video data, and the playback speed to the review speed. Further in step 1210, processor 705 requests the last segment of video data, including a new start time, a new end time and a new playback speed. Method 1200 ends after step 1210.
It is clear from the above that the described configuration is applicable to the computer and data processing industries.
In the above, only some embodiments of the present invention have been described. Modifications and / or modifications can be made without departing from the scope and gist of the present invention, and these embodiments are exemplary and not limited.
As used herein, the term "preparing" means "mainly including, but not required alone," "having," or "including," not "consisting solely of." The inflection of the term "prepare" indicates a corresponding change in meaning.
<figref num="1">It is a block diagram which shows the recording system which realizes the embodiment described in this specification.</figref><figref num="2">It is a figure which shows the window of the user interface used with the system of FIG.</figref><figref num="3">It is a high-level block diagram explaining the dialogue between a client and a server.</figref><figref num="4">It is a flowchart which shows the method of displaying one or more video data streams.</figref><figref num="5">It is a flowchart which shows the method of transmitting a video data stream at a reproduction speed.</figref><figref num="6">It is a flowchart which shows the method of determining the reproduction speed which a video data stream is transmitted and displayed.</figref><figref num="7">It is a block diagram which shows schematic the general-purpose computer which realizes the storage server described in this specification.</figref><figref num="8">It is a block diagram which shows schematic the general-purpose computer which realizes the client described in this specification.</figref><figref num="9">It is a flowchart which shows the method of recording a video data stream.</figref><figref num="10">It is a flowchart which shows the method of transmitting a video data stream at a determined reproduction speed.</figref><figref num="11">Another top block diagram illustrating the interaction between the client and the server.</figref><figref num="12">It is a flowchart which shows the method of determining the reproduction speed.</figref>
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2005094443A | Cites | Japan |
| WO2007000029A1 | Cites | World Intellectual Property Organization (WIPO) |
| JP2002033981A | Cites | Japan |
| JP2006332839A | Cites | Japan |
| JP2007288661A | Cites | Japan |
| JP2005210434A | Cites | Japan |
14 members in 4 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 2007237206 | Australia | A | |
| 2007237206 | Australia | A | |
| 2007237206 | Australia | – | |
| 20072007237206 | – | – | – |
| AU20070237206 | – | – | – |
Members14
| Document | Office | Kind | |
|---|---|---|---|
| US2009136213A1 | United States of America | A1 | |
| EP2066128A2 | European Patent Office (EPO) | A2 | |
| AU2007237206A1 | Australia | A1 | |
| JP2009153115A | Japan | A | |
| AU2007237206B2 | Australia | B2 | |
| JP2011066900A | Japan | A | |
| EP2066128A3 | European Patent Office (EPO) | A3 | |
| JP4739397B2This record | Japan | B2 | |
| US8155503B2 | United States of America | B2 | |
| JP5421887B2 | Japan | B2 | |
| EP2066128B1 | European Patent Office (EPO) | B1 | |
| EP3358843A1 | European Patent Office (EPO) | A1 | |
| EP3358843B1 | European Patent Office (EPO) | B1 | |
| EP3598745A1 | European Patent Office (EPO) | A1 |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 |
Numbers
- Publication
- 4739397
- Publication, DOCDB
- 4739397
- Publication, EPODOC
- JP4739397B
- Application
- 302957
- Application, DOCDB
- 2008302957
- Application, EPODOC
- JP20080302957
Titles2
- Japanese
- 再生方法、サーバ装置、送信方法、及び表示装置
- English
- Playback method, server device, transmission method, and display device
Classification
- CPC, 14
- H04N7/181
- G06Q10/06316
- H04N7/17318
- H04N21/21
- H04N21/21805
- H04N21/23
- H04N21/2387
- H04N21/26616
- H04N21/2665
- H04N21/2747
- H04N21/4312
- H04N21/4314
- H04N21/4325
- H04N21/43072
- IPC, 8
- H04N5 76
- H04N5 225
- H04N5 765
- H04N5 91
- H04N5 915
- H04N5 93
- H04N7 173
- H04N7 18
