US20150067746A1 - Metadata for compressed video streams - Google Patents
Metadata for compressed video streams Download PDFInfo
- Publication number
- US20150067746A1 US20150067746A1 US14/018,253 US201314018253A US2015067746A1 US 20150067746 A1 US20150067746 A1 US 20150067746A1 US 201314018253 A US201314018253 A US 201314018253A US 2015067746 A1 US2015067746 A1 US 2015067746A1
- Authority
- US
- United States
- Prior art keywords
- metadata
- video
- packet
- video stream
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 230000002596 correlated effect Effects 0.000 claims description 8
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
- H04N7/185—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control
Definitions
- the invention relates to the field of streaming video, and in particular, to information used to describe content within streaming video.
- IP Internet Protocol
- videos are sent between network devices as streams of digital packets of information. Because videos take up a great deal of bandwidth when they are being streamed across the network, the data for a video is typically compressed before it is placed inside of a digital packet.
- a codec can be used to compress a video in accordance with a defined encoding standard before transmitting the video across the network.
- One example of a codec used to compress videos is the Moving Picture Experts Group 2 Transport Stream (MPEG-TS) codec.
- MPEG-TS Moving Picture Experts Group 2 Transport Stream
- MPEG-TS Moving Picture Experts Group 2 Transport Stream
- MPEG-TS Moving Picture Experts Group 2 Transport Stream
- An IP packet is an example of a “network layer” packet, while an MPEG-TS segment is used as input for a “transport layer.”
- Metadata can describe a name for the video, a resolution for the video, and other information.
- metadata and video data are combined together when a video is initially encoded/compressed.
- both types of information are compressed by a codec into a single video stream before they are transmitted along a network.
- the video data and the metadata can be viewed by an end user.
- MPEG-TS encoding when MPEG-TS encoding is used, individual compressed MPEG-TS segments can each describe video data or metadata.
- codecs By compressing video data and metadata together, codecs help to reduce the overall bandwidth of a video stream. However, they also make the metadata inaccessible to devices that do not have access to the codec.
- Embodiments described herein insert metadata into packets (e.g., IP packets) that are used to carry streams of encoded video data (e.g., video data that is MPEG-TS encoded) across a packet-switched network.
- the metadata is in a different format from the encoded video data because the metadata has not been compressed by the codec used for the video data.
- the metadata is placed within the packet without also being inserted into the compressed video stream. Since this technique does not require the use of a codec to insert or retrieve metadata for a video stream, the technique is codec independent. Therefore, this technique allows metadata to be added to any video stream regardless of the compression algorithm used for that stream.
- One embodiment is a system that inserts metadata for a video stream.
- the system includes a controller that receives a video stream compressed according to a video encoding standard, and generates a packet for transmission across a packet-switched network.
- the controller inserts at least one compressed segment of the video stream into a payload of the packet.
- the controller also receives metadata that describes content within the video stream and is not compressed according to the standard, inserts the metadata into the packet without compressing the metadata according to the standard, and transmits the packet across the packet-switched network to a target device.
- Another embodiment is a method for inserting metadata for a video stream.
- the method includes receiving a video stream compressed according to a video encoding standard, generating a packet for transmission across a packet-switched network, and inserting at least one compressed segment of the video stream into a payload of the packet.
- the method also includes receiving metadata that describes content within the video stream and is not compressed according to the standard, inserting the metadata into the packet without compressing the metadata according to the standard, and transmitting the packet across the packet-switched network to a target device.
- Another embodiment is a method for extracting metadata for a video stream.
- the method includes receiving packets from a packet-switched network, and extracting at least one segment of video data from each packet.
- the segments are compressed according to a video encoding standard.
- the method also includes extracting metadata from each packet.
- the metadata describes content within the video data and is not compressed according to the standard.
- the method includes assembling the segments of the video data into video frames, displaying the video frames via a presentation device, and displaying the metadata via a presentation device.
- FIG. 1 is a block diagram of a communication system in an exemplary embodiment.
- FIG. 2 is a flowchart illustrating a method for adding metadata for a video stream in an exemplary embodiment.
- FIG. 3 is a message diagram illustrating how video data is processed as the video data travels through a communication system in an exemplary embodiment.
- FIG. 4 is a flowchart illustrating a method for extracting metadata for a video stream in an exemplary embodiment.
- FIG. 5 is a block diagram illustrating the generation and transmission of video data at an unmanned aerial drone in an exemplary embodiment.
- FIG. 6 is a block diagram illustrating the creation of IP packets made from multiple MPEG-TS packets in an exemplary embodiment.
- FIG. 7 is a block diagram comparing MPEG-TS encoded metadata within an IP packet to metadata that is not MPEG-TS encoded within an IP packet in an exemplary embodiment.
- FIG. 8 is a block diagram illustrating a time-based correlation between received metadata and video data within IP packets in an exemplary embodiment.
- FIG. 9 illustrates a video frame and associated metadata displayed at a Graphical User Interface (GUI) in an exemplary embodiment.
- GUI Graphical User Interface
- FIG. 1 is a block diagram of a communication system 100 in an exemplary embodiment.
- Server 110 of communication system 100 receives streams of video from a source such as a camera or other recording device.
- the video streams are intended for transmission across packet-switched network 120 to one or more target devices.
- These video streams may be compressed in order to limit the amount of bandwidth that they occupy while being transported across network 120 .
- server 110 In order to transport a video stream across packet-switched network 120 , server 110 encapsulates the video into packets of data suitable for network 120 (e.g., IP packets), and transmits the packetized stream of video across network 120 for viewing at one or more target devices.
- IP packets e.g., IP packets
- Server 110 includes a controller 112 that has been enhanced to receive and insert (or extract) metadata for compressed video streams.
- the metadata is inserted without using the same compression standard that is used for the video stream.
- Server 110 can insert any type of metadata into the packets for network 120 , even types of metadata that are not supported by the video encoding standard. Furthermore, the insertion process does not require server 110 to reprocess the video stream with a codec.
- the packets that have been generated by controller 112 may be transmitted by interface 114 across network 120 towards target devices 130 and/or 140 .
- Controller 112 comprises any suitable system, device, or component capable of generating/manipulating packets of data, such as hardware circuitry or a processor executing stored instructions.
- Interface 114 may comprise any suitable system for transmitting data between devices. For example, interface 114 may comprise an Ethernet port or wireless transceiver.
- Packet-switched network 120 which bears data for the video stream as the video stream travels from server 110 to target devices 130 and/or 140 , comprises any suitable communication network capable of transporting data from server 110 .
- network 120 may comprise a Transport Control Protocol/Internet Protocol (TCP/IP) network.
- TCP/IP Transport Control Protocol/Internet Protocol
- Target devices 130 and 140 comprise any suitable systems or components operable to receive and/or display video content.
- target devices may comprise general purpose computers, cellular phones, laptops, tablets, etc.
- server 110 is awaiting a stream of video data to relay to one or more target devices.
- FIG. 2 is a flowchart illustrating a method 200 for adding metadata for a video stream in an exemplary embodiment.
- the steps of method 200 are described with reference to communication system 100 of FIG. 1 , but those skilled in the art will appreciate that method 200 may be performed in other systems.
- the steps of the flowcharts described herein are not all inclusive and may include other steps not shown. The steps described herein may also be performed in an alternative order.
- controller 112 of server 110 receives a video stream compressed according to a video encoding standard.
- the video stream includes segments of video data, such as packets of video data, entire video frames, etc.
- the video stream may be compressed according to any suitable video encoding standard (e.g., MPEG-TS, H.264/MPEG-4 Advanced Video Coding, etc.).
- MPEG-TS e.g., MPEG-TS, H.264/MPEG-4 Advanced Video Coding, etc.
- H.264/MPEG-4 Advanced Video Coding e.g., MPEG-TS, H.264/MPEG-4 Advanced Video Coding, etc.
- OSI Open Systems Interconnection
- various video encoding standards may be regarded as inputs to transport layer protocols, to session layer protocols, or to application layer protocols.
- controller 112 In step 204 , controller 112 generates a packet for transmission across packet-switched network 120 .
- the packet may comprise, for example, an Internet Protocol (IP) packet that includes a header (which stores control information for the packet) as well as a payload (which carries data intended for delivery).
- IP Internet Protocol
- the packet is a network-layer packet such as an Internet Protocol (IP) packet, which encapsulates one or more compressed MPEG-TS packets of video data.
- IP Internet Protocol
- Network-layer packets are distinct from application-layer, session-layer, and transport-layer packets used for video encoding (such as MPEG-TS packets) because network-layer packets direct packet forwarding between devices (e.g., routing), while packets in other layers do not.
- Controller 112 inserts one or more compressed segments of the video stream into the payload of the generated packet in step 206 . This means that the segments of the video stream are placed into the packet in a location apart from the header of the packet.
- controller 112 receives the metadata.
- the metadata describes content within the video stream.
- the metadata may describe the content by indicating the circumstances in which the video stream was recorded, or may describe the content by detailing specific features of individual frames or packets of video data.
- the metadata, as received, is not compressed according to the video encoding standard.
- the metadata comprises a stream of telemetry data points, such as a series of Global Positioning System (GPS) coordinates that indicate where frames of video from a moving aircraft were recorded.
- GPS Global Positioning System
- the telemetry data may describe how the yaw, pitch, and roll of an aircraft that recorded the video changed over time, or other flight dynamics information.
- controller 112 inserts the metadata into the packet without compressing the metadata according to the video encoding standard. Since the metadata in the packet is not compressed according to the video encoding standard, the metadata exists independently from the video data within the packet and does not require a codec to be inserted or removed from the video stream.
- the metadata may be formatted according to any suitable standard.
- information describing the metadata is inserted into a header of the packet.
- the “header” of a packet is an inclusive term used to describe any control information for the packet, and therefore includes footers that place control information at the end of a packet.
- a header of a packet is distinct from a payload of a packet.
- controller 112 operates interface 114 to transmit the packet out across packet-switched network 120 to one or more target devices (e.g., target devices 130 and/or 140 ).
- Steps 204 - 212 may be repeated continuously while the video stream is being received at server 110 , in order to generate and transmit a series of packets that carry the video stream to the target devices.
- interface 114 may transmit the multiple video frames of data in a stream of IP packets that each encapsulate video data and metadata.
- the metadata e.g., a GPS coordinate
- the packets are sent out across the network as coherent units of metadata and video data, their time-coherency is maintained when they are received and re-assembled.
- Metadata can be added to video streams in a manner that links the metadata to specific packets/frames of video data.
- the metadata comprises a stream of data points that constantly change throughout the duration of a video (such as telemetry data)
- the metadata can be correlated with specific frames of video data, allowing for detailed tagging of video content.
- controller 112 operates to temporally correlate segments of the video stream with the metadata, and to package video segments and correlated metadata into the same packets. This may be desirable when the metadata itself comprises a stream of data points that vary over time. Temporally correlating metadata with segments of the video stream may involve determining which segments (or entire video frames) of video data correspond with each data point. In one embodiment, the correlation is made based on the time at which the data points and/or video data were received or generated. For example, a newly received data point (e.g., a single GPS coordinate) may be associated with each received packet of video data until a new data point replaces the current one.
- a newly received data point e.g., a single GPS coordinate
- a master clock or clocking mechanism such as a time and/or date stamp, provides a time for one or more metadata streams and the video stream.
- the clocking mechanism can correlate the one or more metadata streams with the video stream.
- a time of receipt is determined for each data point, and the data points are correlated with segments of video data that were received at substantially the same time. This technique provides a benefit over the metadata fields defined for most video compression standards, which do not allow metadata for a video stream to vary over time.
- the metadata may be received at server 110 at different intervals than the video stream itself, and may be received from an entirely separate source or using an entirely different communication protocol than the one used for the video stream.
- the video stream may be received at server 110 as a stream of MPEG-TS packets received via Real-time Transport Protocol (RTP) or User Datagram Protocol (UDP) at a rate of twenty frames per second, while the metadata may be received once per second via a radio communication protocol.
- RTP Real-time Transport Protocol
- UDP User Datagram Protocol
- the metadata when the metadata is initially received in step 208 , the metadata may include multiple types of information from one or more independent sources, and each type of information in the metadata may describe a different unique aspect of the video stream. For example, one type of metadata may describe the yaw, pitch, and roll of the vehicle that recorded the video stream, while another type of metadata may describe the speed of the vehicle.
- the multiple types of metadata may be inserted into each packet using the techniques discussed above. To distinguish different types of metadata from each other within a single packet, the packet may include a header with information that describes the many different types of metadata that the packet encapsulates.
- FIG. 3 is a message diagram illustrating how video data is processed as the video data travels through a communication system in an exemplary embodiment.
- raw video data is first acquired by a recording device 310 , and is then provided to a codec 320 .
- Codec 320 may reside at recording device 310 or at server 110 , or even some intermediate device between them.
- Codec 320 encodes the video data to reduce its overall size and prepare the video for transport, and this compressed video data is transmitted to controller 112 of server 110 .
- Server 110 inserts the metadata and compressed video data into packets, and sends these packets outward, delivering the stream to target 130 via network 120 .
- FIG. 4 is a flowchart illustrating a method 400 for extracting metadata for a video stream in an exemplary embodiment.
- target device 130 receives the packets initially created by server 110 .
- Target device 130 extracts the segments of compressed video data from the payload of each packet in step 404 , and also extracts the metadata from each packet in step 406 .
- Target device 130 then operates a codec to decode the segments of video data, and assembles the video data into a series of video frames that can be viewed in step 408 .
- the video frames and metadata may then be displayed via one or more presentation devices, in steps 410 - 412 .
- target device 130 further correlates specific metadata data points (e.g., GPS coordinates) with specific frames of the assembled video.
- Target device 130 achieves this goal by identifying which network-layer packets were used to assemble each video frame.
- Data points from the network-layer packets can then be correlated with their appropriate frames, and the data points and video stream can be presented together via a presentation device such as a monitor, screen, projector, etc. for viewing by a user.
- a presentation device such as a monitor, screen, projector, etc. for viewing by a user.
- each frame of the video can be tagged with a GPS coordinate.
- the drone includes a video camera for recording footage, as well as a GPS receiver and a transmitter.
- FIG. 5 is a block diagram 500 illustrating the generation and transmission of video data at unmanned aerial drone 510 in an exemplary embodiment.
- the drone acquires video data, encodes the video data according to the MPEG-TS standard, and transmits the compressed stream of video data to base station 520 (or any other device capable of receiving wireless data) at a rate of eight frames per second.
- Drone 510 also transmits GPS coordinates to base station 520 four times per second. Assume for this example that owing to the specific implementation of components from different vendors onboard drone 510 , that drone 510 is incapable of inserting the GPS data directly into the MPEG-TS stream when the video is initially recorded and compressed. This GPS data is also received at base station 520 . Additional types of metadata that vary over time can be transmitted to the base station, such as a temperature currently identified by a thermal sensor viewing the ground, a velocity of the drone, an altitude of the drone, a direction in which a video camera for the drone is pointing, the angle of deviation of a video camera for the drone from a horizontal orientation, other telemetry information for the drone, a time/date, etc.
- FIG. 6 is a block diagram illustrating the creation of IP packets made from multiple MPEG-TS packets in an exemplary embodiment.
- base station 520 correlates the received GPS coordinates with received packets of video data based on their order of receipt, and then encapsulates received MPEG-TS packets and metadata inside of an IP packet wrapper.
- the metadata and MPEG-TS packets are encapsulated inside of an IP packet wrapper on the drone before being transmitted to the base station 520 .
- each frame of video data is compressed with eight MPEG-TS packets that are each 188 bytes.
- Four MPEG-TS packets are inserted into each IP packet.
- Base station 520 inserts GPS coordinates into newly created IP packets as the GPS coordinates are received.
- Each GPS coordinate (and any other metadata) is placed after the MPEG-TS data within the IP packet.
- GPS coordinate “A” is inserted into an IP packet, then the metadata portions of new IP packets are left blank until GPS coordinate “B” is received.
- a target device receiving the IP packets may determine which GPS coordinate to associate with the video frame. For example, the target device may associate the most recent GPS coordinate with the video frame.
- each IP packet includes an IP routing header, a variable-length amount of video data, a variable amount of metadata, and a 34 byte footer.
- the footer is used to identify the number of streams of metadata included in the packet, a description for each stream of metadata, and the size of each stream of metadata. In one embodiment, the footer indicates that three different streams of metadata are included in the packet, each stream occupying a different amount of space within the packet.
- the footer includes a 16 byte video stream identifier, which uniquely identifies the video stream from others that may also be currently carried on the same network.
- the footer also includes a 1 byte indicator of the number of metadata streams include in the packet, as well as a 4 byte indicator of the amount of raw video in the packet.
- the footer further includes a 2 byte sequence number, which is used to sequence the IP packets and ensure that they can be re-assembled in the correct order.
- Another element of the footer is an 8 byte time stamp, and a 1 byte packet version, which is used to indicate a format used to store the metadata.
- the footer also includes a 2 byte identifier, which is used to indicate whether an IP packet starts a new video frame.
- each IP packet is broken up into sections.
- Each section of metadata inside of the IP packet corresponds to a specific type of metadata.
- Each section of metadata includes its own 4 byte header indicating the amount of metadata included in the section, followed by the metadata content itself (e.g., a specific GPS coordinate, a velocity, an altitude, other flight dynamics data points, etc.).
- IP packets of blended metadata and video content are then sent out across an IP network to one or more computers. Since the IP packets are sent out across the network as coherent units of metadata and video data, their time-coherency is maintained when they are received and re-assembled. Additionally, since the metadata is not compressed with a codec, a codec is not required to extract or review the metadata. FIG. 7 further illustrates this concept.
- FIG. 7 is a block diagram comparing MPEG-TS compressed metadata within an IP packet to metadata that is not MPEG-TS compressed within an IP packet in an exemplary embodiment.
- each IP packet includes an IP header used for routing, as well as a combination of metadata and video data.
- Metadata inside of the MPEG-TS compressed portion 712 of IP packet 710 is inaccessible without the MPEG-TS codec.
- metadata for IP packet 720 is kept outside of the compressed portion 722 , and therefore is accessible even without the MPEG-TS codec.
- this style of metadata encoding can be used to add metadata to any suitable video encoding format, and therefore is not codec dependent.
- FIG. 8 is a block diagram illustrating a time-based correlation between received metadata and video data of an IP packet in an exemplary embodiment.
- multiple IP packets 810 are received that each may include metadata data points.
- These IP packets are received and assembled into video frames 820 .
- Each video frame may be associated with a GPS coordinate. Thus, when the video is finally displayed, the associated GPS coordinate for that frame can also be shown.
- FIG. 9 illustrates a video frame and associated metadata displayed at a Graphical User Interface (GUI) in an exemplary embodiment.
- the video frame includes video content illustrating a section of wilderness 910 as well as a plume of smoke 920 .
- the frame itself is accompanied by metadata 930 , which is displayed in the GUI and used to indicate a date, location, and frame number for the video.
- metadata 930 is displayed in the GUI and used to indicate a date, location, and frame number for the video.
- a GUI can be presented via any suitable presentation device, such as a monitor, screen, projector, etc.
- any of the various elements shown in the figures or described herein may be implemented as hardware, software, firmware, or some combination of these.
- an element may be implemented as dedicated hardware.
- Dedicated hardware elements may be referred to as “processors”, “controllers”, or some similar terminology.
- processors When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared.
- processor or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, a network processor, application specific integrated circuit (ASIC) or other circuitry, field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), non-volatile storage, logic, or some other physical hardware component or module.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- ROM read only memory
- RAM random access memory
- non-volatile storage logic, or some other physical hardware component or module.
- an element may be implemented as instructions executable by a processor or a computer to perform the functions of the element.
- Some examples of instructions are software, program code, and firmware.
- the instructions are operational when executed by the processor to direct the processor to perform the functions of the element.
- the instructions may be stored on storage devices that are readable by the processor. Some examples of the storage devices are digital or solid-state memories, magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- The invention relates to the field of streaming video, and in particular, to information used to describe content within streaming video.
- In packet-switched networks such as Internet Protocol (IP) networks (e.g., the Internet), videos are sent between network devices as streams of digital packets of information. Because videos take up a great deal of bandwidth when they are being streamed across the network, the data for a video is typically compressed before it is placed inside of a digital packet. For example, a codec can be used to compress a video in accordance with a defined encoding standard before transmitting the video across the network. One example of a codec used to compress videos is the Moving Picture Experts Group 2 Transport Stream (MPEG-TS) codec. When MPEG-TS compression is used, a video is split up into many individual segments of compressed MPEG-TS video data that form a video stream. The MPEG-TS segments are inserted into IP packets, which are then sent out along the network towards one or more target devices. An IP packet is an example of a “network layer” packet, while an MPEG-TS segment is used as input for a “transport layer.”
- Some codecs allow a user to insert additional information known as metadata into a video. For example, metadata can describe a name for the video, a resolution for the video, and other information. As presently practiced, metadata and video data are combined together when a video is initially encoded/compressed. Thus, both types of information are compressed by a codec into a single video stream before they are transmitted along a network. When the video stream is later decompressed at a destination device, the video data and the metadata can be viewed by an end user. For example, when MPEG-TS encoding is used, individual compressed MPEG-TS segments can each describe video data or metadata.
- By compressing video data and metadata together, codecs help to reduce the overall bandwidth of a video stream. However, they also make the metadata inaccessible to devices that do not have access to the codec.
- Embodiments described herein insert metadata into packets (e.g., IP packets) that are used to carry streams of encoded video data (e.g., video data that is MPEG-TS encoded) across a packet-switched network. The metadata is in a different format from the encoded video data because the metadata has not been compressed by the codec used for the video data. In effect, the metadata is placed within the packet without also being inserted into the compressed video stream. Since this technique does not require the use of a codec to insert or retrieve metadata for a video stream, the technique is codec independent. Therefore, this technique allows metadata to be added to any video stream regardless of the compression algorithm used for that stream.
- One embodiment is a system that inserts metadata for a video stream. The system includes a controller that receives a video stream compressed according to a video encoding standard, and generates a packet for transmission across a packet-switched network. The controller inserts at least one compressed segment of the video stream into a payload of the packet. The controller also receives metadata that describes content within the video stream and is not compressed according to the standard, inserts the metadata into the packet without compressing the metadata according to the standard, and transmits the packet across the packet-switched network to a target device.
- Another embodiment is a method for inserting metadata for a video stream. The method includes receiving a video stream compressed according to a video encoding standard, generating a packet for transmission across a packet-switched network, and inserting at least one compressed segment of the video stream into a payload of the packet. The method also includes receiving metadata that describes content within the video stream and is not compressed according to the standard, inserting the metadata into the packet without compressing the metadata according to the standard, and transmitting the packet across the packet-switched network to a target device.
- Another embodiment is a method for extracting metadata for a video stream. The method includes receiving packets from a packet-switched network, and extracting at least one segment of video data from each packet. The segments are compressed according to a video encoding standard. The method also includes extracting metadata from each packet. The metadata describes content within the video data and is not compressed according to the standard. Also, the method includes assembling the segments of the video data into video frames, displaying the video frames via a presentation device, and displaying the metadata via a presentation device.
- Other exemplary embodiments (e.g., methods and computer-readable media relating to the foregoing embodiments) may be described below. The features, functions, and advantages that have been discussed can be achieved independently in various embodiments or may be combined in yet other embodiments further details of which can be seen with reference to the following description and drawings.
- Some embodiments of the present invention are now described, by way of example only, and with reference to the accompanying drawings. The same reference number represents the same element or the same type of element on all drawings.
-
FIG. 1 is a block diagram of a communication system in an exemplary embodiment. -
FIG. 2 is a flowchart illustrating a method for adding metadata for a video stream in an exemplary embodiment. -
FIG. 3 is a message diagram illustrating how video data is processed as the video data travels through a communication system in an exemplary embodiment. -
FIG. 4 is a flowchart illustrating a method for extracting metadata for a video stream in an exemplary embodiment. -
FIG. 5 is a block diagram illustrating the generation and transmission of video data at an unmanned aerial drone in an exemplary embodiment. -
FIG. 6 is a block diagram illustrating the creation of IP packets made from multiple MPEG-TS packets in an exemplary embodiment. -
FIG. 7 is a block diagram comparing MPEG-TS encoded metadata within an IP packet to metadata that is not MPEG-TS encoded within an IP packet in an exemplary embodiment. -
FIG. 8 is a block diagram illustrating a time-based correlation between received metadata and video data within IP packets in an exemplary embodiment. -
FIG. 9 illustrates a video frame and associated metadata displayed at a Graphical User Interface (GUI) in an exemplary embodiment. - The figures and the following description illustrate specific exemplary embodiments of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within the scope of the invention. Furthermore, any examples described herein are intended to aid in understanding the principles of the invention, and are to be construed as being without limitation to such specifically recited examples and conditions. As a result, the invention is not limited to the specific embodiments or examples described below, but by the claims and their equivalents.
-
FIG. 1 is a block diagram of acommunication system 100 in an exemplary embodiment.Server 110 ofcommunication system 100 receives streams of video from a source such as a camera or other recording device. The video streams are intended for transmission across packet-switchednetwork 120 to one or more target devices. These video streams may be compressed in order to limit the amount of bandwidth that they occupy while being transported acrossnetwork 120. - In order to transport a video stream across packet-switched
network 120,server 110 encapsulates the video into packets of data suitable for network 120 (e.g., IP packets), and transmits the packetized stream of video acrossnetwork 120 for viewing at one or more target devices. -
Server 110 includes acontroller 112 that has been enhanced to receive and insert (or extract) metadata for compressed video streams. The metadata is inserted without using the same compression standard that is used for the video stream.Server 110 can insert any type of metadata into the packets fornetwork 120, even types of metadata that are not supported by the video encoding standard. Furthermore, the insertion process does not requireserver 110 to reprocess the video stream with a codec. The packets that have been generated bycontroller 112 may be transmitted byinterface 114 acrossnetwork 120 towardstarget devices 130 and/or 140.Controller 112 comprises any suitable system, device, or component capable of generating/manipulating packets of data, such as hardware circuitry or a processor executing stored instructions.Interface 114 may comprise any suitable system for transmitting data between devices. For example,interface 114 may comprise an Ethernet port or wireless transceiver. - Packet-switched
network 120, which bears data for the video stream as the video stream travels fromserver 110 to targetdevices 130 and/or 140, comprises any suitable communication network capable of transporting data fromserver 110. For example,network 120 may comprise a Transport Control Protocol/Internet Protocol (TCP/IP) network. 130 and 140 comprise any suitable systems or components operable to receive and/or display video content. For example, target devices may comprise general purpose computers, cellular phones, laptops, tablets, etc.Target devices - The particular arrangement, number, and configuration of components described herein is exemplary and non-limiting. Illustrative details of the operation of
communication system 100 will be discussed with regard toFIG. 2 . Assume, for this embodiment, thatserver 110 is awaiting a stream of video data to relay to one or more target devices. -
FIG. 2 is a flowchart illustrating amethod 200 for adding metadata for a video stream in an exemplary embodiment. The steps ofmethod 200 are described with reference tocommunication system 100 ofFIG. 1 , but those skilled in the art will appreciate thatmethod 200 may be performed in other systems. The steps of the flowcharts described herein are not all inclusive and may include other steps not shown. The steps described herein may also be performed in an alternative order. - In
step 202,controller 112 ofserver 110 receives a video stream compressed according to a video encoding standard. The video stream includes segments of video data, such as packets of video data, entire video frames, etc. The video stream may be compressed according to any suitable video encoding standard (e.g., MPEG-TS, H.264/MPEG-4 Advanced Video Coding, etc.). In terms of the Open Systems Interconnection (OSI) model, various video encoding standards may be regarded as inputs to transport layer protocols, to session layer protocols, or to application layer protocols. - In
step 204,controller 112 generates a packet for transmission across packet-switchednetwork 120. The packet may comprise, for example, an Internet Protocol (IP) packet that includes a header (which stores control information for the packet) as well as a payload (which carries data intended for delivery). In one embodiment, the packet is a network-layer packet such as an Internet Protocol (IP) packet, which encapsulates one or more compressed MPEG-TS packets of video data. Network-layer packets are distinct from application-layer, session-layer, and transport-layer packets used for video encoding (such as MPEG-TS packets) because network-layer packets direct packet forwarding between devices (e.g., routing), while packets in other layers do not.Controller 112 inserts one or more compressed segments of the video stream into the payload of the generated packet instep 206. This means that the segments of the video stream are placed into the packet in a location apart from the header of the packet. - In this embodiment, assume that metadata has been generated for the video stream, and that the metadata is being transmitted to
server 110 at the same time as the video stream is being transmitted toserver 110. Instep 208,controller 112 receives the metadata. The metadata describes content within the video stream. The metadata may describe the content by indicating the circumstances in which the video stream was recorded, or may describe the content by detailing specific features of individual frames or packets of video data. The metadata, as received, is not compressed according to the video encoding standard. In one embodiment, the metadata comprises a stream of telemetry data points, such as a series of Global Positioning System (GPS) coordinates that indicate where frames of video from a moving aircraft were recorded. Similarly, the telemetry data may describe how the yaw, pitch, and roll of an aircraft that recorded the video changed over time, or other flight dynamics information. - In
step 210,controller 112 inserts the metadata into the packet without compressing the metadata according to the video encoding standard. Since the metadata in the packet is not compressed according to the video encoding standard, the metadata exists independently from the video data within the packet and does not require a codec to be inserted or removed from the video stream. The metadata may be formatted according to any suitable standard. - In one embodiment, information describing the metadata is inserted into a header of the packet. As used herein, the “header” of a packet is an inclusive term used to describe any control information for the packet, and therefore includes footers that place control information at the end of a packet. A header of a packet is distinct from a payload of a packet.
- In
step 212,controller 112 operatesinterface 114 to transmit the packet out across packet-switchednetwork 120 to one or more target devices (e.g.,target devices 130 and/or 140). Steps 204-212 may be repeated continuously while the video stream is being received atserver 110, in order to generate and transmit a series of packets that carry the video stream to the target devices. For example,interface 114 may transmit the multiple video frames of data in a stream of IP packets that each encapsulate video data and metadata. - When the packets are later unwrapped by a target device, the metadata (e.g., a GPS coordinate) for each packet can be correlated with video data included in the same packet, and thereby linked to specific video frames. Since the packets are sent out across the network as coherent units of metadata and video data, their time-coherency is maintained when they are received and re-assembled.
- Using
method 200 described above, metadata can be added to video streams in a manner that links the metadata to specific packets/frames of video data. Thus, even when the metadata comprises a stream of data points that constantly change throughout the duration of a video (such as telemetry data), the metadata can be correlated with specific frames of video data, allowing for detailed tagging of video content. - In a further embodiment,
controller 112 operates to temporally correlate segments of the video stream with the metadata, and to package video segments and correlated metadata into the same packets. This may be desirable when the metadata itself comprises a stream of data points that vary over time. Temporally correlating metadata with segments of the video stream may involve determining which segments (or entire video frames) of video data correspond with each data point. In one embodiment, the correlation is made based on the time at which the data points and/or video data were received or generated. For example, a newly received data point (e.g., a single GPS coordinate) may be associated with each received packet of video data until a new data point replaces the current one. In one embodiment, a master clock, or clocking mechanism such as a time and/or date stamp, provides a time for one or more metadata streams and the video stream. The clocking mechanism can correlate the one or more metadata streams with the video stream. In a further embodiment, a time of receipt is determined for each data point, and the data points are correlated with segments of video data that were received at substantially the same time. This technique provides a benefit over the metadata fields defined for most video compression standards, which do not allow metadata for a video stream to vary over time. - In a further embodiment, the metadata may be received at
server 110 at different intervals than the video stream itself, and may be received from an entirely separate source or using an entirely different communication protocol than the one used for the video stream. For example, the video stream may be received atserver 110 as a stream of MPEG-TS packets received via Real-time Transport Protocol (RTP) or User Datagram Protocol (UDP) at a rate of twenty frames per second, while the metadata may be received once per second via a radio communication protocol. - In a further embodiment, when the metadata is initially received in
step 208, the metadata may include multiple types of information from one or more independent sources, and each type of information in the metadata may describe a different unique aspect of the video stream. For example, one type of metadata may describe the yaw, pitch, and roll of the vehicle that recorded the video stream, while another type of metadata may describe the speed of the vehicle. The multiple types of metadata may be inserted into each packet using the techniques discussed above. To distinguish different types of metadata from each other within a single packet, the packet may include a header with information that describes the many different types of metadata that the packet encapsulates. -
FIG. 3 is a message diagram illustrating how video data is processed as the video data travels through a communication system in an exemplary embodiment. According toFIG. 3 , raw video data is first acquired by arecording device 310, and is then provided to acodec 320.Codec 320 may reside atrecording device 310 or atserver 110, or even some intermediate device between them.Codec 320 encodes the video data to reduce its overall size and prepare the video for transport, and this compressed video data is transmitted tocontroller 112 ofserver 110.Server 110 inserts the metadata and compressed video data into packets, and sends these packets outward, delivering the stream to target 130 vianetwork 120. - After the packets assembled and transmitted in
method 200 have traveled across packet-switchednetwork 120 to targetdevice 130, they are processed bytarget device 130 for viewing.FIG. 4 is a flowchart illustrating amethod 400 for extracting metadata for a video stream in an exemplary embodiment. In this embodiment instep 402target device 130 receives the packets initially created byserver 110. -
Target device 130 extracts the segments of compressed video data from the payload of each packet instep 404, and also extracts the metadata from each packet instep 406.Target device 130 then operates a codec to decode the segments of video data, and assembles the video data into a series of video frames that can be viewed instep 408. The video frames and metadata may then be displayed via one or more presentation devices, in steps 410-412. - In a further embodiment,
target device 130 further correlates specific metadata data points (e.g., GPS coordinates) with specific frames of the assembled video.Target device 130 achieves this goal by identifying which network-layer packets were used to assemble each video frame. - Data points from the network-layer packets can then be correlated with their appropriate frames, and the data points and video stream can be presented together via a presentation device such as a monitor, screen, projector, etc. for viewing by a user. For example, in an embodiment where the data points comprise a series of GPS coordinates, each frame of the video can be tagged with a GPS coordinate.
- In the following examples, additional processes, systems, and methods are described in the context of an unmanned aerial drone used to spot wildfires. Assume for this embodiment that the drone is operated to traverse a large swath of land over a relatively short period of time in search of any signs of wildfires. The drone includes a video camera for recording footage, as well as a GPS receiver and a transmitter.
-
FIG. 5 is a block diagram 500 illustrating the generation and transmission of video data at unmannedaerial drone 510 in an exemplary embodiment. In this embodiment, the drone acquires video data, encodes the video data according to the MPEG-TS standard, and transmits the compressed stream of video data to base station 520 (or any other device capable of receiving wireless data) at a rate of eight frames per second. -
Drone 510 also transmits GPS coordinates tobase station 520 four times per second. Assume for this example that owing to the specific implementation of components from different vendorsonboard drone 510, that drone 510 is incapable of inserting the GPS data directly into the MPEG-TS stream when the video is initially recorded and compressed. This GPS data is also received atbase station 520. Additional types of metadata that vary over time can be transmitted to the base station, such as a temperature currently identified by a thermal sensor viewing the ground, a velocity of the drone, an altitude of the drone, a direction in which a video camera for the drone is pointing, the angle of deviation of a video camera for the drone from a horizontal orientation, other telemetry information for the drone, a time/date, etc. -
FIG. 6 is a block diagram illustrating the creation of IP packets made from multiple MPEG-TS packets in an exemplary embodiment. According toFIG. 6 ,base station 520 correlates the received GPS coordinates with received packets of video data based on their order of receipt, and then encapsulates received MPEG-TS packets and metadata inside of an IP packet wrapper. In one embodiment, the metadata and MPEG-TS packets are encapsulated inside of an IP packet wrapper on the drone before being transmitted to thebase station 520. - In this example, each frame of video data is compressed with eight MPEG-TS packets that are each 188 bytes. Four MPEG-TS packets are inserted into each IP packet. Thus, two IP packets are used to transmit each video frame.
Base station 520 inserts GPS coordinates into newly created IP packets as the GPS coordinates are received. Each GPS coordinate (and any other metadata) is placed after the MPEG-TS data within the IP packet. In this example, GPS coordinate “A” is inserted into an IP packet, then the metadata portions of new IP packets are left blank until GPS coordinate “B” is received. If multiple GPS coordinates are received for a single video frame, a target device receiving the IP packets may determine which GPS coordinate to associate with the video frame. For example, the target device may associate the most recent GPS coordinate with the video frame. - In this example, each IP packet includes an IP routing header, a variable-length amount of video data, a variable amount of metadata, and a 34 byte footer. The footer is used to identify the number of streams of metadata included in the packet, a description for each stream of metadata, and the size of each stream of metadata. In one embodiment, the footer indicates that three different streams of metadata are included in the packet, each stream occupying a different amount of space within the packet.
- In this example, the footer includes a 16 byte video stream identifier, which uniquely identifies the video stream from others that may also be currently carried on the same network. The footer also includes a 1 byte indicator of the number of metadata streams include in the packet, as well as a 4 byte indicator of the amount of raw video in the packet. The footer further includes a 2 byte sequence number, which is used to sequence the IP packets and ensure that they can be re-assembled in the correct order. Another element of the footer is an 8 byte time stamp, and a 1 byte packet version, which is used to indicate a format used to store the metadata. The footer also includes a 2 byte identifier, which is used to indicate whether an IP packet starts a new video frame.
- In this example, the metadata within each IP packet is broken up into sections. Each section of metadata inside of the IP packet corresponds to a specific type of metadata. Each section of metadata includes its own 4 byte header indicating the amount of metadata included in the section, followed by the metadata content itself (e.g., a specific GPS coordinate, a velocity, an altitude, other flight dynamics data points, etc.).
- These IP packets of blended metadata and video content are then sent out across an IP network to one or more computers. Since the IP packets are sent out across the network as coherent units of metadata and video data, their time-coherency is maintained when they are received and re-assembled. Additionally, since the metadata is not compressed with a codec, a codec is not required to extract or review the metadata.
FIG. 7 further illustrates this concept. -
FIG. 7 is a block diagram comparing MPEG-TS compressed metadata within an IP packet to metadata that is not MPEG-TS compressed within an IP packet in an exemplary embodiment. According toFIG. 7 , each IP packet includes an IP header used for routing, as well as a combination of metadata and video data. Metadata inside of the MPEG-TScompressed portion 712 ofIP packet 710 is inaccessible without the MPEG-TS codec. In contrast, metadata forIP packet 720 is kept outside of thecompressed portion 722, and therefore is accessible even without the MPEG-TS codec. Furthermore, this style of metadata encoding can be used to add metadata to any suitable video encoding format, and therefore is not codec dependent. -
FIG. 8 is a block diagram illustrating a time-based correlation between received metadata and video data of an IP packet in an exemplary embodiment. According toFIG. 8 ,multiple IP packets 810 are received that each may include metadata data points. These IP packets are received and assembled into video frames 820. Each video frame may be associated with a GPS coordinate. Thus, when the video is finally displayed, the associated GPS coordinate for that frame can also be shown. -
FIG. 9 illustrates a video frame and associated metadata displayed at a Graphical User Interface (GUI) in an exemplary embodiment. According toFIG. 9 , the video frame includes video content illustrating a section ofwilderness 910 as well as a plume ofsmoke 920. The frame itself is accompanied bymetadata 930, which is displayed in the GUI and used to indicate a date, location, and frame number for the video. Using the location data, the exact position of the detected fire can quickly be determined, increasing the speed at which firefighters can determine how to deal with the fire. As used herein, a GUI can be presented via any suitable presentation device, such as a monitor, screen, projector, etc. - Any of the various elements shown in the figures or described herein may be implemented as hardware, software, firmware, or some combination of these. For example, an element may be implemented as dedicated hardware. Dedicated hardware elements may be referred to as “processors”, “controllers”, or some similar terminology. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, a network processor, application specific integrated circuit (ASIC) or other circuitry, field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), non-volatile storage, logic, or some other physical hardware component or module.
- Also, an element may be implemented as instructions executable by a processor or a computer to perform the functions of the element. Some examples of instructions are software, program code, and firmware. The instructions are operational when executed by the processor to direct the processor to perform the functions of the element. The instructions may be stored on storage devices that are readable by the processor. Some examples of the storage devices are digital or solid-state memories, magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
- Although specific embodiments were described herein, the scope of the invention is not limited to those specific embodiments. The scope of the invention is defined by the following claims and any equivalents thereof.
Claims (20)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/018,253 US8973075B1 (en) | 2013-09-04 | 2013-09-04 | Metadata for compressed video streams |
| GB1415120.3A GB2519645B (en) | 2013-09-04 | 2014-08-27 | Metadata for compressed video streams |
| US14/614,023 US9124909B1 (en) | 2013-09-04 | 2015-02-04 | Metadata for compressed video streams |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/018,253 US8973075B1 (en) | 2013-09-04 | 2013-09-04 | Metadata for compressed video streams |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/614,023 Continuation US9124909B1 (en) | 2013-09-04 | 2015-02-04 | Metadata for compressed video streams |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US8973075B1 US8973075B1 (en) | 2015-03-03 |
| US20150067746A1 true US20150067746A1 (en) | 2015-03-05 |
Family
ID=51727074
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/018,253 Active US8973075B1 (en) | 2013-09-04 | 2013-09-04 | Metadata for compressed video streams |
| US14/614,023 Active US9124909B1 (en) | 2013-09-04 | 2015-02-04 | Metadata for compressed video streams |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/614,023 Active US9124909B1 (en) | 2013-09-04 | 2015-02-04 | Metadata for compressed video streams |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US8973075B1 (en) |
| GB (1) | GB2519645B (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160295246A1 (en) * | 2015-04-02 | 2016-10-06 | Vixs Systems, Inc. | Video camera system with distributed control and methods for use therewith |
| US20170183096A1 (en) * | 2015-05-13 | 2017-06-29 | The United States Of America As Represented By The Secretary Of The Navy | Remotely Operated Vehicle (ROV) and Data Collection Protection System (DCPS) |
| US10355798B2 (en) | 2016-11-28 | 2019-07-16 | Microsoft Technology Licensing, Llc | Temporally correlating multiple device streams |
| US10572153B2 (en) | 2016-07-26 | 2020-02-25 | Western Digital Technologies, Inc. | Efficient data management through compressed data interfaces |
| US10771508B2 (en) | 2016-01-19 | 2020-09-08 | Nadejda Sarmova | Systems and methods for establishing a virtual shared experience for media playback |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8468453B2 (en) * | 2010-08-12 | 2013-06-18 | Echostar Technologies L.L.C. | User-selected media content blocking |
| US10310474B2 (en) | 2016-02-11 | 2019-06-04 | Philip Wernersbach | System and method for monitoring and analyzing industrial operations |
| FR3048843A1 (en) * | 2016-03-09 | 2017-09-15 | Parrot Drones | METHOD FOR ENCODING AND DECODING A VIDEO AND ASSOCIATED DEVICES |
| US10676216B2 (en) * | 2018-04-25 | 2020-06-09 | International Business Machines Corporation | Non-intrusive unmanned entity inspection |
| US10629009B2 (en) | 2018-04-25 | 2020-04-21 | International Business Machines Corporation | Non-intrusive unmanned entity inspection |
| CN115731633A (en) * | 2021-08-30 | 2023-03-03 | 成都纵横自动化技术股份有限公司 | Visualization method and system for multiple data acquired by sensor |
| CN114666309B (en) * | 2022-03-23 | 2024-12-31 | 中磊电子(苏州)有限公司 | Streaming media processing method, transmission device and receiving device |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020172281A1 (en) * | 2001-03-30 | 2002-11-21 | Raymond Mantchala | MPEG encoder control protocol for on-line encoding and MPEG data storage |
| US20030056212A1 (en) * | 2001-09-18 | 2003-03-20 | Siegel Jaime A. | Audio and video digital content delivery |
| US20090290645A1 (en) * | 2008-05-21 | 2009-11-26 | Broadcast International, Inc. | System and Method for Using Coded Data From a Video Source to Compress a Media Signal |
| US20110007962A1 (en) * | 2009-07-13 | 2011-01-13 | Raytheon Company | Overlay Information Over Video |
| US20110007150A1 (en) * | 2009-07-13 | 2011-01-13 | Raytheon Company | Extraction of Real World Positional Information from Video |
| US20110115977A1 (en) * | 2009-11-13 | 2011-05-19 | Triveni Digital | System and Method for Enhanced Television and Delivery of Enhanced Television Content |
| US20110175999A1 (en) * | 2010-01-15 | 2011-07-21 | Mccormack Kenneth | Video system and method for operating same |
| US20110176542A1 (en) * | 2010-01-19 | 2011-07-21 | Cisco Technology, Inc. | Transporting real time video frames over an ethernet network |
| US20110283203A1 (en) * | 2010-05-12 | 2011-11-17 | Alagu Periyannan | Systems and methods for shared multimedia experiences in virtual videoconference rooms |
| US20120082226A1 (en) * | 2010-10-04 | 2012-04-05 | Emmanuel Weber | Systems and methods for error resilient scheme for low latency h.264 video coding |
| US20120159534A1 (en) * | 2010-07-08 | 2012-06-21 | Rovi Technologies Corporation | Signal modification via media guidance application data and/or metadata |
| US20130047189A1 (en) * | 2011-02-04 | 2013-02-21 | Qualcomm Incorporated | Low latency wireless display for graphics |
| US20130283173A1 (en) * | 2010-08-12 | 2013-10-24 | Echostar Technologies L.L.C. | User-selected media content blocking |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6357042B2 (en) | 1998-09-16 | 2002-03-12 | Anand Srinivasan | Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream |
| WO2013100986A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Systems and methods for integrated metadata insertion in a video encoding system |
-
2013
- 2013-09-04 US US14/018,253 patent/US8973075B1/en active Active
-
2014
- 2014-08-27 GB GB1415120.3A patent/GB2519645B/en active Active
-
2015
- 2015-02-04 US US14/614,023 patent/US9124909B1/en active Active
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020172281A1 (en) * | 2001-03-30 | 2002-11-21 | Raymond Mantchala | MPEG encoder control protocol for on-line encoding and MPEG data storage |
| US20030056212A1 (en) * | 2001-09-18 | 2003-03-20 | Siegel Jaime A. | Audio and video digital content delivery |
| US20090290645A1 (en) * | 2008-05-21 | 2009-11-26 | Broadcast International, Inc. | System and Method for Using Coded Data From a Video Source to Compress a Media Signal |
| US20110007962A1 (en) * | 2009-07-13 | 2011-01-13 | Raytheon Company | Overlay Information Over Video |
| US20110007150A1 (en) * | 2009-07-13 | 2011-01-13 | Raytheon Company | Extraction of Real World Positional Information from Video |
| US20110115977A1 (en) * | 2009-11-13 | 2011-05-19 | Triveni Digital | System and Method for Enhanced Television and Delivery of Enhanced Television Content |
| US20110175999A1 (en) * | 2010-01-15 | 2011-07-21 | Mccormack Kenneth | Video system and method for operating same |
| US20110176542A1 (en) * | 2010-01-19 | 2011-07-21 | Cisco Technology, Inc. | Transporting real time video frames over an ethernet network |
| US20110283203A1 (en) * | 2010-05-12 | 2011-11-17 | Alagu Periyannan | Systems and methods for shared multimedia experiences in virtual videoconference rooms |
| US20120159534A1 (en) * | 2010-07-08 | 2012-06-21 | Rovi Technologies Corporation | Signal modification via media guidance application data and/or metadata |
| US20130283173A1 (en) * | 2010-08-12 | 2013-10-24 | Echostar Technologies L.L.C. | User-selected media content blocking |
| US20120082226A1 (en) * | 2010-10-04 | 2012-04-05 | Emmanuel Weber | Systems and methods for error resilient scheme for low latency h.264 video coding |
| US20130047189A1 (en) * | 2011-02-04 | 2013-02-21 | Qualcomm Incorporated | Low latency wireless display for graphics |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160295246A1 (en) * | 2015-04-02 | 2016-10-06 | Vixs Systems, Inc. | Video camera system with distributed control and methods for use therewith |
| US9641869B2 (en) * | 2015-04-02 | 2017-05-02 | Vixs Systems, Inc. | Video camera system with distributed control and methods for use therewith |
| US20170183096A1 (en) * | 2015-05-13 | 2017-06-29 | The United States Of America As Represented By The Secretary Of The Navy | Remotely Operated Vehicle (ROV) and Data Collection Protection System (DCPS) |
| US10059445B2 (en) * | 2015-05-13 | 2018-08-28 | The United States Of America, As Represented By The Secretary Of The Navy | Remotely operated vehicle (ROV) and data collection protection system (DCPS) |
| US10771508B2 (en) | 2016-01-19 | 2020-09-08 | Nadejda Sarmova | Systems and methods for establishing a virtual shared experience for media playback |
| US11582269B2 (en) | 2016-01-19 | 2023-02-14 | Nadejda Sarmova | Systems and methods for establishing a virtual shared experience for media playback |
| US10572153B2 (en) | 2016-07-26 | 2020-02-25 | Western Digital Technologies, Inc. | Efficient data management through compressed data interfaces |
| US10915247B2 (en) | 2016-07-26 | 2021-02-09 | Western Digital Technologies, Inc. | Efficient data management through compressed data interfaces |
| US10355798B2 (en) | 2016-11-28 | 2019-07-16 | Microsoft Technology Licensing, Llc | Temporally correlating multiple device streams |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2519645A (en) | 2015-04-29 |
| GB2519645B (en) | 2016-01-27 |
| GB201415120D0 (en) | 2014-10-08 |
| US8973075B1 (en) | 2015-03-03 |
| US9124909B1 (en) | 2015-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8973075B1 (en) | Metadata for compressed video streams | |
| US9894393B2 (en) | Video encoding for reduced streaming latency | |
| US11553025B2 (en) | System and method for interleaved media communication and conversion | |
| JP2017208802A (en) | Method for encoding and decoding video of drone and related device | |
| AU2018230039B2 (en) | Real time frame alignment in video data | |
| US10666351B2 (en) | Methods and systems for live video broadcasting from a remote location based on an overlay of audio | |
| US20210227102A1 (en) | Systems and methods for synchronizing frame timing between physical layer frame and video frame | |
| US20140143385A1 (en) | Method and apparatus for efficiently prioritizing elements in a video stream for low-bandwidth transmission | |
| US20180160140A1 (en) | Arithmetic unit, transmission program, and transmission method | |
| CN112738645A (en) | Method and apparatus for transmitting and receiving signal in multimedia system | |
| US10728161B2 (en) | Method and apparatus for transmitting and receiving packet in communication system | |
| IL269050A (en) | Symbology encoding in video data | |
| CN114071246B (en) | Media augmented reality tag method, computer device and storage medium | |
| KR102046903B1 (en) | Apparatus and Method for MMT Payload Header Structure | |
| WO2023029588A1 (en) | Dynamic video presentation method applied to gis and system thereof | |
| CN114326764A (en) | Rtmp transmission-based smart forestry unmanned aerial vehicle fixed-point live broadcast method and unmanned aerial vehicle system | |
| Yun et al. | Edge media server for real-time 4K video streaming with multiple 5G-enabled drones | |
| KR20250049939A (en) | Method and device for transmitting mission performance images and object recognition information of an unmanned aerial vehicle | |
| US12483755B2 (en) | MMT based DRM operation for ATSC 3.0 | |
| CN116820118A (en) | A data processing method, device, electronic equipment and storage medium | |
| Yun et al. | Optimized 4K Video and Geospatial Metadata Synchronization for Web Applications on 5G | |
| KR20210130092A (en) | Server device, information processing method, and non-transitory computer readable recording medium | |
| Kasner et al. | Delivery methods for LVSD systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: THE BOEING COMPANY, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WILLIS, RAYMOND W.;HEIM, JEFFREY A;REEL/FRAME:031137/0903 Effective date: 20130903 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |