WO2016117480A1 - テレコミュニケーションシステム - Google Patents

テレコミュニケーションシステム Download PDF

Info

Publication number
WO2016117480A1
WO2016117480A1 PCT/JP2016/051183 JP2016051183W WO2016117480A1 WO 2016117480 A1 WO2016117480 A1 WO 2016117480A1 JP 2016051183 W JP2016051183 W JP 2016051183W WO 2016117480 A1 WO2016117480 A1 WO 2016117480A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
marker information
information
marker
time stamp
Prior art date
Application number
PCT/JP2016/051183
Other languages
English (en)
French (fr)
Inventor
大津 誠
拓人 市川
太一 三宅
Original Assignee
シャープ株式会社
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 シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2016117480A1 publication Critical patent/WO2016117480A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Definitions

  • the present invention relates to telecommunications (remote communication) technology.
  • video hereinafter referred to as “video” or “captured video”
  • voice hereinafter referred to as “sound-collected voice”
  • Video conferencing systems, etc. that transmit video to remote locations
  • video conference system in addition to the captured video and the collected sound, a terminal (hereinafter referred to as a “user terminal”) on which the video conference system is operating simultaneously with the video conference system.
  • Additional screen information such as the screen of the operating application software, pointer information input by moving the mouse, for example, by the user of the video conference system (hereinafter referred to as “user”) on the user terminal, etc.
  • user user terminal
  • time information (hereinafter referred to as “time stamp”) is added to each of the additional screen information transmission and the instruction information transmission, and added.
  • time stamp time information
  • the time information given to each information is analyzed, and the additional screen information with the same time information and the instruction information are transmitted to the user terminal.
  • a remote work support system as a technology that applies the video conference system.
  • a user who performs repair work (hereinafter referred to as “worker”) takes a picture of the work with a camera, and gives a photographed image to the worker as an instruction for work procedures.
  • constructor the instructor transmits an instruction (hereinafter referred to as “work instruction”) such as a work procedure by viewing the received captured image to the worker. It is.
  • the instructor adds instruction information to the captured image of the work environment transmitted by the operator, and the operator refers to the image to which the instruction information is added. More detailed work support than verbal work instructions can be provided.
  • marker a mark or the like remaining for a certain period of time
  • the operator and the instructor can interact with each other while illustrating work instructions for a plurality of locations.
  • pointer a mark or the like remaining for a certain period of time
  • the marker Since the operator's captured video moves depending on the position where the operator performs the shooting, the marker must be moved in accordance with the video. At this time, a process of calculating the movement direction and the movement distance of the marker (hereinafter referred to as “tracking process”) is required. Further, as in the conventional video conference system, the captured video and the marker need to be synchronized.
  • time information (time stamp) is assigned to each of transmission of a video imaged by a camera and transmission of instruction information, and the transmission is performed at the time of video reception and reception of instruction information.
  • a technique is disclosed in which the received time information is analyzed, and a video with the same time stamp and instruction information are simultaneously displayed on a user terminal.
  • Patent Documents 1 and 2 do not disclose a method for synchronizing each client terminal when an operator and an instructor attach markers.
  • the present invention aims to reduce the processing burden on the terminal device related to the use of markers in telecommunications.
  • a first display unit that displays a video
  • a video transmission unit that transmits the video displayed on the first display unit with first time stamp information added thereto
  • the first marker information input to the second display unit that acquires and displays the video displayed on the terminal device and the terminal device having the second time stamp information and transmits the first marker information.
  • a pointing device having a marker information transmission unit; connected to the terminal device and the pointing device; receives an image transmitted from the terminal device; and first marker information transmitted from the pointing device;
  • a management device having a marker information management unit that performs management for synchronizing the video and the first marker information and transmitting them to the terminal device based on one time stamp information and the second time stamp information.
  • the present invention it is possible to place a marker on the additional screen information in all user terminals while suppressing the processing load on the user terminals. Moreover, even if it is the marker provided by any user terminal, additional screen information and a marker can be synchronized.
  • FIG. 1 is a diagram schematically showing an example of a usage scene of the telecommunications system A according to the present embodiment.
  • the left side of FIG. 1 is the work site 100, and the right side of FIG. 1 shows the instruction room 106, which are located away from each other.
  • a worker 101 at a work site 100 is performing a work while receiving a work instruction regarding a work target 102 from an instruction person 107 in an instruction room 106 at a work terminal (terminal device) 103. It is.
  • the worker 101 who is repairing the work target (102) receives an instruction regarding repair from the supervising instructor 107.
  • a camera 103a for photographing is provided on the back of the work terminal 103, and the work target 102 can be photographed.
  • the work terminal 103 can transmit the captured video to a remote place.
  • the instruction device 108 installed in the instruction room 106 can receive a captured image sent from the remote work terminal 103 and display the image on the display device 109 as additional screen information. Then, while viewing the work target image 110 displayed on the display device 109, the instructor 107 gives a work instruction to the worker 101 on the display device 109. At this time, a pointer or a marker indicating the indicated position is displayed on the screen 110 on the display screen of the display device 109 by an input on the display screen of the instructor 107 using a touch panel function or a mouse function. Can be set on. By sending the pointer and marker setting information from the instruction device 108 to the work terminal 103, the pointer and marker setting information can be shared through the screens of the work terminal 103 and the display device 109.
  • marker information information for displaying a pointer, a marker, and the like on the display screen is collectively referred to as marker information.
  • marker information it is also possible to use text or a picture.
  • the projected image 104 of the work object 102 and the marker 105 based on the marker information input on the display device 109 are displayed in a superimposed manner.
  • the worker 101 can see the display on the display unit, so that the worker 101 can visually grasp the work instruction in the remote place (instruction room 106).
  • marker information can be set on the video of the work terminal 103 based on the input of the worker 101, and the marker 111 can be displayed on the display device 109. Thereby, the instructor 107 and the worker 101 can share each information including the marker.
  • the above-described work terminal 103 and the instruction device 108 are connected to each other by a public communication network (for example, the Internet) NT as shown in FIG. 2 and communicate according to a protocol such as TCP / IP or UDP. Can do.
  • a public communication network for example, the Internet
  • NT public communication network
  • the telecommunication system A is further provided with a management server 200 for collectively managing marker information.
  • the management server (management device) 200 is also connected to the public communication network NT.
  • the work terminal 103 and the public communication network NT can be connected by wireless communication.
  • wireless communication can be realized by Wi-Fi (Wireless Fidelity) connection of an international standard (IEEE 802.11) defined by Wi-Fi Alliance (US industry group), for example.
  • IEEE 802.11 Wi-Fi Alliance
  • public communication networks such as the Internet have been shown so far. For example, it is possible to use a LAN (Local Area Network) used in a company or the like, and a configuration in which they are mixed. It may be.
  • FIG. 3 is a functional block diagram illustrating a configuration example of the work terminal 103.
  • the work terminal 103 includes a controller 300 having a display control unit 300a, a video code transmission unit 301, a marker code transmission unit 302, a code reception unit 303, a demultiplexer 304, and a video encoding unit. 305, a video decoding unit 306, a capture unit 307 for capturing video from the camera 103a, a time stamp management unit 308, a display unit 309, a touch input unit 310, a memory 311, and a CPU 320. ing.
  • the CPU 320 also plays a role of controlling each function unit.
  • the controller 300 controls the flow of signals in the work terminal 103, and plays a role of outputting signals received from the respective processing blocks to appropriate processing blocks.
  • the work terminal 103 can be broadly divided into a first functional unit that encodes a captured image captured by the camera 103 a included in the work terminal 103 and transmits the encoded video to the outside of the work terminal 103, and is sent from the outside of the work terminal 103.
  • a second functional unit that receives the incoming video and marker information and displays them on the screen; and a third functional unit that transmits to the outside marker information that is newly generated based on information that the user touches the display screen of the work terminal 103. And a functional part.
  • a captured image captured by the camera 103 a provided on the back surface of the work terminal 103 is input to the capture unit 307, and the image is output to the image encoding unit 305 via the controller 300.
  • the video encoding unit 305 encodes (compresses) the captured video input from the capture unit 307 so as to be smaller than the original data amount.
  • encoding for example, H.264 suitable for moving image encoding. H.264 (International Standard Video Compression Standard) can be applied.
  • the video encoding unit 305 adds a time stamp (time information) at the time of shooting to the encoded video code to generate video encoded data (see video encoded data in FIG. 9 described later), Output to the video code transmission unit 301.
  • the video code transmission unit 301 transmits the video encoded data to the outside of the work terminal 103 (for example, toward the management server 200 described later). At this time, the video code transmission unit 301 adds information necessary for communication in accordance with, for example, a protocol such as TCP / IP or UDP so that the communication can be performed correctly in the public communication network NT of FIG. And send.
  • a protocol such as TCP / IP or UDP
  • FIG. 8 is a diagram showing an outline of the data communication packet structure.
  • IP is an address number for identifying a device that receives a packet
  • UDP User Datagram Protocol
  • RTP header Real-time Transport Protocol
  • “Is a protocol for streaming transmission, and” transmission data "indicates data to be actually transmitted.
  • this format can be used for packets used for communication.
  • FIG. 9 is a diagram illustrating a data configuration example of a video code communication packet that the video code transmission unit 301 transmits to the outside according to the format.
  • the encoded video data which is transmission data, is data obtained by encoding one frame video as described above, and is a combination of the time stamp and the video code.
  • the code receiving unit 303 receives a communication packet of encoded data (marker, video) sent from the outside.
  • FIG. 11 is a diagram illustrating a configuration example of this packet.
  • the code receiving unit 303 analyzes the received packet, extracts encoded data (marker information, video), and outputs the encoded data to the demultiplexer 304.
  • the demultiplexer 304 receives the multiplexed encoded data, the demultiplexer 304 first extracts the marker information encoded data from the marker information code size, and divides the remainder as video encoded data.
  • the encoded video data is output to the video decoding unit 306, and the marker information encoded data is output to the CPU 320.
  • the CPU 320 When the CPU 320 receives the marker information encoded data from the demultiplexer 304, the CPU 320 sets the number of markers and the encoded size (marker 0 size, marker 1 size,%) Included in the marker information encoded data. Each marker code (marker 0 code, marker 1 code,%) Is taken out, and processing (decoding processing) opposite to the marker information encoding method performed in the management server 200 described later is performed. Generate marker information for.
  • the CPU 320 temporarily stores the decoded marker information in the memory 311.
  • the marker information will be described later.
  • the video decoding unit 306 receives the video encoded data from the demultiplexer 304, the video decoding unit 306 extracts the time stamp, and then processes the remaining video code in a process reverse to the video encoding method performed in the management server 200 described later ( Decoding process) is performed, and the original captured video is decoded.
  • the video decoding unit 306 outputs the decoded captured video to the memory 311 and outputs the time stamp to the time stamp management unit 308.
  • the video decoding unit 306 has a memory 306a inside, and outputs it after rearranging the order correctly in the playback order.
  • FIG. 12 is a diagram illustrating an example of a specific rearrangement process, and is a diagram schematically illustrating the order of frames and the order of processing when video is encoded / decoded.
  • a signal input as a video source is indicated by F ti (n), a subscript indicates a time stamp, and a number in parentheses indicates a processing order.
  • F ti n
  • a subscript indicates a time stamp
  • a number in parentheses indicates a processing order.
  • a similar notation method is used for packets (transmission and reception) and video frames (reproduction) shown in FIG.
  • the video signal input as the source has the same time stamp order and processing order. If the video frames are displayed in the order of processing, the normal order is obtained. Is displayed.
  • processing is performed in an order different from the order of photographing due to the reference (encoded frame type) between frames.
  • the order (transmission) of the generated packet signal (P ti (n)) is different from the original order of photographing. Therefore, on the receiving side, decoding processing can be performed in the order of the transmitted packet signals, but at the time of reproduction, it is necessary to rearrange them in the order of the original video frames (D ti (n)).
  • the time stamp management unit 308 When the time stamp management unit 308 receives the time stamp of the processed frame from the video decoding unit 306, the time stamp management unit 308 refers to the time stamp included in the marker information stored in the memory 311 and there is marker information having the same time stamp. It is determined whether or not to do. When the time stamp management unit 308 finds marker information having the same time stamp as the video frame, the time stamp management unit 308 notifies the CPU 320 of the fact. When the display control unit 300a receives a notification from the time stamp management unit 308 that the marker information exists, the CPU 320 sets other attributes (coordinates, marker types, etc.) of the marker information as illustrated in FIG. The generated marker and the decoded video frame are combined and output to the display unit 309.
  • the display unit 309 displays the received composite video as it is on the screen.
  • the display control unit 300a creates a composite image 602 by synthesizing the marker 601 generated based on the marker attribute on the photographed image 600 by video processing. To do.
  • the marker information includes a plurality of attribute information. For example, an ID for uniquely identifying the marker information, a time stamp, coordinates indicating a combined coordinate position, a marker type, a marker color, a size, Including thickness.
  • the attribute information can also include other items. Examples of the other items include a character string and a picture.
  • the touch input unit 310 shown as an example of the input unit is a module integrated with the display unit 309, and information such as a touched position, shape, and direction when the display surface of the display unit 309 is touched with a finger or the like. Can be acquired.
  • the touch input unit 310 transmits the touched information to the CPU 320.
  • the CPU 320 acquires touch information from the touch input unit 310, generates and encodes the marker information as described above (creates marker information encoded data), and outputs it to the marker code transmission unit 302.
  • attributes can be determined in advance for each work terminal 103 and instruction device 108 using parameters or the like, or the attribute information can be determined by the user using a UI or the like. It is also possible to do.
  • the coordinates obtained by touch are used for the coordinates included in the attribute information.
  • the time stamp is information for synchronizing with the video, and a touched time obtained based on information such as a timer included in the CPU 320 or information equivalent thereto can be used.
  • the encoding process only needs to be a method that can encode (compress) the marker information into a code smaller than the original data amount.
  • a ZIP method one of lossless encoding methods
  • the encoding method used for marker information is preferably capable of completely restoring (decoding) the received information.
  • the marker information since the marker information originally has a data size that is not so large, it may be exchanged as it is without being compressed.
  • the marker code transmission unit 302 generates a communication packet from the encoded data of the received marker information (see FIG. 10), and outputs it to the outside of the work terminal 103 (for example, outputs it to the management server 200 described later). The above is the overall image of the processing example performed on the work terminal 103.
  • the instruction device 108 includes a controller 400 including a display control unit 400a, a marker code transmission unit 401, a code reception unit 402, a demultiplexer 403, a video decoding unit 404, and time stamp management.
  • a unit 405, a display unit 406, a touch input unit 407, a memory 408, and a CPU 420 are included.
  • the controller 400 controls the signal flow of the pointing device 108 and plays a role of outputting signals received from the respective processing blocks to appropriate processing blocks.
  • the instruction device 108 is roughly divided into a first function unit that receives a video and marker information sent from the outside of the instruction device 108 and displays them on the screen, and new information based on information touched on the screen of the instruction device 108. And a second function unit for transmitting marker information to be generated to the outside.
  • the configuration related to the first functional unit may be the same as that of the second functional unit of the work terminal 103, and each corresponds as shown below.
  • the code receiving unit 402 is the code receiving unit 303
  • the demultiplexer 403 is the demultiplexer 304
  • the video decoding unit 404 is the video decoding unit 306
  • the memory 404a is the memory 306a
  • the memory 408 is the memory 311
  • the time stamp management corresponds to the time stamp management unit 308
  • the display unit 406 corresponds to the display unit 309
  • the CPU 420 corresponds to the CPU 320
  • the display control unit 400a corresponds to the display control unit 300a.
  • the second functional unit is equivalent to the third functional unit of the work terminal 103 and corresponds as follows.
  • the touch input unit 407 corresponds to the touch input unit 310
  • the marker code transmission unit 401 corresponds to the marker code transmission unit 302. The same applies to the CPU.
  • the management server 200 includes a controller 500, a video code receiving unit 501, a marker code receiving unit 502, a code transmitting unit (marker, video code) 503, a multiplexer 504, and a video decoding unit 505.
  • the controller 500 controls the signal flow of the management server 200 and plays a role of outputting signals received from each processing block to an appropriate processing block.
  • the management server 200 roughly receives the video code sent from the outside, receives the first functional unit that stores it in the memory after decoding, and the marker code sent from the outside. Marker information can be managed so that it can be synchronized with the video, and the video and marker information can be combined and transmitted to the second functional unit.
  • the management server 200 When the management server 200 receives the video code communication packet transmitted via the public communication network NT, the management server 200 causes the video code receiving unit 501 to input the packet.
  • the video code receiving unit 501 extracts video encoded data from the received video code communication packet and outputs the video encoded data to the video decoding unit 505.
  • the video decoding unit 505 receives the video encoded data from the video code receiving unit 501, the video decoding unit 505 divides the data into a time stamp and a video code, and then the video encoding unit 305 of the work terminal 103 executes the video code.
  • a process (decoding process, for example, H.264 decoding process) opposite to the encoding process is performed to decode the original signal.
  • the video decoding unit 505 outputs the decoded captured video, the time stamp, and the video code before decoding, and stores them in the memory 508 so that they can be accessed separately.
  • the video decoding unit 505 also outputs the time stamp to the marker information management unit 507.
  • the management server 200 When the management server 200 receives the marker information code communication packet transmitted via the public communication network NT, the management server 200 causes the marker code reception unit 502 to input the marker information code communication packet.
  • the marker code receiving unit 502 extracts marker information encoded data from the received marker information code communication packet, and outputs the marker information encoded data to the CPU 520.
  • the CPU 520 receives the marker information encoded data, the CPU 520 performs decoding processing of each marker based on the number of markers and each marker encoded size (marker 0 size, marker 1 size,).
  • the decoding process is the reverse of the marker encoding process described above, and is, for example, a ZIP decoding process.
  • the CPU 520 once sends the decrypted marker information to the memory 508 and performs storage processing.
  • the CPU 520 also outputs marker information to the marker information management unit 507 as new marker information.
  • the marker information management unit 507 has two functions, one is a marker information tracking (tracking) function between successive frames, and the other is a new marker information registration function.
  • the marker information management unit 507 When the marker information management unit 507 receives the video time stamp from the video decoding unit 505, the marker information management unit 507 has already registered using the video frame of the same time stamp and the video frame one frame before that stored in the memory 508. Calculate the coordinates of the current marker in the current frame. The marker information management unit 507 updates the coordinates of marker information stored in the memory 508. The marker information management unit 507 updates the coordinates of all registered markers. Next, when the marker information management unit 507 receives newly registered marker information from the CPU 520, the marker information management unit 507 refers to the time stamp included in the marker information, and starts from the corresponding past video frame stored in the memory 508. The coordinates of the marker corresponding to the current frame are calculated using the video frames (image group) up to the frame. Based on the obtained coordinates, the coordinates of the newly registered marker information are updated and registered as a tracking target. Details of processing executed by the marker information management unit 507 will be described later.
  • the CPU 520 monitors the processing status of the marker information management unit 507, and when the processing of the current frame (update of all registered marker information) is completed, the video encoded data and the marker having the same time stamp as the current frame.
  • the information encoded data is collected and output to the multiplexer 504. However, also in this case, it is necessary to control the output order so as to be in the encoding order described above.
  • the multiplexer 504 Upon receiving the synchronized marker information encoded data and video encoded data, the multiplexer 504 packs them and outputs them to the code transmission unit 503. Upon receiving the encoded data from the multiplexer 504, the code transmission unit 503 outputs an encoded data communication packet to the outside of the management server 200 (for example, outputs it toward the work terminal 103 and the instruction device 108 described above).
  • the above is the overall image of the processing executed by the management server 200.
  • Step S100 Start
  • the work terminal 103 activates steps S101, S110, and S120 in parallel.
  • the CPU 320 of the work terminal 103 controls the entire processing flow.
  • Step S101 Shooting process
  • the work terminal 103 shoots a subject to be worked through the capture unit 307.
  • the capture unit 307 outputs the captured video to the video encoding unit 305.
  • CPU 320 advances the process to step S102.
  • Step S102 Video encoding process
  • the video encoding unit 305 performs an encoding process suitable for a moving image, and compresses the video signal so that the amount is smaller than that of the original signal.
  • the video encoding unit 305 creates video encoded data by adding a time stamp to the compressed video code, and outputs the video encoded data to the video code transmitting unit 301. Thereafter, CPU 320 advances the process to step S103.
  • Step S103 transmission processing
  • the video code transmission unit 301 receives the video encoded data from the video encoding unit 305
  • the video code transmission unit 301 adds information necessary for the communication as described above and outputs it to the outside of the work terminal 103. Thereafter, CPU 320 advances the process to step S104.
  • Step S104 end determination processing
  • the CPU 320 determines whether or not to end the entire work terminal 103.
  • the process after step S101 immediately after the start is repeatedly executed.
  • the CPU 320 performs a process for terminating the other processing unit, and terminates the process in the work terminal 103.
  • Step S110 Code reception process
  • the work terminal 103 receives the encoded data communication packet from the outside
  • the work terminal 103 takes in the code receiving unit 303.
  • the code receiving unit 303 extracts the encoded data from the packet and outputs it to the demultiplexer 304. Thereafter, CPU 320 advances the process to step S111.
  • Step S111 Division processing
  • the demultiplexer 304 divides the marker information encoded data and the video encoded data from them, and outputs the marker information encoded data to the CPU 320, respectively.
  • the encoded data is output to the video decoding unit 306. Thereafter, CPU 320 advances the process to step S112.
  • Step S112 marker determination process
  • the CPU 320 receives the marker information encoded data from the demultiplexer 304
  • the CPU 320 determines whether or not marker information exists in the marker information (determination from the number of markers).
  • CPU 320 determines that marker information does not exist in the marker information encoded data
  • CPU 320 advances the process to step S114. If it is determined that a marker exists, the process proceeds to step S113.
  • Step S113 marker decoding process
  • the CPU 320 analyzes the marker information encoded data and performs a process of decoding a plurality of markers. The result is output to the memory 311. Thereafter, the process proceeds to step S114.
  • Step S114 Video decoding process
  • the video decoding unit 306 When receiving the video encoded data from the demultiplexer 304, the video decoding unit 306 divides the data into a time stamp and a video code, and performs the above-described decoding process on the video code.
  • the video decoding unit 306 rearranges the decoded video frames in the shooting order as described above, and outputs the result to the memory 311.
  • the video decoding unit 306 outputs the time stamp to the time stamp management unit 308. Thereafter, CPU 320 advances the process to step S115.
  • Step S115 Synchronization processing
  • the time stamp management unit 308 receives a time stamp from the video decoding unit 306, the time stamp management unit 308 refers to the time stamp of the marker information stored in the memory 311 and extracts the corresponding marker information.
  • the CPU synthesizes the time stamp of the video frame and the corresponding marker information and outputs it to the display unit 309. Thereafter, the control CPU advances the process to step S116.
  • Step S116 Display processing
  • the display unit 309 Upon receiving the synthesized video, the display unit 309 displays it on the screen. Thereafter, the control CPU advances the process to step S117.
  • Step S117 End determination process
  • the CPU 320 determines whether or not to end the entire work terminal 103.
  • the process after step S110 immediately after the start is repeatedly executed.
  • the CPU 320 performs a process for terminating the other processing unit, and terminates the process in the work terminal 103.
  • Step S120 Touch input determination process
  • the touch input unit 310 constantly monitors the touch state of the display device. If there is a touch input, the CPU 320 advances the process to step S121. Otherwise, the process proceeds to step S124.
  • Step S121 Marker information generation process
  • Step S122 Marker encoding process
  • the CPU 320 encodes the marker information and outputs it to the marker code transmission unit 302. Thereafter, the process proceeds to step S123.
  • Step S123 Marker transmission process
  • the marker code transmission unit 302 Upon receiving the encoded marker information encoded data, the marker code transmission unit 302 generates a packet signal as illustrated in FIG. 10 and outputs the packet signal to the outside of the work terminal 103. Thereafter, CPU 320 advances the process to step S124.
  • Step S124 end determination process
  • the CPU 320 determines whether or not to end the entire work terminal 103.
  • the process after step S120 immediately after the start is repeatedly executed.
  • the CPU 320 performs a process for terminating the other processing unit, and terminates the process in the work terminal 103.
  • Instruction device 108 processing flow Next, the processing flow of the instruction device 108 will be described with reference to FIGS. 14 and 4. As described above, the instruction device 108 is equivalent to the three functional units of the work terminal 103 excluding the first functional unit. Accordingly, only the correspondence between the two will be described briefly here.
  • the first functional unit of the instruction device 108 corresponds to the second functional unit of the work terminal 103. Therefore, the correspondence of each step is as follows.
  • Step S210 is Step S110
  • Step S211 is Step S111
  • Step S212 is Step S112
  • Step S213 is Step S113
  • Step S214 is Step S114
  • Step S215 is Step S115
  • Step S216 is Step S116
  • Step Step S217 corresponds to step S117.
  • the correspondence between the processing units is as described above.
  • Step S220 corresponds to Step S120
  • Step S221 corresponds to Step S121
  • Step S222 corresponds to Step S122
  • Step S223 corresponds to Step S123
  • Step S224 corresponds to Step S124.
  • the correspondence with the processing unit is as described above.
  • Management server 200 processing flow Finally, the processing of the management server 200 will be described with reference to FIGS. 15 and 5.
  • Step S300 Start
  • the management server 200 activates steps S301 and S311 simultaneously.
  • the management server 200 includes a CPU 520 that controls the overall processing flow.
  • Step S301 Video code reception process
  • the management server 200 takes in the video code receiving unit 501.
  • the video code receiving unit 501 extracts video encoded data from the video code communication packet and outputs the video encoded data to the video decoding unit 505.
  • the video decoding unit 505 divides the video encoded data into a time stamp and a video code. Thereafter, CPU 520 advances the process to step S302 and step S306.
  • Step S302 Video decoding process
  • the video decoding unit 505 decodes the video code.
  • the video decoding unit 505 outputs the time stamp to the marker information management unit 507 and the captured video of the current frame and the time stamp to the memory 508 after rearranging the frames in the order of shooting. Thereafter, CPU 520 advances the process to step S303.
  • Step S303 Registration Marker Determination Process
  • the marker information management unit 507 determines whether or not the marker information registered in the memory 508 exists. Proceed. If it is determined that it does not exist, the process proceeds to step S307.
  • Step S304 Tracking process
  • the marker information management unit 507 extracts a video frame corresponding to the time stamp from the memory 508. At the same time, a past frame several frames before, for example, video data one frame before is extracted.
  • the marker information management unit 507 updates the coordinates of the registered marker information using the current video frame and the past video frame. When all the updates are completed, the CPU 520 then advances the process to step S305.
  • Step S305 Encoding process
  • the CPU 520 monitors the state of the marker information management unit 507. When the update of all the marker information is completed, the marker information is encoded, and the process proceeds to step S307.
  • Step S306 accumulation process
  • the memory 508 records the information in a predetermined place. Thereafter, CPU 520 advances the process to step S307.
  • Step S307 Synchronization processing
  • the CPU 520 extracts the video code, the time stamp, and the corresponding marker information encoded data in the encoding order, and the video code is combined with the time stamp to generate the video encoded data. Is output to the multiplexer 504. Thereafter, CPU 520 advances the process to step S308.
  • Step S308 Packing process
  • the multiplexer 504 Upon receiving the video encoded data and marker information encoded data from the CPU 520, the multiplexer 504 calculates the marker information code size and packs them as one encoded data. CPU 520 then proceeds to step S309.
  • Step S309 transmission processing
  • the code transmission unit 503 Upon receiving the encoded data from the multiplexer 504, the code transmission unit 503 generates an encoded data communication packet as illustrated in FIG. 11 and outputs the encoded data communication packet to the outside of the management server 200. Thereafter, CPU 520 advances the process to step S310.
  • Step S310 End determination process
  • the CPU 520 determines whether or not to end the entire management server 200, and when the process is to be continued, the process after step S301 immediately after the start is repeatedly executed.
  • the CPU 520 performs a process for ending the other processing unit, and ends the process in the management server 200.
  • Step S311 Marker code reception process
  • the management server 200 takes the packet into the marker code receiving unit 502.
  • the marker code receiving unit 502 extracts marker information encoded data from the received marker information code communication packet and outputs the marker information encoded data to the CPU 520. Thereafter, the process proceeds to step S312. While no marker information code communication packet is sent from the outside, the process proceeds to step S316 to maintain the standby state.
  • Step S312 Decoding process
  • the CPU 520 When receiving the marker information encoded data from the marker code receiving unit 502, the CPU 520 separates and decodes the individual markers. The result is recorded in a predetermined location in the memory 508. At the same time, the CPU 520 notifies the marker information management unit 507 that there is a newly added marker. Thereafter, CPU 520 advances the process to step S313.
  • Step S313 Tracking process
  • the marker information management unit 507 receives the notification of the new marker from the CPU 520
  • the marker information management unit 507 extracts the past video frame corresponding to the time stamp in which the marker is set and the video frame of the next frame from the memory 508, and the position of the marker Start the tracking process.
  • the marker information management unit 507 calculates a time stamp and coordinates in the next frame, and updates the marker information recorded in the memory 508. Thereafter, CPU 520 advances the process to step S314.
  • Step S314 Current frame determination process
  • the marker information management unit 507 determines whether the processing has caught up to the time stamp corresponding to the current frame in the first functional unit of the management server 200 with the time stamp of the newly registered marker. If the process has not caught up to the current frame, the marker information management unit 507 returns to step S313 and continues the process. If the marker information management unit 507 determines that the process has caught up to the current frame, the process proceeds to step S315.
  • Step S315 Registration process
  • the marker information management unit 507 updates the marker information in the memory 508 using the newly added marker as registration information.
  • CPU 520 then advances the process to step S316.
  • Step S316 End determination process
  • the CPU 520 determines whether or not to end the entire management server 200, and when the process is to be continued, the process after step S311 immediately after the start is repeatedly executed.
  • the CPU 520 performs a process for ending the other processing unit, and ends the process in the management server 200.
  • the marker information management unit 507 in the management server 200 which is a feature of the present embodiment, will be described in detail with reference to FIGS.
  • the marker information management unit 507 is roughly composed of a control unit 1600, an inter-frame tracking processing block 1601, and a registration processing block 1605.
  • the inter-frame tracking processing block 1601 includes the image tracking unit (1) 1602 and the marker tracking unit (1) 1603, and the registration processing block 1605 includes the image tracking unit (2) 1606 and the marker tracking unit (2). 1607.
  • the marker information management unit 507 calculates the coordinates of the registered marker with respect to the current frame using the video frame of the current frame and the video frame one frame before that, and the marker in the memory 508. Processing to update information is performed. This processing is performed in an inter-frame tracking processing block 1601. Specifically, it is as follows.
  • the video decoding unit 505 outputs the time stamps of the rearranged video frames to the control unit 1600 in the marker information management unit 507 when the decoding process is completed.
  • the control unit 1600 starts an inter-frame tracking process.
  • the control unit 1600 outputs the input time stamp to the image tracking unit (1) 1602, and the image tracking unit (1) 1602 transmits the corresponding frame (i) and the previous frame (i). -1) is extracted from the memory 508.
  • the image tracking unit (1) 1602 performs image tracking processing as follows using the frame (i) and the video frame of the frame (i-1).
  • the image tracking unit (1) 1602 is referred to as a characteristic point ("feature point") for the (i-1) frame. For example, a corner where two or more edges in the image intersect. .) Is detected.
  • feature point For example, a corner where two or more edges in the image intersect. .) Is detected.
  • the subscript i-1 indicates the frame number
  • 1 in parentheses indicates each feature point. It is a variable to indicate.
  • a feature point can be detected using the function cvGoodFeaturesToTrack. By using this function, a clear corner in the image can be detected as a feature point.
  • the corresponding position of the frame (i) is obtained by searching only a relatively narrow range based on the position of the original feature point.
  • the corresponding position of the next frame can be calculated using a function called cvCalcOpticalFlowLK in the above-described OpenCV. This function uses the Lucas-Kanade algorithm and is one of the methods for obtaining the position of the corresponding pixel in the next frame.
  • the position of the feature point extracted in the (i-1) th frame and the position of the corresponding point in the (i) th frame can be obtained. Subsequently, the entire image is converted using this correspondence. That is, the change in the position of the feature point between frames is expressed as a conversion of the entire image. More specifically, the following conversion formula (Formula 1) is used.
  • the pixel (m, n) of the (i ⁇ 1) th video frame can be converted to (m ′, n ′) of the (i) th frame.
  • H * in this conversion formula is a 3 ⁇ 3 matrix and is called a homography matrix.
  • a homography matrix is a matrix that can projectively transform two images. Under the above-mentioned assumption (if the shooting interval is sufficiently short, the amount of movement of the object is small), Approximate changes.
  • each element of the homography matrix is defined as in the above (formula 2), 3 ⁇ in order to minimize the coordinate conversion error according to the (formula 1) under the correspondence of the feature points between consecutive frames.
  • the value of each element of 3 is obtained.
  • each element may be calculated so as to minimize the following expression (Expression 3).
  • argmin ( ⁇ ) is a function for calculating a parameter below argmin that minimizes the value in parentheses.
  • (m i-1 (l), n i-1 (l)) is the coordinates (FP i-1 (l)) of the feature point of the (i-1) th frame, and (m i (l ), N i (l)) respectively indicate the coordinates (FP i (l)) of the corresponding feature point of the (i) th frame.
  • the image tracking unit (1) 1602 can obtain the matrix and its conversion formula for converting the coordinates in the video one frame before into the corresponding coordinates in the current frame.
  • the marker tracking unit (1) 1603 converts coordinates for all the markers registered in the memory 508 using the homography transformation matrix (Equation 2) and the transformation equation (Equation 1) described above. And updating the information in the memory 508.
  • the marker tracking unit (1) 1603 extracts the registered marker information from the memory 508, and performs coordinate conversion as follows.
  • the marker tracking unit (1) 1603 is a peripheral local image at the time of registration in the marker information registered in the memory 508 (when the marker information is set in the work terminal 103 or the pointing device 108 described above, Using the peripheral image of the marker to be set (for example, a 15 ⁇ 15 pixel centered on the marker coordinate and included as one of the attribute information), the vicinity of the coordinate position obtained by the above-described conversion In addition, it is possible to search for a position where matching can be achieved. As a result, the tracking accuracy can be further increased. For the matching process, it is possible to use a template matching technique of image processing, which is performed as follows.
  • the registered peripheral local image of the registered marker information is C (i, j), 0 ⁇ i, j ⁇ M, and M is a parameter indicating the size of the local image, for example, 15 pixels.
  • M is a parameter indicating the size of the local image, for example, 15 pixels.
  • argmin ( ⁇ ) is the same function as described above, and (p ′, q ′) is a pixel having a condition for searching only a predetermined range centered on (p, q).
  • the predetermined search range can be a range of 30 pixels.
  • the pixel position of the marker information in the corresponding (i) frame can be calculated with higher accuracy.
  • the memory 508 is updated by updating the current frame (i) (updating from (i-1) to (i) frame).
  • the marker information registered in is the coordinates corresponding to the current frame.
  • the marker tracking unit (1) 1603 can update the coordinates of the marker information registered in the memory 508 to the coordinates corresponding to the current frame.
  • the control unit 1600 notifies the CPU of completion of the inter-frame tracking process.
  • the control unit 1600 When the control unit 1600 receives notification from the CPU about newly registered marker information, the control unit 1600 starts the following registration process.
  • the registration processing block 1605 operates asynchronously with the inter-frame tracking processing block 1601 and performs processing for registering new marker information. Specifically, the time stamp of the marker to be registered is acquired, and the coordinates after one frame are calculated and updated using the corresponding time stamp image and the image one frame later. This process is repeated until the current frame is reached, finally the coordinates of the current frame are calculated, updated, and registered as a tracking target of the inter-frame tracking processing block 1601.
  • the image tracking unit (2) 1606 and the marker tracking unit (2) 1607 of the registration processing block 1605 perform the same processes as the image tracking unit (1) 1602 and the marker tracking unit (1) 1603, respectively.
  • the inter-frame tracking processing block 1601 performs processing on the decoded current frame and the past one frame, but the registration processing block 1605 performs tracking processing asynchronously continuously from the time stamp at the time of setting to the time stamp of the current frame. I
  • FIG. 17 shows real time 1700 which is the actual time.
  • the time related to the work terminal 103 is written in the column of the work terminal (w) 1701
  • the time related to the management server 200 is written in the column of the management server (s) 1702
  • the time related to the pointing device 108 is written in the column of the pointing device (o) 1703. is doing.
  • the shooting time at the work terminal 103 is assumed to coincide with the real time 1700, and t0,..., Tn described in the columns of the work terminal (w) 1701, the management server (s) 1702, and the instruction device (o) 1703 are displayed.
  • the captured image captured by the work terminal 103 is once sent to the management server 200.
  • a video encoding / decoding process, a communication delay time, and the like occur in the work terminal 103 and the management server 200, and a delay (di_s1704) occurs until the management server 200 can handle the video frame.
  • the management server 200 performs the inter-frame tracking process on the video frame, synchronizes the marker information and the video frame, and then sends the video and video to the work terminal 103 and the instruction device 108. Send marker information.
  • the delay required at this time including the delay due to communication
  • the delay until the work terminal 103 and the instruction device 108 can receive them and display them on the screen are also added.
  • the delay amounts are di_w1705 and di_o1706. (The amount of delay varies depending on the communication path between the work terminal and the instruction device and the processing time of the decoding process). In other words, the following delays occur after shooting at the work terminal 103 until display on the screen of the work terminal 103 or the pointing device 108 (Equation 6).
  • delay_w represents a delay time until display on the screen of the work terminal 103
  • delay_o represents a delay time until display on the screen of the pointing device 108.
  • the marker information is sent to the server and can be used for tracking processing (marker information encoding processing time and communication). Delays dm_w 1707 and dm_o 1708, respectively, are added.
  • the delay amount from when the management server 200 receives the captured video to when the marker information corresponding to the time is received is as follows. (Formula 7).
  • the delay shown in (Equation 7) occurs after the markers are set in the work terminal 103 or the instruction device 108 until the management server 200 receives them.
  • the management server 200 needs to sequentially update tracking until the current frame after receiving the information that the marker is set. There is also a delay. If the delay amount at this time is tp (milliseconds), the maximum delay time is finally as follows.
  • the reference image number N that needs to be traced back to the minimum can be obtained, and is as follows.
  • the memory 508 needs to have a capacity capable of storing a minimum number of video frames calculated by (Equation 9). Actually, since it is difficult to accurately predict the delay time depending on the communication environment, it is necessary to secure a capacity with a margin.
  • the system according to the present embodiment allows the marker information and the captured video to be synchronized and shared between the work terminal 103 and the instruction device 108 at a remote location via the management server 200.
  • the work terminal 103 and the pointing device 108 combine the marker information with the captured video. Display, or marker information is not displayed on a captured image, or can be controlled independently for each device.
  • the transmission delay time between the marker management server 200 and the work terminal 103 or the pointing device 108 may vary. Considering this, it is necessary to provide a margin for the size of the memory 508, and it is necessary to hold more images than the number of video frames shown in (Equation 9). As a result, the size of the memory 508 tends to increase.
  • management is performed even when the captured video to be displayed is paused at the time of marker setting or is played back at a slower speed than usual.
  • the size of the memory 508 provided in the server 200 can be reduced as compared to the first embodiment.
  • the corresponding frame image is referred back to the time of the time stamp of the marker information to be newly registered.
  • the video frame of each frame for the process of converting the coordinates of the markers at the time of registration until the current frame is reached.
  • the registration processing block 1605 only the 3 ⁇ 3 homography matrix generated in the image tracking unit (2) 1606 described above is referred to. That is, the memory 508 holds a 3 ⁇ 3 homography matrix instead of the image frame to be referred to, and the image tracking unit (2) 1606 refers to the homography matrix and stores the marker information to be registered.
  • the coordinate conversion from the frame corresponding to the time stamp to the frame corresponding to the current frame is sequentially performed.
  • the processing of the remaining marker tracking unit (2) 1607 may be the same as in the first embodiment. That is, the memory 508 does not store video frames that may be retroactively referenced to the current frame, but stores only a 3 ⁇ 3 matrix calculated by the image tracking unit (2) 1606. As a result, the amount of data stored in the memory 508 can be significantly reduced.
  • the processing in the image tracking unit (2) 1606 is a processing block that operates only when a marker is newly registered. Therefore, a homography matrix to be referred to retroactively cannot be generated every frame. Therefore, in this embodiment, the homography matrix calculated in the image tracking unit (1) 1602 in the inter-frame tracking processing block 1601 is used and stored in the memory 508 together with the time stamp. At that time, the decoded video frame stored in the memory 508 from the video decoding unit 505 may be updated and stored only for the current frame and the previous video frame.
  • the video codes stored at the same time as described above, since the encoding order is different from the video reproduction order, it is necessary to retain necessary frames for the rearrangement.
  • the marker information management unit 1800 corresponding to the present embodiment is shown in FIG. 16 differs from the marker information management unit 507 in FIG. 16 in that the homography matrix 1801 is output from the image tracking unit (1) 1602 to the memory 508, and the image tracking unit (2) 1606 from the memory 508. (I) the frame and the (i-1) homography matrix 1802 are input.
  • the memory capacity provided in the management server 200 can be reduced as compared with the first embodiment.
  • the memory capacity is the same as that in the first embodiment, it is possible to refer back more.
  • the management server 200 updates coordinates for all registered markers by inter-frame tracking processing, and synchronizes the result with the video to obtain encoded data.
  • the communication packet is transmitted to the work terminal 103 and the instruction device 108.
  • FIG. 19 is a diagram showing a state at that time.
  • the object and the marker are shown, but the state gradually moves to the right (1801, 1802) according to the movement of the camera.
  • the marker 1803 protrudes outside the screen and is not displayed. In this case, it is useless to send the marker information to the work terminal 103 or the pointing device 108.
  • the display range of the work object is wide (for example, the object is zoomed, the object itself is large, and one frame is displayed).
  • the processing becomes heavy. Therefore, in the present embodiment, when the marker information is outside the area to be displayed in the management server 200, the above problem is avoided by performing control not to transmit the marker information.
  • FIG. 15 A processing flowchart at this time is shown in FIG.
  • the flowchart corresponding to FIG. 22 is FIG. 15, and the difference from FIG. 15 is that in FIG. 22, the step of out-of-range determination S304b is inserted between the tracking process S304 and the encoding process S305. . That is, it is as follows. Description of other processes before and after that is omitted.
  • Step S304 The marker information management unit 507 extracts a video frame corresponding to the time stamp from the memory 508. At the same time, a past frame several frames before, for example, video data one frame before is extracted. The marker information management unit 507 updates the coordinates of the registered marker information using the current video frame and the past video frame. When all the updates are completed, the CPU 520 then advances the process to step S304b.
  • Step S304b The CPU 520 monitors the state of the marker information management unit 507. When updating of all the marker information is completed, the marker information that is out of the video range is extracted from the updated coordinate position, and it is not necessary to transmit them. It excludes as marker information and advances to step S305.
  • Step S305 The CPU 520 monitors the state of the marker information management unit 507, encodes all marker information other than the transmission unnecessary marker information, and advances the process to step S307.
  • the management server 108 does not have to transmit marker information that is outside the range of the video displayed on the work terminal 103 or the pointing device 108. 108, the processing load can be suppressed.
  • the present embodiment relates to handling when the management server 200 becomes unable to track marker information. As described above, the management server 200 performs processing for tracking the registered marker information every frame.
  • tracking may not function properly. For example, when the motion of the video is fast and motion blur occurs. In this case, it is possible to recover the tracking position when the motion of the video is reduced by using the peripheral local image included in the marker information. However, temporarily, a situation in which tracking is impossible occurs.
  • an item called tracking indefinite flag 2000 is provided as one of the attributes of the marker information (see FIG. 20).
  • the work terminal 103 and the instruction device 108 detect that the tracking indeterminate flag 2000 is set, the work terminal 103 and the instruction device 108 display information notifying that on the screen.
  • FIG. 21 is a diagram illustrating an example of the attention information displayed at that time.
  • the management server 200 when the management server 200 cannot track the marker well, the user can be alerted by displaying the fact on the work terminal 103 and the instruction device 108. .
  • the work terminal 103 or the instruction device 108 further prepares a memory for holding video frames displayed in the past, and performs mosaicing processing (panorama) on the video sent from the management server 200. Generation process).
  • the work terminal 103 or the pointing device 108 can display an extended video by pasting a past frame around the current frame video.
  • the region corresponding to the current frame is a moving image
  • the other expanded region is a still image. Since the instructor at the remote location needs to judge the state of the scene from only the transmitted video and audio, it is easier to determine where to set the marker in the video than in the previous embodiment. There is an advantage of becoming.
  • a feature (feature point) from the video of the current frame may be used to extract the feature point.
  • information for example, color, shape, or edge inclination
  • feature points are extracted and described in the same manner for the past video frames stored, and corresponding feature points are specified. From this correspondence, a homography transformation matrix is calculated based on the above-described (Equation 3). Once the homography transformation matrix is obtained, the video of the past frame can be transformed so as to overlap the image of the current frame according to (Equation 1) described above, and this is superimposed on the video of the current frame. Such an extended video can be displayed on the display screen.
  • the work terminal 103 or the pointing device 108 can display on the screen a video obtained by combining the video of the current frame and the video of the past frame. Since the instructor can visually recognize a wide range, marker setting is facilitated.
  • each component for realizing the function is described as being a different part, but it must actually have a part that can be clearly separated and recognized in this way. It doesn't have to be.
  • the remote communication device that implements the functions of the above embodiments may configure each component for realizing the function using, for example, different parts, or all the components. It may be mounted on one LSI. That is, what kind of mounting form should just have each component as a function.
  • the function of the management server may be provided on the instruction device side.
  • Each component of the present invention can be arbitrarily selected, and an invention having a selected configuration is also included in the present invention.
  • a program for realizing the functions described in the above embodiments is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. Processing may be performed.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
  • the “computer-readable recording medium” means a storage device such as a flexible disk, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included.
  • the program may be a program for realizing a part of the above-described functions, or may be a program that can realize the above-described functions in combination with a program already recorded in a computer system.
  • the present invention can be used for a video conference system.
  • the present invention includes the following disclosure.
  • a terminal device comprising: a first display unit that displays video; and a video transmission unit that transmits the video displayed on the first display unit with first time stamp information added thereto;
  • a first marker information transmitting unit for transmitting the first marker information added to the first marker information input to the second display unit for acquiring and displaying the video displayed on the terminal device;
  • An indicating device having Connected to the terminal device and the instruction device, receives an image transmitted from the terminal device and first marker information transmitted from the instruction device, and receives the first time stamp information and the second time stamp information.
  • a management device having a marker information management unit that performs management to synchronize and transmit the video and the first marker information based on time stamp information;
  • a telecommunications system characterized by comprising: Since a management device that manages marker information is provided and synchronization is performed by this management device, the load on the terminal device can be suppressed.
  • the management device (1) characterized in that it has a memory for holding a video frame that reaches a current frame from a video frame traced back to a time corresponding to the second time stamp of the added first marker information. Telecommunications system. It is necessary to accumulate from a video frame that may be referred retroactively to the current frame.
  • the process of synchronizing the video and the first marker information is: First means for continuously updating the first marker up to a frame synchronized with the video when registering the first marker information; A second means for completing registration and updating the first marker information for each frame; (2) The telecommunications system according to (1).
  • the telecommunications system according to (1) In the first means for updating the first marker information, The telecommunications system according to (3), wherein the first marker information is updated using a parameter for converting an image between consecutive frames.
  • the terminal device Furthermore, it has a second marker information transmission unit for adding the third time stamp information to the second marker information input to the first display unit and transmitting it.
  • the management device (1) The method according to (1), wherein the video and the second marker information are synchronized and transmitted to the pointing device based on the first time stamp information and the third time stamp information. Telecommunications system. It can also handle input of marker information from a terminal device. (6) The management device The video code of the video is divided into a time stamp and a video code, and the video code is subjected to a decoding process opposite to the encoding process in the terminal device, decoded to the original signal, and decoded shooting The video, the time stamp, and the video code before decoding are each output and stored in a memory, and the time stamp is output to the marker information management unit. system.
  • the management device The received encoded data of the first marker information is received, each marker is decoded based on the number of markers and each marker encoded size, the decoded marker information is stored in the memory, and as new marker information The telecommunications system according to (1), wherein marker information is output to the marker information management unit.
  • the marker information management unit When the first time stamp information is received, the coordinates of the marker already registered in the current frame using the video frame of the same time stamp and the video frame one frame before that stored in the memory To calculate the coordinates of the marker information stored in the memory, When the marker information to be newly registered is received, the time stamp included in the marker information is referred to, and the corresponding past video frame stored in the memory to the current frame is used (image group), Calculate the coordinates of the marker corresponding to the current frame, update the coordinates of the newly registered marker information based on the obtained coordinates, register as the tracking target, When the processing of the current frame (update of all registered marker information) is completed, a process of outputting the video encoded data and the marker information encoded data having the same time stamp as that of the current frame together is prompted, (7) The telecommunications system according to (7), wherein when the encoded marker information encoded data and the encoded video data are received, the encoded data communication packet is output after packing.
  • the processing load on the terminal device and the instruction device can be suppressed.
  • (11) (4th) As one of the attributes of the first marker information, a tracking indefinite flag is provided, and when the terminal device and the pointing device detect that the tracking indefinite flag is set, note that in the display screen.
  • the telecommunications system according to (1) wherein information to be displayed is displayed. When the marker cannot be tracked well, the user can be alerted by displaying the fact on the terminal device and the pointing device.
  • (12) (5th) In at least one of the terminal device or the instruction device, A memory for holding video frames displayed in the past is further provided.
  • a terminal device comprising: a first display unit for displaying a video; and a video transmission unit for transmitting the video displayed on the first display unit with first time stamp information added thereto; and An indication device having a first marker information transmission unit that adds the second time stamp information to the first marker information input to the second display unit that acquires and displays the displayed video, and transmits the first marker information; Connected to The video transmitted from the terminal device and the first marker information transmitted from the instruction device are received, and the video and the second time stamp information are received based on the first time stamp information and the second time stamp information.
  • the management apparatus which has the marker information management part which performs management which synchronizes with one marker information, and transmits to the said terminal device.
  • a terminal device comprising: a first display unit for displaying a video; and a video transmission unit for transmitting the video displayed on the first display unit with first time stamp information added thereto; and An indication device having a first marker information transmission unit that adds the second time stamp information to the first marker information input to the second display unit that acquires and displays the displayed video, and transmits the first marker information;
  • a marker information management method using a management device connected to Receiving the video transmitted from the terminal device and the first marker information transmitted from the pointing device; Management of marker information, comprising: managing to synchronize and transmit the video and the first marker information to the terminal device based on the first time stamp information and the second time stamp information Method.
  • Time stamp management unit 309 ... Display unit 310 ... Touch input unit 311 ... Memory 3 DESCRIPTION OF SYMBOLS 0 ... CPU, 400 ... Controller, 401 ... Marker code transmission unit, 402 ... Code reception unit, 403 ... Demultiplexer, 404 ... Video decoding unit, 405 ... Time stamp management unit, 406 ... Display unit, 407 ... Touch input unit, 408 ... Memory, 420 ... CPU, 500 ... Controller, 501 ... Video code receiver, 502 ... Marker code receiver, 503 ... Code transmitter (marker, video code), 504 ... Multiplexer, 505 ... Video decoder, 507 ... Marker information management unit, 508... Memory, 520.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、前記端末装置と前記指示装置とに接続され、前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置とを有することを特徴とするテレコミュニケーションシステム。

Description

テレコミュニケーションシステム
 本発明は、テレコミュニケーション(遠隔通信)技術に関する。
 従来から、カメラ等の撮像装置により撮影した映像(以下、「映像」または「撮影映像」と称する。)と、マイク等により収音した音声(以下、「収音音声」と称する。)と、を遠隔地に伝送する、テレビ会議システムなどが広く利用されている。このようなテレビ会議システムにおいては、撮影映像と、収音音声と、のほかに、テレビ会議システムが動作している端末(以下、「利用者端末」と称する。)において、テレビ会議システムと同時に動作しているアプリケーションソフトウェアの画面などの付加画面情報と、利用者端末上に対してテレビ会議システムの利用者(以下、「利用者」と称する。)が例えばマウスを動かして入力したポインタ情報などの指示情報と、を伝送するものがある。
 しかし、各情報の伝送時間や処理時間の差により、付加画面情報と、指示情報と、の間に同期ずれが発生し、テレビ会議システムの品質が低下するという課題があった。
 このような同期ずれに対し、特許文献1では、付加画面情報の送信時と、指示情報の送信時と、において、それぞれに時刻情報(以下、「タイムスタンプ」と称する。)を付与し、付加画面情報の受信時と、指示情報の受信時と、において、各情報に付与された時刻情報を解析し、同一の時刻情報が付いている付加画面情報と、指示情報と、を利用者端末に同時に表示させる技術が開示されている。
 テレビ会議システムを応用した技術として、遠隔作業支援システムがある。これは、たとえば修理作業などを行う利用者(以下、「作業者」と称する。)が作業の様子をカメラで撮影し、撮影映像を、作業者に対して作業手順などの指示を行う利用者(以下、「指示者」と称する。)に向けて送信し、指示者は受信した撮影映像を見て作業手順などの指示(以下、「作業指示」と称する。)を作業者に伝達するものである。
 指示者から作業者への作業指示では、作業者が送信した作業環境などの撮影映像に対して、指示者が指示情報を付加し、作業者が指示情報の付加された映像を参照することで、口頭での作業指示よりも詳細な作業支援を行うことができる。
 また、指示情報として、一定時間残存する印等(以下、「マーカー」と称する。)を用いることで、作業者と指示者とが、複数箇所に対する作業指示を図示しながら対話することができるようになる等のほか、作業指示から時間が経った時期でも、作業指示の内容を視覚的に取得できるなど、ポインタ情報のみを使った作業支援よりも、さらに高度な作業支援を行うことができる。
 作業者側の撮影映像は、作業者が撮影を行う位置によって移動するため、マーカーは、映像にあわせて移動させる必要がある。この際、マーカーの移動方向と、移動距離と、を算出する処理(以下、「トラッキング処理」と称する。)が必要となる。また、従来のテレビ会議システムと同様に、撮影映像と、マーカーと、は同期されている必要がある。
 特許文献2では、カメラで撮影した映像の送信時と、指示情報の送信時と、において、それぞれに時刻情報(タイムスタンプ)を付与し、映像の受信時と、指示情報の受信時において、付与された時刻情報を解析し、同一のタイムスタンプが付いている映像と、指示情報と、を利用者端末に同時に表示させる技術が開示されている。
特開2005-338510号公報 特開2011-41185号公報
 しかしながら、マーカーは作業者と指示者との双方が付与したいという要請があった。また、付加画面情報とマーカー情報の同期が必要であるという問題もある。これに対して、特許文献1、2には、作業者、指示者それぞれがマーカーを付ける場合に、各クライアント端末での同期を取るための方法が開示されていない。
 また、一方だけの同期を取る必要がある場合であっても、特許文献1、特許文献2の方法で同期すると、トラッキングを各クライアント端末で行う必要があり、クライアント端末における処理の負荷が重くなる。また、各クライアント端末で同一の処理を行うことは冗長であるという問題もある。
 すなわち、撮影映像と、マーカーと、は同期されている必要がある。しかしながら、特許文献1や特許文献2に開示されている方法で同期を取る場合、一つの利用者端末のみでしか同期をとることができないことが問題となる。また、仮に一つの利用者端末のみがマーカーを付与することができるとした場合であっても、特許文献1、特許文献2の方法で同期をすると、トラッキング処理を各利用者端末で行う必要があり、利用者端末にかかる負荷が大きくなってしまう。各利用者端末で行うトラッキング処理は、すべて同一の処理であるため、冗長な処理である。
 本発明は、テレコミュニケーションにおいて、マーカーの利用に関連する端末装置の処理負担を軽減することを目的とする。
 本発明の一観点によれば、映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、前記端末装置と前記指示装置とに接続され、前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置とを有することを特徴とするテレコミュニケーションシステムが提供される。
 本明細書は本願の優先権の基礎となる日本国特許出願番号2015-007352号の開示内容を包含する。
 本発明によれば、利用者端末における処理の負荷を抑制しつつ、全ての利用者端末において付加画面情報にマーカーを設置することができる。また、いずれの利用者端末で付与したマーカーであっても、付加画面情報と、マーカーと、が同期させることができる。
本発明の一実施の形態によるテレコミュニケーションシステムの利用イメージを示す図である。 本実施の形態によるテレコミュニケーションシステムの概略構成例を示す機能ブロック図である。 本実施の形態によるテレコミュニケーションシステムを構成する作業端末の一構成例を示す機能ブロック図である。 本実施の形態によるテレコミュニケーションシステムを構成する指示装置の一構成例を示す機能ブロック図である。 本実施の形態によるテレコミュニケーションシステムを構成する管理サーバーの一構成例を示す機能ブロック図である。 撮影映像とマーカー情報との合成処理のイメージを模式的に示す図である。 マーカー情報のデータ構成例を示す図である。 データ通信パケットの一構成例を示す図である。 映像符号通信パケットの一構成例を示す図である。 マーカー情報符号通信パケットの一構成例を示す図である。 符号化データ(マーカー、映像)通信パケットの一構成例を示す図である。 符号化処理時及び通信時における、映像フレームのタイムスタンプと処理順を示すイメージ図である。 作業端末における処理の流れを示すフローチャート図である。 指示装置における処理の流れを示すフローチャート図である。 管理サーバーにおける処理の流れを示すフローチャート図である。 マーカー情報管理部の一構成例を示す機能ブロック図である。 作業端末、管理サーバー、指示装置における遅延時間量を説明するためのイメージ図である。 本発明の第2の実施形態におけるマーカー情報管理部の一構成例を示す機能ブロック図である。 マーカー情報がフレームアウトする例を示す図である。 マーカー情報に追跡不定フラグを追加した例を示す図である。 マーカー情報を追跡できなかった際に表示する注意情報の例である。 本発明の第3の実施形態における管理サーバーにおける処理の流れを示すフローチャート図である。
 以下、本発明に係わる実施の形態を、図面を参照して詳細に説明する。なお、各図面における表現は、理解しやすいように許容できる範囲で誇張して記載しており、実際とは異なる場合がある。また、以下の説明において、異なる図面においても同じ符号を付した構成は同様の構成であるとして、その説明を省略することとする。
(第1の実施の形態)
 まず、本発明の第1の実施の形態によるテレコミュニケーションシステムについて、図1から図12までを参照しながら説明を行う。
 <装置の利用シーン>
 図1は、本実施の形態によるテレコミュニケーションシステムAの利用シーン例を模式的に示した図である。図1の左側が作業現場100であり、図1の右側が指示室106を示しており、お互いに離れたところに位置している。このシーン例は、作業現場100にいる作業者101が、指示室106にいる指示者107から、作業対象102に関する作業指示を、作業端末(端末装置)103で受けながら、作業を行なっているシーンである。作業対象(102)の修理を行っている作業者101が、監督する指示者107から修理に関する指示をもらっている例である。
 例えば、作業端末103の背面には、撮影用のカメラ103aが備えられており、作業対象102を撮影することができる。作業端末103は、その撮影映像を遠隔地に送信することができる。
 指示室106に設置された指示装置108は、遠隔地の作業端末103から送られてきた撮影映像を受信し、その映像を付加画面情報として表示装置109に表示させることができる。そして、表示装置109に表示された作業対象の映像110を見ながら、指示者107は表示装置109上で、作業者101に対して作業指示を行う。この際、表示装置109の画面に表示された映像110の上に、タッチパネル機能やマウス機能などを利用した指示者107の表示画面上への入力等により、指示位置を示すポインタやマーカーを表示画面上に設定することができる。ポインタやマーカーの設定情報が、指示装置108から作業端末103に送られることで、作業端末103と表示装置109との画面を通してポインタやマーカーの設定情報を共有させることができる。
 以下、ポインタとマーカー等を表示画面上に表示させるための情報を総称して、マーカー情報と称する。マーカー情報には、テキストや絵柄などを用いることも可能である。
 一方、作業端末103の表示部においては、映し出された作業対象102の映像104と、表示装置109上において入力されたマーカー情報に基づくマーカー105等とが、重ね合わされて表示される。
 作業者101は、表示部においてその表示を見ることができ、これにより、作業者101は、遠隔地(指示室106)の作業指示を視覚的に把握することができる。尚、作業者101の入力に基づいて、作業端末103の映像の上にマーカー情報を設定することも可能であり、表示装置109にマーカー111を表示させることができる。これにより、指示者107と作業者101とがマーカーを含めたそれぞれの情報を共有することができる。
 そして、前述の作業端末103と指示装置108は、図2に示すような公衆通信網(例えば、インターネット)NTによって、お互いに接続されており、TCP/IPやUDP等のプロトコルに従い、通信することができる。
 本実施の形態によるテレコミュニケーションシステムAには、さらに、マーカー情報を一括して管理するための管理サーバー200が設けられ、管理サーバー(管理装置)200についても、この公衆通信網NTに接続されている。尚、作業端末103と公衆通信網NTとは、無線通信によって接続することも可能である。この場合、無線通信は、例えばWi-Fi Alliance(米国業界団体)によって規定された国際標準規格(IEEE802.11)のWi-Fi(ワイファイ、Wireless Fidelity)接続によって実現することが可能である。通信網に関しては、これまでインターネットなどの公衆通信網について示してきたが、例えば、企業などで使用されている、LAN(Local Area Network)を用いることも可能であり、また、それらが混在した構成であっても良い。
 以下、通常のテレビ会議システムで用いられる、一般的な音声通信処理や付加画面情報以外の映像通信処理に関しては、支障のない範囲で説明を省略する。
 <処理ブロック構成と処理概略の説明>
 以下に、作業端末103、指示装置108、及び、管理サーバー200の各機能ブロックを、図3から図5までを参照しながら説明する。
 図3は、作業端末103の一構成例を示す機能ブロック図である。
 図3に示すように、作業端末103は、表示制御部300aを有するコントローラ300と、映像符号送信部301と、マーカー符号送信部302と、符号受信部303と、デマルチプレクサ304と、映像エンコード部305と、映像デコード部306と、カメラ103aからの映像をキャプチャするキャプチャ部307と、タイムスタンプ管理部308と、表示部309と、タッチ入力部310と、メモリ311と、CPU320と、を有している。CPU320は、上記各機能部を制御する役割も果たす。
 以下、各ブロックで実行される処理の概要について説明する。
 コントローラ300は、作業端末103における信号の流れを制御しており、各処理ブロックから受けた信号を適切な処理ブロックに出力する役割を担っている。作業端末103には、大きく分けて、作業端末103に備わるカメラ103aで撮影した撮影映像を符号化して、作業端末103の外部に送信する第1の機能部と、作業端末103の外部から送られてくる映像とマーカー情報とを受け取って画面に表示する第2の機能部と、ユーザが作業端末103の表示画面にタッチした情報を元に新たに生成するマーカー情報を外部に送信する第3の機能部と、を備えている。
 まず、第1の機能部に関わる処理について説明する。作業端末103の背面に備わるカメラ103aで撮影された撮影映像がキャプチャ部307に入力され、その映像がコントローラ300を経由して、映像エンコード部305に出力される。以下、支障が無い限り、途中経由するコントローラ300について、説明を省略する。映像エンコード部305は、キャプチャ部307から入力した撮影映像を、元のデータ量よりも小さくなるように符号化(圧縮)する。符号化に関しては、例えば、動画像符号化に適したH.264(国際標準動画圧縮規格)を適用することができる。さらに、映像エンコード部305は、符号化した映像符号に撮影時のタイムスタンプ(時刻情報)を付け加えて、映像符号化データを生成(後述する図9の映像符号化データを参照)し、それを映像符号送信部301に出力する。
 映像符号送信部301は、作業端末103の外部に(例えば、後述する管理サーバー200に向けて)、映像符号化データを送信する。この際に、図2の公衆通信網NTにおいて、正しく通信ができるように、映像符号送信部301は、例えば、TCP/IPやUDP等のプロトコルに従った、通信のために必要な情報を付加して、送信する。
 図8は、データ通信パケット構造の概要を示す図である。ここで、「IP」はパケットを受信する機器を識別するためのアドレス番号で、「UDP(User Datagram Protocol)」はコネクション確立不要なリアルタイム伝送向けプロトコルで、「RTPヘッダ(Real-time Transport Protocol)」はストリーミング伝送するためのプロトコルで、「送信データ」は実際に送信するデータを、それぞれ示している。以下、通信に使うパケットは、このフォーマットを使用することができる。図9は、フォーマットに従い、映像符号送信部301が外部に送信する映像符号通信パケットのデータ構成例を示す図である。尚、送信データである映像符号化データは、前述したとおり、1枚のフレーム映像を符号化したデータで、そのタイムスタンプと映像符号を組み合わせたデータである。
 次に、第2の機能部に関わる処理ブロックについて説明する。符号受信部303は、外部より送られてきた符号化データ(マーカー、映像)の通信パケットを受信する。図11は、このパケットの一構成例を示す図である。符号受信部303は、受信したパケットを解析して、符号化データ(マーカー情報、映像)を取り出し、デマルチプレクサ304に出力する。デマルチプレクサ304は、多重化された符号化データを受け取ると、マーカー情報符号サイズから、はじめに、マーカー情報符号化データを取り出し、残りを映像符号化データとして分割する。映像符号化データに関しては、映像デコード部306に、マーカー情報符号化データについては、CPU320に出力する。
 CPU320は、マーカー情報符号化データをデマルチプレクサ304から受け取ると、マーカー情報符号化データの中に含まれる、マーカー数と各マーカーの符号化サイズ(マーカー0サイズ、マーカー1サイズ、・・・)に基づき、それぞれのマーカー符号(マーカー0符号、マーカー1符号、・・・)を取り出し、後述する管理サーバー200において実施されたマーカー情報の符号化方法とは逆の処理(復号処理)を行い、元のマーカー情報を生成する。
 CPU320は、復号したマーカー情報を、一旦、メモリ311に保存する。マーカー情報については後述する。映像デコード部306は、デマルチプレクサ304から、映像符号化データを受け取ると、タイムスタンプを取り出した後に、残りの映像符号を、後述する管理サーバー200において実施する映像符号化方法とは逆の処理(復号処理)を行い、元の撮影映像を復号する。
 映像デコード部306は、復号した撮影映像をメモリ311に出力するとともに、タイムスタンプをタイムスタンプ管理部308に出力する。
 尚、符号化された映像を復号する際は、その復号方式によって、映像の再生順番とは異なる順番に復号されることがある。映像デコード部306は、メモリ306aを内部に備えており、その順番を再生順に正しく並べ替えた後に出力する。
 図12は、具体的な並び替え処理の一例を示す図であり、映像の符号化・復号の際のフレームの順番と処理の順番を模式的に示した図である。映像のソースとして入力される信号は、Fti(n)で示しており、添え字はタイムスタンプを表し、括弧内の数字は処理の順番を表している。図12中に示す、パケット(送信、受信)や映像フレーム(再生)についても、同様の表記方法を用いている。図12から明らかなように、ソースとして入力される映像信号は、タイムスタンプの順番と処理の順番とが同じであり、仮に、処理の順番通りに映像フレームを表示していけば、通常の順番に表示されることを示している。
 前述した動画像符号化方式によると、フレーム間の参照(符号化フレームタイプ)の関係で、処理順が撮影した順番とは異なる順番で処理するように規定されている。例えば、図12に示したように符号化が行われたとすると、生成されるパケット信号(Pti(n))の順序(送信)は、元の撮影された順番と異なっている。そのため、受信側では、送られてきたパケット信号の順に復号処理を行うことができるが、再生時には、元の映像フレームの順番に並び変える(Dti(n))必要がある。
 タイムスタンプ管理部308は、映像デコード部306から処理の完了したフレームのタイムスタンプを受け取ると、メモリ311に保存されたマーカー情報に含まれるタイムスタンプを参照し、同じタイムスタンプを持つマーカー情報が存在するか否かを判定する。タイムスタンプ管理部308は、映像フレームと同じタイムスタンプを持つマーカー情報を見つけると、CPU320にそのことを通知する。CPU320は、表示制御部300aにより、タイムスタンプ管理部308から、マーカー情報が存在するという通知を受け取ると、後述する図7に例示するようなマーカー情報の他の属性(座標、マーカー種類等)を用いて生成したマーカーと、復号した映像フレームと、を合成し、それを表示部309に出力する。表示部309は、受け取った合成映像をそのまま画面に表示する。映像とマーカーの合成方法としては、図6に示すように、表示制御部300aが、マーカーの属性に基づき生成されたマーカー601を撮影画像600の上に映像処理によって合成して合成画像602を作成する。
 ここで、図7を参照しながら、マーカー情報について説明する。マーカー情報には、複数の属性情報が含まれており、例えば、マーカー情報を一意に識別するIDと、タイムスタンプと、合成座標位置を示す座標と、マーカー種類と、マーカーの色、大きさ、太さ、を含む。属性情報には、これ以外の項目を含めることも可能であり、これ以外の項目とは、例えば、文字列や絵柄などである。
 最後に、第3の機能部に関わる処理ブロックについて説明する。入力部の例として示すタッチ入力部310は、表示部309と一体になったモジュールであり、表示部309の表示面を指などで接触させた際のタッチした位置、形状、方向などの情報を取得することができる。タッチ入力部310は、タッチした情報をCPU320に送信する。CPU320は、タッチ入力部310からタッチ情報を取得し、前述のようなマーカー情報を生成・符号化(マーカー情報符号化データを作成)し、それをマーカー符号送信部302に出力する。生成するマーカー情報については、予めパラメータ等で、作業端末103と指示装置108ごとに、属性を決めておくこともできるし、あるいは、UI等を用いて、ユーザにその属性情報を決められるようにすることも可能である。
 属性情報に含まれる座標については、タッチによって得られた座標を用いる。タイムスタンプについては、映像と同期を行うための情報であり、CPU320に含まれるタイマ等の情報に基づいて得られるタッチした時刻や、あるいは、それと同等の情報を利用できる。
 一方、符号化処理は、マーカー情報を元のデータ量より少ない符号に符号化(圧縮)できる方法であれば良く、例えば、ZIP方式(可逆符号化方式の一つ)を用いることが可能である。但し、マーカー情報に用いる符号化方式は、映像の場合とは異なり、受け取った情報を完全に復元(復号)できることが好ましい。さらに、マーカー情報は、元々そのデーターサイズがあまり大きくないため、圧縮を行わずに、そのままの信号でやり取りするようにしても良い。 マーカー符号送信部302は、受け取ったマーカー情報の符号化データから通信パケットを生成(図10参照)し、作業端末103の外部に出力する(例えば、後述する管理サーバー200に出力する)。以上が、作業端末103で実施される処理例の全体像である。
 次に、指示装置108の構成例について、図4を参照しながら説明する。指示装置108は、図4に示すように、表示制御部400aを備えたコントローラ400と、マーカー符号送信部401と、符号受信部402と、デマルチプレクサ403と、映像デコード部404と、タイムスタンプ管理部405と、表示部406と、タッチ入力部407と、メモリ408と、CPU420と、を有している。
 以下、各機能ブロックにおいて実行される処理の概要について説明する。
 コントローラ400は、指示装置108の信号の流れを制御しており、各処理ブロックから受けた信号を適切な処理ブロックに出力する役割を担っている。指示装置108は、大きく分けて、指示装置108の外部から送られてきた映像とマーカー情報を受け取って画面に表示する第1の機能部と、指示装置108の画面にタッチした情報を元に新たに生成するマーカー情報を外部に送信する第2の機能部とを備えている。
 第1の機能部に関わる構成は、作業端末103の第2の機能部と同様で良く、それぞれが、以下に示すように対応する。
 すなわち、符号受信部402は符号受信部303と、デマルチプレクサ403はデマルチプレクサ304と、映像デコード部404は映像デコード部306と、メモリ404aはメモリ306aと、メモリ408はメモリ311と、タイムスタンプ管理部405はタイムスタンプ管理部308と、表示部406は表示部309と、CPU420はCPU320と、表示制御部400aは表示制御部300aと、が対応している。
 他方の、第2の機能部は、作業端末103の第3の機能部と同等であり、以下のように対応する。
 タッチ入力部407はタッチ入力部310と、マーカー符号送信部401はマーカー符号送信部302とが対応している。また、CPUについても同様である。
 次いで、管理サーバー200の構成について、図5を参照しながら説明する。管理サーバー200は、図5に示すように、コントローラ500と、映像符号受信部501と、マーカー符号受信部502と、符号送信部(マーカー、映像符号)503と、マルチプレクサ504と、映像デコード部505と、マーカー情報管理部507と、メモリ508と、CPU520と、を有している。
 以下、各機能ブロックにおいて実行される処理の概要について説明する。
 コントローラ500は、管理サーバー200の信号の流れを制御しており、各処理ブロックから受けた信号を適切な処理ブロックに出力する役割を担っている。ここで、管理サーバー200は、大きく分けて、外部から送られてくる映像符号を受け取り、デコード後にメモリに保存する第1の機能部と、外部から送られてくるマーカー符号を受信して、先ほどの映像と同期が取れるようにマーカー情報を管理し、映像とマーカー情報とを結合させて外部に送信する第2の機能部とに分けることができる。
 はじめに、管理サーバー200の第1の機能部に関わる構成について説明する。管理サーバー200は、前述の公衆通信網NTを経由して送られてくる映像符号通信パケットを受信すると、映像符号受信部501に入力させる。映像符号受信部501は、受け取った映像符号通信パケットから、映像符号化データを取り出し、映像デコード部505に出力する。映像デコード部505は、映像符号受信部501から映像符号化データを受け取ると、タイムスタンプと映像符号とに分割した後に、映像符号に対しては、前述の作業端末103の映像エンコード部305が実施した符号化処理とは逆の処理(復号処理、例えば、H.264デコード処理)を行い、元の信号に復号する。映像デコード部505は、復号した撮影映像と、タイムスタンプと、さらに、復号前の映像符号と、をそれぞれ出力し、メモリ508において、それらを別々にアクセスできるように保存する。また、映像デコード部505は、タイムスタンプをマーカー情報管理部507にも出力する。
 次に、管理サーバー200の第2の機能部に関わる処理について説明する。管理サーバー200は、前述の公衆通信網NTを経由して送られてくるマーカー情報符号通信パケットを受け取ると、マーカー符号受信部502に入力させる。マーカー符号受信部502は、受信したマーカー情報符号通信パケットから、マーカー情報符号化データを取り出し、CPU520に出力する。CPU520は、マーカー情報符号化データを受け取ると、マーカー数と各マーカー符号化サイズ(マーカー0サイズ、マーカー1サイズ、…)に基づき、それぞれのマーカーの復号処理を行う。復号処理は、前述したマーカー符号化処理とは逆の処理であり、例えば、ZIP復号処理である。CPU520は、復号したマーカー情報を、一旦メモリ508に送り、保存処理を行う。また、CPU520は、新規マーカー情報として、マーカー情報管理部507にもマーカー情報を出力する。
 マーカー情報管理部507には、2つの機能があり、1つは、連続するフレーム間のマーカー情報追跡(トラッキング)機能であり、もう1つは、新規マーカー情報の登録機能である。
 具体的には、以下の通りである。
 マーカー情報管理部507は、映像デコード部505から映像のタイムスタンプを受け取ると、メモリ508に蓄積された、同一タイムスタンプの映像フレームと、その1フレーム前の映像フレームと、を用いて、すでに登録されているマーカーの現フレームにおける座標を算出する。マーカー情報管理部507は、メモリ508に保存してあるマーカー情報の座標を更新する。マーカー情報管理部507は、全ての登録済みマーカーの座標の更新を実施する。次に、マーカー情報管理部507は、新規に登録するマーカー情報をCPU520から受け取ると、マーカー情報の中に含まれるタイムスタンプを参照して、メモリ508に蓄積された対応する過去の映像フレームから現フレームまでの映像フレーム(画像群)を用いて、現フレームに対応するマーカーの座標を算出する。求められた座標を元に、新規登録マーカー情報の座標を更新し、トラッキング対象として登録を行う。マーカー情報管理部507で実行する処理の詳細は後述する。
 CPU520は、マーカー情報管理部507の処理の状況を監視しており、現フレームの処理(登録済み全マーカー情報の更新)が完了すると、現フレームと同じタイムスタンプを持つ、映像符号化データとマーカー情報符号化データとを一纏まりにして、マルチプレクサ504に出力する。但し、この際にも、前述の符号化順になるように、出力順番を制御する必要がある。
 マルチプレクサ504は、同期のとれたマーカー情報符号化データと映像符号化データを受け取ると、パッキングして、符号送信部503に出力する。符号送信部503は、マルチプレクサ504から符号化データを受け取ると、管理サーバー200の外部に符号化データ通信パケットを出力する(例えば、前述した作業端末103と指示装置108に向けて出力する)。
 以上が、管理サーバー200で実施される処理の全体像である。
<処理フロー例>
 続いて、作業端末103、指示装置108、及び管理サーバー200におけるそれぞれの処理の流れについて図13から図15までを参照しながら詳細に説明する。
 作業端末103の処理フロー
 はじめに、作業端末103における処理の流れについて、図13と図3とを参照しながら説明する。
 [作業端末103 第1の機能部に対応する処理]
(ステップS100:開始)
 作業端末103は、処理が開始されるとステップS101と、S110と、S120と、を平行して起動する。なお、作業端末103のCPU320が、全体の処理フローを制御する。
(ステップS101:撮影処理)
 作業端末103は、キャプチャ部307を通して、作業対象となる被写体を撮影する。キャプチャ部307は、撮影映像を映像エンコード部305に出力する。CPU320は、その後、処理をステップS102に進める。
(ステップS102:映像符号化処理)
 映像エンコード部305は、キャプチャ部307から映像を入力すると、動画像に適した符号化処理を行い、元の信号よりもその量が小さくなるように圧縮する。映像エンコード部305は、圧縮した映像符号にタイムスタンプを付加して映像符号化データを作成し、映像符号送信部301に出力する。CPU320は、その後、処理をステップS103に進める。
(ステップS103:送信処理)
 映像符号送信部301は、映像エンコード部305から映像符号化データを受け取ると、前述したような通信に必要な情報を付加して、作業端末103の外部に出力する。CPU320は、その後、処理をステップS104に進める。
(ステップS104:終了判定処理)
 CPU320は、作業端末103全体を終了するか否かを判断し、処理を継続させる場合は、開始直後のステップS101以降の処理を繰り返し実行させる。CPU320は、処理を終了させる場合には、他の処理部に対して終了させる処理を行い、作業端末103における処理を終了させる。
 [作業端末103 第2の機能部に対応する処理]
(ステップS110:符号受信処理)
 作業端末103は、外部から符号化データ通信パケットを受信すると、符号受信部303に取り込む。符号受信部303は、符号化データ通信パケットを入力すると、その中から符号化データを抽出し、デマルチプレクサ304に出力する。CPU320は、その後、処理をステップS111に進める。
(ステップS111:分割処理)
 デマルチプレクサ304は、符号受信部303から符号化データを入力すると、その中からマーカー情報符号化データと映像符号化データとを分割して、それぞれ、マーカー情報符号化データをCPU320に出力し、映像符号化データを映像デコード部306に出力する。CPU320は、その後、処理をステップS112に進める。
(ステップS112:マーカー判定処理)
 CPU320は、デマルチプレクサ304からマーカー情報符号化データを受け取ると、その中に、マーカー情報が存在するか否かを判断する(マーカー数から判断)。CPU320は、マーカー情報符号化データの中に、マーカー情報が存在しないと判断した場合には、処理をステップS114に進める。マーカーが存在すると判断した場合には、処理をステップS113に進める。
(ステップS113:マーカー復号処理)
 CPU320は、マーカー情報符号化データを解析して、複数のマーカーを復号する処理を行う。その結果をメモリ311に出力する。その後、処理をステップS114に進める。
(ステップS114:映像復号処理)
 映像デコード部306は、デマルチプレクサ304から映像符号化データを受け取ると、タイムスタンプと映像符号に分割を行い、映像符号に関しては前述の復号処理を実施する。映像デコード部306は、復号した映像フレームを前述の通り、撮影順に並べ替え、結果をメモリ311に出力する。映像デコード部306は、同時に、タイムスタンプをタイムスタンプ管理部308にも出力する。CPU320は、その後、処理をステップS115に進める。
(ステップS115:同期処理)
 タイムスタンプ管理部308は、映像デコード部306からタイムスタンプを入力すると、メモリ311に蓄積されたマーカー情報のタイムスタンプを参照して、対応するマーカー情報を抽出する。CPUは、映像フレームのタイムスタンプとそれに対応するマーカー情報とを合成して、表示部309に出力する。制御CPUは、その後処理をステップS116に進める。
(ステップS116:表示処理)
 表示部309は、合成された映像を受け取ると、それを画面に表示する。制御CPUは、その後処理をステップS117に進める。
(ステップS117:終了判定処理)
 CPU320は、作業端末103全体を終了するか否かを判断し、処理を継続させる場合は、開始直後のステップS110以降の処理を繰り返し実行させる。CPU320は、処理を終了させる場合には、他の処理部に対して終了させる処理を行い、作業端末103における処理を終了させる。
[作業端末103 第3の機能部に対応する処理]
(ステップS120:タッチ入力判定処理)
 タッチ入力部310は、表示装置のタッチの状態を常に監視して、タッチ入力がある場合には、CPU320は、処理をステップS121に進める。それ以外の場合には、処理をステップS124に進める。
(ステップS121:マーカー情報生成処理)
 CPU320は、タッチ入力部310からタッチ入力があったことの通知を受けると、その座標を取得して、マーカー情報を生成する。CPU320は、その後処理をステップS122に進める。
(ステップS122:マーカー符号化処理)
 CPU320は、マーカー情報を符号化し、マーカー符号送信部302に出力する。その後、処理をステップS123に進める。
(ステップS123:マーカー送信処理)
 マーカー符号送信部302は、符号化されたマーカー情報符号化データを受け取ると、図10に示したようなパケット信号を生成し、作業端末103の外部に出力する。CPU320は、その後、処理をステップS124に進める。
(ステップS124:終了判定処理)
 CPU320は、作業端末103全体を終了するか否かを判断し、処理を継続させる場合は、開始直後のステップS120以降の処理を繰り返し実行させる。CPU320は、処理を終了させる場合には、他の処理部に対して終了させる処理を行い、作業端末103における処理を終了させる。
 指示装置108 処理フロー 
 次に、指示装置108の処理の流れについて図14と図4を参照しながら説明する。指示装置108は、前述の通り、作業端末103の3つの機能部から、第1の機能部を除いたものと同等である。従って、ここでは、両者の対応関係のみ簡略に記述する。
 [指示装置108 第1の機能部]
 指示装置108の第1の機能部は、作業端末103の第2の機能部に対応している。従って、各ステップの対応関係は以下の通りである。
 ステップS210はステップS110と、ステップS211はステップS111と、ステップS212はステップS112と、ステップS213はステップS113と、ステップS214はステップS114と、ステップS215はステップS115と、ステップS216はステップS116と、ステップS217はステップS117と、それぞれ対応している。なお、処理部の対応関係については前述の通りである。
 [指示装置108 第2の機能部]
 指示装置108の第2の機能は、作業端末103の第3の機能に対応している。従って、各ステップの対応関係は以下の通りである。
 ステップS220はステップS120と、ステップS221はステップS121と、ステップS222はステップS122と、ステップS223はステップS123と、ステップS224はステップS124と、それぞれ対応している。なお、処理部との対応関係については前述の通りである。
 管理サーバー200 処理フロー 
 最後に、管理サーバー200の処理について図15と図5とを参照しながら説明する。
(ステップS300:開始)
 管理サーバー200は、処理が開始されるとステップS301と、S311とを同時に起動する。なお、管理サーバー200の内部にはCPU520があり、全体の処理フローを制御する。
 [管理サーバー200 第1の機能部]
(ステップS301:映像符号受信処理)
 管理サーバー200は、外部から映像符号通信パケットを受信すると、映像符号受信部501に取りこむ。映像符号受信部501は、映像符号通信パケットから映像符号化データを取り出し、映像デコード部505に出力する。映像デコード部505は、映像符号化データをタイムスタンプと映像符号に分割する。CPU520は、その後、処理をステップS302とステップS306に進める。
(ステップS302:映像復号処理)
 映像デコード部505は、映像符号を復号する。映像デコード部505は、フレームの順番を撮影した時の順番に並べ替えた後に、タイムスタンプをマーカー情報管理部507に、現フレームの撮影映像とタイムスタンプをメモリ508に出力する。CPU520は、その後、処理をステップS303に進める。
(ステップS303:登録マーカー判定処理)
 マーカー情報管理部507は、映像デコード部505から現フレームのタイムスタンプを受け取ると、メモリ508に登録されたマーカー情報が存在するか否かを判断して、存在する場合には、処理をS304に進める。存在しないと判断した場合、処理をステップS307に進める。
(ステップS304:追跡処理)
 マーカー情報管理部507は、タイムスタンプに対応する映像フレームをメモリ508から抽出をする。同時に、数フレーム前の過去のフレーム、例えば1フレーム前の映像データも抽出する。マーカー情報管理部507は、現フレームの映像フレームと過去の映像フレームとを用いて、登録されているマーカー情報の座標の更新を実施する。全ての更新が完了すると、CPU520は、その後、処理をステップS305に進める。
(ステップS305:符号化処理)
 CPU520は、マーカー情報管理部507の状態を監視していて、全てのマーカー情報の更新が完了すると、マーカー情報を符号化して、処理をステップS307に進める。
(ステップS306:蓄積処理)
 メモリ508は、映像デコード部505から映像符号を受け取ると、所定の場所にそれらの情報を記録する。CPU520は、その後、処理をステップS307に進める。
(ステップS307:同期処理)
 CPU520は、符号化の順番に、映像符号とタイムスタンプと、それに対応するマーカー情報符号化データとを抽出し、映像符号に関しては、タイムスタンプと結合させ、映像符号化データを生成した後に、それらをマルチプレクサ504に出力する。CPU520は、その後、処理をステップS308に進める。
(ステップS308:パッキング処理)
 マルチプレクサ504は、CPU520から映像符号化データとマーカー情報符号化データを受け取ると、マーカー情報符号サイズを算出して、それらを一つの符号化データとしてパッキングする。CPU520は、その後処理をステップS309に進める。
(ステップS309:送信処理)
 符号送信部503は、マルチプレクサ504から符号化データを受け取ると、図11に示したように符号化データ通信パケットを生成して、管理サーバー200の外部に出力する。CPU520は、その後、処理をステップS310に進める。
(ステップS310:終了判定処理)
 CPU520は、管理サーバー200全体を終了するか否かを判断し、処理を継続させる場合は、開始直後のステップS301以降の処理を繰り返し実行させる。CPU520は、処理を終了させる場合には、他の処理部に対して終了させる処理を行い、管理サーバー200における処理を終了させる。
 [管理サーバー200 第2の機能部]
(ステップS311:マーカー符号受信処理)
 管理サーバー200は、外部からマーカー情報符号通信パケットを受信すると、マーカー符号受信部502にそのパケットを取り込む。マーカー符号受信部502は、受信したマーカー情報符号通信パケットからマーカー情報符号化データを取り出し、CPU520に出力する。その後、処理をステップS312に進める。外部からマーカー情報符号通信パケットが送られてこない間は、処理をステップS316に進めて待機状態を維持する。
(ステップS312:復号処理)
 CPU520は、マーカー符号受信部502からマーカー情報符号化データを受け取ると、個々のマーカーを分離して復号する。その結果を、メモリ508の所定の場所に記録させる。同時に、CPU520は、新規に追加されたマーカーが存在することをマーカー情報管理部507に通知する。CPU520は、その後、処理をステップS313に進める。
(ステップS313:追跡処理)
 マーカー情報管理部507は、CPU520から新規マーカーの通知を受け取ると、マーカーの設定されたタイムスタンプに対応する過去の映像フレームとその次のフレームの映像フレームとをメモリ508から抽出し、マーカーの位置の追跡処理を開始する。マーカー情報管理部507は、次のフレームにおける、タイムスタンプと座標を算出し、メモリ508に記録されているマーカー情報を更新する。CPU520は、その後、処理をステップS314に進める。
(ステップS314:現フレーム判定処理)
 マーカー情報管理部507は、新たに登録されたマーカーのタイムスタンプが、管理サーバー200の第1の機能部における、現フレームにあたるタイムスタンプまで、処理が追いついたかを判断する。マーカー情報管理部507は、現フレームまで処理が追い付いていない場合、ステップS313に戻って処理を続ける。マーカー情報管理部507は、現フレームまで処理が追いついたと判断した場合、処理をステップS315に進める。
(ステップS315:登録処理)
 マーカー情報管理部507は、新たに追加されたマーカーを登録情報として、メモリ508のマーカー情報を更新する。CPU520は、その後、処理をステップS316に進める。
(ステップS316:終了判定処理)
 CPU520は、管理サーバー200全体を終了するか否かを判断し、処理を継続させる場合は、開始直後のステップS311以降の処理を繰り返し実行させる。CPU520は、処理を終了させる場合には、他の処理部に対して終了させる処理を行い、管理サーバー200における処理を終了させる。
 続いて、本実施の形態の特徴である管理サーバー200内のマーカー情報管理部507について、図16及び図17を参照しながら詳細に説明する。
 マーカー情報管理部507は、図16に示すように、大きく分けて、コントロール部1600と、フレーム間追跡処理ブロック1601と、登録処理ブロック1605と、から構成される。そして、フレーム間追跡処理ブロック1601は、画像追跡部(1)1602と、マーカー追跡部(1)1603とから、登録処理ブロック1605は、画像追跡部(2)1606と、マーカー追跡部(2)1607とから構成される。前述したように、マーカー情報管理部507は、現フレームの映像フレームと、それよりも1フレーム前の映像フレームとを用いて、登録済みマーカーの現フレームに対する座標を算出して、メモリ508のマーカー情報を更新する処理を行っている。その処理は、フレーム間追跡処理ブロック1601で行われる。具体的には、以下の通りである。
 映像デコード部505は、復号処理の完了と共に、並べ替えられた映像フレームのタイムスタンプをマーカー情報管理部507内のコントロール部1600に出力する。コントロール部1600は、映像デコード部505から、完了通知とタイムスタンプを受け取ると、フレーム間追跡処理を開始する。コントロール部1600は、初めに、画像追跡部(1)1602に、入力したタイムスタンプを出力し、画像追跡部(1)1602は、それに対応するフレーム(i)とその一つ前のフレーム(i-1)をメモリ508から抽出する。画像追跡部(1)1602は、フレーム(i)とフレーム(i-1)の映像フレームとを用いて、以下の様に画像追跡処理を行う。
 まず、画像追跡部(1)1602は、(i-1)フレームに対して、特徴的な点(「特徴点」と称する。例えば、画像内の2つ以上のエッジが交わったコーナー等である。)を検出する。ここでは、検出された複数の特徴点をFPi-1(l)、l=1、…、nとすると、添え字のi-1はフレーム番号を、カッコ内の1はそれぞれの特徴点を示す変数である。特徴点検出には、さまざまな手法が存在しており、コンピュータビジョンのAPI群であるOpenCV(Open Source Computer Vision Library、オープンソースのコンピュータビジョン向けのライブラリ)にも、複数の関数が複数用意されている。本実施形態でも、その中の手法を用いることが可能で、例えば、関数cvGoodFeaturesToTrackを用いて、特徴点を検出することができる。この関数を用いることで、画像内の鮮明なコーナーを特徴点として検出することができる。
 次に、算出したフレーム(i-1)の特徴点FPi-1から、フレーム(i)の対応する位置を求める必要があり、この方法について説明する。ここで、各フレームの時間間隔が十分短いとすると、撮影された物体の移動量は小さくなる。このことを利用し、元の特徴点の位置を基点に、比較的狭い範囲のみを探索することで、その対応点を求めることができる。例えば、前述のOpenCVにある、cvCalcOpticalFlowLKという関数を用いて、次のフレームの対応する位置を算出することができる。この関数は、Lucas-Kanade のアルゴリズムを用いており、次のフレームにおける対応する画素の位置を求める方法の一つである。
 以上、(i-1)番目のフレームにおいて抽出した特徴点の位置と、それに対応する(i)番目のフレームの点の位置を求めることができる。続いて、この対応関係を用いて、画像全体の変換を行う。つまり、フレーム間の特徴点の位置の変化を、画像全体の変換と捉えて表現するものである。より具体的には、以下の変換式(式1)を用いる。
 この変換式によって、(i-1)番目の映像フレームの画素(m、n)を(i)番目のフレームの(m’,n’)に変換することができるようになる。
Figure JPOXMLDOC01-appb-M000001
 この変換式(式1)におけるHは、3×3の行列で、ホモグラフィ行列と呼ばれている。ホモグラフィ行列とは、2枚の画像を射影変換することができる行列であり、前述の仮定(撮影間隔が十分短ければ、物体の移動量は小さい)の下で、連続するフレーム間の画像の変化を近似する。
Figure JPOXMLDOC01-appb-M000002
 いま、ホモグラフィ行列の各要素を上記(式2)のように定義すると、連続するフレーム間の特徴点の対応関係の下で、(式1)による座標変換誤差を最小にするように3×3の各要素の値を求める。具体的には、次式(式3)を最小にするように各要素を計算すればよい。
Figure JPOXMLDOC01-appb-M000003
 ここで、argmin(・)は、括弧内を最小にするargminの下部にあるパラメータを算出する関数である。また、(mi-1(l)、ni―1(l))は、(i-1)番目のフレームの特徴点の座標(FPi―1(l))を、(m(l)、n(l))は、それに対応する(i)番目のフレームの特徴点の座標(FP(l))をそれぞれ示している。
 以上、画像追跡部(1)1602において、1フレーム前の映像内の座標から、現フレームの対応する座標に変換する、行列とその変換式を求めることができる。
 続いて、マーカー追跡部(1)1603では、前述したホモグラフィ変換行列(式2)と変換式(式1)を用いて、メモリ508に登録されている全てのマーカーに対して座標の変換を行い、メモリ508内の情報を更新する処理を行う。
 すなわち、マーカー追跡部(1)1603は、メモリ508の中から登録されているマーカー情報を抽出し、以下の様に座標の変換を実施する。ここで、抽出したマーカー情報内の座標をMI_posi(j),j=1,・・・、pとし、変換後の座標位置をMI’_posiとする。
Figure JPOXMLDOC01-appb-M000004
 さらに、マーカー追跡部(1)1603は、メモリ508に登録されているマーカー情報の中の登録時周辺局所画像(前述の作業端末103、あるいは、指示装置108において、マーカー情報を設定する際に、設定するマーカーの周辺画像(例えば、マーカーの座標を中心に15×15画素)を切り出して属性情報の一つとして含めたものである)を用いて、前述の変換によって求めた座標位置の周辺で、さらに、よりマッチングの取れる位置を探索することもできる。これにより、追跡の精度をより高めることが可能となる。マッチングの処理には、画像処理のテンプレートマッチングの手法を用いることが可能で、以下のように実施する。
 いま、登録されているマーカー情報の登録周辺局所画像が、C(i、j)、0<i,j<Mであり、Mが局所画像のサイズを示すパラメータで、例えば15画素とする。一方、前述の座標変換で求められた座標を(p、q)とし、現フレームの映像フレームの画素値をI(x、y)とすると、テンプレートマッチングは以下の式によって求めることができる。
Figure JPOXMLDOC01-appb-M000005
 ここで、argmin(・)は前述と同じ関数で、(p’、q’)は、(p、q)を中心とした、所定の範囲のみを探索する条件を持たせた画素とする。例えば、所定の探索範囲とは30画素の範囲とすることができる。以上、より精度高く、対応する(i)フレームにおけるマーカー情報の画素位置を算出することができる。
 なお、既に、登録時から(i-1)フレームまで逐次更新が実施されているため、上記現フレーム(i)に対する更新((i-1)から(i)フレームへの更新)によって、メモリ508に登録されているマーカー情報が現フレームに対応した座標になる。
 以上により、マーカー追跡部(1)1603は、メモリ508に登録されているマーカー情報の座標を現フレームに対応した座標に更新することができる。コントロール部1600は、フレーム間追跡処理の完了をCPUに通知する。
 続いて、マーカー情報管理部507のもう一方の機能である、新規マーカーの登録処理について説明する。
 コントロール部1600は、新規に登録するマーカー情報についてCPUから通知を受けると、以下の登録処理を開始する。ここで、登録処理ブロック1605は、フレーム間追跡処理ブロック1601とは非同期に動作をして、新規マーカー情報を登録するための処理を行っている。具体的には、登録しようとするマーカーのタイムスタンプを取得し、それに対応するタイムスタンプの画像とその1フレーム後の画像とを用いて、1フレーム後の座標を算出して更新を行う。この処理を、現フレームになるまで処理を繰り返して、最終的に現フレームの座標を算出し、更新を行うと共に、フレーム間追跡処理ブロック1601の追跡対象として登録する。なお、登録処理ブロック1605の画像追跡部(2)1606とマーカー追跡部(2)1607は、それぞれ、前述の画像追跡部(1)1602とマーカー追跡部(1)1603と同じ処理を行うが、フレーム間追跡処理ブロック1601では復号された現フレームと過去1フレームに対する処理を行うが、登録処理ブロック1605では設定時のタイムスタンプから現フレームのタイムスタンプまで、非同期に連続して追跡処理が実施される点が異なっている。
 次に、登録処理ブロック1605において、追跡処理を繰り返すフレーム数(時間)について、図17を用いて説明する。図17の左端が、実際の時間である実時間1700を示している。作業端末103に関する時間は作業端末(w)1701の列に、管理サーバー200に関する時間は管理サーバー(s)1702の列に、指示装置108に関する時間は指示装置(o)1703の列に、それぞれ記載している。作業端末103における撮影時刻は、実時間1700と一致するものとして、作業端末(w)1701、管理サーバー(s)1702、指示装置(o)1703の列に記載した、t0、・・・、tnは、対応する実時間のときに撮影されたフレーム画像であることを示している。つまり、1701、1702、1703の列に記載したt0は、実時間t0のときに撮影された映像フレームのことを示している。
 前述したとおり、作業端末103で撮影された撮影映像は一旦、管理サーバー200に送られる。この時、作業端末103と管理サーバー200において、映像の符号化・復号処理、通信の遅延時間などが発生し、管理サーバー200が映像フレームを扱えるようになるまでに、遅延(di_s1704)が起こる。さらに、この映像フレームに対して、管理サーバー200は、前述のフレーム間追跡処理を行い、マーカー情報と映像フレームとの同期を行ったうえで、作業端末103と指示装置108に向けて、映像とマーカー情報を送る。この時に掛る遅延(通信による遅延も含める)と、作業端末103と指示装置108がそれらを受け取って画面に表示できるまでの遅延も加算され、最終的に、その遅延量はdi_w1705と、di_o1706になる(作業端末と指示装置の通信経路の違いや復号処理の処理時間の違いによって、遅延量はそれぞれ異なる)。つまり、作業端末103で撮影してから、作業端末103や指示装置108の画面に表示するまでに、それぞれ以下の遅延が発生することとなる(式6)。
Figure JPOXMLDOC01-appb-M000006
 ここで、delay_wは、作業端末103の画面に表示するまでの遅延時間、delay_oは、指示装置108の画面に表示するまでの遅延時間を表している。さらに、作業者あるいは指示者が、その画面を見てマーカーを設定したとすると、そのマーカー情報がサーバーに送られて、追跡処理に使えるようになるまでに(マーカー情報の符号化処理時間及び通信時間を含む)、それぞれ遅延dm_w1707とdm_o1708がさらに追加される。
 以上、管理サーバー200で撮影映像を受け取ってから、その時刻に対応したマーカー情報を受け取るまでの遅延量(作業端末103経由だとdelaym_w1709、指示装置1730経由だとdelaym_o1710)は、以下の通りである(式7)。
Figure JPOXMLDOC01-appb-M000007
 すなわち、作業端末103、あるいは、指示装置108において、マーカーを設定してから、管理サーバー200でそれらを受け取るまでに、(式7)に示した遅延が発生することになる。また、管理サーバー200では、マーカーを設定するという情報を受け取った後、前述のマーカー情報管理部507の登録処理ブロック1605における登録処理において、現フレームまで逐次追跡の更新を行う必要があり、そのための遅延も発生する。この時の遅延量をtp(ミリ秒)とすると、最大の遅延時間は最終的に以下の様になる。
Figure JPOXMLDOC01-appb-M000008
 いま、映像のフレームレート(f)(フレーム毎秒)を、例えば15fpsとすると、最低限遡る必要がある参照画像枚数Nを求めることができ、それは以下の様になる。
Figure JPOXMLDOC01-appb-M000009
 従って、メモリ508には、最低限(式9)で算出した枚数分映像フレームを蓄積できる容量が必要となる。実際には、通信環境により、遅延時間を厳密に予測することが困難であるため、余裕を持たせた容量の確保が必要となる。
 以上、本実施形態によるシステムによって、管理サーバー200を介して、遠隔地にある作業端末103と指示装置108との間で、マーカー情報と撮影映像とを同期して、共有することができるようになる。また、上述したとおり、映像フレームとマーカー情報が、同一の通信パケットの中に、単にパッキングされた情報として扱われているため、作業端末103や指示装置108において、マーカー情報を撮影映像に合成して表示したり、あるいは、マーカー情報を撮影映像に表示させなかったり、装置ごとに、独立して制御することも可能になる。また、各利用者端末でマーカーを加工・制御できるようにしたテレコミュニケーションシステムを提供することができる。
(第2の実施の形態)
 次に、本発明の第2の実施形態について説明する。第1の実施形態では、マーカー管理サーバー200に備わるメモリ508において、新規に追加されたマーカー情報のタイムスタンプに対応する時刻まで遡った映像フレームから、現フレームに至る映像フレームを保持しておく必要があった。
 ネットワーク環境によっては、マーカー管理サーバー200と、作業端末103あるいは指示装置108と、の間の伝送遅延時間が変動する場合がある。そのことを考慮すると、メモリ508のサイズに余裕を持たせることが必要となり、(式9)に示した映像フレーム数よりも多くの画像を保持しておく必要がある。その結果、メモリ508のサイズが肥大化する傾向がある。
 また、ネットワークによる遅延とは別に、作業端末103、あるいは、指示装置108において、動きの速い映像の場合、目的の位置にマーカーを設定することが困難になる。パーンやズームなどの動きを伴いながら撮影をした場合に発生することがある。このような場合には、映像を一定時間止めたり、あるいは、通常よりもゆっくり再生(スロー再生)しながら、マーカーを設置した方が、より正確に設定することが可能になる。実際の作業の現場では、カメラの動きに気をつけながら撮影することが難しいため、各端末側で、映像を一時停止、あるいは、通常よりも遅い速度で再生する機能が必要となる。この場合も、やはり、その遅延処理時間分に対応するメモリが必要となる。
 本実施形態では、ネットワーク環境、あるいは、作業端末103、指示装置108において、表示する撮影映像を、マーカー設定時に一時停止させる、あるいは、通常よりも遅い速度で再生させた場合であっても、管理サーバー200に備わるメモリ508の大きさを、第1の実施形態に比べ、削減することができる方法である。
 以下、第1の実施形態と異なる部分について説明する。第1の実施形態の管理サーバー200内のマーカー情報管理部507(図16参照)では、登録処理ブロック1605において、新規に登録するマーカー情報のタイムスタンプの時刻に遡って、対応するフレーム映像を参照する必要がある。これは、登録時のマーカーの座標を、順次、現フレームになるまで座標変換を行う処理に対して、各フレームの映像フレームを用いる必要があるためである。
 そこで、本実施形態では、登録処理ブロック1605において、前述した、画像追跡部(2)1606において生成する3×3のホモグラフィ行列のみを参照することとする。つまり、メモリ508には、参照する画像フレームの代わりに、3×3のホモグラフィ行列を保持しておき、画像追跡部(2)1606において、そのホモグラフィ行列を参照し、登録するマーカー情報のタイムスタンプに対応するフレームから順次、現フレームに対応するフレームへの座標の変換を実施することとする。残りのマーカー追跡部(2)1607の処理は、第1の実施形態と同じで良い。つまり、メモリ508には、遡り参照する可能性のある映像フレームから現フレームまで、蓄積しておくのではなく、画像追跡部(2)1606が算出する3×3の行列のみを保持する。これにより、メモリ508に蓄積するデータ量を大幅に削減することができる。
 ところが、画像追跡部(2)1606における処理は、前述の通り、マーカーの新規登録時のみ動作する処理ブロックである。そのため、遡って参照するホモグラフィ行列を毎フレーム生成することができない。そこで、本実施形態では、フレーム間追跡処理ブロック1601にある、画像追跡部(1)1602において算出されるホモグラフィ行列を利用することとし、メモリ508にタイムスタンプとともに蓄積する。また、その際に、映像デコード部505から、メモリ508に蓄積していた、復号後の映像フレームは、現フレームと一つ前の映像フレームのみを順次更新して保存すれば良い。但し、同時に保存している映像符号に関しては、前述の通り、符号化順序が映像再生順序と異なるため、その並べ替えのため、必要なフレーム分保持しておく必要がある。
 以上、本実施形態に対応するマーカー情報管理部1800について図18に示す。図16のマーカー情報管理部507との相違点は、画像追跡部(1)1602からメモリ508に向けて、ホモグラフィ行列1801を出力している点と、メモリ508から画像追跡部(2)1606に向けて、(i)フレームと(i-1)のホモグラフィ行列1802を入力している点である。
 以上、本実施形態によれば、遡ることができる時間が同一であれば、第1の実施形態に比べ、管理サーバー200の内部に備わるメモリ容量を削減させることが可能になる。あるいは、第1の実施例と同一のメモリ容量であれば、より多く遡って参照することが可能になる。
(第3の実施の形態)
 上記、第1から第2の実施の形態では、管理サーバー200において、登録されている全てのマーカーに対して、フレーム間追跡処理により座標の更新を行い、結果を映像と同期をとり符号化データ通信パケットとして、作業端末103と指示装置108に送信している。ところが、マーカー情報の位置によっては、撮影映像の動きに伴いフレームの枠の外にはみ出すものが存在する。図19は、そのときの様子を示した図である。
 符号1800のフレームでは、対象物とマーカーが写っているが、カメラの動きに応じて、徐々に右側(1801、1802)に移っていく様子を示している。符号1802のところにきた状態では、マーカー1803は画面の外側にはみ出て、表示されないことになる。この場合、マーカー情報を作業端末103や、指示装置108に送ることは無駄であり、特に、作業対象の表示範囲が広く(例えば、対象物をズームしたり、対象物そのものが大きく、一つのフレームに収まらない場合など)、沢山のマーカーを設定している場合においては、処理が重くなるといった問題が発生する。そこで、本実施の形態では、管理サーバー200において、表示するエリアの外部にマーカー情報が外れた場合に、それらのマーカー情報を送信しない制御を行うことにより、上記問題を回避する。
 前述の実施形態との相違点は、CPUにおいて、マーカー情報符号化データを生成するところである。このときの、処理フローチャートを図22に示す。図22に対応するフローチャートは図15であり、図15との相違点は、図22では、追跡処理S304と符号化処理S305との間に、範囲外判定S304bのステップが入っていることである。つまり、以下の通りである。それ以外の前後の処理の説明は省略する。
(ステップS304)
 マーカー情報管理部507は、タイムスタンプに対応する映像フレームをメモリ508から抽出をする。同時に、数フレーム前の過去のフレーム、例えば1フレーム前の映像データも抽出する。マーカー情報管理部507は、現フレームの映像フレームと過去の映像フレームとを用いて、登録されているマーカー情報の座標の更新を実施する。全ての更新が完了すると、CPU520は、その後、処理をステップS304bに進める。
(ステップS304b)
 CPU520は、マーカー情報管理部507の状態を監視していて、全てのマーカー情報の更新が完了すると、更新された座標位置から映像の範囲外になっているマーカー情報を抽出し、それらを送信不要マーカー情報として除外し、ステップS305に進める。
(ステップS305)
 CPU520は、マーカー情報管理部507の状態を監視していて、送信不要マーカー情報以外の全てのマーカー情報を符号化して、処理をステップS307に進める。
 以上、本実施の形態によれば、管理サーバー108において、作業端末103、あるいは、指示装置108で表示する映像の範囲外となるマーカー情報を送信しなくて良くなり、作業端末103や、指示装置108の、処理負荷を抑制することができる。
 (第4の実施の形態)
 本実施の形態は、管理サーバー200において、マーカー情報の追跡ができなくなったときの対応に関する。管理サーバー200では、前述の通り、登録されたマーカー情報を毎フレーム追跡する処理を行っている。
 しかしながら、撮影映像の状態によっては、うまくトラッキングが機能しない場合がある。例えば、映像の動きが早く、動きボケが生じた場合などである。この場合、マーカー情報に含まれる周辺局所画像を用いて、映像の動きが少なくなったときに、トラッキング位置を回復することが可能である。しかしながら、一時的には、追跡ができない状況が発生する。
 そこで、マーカー情報の属性の1つとして、追跡不定フラグ2000という項目を設ける(図20参照)。作業端末103と指示装置108は、この追跡不定フラグ2000が設定されていることを検知すると、画面内にそのことを注意する情報を表示する。例えば、図21が、そのときに表示された注意情報の例を示す図である。
 以上、本実施の形態によると、管理サーバー200において、マーカーをうまく追跡できなかった場合に、作業端末103と指示装置108において、そのことを表示することによって、利用者に注意を促すことができる。
(第5の実施の形態)
 本実施の形態では、作業端末103あるいは、指示装置108において、過去に表示した映像フレームを保持するためのメモリをさらに用意し、管理サーバー200から送られてくる映像に対して、モザイキング処理(パノラマ生成処理)を行う。これにより、作業端末103、あるいは、指示装置108において、現フレームの映像の周囲に過去フレームを張り付けて拡張した映像を表示することができるようになる。
 但し、この場合、現フレームに対応する領域は動いている映像となり、それ以外の拡張した領域は静止画となる。遠隔地にいる指示者は、送られてくる映像と音声のみで現場の様子を判断する必要があるため、前述の実施形態に比べて、映像内のどこにマーカーを設定するかの判断を行いやすくなるという利点がある。
 モザイキング処理には、一般的な映像処理の手法を用いることが可能で、例えば、現フレームの映像の中から特徴となる点(特徴点。特徴点の抽出には、前述した方法を用いることができる。)を複数抽出し、その特徴点を特定可能な情報(例えば、色や形状、あるいはエッジの傾き)で記述を行う。さらに、保持した過去の映像フレームに対しても同様に特徴点の抽出と記述を行い、対応する特徴点同士を特定しておく。この対応関係から、前述の(式3)に基づき、ホモグラフィ変換行列を算出する。ホモグラフィ変換行列が求まると、前述の(式1)によって、過去フレームの映像を現フレームの画像に重なるように変換することができ、これを現フレームの映像に重ねて表示することで、前述したような拡張した映像を表示画面に表示することができるようになる。
 以上のように、本実施の形態により、作業端末103、あるいは、指示装置108において、現フレームの映像と過去フレームの映像とを合成した映像を画面に表示することができる。指示者は、広い範囲を視認することができるようになるため、マーカー設定が容易になる。
(第6の実施の形態)
 <第1乃至第5の実施形態について>
 上記の各実施形態において、添付図面に図示されている構成等については、あくまで一例であり、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。
 上記の各実施形態の説明では、機能を実現するための各構成要素をそれぞれ異なる部位であるとして説明を行っているが、実際にこのように明確に分離して認識できる部位を有していなければならないわけではない。上記の各実施形態の機能を実現する遠隔コミュニケーション装置が、機能を実現するための各構成要素を、例えば実際にそれぞれ異なる部位を用いて構成していてもかまわないし、あるいは、全ての構成要素を一つのLSIに実装していてもかまわない。すなわち、どういう実装形態であれ、機能として各構成要素を有していれば良い。
 例えば、管理サーバの機能を指示装置側に持たせても良い。
 また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれるものである。
 また、上記の各実施形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また前記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 本発明は、テレビ会議システムに利用可能である。
(付記)
 本発明は以下の開示を含む。
(1)
 映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、
 前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、
 前記端末装置と前記指示装置とに接続され、前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置と、
を有することを特徴とするテレコミュニケーションシステム。
 マーカー情報を管理する管理装置を設け、この管理装置で同期をとるため、端末装置における負荷を抑制することができる。
(2)
 前記管理装置は、
 追加された前記第1のマーカー情報の前記第2のタイムスタンプに対応する時刻まで遡った映像フレームから、現フレームに至る映像フレームを保持するメモリを有することを(1)に記載の特徴とするテレコミュニケーションシステム。
 遡って参照する可能性のある映像フレームから現フレームまで、蓄積しておく必要がある。
(3)
 前記映像と前記第1のマーカー情報とを同期させる処理は、
 前記第1のマーカー情報を登録する際に、前記映像と同期するフレームまで前記第1のマーカーを連続して更新する第1の手段と、
 既に登録が完了し、各フレームに対して前記第1のマーカー情報を更新する第2の手段と、
を有することを特徴とする(1)に記載のテレコミュニケーションシステム。
(4)
 前記第1のマーカー情報を更新する前記第1の手段において、
 連続するフレーム間の画像を変換するためのパラメータを用いて前記第1のマーカー情報を更新することを特徴とする(3)に記載のテレコミュニケーションシステム。
(5)
 前記端末装置は、
 さらに、前記第1の表示部に入力された第2のマーカー情報に第3のタイムスタンプ情報を付加して送信する第2のマーカー情報送信部を有し、
 前記管理装置は、
 前記第1のタイムスタンプ情報と前記第3のタイムスタンプ情報とに基づいて前記映像と前記第2のマーカー情報とを同期させて前記指示装置に送信することを特徴とする(1)に記載のテレコミュニケーションシステム。
 端末装置からのマーカー情報の入力にも対応できる。
(6)
 前記管理装置は、
 前記映像の映像符号をタイムスタンプと映像符号とに分割し、前記映像符号に対しては、前記端末装置における符号化処理とは逆の復号処理を行い、元の信号に復号し、復号した撮影映像と、タイムスタンプと、復号前の映像符号と、をそれぞれ出力し、メモリに保存するとともに、前記タイムスタンプを前記マーカー情報管理部に出力することを特徴とする(1)に記載のテレコミュニケーションシステム。
(7)
 前記管理装置は、
 受信した第1のマーカー情報の符号化データを受け取り、マーカー数と各マーカー符号化サイズに基づき、それぞれのマーカーの復号処理を行い、復号したマーカー情報を、メモリに保存するとともに、新規マーカー情報として、前記マーカー情報管理部にマーカー情報を出力することを特徴とする(1)に記載のテレコミュニケーションシステム。
(8)
 前記マーカー情報管理部は、
 前記第1のタイムスタンプ情報を受け取ると、前記メモリに蓄積された、同一タイムスタンプの映像フレームと、その1フレーム前の映像フレームと、を用いて、すでに登録されているマーカーの現フレームにおける座標を算出し、前記メモリに保存してあるマーカー情報の座標を更新する処理を行い、
 新規に登録するマーカー情報を受け取ると、マーカー情報の中に含まれるタイムスタンプを参照して、メモリに蓄積された対応する過去の映像フレームから現フレームまでの映像フレーム(画像群)を用いて、現フレームに対応するマーカーの座標を算出し、求めた座標を元に、新規登録マーカー情報の座標を更新し、トラッキング対象として登録し、
 現フレームの処理(登録済み全マーカー情報の更新)が完了すると、現フレームと同じタイムスタンプを持つ、映像符号化データとマーカー情報符号化データとを一纏まりにして、出力する処理を促し、
 同期のとれたマーカー情報符号化データと映像符号化データを受け取ると、パッキングして符号化データ通信パケットを出力することを特徴とする(7)に記載のテレコミュニケーションシステム。
(9)(第2)
 前記マーカー情報を前記メモリに登録する処理において、前記メモリに、参照する映像フレームを保持しておく代わりに、3×3のホモグラフィ行列を保持し、前記ホモグラフィ行列を参照し、登録時するマーカー情報のタイムスタンプに対応するフレームから順次、現フレームに対応するフレームへの座標の変換を実施することを特徴とする(2)に記載のテレコミュニケーションシステム。
 管理装置の内部に備わるメモリ容量を大きくさせることなく、端末装置あるいは指示装置において、映像を一時停止させて、あるいは、通常よりも遅い速度で再生させながら、マーカーを設定できる機能を実現させることができる。
(10)(第3)
 前記管理装置は、表示するエリアの外部に前記第1のマーカー情報が外れた場合には、当該マーカー情報を送信しない制御を行うことを特徴とする(1)に記載のテレコミュニケーションシステム。
 端末装置や指示装置の処理負荷を抑制することができる。
(11)(第4)
 前記第1のマーカー情報の属性の一つとして、追跡不定フラグを設け、前記端末装置と前記指示装置は、前記追跡不定フラグが設定されていることを検知すると、表示画面内にそのことを注意する情報を表示することを特徴とする(1)に記載のテレコミュニケーションシステム。
 マーカーをうまく追跡できなかった場合に、端末装置と指示装置において、そのことを表示することによって、利用者に注意を促すことができる。
(12)(第5)
 前記端末装置又は前記指示装置の少なくともいずれかにおいて、
 過去に表示した映像フレームを保持するためのメモリをさらに設け、
 前記管理装置から送られてくる映像に対して、モザイキング処理(パノラマ生成処理)を行うことを特徴とする(1)に記載のテレコミュニケーションシステム。
 これにより、端末装置あるいは指示装置において、現フレームの映像の周囲に過去フレームを張り付けて拡張した映像を表示することができる。
(13)
 映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、に接続され、
 前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置。
(14)
 映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、に接続される管理装置を用いたマーカー情報の管理方法であって、
 前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取るステップと、
 前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うステップと
を有するマーカー情報の管理方法。
(15)
 コンピュータに、上記(14)に記載のマーカー情報の管理方法を実行させるためのプログラム。
A…テレコミュニケーションシステム、NT…公衆通信網(ネットワーク)、100…作業現場、101…作業者、102…作業対象、103…作業端末(端末装置、第1の表示部)、103a…カメラ、105…マーカー、106…指示室、107…指示者、108…指示装置、109…表示装置(第2の表示部)、110…映像、111…マーカー、200…管理サーバー(管理装置)、300…コントローラ、300a…表示制御部、301…映像符号送信部、302…マーカー符号送信部、303…符号受信部、304…デマルチプレクサ、305…映像エンコード部、306…映像デコード部、307…キャプチャするキャプチャ部、308…タイムスタンプ管理部、309…表示部、310…タッチ入力部、311…メモリ、320…CPU、400…コントローラ、401…マーカー符号送信部、402…符号受信部、403…デマルチプレクサ、404…映像デコード部、405…タイムスタンプ管理部、406…表示部、407…タッチ入力部、408…メモリ、420…CPU、500…コントローラ、501…映像符号受信部、502…マーカー符号受信部、503…符号送信部(マーカー、映像符号)、504…マルチプレクサ、505…映像デコード部、507…マーカー情報管理部、508…メモリ、520…CPU。
 本明細書で引用した全ての刊行物、特許及び特許出願はそのまま引用により本明細書に組み入れられるものとする。

Claims (14)

  1.  映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、
     前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、
     前記端末装置と前記指示装置とに接続され、前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置と
    を有することを特徴とするテレコミュニケーションシステム。
  2.  前記管理装置は、
     追加された前記第1のマーカー情報の前記第2のタイムスタンプ情報に対応する時刻まで遡った映像フレームから、現フレームに至る映像フレームを保持するメモリを有することを請求項1に記載の特徴とするテレコミュニケーションシステム。
  3.  前記映像と前記第1のマーカー情報とを同期させる処理は、
     前記第1のマーカー情報を登録する際に、前記映像と同期するフレームまで前記第1のマーカー情報を連続して更新する第1の手段と、
     既に登録が完了し、各フレームに対して前記第1のマーカー情報を更新する第2の手段と、
    を有することを特徴とする請求項1に記載のテレコミュニケーションシステム。
  4.  前記第1のマーカー情報を更新する前記第1の手段において、
     連続するフレーム間の画像を変換するためのパラメータを用いて前記第1のマーカー情報を更新することを特徴とする請求項3に記載のテレコミュニケーションシステム。
  5.  前記端末装置は、
     さらに、前記第1の表示部に入力された第2のマーカー情報に第3のタイムスタンプ情報を付加して送信する第2のマーカー情報送信部を有し、
     前記管理装置は、
     前記第1のタイムスタンプ情報と前記第3のタイムスタンプ情報とに基づいて前記映像と前記第2のマーカー情報とを同期させて前記指示装置に送信することを特徴とする請求項1に記載のテレコミュニケーションシステム。
  6.  前記管理装置は、
     前記映像の映像符号をタイムスタンプと映像符号とに分割し、前記映像符号に対しては、前記端末装置における符号化処理とは逆の復号処理を行い、元の信号に復号し、復号した撮影映像と、タイムスタンプと、復号前の映像符号と、をそれぞれ出力し、メモリに保存するとともに、前記タイムスタンプを前記マーカー情報管理部に出力することを特徴とする請求項1に記載のテレコミュニケーションシステム。
  7.  前記管理装置は、
     受信した第1のマーカー情報の符号化データを受け取り、マーカー数と各マーカー符号化サイズに基づき、それぞれのマーカーの復号処理を行い、復号したマーカー情報を、メモリに保存するとともに、新規マーカー情報として、前記マーカー情報管理部にマーカー情報を出力することを特徴とする請求項1に記載のテレコミュニケーションシステム。
  8.  前記マーカー情報管理部は、
     前記第1のタイムスタンプ情報を受け取ると、前記メモリに蓄積された、同一タイムスタンプの映像フレームと、その1フレーム前の映像フレームと、を用いて、すでに登録されているマーカーの現フレームにおける座標を算出し、前記メモリに保存してあるマーカー情報の座標を更新する処理を行い、
     新規に登録するマーカー情報を受け取ると、マーカー情報の中に含まれるタイムスタンプを参照して、メモリに蓄積された対応する過去の映像フレームから現フレームまでの映像フレーム(画像群)を用いて、現フレームに対応するマーカーの座標を算出し、求めた座標を元に、新規登録マーカー情報の座標を更新し、トラッキング対象として登録し、
     現フレームの登録済み全マーカー情報の更新処理が完了すると、現フレームと同じタイムスタンプを持つ、映像符号化データとマーカー情報符号化データとを一纏まりにして、出力する処理を促し、
     同期のとれたマーカー情報符号化データと映像符号化データを受け取ると、パッキングして符号化データ通信パケットを出力することを特徴とする請求項7に記載のテレコミュニケーションシステム。
  9.  前記マーカー情報を前記メモリに登録する処理において、前記メモリに、参照する映像フレームを保持しておく代わりに、3×3のホモグラフィ行列を保持し、前記ホモグラフィ行列を参照し、登録時するマーカー情報のタイムスタンプに対応するフレームから順次、現フレームに対応するフレームへの座標の変換を実施することを特徴とする請求項2に記載のテレコミュニケーションシステム。
  10.  前記管理装置は、表示するエリアの外部に前記第1のマーカー情報が外れた場合には、当該マーカー情報を送信しない制御を行うことを特徴とする請求項1に記載のテレコミュニケーションシステム。
  11.  前記第1のマーカー情報の属性の一つとして、追跡不定フラグを設け、前記端末装置と前記指示装置は、前記追跡不定フラグが設定されていることを検知すると、表示画面内にそのことを注意する情報を表示することを特徴とする請求項1に記載のテレコミュニケーションシステム。
  12.  前記端末装置又は前記指示装置の少なくともいずれかにおいて、
     過去に表示した映像フレームを保持するためのメモリをさらに設け、
     前記管理装置から送られてくる映像に対して、モザイキング処理(パノラマ生成処理)を行うことを特徴とする請求項1に記載のテレコミュニケーションシステム。
  13.  映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、に接続され、
     前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取り、前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うマーカー情報管理部を有する管理装置。
  14.  映像を表示する第1の表示部と、前記第1の表示部に表示された映像に第1のタイムスタンプ情報を付加して送信する映像送信部と、を有する端末装置と、前記端末装置に表示されている映像を取得して表示する第2の表示部に入力された第1のマーカー情報に第2のタイムスタンプ情報を付加して送信する第1のマーカー情報送信部を有する指示装置と、に接続される管理装置を用いたマーカー情報の管理方法であって、
     前記端末装置から送信された映像と、前記指示装置から送信された第1のマーカー情報とを受け取るステップと、
     前記第1のタイムスタンプ情報と前記第2のタイムスタンプ情報とに基づいて前記映像と前記第1のマーカー情報とを同期させて前記端末装置に送信する管理を行うステップと、
    を有するマーカー情報の管理方法。
PCT/JP2016/051183 2015-01-19 2016-01-15 テレコミュニケーションシステム WO2016117480A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015007352 2015-01-19
JP2015-007352 2015-01-19

Publications (1)

Publication Number Publication Date
WO2016117480A1 true WO2016117480A1 (ja) 2016-07-28

Family

ID=56417026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/051183 WO2016117480A1 (ja) 2015-01-19 2016-01-15 テレコミュニケーションシステム

Country Status (1)

Country Link
WO (1) WO2016117480A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218794A (zh) * 2017-06-30 2019-01-15 全球能源互联网研究院 远程作业指导方法及系统
WO2020174994A1 (ja) * 2019-02-26 2020-09-03 パナソニックIpマネジメント株式会社 カメラ映像伝送再生システム、それを構成するカメラおよびビューア

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025399A (ja) * 2003-06-30 2005-01-27 Yoshikazu Oda インターネットを使った情報交換手段
JP2005338510A (ja) * 2004-05-27 2005-12-08 Toshiba Corp 遠隔授業システムの講義者端末装置、受講者端末装置及びサーバ装置
JP2009093219A (ja) * 2007-10-03 2009-04-30 Toshiba Corp サーバ装置、サーバ装置の制御方法、およびサーバ装置の制御プログラム
JP2010016448A (ja) * 2008-07-01 2010-01-21 Kddi Corp 同期制御装置、及び同期制御プログラム
JP2014014011A (ja) * 2012-07-04 2014-01-23 Nippon Telegr & Teleph Corp <Ntt> 静止画自動生成システム、静止画自動生成システムにおける作業者用情報処理端末及び指示者用情報処理端末、及び判定装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025399A (ja) * 2003-06-30 2005-01-27 Yoshikazu Oda インターネットを使った情報交換手段
JP2005338510A (ja) * 2004-05-27 2005-12-08 Toshiba Corp 遠隔授業システムの講義者端末装置、受講者端末装置及びサーバ装置
JP2009093219A (ja) * 2007-10-03 2009-04-30 Toshiba Corp サーバ装置、サーバ装置の制御方法、およびサーバ装置の制御プログラム
JP2010016448A (ja) * 2008-07-01 2010-01-21 Kddi Corp 同期制御装置、及び同期制御プログラム
JP2014014011A (ja) * 2012-07-04 2014-01-23 Nippon Telegr & Teleph Corp <Ntt> 静止画自動生成システム、静止画自動生成システムにおける作業者用情報処理端末及び指示者用情報処理端末、及び判定装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218794A (zh) * 2017-06-30 2019-01-15 全球能源互联网研究院 远程作业指导方法及系统
WO2020174994A1 (ja) * 2019-02-26 2020-09-03 パナソニックIpマネジメント株式会社 カメラ映像伝送再生システム、それを構成するカメラおよびビューア
CN113491083A (zh) * 2019-02-26 2021-10-08 松下知识产权经营株式会社 摄像机影像传输重放系统、构成该系统的摄像机及查看器
EP3934157A4 (en) * 2019-02-26 2022-04-20 Panasonic Intellectual Property Management Co., Ltd. CAMERA VIDEO TRANSMISSION/PLAYBACK SYSTEM, AND CAMERA AND VIEWER CONFIGURING THEM

Similar Documents

Publication Publication Date Title
CN106792092B (zh) 直播视频流分镜显示控制方法及其相应的装置
US20150029301A1 (en) Teleconference system and teleconference terminal
EP2816564B1 (en) Method and apparatus for smart video rendering
US20180249047A1 (en) Compensation for delay in ptz camera system
JP7441926B2 (ja) 映像コーディングを行うコンピュータプログラム
WO2020241308A1 (ja) 同期制御装置、同期制御方法及び同期制御プログラム
WO2017013986A1 (ja) 情報処理装置、端末、および、遠隔通信システム
EP3465631B1 (en) Capturing and rendering information involving a virtual environment
JP6192107B2 (ja) 撮影動画像に指示画像を重畳することができる映像指示方法、システム、端末及びプログラム
WO2016117480A1 (ja) テレコミュニケーションシステム
TW201414307A (zh) 會議終端及該會議終端的視頻處理方法
JP4649640B2 (ja) 画像処理方法、画像処理装置、及びコンテンツ作成システム
JP5520146B2 (ja) 映像受信装置、及びその制御方法
JP2008301191A (ja) 映像監視システム、映像監視制御装置、映像監視制御方法、及び映像監視制御用プログラム
JP6004978B2 (ja) 被写体画像抽出装置および被写体画像抽出・合成装置
JP5864371B2 (ja) 静止画自動生成システム、静止画自動生成システムにおける作業者用情報処理端末及び指示者用情報処理端末、及び判定装置
JP2023099480A (ja) 情報処理装置およびその制御方法、画像処理装置および画像処理システム
JP3665212B2 (ja) 遠隔監視装置および遠隔監視方法
JPWO2017086355A1 (ja) 送信装置、送信方法、受信装置、受信方法および送受信システム
US10425460B2 (en) Marking objects of interest in a streaming video
CN114830674A (zh) 发送装置和接收装置
JP2009060251A (ja) 情報処理装置及び遠隔診断システム
JP2008228014A (ja) 映像会議システム、会議映像処理方法、プログラム及び記録媒体
JP2009171272A (ja) テレビ電話端末装置
JP5089459B2 (ja) 過去映像参照機能付き映像システム、映像情報処理方法、プログラム、及び記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16740087

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16740087

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP