IP Library › Granted Patent US 11,196,792
Granted Patent B2
US 11,196,792 · App. 16/639,533 · Granted Dec 7, 2021

Method, device and system for transmitting data

Inventor: Anmin Xin (Zhejiang, CN)
Assignee: HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO., LTD.
H04L65/608H04L1/1607H04L1/1816H04L65/1003H04L65/607
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,196,792
App. No.
16/639,533
Granted
Dec 7, 2021
Kind
B2
Abstract

A method of transmitting data, composing: transmitting a plurality of first Real-time Transport Protocol (RTP) data packets to a receiving end over an RTP data link established with the receiving end; receiving a retransmission indication message sent by the receiving end, the retransmission indication message being intended to indicate an RTP data packet to be retransmitted among the plurality of first RTP data packets; encapsulating the RTP data packet to be retransmitted according to the retransmission indication message to obtain a second RTP data packet, wherein the second RTP data packet composes an RTP padding field intended to indicate that the second RTP data packet is a retransmitted RTP data packet, and a type flag of the second RTP data packet is same as a type flag of the first RTP data packet and transmitting the second RTP data packet to the receiving end over the RTP data link.

Claims (69)

1. A method of transmitting data, applicable to a transmitting end, the method comprising:

transmitting a plurality of first Real-time Transport Protocol (RTP) data packets to a receiving end over an RTP data link established with the receiving end;

receiving a retransmission indication message sent by the receiving end, the retransmission indication message being intended to indicate an RTP data packet to be retransmitted among the plurality of first RTP data packets;

encapsulating the RTP data packet to be retransmitted according to the retransmission indication message to obtain a second RTP data packet, wherein the second RTP data packet comprises an RTP padding field intended to indicate that the second RTP data packet is a retransmitted RTP data packet, and a type flag of the second RTP data packet is same as a type flag of the first RTP data packet; and

transmitting the second RTP data packet to the receiving end over the RTP data,

wherein encapsulating the RTP data packet to be retransmitted according to the retransmission indication message comprises:

suffixing a padding unit to the RTP data packet to be retransmitted, an RTP padding field in the second RTP data packet comprising the padding unit, the padding unit comprising a retransmission indication byte, the retransmission indication byte being intended to indicate that the second RTP data packet is a retransmitted RTP data packet.

2. The method according to claim 1 , wherein the retransmission indication byte at least comprises a retransmission flag and a count flag; wherein

the retransmission flag is intended to indicate that the second RTP data packet is the retransmitted RTP data packet; and

the count flag is intended to indicate the number of times that the transmitting end transmits the second RTP data packet.

3. The method according to claim 2 , wherein the retransmission indication byte further comprises a data flag; wherein

the data flag is intended to indicate whether an RTP data field in the second RTP data packet is an RTP data field in the RTP data packet to be retransmitted.

4. The method according to claim 3 , wherein the padding unit further comprises a length indication byte, the length indication byte being intended to indicate a length of the RTP padding field in the second RTP data packet.

5. The method according to claim 4 , wherein

the retransmission indication byte is a penultimate byte in the padding unit, and the length indication byte is a last byte in the padding unit;

the retransmission flag comprises two bits, the count flag comprises three bits, and the data flag comprises one bit; and

the retransmission flag, the data flag and the count flag are arranged in sequence in the retransmission indication byte, and the two bits in the retransmission flag are first two bits in the retransmission indication byte.

6. The method according to claim 1 , wherein encapsulating the RTP data packet to be retransmitted according to the retransmission indication message further comprises:

acquiring a predetermined bytes per unit, a total bytes of the RTP data packet to be retransmitted being an integer multiple of the bytes per unit, and the bytes per unit being an n th power of 2, n being an integer greater than or equal to 1; and

determining, according to the bytes per unit, the padding unit constituted by m bytes, m being an integer multiple of the bytes per unit.

7. The method according to claim 1 , wherein operations of the method are performed by a device comprising a processor and a memory;

wherein:

the memory is configured to store a computer program; and

the processor is configured to execute the computer program stored on the memory to perform the operations.

8. The method according to claim 1 , wherein operations of the method are performed by a processor,

wherein at least one code instruction stored in a non-transitory computer-readable storage medium causes the processor to perform the operations, when the at least one code instruction is executed by the processor.

9. A method of transmitting data, applicable to a transmitting end, the method comprising:

transmitting a plurality of first Real-time Transport Protocol (RTP) data packets to a receiving end over an RTP data link established with the receiving end;

receiving a retransmission indication message sent by the receiving end, the retransmission indication message being intended to indicate an RTP data packet to be retransmitted among the plurality of first RTP data packets;

encapsulating the RTP data packet to be retransmitted according to the retransmission indication message to obtain a second RTP data packet, wherein the second RTP data packet comprises an RTP padding field intended to indicate that the second RTP data packet is a retransmitted RTP data packet, and a type flag of the second RTP data packet is same as a type flag of the first RTP data packet; and

transmitting the second RTP data packet to the receiving end over the RTP data link,

wherein encapsulating the RTP data packet to be retransmitted according to the retransmission indication message comprises:

judging whether the RTP data packet to be retransmitted comprises the RTP padding field;

when the RTP data packet to be retransmitted comprises the RTP padding field, suffixing a padding unit to the RTP data packet to be retransmitted to obtain the second RTP data packet, the padding unit comprising a retransmission indication byte, the retransmission indication byte being intended to indicate that the second RTP data packet is a retransmitted RTP data packet; or

when the RTP data packet to be retransmitted does not comprise the RTP padding field, suffixing a padding unit to the RTP data packet to be retransmitted, and updating a padding flag in an RTP header field in the RTP data packet to be retransmitted to obtain the second RTP data packet, wherein the updated padding flag is intended to indicate that the second RTP data packet comprises the RTP padding field.

10. A method of transmitting data, applicable to a receiving end, the method comprising:

receiving an RTP data packet sent by a transmitting end over a Real-time Transport Protocol (RTP) data link established with the transmitting end; and

determining, according to an RTP padding field in the RTP data packet, whether the RTP data packet is a retransmitted RTP data packet, when the RTP data packet comprises the RTP padding field,

wherein prior to determining, according to the RTP padding field in the RTP data packet, whether the RTP data packet is the retransmitted RTP data packet, the method further comprises:

acquiring a predetermined bytes per unit;

partitioning the RTP data packet into a plurality of data segments according to the predetermined bytes per unit, a total bytes of each of the data segments being equal to the predetermined bytes per unit; and

parsing the plurality of data segments respectively.

11. The method according to claim 10 , wherein determining, according to the RTP padding field in the RTP data packet, whether the RTP data packet is the retransmitted RTP data packet comprises:

acquiring a retransmission indication byte in the RTP padding field; and

determining, according to the retransmission indication byte, whether the RTP data packet is the retransmitted RTP data packet.

12. The method according to claim 11 , wherein the retransmission indication byte at least comprises a retransmission flag and a count flag, the count flag being intended to indicate the number of times that the transmitting end transmits the RTP data packet; and determining, according to the retransmission indication byte, whether the RTP data packet is the retransmitted RTP data packet comprises:

determining, according to the retransmission flag in the retransmission indication byte, whether the RTP data packet is the retransmitted RTP data packet.

13. The method according to claim 12 , wherein the retransmission indication byte further comprises a data flag; and the method further comprises:

when the retransmission flag is intended to indicate that the RTP data packet is the retransmitted RTP data packet, acquiring the data flag in the retransmission indication byte;

when the data flag is intended to indicate that an RTP data field in the RTP data packet is an RTP data field in the RTP data packet to be retransmitted, acquiring and storing the RTP data field in the RTP data packet; or

when the data flag is intended to indicate that an RTP data field in the RTP data packet is not an RTP data field in the RTP data packet to be retransmitted, deleting the RTP data packet.

14. The method according to claim 13 , wherein after receiving the RTP data packets sent by the transmitting end over the RTP data link established with the transmitting end, the method further comprises:

acquiring a length indication byte in the RTP padding field;

determining a length of the RTP padding field according to the length indication byte;

acquiring a predetermined length of an RTP header field in the RTP data packet; and

determining the RTP data field in the RTP data packet according to the length of the RTP padding field and the predetermined length of the RTP header field in the RTP data packet.

15. The method according to claim 14 , wherein

the retransmission indication byte is a penultimate byte in a padding unit, and the length indication byte is a last byte in the padding unit;

the retransmission flag comprises two bits, and the count flag comprises three bits, and the data flag comprises one bit; and

the retransmission flag, the data flag and the count flag are arranged in sequence in the retransmission indication field, and the two bits in the retransmission flag are first two bits in the retransmission indication byte.

16. The method according to claim 10 , wherein prior to determining, according to the RTP padding field in the RTP data packet, whether the RTP data packet is the retransmitted RTP data packet, the method further comprises:

acquiring a padding flag in an RTP header field in the RTP data packet; and

determining, according to the padding flag, whether the RTP data packet comprises the RTP padding field.

17. The method according to claim 10 , wherein operations of the method are performed by a device comprising a processor and a memory;

wherein:

the memory is configured to store a computer program; and

the processor is configured to execute the computer program stored on the memory to perform the operations.

18. The method according to claim 10 , wherein operations of the method are performed by a processor,

wherein at least one code instruction stored in a non-transitory computer-readable storage medium causes the processor to perform the operations, when the at least one code instruction is executed by the processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: XIN, ANMIN
To: HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO., LTD.
Reel/Frame 052032/0061 →
Priority Claims (1)
CN 201710691394.3 · Aug 14, 2017 · national
Continuity (1)
Related Publication 20210176293A1 · Jun 10, 2021