EP2972903A1 - Distribution control system, distribution control method, and computer-readable storage medium - Google Patents

Distribution control system, distribution control method, and computer-readable storage medium

Info

Publication number
EP2972903A1
EP2972903A1 EP14765551.8A EP14765551A EP2972903A1 EP 2972903 A1 EP2972903 A1 EP 2972903A1 EP 14765551 A EP14765551 A EP 14765551A EP 2972903 A1 EP2972903 A1 EP 2972903A1
Authority
EP
European Patent Office
Prior art keywords
frame data
data
communication terminal
distribution control
control system
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP14765551.8A
Other languages
German (de)
French (fr)
Other versions
EP2972903A4 (en
Inventor
Kiyoshi Kasatani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of EP2972903A1 publication Critical patent/EP2972903A1/en
Publication of EP2972903A4 publication Critical patent/EP2972903A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client

Definitions

  • the present invention relates to a system that
  • first frame data such as I frame data
  • second frame data such as P frame data
  • Cloud computing is a service usage pattern in which users use services (cloud services) provided by a server on the Internet, using a communication terminal connected to the Internet and pay for the service.
  • This method includes the
  • differential coding technique that compares frame data with frame data to be referred to and encodes only changed pixels. Using this differential coding reduces the number of pixels to be encoded and transmitted. When the thus encoded video data is displayed, it can appear as if each differential data generated by the differential coding is included in the original video data. In the prediction of the inter-frame data changes, pieces of frame data within the video data are classified into frame types such as the I frame data and the P frame data.
  • the P frame data is differential data with the previous frame data (the P frame data or the I frame data)
  • the previous frame data the P frame data or the I frame data
  • differential calculation executed by an encoder is wasted.
  • the I frame data is not subjected to differential calculation by the encoder, but subjected to compression calculation for encoding.
  • the amount of data of the I frame data generated by this encoding is larger than that of the P frame data. For this reason, for the I frame data, if there is no updated part with respect to the previous one, the compression calculation is wasted, and besides, because the amount of data of the I frame data is large, it takes a long transmission time on a bus line within the server.
  • first frame data capable of being reproduced singly by the communication terminal or second frame data as a difference with the previous frame data distributed to the communication terminal.
  • distribution control system includes a generating unit configured to generate the first frame data or the second frame data from certain frame data; and a transmitting unit configured to transmit third frame data with the contents being not updated or non-update information indicating that the contents are not updated, in place of the first frame data or the second frame data, to the communication
  • FIG. 1 is a schematic diagram of a distribution system according to an embodiment.
  • FIG. 2 is a conceptual view when a dongle is attached to a communication terminal.
  • FIG. 3 is a conceptual diagram illustrating a basic distribution method.
  • FIG. 4 is a conceptual diagram of multicast.
  • FIG. 5 is a conceptual diagram of multidisplay .
  • FIG. 6 is a conceptual diagram of composite
  • FIG. 7 is a logical hardware configuration diagram of a distribution control system, a communication terminal, a terminal management system, and a web server.
  • FIG. 8 is a logical hardware configuration diagram of the dongle.
  • FIG. 9 is a functional block diagram illustrating mainly the functions of the distribution control system.
  • FIG. 10 is a functional block diagram illustrating mainly the functions of the communication terminal.
  • FIG. 11 is a functional block diagram illustrating the functions of the terminal management system.
  • FIG. 12 is a conceptual view of a distribution
  • FIG. 13 is a conceptual view of a terminal management table.
  • FIG. 14 is a conceptual view of an available terminal management table.
  • FIG. 15 is a detailed diagram of an encoder bridge unit.
  • FIG. 16 is a functional block diagram illustrating the functions of a converter.
  • FIG. 17 is a sequence diagram illustrating basic distribution processing of the distribution control system.
  • FIG. 18 is a sequence diagram illustrating
  • FIG. 19 is a sequence diagram illustrating the
  • FIG. 20 is a sequence diagram illustrating the
  • FIG. 21 is a sequence diagram illustrating the
  • FIG. 22 is a sequence diagram illustrating the
  • FIG. 23 is a sequence diagram illustrating the processing of multidisplay .
  • FIG. 24 is a sequence diagram illustrating the
  • FIG. 25 is a conceptual diagram of various types of frame data.
  • FIG. 26 is. a flowchart for generating the various types of frame data.
  • a web browser hereinafter referred to as a "browser”
  • an encoder to execute in cooperation with each other in the cloud through cloud computing and
  • images include a still image and a moving image.
  • Videos basically mean moving images and also include moving images that are stopped to be still images.
  • a “still image (sound)” represents at least either one of a still image and sound.
  • a "video (sound)" represents at least either one of video and sound.
  • FIG. 1 is a schematic diagram of a distribution system according to the present embodiment.
  • the distribution system 1 includes a distribution control system 2, a plurality of communication terminals (5a to 5f) , a terminal management system 7, and a web server 8.
  • a distribution control system 2 a plurality of communication terminals (5a to 5f)
  • a terminal management system 7 a terminal management system 7
  • a web server 8 a web server 8.
  • the communication terminal 5" referred to as a "communication terminal 5".
  • the terminal management system 7 is implemented by server computers.
  • the communication terminal 5 is a terminal used by a user who receives services of the distribution system 1.
  • the communication terminal 5a is a notebook personal computer (PC) .
  • the communication terminal 5b is a mobile terminal such as a smartphone or a tablet terminal.
  • the communication terminal 5c is a multifunction
  • the communication terminal 5d is a projector.
  • the communication terminal 5e is a TV (video) conference terminal having a camera, a microphone, and a speaker.
  • the communication terminal 5f is an electronic blackboard
  • the communication terminal 5 is not only such a communication terminal
  • terminals as illustrated in FIG. 1, but . also may be devices communicable through a communication network such as the Internet, including a watch, a vending machine, a car navigation device, a game console, an air conditioner, a lighting fixture, a camera alone, a microphone alone, and a speaker alone.
  • a communication network such as the Internet, including a watch, a vending machine, a car navigation device, a game console, an air conditioner, a lighting fixture, a camera alone, a microphone alone, and a speaker alone.
  • the distribution control system 2 , the communication terminal 5, the terminal management system 7, and the web server 8 can communicate with each other through a
  • Examples of the communication network 9 may include wireless communication networks such as 3rd Generation (3G) , Worldwide Interoperability for Microwave Access (WiMAX) , and Long-Term Evolution (LTE) .
  • 3G 3rd Generation
  • WiMAX Worldwide Interoperability for Microwave Access
  • LTE Long-Term Evolution
  • the communication terminal 5d for example, among the communication terminals 5 does not have a function of communicating with the other terminals or systems through the communication network 9.
  • a user inserts a dongle 99 into an interface such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI) of the communication terminal 5d, thereby enabling it to communicate with the other terminals and systems.
  • FIG. 2 is a conceptual view when the dongle is attached to the communication terminal.
  • the distribution control system 2 has a browser 20 in the cloud, and through the function of rendering in the browser 20, acquires a single or a plurality of pieces of content data described in a certain description language and performs rendering on the content data, thereby
  • frame data including still image data such as bitmap data made up of red, green, and blue (RGB) and sound data such as pulse code modulation (PCM) data (i.e., still image (sound) data) .
  • the content data is data acquired from the web server 8, any communication terminal, and the like and includes image (sound) data in Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS) , image (sound) data in MP4 (MPEG-4), and sound data in Advanced Audio Coding (AAC) .
  • HTML Hypertext Markup Language
  • CSS Cascading Style Sheets
  • MP4 MPEG-4
  • AAC Advanced Audio Coding
  • the distribution control system 2 has an encoding unit 19 in the cloud, and the encoding unit 19 plays a role as an encoder, thereby converting frame data as still image (sound) data into video (sound) data in the compression coding format such as " . H.264 (MPEG-4 AVC) , H.265, and Motion JPEG.
  • the terminal management system 7 performs login
  • the terminal management system 7 has a
  • the terminal management system 7 can be embodied as, for example, a virtual machine
  • IaaS Infrastructure as a Service
  • the terminal management system 7 be operated in a multiplexed manner to provide service continuity in case of unexpected incidents.
  • the browser 20 enables real-time
  • control system 2 includes the encoding unit 19 in FIG. 16 described below, and the encoding unit 19 can perform realtime encoding on frame data output by the browser.20 and output video (sound) data generated through conversion compliant with the H.264 standard or the like.
  • the processing of the distribution control system 2 is different from, for example, processing in a case in which non real-time video (sound), data recorded in a DVD is read and distributed by a DVD player.
  • the communication terminal 5 may have a browser.
  • updating the browser 20 of the distribution control system 2 eliminates the need to start up the browsers of the respective communication terminals 5.
  • FIG. 3 is a conceptual diagram illustrating a basic ⁇ distribution method.
  • the browser 20 of the distribution control system 2 acquires web content data [A] as image
  • (sound) data . from the web server 8 and renders it,, thereby generating pieces of frame data [A] as still image (sound) data.
  • An encoder bridge unit 30 including the encoding unit 19 performs encoding and the like on the pieces of frame data [A], thereby converting them into video (sound) data [A] in the compression coding format such as H.264 (an example of transmission data) .
  • the distribution control system 2 distributes the video (sound) data [A] converted to the communication terminal 5.
  • the distribution control system 2 can distribute even rich web content data to the communication terminal 5 while converting it from the web content data in HTML or the like into the compressed video (sound) data i H.264 or the like in the cloud.
  • the communication terminal 5 can reproduce the web content smoothly without time and costs for adding the latest browser or
  • CPU central processing unit
  • OS operating system
  • RAM random access memory
  • the distribution system 1 can also distribute web content data to a plurality of sites as video (sound) data. Described below are distribution methods illustrated in FIG. 4 to FIG. 6.
  • FIG. 4 is a conceptual diagram of multicast. As illustrated in FIG.- 4, the single browser 20 of the
  • the distribution control system 2 acquires. the web content data [A] as image (sound) data from the web server 8 and renders it, thereby generating pieces of frame data [A] as still image (sound) data.
  • the encoder bridge unit 30 encodes the pieces of frame data [A], thereby converting them into video (sound) data.
  • the distribution control system 2 then distributes the video (sound) data [A] (an example of transmission data) to a plurality of communication
  • the same video (sound) is reproduced at the sites.
  • the communication terminals (5fl, 5f2, 5f3) do not need to have the same level of display
  • reproduction capability (e.g., the same resolution).
  • the distribution method like this is called, for example,
  • FIG. 5 is a conceptual diagram of multidisplay. As illustrated in FIG. 5, the single browser 20 of the
  • distribution control system 2 acquires web content data
  • [XYZ] as image (sound) data from the web server 8 and renders it, thereby generating pieces of frame data [XYZ] as still image (sound) data.
  • the encoder bridge unit 30 divides each frame data [XYZ] into a plurality of pieces of frame data ([X], [Y] , [Z] ) and then encodes them, thereby converting them into a plurality of pieces of video (sound) data ([X], [Y] , [Z] ) .
  • the distribution control system 2 then distributes the video (sound) data [X] (an example of transmission data) to the communication terminal 5fl.
  • the distribution control system 2 distributes the video (sound) data [Y] (an example of transmission data) to the communication terminal 5f2 and distributes the video (sound) data [Z] (an example of transmission data) to the communication terminal 5f3.
  • the communication terminals (5fl, 5f2, 5f3) need to have the same level of display reproduction capability (e.g., the same resolution) .
  • the distribution method like this is called, for example, "multidisplay" .
  • FIG. 6 is a conceptual diagram of composite
  • the communication terminal 5fl as an electronic blackboard and a communication terminal 5el as a
  • teleconference terminal are used at a first site (the right side in FIG. 6), whereas at a second site (the left side in FIG. 6), the communication terminal 5f2 as an electronic blackboard and a communication terminal 5e2 as a
  • an electronic pen PI is used for drawing characters and the like with strokes on the communication terminal 5fl.
  • an electronic pen P2 is used for drawing characters and the like with strokes on the communication terminal 5fl.
  • video (sound) data acquired by the communication terminal 5el is encoded by an encoding unit 60 and is then transmitted to the distribution control system 2. After that, it is decoded by a decoding unit 40 of the distribution control system 2 and is then input to the browser .20. Operation data indicating the strokes drawn. on the communication terminal 5fl with the electronic pen PI (in this . case, coordinate data on the display of the communication terminal 5fl or the like) is transmitted to the distribution control system 2 to be input to the browser 20. Also at the second site, video (sound) data acquired by the communication terminal 5e2 is encoded by the encoding unit 60 and is then transmitted to the
  • the browser 20 acquires, for example, web content data [A] as a background image displayed on the displays of the communication terminals (5fl, 5f2) from the web server 8.
  • the browser 20 combines the web content data [A] , operation data ([pi], [p2] ) , and video (sound) content data ([El], [E2]) and renders them, thereby generating pieces of frame data as still image (sound) data in which the pieces of content data ([A], [pi], [p2], [El], [E2]) are arranged in a desired layout.
  • the encoder bridge unit 30 encodes the pieces of frame data, and the distribution control system 2 distributes video (sound) data indicating the same content ([A], [pi], [p2], [El], [E2]) to both sites.
  • video (sound) data indicating the same content ([A], [pi], [p2], [El], [E2])
  • At the first site thereby video ([A], [pi],. [p2] , [El (video part)], and [E2 (video part)]) is displayed on the display of the communication terminal 5fl, and sound [E2. (sound part)] is output from the speaker of the communication terminal 5el.
  • the video ([A], [pi], [p2], [El (video part)], and [E2 (video part)]) is displayed on the display of the communication terminal 5f2, and sound [El (sound part) ] is output from the speaker of the
  • the sound of the site itself [El (sound part) ] is not output owing to an echo cancelling function of the communication terminal 5fl.
  • the sound of the site itself [E2 (sound part) ] is not output owing to an echo cancelling function of the communication terminal 5f2.
  • remote sharing processing can be performed that shares the same information in real time at remote, sites, thus making the distribution system 1 according to the present embodiment effective in a teleconference or the like.
  • FIG. 7 is a logical hardware configuration diagram of a
  • FIG. 8 is a logical hardware configuration diagram of a dongle.
  • the distribution control system 2 includes: a (host) CPU 201 that controls the entire operation of the distribution control system 2/ a read-only memory (ROM) 202 that stores therei a program used for driving the CPU 201 such as IPL; a RAM 203 used as a work area of the CPU 201; an HDD 204 that stores therein various kinds of data such as programs; a hard disk
  • HDC controller
  • HDC controller
  • media drive 207 that controls the reading and writing, of data from and into a storage medium 206 such as a flash memory
  • a display 208 that displays various kinds of information
  • I/F interface
  • I/F interface
  • the GPU may not be provided. Because the hardware configuration of the terminal management system 7 and the web server 8 is the same as the hardware
  • the dongle 99 includes: a CPU 91 that controls the entire operation of the dongle 99; a ROM 92 that stores therein a basic input/output program; a RAM 93 used as a work area of the CPU 91; an electrically erasable and programmable ROM (EEPROM) 94 that performs the reading and writing of data under the control of the CPU 91; a GPU 95; a ROM 98a that stores therein a program used for driving the GPU.95; a RAM 98b used as a work area of the GPU 95; an interface I/F 96 for connection to the I/F 209 of the communication terminal 5; an antenna 97a; a communication unit 97 that performs communications by a short-distance wireless technology through the antenna 97a; and a bus line 90 such as an address bus or a data bus for electrically connecting the above units.
  • the short-distance wireless technology include the Near Field Communication (NFC)
  • the communication terminal 5d can perform calculation processing needed for graphics display with the dongle 99 attached as illustrated in FIG. 2.
  • FIG. 9 is a functional block diagram illustrating mainly the functions of the distribution control system.
  • FIG. 9 illustrates a functional configuration where the distribution control system 2 distributes video (sound) data to the communication terminal 5fl, and the
  • distribution control system 2 has the same functional configuration also where the distribution destination is other than the communication terminal 5fl.
  • the distribution control system 2 includes a plurality of distribution engine servers, the following describes a case where a single distribution engine server is included, in order, to simplify the description.
  • the distribution control system 2 has functional components in FIG. 9 implemented by the hardware configuration including a processor such as the CPU 201 or the GPU 215 and the programs illustrated in FIG. 7.
  • the distribution control system 2 includes the browser 20, a transmitter/receiver 21, a browser management unit 22, a transmission first-in first- out (FIFO) buffer 24, a time management unit 25, a time acquisition unit 26, a channel adaptive controller 27, the encoder bridge unit 30, a transmitter/receiver 31, a reception FIFO 34, a recognition unit 35, a delay
  • the distribution control system 2 further includes a storage unit 2000 implemented by the HDD 204 illustrated in FIG. 7.
  • This storage unit 2000 stores therein recognition information (described below) output from the recognition unit 35 and sent through the browser management unit 22.
  • the content data acquired by the browser 20 can be temporarily stored in the storage unit 2000 as a cache.
  • the browser 20 is a browser that operates within the distribution control system 2.
  • the browser 20 is kept updated along with the enrichment of web content at all times.
  • the browser 20 includes Media Player, Flash Player, JavaScript (registered trademark), CSS, and HTML Renderer.
  • JavaScript includes the standardized product and one unique to the distribution system 1.
  • Media Player is a browser plug-in for reproducing multimedia files such as video (sound) files within the browser 20.
  • Flash Player is a browser plug-in for reproducing flash content within the browser 20.
  • the unique JavaScript is a JavaScript group that provides the application programming interface (API) of services unique to the distribution system 1.
  • CSS is a technology for ⁇ efficiently defining the appearance and style of web pages described in HTML.
  • HTML Renderer is an HTML rendering engine.
  • a renderer renders content data such as web content data as image (sound) data, thereby generating pieces of frame data as still image (sound) data.
  • the renderer is also a layout engine that lays out a plurality of kinds of content ([A], [pi], [p2] , [El], [E2]).
  • the distribution system 1 provides the browsers 20 within the distribution control system 2, and a cloud browser for use in a user session is selected from the browsers 20.
  • a cloud browser for use in a user session is selected from the browsers 20.
  • the transmitter/receiver 21 transmits and receives various kinds of data, various kinds of requests, various kinds of instructions, and the like to and from the
  • the transmitter/receiver 21 acquires web content data from a content site at the web server 8.
  • transmitter/receiver 21 outputs the various kinds of data acquired from the terminal management system 7 to the functional components within the distribution control system 2 and controls the functional components within the distribution control system 2 based on the various kinds of data, various kinds of requests, various kinds of
  • the transmitter/receiver 21 outputs a request for switching distribution pattern from the terminal management system 7, to the browser management unit 22.
  • the browser management unit 22 controls switching from one browser to another browser among the browsers.
  • the transmitter/receiver 21 performs the switching of combinations of the components within the encoder bridge unit 30 illustrated in FIG. 15 and FIG. 16.
  • the browser management unit 22 manages the browser 20.
  • the browser management unit 22 instructs the browser 20 to start up and exit, and numbers an encoder ID at startup or exit.
  • the encoder ID is identification information that the browser management unit 22 numbers in order to manage the process of the encoder bridge unit 30.
  • the browser management unit 22 numbers and manages a browser ID every time the browser 20 is started up.
  • the browser ID is identification information that the browser management unit 22 numbers in order to manage the process of the browser 20 to identify the browser 20.
  • the browser management unit 22 acquires various kinds of operation data from the communication terminal 5 through the transmitter/receiver 31 and outputs them to the browser 20.
  • the operation data is data generated through operation events (operations through the keyboard 211, the mouse 212, and the like, strokes with an electronic pen P and the like) on the communication terminal 5.
  • the browser management unit 22 acquires sensor information that contains output signals of the sensors from the communication terminal 5 and outputs it to the browser 20.
  • the browser management unit 22 further acquires image (sound) data from the recognition unit 35 and outputs it to the browser 20, and acquires recognition information described below from the recognition unit 35 and stores it in the storage unit 2000.
  • the browser management unit 22 acquires video (sound) data from the reception FIFO buffer 34 and outputs it to the browser 20.
  • the transmission FIFO 24 is a buffer that stores therein pieces of frame data as still image (sound) data generated by the browser 20.
  • the time, management unit 25 manages time T unique to the distribution control system 2.
  • the time acquisition unit 26 performs time adjustment processing in conjunction with a time controller 56 in the communication terminal 5 described below. Specifically, the time acquisition unit 26 acquires time information (T) indicating time T in the distribution control system 2 from the time management unit 25, receives time information (t) indicating time t in the communication terminal 5 from the time controller 56 described below through the
  • transmitter/receiver 31 and a transmitter/receiver 51 transmits the time information (t) and the time information (T) to the time controller 56.
  • the channel adaptive controller 27 calculates
  • reproduction delay time U based on transmission delay time information (D) and calculates operation conditions such as the frame rate and the data resolution of a converter 10 in the encoder bridge unit 30.
  • This reproduction delay time U is time for delaying reproduction through the buffering of data until being reproduced.
  • the channel adaptive controller 27 changes the operation of the encoder bridge unit 30 based on the transmission delay time
  • the transmission delay, time information (D) indicates frequency distribution information based on a plurality of pieces of transmission delay time Dl acquired from a reproduction controller 53 by a delay information acquisition unit 57 of the communication terminal 5.
  • Each piece of transmission delay time Dl indicates time from the point when the video (sound) data is transmitted from the distribution control system 2 to the point when it is received by the
  • the encoder bridge unit 30 outputs pieces of frame data as still image (sound) data generated by the browser 20 to the converter 10 in the encoder bridge unit 30
  • FIG. 15 is a detailed diagram of the encoder bridge unit.
  • FIG. 16 is a functional block diagram illustrating the functions of the converter.
  • the encoder bridge unit 30 includes a creating/selecting/transferring unit 310, a selecting unit 320, and a plurality of converters (10a, 10b, 10c) provided therebetween. Although the three converters are illustrated here, any number of them may be provided. In the following, any converter is referred to as a
  • the converter 10 converts the data format of the pieces of frame data as still image (sound) data generated by the browser 20 into a data format of H.264 or the like allowing distribution of the data to the communication terminal 5 through the communication network 9. For that purpose, as illustrated in FIG. 16, the converter 10
  • the trimming unit 11, the resizing unit 12, and the dividing unit 13 do not perform any processing on sound data.
  • the trimming unit 11 performs processing to cut out part of a still image.
  • the resizing unit 12 changes the scale of a still image.
  • the dividing unit 13 divides a still image as illustrated in FIG. 5.
  • the encoding unit 19 encodes the. pieces of frame data as still image (sound) data generated by the browser 20, thereby converting them to distribute video (sound) data to the communication terminal 5 through the communication network 9.
  • a skip frame (may be sometimes referred to as frame skip) is thereafter inserted until the video moves to save a band.
  • the creating/selecting/transferring unit 310 creates a new converter 10, selects pieces of frame data as still image, (sound) data to be input to a converter 10 that is already generated, and transfers the pieces of fram data.
  • the creating/selecting/transferring unit ⁇ 310 creates a converter 10 capable of conversion according to the capability of the communication terminal 5 to reproduce video (sound) data.
  • the creating/selecting/transferring unit 310 selects a
  • the same video (sound) data as video (sound) data being distributed to the communication terminal 5a may be.
  • the creating/selecting/transferring unit 310 uses the converter 10a that is already created for the communication terminal 5a, without creating a new converter 10b for the communication terminal 5b. In the transfer, the
  • creating/selecting/transferring unit 310 transferes the pieces of frame data stored in the transmission FIFO 24 to the converter 10.
  • the selecting unit 320 selects a desired one from the converters 10 that are already generated.
  • the selection by the creating/selecting/transferring unit 310 and the selecting unit 320 allows distribution in various patterns as illustrated in FIG. 6.
  • the transmitter/receiver 31 transmits and receives various data, requests, and the like to and from the communication terminal 5.
  • This transmitter/receiver 31 transmits various data, requests, and the like to the communication terminal 5 through the communication network 9 from the cloud, thereby allowing the distribution control system 2 to distribute various data, requests, and the like to the communication terminal 5.
  • the communication terminal 5 For example, in the login processing of the communication terminal 5, the
  • transmitter/receiver 31 transmits, to the
  • the transmitter/receiver 51 of the communication terminal 5 authentication screen data for prompting a user for a login request.
  • the transmitter/receiver 31 also performs data transmission and data reception to and from user
  • HTTPS Hypertext- Transfer 'Protocol over Secure Socket Layer
  • transmitter/receiver 31 also performs transmission response control, real-time data creation, command transmission, reception response control, reception data analysis, and gesture conversion.
  • the transmission response control is processing to manage an HTTPS session for downloading requested from the communication terminal 5 in order to transmit data from the distribution control system 2 to the communication terminal 5.
  • the response of the HTTPS session for downloading does not end immediately and holds for a certain period of time (one to several minutes).
  • the transmitter/receiver 31 dynamically writes data to be sent to the communication terminal 5 in the body part of the response. In order to eliminate costs for reconnection, another request is allowed to reach from the communication terminal before the previous session ends. By putting the transmitter/receiver 31 on standby until the previous request is completed, . overhead can be eliminated even when reconnection is performed.
  • the real-time data creation is processing to give a unique header to the data of compressed video (and a compressed sound) generated by the encoding unit 19 in FIG. 16 and write it in the body part of HTTPS.
  • the command transmission is processing to generate command data to be transmitted to the communication
  • the reception response control is processing to manage an HTTPS session requested from the communication terminal 5 in order for the distribution control system 2 to receive data from the communication terminal 5.
  • the response of this HTTPS session does not end immediately and is held for a certain period of time (one to several minutes) .
  • the communication terminal 5 dynamically writes data to be sent to the transmitter/receiver 31 of the distribution control system 2 in the body part of the request..
  • the reception data analysis is processing to analyze the data transmitted from the communication terminal 5 by type and deliver the data to a necessary process.
  • the gesture conversion is processing to convert a gesture event input to the communication terminal 5f as the electronic blackboard, by a user with an electronic pen or in handwriting into data in a format receivable by the browser 20.
  • the reception FIFO 34 is a buffer that stores therein video (sound) data decoded by the decoding unit 40.
  • the recognition unit 35 performs processing on image (sound) data, received from the communication terminal 5. Specifically, for example, the recognition unit 35
  • the recognition unit 35 recognizes the face, age, sex, and the like of a human or animal based on images taken by a camera 62 for signage. I a workplace, the recognition unit 35 performs name tagging by face recognition and processing of replacing a background image based on images taken by the camera 62. The recognition unit 35 stores recognition information indicating the recognized details in the storage unit 2000. The recognition unit 35 achieves speeding up by performing processing with a recognition expansion board.
  • the delay information acquisition unit 37a is used for the processing of upstream channel adaptive control and corresponds to the delay information acquisition unit 57 for the communication terminal 5 for use in the processing of downstream channel adaptive control. Specifically, the delay information acquisition unit 37a acquires
  • transmission delay time dl from the decoding unit 40 and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (dl) are acquired, outputs to the channel adaptive controller 37b transmission delay time information (d) indicating
  • the transmission delay time information (dl) indicates time from the point when the video (sound) data is transmitted from the
  • the channel adaptive controller 37b is used for the processing of the upstream channel adaptive control and corresponds to the channel adaptive controller 27 for use in the processing of the downstream channel adaptive control. Specifically, the channel adaptive controller 37b calculates the operation conditions of the encoding unit 60 for the communication terminal 5 based on the transmission delay time information (d) .
  • controller 37b transmits a channel adaptive control signal indicating operation conditions such, as a frame rate and data resolution to the encoding unit .60 of the
  • the decoding unit 40 decodes the video (sound) data transmitted from the communication terminal 5.
  • decoding unit 40 also outputs the transmission delay time information (dl) indicating transmission delay time dl to the delay information acquisition unit 37a.
  • FIG. 10 is a functional block diagram illustrating mainly the functions of the communication terminal.
  • the communication terminal 5 is a terminal serving as an interface for a user to perform a login to the distribution system 1, start and stop the distribution of video (sound) data, and the like.
  • the communication terminal 5 has functional components in FIG. 10 implemented by the hardware configuration including the CPU 201 and the programs illustrated in FIG. 7.
  • the communication terminal 5 becomes communicable with the other terminals and systems through the communication network 9 by the insertion of the dongle 99 as illustrated in FIG. 2, the communication terminal 5 has the functional components in FIG. 10 implemented by the hardware configuration and the programs illustrated in FIG. 7 and FIG. 8.
  • the communication terminal 5 includes a decoding unit 50, the transmitter/receiver 51, an operating unit 52, the reproduction controller 53, a rendering unit 55, the time controller 56, the delay information
  • the communication terminal 5 further includes a storage unit 5000 implemented by the RAM 203 illustrated in FIG. 7. This storage unit 5000 stores therein time
  • difference information ( ⁇ ) indicating a time difference ⁇ described below and time information (t) indicating time t in the communication terminal 5.
  • the decoding unit 50 decodes video (sound) data distributed from the distribution control system 2 and output from the reproduction controller 53.
  • the transmitter/receiver 51 transmits and receives various data, requests, and the like to and from the transmitter/receiver 31 of the distribution control system 2 and a transmitter/receiver 71a of the terminal management system 7. For example, in the login processing of the communication terminal 5, the transmitter/receiver 51 performs a login request to the transmitter/receiver 71 of the terminal management system 7 in response to the startup of the communication terminal 5 by the operating unit 52.
  • the operating unit 52 performs processing to receive operations input by a user, such as input and selection with a power switch, a keyboard, a mouse, the electronic pen P, and the like, and transmits them as operation data to the browser management unit 22 of the distribution control system 2.
  • the reproduction controller 53 buffers the video
  • the rendering unit 55 renders the data decoded by the decoding unit 50.
  • the time controller 56 performs time adjustment processing in conjunction with the time acquisition unit 26 of the distribution control system 2. Specifically, the time controller 56 acquires time information (t) indicating time t in the communication terminal 5 from the storage unit 5000. The time controller 56 issues a request for time information (T) indicating time T in the distribution control system 2 to the time acquisition unit 26 of the distribution control system 2 through the
  • the time information (t) is transmitted concurrently with the request for the time information (T) .
  • the delay information acquisition unit 57 acquires from a reproduction controller 53 the transmission delay time information (Dl) indicating transmission delay time Dl and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (Dl) are acquired, outputs transmission delay time
  • the transmission delay time information (D) is transmitted, for example, once in a hundred frames.
  • the display unit 58 reproduces the data rendered by the rendering unit 55.
  • the encoding unit 60 transmits video (sound) data [E] that is acquired from a built-in microphone 213 or the camera 62 and a microphone 63 that are externally attached, and is encoded; time information (to) that indicates the current time to in the communication terminal 5 and is acquired from the storage unit 5000; and the time
  • the time difference ⁇ indicates a difference between the time managed independently by the distribution control system 2 and- the time managed independently by the
  • the encoding unit 60 changes the operation conditions of the encoding unit 60 based on the operation conditions indicated by the channel adaptive control signal received from the channel adaptive
  • the encoding unit 60 transmits the video (sound) data [E] that is acquired from the camera 62 and the microphone 63 and is encoded; the time information (t 0 ) that indicates the current time to in the communication terminal 5 and is acquired from the storage unit 5000; and the time difference information ( ⁇ ) that indicates the time difference ⁇ and is acquired from the storage unit 5000, to the decoding unit 40 of the distribution control system 2 through the transmitter/receiver 51 and the
  • the built-in microphone 213, the externally attached camera 62 and microphone 63, and the like are examples of an inputting unit and are devices that need encoding and decoding.
  • the inputting unit may output touch data and smell data in addition to video (sound) data.
  • the inputting unit includes various sensors such as a temperature sensor, a direction sensor, an acceleration sensor, and the like.
  • FIG. 11 is a functional block diagram illustrating the functions of the terminal management system. As illustrated in FIG. 11, the terminal management system 7 has functional components in FIG. 11 implemented by the hardware configuration including the CPU 201 and the programs illustrated in FIG. 7.
  • the terminal management system 7 further includes a storage unit 7000 implemented. by the HDD 204 illustrated in FIG. 7.
  • the storage unit 7000 stores therein distribution ,
  • the distribution destination selection menu is data indicating such a destination selection menu screen as illustrated in FIG. 12.
  • the terminal management table 7010 manages the terminal ID of the communication terminal 5, a user certificate, contract information when a user uses the services of the distribution system 1, the terminal type of the communication terminal 5, setting information indicating the home uniform resource locators (URLs) of the respective communication terminals 5, the execution environment information of the communication terminals 5, a shared ID, installation position information and display name information in association with each other
  • the execution environment information includes "favorites", “previous Cookie information”, and "cache file" of each communication terminal 5, which are sent to the
  • distribution control system 2 together with the setting information after the login of the communication terminal 5 and are used for performing an individual service on the communication terminal 5.
  • the shared ID is an ID that is used when each user distributes the same video (sound) data as video (sound) data being distributed to his/her own communication
  • the shared ID of the terminal ID "t006” is “ ⁇ ”
  • the shared ID of the terminal ID "t007” is “v006”
  • the shared ID of the terminal ID "t008” is v006”.
  • the distribution control system 2 distributes the same video (sound) data as video (sound) data being distributed to the communication terminals 5a to the communication terminals (5fl, 5f2, 5f3) .
  • the communication terminals 5a and the communication terminals (5fl, 5f2, 5f3) are different in the resolution of the display unit 58, the distribution control system 2
  • the installation position information indicates an installation position when the communication terminals (5fl, 5f2, 5f3) are arranged side by side.
  • the display name information is information indicating the details of the display name in the distribution destination selection menu illustrated in FIG. 12.
  • the available terminal management table 7020 manages, in association with each terminal ID, a shared ID indicating a communication
  • the transmitter/receiver 71a transmits and receives various data, requests, and the like to and from the communication terminal 5.
  • the communication terminal 5 For example, the
  • transmitter/receiver 71a receives a login request from the transmitter/receiver 51 of the communication terminal 5 and transmits an authentication result of the login request to the transmitter/receiver 51.
  • the transmitter/receiver 71b transmits and receives various data, requests, and the like to and from the distribution control system 2.
  • the distribution control system 2 For example, the
  • transmitter/receiver 71b receives a request for the data of the distribution destination selection menu from the transmitter/receiver 21 of the distribution control system 2 and transmits the data of the distribution destination selection menu to the transmitter/receiver 21.
  • the authentication unit 75 searches the terminal management table 7010 based on the terminal ID and the user certificate received from the communication terminal 5, thereby determining whether there is the same combination of a terminal ID and a user certificate, thereby
  • FIG. 17 is a sequence diagram illustrating the basic distribution processing of the distribution control system. Although described here is a case of issuing a login request through the communication terminal 5a, a login may be performed through the
  • the transmitter/receiver 51 of the communication terminal 5a issues a login request to the transmitter/receiver 71a of the terminal management system 7 (Step S21) .
  • the transmitter/receiver 71a receives the login request.
  • This login request includes the terminal ID and the user certificate of the communication terminal 5a.
  • the authentication unit 75 then acquires the terminal ID and the user certificate of the communication terminal 5a.
  • the authentication unit 75 searches the terminal management table 7010 based on the terminal ID and the user certificate, thereby determining whether there is the same combination of a terminal ID and a user certificate, thereby authenticating the communication terminal 5a (Step S22).
  • the following describes a case where the same combination of a terminal ID and a user certificate is present in the terminal management table 7010, that is, where the . communication terminal 5a is determined as a valid terminal in the distribution system 1.
  • the IP address of the distribution control system 2 is acquired from the distribution control system 2 by the terminal management system 7 and is stored in the storage unit 7000 in advance.
  • Step S24 The transmitter/receiver 21 receives the startup request of the browser 20.
  • browser management unit 22 starts up the browser 20 based on the startup request received by the transmitter/receiver 21 (Step S25) .
  • the creating/selecting/transferring unit 310 of the encoder bridge unit 30 creates the converter 10 in
  • the transmitter/receiver 21 issues a request for content data [A] to the web server 8 in accordance with an instruction by the browser 20 (Step S27).
  • the web server 8 reads the requested content data [A] from its own storage unit (not illustrated) (Step S28).
  • the web server 8 transmits the content data [A] to the transmitter/receiver 21 of the distribution control system 2 (Step S29) .
  • the browser 20 renders the content data [A] received by the transmitter/receiver 21, thereby generating pieces of frame data as still image, (sound) data and outputs them to the transmission FIFO 24 (Step S30) .
  • the converter 10 encodes the pieces of frame data stored in the transmission FIFO 24, thereby converting them into video (sound) data
  • the transmitter/receiver 31 transmits the video
  • transmitter/receiver 51 of the communication terminal 5a receives the video (sound) data [A] and outputs it to the reproduction controller 53.
  • the decoding unit 50 acquires the video (sound) data [A] from the reproduction controller 53 and decodes it (Step S33) .
  • a speaker 61 reproduces sound based on decoded sound data [A]
  • the display unit 58 reproduces video based on video data [A] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S34) .
  • the following describes communication processing using a plurality of communication terminals through the
  • FIG. 18 is a sequence diagram illustrating distribution
  • Step S29 processing using a plurality of communication terminals through the distribution control system. Described here is specific processing for the communication terminals 5 in the pattern illustrated in FIG. 6. Because the processing here includes login processing, browser startup, and the like similar to Steps: S21 to S29, description starts with the processing corresponding to Step S29.
  • the transmitter/receiver 21 of the distribution control system 2 receives content data [A] from the web server 8 (Step S41) .
  • the browser 20 renders the content data [A]., thereby generating pieces of frame data as still image (sound) data and outputs them to the transmission FIFO 24 (Step S42) .
  • the terminal 5fl receives the input of content data as video (sound) data [E] from the camera 62 and the microphone 63 (Step S43), the encoding unit 60 encodes the content data [E] (Step S44) .
  • the transmitter/receiver 51 transmits the content data [E] encoded by the encoding unit 60 to the transmitter/receiver 31 of the distribution control system 2 (Step S45) .
  • distribution control system 2 receives the content data [E] .
  • the decoding unit 40 of the distribution control system 2 decodes the content data [E] received by the transmitter/receiver 31 and outputs it to the reception FIFO 34 (Step S46) .
  • the browser 20 renders the content data [E] stored in the reception FIFO 34, thereby
  • Step S47 the browser 20 outputs the data in a layout in which the content data [E] is combined with the content data [A] already acquired.
  • transmitter/receiver 51 transmits operation data [p]
  • the transmitter/receiver 31 of the distribution control system 2 receives the operation data [p] .
  • the browser management unit 22 outputs the operation data [p] received by the transmitter/receiver 31 to the browser 20.
  • the browser 20 renders the operation data [p] , thereby generating frame data [p] as still image (sound) data and outputs it to the transmission FIFO 24 (Step S50) .
  • the browser 20 outputs the data in a layout in which the operation data [p] is combined with the content data ( [A] , [E] ) already acquired.
  • the converter 10 encodes pieces of frame data ([A],. [E] [p] ) as still image (sound) data stored in the
  • the transmitter/receiver 31 acquires the encoded video (sound) data ([A], [E] , [p] ) from the encoder bridge unit 30. including the converter 10 and transmits it to the transmitter/receiver 51 of the communication terminal 5fl (Step S52-1) .
  • the communication terminal 5fl receives the video (sound) data ([A], [E] , [p] ) , and the reproduction controller 53 of the communication terminal 5fl acquires the video (sound) data ([A], [E] , [p] ) from the transmitter/receiver 51.
  • the decoding unit 50 acquires the video (sound) data ([A], [E] , [p] ) from the
  • Step S53-1 the speaker 61 reproduces sound based on decoded sound data ([A], [E] )
  • the display unit 58 reproduces video based on video data ([A], [ ⁇ ] , [p] ) acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S54-1) .
  • the transmitter/receiver 31 acquires the encoded video (sound) data ([A], [E] , [p] ) from the encoder bridge unit 30 and transmits it to the transmitter/receiver 51 of the communication terminal 5f2 (Step S52-2) .
  • the reproduction controller 53 of the communication terminal 5f2 acquires the video (sound) data ([A], [E] , [p] ) .
  • the decoding unit 50 acquires the video (sound) data ( [A] , [E] , [p] ) from the reproduction controller 53 and decodes it (Step S53-2).
  • the speaker.61 reproduces sound based on decoded sound data ( [A] , [E] )
  • the display unit 58 reproduces video based on video data ([A], [E] , [p] )
  • Step S54-2 acquired from the decoding unit 50 and rendered by the rendering unit 55 .
  • FIG. 19 is a sequence diagram
  • the transmitter/receiver 51 issues a request for the time information (T) to the distribution control system 2, the time controller 56 of the communication terminal 5 acquires time information (t s ) in the communication terminal 5 from the storage unit 5000 (Step S81) .
  • the transmitter/receiver 51 issues a request for the time information (T) to the transmitter/receiver 31 (Step S82) .
  • the time information (t s ) is transmitted concurrently with the request for the time information (T) .
  • the time acquisition unit 26 of the distributio control system 2 acquires time information (T r ) in the distribution control system 2 from the time management unit 25 (Step S83) .
  • T r time information
  • the time acquisition unit 26 further acquires time
  • transmitter/receiver 31 then transmits the time information (t s , T r , T s ) to the transmitter/receiver 51 (Step S85) .
  • the time information (t s , T r , T s )
  • the time controller 56 of the communication terminal 5 acquires time information (t r ) in the communication
  • Step S86 the terminal 5 from the storage unit 5000.
  • the time controller 56 of the communication terminal 5 calculates the time difference ⁇ between the distribution control system 2 and the communication terminal 5 (Step S87). This time difference, ⁇ is given by Equation (1) below.
  • the time controller 56 stores the time difference information ( ⁇ ) indicating the time difference ⁇ in the storage unit 5000 (Step S88) .
  • the series of processing of time adjustment is performed, for example, regularly every minute .
  • FIG. 20 is the processing of channel adaptive control on data transmitted from the distribution control system 2 to the communication terminal 5 (downstream).
  • FIG. 20 is a sequence diagram illustrating the processing of channel adaptive control on data transmitted from the distribution control system to the communication terminal.
  • the channel adaptive controller 27 of the distribution control system 2 calculates reproduction delay time information (U) indicating reproduction delay time U for delaying reproduction by buffering until the
  • reproduction controller 53 of the communication terminal 5 reproduces video (sound) data, and outputs the reproduction delay time information (U) to the encoder bridge unit 30 (Step S101) .
  • the transmitter/receiver 31 then acquires the
  • the transmitter/receiver 31 transmits the video (sound) data and the time information (T 0 ) of the distribution control system 2 to the transmitter/receiver 51 of the communication terminal 5 (Step S104) .
  • the transmitter/receiver 51 of the communication terminal 5 receives the time information (To) of the distribution control system 2 and outputs the video (sound) data and the time information (To) to the reproduction controller 53.
  • the reproduction controller 53 waits until the time ( ⁇ 0 + ⁇ - ⁇ ) in the communication terminal 5 and then outputs the video (sound) data acquired at Step S104 to the decoding unit 50.
  • This causes the speaker 61 to output sound and the display unit 58 to reproduce video through the rendering unit 55 (Step S105) .
  • This causes only video (sound) data received by the communication terminal 5 within the range of the reproduction delay time U given by Equation (2) below to be reproduced, while video (sound) data out of the range is delayed excessively and is deleted without being reproduced.
  • U (to + ⁇ ) - To (2)
  • the reproduction controller 53 reads the current time t 0 in the communication terminal 5 from the storage unit 5000 (Step S106) .
  • This time t 0 indicates time in the communication terminal 5 when the communication terminal 5 received video (sound) data from the distribution control system 2.
  • the reproduction controller 53 further reads the time difference information ( ⁇ ) indicating the time
  • Step S108 calculates the transmission delay time Dl indicating time from the point when the video (sound) data is transmitted from the distribution, control system 2 to the point when it is received by the communication terminal 5 (Step S108) . This calculation is performed with Equation (3) below; when the communication network 9 becomes congested, the
  • the delay information acquisition unit 57 acquires transmission delay time information (Dl) indicating the transmission delay time Dl from the reproduction controller 53 and holds it for . a certain period of time, and when a plurality of pieces of transmission delay time information (Dl) are acquired, outputs to the transmitter/receiver 51 the transmission delay time information (D) indicating frequency distribution information based on a plurality, of pieces of transmission delay time Dl (Step S109) .
  • the transmitter/receiver 51 transmits the transmission delay time information (D) to the transmitter/receiver 31 of the distribution control system 2 (Step S110) .
  • transmitter/receiver 31 of the distribution control system 2 receives the transmission delay time information (D) and outputs the transmission delay time information (D) to the channel adaptive controller 27.
  • the channel adaptive controller 27 of the distribution control system 2 newly calculates reproduction delay information U' based on the transmission delay time
  • the channel adaptive filter information calculates the operation conditions such as the frame rate and the data resolution of the converter 10 and outputs them to the encoder bridge unit 30 (Step Sill).
  • the channel adaptive filter calculates the operation conditions such as the frame rate and the data resolution of the converter 10 and outputs them to the encoder bridge unit 30 (Step Sill).
  • controller 27 changes the operation of the encoder bridge unit 30 based on the transmission delay time information (D) and the size of the data (e.g., the number of bits or the number of bytes).
  • the transmitter/receiver 31 acquires reproduction delay time information ( ⁇ ') indicating the new reproduction delay time U 1 calculated at Step Sill from the encoder bridge unit 30 and transmits the reproduction delay time information (U') to the transmitter/receiver 51 of the communication terminal 5 (Step S112) .
  • transmitter/receiver 51 of the communication terminal 5 receives the reproduction delay time information ( ⁇ ').
  • the converter 10 of the encoder bridge unit 30 changes the operation conditions of the converter 10 based on the channel adaptive control signal indicating the operation conditions (Step S113) . For example, when the transmission delay time.Dl is excessively long and the reproduction delay time U is made longer in accordance with the
  • the channel adaptive controller 27 not only causes the encoder bridge unit 30 to change the reproduction delay time U to be the reproduction delay time U* but also causes the converter 10 to decrease the frame rate of video (sound) data and to decrease the resolution of video (sound) data, thereby addressing the congestion of the communication- network 9.
  • This causes the encoder bridge unit 30, as with Step S103, to add the current time information (T 0 ) to the video (sound) data [A] as a time stamp in accordance with the changed operation conditions (Step S104).
  • the video (sound) data is thus added (Step SI14).
  • transmitter/receiver 31 transmits the video (sound) data and the time information (T 0 ) of the distribution control system 2 to the transmitter/receiver 51 of the
  • transmitter/receiver 51 of the communication terminal 5 receives the video (sound) data and the time information (To) of the distribution control system 2 and outputs the video (sound) data and the time information (T 0 ) to the reproduction controller 53.
  • the reproduction controller 53 waits until the time (To+U'- ⁇ ) in the communication terminal 5 and then outputs the video (sound) data to the decoding unit 50, thereby, as with Step S105, causing the speaker 61 to output sound and the display unit 58 to reproduce video through the rendering unit 55 (Step S116) .
  • Step S106 the processing of the downstream, channel adaptive control is performed continuously.
  • FIG. 20 is a sequence diagram illustrating the processing of channel adaptive control on data transmitted from the communication terminal to the distribution control system.
  • the encoding unit 60 of the communication terminal 5 encodes content data as video (sound) data [E] input from the camera 62 and the microphone 63 (Step S121) .
  • the encoding unit 60 acquires the time information (to) indicating the current time to in the communication terminal 5 and the time difference
  • transmitter/receiver 51 transmits the video (sound) data [E] , the time information (t 0 ) , and the time difference information ( ⁇ ) to the transmitter/receiver 31 of the distribution control system 2 (Step S122) .
  • transmitter/receiver 31 of the distribution control system 2 receives the video (sound) data [E] , the. time information (t 0 ) , and the time difference information ( ⁇ ) .
  • the decoding unit 40 reads time T 0 indicating when the video (sound) data [E] and the like were received at Step S112 from the time management unit 25 (Step S123) .
  • the decoding unit 40 then calculates transmission delay time dl indicating time from the point when the video (sound) data is transmitted from the communication terminal 5 to the point when it is received by the distribution control system 2 (Step S124). This calculation is performed by Equation (4) below; when the communication network 9 becomes congested, the
  • the delay information acquisition unit 37a of the distribution control system 2 acquires transmission delay time information (dl) indicating the transmission delay time dl from the decoding unit 40 and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (dl) are acquired, outputs to the- channel adaptive controller 37b the
  • Step S125 frequency distribution information based on a plurality of pieces of the transmission delay time dl.
  • the channel adaptive controller 37b calculates the channel adaptive controller 37b
  • the transmitter/receiver 31 transmits a channel adaptive control signal indicating the operation conditions such as a frame rate and data resolution to the
  • the transmitter/receiver 51 of the communication terminal 5 (Step S127) .
  • the transmitter/receiver 51 of the communication terminal 5 (Step S127) .
  • the communication terminal 5 receives the channel adaptive control signal.
  • the channel adaptive control signal is output to the encoder bridge unit 30 within the same distribution control system 2, and in contrast, in the case of the channel adaptive control illustrated in FIG. 21 (upstream), the channel adaptive control signal is transmitted to the communication terminal 5 from the distribution control system 2 through the communication network 9.
  • the encoding unit 60 changes the operation conditions of the encoding unit 60. (Step S128) .
  • the encoding unit 60 then performs the same processing as Step S . 121 based on the new operation conditions (Step S129) .
  • the transmitter/receive 51 as with Step S122, transmits the video (sound) data [E] acquired from the camera 62 and the microphone 63 and encoded, the time information (to) indicating the current time t 0 in the communication
  • The. transmitter/receiver 31 of the distribution control system 2 receives the video (sound) data [E] , the time information (to) , and the time
  • FIG. 22 to FIG. 24 are sequence diagrams illustrating the processing of
  • the following describes an example of reproducing video (sound) [XYZ] being reproduced on the communication terminal 5a also on the communication terminals (5fl, 5f2, 5f3) in a divided manner.
  • the browser 20 for displaying web content is referred to as a "browser 20a", and the browser 20 for displaying a setting screen for a user is referred to as a "browser 20b". Described first is the processing corresponding to Step S30 in FIG. 17.
  • the browser 20a of the distribution control system 2 renders the web content data [XYZ] acquired from the web server 8, thereby generating pieces of frame data as still image (sound) data and outputs them to the web server 8.
  • the converter 10 encodes the pieces of frame data stored- in the transmission FIFO 24, thereby converting them into video (sound) data [XYZ] in a data format distributable to the communication terminal 5a (Step S202) .
  • the transmitter/receiver 31 transmits the video
  • communication terminal 5a receives the video (sound) data [XYZ] and outputs it to the reproduction controller 53.
  • the decoding unit 50 acquires the video (sound) data [XYZ] from the reproduction controller 53 and decodes it (Step S204) . After that, the speaker 61 reproduces sound based on decoded sound data
  • the display unit 58 reproduces video based on video data [XYZ] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S205) .
  • a screen displayed on the display unit 58 is switched to a menu request screen (not illustrated) by the user of the communication terminal 5a, and the operating unit 52 receives the pressing of a "distribution destination
  • Step S206 This causes the transmitter/receiver 51 to transmit a request for switching to the distribution destination selection menu to the transmitter/receiver 71a of the terminal management system 7 (Step S207).
  • the transmitter/receiver 71a of the terminal management system 7 receives the request for switching to the distribution destination selection menu.
  • This request includes the terminal ID of the communication . terminal 5a.
  • the transmitter/receiver 71b. transmits a startup request of the browser 20b to the transmitter/receiver 21 of the distribution control system 2 (Step S208) .
  • the transmitter/receiver 21 of the distribution control system 2 receives the startup request of the browser 20b and issues the startup request ' of the browser 20b to the browser management unit 22.
  • the browser management unit 22 then starts up the browser 20b (Step S209) .
  • creating/selecting/transferring unit 310 of the encoder bridge unit 30 switches the output from the browser 20a to the converter 10 (e.g., the converter 10a) to the output from the browser 20b to the converter 10 (e.g., the converter 10a).
  • the creating/selecting/transferring unit 310 of the encoder bridge unit 30 newly creates the converter 10 (e.g., the converter 10b), because the other
  • communication terminal 5 (e.g., the communication terminal 5b) is using the converter 10 (e.g., the converter 10a) for the browser 20a.
  • converter 10 e.g., the converter 10a
  • the transmitter/receiver 21 transmits a request for a distribution destination selection menu to the
  • Step S211 the terminal ID of the communication terminal 5a is also transmitted.
  • transmitter/receiver 71b of the terminal management system 7 receives the. request for a distribution destination selection menu and outputs the terminal ID of the communication terminal 5a to. the storage unit 7000.
  • the storage unit 7000 of the terminal management system 7 searches the available
  • This shared ID indicates a communication terminal 5
  • the communication terminal 5a available for the communication terminal 5a to perform remote sharing processing. As illustrated in FIG. 14, because the terminal ID of the communication terminal 5a is "tOOl", the shared IDs to be extracted are "v003" and
  • the storage unit 7000 further searches the terminal management table 7010 based on the extracted shared ID, thereby extracting display name information indicating the corresponding display name (Step S213) .
  • the display names corresponding to the extracted shared IDs "v003" and “v006” are "Tokyo head office 10F MFP" and "Osaka exhibition hall IF multidisplay” ,
  • the transmitter/receiver 71b transmits distribution destination selection menu data [M] as content data to the transmitter/receiver 21 of the distribution control system 2 (Step S214) .
  • this distribution control system 2 receives the distribution destination selection menu data [M] and outputs it to the browser 20b. As illustrated in FIG. 12, this distribution destination selection menu data [M] includes check boxes, shared IDs, and display names.
  • the browser 20b renders the content data indicating the distribution destination selection menu data [M] acquired from the terminal
  • the converter 10 encodes the pieces of image (sound) data [M] stored in the
  • the transmitter/receiver 31 transmits the video
  • communication terminal 5a receives the video (sound) data [M] and outputs it to the reproduction controller 53.
  • the decoding unit 50 acquires the video (sound) data [M] from the reproduction controller 53 and decodes it (Step S224). After that, the display unit 58 reproduces video as illustrated in FIG. 12 based on the video data [XYZ] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S225) .
  • the operating unit 52 receives the operation input by the user (Step S226) .
  • the transmitter/receiver 51 transmits a check result as operation data to the transmitter/receiver 31 of the distribution control system 2 (Step S227).
  • transmitter/receiver 31. of the distribution control system 2 receives the check result as operation data and outputs it to the browser 20b.
  • the browser 20b selects the shared ID from the check result (Step S228) .
  • the transmitter/receiver 21 transmits a request for adding a distribution destination, to the transmitter/receiver 71b of the terminal management system 7 in accordance with an instruction by the browser . 20b (Step S229) .
  • the destination includes the shared ID selected at Step S227.
  • the transmitter/receiver 71b of the terminal management system 7 receives the request for adding, a distribution destination and outputs the shared ID to the storage unit 7000.
  • the browser 20b then ends (Step S230) . This causes the creating/selecting/transferring unit 310 of the encoder bridge unit 30 to switch the output from the browser 20b to the converter 10 back to the output from the browser 20a to the converter 10 (Step S231) .
  • the terminal management table 7010 is searched based on the shared ID sent at Step S229, thereby extracting the corresponding terminal ID and installation position information (Step S241) .
  • transmitter/receiver 71b transmits an instruction to add a distribution destination, to the transmitter/receiver 21 of the distribution control system 2 (Step S242) .
  • the instruction to add a distribution destination includes the terminal ID and the installation position information extracted at Step S241.
  • the transmitter/receiver 21 of the distribution control system 2 receives the instruction to add a distribution destination and outputs the instruction to add a distribution destination to the browser management unit 22. Included here are three sets of the terminal ID and the installation position information, that is, the terminal, ID and the installation position information being "t006" and “left”, respectively, the terminal ID and the installation position information being "t007" and “middle”, respectively, and the terminal ID and the installation position information being "t008" and "right”, respectively.
  • the creating/selecting/transferring unit 310 of the encoder bridge unit 30 creates a converter 10 for multidisplay (Step S243) .
  • the encoder bridge unit 30 creates a converter 10 for multidisplay (Step S243) .
  • creating/selecting/transferring unit 310 of the encoder bridge unit 30 acquires the terminal ID and the
  • the dividing unit 13 of the converter 10 created at Step S243 divides the pieces of frame data [XYZ] as still image (sound) data stored in the transmission FIFO 24, and the encoding unit 19 encodes the divided pieces of frame data (Step S244) .
  • the transmitter/receiver 31 transmits video (sound) data [X] encoded " by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5fl based on the terminal ID ("t006") and the installation position information ("left") (Step S245-1) .
  • transmitter/receiver 51 of the communication terminal 5fl receives the video (sound) data [X] and outputs it to the reproduction controller 53.
  • the decoding unit 50 acquires the video (sound) data [X] from the communication terminal 5fl.
  • the speaker 61 reproduces sound based on
  • Step S247-1) the display unit 58 reproduces video based on video data [X] acquired from the decoding unit 50 and rendered by the rendering unit 55 .
  • the transmitter/receiver 31 transmits video (sound) data [Y] encoded by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5f2 based on the terminal ID ( xx t007") and the installation position information ("middle") (Step S245-2) .
  • transmitter/receiver 51 of the communication terminal 5f2 receives the video (sound) data [Y] and outputs it to the reproduction controller 53.; In the communication terminal 5f2, the decoding unit 50 acquires the video (sound) data [Y] from the
  • the speaker 61 reproduces sound based on
  • the transmitter/receiver 31 transmits video (sound) data [Z] encoded by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5f3 based on the terminal ID ("t008") and the installation position information ("right”) (Step S235-3) .
  • transmitter/receiver 51 of the communication terminal 5f3 receives the video (sound) data [Z] and outputs it to the reproduction controller 53.
  • the decoding unit 50 acquires the video (sound) data [Z] from the
  • the speaker 61 reproduces sound based on
  • Step S247-3 the display unit 58 reproduces video based on video data [Z] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S247-3) .
  • FIG. 25 is a conceptual diagram of various types of frame data.
  • the present embodiment generates four types of frame data.
  • the four types of frame data include "periodically
  • the periodic I frame data is an example of first frame data
  • the P frame data is an example of second frame data
  • the skip frame data is an example of third frame data
  • the forceful I frame data is an example of fourth frame data.
  • Described first is the generation of the periodic I frame data and the P frame data as known techniques.
  • the periodic I frame data and the P frame data as known techniques.
  • the video compression technique causes an encoder to encode pieces of frame data within the video data and generate the periodic I frame data or the P frame data.
  • the periodic I frame (intra frame) data is frame data that a communication terminal can reproduce by decoding independently (singly) without referring to other images.
  • the first image of the video data is always periodic I frame data.
  • the encoding unit 19 repeats the generation of periodic I frame data and P frame data, namely, generates periodic I frame data Ml constituting the video data, then generates four pieces of P frame data (Mil, Ml.2, M13, 14) constituting the video data successively, and subsequently generates periodic I frame data M2 constituting the video data, and then generates P frame data ( 21, M22, M23, M24)
  • the periodic I frame data is used for implementing a starting point of a new user who views video data, a resynchronization point when a problem occurs in a bit stream under transmission, fast forwarding and rewinding, and a random access function.
  • the periodic I frame data automatically at regular intervals and generates the periodic I frame data as needed when, for example, a user who views the video data is newly added.
  • the periodic I frame data has the drawback of requiring a larger bit numbers (large in the amount of data) because it is not differential data, the periodic I frame data has the advantage of not causing noise. or the like due to a loss of data.
  • the P frame (predictive inter frame) data which is constituted by differential data as a difference with the previous frame data, is frame data that: is encoded with part of the previous periodic I frame data or P frame data referred to by the encoding unit 19.
  • the P frame data has the drawback of being susceptible to distribution errors, because being in complicated dependence relation with the previous P frame data or periodic I frame data.
  • the user datagram protocol UDP
  • UDP user datagram protocol
  • the present P frame data is susceptible to distribution errors because the video data distributed to a user (the communication terminal 5) collapses due to an influence of the lost previous P frame data.
  • the periodic I frame data periodically inserted the collapse of the video data is eliminated.
  • the P frame data is differential data with the previous frame data (the P frame data or the forceful I frame data) , if there is no updated part with respect to the previous one, differential
  • the periodic I frame data is not subjected to
  • the amount of data of the periodic I frame data generated by this encoding is larger than that of the P frame data. For this reason, for the periodic I frame data, if there is no updated part with respect to the previous one, the
  • the encoding unit 19 when the frame data sent from the browser 20 to the transmission FIFO 24 is not updated a certain number of times, the encoding unit 19 generates the skip frame data in place of the periodic I frame data or the P frame data.
  • This skip frame data is frame data with the contents being not updated (changed) as compared with the contents of the previous frame data.
  • the skip frame data can also indicate that there is no update (change) with respect to the previous frame data. For example, as illustrated in FIG. 25, when there is no change in the contents of the frame data about five times as the certain number of times, the sixth frame data is generated as skip frame data m32 in place of P frame data M32. When the state of not being updated continues after that, the seventh frame data is generated as skip frame data m33 in place of P frame data M33. The skip frame data is generated in this manner until an update is resumed.
  • processing becomes congested in the distribution control system 2 , thereby providing the effect of, in the
  • distribution control system 2 distributing content data acquired from the web server 8 or the like to the
  • the encoding unit 19 generates the forceful I frame data in place of the frame data immediately before the skip frame data is generated (that is, the last frame data within the certain number of times) .
  • the forceful I frame data which. is still image data, is less compressed (higher image quality) frame data than the periodic I frame .data constituting the video data.
  • the fifth frame data is generated by the encoding unit 19 as forceful I frame data S3 in place of P frame data M31.
  • the forceful I frame S3 is generated by the encoding unit 19 in place of the periodic I frame data M31.
  • FIG. 26 is a flowchart for generating the various types of frame data.
  • the reriderer function of the browser 20 stores frame data in the transmission FIFO 24 and stores therein an update flag indicating whether the contents of the frame data are .
  • the update flag is an example of update
  • the browser 20 may set the update flag to be "0", not only when the contents of the frame data are not updated at all as compared with the contents of the frame data previously generated, but also when not updated over a certain range as compared with the contents of the frame data previously generated. For example, when only around a corner of video reproduced by the communication terminal 5 is updated, and the central part is not updated, the update flag is set to be "0".
  • the creating/selecting/transferring unit 310 The creating/selecting/transferring unit 310
  • Step S301 This timer is used at the timing when the
  • creating/selecting/transferring unit 310 periodically acquires frame data from the transmission FIFO 24
  • the creating/selecting/transferring unit 310 determines whether it is time to acquire the next frame data (Step S302) .
  • creating/selecting/transferring unit 310 waits for the time when acquiring the next frame data (No at . Step S302) . If it is the time to acquire the next frame data (Yes at Step S302) , the creating/selecting/transferring unit 310
  • Step S303 acquires the frame data from the transmission FIFO 2 and transfers the frame data to the converter 10 (Step S303) .
  • resizing unit 12 performs image processing such as trimming, resizing, or dividing,
  • the encoding unit 19 determines whether there is any update in the frame data based on the update flag (Step S305) . If the update flag is "1", the encoding unit 19 determines that there is any update in the frame data transferred by the creating/selectihg/transferring unit 310 (Yes at Step S305) and sets a counter (hereinafter called an "SFC") used for generating the skip frame data to be zero (Step S306) . This counter is stored in the RAM 21 of the GPU 215 by the encoding unit 19.
  • SFC a counter
  • the encoding unit 19 determines the type of frame date to be generated (Step S307) . For example, in the case illustrated in FIG. 25, it is prescribed in advance that after one piece of periodic I frame data is generated, four pieces of P frame data are generated. If determining to generate the periodic I frame data at Step S307, the encoding unit 19 generates the periodic I frame data (Step S308) . If determining to generate the P frame data at Step S307, the generating unit 19 generates the P frame data (Step S309) .
  • Step S305 if the update flag is "0", the encoding unit 19 determines that there is no change in the frame data transferred by the
  • Step S305 creating/selecting/transferring unit 310 (No at Step S305) and increases the SFC by one to increment (Step S311) .
  • the encoding unit 19 determines whether the SFC exceeds a certain number of times (Step S312) . In other words, the encoding unit 19 determines whether the update of the contents of the content data output from the browser 20 is not performed continuously for a certain number of times. In the case illustrated in FIG. 25, it is
  • Step S313 determines whether the SFC exceeds five times. If the encoding unit 19 determines that the SFC does not exceed (is less than) the certain number of times at Step S312 (Yes), the flow advances to Step S307. If determining that the SFC exceeds the processing number of times at Step S312 (No) , the encoding unit 19 further determines whether the SFC is the certain number of times (Step S313) .
  • Step S314 If determining that the SFC is the certain number of times at Step S313 (Yes) , the encoding unit 19 generates the forceful I frame (Step S314) . If determining that the SFC is not the certain number of times at Step S313 (No) , the encoding unit 19 generates the skip frame data (Step S315) .
  • the encoding unit 19 When the creating/selecting/transferring unit 310 acquires an update flag "1" from the transmission FIFO due to another change in the contents of the content data, the encoding unit 19 generates again the periodic I frame data or the P frame data. In the case illustrated in FIG. 25, when the contents of the frame data are updated after the encoding unit 19 generates skip frame data m33, the
  • the encoding unit 19 generates P frame data M34. In this case, the encoding unit 19 generates the P frame data as
  • the encoding unit 19 when the frame data sent from the browser 20 to the transmission FIFO 24 is not updated a certain number of times, the encoding unit 19 generates the skip frame data in place of the periodic I frame data or the P frame data. This can avoid a situation in which frame data processing becomes congested in the distribution control system 2, thereby providing the effect of, in the distribution control system 2, distributing content data acquired from the web server 8 or the like to the communication terminal 5 at higher speed as video data.
  • the encoding unit 19 generates the forceful I frame data (an example of second I frame data), which is higher in image quality than the periodic I frame data (an example of first frame data) , in place of the frame data immediately before the skip frame data is generated (that is, the last frame data within the certain number of times) .
  • This causes high image quality frame data to be distributed to the communication terminal 5, which enables the communication terminal 5 to reproduce a high image quality image. Consequently, a high image quality image continues to be reproduced on the
  • the distribution control system 2 includes the browser 20 that performs rendering and the encoder bridge unit 30 that performs encoding and the like in the cloud.
  • the browser 20 generates pieces of frame data as still image (sound) data based on content data described in a certain description language.
  • the encoder bridge unit 30 converts the pieces of frame data into, video (sound) data distributable through the communication network 9.
  • the distribution control system 2 distributes the video (sound) data to the communication terminal 5.
  • the communication terminal 5 can smoothly reproduce web content without update of its browser or time and costs for upgrading the specifications of a CPU, an OS, a RAM, and the like. This eliminates the problem in that enriched content increases a load on the communication terminal 5.
  • the browser 20 enables real-time communication, and the converter 10 performs real-time encoding on the frame data generated by the browser 20. Consequently, unlike a case in which a DVD player selects and distributes non real-time (that is, pre-encoded) video (sound) data as seen in, for example, on-demand
  • the distribution control . system 2 renders content acquired immediately before being distributed, thereby generating pieces of frame data and then encoding them. This allows real-time distribution of video (sound) data.
  • the encoding unit 19 determines whether the SFC exceeds the certain number of times at Step S312 in the above embodiment, the embodiment is not limited to this.
  • the encoding unit 19 may determine whether a certain period of time, not the certain number of times, is exceeded.
  • the forceful I frame data is less compressed (higher image quality) frame data than the periodic I frame data
  • the embodiment is not limited to this.
  • the encoding unit 19 may generate a plurality of pieces of highly compressed (lower image quality) frame data than the periodic I frame data, and the transmitter/receiver 31 may transmit them successively to the communication terminal.5.
  • the transmitter/receiver 31 may transmit them successively to the communication terminal.5.
  • communication terminal 5 reproduces high image quality video similar to one piece of forceful I frame data from the pieces of frame data successively received.
  • the distribution control system 2 distributes the skip frame data generated at Step S315 in the above embodiment, the embodiment is not limited to this.
  • the distribution control system 2 may, without distributing the skip frame data, distribute non-update information indicating that the contents of the present frame data are not updated with respect to the contents of the previous frame data.
  • the communication terminal 5 performs similar processing to the case when the skip frame data is received based on the non-update
  • the distribution system 1 includes the terminal management system 7 and the distribution control system 2 as separate systems.
  • the terminal management system 7 and the distribution control system 2 are separate systems.
  • the terminal management system 7 and the distribution control system 2 are separate systems.
  • distribution control system 2 may be constructed as an integral system by, for example, causing the distribution control system 2 to have the functions of the terminal management system 7.
  • the distribution control system 2 and the terminal management system 7 according to the above embodiment may be implemented by a single computer or may be implemented by a plurality of computers in which individual parts
  • Storage media such as CD-ROMs and HDDs in which the programs of the above embodiment are recorded can be provided as program products domestically or abroad.
  • data of a state with no change is distributed, thereby solving. the problem in that frame data processing becomes congested in a distribution control system. This provides the effect of distributing data to a communication terminal at higher speed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A distribution control system distributes, to a communication terminal, first frame data capable of being reproduced singly by the communication terminal or second frame data as a difference with the previous frame data distributed to the communication terminal. The distribution control system includes a generating unit configured to generate the first frame data or the second frame data from certain frame data; and a transmitting unit configured to transmit third frame data with the contents being not updated or non-update information indicating that the contents are not updated, in place of the first frame data or the second frame data, to the communication terminal when contents of the certain frame data are not updated over a certain range or more as compared with contents of the frame data previously generated.

Description

DESCRIPTION
. DISTRIBUTION CONTROL SYSTEM, DISTRIBUTION CONTROL METHOD,
AND COMPUTER-READABLE STORAGE MEDIU
TECHNICAL FIELD
The present invention relates to a system that
generates first frame data such as I frame data or second frame data such as P frame data and distributes these pieces of data to communication terminals such as personal computers and electronic blackboards.
BACKGROUND ART
With the recent widespread use of the Internet, cloud computing has been used in various fields. Cloud computing is a service usage pattern in which users use services (cloud services) provided by a server on the Internet, using a communication terminal connected to the Internet and pay for the service.
When the server provides a service distributing video data, unnecessary data is reduced or removed by video compression techniques. In the video compression
techniques, MPEG-4 and H.264, using inter-frame data encoding, predicts inter-frame data changes to reduce the amount of video data. This method includes the
differential coding technique that compares frame data with frame data to be referred to and encodes only changed pixels. Using this differential coding reduces the number of pixels to be encoded and transmitted. When the thus encoded video data is displayed, it can appear as if each differential data generated by the differential coding is included in the original video data. In the prediction of the inter-frame data changes, pieces of frame data within the video data are classified into frame types such as the I frame data and the P frame data.
However, because the P frame data is differential data with the previous frame data (the P frame data or the I frame data) , if there is no updated part with respect to the previous one, differential calculation executed by an encoder is wasted. The I frame data is not subjected to differential calculation by the encoder, but subjected to compression calculation for encoding. The amount of data of the I frame data generated by this encoding is larger than that of the P frame data. For this reason, for the I frame data, if there is no updated part with respect to the previous one, the compression calculation is wasted, and besides, because the amount of data of the I frame data is large, it takes a long transmission time on a bus line within the server.
Accordingly, the conventional video compression
techniques cause a problem in that data cannot be
transferred to a communication terminal at higher speed because the frame data processing becomes congested in the server.
DISCLOSURE OF INVENTION
It is an object of the present invention to at least partially solve the problems in the conventional technology.
According to an embodiment, there is provided a
distribution control system that distributes, to a
communication terminal, first frame data capable of being reproduced singly by the communication terminal or second frame data as a difference with the previous frame data distributed to the communication terminal. The
distribution control system includes a generating unit configured to generate the first frame data or the second frame data from certain frame data; and a transmitting unit configured to transmit third frame data with the contents being not updated or non-update information indicating that the contents are not updated, in place of the first frame data or the second frame data, to the communication
terminal when contents of the certain frame data are not updated over a certain range or more as compared with contents of the frame data previously generated.
The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the
accompanying drawings .
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a schematic diagram of a distribution system according to an embodiment.
FIG. 2 is a conceptual view when a dongle is attached to a communication terminal.
FIG. 3 is a conceptual diagram illustrating a basic distribution method.
FIG. 4 is a conceptual diagram of multicast.
FIG. 5 is a conceptual diagram of multidisplay .
FIG. 6 is a conceptual diagram of composite
distribution using a plurality of communication terminals through a distribution control system.
FIG. 7 is a logical hardware configuration diagram of a distribution control system, a communication terminal, a terminal management system, and a web server.
FIG. 8 is a logical hardware configuration diagram of the dongle.
FIG. 9 is a functional block diagram illustrating mainly the functions of the distribution control system.
FIG. 10 is a functional block diagram illustrating mainly the functions of the communication terminal.
FIG. 11 is a functional block diagram illustrating the functions of the terminal management system.
FIG. 12 is a conceptual view of a distribution
destination selection menu screen.
FIG. 13 is a conceptual view of a terminal management table.
FIG. 14 is a conceptual view of an available terminal management table.
FIG. 15 is a detailed diagram of an encoder bridge unit.
FIG. 16 is a functional block diagram illustrating the functions of a converter.
FIG. 17 is a sequence diagram illustrating basic distribution processing of the distribution control system.
FIG. 18 is a sequence diagram illustrating
communication processing using a plurality of communication terminals through the distribution control system.
FIG. 19 is a sequence diagram illustrating the
processing of time adjustment.
FIG. 20 is a sequence diagram illustrating the
processing of channel adaptive control on data transmitted. from the distribution control system to the communication terminal .
FIG. 21 is a sequence diagram illustrating the
processing of channel adaptive control on data transmitted from the communication terminal to the distribution control system.
FIG. 22 is a sequence diagram illustrating the
processing of multidisplay .
FIG. 23 is a sequence diagram illustrating the processing of multidisplay .
FIG. 24 is a sequence diagram illustrating the
processing of multidisplay.
FIG. 25 is a conceptual diagram of various types of frame data.
FIG. 26 is. a flowchart for generating the various types of frame data.
BEST MODE FOR CARRYING OUT THE INVENTION
Described below with reference to the accompanying drawings is a distribution system 1 according to an
embodiment. Described below in detail is an invention that causes both a web browser (hereinafter referred to as a "browser") and an encoder to execute in cooperation with each other in the cloud through cloud computing and
transmits video data, sound data, and the like to
communication terminals.
In the following, "images" include a still image and a moving image. "Videos" basically mean moving images and also include moving images that are stopped to be still images. A "still image (sound)" represents at least either one of a still image and sound. An "image (sound)"
represents at least either one of an image and sound. A "video (sound)" represents at least either one of video and sound.
Outline of the embodiment
Described with reference to FIG. 1 is an outline of the embodiment according to the present invention. FIG. 1 is a schematic diagram of a distribution system according to the present embodiment.
Outline of system configuration
Described first is an outline of the configuration of the distribution system 1. β
As illustrated in FIG. 1, the distribution system 1 according to the present embodiment includes a distribution control system 2, a plurality of communication terminals (5a to 5f) , a terminal management system 7, and a web server 8. In the following, any communication terminal among the communication terminals (5a to 5f) can be
referred to as a "communication terminal 5". The
distribution control system 2, the terminal management system 7 , and the web server 8 are all implemented by server computers.
The communication terminal 5 is a terminal used by a user who receives services of the distribution system 1. The communication terminal 5a is a notebook personal computer (PC) . The communication terminal 5b is a mobile terminal such as a smartphone or a tablet terminal. The communication terminal 5c is a multifunction
peripheral/printer/product (MFP) in which the functions of copying, scanning, printing, and faxing are combined. The communication terminal 5d is a projector. The
communication terminal 5e is a TV (video) conference terminal having a camera, a microphone, and a speaker. The communication terminal 5f is an electronic blackboard
(whiteboard) capable of electronically converting drawings drawn by a user or the like.
The communication terminal 5 is not only such
terminals as illustrated in FIG. 1, but . also may be devices communicable through a communication network such as the Internet, including a watch, a vending machine, a car navigation device, a game console, an air conditioner, a lighting fixture, a camera alone, a microphone alone, and a speaker alone.
The distribution control system 2 , the communication terminal 5, the terminal management system 7, and the web server 8 can communicate with each other through a
communication network 9 including the Internet and a local area network (LAN). Examples of the communication network 9 may include wireless communication networks such as 3rd Generation (3G) , Worldwide Interoperability for Microwave Access (WiMAX) , and Long-Term Evolution (LTE) .
The communication terminal 5d, for example, among the communication terminals 5 does not have a function of communicating with the other terminals or systems through the communication network 9. However, as illustrated in FIG. 2, a user inserts a dongle 99 into an interface such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI) of the communication terminal 5d, thereby enabling it to communicate with the other terminals and systems. FIG. 2 is a conceptual view when the dongle is attached to the communication terminal.
The distribution control system 2 has a browser 20 in the cloud, and through the function of rendering in the browser 20, acquires a single or a plurality of pieces of content data described in a certain description language and performs rendering on the content data, thereby
generating frame data including still image data such as bitmap data made up of red, green, and blue (RGB) and sound data such as pulse code modulation (PCM) data (i.e., still image (sound) data) . The content data is data acquired from the web server 8, any communication terminal, and the like and includes image (sound) data in Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS) , image (sound) data in MP4 (MPEG-4), and sound data in Advanced Audio Coding (AAC) .
The distribution control system 2 has an encoding unit 19 in the cloud, and the encoding unit 19 plays a role as an encoder, thereby converting frame data as still image (sound) data into video (sound) data in the compression coding format such as". H.264 (MPEG-4 AVC) , H.265, and Motion JPEG.
The terminal management system 7 performs login
authentication on the communication terminal 5 and manages contract information and the like of the communication terminal 5. The terminal management system 7 has a
function of a Simple Mail Transfer Protocol (SMTP) server for transmitting e-mail. The terminal management system 7 can be embodied as, for example, a virtual machine
developed on a cloud service (IaaS: Infrastructure as a Service) . It is. desirable that the terminal management system 7 be operated in a multiplexed manner to provide service continuity in case of unexpected incidents.
The browser 20. enables real-time,
communication/collaboration (RTC) . The distribution
control system 2 includes the encoding unit 19 in FIG. 16 described below, and the encoding unit 19 can perform realtime encoding on frame data output by the browser.20 and output video (sound) data generated through conversion compliant with the H.264 standard or the like. As a result, the processing of the distribution control system 2 is different from, for example, processing in a case in which non real-time video (sound), data recorded in a DVD is read and distributed by a DVD player.
Not only the distribution control system 2, but also the communication terminal 5 may have a browser. In this case, updating the browser 20 of the distribution control system 2 eliminates the need to start up the browsers of the respective communication terminals 5.
Outline of various kinds of distribution methods
Described next is an outline of various distribution methods. Basic distribution
. FIG. 3 is a conceptual diagram illustrating a basic ■ distribution method. In the distribution system 1, as illustrated in FIG. 3, the browser 20 of the distribution control system 2 acquires web content data [A] as image
(sound) data . from the web server 8 and renders it,, thereby generating pieces of frame data [A] as still image (sound) data. An encoder bridge unit 30 including the encoding unit 19 performs encoding and the like on the pieces of frame data [A], thereby converting them into video (sound) data [A] in the compression coding format such as H.264 (an example of transmission data) . The distribution control system 2 distributes the video (sound) data [A] converted to the communication terminal 5.
Thus, the distribution control system 2 can distribute even rich web content data to the communication terminal 5 while converting it from the web content data in HTML or the like into the compressed video (sound) data i H.264 or the like in the cloud. As a result, the communication terminal 5 can reproduce the web content smoothly without time and costs for adding the latest browser or
incorporating a higher-spec central processing unit (CPU) , operating system (OS) , random access memory (RAM) , and the like.
Future enrichment in web content will only require higher specifications of the browser 20, the CPU, and the like in the distribution control system 2 in the cloud, without the need for higher specifications of the
communication terminal 5.
Applying the above distribution method, as illustrated in FIG. 4 to FIG. 6, the distribution system 1 can also distribute web content data to a plurality of sites as video (sound) data. Described below are distribution methods illustrated in FIG. 4 to FIG. 6.
Multicast
FIG. 4 is a conceptual diagram of multicast. As illustrated in FIG.- 4, the single browser 20 of the
distribution control system 2 acquires. the web content data [A] as image (sound) data from the web server 8 and renders it, thereby generating pieces of frame data [A] as still image (sound) data. The encoder bridge unit 30 encodes the pieces of frame data [A], thereby converting them into video (sound) data. The distribution control system 2 then distributes the video (sound) data [A] (an example of transmission data) to a plurality of communication
terminals (5fl, 5f2, 5f3) .
Thus, the same video (sound) is reproduced at the sites. In this case, the communication terminals (5fl, 5f2, 5f3) do not need to have the same level of display
reproduction capability (e.g., the same resolution). The distribution method like this is called, for example,
"multicast".
Multidisplay
FIG. 5 is a conceptual diagram of multidisplay. As illustrated in FIG. 5, the single browser 20 of the
distribution control system 2 acquires web content data
[XYZ] as image (sound) data from the web server 8 and renders it, thereby generating pieces of frame data [XYZ] as still image (sound) data. The encoder bridge unit 30 divides each frame data [XYZ] into a plurality of pieces of frame data ([X], [Y] , [Z] ) and then encodes them, thereby converting them into a plurality of pieces of video (sound) data ([X], [Y] , [Z] ) . The distribution control system 2 then distributes the video (sound) data [X] (an example of transmission data) to the communication terminal 5fl.
Similarly, the distribution control system 2 distributes the video (sound) data [Y] (an example of transmission data) to the communication terminal 5f2 and distributes the video (sound) data [Z] (an example of transmission data) to the communication terminal 5f3.
Thus, for example, even for landscape web content
[XYZ] , video (sound) is reproduced by the communication terminals 5 in a divided manner. As a result, when the communication terminals (5fl, 5f2, 5f3) are installed in a line, the same effect can be obtained as the reproduction of one piece of large video. In this case, the
communication terminals (5fl, 5f2, 5f3) need to have the same level of display reproduction capability (e.g., the same resolution) . The distribution method like this is called, for example, "multidisplay" .
Composite distribution
FIG. 6 is a conceptual diagram of composite
distribution using a plurality of communication terminals through a distribution control system. As illustrated in FIG. 6, the communication terminal 5fl as an electronic blackboard and a communication terminal 5el as a
teleconference terminal are used at a first site (the right side in FIG. 6), whereas at a second site (the left side in FIG. 6), the communication terminal 5f2 as an electronic blackboard and a communication terminal 5e2 as a
teleconference terminal are used similarly. At the first site, an electronic pen PI is used for drawing characters and the like with strokes on the communication terminal 5fl. At the second site, an electronic pen P2 is used for
drawing characters and the like with strokes on the
communication terminal 5f2.
At the first site, video (sound) data acquired by the communication terminal 5el is encoded by an encoding unit 60 and is then transmitted to the distribution control system 2. After that, it is decoded by a decoding unit 40 of the distribution control system 2 and is then input to the browser .20. Operation data indicating the strokes drawn. on the communication terminal 5fl with the electronic pen PI (in this . case, coordinate data on the display of the communication terminal 5fl or the like) is transmitted to the distribution control system 2 to be input to the browser 20. Also at the second site, video (sound) data acquired by the communication terminal 5e2 is encoded by the encoding unit 60 and is then transmitted to the
distribution control system 2. After that, it is decoded by the. decoding unit 40 of the distribution control system 2 and is then input to the browser 20. Operation data indicating the strokes drawn on the communication terminal 5f2 with the electronic pen P2 (in this case, coordinate data on the display of the communication terminal 5f2 or the like) is transmitted to the distribution control system 2 to be input to the browser 20.
The browser 20 acquires, for example, web content data [A] as a background image displayed on the displays of the communication terminals (5fl, 5f2) from the web server 8. The browser 20 combines the web content data [A] , operation data ([pi], [p2] ) , and video (sound) content data ([El], [E2]) and renders them, thereby generating pieces of frame data as still image (sound) data in which the pieces of content data ([A], [pi], [p2], [El], [E2]) are arranged in a desired layout. The encoder bridge unit 30 encodes the pieces of frame data, and the distribution control system 2 distributes video (sound) data indicating the same content ([A], [pi], [p2], [El], [E2]) to both sites. At the first site, thereby video ([A], [pi],. [p2] , [El (video part)], and [E2 (video part)]) is displayed on the display of the communication terminal 5fl, and sound [E2. (sound part)] is output from the speaker of the communication terminal 5el. Also at the second site, the video ([A], [pi], [p2], [El (video part)], and [E2 (video part)]) is displayed on the display of the communication terminal 5f2, and sound [El (sound part) ] is output from the speaker of the
communication terminal 5e2. At the first site, the sound of the site itself [El (sound part) ] is not output owing to an echo cancelling function of the communication terminal 5fl. At the second site, the sound of the site itself [E2 (sound part) ] is not output owing to an echo cancelling function of the communication terminal 5f2.
Thus, at the first site and the second site, remote sharing processing can be performed that shares the same information in real time at remote, sites, thus making the distribution system 1 according to the present embodiment effective in a teleconference or the like.
Detailed description of the embodiment
The following describes the embodiment in detail with reference to FIG. 7 to FIG. 24.
Hardware configuration of the embodiment
Described first with reference to FIG. 7 and FIG. 8 is the hardware configuration of the present embodiment. FIG. 7 is a logical hardware configuration diagram of a
distribution control system, a communication terminal, a terminal management system, and a web server. FIG. 8 is a logical hardware configuration diagram of a dongle.
Because the hardware configuration relating to the
communication of the communication terminal is the same as part of the hardware configuration of the communication terminal, the description thereof will be omitted.
As illustrated in FIG. 7, the distribution control system 2 includes: a (host) CPU 201 that controls the entire operation of the distribution control system 2/ a read-only memory (ROM) 202 that stores therei a program used for driving the CPU 201 such as IPL; a RAM 203 used as a work area of the CPU 201; an HDD 204 that stores therein various kinds of data such as programs; a hard disk
controller (HDC) 205 that controls the reading and writing of the various kinds of data from and into the HDD 204 under the control of the CPU 201; a media drive 207 that controls the reading and writing, of data from and into a storage medium 206 such as a flash memory; a display 208 that displays various kinds of information; an interface (I/F) 209 that transmits data through the communication network 9 and to which the dongle 99 is connected; a keyboard 211; a mouse 212; a microphone 213; a speaker 214; a graphics processing unit (GPU) 215; a ROM 216 that stores therein a program used for driving the GPU 215; a RAM 217 used as a work area of the GPU 215; and an expansion bus line 220 such as an address bus or a data bus for
electrically connecting the above components as illustrated in FIG. 7. As in the communication terminal 5d as a projector, the GPU may not be provided. Because the hardware configuration of the terminal management system 7 and the web server 8 is the same as the hardware
configuration of the distribution control system 2, the description thereof will be omitted.
Described next with reference to FIG. 8 is the
hardware configuration of the dongle 99 illustrated in FIG. 2. As illustrated in FIG. 8, the dongle 99 includes: a CPU 91 that controls the entire operation of the dongle 99; a ROM 92 that stores therein a basic input/output program; a RAM 93 used as a work area of the CPU 91; an electrically erasable and programmable ROM (EEPROM) 94 that performs the reading and writing of data under the control of the CPU 91; a GPU 95; a ROM 98a that stores therein a program used for driving the GPU.95; a RAM 98b used as a work area of the GPU 95; an interface I/F 96 for connection to the I/F 209 of the communication terminal 5; an antenna 97a; a communication unit 97 that performs communications by a short-distance wireless technology through the antenna 97a; and a bus line 90 such as an address bus or a data bus for electrically connecting the above units. Examples of the short-distance wireless technology include the Near Field Communication (NFC) standards, Bluetooth : (registered trademark), Wireless Fidelity (WiFi) , and ZigBee
(registered trademark). Because the dongle 99 includes the GPU 95, even when no GPU is included as in the
communication terminal 5d, the communication terminal 5 can perform calculation processing needed for graphics display with the dongle 99 attached as illustrated in FIG. 2.
Functional configuration of the embodiment
The functional configuration of the embodiment is described next with reference to FIG. 9 to FIG. 16.
Functional configuration of the distribution control system
Described first with reference to FIG. 9 is the functional configuration of the distribution control system 2. FIG. 9 is a functional block diagram illustrating mainly the functions of the distribution control system. FIG. 9 illustrates a functional configuration where the distribution control system 2 distributes video (sound) data to the communication terminal 5fl, and the
distribution control system 2 has the same functional configuration also where the distribution destination is other than the communication terminal 5fl. Although the distribution control system 2 includes a plurality of distribution engine servers, the following describes a case where a single distribution engine server is included, in order, to simplify the description.
As illustrated in FIG. 9, the distribution control system 2 has functional components in FIG. 9 implemented by the hardware configuration including a processor such as the CPU 201 or the GPU 215 and the programs illustrated in FIG. 7.
Specifically, the distribution control system 2 includes the browser 20, a transmitter/receiver 21, a browser management unit 22, a transmission first-in first- out (FIFO) buffer 24, a time management unit 25, a time acquisition unit 26, a channel adaptive controller 27, the encoder bridge unit 30, a transmitter/receiver 31, a reception FIFO 34, a recognition unit 35, a delay
information acquisition unit 37a, a channel adaptive controller 37b, and the decoding unit 40. The distribution control system 2 further includes a storage unit 2000 implemented by the HDD 204 illustrated in FIG. 7. This storage unit 2000 stores therein recognition information (described below) output from the recognition unit 35 and sent through the browser management unit 22. The content data acquired by the browser 20 can be temporarily stored in the storage unit 2000 as a cache.
Among the above functional components, the browser 20 is a browser that operates within the distribution control system 2. The browser 20 is kept updated along with the enrichment of web content at all times. The browser 20 includes Media Player, Flash Player, JavaScript (registered trademark), CSS, and HTML Renderer. JavaScript includes the standardized product and one unique to the distribution system 1.
Media Player is a browser plug-in for reproducing multimedia files such as video (sound) files within the browser 20. Flash Player is a browser plug-in for reproducing flash content within the browser 20. The unique JavaScript is a JavaScript group that provides the application programming interface (API) of services unique to the distribution system 1. CSS is a technology for ■ efficiently defining the appearance and style of web pages described in HTML. HTML Renderer is an HTML rendering engine.
A renderer renders content data such as web content data as image (sound) data, thereby generating pieces of frame data as still image (sound) data. As illustrated in FIG. 6, the renderer is also a layout engine that lays out a plurality of kinds of content ([A], [pi], [p2] , [El], [E2]).
The distribution system 1 according to the present embodiment provides the browsers 20 within the distribution control system 2, and a cloud browser for use in a user session is selected from the browsers 20. The following describes a case where the single browser 20 is provided, in order to simplify the description.
The transmitter/receiver 21 transmits and receives various kinds of data, various kinds of requests, various kinds of instructions, and the like to and from the
terminal management system 7 and the web server 8. For example, the transmitter/receiver 21 acquires web content data from a content site at the web server 8. The
transmitter/receiver 21 outputs the various kinds of data acquired from the terminal management system 7 to the functional components within the distribution control system 2 and controls the functional components within the distribution control system 2 based on the various kinds of data, various kinds of requests, various kinds of
instructions, and the like acquired from the terminal management system 7. For example, for the browsers 20, the transmitter/receiver 21 outputs a request for switching distribution pattern from the terminal management system 7, to the browser management unit 22. The browser management unit 22 then controls switching from one browser to another browser among the browsers. Based on the request for switching distribution from the terminal management system 7, the transmitter/receiver 21 performs the switching of combinations of the components within the encoder bridge unit 30 illustrated in FIG. 15 and FIG. 16.
The browser management unit 22 manages the browser 20.
For example, the browser management unit 22 instructs the browser 20 to start up and exit, and numbers an encoder ID at startup or exit. The encoder ID is identification information that the browser management unit 22 numbers in order to manage the process of the encoder bridge unit 30. The browser management unit 22 numbers and manages a browser ID every time the browser 20 is started up. The browser ID is identification information that the browser management unit 22 numbers in order to manage the process of the browser 20 to identify the browser 20.
The browser management unit 22 acquires various kinds of operation data from the communication terminal 5 through the transmitter/receiver 31 and outputs them to the browser 20. The operation data is data generated through operation events (operations through the keyboard 211, the mouse 212, and the like, strokes with an electronic pen P and the like) on the communication terminal 5. When the
communication terminal 5 provides various sensors such as a temperature sensor, a humidity sensor, and an acceleration sensor, the browser management unit 22 acquires sensor information that contains output signals of the sensors from the communication terminal 5 and outputs it to the browser 20. The browser management unit 22 further acquires image (sound) data from the recognition unit 35 and outputs it to the browser 20, and acquires recognition information described below from the recognition unit 35 and stores it in the storage unit 2000. The browser management unit 22 acquires video (sound) data from the reception FIFO buffer 34 and outputs it to the browser 20.
The transmission FIFO 24 is a buffer that stores therein pieces of frame data as still image (sound) data generated by the browser 20.
The time, management unit 25 manages time T unique to the distribution control system 2.
The time acquisition unit 26 performs time adjustment processing in conjunction with a time controller 56 in the communication terminal 5 described below. Specifically, the time acquisition unit 26 acquires time information (T) indicating time T in the distribution control system 2 from the time management unit 25, receives time information (t) indicating time t in the communication terminal 5 from the time controller 56 described below through the
transmitter/receiver 31 and a transmitter/receiver 51, and transmits the time information (t) and the time information (T) to the time controller 56.
The channel adaptive controller 27 calculates
reproduction delay time U based on transmission delay time information (D) and calculates operation conditions such as the frame rate and the data resolution of a converter 10 in the encoder bridge unit 30. This reproduction delay time U is time for delaying reproduction through the buffering of data until being reproduced. In other words, the channel adaptive controller 27 changes the operation of the encoder bridge unit 30 based on the transmission delay time
information (D) and the size of the data (e.g., the number of bits or the number of bytes) . As described later, the transmission delay, time information (D) indicates frequency distribution information based on a plurality of pieces of transmission delay time Dl acquired from a reproduction controller 53 by a delay information acquisition unit 57 of the communication terminal 5. Each piece of transmission delay time Dl indicates time from the point when the video (sound) data is transmitted from the distribution control system 2 to the point when it is received by the
communication terminal 5.
The encoder bridge unit 30 outputs pieces of frame data as still image (sound) data generated by the browser 20 to the converter 10 in the encoder bridge unit 30
described below. Respective processings are performed based on the operation conditions calculated by the channel. adaptive controller 27. The encoder bridge unit 30 will be described in more detail with reference to FIG. 15 and FIG. 16. FIG. 15 is a detailed diagram of the encoder bridge unit. FIG. 16 is a functional block diagram illustrating the functions of the converter.
As illustrated in FIG. 15, the encoder bridge unit 30 includes a creating/selecting/transferring unit 310, a selecting unit 320, and a plurality of converters (10a, 10b, 10c) provided therebetween. Although the three converters are illustrated here, any number of them may be provided. In the following, any converter is referred to as a
"converter 10".
The converter 10 converts the data format of the pieces of frame data as still image (sound) data generated by the browser 20 into a data format of H.264 or the like allowing distribution of the data to the communication terminal 5 through the communication network 9. For that purpose, as illustrated in FIG. 16, the converter 10
includes a trimming unit 11, a resizing unit 12, a dividing unit 13, and the encoding unit 19, thereby perfroming a variety of processings on the frame data. The trimming unit 11, the resizing unit 12, and the dividing unit 13 do not perform any processing on sound data.
The trimming unit 11 performs processing to cut out part of a still image. The resizing unit 12 changes the scale of a still image. The dividing unit 13 divides a still image as illustrated in FIG. 5.
The encoding unit 19 encodes the. pieces of frame data as still image (sound) data generated by the browser 20, thereby converting them to distribute video (sound) data to the communication terminal 5 through the communication network 9. When the video is not in motion (when there is no inter-frame update (change) ) , a skip frame (may be sometimes referred to as frame skip) is thereafter inserted until the video moves to save a band.
When sound data is generated together with still image data by rendering, both pieces of data are encoded, and when only sound data is generated, only encoding is
performed to compress data without trimming, resizing, and dividing.
The creating/selecting/transferring unit 310 creates a new converter 10, selects pieces of frame data as still image, (sound) data to be input to a converter 10 that is already generated, and transfers the pieces of fram data. In the creation, the creating/selecting/transferring unit 310 creates a converter 10 capable of conversion according to the capability of the communication terminal 5 to reproduce video (sound) data. In the selection, the creating/selecting/transferring unit 310 selects a
converter 10 that is already generated. For example, in starting distribution to the communication terminal 5b in addition to distribution to the communication terminal '5a, the same video (sound) data as video (sound) data being distributed to the communication terminal 5a may be.
distributed to the communication terminal 5b. In such a case, furthermore, when the communication terminal 5b has the same level of capability as the capability of the communication terminal 5a to reproduce video (sound) data, the creating/selecting/transferring unit 310 uses the converter 10a that is already created for the communication terminal 5a, without creating a new converter 10b for the communication terminal 5b. In the transfer, the
creating/selecting/transferring unit 310 transferes the pieces of frame data stored in the transmission FIFO 24 to the converter 10.
The selecting unit 320 selects a desired one from the converters 10 that are already generated. The selection by the creating/selecting/transferring unit 310 and the selecting unit 320 allows distribution in various patterns as illustrated in FIG. 6.
The transmitter/receiver 31. transmits and receives various data, requests, and the like to and from the communication terminal 5. This transmitter/receiver 31 transmits various data, requests, and the like to the communication terminal 5 through the communication network 9 from the cloud, thereby allowing the distribution control system 2 to distribute various data, requests, and the like to the communication terminal 5. For example, in the login processing of the communication terminal 5, the
transmitter/receiver 31 transmits, to the
transmitter/receiver 51 of the communication terminal 5, authentication screen data for prompting a user for a login request. The transmitter/receiver 31 also performs data transmission and data reception to and from user
applications of the communication terminal 5 and device applications of the communication terminal 5 by a protocol unique to the distribution system 1 through a■ Hypertext- Transfer 'Protocol over Secure Socket Layer (HTTPS) server. This unique protocol is an HTTPS-based application layer protocol for transmitting and receiving data in real time without being interrupted between the distribution control system 2 and the communication terminal. The
transmitter/receiver 31 also performs transmission response control, real-time data creation, command transmission, reception response control, reception data analysis, and gesture conversion.
The transmission response control is processing to manage an HTTPS session for downloading requested from the communication terminal 5 in order to transmit data from the distribution control system 2 to the communication terminal 5. The response of the HTTPS session for downloading does not end immediately and holds for a certain period of time (one to several minutes). The transmitter/receiver 31 dynamically writes data to be sent to the communication terminal 5 in the body part of the response. In order to eliminate costs for reconnection, another request is allowed to reach from the communication terminal before the previous session ends. By putting the transmitter/receiver 31 on standby until the previous request is completed, . overhead can be eliminated even when reconnection is performed.
The real-time data creation is processing to give a unique header to the data of compressed video (and a compressed sound) generated by the encoding unit 19 in FIG. 16 and write it in the body part of HTTPS.
The command transmission is processing to generate command data to be transmitted to the communication
terminal 5 and write it in the body part of HTTPS directed to the communication terminal 5.
The reception response control is processing to manage an HTTPS session requested from the communication terminal 5 in order for the distribution control system 2 to receive data from the communication terminal 5. The response of this HTTPS session does not end immediately and is held for a certain period of time (one to several minutes) . The communication terminal 5 dynamically writes data to be sent to the transmitter/receiver 31 of the distribution control system 2 in the body part of the request..
The reception data analysis is processing to analyze the data transmitted from the communication terminal 5 by type and deliver the data to a necessary process.
The gesture conversion is processing to convert a gesture event input to the communication terminal 5f as the electronic blackboard, by a user with an electronic pen or in handwriting into data in a format receivable by the browser 20.
The reception FIFO 34 is a buffer that stores therein video (sound) data decoded by the decoding unit 40.
The recognition unit 35 performs processing on image (sound) data, received from the communication terminal 5. Specifically, for example, the recognition unit 35
recognizes the face, age, sex, and the like of a human or animal based on images taken by a camera 62 for signage. I a workplace, the recognition unit 35 performs name tagging by face recognition and processing of replacing a background image based on images taken by the camera 62. The recognition unit 35 stores recognition information indicating the recognized details in the storage unit 2000. The recognition unit 35 achieves speeding up by performing processing with a recognition expansion board.
The delay information acquisition unit 37a is used for the processing of upstream channel adaptive control and corresponds to the delay information acquisition unit 57 for the communication terminal 5 for use in the processing of downstream channel adaptive control. Specifically, the delay information acquisition unit 37a acquires
transmission delay time information (dl) indicating
transmission delay time dl from the decoding unit 40 and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (dl) are acquired, outputs to the channel adaptive controller 37b transmission delay time information (d) indicating
frequency distribution information based on a plurality of pieces of transmission delay time dl . The transmission delay time information (dl) indicates time from the point when the video (sound) data is transmitted from the
communication terminal 5 to the point when it is received by the distribution control system 2.
The channel adaptive controller 37b is used for the processing of the upstream channel adaptive control and corresponds to the channel adaptive controller 27 for use in the processing of the downstream channel adaptive control. Specifically, the channel adaptive controller 37b calculates the operation conditions of the encoding unit 60 for the communication terminal 5 based on the transmission delay time information (d) . The channel adaptive
controller 37b transmits a channel adaptive control signal indicating operation conditions such, as a frame rate and data resolution to the encoding unit .60 of the
communication terminal 5 through the■ transmitter/receiver 31 and the transmitter/receiver 51.
The decoding unit 40 decodes the video (sound) data transmitted from the communication terminal 5. The
decoding unit 40 also outputs the transmission delay time information (dl) indicating transmission delay time dl to the delay information acquisition unit 37a.
Functional configuration of communication terminal The functional configuration of the communication terminal 5 is described with reference to FIG. 10. FIG. 10 is a functional block diagram illustrating mainly the functions of the communication terminal. The communication terminal 5 is a terminal serving as an interface for a user to perform a login to the distribution system 1, start and stop the distribution of video (sound) data, and the like.
As illustrated in FIG. 10, the communication terminal 5 has functional components in FIG. 10 implemented by the hardware configuration including the CPU 201 and the programs illustrated in FIG. 7. When the communication terminal 5 becomes communicable with the other terminals and systems through the communication network 9 by the insertion of the dongle 99 as illustrated in FIG. 2, the communication terminal 5 has the functional components in FIG. 10 implemented by the hardware configuration and the programs illustrated in FIG. 7 and FIG. 8.
Specifically, the communication terminal 5 includes a decoding unit 50, the transmitter/receiver 51, an operating unit 52, the reproduction controller 53, a rendering unit 55, the time controller 56, the delay information
acquisition unit 57, a display unit 58, and the encoding unit 60. The communication terminal 5 further includes a storage unit 5000 implemented by the RAM 203 illustrated in FIG. 7. This storage unit 5000 stores therein time
difference information (Δ) indicating a time difference Δ described below and time information (t) indicating time t in the communication terminal 5.
The decoding unit 50 decodes video (sound) data distributed from the distribution control system 2 and output from the reproduction controller 53.
The transmitter/receiver 51 transmits and receives various data, requests, and the like to and from the transmitter/receiver 31 of the distribution control system 2 and a transmitter/receiver 71a of the terminal management system 7. For example, in the login processing of the communication terminal 5, the transmitter/receiver 51 performs a login request to the transmitter/receiver 71 of the terminal management system 7 in response to the startup of the communication terminal 5 by the operating unit 52.
The operating unit 52 performs processing to receive operations input by a user, such as input and selection with a power switch, a keyboard, a mouse, the electronic pen P, and the like, and transmits them as operation data to the browser management unit 22 of the distribution control system 2.
The reproduction controller 53 buffers the video
(sound) data (a packet of real-time data) received from the transmitter/receiver 51 and outputs it to the decoding unit 50 with the reproduction delay time U taken into account. The reproduction controller 53 also calculates the
transmission delay time information (Dl) indicating
transmission delay time Dl, and outputs the transmission delay time information (Dl) to the delay information acquisition unit 57.
The rendering unit 55 renders the data decoded by the decoding unit 50.
The time controller 56 performs time adjustment processing in conjunction with the time acquisition unit 26 of the distribution control system 2. Specifically, the time controller 56 acquires time information (t) indicating time t in the communication terminal 5 from the storage unit 5000. The time controller 56 issues a request for time information (T) indicating time T in the distribution control system 2 to the time acquisition unit 26 of the distribution control system 2 through the
transmitter/receiver 51 and the transmitter/receiver 31. In this case, the time information (t) is transmitted concurrently with the request for the time information (T) .
The delay information acquisition unit 57 acquires from a reproduction controller 53 the transmission delay time information (Dl) indicating transmission delay time Dl and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (Dl) are acquired, outputs transmission delay time
information (D) indicating frequency distribution
information based on a plurality of pieces of transmission delay time Dl to the channel adaptive controller 27 through the transmitter/receiver 51 and the transmitter/receiver 31 The transmission delay time information (D) is transmitted, for example, once in a hundred frames.
The display unit 58 reproduces the data rendered by the rendering unit 55.
The encoding unit 60 transmits video (sound) data [E] that is acquired from a built-in microphone 213 or the camera 62 and a microphone 63 that are externally attached, and is encoded; time information (to) that indicates the current time to in the communication terminal 5 and is acquired from the storage unit 5000; and the time
difference information (Δ) that indicates the time
difference Δ in between the distribution control system 2 and the communication terminal 5 and is acquired from the storage unit 5000, to the decoding unit 40 of the
distribution control system 2 through the
transmitter/receiver 51 and the transmitter/receiver 31. The time difference Δ indicates a difference between the time managed independently by the distribution control system 2 and- the time managed independently by the
communication terminal 5. The encoding unit 60. changes the operation conditions of the encoding unit 60 based on the operation conditions indicated by the channel adaptive control signal received from the channel adaptive
controller 37b. The encoding unit 60, in accordance with the new . operation conditions, transmits the video (sound) data [E] that is acquired from the camera 62 and the microphone 63 and is encoded; the time information (t0) that indicates the current time to in the communication terminal 5 and is acquired from the storage unit 5000; and the time difference information (Δ) that indicates the time difference Δ and is acquired from the storage unit 5000, to the decoding unit 40 of the distribution control system 2 through the transmitter/receiver 51 and the
transmitter/receiver 31.
The built-in microphone 213, the externally attached camera 62 and microphone 63, and the like are examples of an inputting unit and are devices that need encoding and decoding. The inputting unit may output touch data and smell data in addition to video (sound) data.
The inputting unit includes various sensors such as a temperature sensor, a direction sensor, an acceleration sensor, and the like.
Functional configuration of the terminal management system
The functional configuration of the terminal.
management system 7 is described with reference to FIG. 11. FIG. 11 is a functional block diagram illustrating the functions of the terminal management system. As illustrated in FIG. 11, the terminal management system 7 has functional components in FIG. 11 implemented by the hardware configuration including the CPU 201 and the programs illustrated in FIG. 7.
Specifically, the terminal management system 7.
includes the transmitter/receiver 71a, a
transmitter/receiver 71b, and an authentication unit 75. The terminal management system 7 further includes a storage unit 7000 implemented. by the HDD 204 illustrated in FIG. 7. The storage unit 7000 stores therein distribution ,
destination selection menu data, a terminal management table 7010, and an available terminal management table 7020
The distribution destination selection menu is data indicating such a destination selection menu screen as illustrated in FIG. 12.
As illustrated in FIG. 13, the terminal management table 7010 manages the terminal ID of the communication terminal 5, a user certificate, contract information when a user uses the services of the distribution system 1, the terminal type of the communication terminal 5, setting information indicating the home uniform resource locators (URLs) of the respective communication terminals 5, the execution environment information of the communication terminals 5, a shared ID, installation position information and display name information in association with each other The execution environment information includes "favorites", "previous Cookie information", and "cache file" of each communication terminal 5, which are sent to the
distribution control system 2 together with the setting information after the login of the communication terminal 5 and are used for performing an individual service on the communication terminal 5.
The shared ID is an ID that is used when each user distributes the same video (sound) data as video (sound) data being distributed to his/her own communication
terminal 5 to the other communication terminals 5, thereby performing remote sharing processing, and is identification information that identifies the other communication
terminals and the other communication terminal group. For example, the shared ID of the terminal ID "t006" is "νθθβ", the shared ID of the terminal ID "t007" is "v006", and the shared ID of the terminal ID "t008" is v006". When the communication terminal 5a with the terminal ID "tOOl" issues a request for remote sharing processing with the communication terminals (5fl, 5f2, 5f3) with the terminal ID "v006", the distribution control system 2 distributes the same video (sound) data as video (sound) data being distributed to the communication terminals 5a to the communication terminals (5fl, 5f2, 5f3) . However, when the communication terminals 5a and the communication terminals (5fl, 5f2, 5f3) are different in the resolution of the display unit 58, the distribution control system 2
distributes the video (sound) data accordingly.
As illustrated in FIG. 5, for example, the
installation position information indicates an installation position when the communication terminals (5fl, 5f2, 5f3) are arranged side by side. The display name information is information indicating the details of the display name in the distribution destination selection menu illustrated in FIG. 12.
As illustrated in FIG. 14, the available terminal management table 7020 manages, in association with each terminal ID, a shared ID indicating a communication
terminal or a communication terminal group with which the communication terminal 5 indicated by the terminal ID can perform remote sharing processing. The functional components are described with reference to FIG. 11.
The transmitter/receiver 71a transmits and receives various data, requests, and the like to and from the communication terminal 5. For example, the
transmitter/receiver 71a receives a login request from the transmitter/receiver 51 of the communication terminal 5 and transmits an authentication result of the login request to the transmitter/receiver 51.
The transmitter/receiver 71b transmits and receives various data, requests, and the like to and from the distribution control system 2. For example, the
transmitter/receiver 71b receives a request for the data of the distribution destination selection menu from the transmitter/receiver 21 of the distribution control system 2 and transmits the data of the distribution destination selection menu to the transmitter/receiver 21.
The authentication unit 75 searches the terminal management table 7010 based on the terminal ID and the user certificate received from the communication terminal 5, thereby determining whether there is the same combination of a terminal ID and a user certificate, thereby
authenticating the communication terminal 5.
Operations and processing of the embodiment
Operations and pieces of processing of the present embodiment are described with reference to FIG. 17 to FIG. 24. These pieces of processing are performed by the CPUs of the distribution control system 2, the communication terminal 5, the terminal management system 7, and the web server 8 in accordance with the respective programs stored therein.
Basic distribution processing
Specific distribution processing in the basic distribution method illustrated in FIG. 3. is described with reference to FIG. 17. FIG. 17 is a sequence diagram illustrating the basic distribution processing of the distribution control system. Although described here is a case of issuing a login request through the communication terminal 5a, a login may be performed through the
communication terminal 5 other than the communication terminal 5a.
As illustrated in FIG. 17, when a user turns on the communication terminal 5a, the transmitter/receiver 51 of the communication terminal 5a issues a login request to the transmitter/receiver 71a of the terminal management system 7 (Step S21) . The transmitter/receiver 71a receives the login request. This login request includes the terminal ID and the user certificate of the communication terminal 5a. The authentication unit 75 then acquires the terminal ID and the user certificate of the communication terminal 5a.
The authentication unit 75 searches the terminal management table 7010 based on the terminal ID and the user certificate, thereby determining whether there is the same combination of a terminal ID and a user certificate, thereby authenticating the communication terminal 5a (Step S22). The following describes a case where the same combination of a terminal ID and a user certificate is present in the terminal management table 7010, that is, where the . communication terminal 5a is determined as a valid terminal in the distribution system 1.
The transmitter/receiver 71a of the terminal
management system 7 transmits the IP address of the
distribution control system 2 to the transmitter/receiver 51 of the communication terminal 5a (Step S23) . The IP address of the distribution control system 2 is acquired from the distribution control system 2 by the terminal management system 7 and is stored in the storage unit 7000 in advance.
The transmitter/receiver 71b of the terminal
management system 7 issues a startup request of the browser 20 to the transmitter/receiver 21 of the distribution control system 2 (Step S24) . The transmitter/receiver 21 receives the startup request of the browser 20. The
browser management unit 22 starts up the browser 20 based on the startup request received by the transmitter/receiver 21 (Step S25) .
The creating/selecting/transferring unit 310 of the encoder bridge unit 30 creates the converter 10 in
accordance with the capability of the communication
terminal 5a to reproduce video (sound) data (the resolution of the display and the like) and the type of content (Step S26) . Next, the transmitter/receiver 21 issues a request for content data [A] to the web server 8 in accordance with an instruction by the browser 20 (Step S27). In response thereto, the web server 8 reads the requested content data [A] from its own storage unit (not illustrated) (Step S28)., The web server 8 then transmits the content data [A] to the transmitter/receiver 21 of the distribution control system 2 (Step S29) .
The browser 20 renders the content data [A] received by the transmitter/receiver 21, thereby generating pieces of frame data as still image, (sound) data and outputs them to the transmission FIFO 24 (Step S30) . The converter 10 encodes the pieces of frame data stored in the transmission FIFO 24, thereby converting them into video (sound) data
[A] to be distributed to the communication terminal 5a
(Step S31) .
The transmitter/receiver 31 transmits the video
(sound) data [A] to the transmitter/receiver 51 of the communication terminal 5a (Step S32) . The
transmitter/receiver 51 of the communication terminal 5a receives the video (sound) data [A] and outputs it to the reproduction controller 53.
In the communication terminal 5a, the decoding unit 50 acquires the video (sound) data [A] from the reproduction controller 53 and decodes it (Step S33) . After that, a speaker 61 reproduces sound based on decoded sound data [A] , and the display unit 58 reproduces video based on video data [A] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S34) .
Processing of composite distribution using a plurality of communication terminals
The following describes communication processing using a plurality of communication terminals through the
distribution control system with reference to FIG. 18. FIG. 18 is a sequence diagram illustrating distribution
processing using a plurality of communication terminals through the distribution control system. Described here is specific processing for the communication terminals 5 in the pattern illustrated in FIG. 6. Because the processing here includes login processing, browser startup, and the like similar to Steps: S21 to S29, description starts with the processing corresponding to Step S29.
As illustrated in FIG. 18, the transmitter/receiver 21 of the distribution control system 2 receives content data [A] from the web server 8 (Step S41) . The browser 20 renders the content data [A]., thereby generating pieces of frame data as still image (sound) data and outputs them to the transmission FIFO 24 (Step S42) .
When the encoding unit 60 of the communication
terminal 5fl receives the input of content data as video (sound) data [E] from the camera 62 and the microphone 63 (Step S43), the encoding unit 60 encodes the content data [E] (Step S44) . The transmitter/receiver 51 transmits the content data [E] encoded by the encoding unit 60 to the transmitter/receiver 31 of the distribution control system 2 (Step S45) . The transmitter/receiver 31 of the
distribution control system 2 receives the content data [E] .
The decoding unit 40 of the distribution control system 2 decodes the content data [E] received by the transmitter/receiver 31 and outputs it to the reception FIFO 34 (Step S46) . The browser 20 renders the content data [E] stored in the reception FIFO 34, thereby
generating frame data [E] as still image (sound) data and outputs it to the transmission FIFO 24 (Step S47). In this case, the browser 20 outputs the data in a layout in which the content data [E] is combined with the content data [A] already acquired.
In addition, when the operating unit 52 of the
communication terminal 5fl . receives the input of a stroke operation with the electronic pen PI (Step S48), the
transmitter/receiver 51 transmits operation data [p]
indicating the details of the stroke operation received by the operating unit 52 to the transmitter/receiver 31 of the distribution control system 2 (Step S49) . The
transmitter/receiver 31 of the distribution control system 2 receives the operation data [p] . The browser management unit 22 outputs the operation data [p] received by the transmitter/receiver 31 to the browser 20.
The browser 20 renders the operation data [p] , thereby generating frame data [p] as still image (sound) data and outputs it to the transmission FIFO 24 (Step S50) . In this case, the browser 20 outputs the data in a layout in which the operation data [p] is combined with the content data ( [A] , [E] ) already acquired. The converter 10 encodes pieces of frame data ([A],. [E] [p] ) as still image (sound) data stored in the
transmission FIFO 24, thereby converting them into video (sound) data ([A], [E] , [p] ) to be distributed to the communication terminals 5fl and 5f2 (Step S51) .
The transmitter/receiver 31 acquires the encoded video (sound) data ([A], [E] , [p] ) from the encoder bridge unit 30. including the converter 10 and transmits it to the transmitter/receiver 51 of the communication terminal 5fl (Step S52-1) . The transmitter/receiver 51 of the
communication terminal 5fl receives the video (sound) data ([A], [E] , [p] ) , and the reproduction controller 53 of the communication terminal 5fl acquires the video (sound) data ([A], [E] , [p] ) from the transmitter/receiver 51. In the communication terminal 5fl, the decoding unit 50 acquires the video (sound) data ([A], [E] , [p] ) from the
reproduction controller 53 and decodes it (Step S53-1) . After that, the speaker 61 reproduces sound based on decoded sound data ([A], [E] ) , and the display unit 58 reproduces video based on video data ([A], [Έ] , [p] ) acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S54-1) .
For the communication terminal 5f2, as is the case with Step S52-1, the transmitter/receiver 31 acquires the encoded video (sound) data ([A], [E] , [p] ) from the encoder bridge unit 30 and transmits it to the transmitter/receiver 51 of the communication terminal 5f2 (Step S52-2) . The reproduction controller 53 of the communication terminal 5f2 acquires the video (sound) data ([A], [E] , [p] ) . In the communication terminal 5fl, the decoding unit 50 acquires the video (sound) data ( [A] , [E] , [p] ) from the reproduction controller 53 and decodes it (Step S53-2). After that, the speaker.61 reproduces sound based on decoded sound data ( [A] , [E] ) , and the display unit 58 reproduces video based on video data ([A], [E] , [p] )
acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S54-2) .
Thus, the same video (sound) as the video (sound) output to the communication terminal 5fl is output also to the communication terminal 5f2.
Processing of time adjustment
The processing of time adjustment is described with reference to FIG. 19. FIG. 19 is a sequence diagram
illustrating the processing of time adjustment.
In order to acquire time indicating when the
transmitter/receiver 51 issues a request for the time information (T) to the distribution control system 2, the time controller 56 of the communication terminal 5 acquires time information (ts) in the communication terminal 5 from the storage unit 5000 (Step S81) . The transmitter/receiver 51 issues a request for the time information (T) to the transmitter/receiver 31 (Step S82) . In this case, the time information (ts) is transmitted concurrently with the request for the time information (T) .
In order to acquire time indicating when the
transmitter/receiver 31 received the request at Step S82, the time acquisition unit 26 of the distributio control system 2 acquires time information (Tr) in the distribution control system 2 from the time management unit 25 (Step S83) . In order to acquire time indicating when the
transmitter/receiver 31 responds to the request at Step S82, the time acquisition unit 26 further acquires time
information (Ts) in the distribution control system 2 from the time management unit 25 (Step S84). The
transmitter/receiver 31 then transmits the time information (ts, Tr, Ts) to the transmitter/receiver 51 (Step S85) . In order to acquire time indicating when the
transmitter/receiver 51 received the response at Step S85, the time controller 56 of the communication terminal 5 acquires time information (tr) in the communication
terminal 5 from the storage unit 5000 (Step S86) .
The time controller 56 of the communication terminal 5 calculates the time difference Δ between the distribution control system 2 and the communication terminal 5 (Step S87). This time difference, Δ is given by Equation (1) below.
A = ( (Tr- + Ts) /2) - (,(tr + ts) /2) (1) The time controller 56 stores the time difference information (Δ) indicating the time difference Δ in the storage unit 5000 (Step S88) . The series of processing of time adjustment is performed, for example, regularly every minute .
Processing of downstream channel adaptive control Described next with reference to FIG. , 20 is the processing of channel adaptive control on data transmitted from the distribution control system 2 to the communication terminal 5 (downstream). FIG. 20 is a sequence diagram illustrating the processing of channel adaptive control on data transmitted from the distribution control system to the communication terminal.
. First, the channel adaptive controller 27 of the distribution control system 2 calculates reproduction delay time information (U) indicating reproduction delay time U for delaying reproduction by buffering until the
reproduction controller 53 of the communication terminal 5 reproduces video (sound) data, and outputs the reproduction delay time information (U) to the encoder bridge unit 30 (Step S101) . The transmitter/receiver 31 then acquires the
reproduction . delay time information (U) from the encoder bridge unit 30 and transmits it to the transmitter/receiver 51 of the communication terminal 5 (Step S102) . The transmitter/receiver 51 of the communication terminal 5 receives the reproduction delay time information (U) . The encoder bridge unit 30 adds time information (T0)
indicating time T0 acquired from the time management unit 25, as a time stamp to the video (sound) data [A] acquired from the transmission FIFO 24 and encoded, for example (Step S103) . The transmitter/receiver 31 transmits the video (sound) data and the time information (T0) of the distribution control system 2 to the transmitter/receiver 51 of the communication terminal 5 (Step S104) . The transmitter/receiver 51 of the communication terminal 5 receives the time information (To) of the distribution control system 2 and outputs the video (sound) data and the time information (To) to the reproduction controller 53.
In the communication terminal 5, based on the
reproduction delay time information (U) acquired at Step
S102, the time information (T0) acquired at Step S104, and the time difference information (Δ) stored in the storage unit 5000 at Step S88, the reproduction controller 53 waits until the time (Τ0+ϋ-Δ) in the communication terminal 5 and then outputs the video (sound) data acquired at Step S104 to the decoding unit 50. This causes the speaker 61 to output sound and the display unit 58 to reproduce video through the rendering unit 55 (Step S105) . This causes only video (sound) data received by the communication terminal 5 within the range of the reproduction delay time U given by Equation (2) below to be reproduced, while video (sound) data out of the range is delayed excessively and is deleted without being reproduced. U > (to + Δ) - To (2)
The reproduction controller 53 reads the current time t0 in the communication terminal 5 from the storage unit 5000 (Step S106) . This time t0 indicates time in the communication terminal 5 when the communication terminal 5 received video (sound) data from the distribution control system 2. The reproduction controller 53 further reads the time difference information (Δ) indicating the time
difference Δ stored at Step S86 in the storage unit 5000 (Step S107). The reproduction controller 53 then
calculates the transmission delay time Dl indicating time from the point when the video (sound) data is transmitted from the distribution, control system 2 to the point when it is received by the communication terminal 5 (Step S108) . This calculation is performed with Equation (3) below; when the communication network 9 becomes congested, the
transmission delay time Dl becomes longer.
Dl = (to + Δ) - To (3)
The delay information acquisition unit 57 acquires transmission delay time information (Dl) indicating the transmission delay time Dl from the reproduction controller 53 and holds it for . a certain period of time, and when a plurality of pieces of transmission delay time information (Dl) are acquired, outputs to the transmitter/receiver 51 the transmission delay time information (D) indicating frequency distribution information based on a plurality, of pieces of transmission delay time Dl (Step S109) . The transmitter/receiver 51 transmits the transmission delay time information (D) to the transmitter/receiver 31 of the distribution control system 2 (Step S110) . The
transmitter/receiver 31 of the distribution control system 2 receives the transmission delay time information (D) and outputs the transmission delay time information (D) to the channel adaptive controller 27.
The channel adaptive controller 27 of the distribution control system 2 newly calculates reproduction delay information U' based on the transmission delay time
information (D) and calculates the operation conditions such as the frame rate and the data resolution of the converter 10 and outputs them to the encoder bridge unit 30 (Step Sill). In other words, the channel adaptive
controller 27 changes the operation of the encoder bridge unit 30 based on the transmission delay time information (D) and the size of the data (e.g., the number of bits or the number of bytes).
The transmitter/receiver 31 acquires reproduction delay time information (ϋ') indicating the new reproduction delay time U1 calculated at Step Sill from the encoder bridge unit 30 and transmits the reproduction delay time information (U') to the transmitter/receiver 51 of the communication terminal 5 (Step S112) . The
transmitter/receiver 51 of the communication terminal 5 receives the reproduction delay time information (ϋ').
The converter 10 of the encoder bridge unit 30 changes the operation conditions of the converter 10 based on the channel adaptive control signal indicating the operation conditions (Step S113) . For example, when the transmission delay time.Dl is excessively long and the reproduction delay time U is made longer in accordance with the
transmission delay time Dl, reproduction time at the speaker 61 and the display' unit 58 becomes delayed
excessively. As a result, there is a limit to making the reproduction delay time U longer. In view of this, the channel adaptive controller 27 not only causes the encoder bridge unit 30 to change the reproduction delay time U to be the reproduction delay time U* but also causes the converter 10 to decrease the frame rate of video (sound) data and to decrease the resolution of video (sound) data, thereby addressing the congestion of the communication- network 9. This causes the encoder bridge unit 30, as with Step S103, to add the current time information (T0) to the video (sound) data [A] as a time stamp in accordance with the changed operation conditions (Step S104). The video (sound) data is thus added (Step SI14).. The
transmitter/receiver 31 transmits the video (sound) data and the time information (T0) of the distribution control system 2 to the transmitter/receiver 51 of the
communication terminal 5 (Step S115) . The
transmitter/receiver 51 of the communication terminal 5 receives the video (sound) data and the time information (To) of the distribution control system 2 and outputs the video (sound) data and the time information (T0) to the reproduction controller 53.
In the communication terminal 5, based on the
reproduction delay time information (U1) acquired at Step S112, the time information (T0) acquired at Step S115, and the time difference information (Δ) stored in the storage unit 5000 at Step S88, the reproduction controller 53 waits until the time (To+U'-Δ) in the communication terminal 5 and then outputs the video (sound) data to the decoding unit 50, thereby, as with Step S105, causing the speaker 61 to output sound and the display unit 58 to reproduce video through the rendering unit 55 (Step S116) . This is
followed by the processing at and after Step S106. Thus, the processing of the downstream, channel adaptive control is performed continuously.
Processing of upstream channel adaptive control
Described next with reference to FIG. 21 is the processing of channel adaptive control on data transmitted from the communication terminal 5 to the distribution control system 2 (upstream) . FIG. 20 is a sequence diagram illustrating the processing of channel adaptive control on data transmitted from the communication terminal to the distribution control system.
First, the encoding unit 60 of the communication terminal 5 encodes content data as video (sound) data [E] input from the camera 62 and the microphone 63 (Step S121) . In this situation, the encoding unit 60 acquires the time information (to) indicating the current time to in the communication terminal 5 and the time difference
information (Δ) indicating the time difference Δ from the storage unit 5000 and does not encode them. The
transmitter/receiver 51 transmits the video (sound) data [E] , the time information (t0) , and the time difference information (Δ) to the transmitter/receiver 31 of the distribution control system 2 (Step S122) . The
transmitter/receiver 31 of the distribution control system 2 receives the video (sound) data [E] , the. time information (t0) , and the time difference information (Δ) .
In the distribution control system 2, the decoding unit 40 reads time T0 indicating when the video (sound) data [E] and the like were received at Step S112 from the time management unit 25 (Step S123) . The decoding unit 40 then calculates transmission delay time dl indicating time from the point when the video (sound) data is transmitted from the communication terminal 5 to the point when it is received by the distribution control system 2 (Step S124). This calculation is performed by Equation (4) below; when the communication network 9 becomes congested, the
transmission delay time dl becomes longer. dl = To - (to + Δ) (4) As is the case with the delay information acquisition unit 57, the delay information acquisition unit 37a of the distribution control system 2 acquires transmission delay time information (dl) indicating the transmission delay time dl from the decoding unit 40 and holds it for a certain period of time, and when a plurality of pieces of transmission delay time information (dl) are acquired, outputs to the- channel adaptive controller 37b the
transmission delay time information (d) indicating
frequency distribution information based on a plurality of pieces of the transmission delay time dl (Step S125) .
Based on the transmission delay time information (d) , the channel adaptive controller 37b calculates the
operation conditions of the encoding unit 60 (Step S126) . The transmitter/receiver 31 transmits a channel adaptive control signal indicating the operation conditions such as a frame rate and data resolution to the
transmitter/receiver 51 of the communication terminal 5 (Step S127) . The transmitter/receiver 51 of the
communication terminal 5 receives the channel adaptive control signal. In other words, in the case of the channel adaptive control illustrated in FIG. 20 (downstream), the channel adaptive control signal is output to the encoder bridge unit 30 within the same distribution control system 2, and in contrast, in the case of the channel adaptive control illustrated in FIG. 21 (upstream), the channel adaptive control signal is transmitted to the communication terminal 5 from the distribution control system 2 through the communication network 9.
Based on the operation conditions received by the transmitter/receiver 51, the encoding unit 60 changes the operation conditions of the encoding unit 60. (Step S128) . The encoding unit 60 then performs the same processing as Step S.121 based on the new operation conditions (Step S129) . The transmitter/receive 51, as with Step S122, transmits the video (sound) data [E] acquired from the camera 62 and the microphone 63 and encoded, the time information (to) indicating the current time t0 in the communication
terminal 5 acquired from the storage unit 5000, and the time difference information (Δ) indicating the time
difference Δ also acquired from the storage unit 5000 to the transmitter/receiver 31 o*f the distribution control system 2 (Step S130) . The. transmitter/receiver 31 of the distribution control system 2 receives the video (sound) data [E] , the time information (to) , and the time
difference information (Δ) . This is followed by the
processing at and after Step S123. Thus, the processing of the upstream channel adaptive control is performed
continuously.
Processing of multidisplay
The processing of multidisplay is described next with reference to FIG. 22 to FIG. 24. FIG. 22 to FIG. 24 are sequence diagrams illustrating the processing of
multidisplay illustrated in FIG. 5.
The following describes an example of reproducing video (sound) [XYZ] being reproduced on the communication terminal 5a also on the communication terminals (5fl, 5f2, 5f3) in a divided manner.
The browser 20 for displaying web content is referred to as a "browser 20a", and the browser 20 for displaying a setting screen for a user is referred to as a "browser 20b". Described first is the processing corresponding to Step S30 in FIG. 17.
First, the browser 20a of the distribution control system 2 renders the web content data [XYZ] acquired from the web server 8, thereby generating pieces of frame data as still image (sound) data and outputs them to the
transmission FIFO 24 (Step S201) . The converter 10 encodes the pieces of frame data stored- in the transmission FIFO 24, thereby converting them into video (sound) data [XYZ] in a data format distributable to the communication terminal 5a (Step S202) .
The transmitter/receiver 31 transmits the video
(sound) data [XYZ] converted by the converter 10 to the transmitter/receiver 51 of the communication terminal 5a (Step S203) . The transmitter/receiver 51 of the
communication terminal 5a receives the video (sound) data [XYZ] and outputs it to the reproduction controller 53.
In the communication terminal 5a, the decoding unit 50 acquires the video (sound) data [XYZ] from the reproduction controller 53 and decodes it (Step S204) . After that, the speaker 61 reproduces sound based on decoded sound data
[XYZ], and the display unit 58 reproduces video based on video data [XYZ] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S205) .
A screen displayed on the display unit 58 is switched to a menu request screen (not illustrated) by the user of the communication terminal 5a, and the operating unit 52 receives the pressing of a "distribution destination
selection menu" (not illustrated) on the menu request screen (Step S206) . This causes the transmitter/receiver 51 to transmit a request for switching to the distribution destination selection menu to the transmitter/receiver 71a of the terminal management system 7 (Step S207). The transmitter/receiver 71a of the terminal management system 7 receives the request for switching to the distribution destination selection menu. This request includes the terminal ID of the communication . terminal 5a.
The transmitter/receiver 71b. transmits a startup request of the browser 20b to the transmitter/receiver 21 of the distribution control system 2 (Step S208) . The transmitter/receiver 21 of the distribution control system 2 receives the startup request of the browser 20b and issues the startup request' of the browser 20b to the browser management unit 22.
The browser management unit 22 then starts up the browser 20b (Step S209) . The
creating/selecting/transferring unit 310 of the encoder bridge unit 30 switches the output from the browser 20a to the converter 10 (e.g., the converter 10a) to the output from the browser 20b to the converter 10 (e.g., the
converter 10b) (Step S210) . When the communication
terminal 5a and another communication terminal 5 (e.g., the communication terminal 5b) are sharing the converter 10
(e.g., the converter 10a) to receive the video (sound) data at Step S203, the creating/selecting/transferring unit 310 of the encoder bridge unit 30 newly creates the converter 10 (e.g., the converter 10b), because the other
communication terminal 5 (e.g., the communication terminal 5b) is using the converter 10 (e.g., the converter 10a) for the browser 20a.
The transmitter/receiver 21 transmits a request for a distribution destination selection menu to the
transmitter/receiver 71b of the terminal management system 7 in accordance with an instruction by the browser 20b
(Step S211) . In this situation, the terminal ID of the communication terminal 5a is also transmitted. The
transmitter/receiver 71b of the terminal management system 7 receives the. request for a distribution destination selection menu and outputs the terminal ID of the communication terminal 5a to. the storage unit 7000.
In response thereto, the storage unit 7000 of the terminal management system 7 searches the available
terminal management table 7020 based on the terminal ID, thereby extracting the corresponding shared ID (Step S212). This shared ID indicates a communication terminal 5
available for the communication terminal 5a to perform remote sharing processing. As illustrated in FIG. 14, because the terminal ID of the communication terminal 5a is "tOOl", the shared IDs to be extracted are "v003" and
"v006".
The storage unit 7000 further searches the terminal management table 7010 based on the extracted shared ID, thereby extracting display name information indicating the corresponding display name (Step S213) . As illustrated in FIG. 13, the display names corresponding to the extracted shared IDs "v003" and "v006" are "Tokyo head office 10F MFP" and "Osaka exhibition hall IF multidisplay" ,
respectively.
The transmitter/receiver 71b transmits distribution destination selection menu data [M] as content data to the transmitter/receiver 21 of the distribution control system 2 (Step S214) . The transmitter/receiver 21 of the
distribution control system 2 receives the distribution destination selection menu data [M] and outputs it to the browser 20b. As illustrated in FIG. 12, this distribution destination selection menu data [M] includes check boxes, shared IDs, and display names.
As illustrated in FIG. 23, the browser 20b renders the content data indicating the distribution destination selection menu data [M] acquired from the terminal
management system 7, thereby generating pieces of frame data as still image (sound) data and outputs them to the transmission FIFO 24 (Step S221) . The converter 10 encodes the pieces of image (sound) data [M] stored in the
transmission FIFO 24, thereby converting them into video (sound) data [ ] in a data format distributable to the communication terminal 5a (Step S222) .
The transmitter/receiver 31 transmits the video
(sound) data [M] converted by the converter 10 to the transmitter/receiver 51 of the communication terminal 5a (Step S223) . The transmitter/receiver 51 of the.
communication terminal 5a receives the video (sound) data [M] and outputs it to the reproduction controller 53.
In the communication terminal 5a, the decoding unit 50 acquires the video (sound) data [M] from the reproduction controller 53 and decodes it (Step S224). After that, the display unit 58 reproduces video as illustrated in FIG. 12 based on the video data [XYZ] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S225) .
In the distribution destination selection menu
illustrated in FIG. 12, when the check box of the shared ID "νθθβ" is checked and the "OK" button is pressed by the user, the operating unit 52 receives the operation input by the user (Step S226) .
The transmitter/receiver 51 transmits a check result as operation data to the transmitter/receiver 31 of the distribution control system 2 (Step S227). The
transmitter/receiver 31. of the distribution control system 2 receives the check result as operation data and outputs it to the browser 20b.
The browser 20b selects the shared ID from the check result (Step S228) . The transmitter/receiver 21 transmits a request for adding a distribution destination, to the transmitter/receiver 71b of the terminal management system 7 in accordance with an instruction by the browser.20b (Step S229) . This request for adding a distribution
destination includes the shared ID selected at Step S227. The transmitter/receiver 71b of the terminal management system 7 receives the request for adding, a distribution destination and outputs the shared ID to the storage unit 7000. The browser 20b then ends (Step S230) . This causes the creating/selecting/transferring unit 310 of the encoder bridge unit 30 to switch the output from the browser 20b to the converter 10 back to the output from the browser 20a to the converter 10 (Step S231) .
As illustrated in FIG. 24, in the storage unit 7000 of the terminal management system 7, the terminal management table 7010 is searched based on the shared ID sent at Step S229, thereby extracting the corresponding terminal ID and installation position information (Step S241) . The
transmitter/receiver 71b transmits an instruction to add a distribution destination, to the transmitter/receiver 21 of the distribution control system 2 (Step S242) . This
instruction to add a distribution destination includes the terminal ID and the installation position information extracted at Step S241. The transmitter/receiver 21 of the distribution control system 2 receives the instruction to add a distribution destination and outputs the instruction to add a distribution destination to the browser management unit 22. Included here are three sets of the terminal ID and the installation position information, that is, the terminal, ID and the installation position information being "t006" and "left", respectively, the terminal ID and the installation position information being "t007" and "middle", respectively, and the terminal ID and the installation position information being "t008" and "right", respectively.
The creating/selecting/transferring unit 310 of the encoder bridge unit 30 creates a converter 10 for multidisplay (Step S243) . In this case, the
creating/selecting/transferring unit 310 of the encoder bridge unit 30 acquires the terminal ID and the
installation' position information from the browser
management unit 22.
The dividing unit 13 of the converter 10 created at Step S243 divides the pieces of frame data [XYZ] as still image (sound) data stored in the transmission FIFO 24, and the encoding unit 19 encodes the divided pieces of frame data (Step S244) ."
The transmitter/receiver 31 transmits video (sound) data [X] encoded "by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5fl based on the terminal ID ("t006") and the installation position information ("left") (Step S245-1) . The
transmitter/receiver 51 of the communication terminal 5fl receives the video (sound) data [X] and outputs it to the reproduction controller 53.
In the communication terminal 5fl, the decoding unit 50 acquires the video (sound) data [X] from the
reproduction controller 53 and decodes it (Step S246-1) .
After that, the speaker 61 reproduces sound based on
decoded sound data [X] , and the display unit 58 reproduces video based on video data [X] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S247-1) .
Similarly, the transmitter/receiver 31 transmits video (sound) data [Y] encoded by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5f2 based on the terminal ID (xxt007") and the installation position information ("middle") (Step S245-2) . The
transmitter/receiver 51 of the communication terminal 5f2 receives the video (sound) data [Y] and outputs it to the reproduction controller 53.; In the communication terminal 5f2, the decoding unit 50 acquires the video (sound) data [Y] from the
reproduction controller 53 and decodes it (Step S246-2) .
After that, the speaker 61 reproduces sound based on
decoded sound data [Y] , and the display unit 58 reproduces video based on video data . [Y] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S247-2) .
Similarly, the transmitter/receiver 31 transmits video (sound) data [Z] encoded by the encoder bridge unit 30 to the transmitter/receiver 51 of the communication terminal 5f3 based on the terminal ID ("t008") and the installation position information ("right") (Step S235-3) . The
transmitter/receiver 51 of the communication terminal 5f3 receives the video (sound) data [Z] and outputs it to the reproduction controller 53.
In the communication terminal 5f3, the decoding unit 50 acquires the video (sound) data [Z] from the
reproduction controller 53 and. decodes it (Step S246-3).
After that, the speaker 61 reproduces sound based on
decoded sound data [Z] , and the display unit 58 reproduces video based on video data [Z] acquired from the decoding unit 50 and rendered by the rendering unit 55 (Step S247-3) .
Processing to generate various types of frame data Described next with reference to FIG. 25 and FIG. 26 is processing to generate various types of frame data. FIG. 25 is a conceptual diagram of various types of frame data. The present embodiment generates four types of frame data. The four types of frame data include "periodically
generated I frame data" and "P frame data", and "skip frame data" and "forcefully generated I frame data". The
"periodically generated I frame data" will be indicated as "periodic I frame data" below, and the "forcefully
generated I frame data" will be indicated as "forceful I frame data" below. The periodic I frame data is an example of first frame data, the P frame data is an example of second frame data, the skip frame data is an example of third frame data, and the forceful I frame data is an example of fourth frame data.
Described first is the generation of the periodic I frame data and the P frame data as known techniques. In general, in order to transmit video data through a
communication network efficiently, unnecessary data is reduced or removed by a video compression technique. The video compression technique causes an encoder to encode pieces of frame data within the video data and generate the periodic I frame data or the P frame data.
The periodic I frame (intra frame) data is frame data that a communication terminal can reproduce by decoding independently (singly) without referring to other images. As illustrated in FIG. 25, the first image of the video data is always periodic I frame data. For ease of
description, illustrated here is a case in which the distribution of one piece of periodic I frame data and four pieces of P frame data is repeated. Specifically, the encoding unit 19 repeats the generation of periodic I frame data and P frame data, namely, generates periodic I frame data Ml constituting the video data, then generates four pieces of P frame data (Mil, Ml.2, M13, 14) constituting the video data successively, and subsequently generates periodic I frame data M2 constituting the video data, and then generates P frame data ( 21, M22, M23, M24)
constituting the video data successively, for example.
The periodic I frame data is used for implementing a starting point of a new user who views video data, a resynchronization point when a problem occurs in a bit stream under transmission, fast forwarding and rewinding, and a random access function. The encoding unit 19
generates the periodic I frame data automatically at regular intervals and generates the periodic I frame data as needed when, for example, a user who views the video data is newly added. Although the periodic I frame data has the drawback of requiring a larger bit numbers (large in the amount of data) because it is not differential data, the periodic I frame data has the advantage of not causing noise. or the like due to a loss of data.
The P frame (predictive inter frame) data, which is constituted by differential data as a difference with the previous frame data, is frame data that: is encoded with part of the previous periodic I frame data or P frame data referred to by the encoding unit 19. Although having the advantage of requiring a smaller bit numbers than the periodic I frame data, the P frame data has the drawback of being susceptible to distribution errors, because being in complicated dependence relation with the previous P frame data or periodic I frame data. Because the user datagram protocol (UDP) , which makes data transfer at high speed but low quality, is used for distributing video data, the frame data may be lost on a communication network. In this case, the present P frame data is susceptible to distribution errors because the video data distributed to a user (the communication terminal 5) collapses due to an influence of the lost previous P frame data. However, owing to the periodic I frame data periodically inserted, the collapse of the video data is eliminated.
Described next is the generation of the skip frame data and the forceful I data unique to the present
embodiment .
As described above, because the P frame data is differential data with the previous frame data (the P frame data or the forceful I frame data) , if there is no updated part with respect to the previous one, differential
calculation executed by the encoding unit 19 is wasted.
The periodic I frame data is not subjected to
differential calculation by the encoding unit 19, but subjected to compression calculation for encoding. The amount of data of the periodic I frame data generated by this encoding is larger than that of the P frame data. For this reason, for the periodic I frame data, if there is no updated part with respect to the previous one, the
compression calculation is wasted. In addition, because the amount of data of the periodic I frame data is large, it takes a longer transmission time on the bus line 220 within the distribution control system.
For example, in Fig. 25, the P frame data (M22, M23, 24), periodic I frame data M3, and P frame data 31 are not updated (changed) continuously. In this state, the processing of differential calculation or compression calculation by the encoding unit 19 is wasted.
Given this situation, in the present embodiment, when the frame data sent from the browser 20 to the transmission FIFO 24 is not updated a certain number of times, the encoding unit 19 generates the skip frame data in place of the periodic I frame data or the P frame data.
This skip frame data is frame data with the contents being not updated (changed) as compared with the contents of the previous frame data. The skip frame data can also indicate that there is no update (change) with respect to the previous frame data. For example, as illustrated in FIG. 25, when there is no change in the contents of the frame data about five times as the certain number of times, the sixth frame data is generated as skip frame data m32 in place of P frame data M32. When the state of not being updated continues after that, the seventh frame data is generated as skip frame data m33 in place of P frame data M33. The skip frame data is generated in this manner until an update is resumed.
This can avoid a situatio in which frame data
processing becomes congested in the distribution control system 2 , thereby providing the effect of, in the
distribution control system 2 , distributing content data acquired from the web server 8 or the like to the
communication terminal 5 at higher speed as video data.
Furthermore, in the present embodiment, the encoding unit 19 generates the forceful I frame data in place of the frame data immediately before the skip frame data is generated (that is, the last frame data within the certain number of times) .
The forceful I frame data, which. is still image data, is less compressed (higher image quality) frame data than the periodic I frame .data constituting the video data. For example, as illustrated in FIG. 25, when there is no change in the contents of the frame data about five times as the certain number of times, the fifth frame data is generated by the encoding unit 19 as forceful I frame data S3 in place of P frame data M31. When the fifth frame data in the state of no change is periodic I frame data M3, the forceful I frame S3 is generated by the encoding unit 19 in place of the periodic I frame data M31.
This causes high image quality frame data to be distributed to the communication terminal 5, thereby reproducing a high image quality image on the communication terminal 5. Consequently, a high image quality image continues to be reproduced on the communication terminal 5 even when an image continues not to be updated, and the skip frame data continues to be distributed, thereby providing the effect of making a state continue in which: the image is easy to.be viewed by the user of the
communication terminal 5.
Described next with reference to FIG. 26 is processing in which the distribution control system 2 generates various types of frame data. FIG. 26 is a flowchart for generating the various types of frame data. First, the reriderer function of the browser 20 stores frame data in the transmission FIFO 24 and stores therein an update flag indicating whether the contents of the frame data are .
updated. The update flag is an example of update
information and is indicated as "l" when there is any update and indicated as "0" when there is no update, for example. The browser 20 may set the update flag to be "0", not only when the contents of the frame data are not updated at all as compared with the contents of the frame data previously generated, but also when not updated over a certain range as compared with the contents of the frame data previously generated. For example, when only around a corner of video reproduced by the communication terminal 5 is updated, and the central part is not updated, the update flag is set to be "0".
The creating/selecting/transferring unit 310
illustrated in. Fig. 15 starts a timer (Step S301) . This timer is used at the timing when the
creating/selecting/transferring unit 310 periodically acquires frame data from the transmission FIFO 24
illustrated in FIG. 9. The creating/selecting/transferring unit 310 determines whether it is time to acquire the next frame data (Step S302) . The
creating/selecting/transferring unit 310 waits for the time when acquiring the next frame data (No at . Step S302) . If it is the time to acquire the next frame data (Yes at Step S302) , the creating/selecting/transferring unit 310
acquires the frame data from the transmission FIFO 2 and transfers the frame data to the converter 10 (Step S303) .
In the converter 10, the trimming unit 11, the
resizing unit 12, or the dividing unit 13 performs image processing such as trimming, resizing, or dividing,
respectively, on the frame data, for example (Step S304).
The encoding unit 19 determines whether there is any update in the frame data based on the update flag (Step S305) . If the update flag is "1", the encoding unit 19 determines that there is any update in the frame data transferred by the creating/selectihg/transferring unit 310 (Yes at Step S305) and sets a counter (hereinafter called an "SFC") used for generating the skip frame data to be zero (Step S306) . This counter is stored in the RAM 21 of the GPU 215 by the encoding unit 19.
The encoding unit 19 determines the type of frame date to be generated (Step S307) . For example, in the case illustrated in FIG. 25, it is prescribed in advance that after one piece of periodic I frame data is generated, four pieces of P frame data are generated. If determining to generate the periodic I frame data at Step S307, the encoding unit 19 generates the periodic I frame data (Step S308) . If determining to generate the P frame data at Step S307, the generating unit 19 generates the P frame data (Step S309) .
Returning back to Step S305, if the update flag is "0", the encoding unit 19 determines that there is no change in the frame data transferred by the
creating/selecting/transferring unit 310 (No at Step S305) and increases the SFC by one to increment (Step S311) .
The encoding unit 19 determines whether the SFC exceeds a certain number of times (Step S312) . In other words, the encoding unit 19 determines whether the update of the contents of the content data output from the browser 20 is not performed continuously for a certain number of times. In the case illustrated in FIG. 25, it is
determined whether the SFC exceeds five times. If the encoding unit 19 determines that the SFC does not exceed (is less than) the certain number of times at Step S312 (Yes), the flow advances to Step S307. If determining that the SFC exceeds the processing number of times at Step S312 (No) , the encoding unit 19 further determines whether the SFC is the certain number of times (Step S313) .
If determining that the SFC is the certain number of times at Step S313 (Yes) , the encoding unit 19 generates the forceful I frame (Step S314) . If determining that the SFC is not the certain number of times at Step S313 (No) , the encoding unit 19 generates the skip frame data (Step S315) .
When the creating/selecting/transferring unit 310 acquires an update flag "1" from the transmission FIFO due to another change in the contents of the content data, the encoding unit 19 generates again the periodic I frame data or the P frame data. In the case illustrated in FIG. 25, when the contents of the frame data are updated after the encoding unit 19 generates skip frame data m33, the
encoding unit 19 generates P frame data M34. In this case, the encoding unit 19 generates the P frame data as
differential data with the forceful I frame data generated based on the content data updated last. When the contents of the frame data are changed after the encoding unit 19 generates skip frame data m34, the encoding unit 19
generates periodic I frame data M4.
Main effects of the embodiment
As described above, in the present embodiment, when the frame data sent from the browser 20 to the transmission FIFO 24 is not updated a certain number of times, the encoding unit 19 generates the skip frame data in place of the periodic I frame data or the P frame data. This can avoid a situation in which frame data processing becomes congested in the distribution control system 2, thereby providing the effect of, in the distribution control system 2, distributing content data acquired from the web server 8 or the like to the communication terminal 5 at higher speed as video data.
In the present embodiment, the encoding unit 19 generates the forceful I frame data (an example of second I frame data), which is higher in image quality than the periodic I frame data (an example of first frame data) , in place of the frame data immediately before the skip frame data is generated (that is, the last frame data within the certain number of times) . This causes high image quality frame data to be distributed to the communication terminal 5, which enables the communication terminal 5 to reproduce a high image quality image. Consequently, a high image quality image continues to be reproduced on the
communication terminal 5 even when an image continues not to be updated, and the skip frame data continues to be distributed, thereby providing the effect of making a state continue in which the image is easy to be viewed by the user of the communication terminal 5.
In the distribution system 1 according to the present, embodiment, the distribution control system 2 includes the browser 20 that performs rendering and the encoder bridge unit 30 that performs encoding and the like in the cloud. The browser 20 generates pieces of frame data as still image (sound) data based on content data described in a certain description language. The encoder bridge unit 30 converts the pieces of frame data into, video (sound) data distributable through the communication network 9. After that, the distribution control system 2 distributes the video (sound) data to the communication terminal 5. As a result, the communication terminal 5 can smoothly reproduce web content without update of its browser or time and costs for upgrading the specifications of a CPU, an OS, a RAM, and the like. This eliminates the problem in that enriched content increases a load on the communication terminal 5.
In particular, the browser 20 enables real-time communication, and the converter 10 performs real-time encoding on the frame data generated by the browser 20. Consequently, unlike a case in which a DVD player selects and distributes non real-time (that is, pre-encoded) video (sound) data as seen in, for example, on-demand
distribution of video (sound) data, the distribution control . system 2 renders content acquired immediately before being distributed, thereby generating pieces of frame data and then encoding them. This allows real-time distribution of video (sound) data.
Supplementary description
Although the encoding unit 19 determines whether the SFC exceeds the certain number of times at Step S312 in the above embodiment, the embodiment is not limited to this. For example, the encoding unit 19 may determine whether a certain period of time, not the certain number of times, is exceeded.
Although the forceful I frame data is less compressed (higher image quality) frame data than the periodic I frame data, in the above embodiment, the embodiment is not limited to this. For example, the encoding unit 19 may generate a plurality of pieces of highly compressed (lower image quality) frame data than the periodic I frame data, and the transmitter/receiver 31 may transmit them successively to the communication terminal.5. In this case, the
communication terminal 5 reproduces high image quality video similar to one piece of forceful I frame data from the pieces of frame data successively received.
Although the distribution control system 2 distributes the skip frame data generated at Step S315 in the above embodiment, the embodiment is not limited to this. For example, the distribution control system 2 may, without distributing the skip frame data, distribute non-update information indicating that the contents of the present frame data are not updated with respect to the contents of the previous frame data. In this case, the communication terminal 5 performs similar processing to the case when the skip frame data is received based on the non-update
information.
The distribution system 1 according to the present embodiment includes the terminal management system 7 and the distribution control system 2 as separate systems. For example, the terminal management system 7 and the
distribution control system 2 may be constructed as an integral system by, for example, causing the distribution control system 2 to have the functions of the terminal management system 7.
The distribution control system 2 and the terminal management system 7 according to the above embodiment may be implemented by a single computer or may be implemented by a plurality of computers in which individual parts
(functions, means, or storage units) are divided and assigned in any desirable unit.
Storage media such as CD-ROMs and HDDs in which the programs of the above embodiment are recorded can be provided as program products domestically or abroad. According to an embodiment, when there is no change in the contents of data to be distributed to a communication terminal, data of a state with no change is distributed, thereby solving. the problem in that frame data processing becomes congested in a distribution control system. This provides the effect of distributing data to a communication terminal at higher speed.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

Claims

1. A distribution control system that distributes, to a communication terminal, first frame data capable of being reproduced singly by the communication terminal or second frame data as a difference with the previous frame data distributed to the communication terminal, the distribution control system comprising:
a generating unit configured to generate the first frame data or the second frame data from certain frame data; and
a ' transmitting unit configured to transmit third frame data with the contents being not updated or non-update information indicating that the contents are not updated, in place of the first frame data or the second frame data, to the communication terminal when contents of the certain frame data are not updated over a certain range or more as compared with contents of the frame data previously
generated.
2. The distribution control system according to claim 1, wherein the garneting unit is configured to generate the third frame data in place of the first frame data or the second frame data when the contents of the certain frame data are not updated over a certain range or more as compared with the contents of the frame data previously generated.
3. The distribution control system according to claim 2, wherein
the generating unit is a second generating unit, the distribution control system further comprises
a first generating unit configured to generate ββ frame data from content data and generate update
information every certain period of time, the update information indicating whether the contents of the frame data are updated over a certain range or more as compared with the. contents of the frame data previously generated, the second generating unit is configured to determine whether a state of not being updated over the certain range or more has continued for a certain number of times based on the update information, and
the transmitting unit is configured to distribute the third frame data or the non-update information in place of the first frame data or the second frame data when the second generating unit determines that the state has continued for a certain number of times.
4. The distribution control system according to claim 3, wherein the second generating unit is configured to generate the first frame data or the second frame data in place of the third frame data when the second generating unit determines that the contents of the frame data are updated based on new change information after generating the third frame data.
5. The distribution control system according to claim 3 or 4, wherein the first generating unit is a browser, and the second generating unit is an encoder.
6. The distribution control system according to any one of claims 1 to 5, wherein the first frame data is I frame data, the second frame data is P frame data, and the third frame data is skip frame data.
7. A distribution control method executed by a distribution, control system that distributes, to a
communication terminal, first frame data capable of being reproduced singly by the communication terminal or second frame data as a difference with the previous frame data distributed to the communication terminal, the distribution control method comprising:
generating the first frame data or the second frame data from certain frame data; and
transmitting third frame data with the contents being not updated or non-update information indicating that the contents are not updated in place of the first frame data or the second frame, data, to the communication terminal when contents of the certain frame data are not updated over a certain range or more as compared with contents of the frame data previously generated.
8. A computer-readable storage medium with an executable program stored thereon and executed by a computer, wherein the program instructs the computer to perform the
distribution control method according to claim 7.
9. A distribution control system, comprising:
a generating unit configured to generate still image data from content data;
a converting unit configured to convert the still image data to generate video data; and
a transmitting unit, configured to transmit the video data to a communication terminal, wherein
the converting unit is configured to generate data indicating that there is no change from the previous data in the video data when there is no change in the still image data generated by the generating unit.
EP14765551.8A 2013-03-15 2014-03-12 Distribution control system, distribution control method, and computer-readable storage medium Withdrawn EP2972903A4 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013054394 2013-03-15
JP2014031490A JP2014200074A (en) 2013-03-15 2014-02-21 Distribution control system, distribution control method, and program
PCT/JP2014/057428 WO2014142342A1 (en) 2013-03-15 2014-03-12 Distribution control system, distribution control method, and computer-readable storage medium

Publications (2)

Publication Number Publication Date
EP2972903A1 true EP2972903A1 (en) 2016-01-20
EP2972903A4 EP2972903A4 (en) 2016-03-30

Family

ID=51536987

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14765551.8A Withdrawn EP2972903A4 (en) 2013-03-15 2014-03-12 Distribution control system, distribution control method, and computer-readable storage medium

Country Status (6)

Country Link
US (1) US20160044079A1 (en)
EP (1) EP2972903A4 (en)
JP (1) JP2014200074A (en)
CN (1) CN105122224A (en)
AU (1) AU2014230422A1 (en)
WO (1) WO2014142342A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6369043B2 (en) 2013-03-15 2018-08-08 株式会社リコー Delivery control system, delivery system, delivery control method, and program
JP6398215B2 (en) 2013-03-15 2018-10-03 株式会社リコー Delivery control system, delivery system, delivery control method, and program
JP6427937B2 (en) 2013-09-05 2018-11-28 株式会社リコー Display device and display system
JP2015061107A (en) 2013-09-17 2015-03-30 株式会社リコー Distribution management device and distribution system
WO2015045788A1 (en) 2013-09-26 2015-04-02 株式会社リコー Distribution management device, distribution method, and program
CN105580398A (en) 2013-09-27 2016-05-11 株式会社理光 Distribution management device, terminal, and distribution management method
JP2016143236A (en) 2015-02-02 2016-08-08 株式会社リコー Distribution control device, distribution control method, and program
JP6747025B2 (en) * 2016-04-13 2020-08-26 セイコーエプソン株式会社 Display system, display device, and control method for display system
WO2018121840A1 (en) * 2016-12-27 2018-07-05 Telecom Italia S.P.A. Method and system for scheduling resources for streaming video services in mobile communication networks
CN107277606B (en) * 2017-07-06 2020-02-14 浙江华创视讯科技有限公司 Method and device for generating video data in streaming storage

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0385882A (en) * 1989-08-30 1991-04-11 Hitachi Ltd Image signal coding device
JPH10210480A (en) * 1997-01-20 1998-08-07 Mitsubishi Electric Corp Dynamic image coding system
JP3905969B2 (en) * 1998-01-30 2007-04-18 株式会社東芝 Moving picture coding apparatus and moving picture coding method
EP1345450A3 (en) * 2002-01-16 2005-04-20 Matsushita Electric Industrial Co., Ltd. Image coding apparatus, image coding method, and image coding program
JP3846490B2 (en) * 2004-05-17 2006-11-15 セイコーエプソン株式会社 Image data compression apparatus, electronic device, and image data compression method
JP2006173962A (en) * 2004-12-15 2006-06-29 Nec Engineering Ltd Picture encoding device
US8514933B2 (en) * 2005-03-01 2013-08-20 Qualcomm Incorporated Adaptive frame skipping techniques for rate controlled video encoding
JP2007036965A (en) * 2005-07-29 2007-02-08 Nec Viewtechnology Ltd Video distribution system, video display device, video distribution terminal, and video distribution method
WO2007022011A2 (en) * 2005-08-12 2007-02-22 Core Memory Circuits Llc System and process for capturing processing, compressing, and displaying image information
JP4232113B2 (en) * 2006-02-17 2009-03-04 ソニー株式会社 Data processing apparatus, data processing method, and program
US7643422B1 (en) * 2006-03-24 2010-01-05 Hewlett-Packard Development Company, L.P. Dynamic trans-framing and trans-rating for interactive playback control
JP2008252333A (en) * 2007-03-29 2008-10-16 Pioneer Electronic Corp Video data transfer system
JP4788653B2 (en) * 2007-05-14 2011-10-05 Kddi株式会社 Image data transcoding apparatus and transcoding method
US8890874B2 (en) * 2007-12-14 2014-11-18 Microsoft Corporation Changing visual content communication
JP4760902B2 (en) * 2008-12-17 2011-08-31 ソニー株式会社 Information processing apparatus and method
WO2010095403A1 (en) * 2009-02-17 2010-08-26 パナソニック株式会社 Playback device, playback method, and program
JP5480915B2 (en) * 2009-12-28 2014-04-23 パナソニック株式会社 Display device and method, recording medium, transmission device and method, and playback device and method
JP5583992B2 (en) * 2010-03-09 2014-09-03 パナソニック株式会社 Signal processing device
US8599934B2 (en) * 2010-09-08 2013-12-03 Cisco Technology, Inc. System and method for skip coding during video conferencing in a network environment
WO2013003819A1 (en) * 2011-06-30 2013-01-03 Huawei Technologies Co., Ltd. Encoding of prediction residuals for lossless video coding

Also Published As

Publication number Publication date
AU2014230422A1 (en) 2015-09-17
EP2972903A4 (en) 2016-03-30
US20160044079A1 (en) 2016-02-11
JP2014200074A (en) 2014-10-23
WO2014142342A1 (en) 2014-09-18
CN105122224A (en) 2015-12-02

Similar Documents

Publication Publication Date Title
AU2014230438B2 (en) Distribution control system, distribution control method, and computer-readable storage medium
EP2790375B1 (en) Distribution control system, distribution control method, and computer-readable storage medium
EP2972903A1 (en) Distribution control system, distribution control method, and computer-readable storage medium
US9628866B2 (en) Distribution control system and distribution system
US9497492B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2779571B1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2974317B1 (en) Computer system, distribution control system, distribution control method, and computer-readable storage medium
US9723337B2 (en) Distribution control system and distribution system
EP2790383B1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2793476A1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
US10250665B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2779661A1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2778981B1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
JP6607298B2 (en) Delivery control system, delivery control method, and program
JP2016015648A (en) Distribution control system, distribution control method, and program
JP2015220741A (en) Distribution control system, distribution control method, and program

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150820

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

A4 Supplementary search report drawn up and despatched

Effective date: 20160301

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 15/00 20060101ALI20160224BHEP

Ipc: G06F 13/00 20060101AFI20160224BHEP

Ipc: H04N 21/234 20110101ALI20160224BHEP

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160929