KR101706573B1 - Device and method for multicast screen mirroring - Google Patents
Device and method for multicast screen mirroring Download PDFInfo
- Publication number
- KR101706573B1 KR101706573B1 KR1020150094739A KR20150094739A KR101706573B1 KR 101706573 B1 KR101706573 B1 KR 101706573B1 KR 1020150094739 A KR1020150094739 A KR 1020150094739A KR 20150094739 A KR20150094739 A KR 20150094739A KR 101706573 B1 KR101706573 B1 KR 101706573B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- video frame
- received
- block
- packets
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 33
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 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/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/64—Addressing
- H04N21/6405—Multicasting
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A multicast screen mirroring apparatus and method are provided. A multicast screen mirroring method includes compressing a video frame to generate a compressed video frame, encoding the compressed video frame using Network Coding to generate an encoded packet, and transmitting the encoded packet via multicast And a control unit.
Description
The present invention relates to a multicast screen mirroring apparatus and method, and more particularly, to a multicast screen mirroring apparatus and method capable of providing screen mirroring to multiple users.
2. Description of the Related Art Various electronic devices such as a smart phone, a tablet PC, and the like have been developed and various applications implemented in such electronic devices are being provided. Of these various applications, a screen mirroring application is an application that allows a screen of one electronic device to be displayed simultaneously on another electronic device. For example, in an application where an electronic board is used, the teacher can conduct the lesson through the electronic board, and the student can be trained through the electronic board and screen-mirrored electronic device.
Assuming that the electronic blackboard is used as described above, when a screen of one user is mirrored to a plurality of users, such as a situation in which an electronic blackboard screen is mirrored to electronic devices of a plurality of students in a classroom, Point access point (AP) or mirroring through a WiFi-Direct connection. At this time, data can be transmitted unicast or multicast to the multi-user electronic device for screen mirroring. In the case of unicast data transmission, the bandwidth used increases proportionally as the number of receiving users increases, and transmission is impossible when a certain number of receiving users attempt to receive data at the same time. In addition, when transmitting data by multicast, existing wireless LANs do not transmit ACK packets due to collision of ACK, and thus can not guarantee reliability. Thus, the prior art related to screen mirroring has a problem that is unsuitable for screen mirroring to a large number of users.
[Related Technical Literature]
1. Wide area mirroring router (Korean Patent Application No. 10-2014-7009591)
Accordingly, an object of the present invention is to provide a multicast screen mirroring apparatus and method that can provide high scalability and high reliability in mirroring a screen to multiple users.
Another object of the present invention is to provide a multicast screen mirroring apparatus and method capable of safely restoring packets even if some packets are lost by adopting a network coding (NC) scheme.
The problems of the present invention are not limited to the above-mentioned problems, and other problems not mentioned can be clearly understood by those skilled in the art from the following description.
According to an aspect of the present invention, there is provided a method for mirroring a multicast screen, the method comprising: generating a compressed video frame by compressing a video frame; encoding the compressed video frame by network coding; And generating an encoded packet, and transmitting the encoded packet in a multicast manner.
According to another aspect of the present invention, the video frame is characterized in that the screen is captured data for each capture period.
According to another aspect of the present invention, the step of generating a compressed video frame comprises compressing a video frame based on at least one of a bit rate, a frame rate, a resolution, and an I frame interval input from a user The method comprising the steps of:
According to still another aspect of the present invention, the step of generating an encoded packet includes generating one or more original packets by separating a compressed video frame into packets of a predetermined length, grouping the original packets into a predetermined number And encoding the data by network coding on a block-by-block basis.
According to another aspect of the present invention, the step of encoding by network coding on a block-by-block basis includes generating an encoding packet by linearly combining a coupling coefficient and a data value of an original packet.
According to another aspect of the present invention, the step of multicasting the encoded packet includes transmitting the original packet together with the encoded packet in a multicast manner.
According to another aspect of the present invention, an encoded packet includes a header and payload, the header including a number of original packets in the block, an original packet order in the block, a block ID, a video frame ID, byte size, a combining coefficient, and a sequence of original packets in a video frame.
According to an aspect of the present invention, there is provided a multicast screen mirroring apparatus including a video encoder module configured to compress a video frame to generate a compressed video frame, a network coded ) To generate an encoded packet, and a traffic shaper module configured to multicast the encoded packet.
According to an aspect of the present invention, there is provided a computer-readable recording medium that compresses a video frame to generate a compressed video frame, encodes the compressed video frame into network coding, An encoded packet, and a set of instructions to cause the encoded packet to be transmitted in a multicast manner.
According to an aspect of the present invention, there is provided a method for mirroring a multicast screen, comprising: checking a video frame ID of a header of a received packet; determining whether a video frame ID matches an ID of a video frame currently being received The method comprising the steps of: collecting a received packet by a block ID of a header; storing a data value at a predetermined position on a video frame with reference to a received packet when the received packet is an original packet; And performing network coding decoding on the block when a predetermined number or more is received.
According to another aspect of the present invention, the multicast screen mirroring method further comprises, prior to the step of collecting received packets by block ID of the header, if the video frame ID does not match the ID of the video frame currently being received, Decoding the video frame and allocating a buffer memory for storing the new video frame.
According to another aspect of the present invention, a multicast screen mirroring method includes storing a data value of a decoding packet in a predetermined position on a video frame when decoding is successful, and a receiving packet having a block ID indicating a block succeeding decoding The method comprising the steps of:
According to another aspect of the present invention, a multicast screen mirroring method includes the steps of removing a linearly dependent receive packet when decoding fails, and receiving a receive packet having a block ID indicating a block that failed decoding Further comprising the step of waiting.
According to an aspect of the present invention, there is provided a multicast screen mirroring apparatus, which is configured to check a video frame ID of a header of a received packet, The received packet is collected according to the block ID of the header. If the received packet is the original packet, the data value is stored at a predetermined position on the video frame with reference to the received packet. If the packet included in the block indicated by the block ID is a predetermined And a network coding decoder configured to perform network coding decoding on the block if the number of received blocks is equal to or greater than a predetermined number.
According to an aspect of the present invention, there is provided a computer readable recording medium for verifying a video frame ID of a header of a received packet, and when a video frame ID matches an ID of a video frame currently being received , The received packet is collected according to the block ID of the header, and when the received packet is the original packet, the data value is stored at a predetermined position on the video frame with reference to the received packet, and if the packet included in the block indicated by the block ID is a predetermined number And if so received, performing a network coding decoding on the block.
The details of other embodiments are included in the detailed description and drawings.
The present invention can provide high scalability and high reliability in mirroring a screen to multiple users.
In addition, the present invention adopts a network coding scheme to securely recover a packet even if some packets are lost.
The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.
1 is a schematic diagram of a multicast screen mirroring system in accordance with an embodiment of the present invention.
2 is a schematic view of a transmitting apparatus in a multicast screen mirroring apparatus according to an embodiment of the present invention.
3 is a flowchart of a transmission method in a multicast screen mirroring method according to an embodiment of the present invention.
4 is a schematic diagram of an encoding packet according to an embodiment of the present invention.
FIG. 5 is a schematic view of a receiving apparatus in a multicast screen mirroring apparatus according to an embodiment of the present invention. FIG.
6 is a flowchart of a transmission method in a multicast screen mirroring method according to an embodiment of the present invention.
7 is a schematic diagram of a multicast screen mirroring apparatus according to another embodiment of the present invention.
Figure 8 is a graph of encoding yield in a multicast screen mirroring apparatus and method according to an embodiment of the present invention.
9A and 9B are graphs of decoding yields in a multicast screen mirroring apparatus and method according to an embodiment of the present invention.
10A and 10B are a measurement topology and a graph for explaining a packet loss rate in a multicast screen mirroring apparatus and method according to an embodiment of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.
Like reference numerals refer to like elements throughout the specification.
Each block of the accompanying block diagrams and combinations of the steps of the flowcharts may be performed by algorithms or computer program instructions comprised of firmware, software, or hardware. These algorithms or computer program instructions may be embedded in a processor of a general purpose computer, special purpose computer, or other programmable digital signal processing device, so that the instructions that are executed by a processor of a computer or other programmable data processing apparatus Generate means for performing the functions described in each block or flowchart of the block diagram. These algorithms or computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement a function in a particular manner, It is also possible for instructions stored in a possible memory to produce a manufacturing item containing instruction means for performing the function described in each block or flowchart of each block diagram. Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.
Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.
It is to be understood that each of the features of the various embodiments of the present invention may be combined or combined with each other partially or entirely and technically various interlocking and driving is possible as will be appreciated by those skilled in the art, It may be possible to cooperate with each other in association.
Various embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
1 is a schematic diagram of a multicast screen mirroring system in accordance with an embodiment of the present invention. Referring to FIG. 1, a multicast
The transmitting
The receiving
In addition, the multicast screen mirroring device may function as a transmitting
2 is a schematic view of a transmitting apparatus in a multicast screen mirroring apparatus according to an embodiment of the present invention. 3 is a flowchart of a transmission method in a multicast screen mirroring method according to an embodiment of the present invention. Referring to FIG. 2, the
First, the transmitting
Upon receiving the transmission start input from the
When the transmission start input is received, the
Next, the video encoder module of the
The video encoder module is a module for compressing data of a screen captured by a video frame, i.e., the
Then, the network
More specifically, the network
In particular, the network
Then, the network
The network
Then, the network
The network
A procedure for additionally generating an encoding packet by random linear network coding is as follows. An encoding packet is generated by linear combination of K arbitrary combining coefficients and data values of the original packet. If there is an original packet of length L ', then the rear part (L-L') of the short original packet is regarded as 0 and encoded. In this case, the linear combination operation is performed by a finite field operation. In order to increase the speed of the finite field operation and maintain proper memory usage, the field size is 8 bytes, the symbol size is 1 byte, and the multiplication and division The calculations use a 2D lookup table. The process can be expressed as follows.
[Equation 1]
yi = a_1 x_1i + a_2 x_2i ++ a_K x_Ki,
Where yi denotes the i-th byte of the generated encoded packet and _ji denotes the i-th byte of the j-th original packet. a_j is an arbitrary coefficient value multiplied by the jth original packet. If we change it into matrix form, it is as follows.
Y = AX,
Y is an (N-K) × L size result matrix, A is a (N-K) × K size coupling coefficient matrix, and X is a K × L original packet matrix.
For a more detailed description of the encoding packet generated through the encoding process as described above, reference is also made to FIG.
4 is a schematic diagram of an encoding packet according to an embodiment of the present invention.
Referring to FIG. 4, the encoded packet includes a header and a payload. That is, a header is added to the encoding packet for the decoding process. The header includes the number of original packets K in the block, the original packet order sys in the block, the block ID BID, the video frame ID FID, the total byte size of the video frame, Coefficient and the order of the original packets in the video frame (fseq). That is, K represents the number of original packets in a block, sys represents a number of original packets for the original packet, BID is a block ID for identifying a block, and FID is a video frame ID for identifying a video frame. Flength is the total byte size of the video frame, and K 'and L' are obtained using the corresponding value and K, value. And Coefficient transfers the value of the coupling coefficient used in encoding. fseq is recorded in the order of the packets in the video frame when the video frame is initially cut in packets. Referring to these header values, the receiving
When the encoding is completed as described above, the network
Then, the
The
If the traffic shaper uses a token bucket algorithm, the traffic shaper periodically generates tokens. The token generation period is the inverse of the token rate. The traffic shaper can hold tokens up to a preset maximum number, and can not have more than the maximum number. At this time, the network
Hereinafter, a receiving
FIG. 5 is a schematic view of a receiving apparatus in a multicast screen mirroring apparatus according to an embodiment of the present invention. FIG. 6 is a flowchart of a transmission method in a multicast screen mirroring method according to an embodiment of the present invention. Referring to FIG. 5, the receiving
First, the receiving
The network
Specifically, when a received packet arriving at the receiving
If the video frame ID (FID) does not match the ID of the video frame currently being received, the network
That is, when the video frame ID (FID) does not match the ID of the video frame currently being received, the network
Then, the network
The network
Then, if the video frame ID (FID) matches the ID of the video frame currently being received or if the video frame ID (FID) does not match the ID of the video frame currently being received, but a buffer memory for that video frame is assigned , The network
The network
If decoding of the corresponding block ID (BID) is required, the network
Then, the network
If the received packet is an original packet, the network
The network
If the received packet is not the original packet and the received packet is the original packet, the network
In the random linear network coding scheme used in the network
If the block ID (BID) is not a decoding condition, that is, if a packet included in a block indicated by a block ID (BID) is received less than a predetermined number K, the received packet is stored (S650) .
When the corresponding block ID (BID) is a decoding condition, that is, when a predetermined number or more of packets included in a block indicated by the block ID (BID) are received, decoding is performed on the block.
Specifically, it is checked whether all rows of the coefficient matrix are linearly independent (S655).
As described above, in the random linear network coding scheme, when K pieces of linearly independent packets among the total N packets transmitted from the transmitting
If decoding fails, that is, if all the rows of the Coefficient matrix are not linearly independent, the network
If decoding is successful, that is, if it is determined that the received K received packets are linearly independent, the original packet is recovered through LU decomposition (S665).
The decoding process in the network
Then, the network
The network
When the decoding process for the video frame in the network
The
In the multi-screen mirroring apparatus and method according to an embodiment of the present invention, multicast transmission using network coding is performed in a screen mirroring to multiple users, so that even if the number of receiving
In the multi-screen mirroring apparatus and method according to an embodiment of the present invention, unlike the related art, a network
In addition, in the multi-screen mirroring apparatus and method according to an embodiment of the present invention, efficiency is improved by encoding in units of video frames, and additional delay due to coding can be reduced. Also, in the multi-screen mirroring apparatus and method according to an embodiment of the present invention, interleaving is performed for each video frame and a packet is transmitted to provide a bursty error robust service.
Also, in the multi-screen mirroring apparatus and method according to an embodiment of the present invention, the transmission amount can be adjusted through the traffic shaper to minimize the packet loss due to the buffer overflow.
Also, in the multi-screen mirroring apparatus and method according to an embodiment of the present invention, even if only K packets out of N packets transmitted from the transmitting
7 is a schematic diagram of a multicast screen mirroring apparatus according to another embodiment of the present invention. The multicast screen mirroring apparatus shown in FIG. 7 is a transmitting and receiving
Referring to FIG. 7, the
Figure 8 is a graph of encoding yield in a multicast screen mirroring apparatus and method according to an embodiment of the present invention. FIG. 8 is a graph of the encoding yield when an electronic writing board terminal (Odroid XU) is used as a transmitting apparatus.
The encoding yield refers to the total number of bits of a packet used for encoding per second. The encoding yield is an indicator of the performance of the network coding codec. When the value is larger than the video bit rate, the module can transmit without additional delay.
Referring to FIG. 8 showing the encoding yield result graph using Odroid XU, the delay time for processing one block increases according to the number K of original packets constituting one block, and accordingly, It can be seen that the encoding yield decreases as the number of original packets K constituting one block increases. The reason is that as the number of original packets (K) constituting one block increases, the number of required operations increases proportionally. The results show that the encoding yield is more than 20 Mb / s when K is 20 or less, and it is generally confirmed that the encoding yield is sufficiently high when the bit rate of HD video is 3 Mb / s have.
9A and 9B are graphs of decoding yields in a multicast screen mirroring apparatus and method according to an embodiment of the present invention. FIG. 9A is a decoding yield graph for
The decoding yield is the total number of bits of a packet that can be decoded per second. The decoding yield is an indicator of the performance of the network coding codec. When the corresponding value is greater than the video bit rate, the module is able to receive without additional delay.
The decoding yield depends on the reception rate of the original packet when K packets are received. When all the received packets are original packets, a separate decoding process is unnecessary, and thus a large yield of 200 Mb / s or more is obtained. The lower the reception rate of the original packet is, the more the number of operations required in the decoding process increases and the decoding yield decreases. Also, the larger the value of K, the greater the amount of computation as well as the encoding yield, and the decoding yield decreases. However, it can be confirmed that decoding yields of 9 Mb / s or more are obtained in both the first and second embodiments. In the case of
10A and 10B are a measurement topology and a graph for explaining a packet loss rate in a multicast screen mirroring apparatus and method according to an embodiment of the present invention. 10A is a schematic diagram showing the positions of the experimental environment and the access point, the transmitting apparatus, the first receiving apparatus, the second receiving apparatus, and the third receiving apparatus for measuring the packet loss rate, and the coordinates for each position are based on the origin The unit is in meters (m). FIG. 10B is a graph showing a packet loss rate (PLR) of the first receiver, the second receiver, and the third receiver when N is 5, 10, and 15, respectively.
Packet loss rate refers to the number of video packets lost relative to the number of packets transmitted and is widely used as a performance indicator. In order to measure the packet loss rate, a wireless LAN access point is connected to an electronic board terminal (Odroid XU) as a transmitting device, and a first receiving device, a second receiving device, and a third receiving device are disposed at three locations in a classroom environment Performance was measured. The access point used in the experiment was MMC-Tech's MW-5150 AP and measured in the 5 GHz band. In the experiment, K was set to 5, and N was changed to 5, 10, and 15. In the case of N = 5, as a comparative example, only the original packet is transmitted without transmitting the encoding packet, and therefore, the result is the same as that in the prior art that does not use network coding. As the video coding parameters, the bit rate is set to 1 Mb / s, the GOP is set to 20, the FPS is set to 20, and the resolution is set to 1280x720. The token period is set to 0.277 ms, and the maximum number of tokens is set to 180. The multicast transmission rate was set at 54 Mb / s. The first receiving device, the second receiving device, and the third receiving device used the Galaxy Note 10.1 2012 edition.
As a result of the measurement, it has been confirmed that a packet loss rate of 10% or more is measured in the case of a packet which is not transmitted using network coding with N = 5, that is, a comparative example in which only an original packet is transmitted. On the other hand, in the case of N = 10 and 15, a packet loss rate of less than 1%, which is a packet loss rate requirement in general video streaming, can be obtained.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, which is capable of reading information from, and writing information to, the storage medium. Alternatively, the storage medium may be integral with the processor. The processor and the storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the present invention is not limited to the disclosed exemplary embodiments, but various changes and modifications may be made without departing from the spirit and scope of the invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the scope of the present invention but to limit the scope of the technical idea of the present invention. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
100: transmitting apparatus
110: UI module
120: Screen Capture Module
130: Video encoding module
140: Network coding encoder module
150: Traffic Shaper Module
200: Receiver
210: UI module
220: Screen playback module
230: Video decoder module
240: Network coding decoder module
300: access point
400: Transceiver
410: UI module
1000: Multicast Screen Mirroring System
Claims (15)
Separating the compressed video frame into packets of a predetermined length to generate one or more original packets;
Grouping the original packets by a predetermined number to generate one or more blocks;
Generating encoded packets by encoding the encoded data in a network coding manner on a block-by-block basis; And
And multicasting the encoded packet with the original packet,
When a packet of a predetermined number or more of the received packets received in correspondence with the block is received in an apparatus that has received the received packet, the receiving packet including the original packet and the encoded packet includes Wherein the network coding decoding is configured to perform the multicast screen mirroring.
Wherein the video frame is data captured by the screen for each capture period.
Wherein the step of generating the compressed video frame comprises compressing the video frame based on at least one of a bit rate, a frame rate, a resolution, and an I frame interval input from a user Multicast screen mirroring method.
Wherein encoding on a block-by-block basis comprises generating the encoded packet by linear combination of a coupling coefficient and a data value of an original packet.
Wherein the encoded packet includes a header and payload,
Wherein the header comprises a number of original packets in the block, an original packet order in the block, a block ID, a video frame ID, a total byte size of the video frame, Wherein the multicast screen includes a sequence of original packets.
Generating one or more original packets by dividing the compressed video frame into packets of a predetermined length, generating one or more blocks by grouping the original packets by a predetermined number, and performing network coding on the block- A network coding encoder module configured to encode the encoded packet to generate an encoded packet; And
And a traffic shaper module configured to multicast the encoded packet with the original packet,
When a packet of a predetermined number or more of the received packets received in correspondence with the block is received in an apparatus that has received the received packet, the receiving packet including the original packet and the encoded packet includes Characterized in that the network coding decoding is configured to perform the multicast screen mirroring.
Separating the compressed video frame into packets of a predetermined length to generate one or more original packets,
Grouping the original packets by a predetermined number to generate one or more blocks,
And encodes the encoded data by network coding to generate an encoded packet,
A set of instructions to cause the encoded packet to be multicastly transmitted with the original packet,
When a packet of a predetermined number or more of the received packets received in correspondence with the block is received in an apparatus that has received the received packet, the receiving packet including the original packet and the encoded packet includes Wherein the network coding decoding is configured to be performed.
If the video frame ID matches the ID of the video frame currently being received,
Collecting received packets for each block ID of the header;
If the received packet is an original packet, storing the data value at a predetermined position on the video frame with reference to the received packet; And
And performing network coding decoding on the block when the packet included in the block indicated by the block ID is a predetermined number or more of linearly independent packets.
If the video frame ID does not match the ID of the video frame currently being received, prior to the step of collecting received packets by block ID of the header,
Performing decoding on a previous video frame; And
And allocating a buffer memory to store a new video frame. ≪ Desc / Clms Page number 19 >
If the decoding succeeds,
Storing a data value of a decoding packet at a predetermined location on the video frame; And
Further comprising the step of deleting a received packet having a block ID indicating a block succeeding the decoding.
If the decoding fails,
Removing linearly dependent received packets; And
Further comprising the step of waiting for a received packet having a block ID indicating a block that failed to decode said multicast screen.
If the video frame ID matches the ID of the video frame currently being received,
Collecting received packets for each block ID of the header,
If the received packet is an original packet, storing the data value at a predetermined position on the video frame with reference to the received packet,
And a network coding decoder configured to perform network coding decoding on the block if the packet included in the block indicated by the block ID is a packet having a linear number or more than a predetermined number.
If the video frame ID matches the ID of the video frame currently being received,
Collecting received packets for each block ID of the header,
If the received packet is an original packet, storing the data value at a predetermined position on the video frame with reference to the received packet,
And a set of instructions for causing network coding decoding of the block to be performed when the packet included in the block indicated by the block ID is a packet having a predetermined number or more of linear independence.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150094739A KR101706573B1 (en) | 2015-07-02 | 2015-07-02 | Device and method for multicast screen mirroring |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150094739A KR101706573B1 (en) | 2015-07-02 | 2015-07-02 | Device and method for multicast screen mirroring |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170004418A KR20170004418A (en) | 2017-01-11 |
KR101706573B1 true KR101706573B1 (en) | 2017-02-15 |
Family
ID=57833011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150094739A KR101706573B1 (en) | 2015-07-02 | 2015-07-02 | Device and method for multicast screen mirroring |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101706573B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10880279B2 (en) | 2018-11-02 | 2020-12-29 | Sony Corporation | Virtual broadcast of unicast data stream in secured wireless local area network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100678891B1 (en) * | 2004-07-30 | 2007-02-05 | 삼성전자주식회사 | Method and apparatus for contents' attribute adaptive buffer control in audio-video data receiving |
KR20090094941A (en) * | 2008-03-04 | 2009-09-09 | 삼성전자주식회사 | Apparatus and method for screen share between external display device and mobile communication terminal |
KR101210078B1 (en) * | 2011-01-24 | 2012-12-07 | 한국과학기술원 | Method and system for transferring contents based on multi-source multicast |
KR102136761B1 (en) * | 2012-11-14 | 2020-07-22 | 삼성전자주식회사 | Base station and a plurality of member nodes of transmitting and receiving network coding based multicast traffic |
-
2015
- 2015-07-02 KR KR1020150094739A patent/KR101706573B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20170004418A (en) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4321284B2 (en) | Streaming data transmission apparatus and information distribution system | |
US10218821B2 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
US20100085963A1 (en) | Reconstruction of errored media streams in a communication system | |
US20210328717A1 (en) | Audio data recovery method, device and Bluetooth Apparatus Device | |
RU2673102C2 (en) | Device and method of information processing and program | |
US9667384B2 (en) | Apparatus and method for transmitting and receiving forward error correction packet | |
KR20200024319A (en) | Method, apparatus, system and medium for coding and decoding of self-adapting system code FEC based on media content | |
RU2668064C2 (en) | Information processing device, information processing method and program | |
KR101706573B1 (en) | Device and method for multicast screen mirroring | |
KR101953580B1 (en) | Data Transceiving Apparatus and Method in Telepresence System | |
JP2007324876A (en) | Data transmitter, data receiver, data transmitting method, data receiving method, and program | |
CN111279694A (en) | GDR code stream encoding method, terminal device and machine readable storage medium | |
KR100739509B1 (en) | Apparatus and method for transmitting/receiving a header information in a wireless communication system with multi-channel structure | |
US10313708B1 (en) | Distributed upload of television content | |
KR20160123562A (en) | Receiver for processing data packet and data packet processing method of receiver | |
JP5746963B2 (en) | Communications system | |
JP6614145B2 (en) | Receiving device, receiving method, and computer program | |
KR20150079399A (en) | Apparatus and Method for Transmitting Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |