Patentable/Patents/US-6907081
US-6907081

MPEG encoder control protocol for on-line encoding and MPEG data storage

PublishedJune 14, 2005
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Coded video from an on-line MPEG video encoder is stored as a clip in a video server or is otherwise received in the video server and prepared or used for splicing. In order to reduce apparent frame inaccuracy that may result from the splicing process, the on-line MPEG video encoder and the server are coordinated so that the group-of-picture (GOP) structure in the encoder provides specified In-points and Out-points that are valid and desirable for splicing. An encoder control protocol is also provided for remote control of the on-line MPEG video encoder in order to coordinate the on-line MPEG video encoder with the video server.

Patent Claims
51 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of operating an on-line MPEG video encoder during real-time encoding of an incoming video stream to produce an MPEG Transport Stream, the incoming video stream having video frames, the video frames having respective time codes, said method comprising: the on-line MPEG video encoder comparing the time codes of video frames in a first portion of the incoming video stream to a first time code specification to locate, in the incoming video stream, a first video frame having a time code specified by the first time code specification, and the on-line MPEG video encoder starting a new closed group of pictures (GOP) in the MPEG Transport Stream including the first video frame encoded as a first I frame of the new closed GOP, and the on-line MPEG video encoder comparing the time codes of video frames in a second portion of the incoming video stream to a second time code specification to identify, in the incoming video stream, a second video frame having a time code specified by the second time code specification, and the on-line MPEG video encoder terminating a GOP in the MPEG transport stream to produce a terminated GOP, the terminated GOP having a last video frame immediately preceding the second video frame.

2

2. The method as claimed in claim 1 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder extracts the time codes from the incoming video stream.

3

3. The method as claimed in claim 1 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder obtains the video stream from a video stream input, and the on-line MPEG video encoder obtains the longitudinal time codes from a longitudinal time code input.

4

4. The method as claimed in claim 1 , which further includes the on-line MPEG video encoder inserting the time code for the first video frame in a header of the new closed GOP in the MPEG Transport Stream, and the on-line MPEG video encoder inserting the time code for the second video frame in a header for a GOP in the MPEG Transport Stream immediately following the terminated GOP.

5

5. The method as claimed in claim 4 , which further includes a video server receiving the MPEG Transport Stream and searching the MPEG Transport Stream for the time code of the first video frame and searching the MPEG Transport Stream for the time code of the second video frame in order to store a clip of video frames including the new closed GOP and the terminated GOP and GOPs between the new closed GOP and the terminated GOP.

6

6. The method as claimed in claim 1 , which includes the MPEG video encoder terminating the terminated GOP with a B or P frame to produce a splice Out-point.

7

7. The method as claimed in claim 1 , which includes the MPEG video encoder producing an open GOP immediately following the new closed GOP.

8

8. The method as claimed in claim 1 , which further includes the video encoder searching for video frames in the incoming video that have the time codes specified by time code specifications in a list of time code specifications for splice points in order to encode closed GOPs having initial I frames in the MPEG Transport Stream for each of the splice points.

9

9. A method of operating an on-line MPEG video encoder during real-time encoding of an incoming video stream to produce an MPEG Transport Stream, said method comprising: the on-line MPEG video encoder comparing time codes of video frames in the incoming video stream to a list of time code specifications for splice points, and upon finding a time code in the incoming video stream specified by a time code specification for a splice point in the list, the on-line MPEG video encoder starting a new closed group of pictures (GOP) in the MPEG Transport Stream, the new closed GOP including a video frame having the time code specified by the specification for the splice point in the list, and the video frame having the time code specified by the specification for the splice point in the list being encoded as a first I frame of the new closed GOP.

10

10. The method as claimed in claim 9 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder extracts the time codes from the incoming video stream.

11

11. The method as claimed in claim 9 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder obtains the video stream from a video stream input, and the on-line MPEG video encoder obtains the longitudinal time codes from a longitudinal time code input.

12

12. The method as claimed in claim 9 , which further includes the on-line MPEG video encoder inserting the time code specified by the specification for the splice point in the list into a header for the new closed GOP in the MPEG Transport Stream.

13

13. The method as claimed in claim 9 , wherein the new GOP is immediately preceded by a terminated GOP, and wherein the method includes the on-line MPEG video encoder terminating the terminated GOP with a B or P frame to produce a splice Out-point.

14

14. A method of operating an on-line MPEG video encoder and a video server, the on-line MPEG video encoder encoding in real time an incoming video stream to produce an MPEG Transport Stream, the video server receiving the MPEG Transport Stream and recording a segment of the MPEG Transport Stream as a clip, the incoming video stream including video frames, the video frames having respective time codes, said method comprising: the on-line MPEG video encoder comparing the time codes of video frames in a first portion of the incoming video stream to a time code specification for a first video frame to be included in the clip in order to locate, in the incoming video stream, a first video frame to be included in the clip, and the on-line MPEG video encoder starting a new closed group of pictures (GOP) in the MPEG Transport Stream, the new closed GOP including the first video frame to be included in the clip as a first I frame of the new closed GOP, and the on-line MPEG video encoder comparing the time codes of video frames in a second portion of the incoming video stream to a time code specification for a last video frame to be included in the clip in order to locate, in the incoming video stream, the last video frame to be included in the clip, and the on-line MPEG video encoder terminating a GOP in the MPEG transport stream to produce a terminated GOP encoding the last video frame to be included in the clip as the last video frame in the terminated GOP; and the on-line MPEG video encoder inserting, in a GOP header for each GOP in the transport stream, a time code of at least the first video frame to be displayed from the GOP; and the video server searching the time codes in the GOP headers in the MPEG Transport Stream to locate the first video frame to be included in the clip and to record the clip in storage of the video server.

15

15. The method as claimed in claim 14 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder extracts the time codes from the incoming video stream.

16

16. The method as claimed in claim 14 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder obtains the video stream from a video stream input, and the on-line MPEG video encoder obtains the longitudinal time codes from a longitudinal time code input.

17

17. The method as claimed in claim 14 , which includes the on-line MPEG video encoder terminating the terminated GOP with a B or P frame to produce a splice Out-point.

18

18. The method as claimed in claim 14 , which includes the on-line MPEG video encoder producing an open GOP immediately following the new closed GOP.

19

19. The method as claimed in claim 14 , which further includes the on-line MPBG video encoder searching for video frames in the incoming video that have time codes for specified splice points in order to encode a closed GOP having an initial I frame in the MPBG Transport Stream for each of the specified splice points.

20

20. A method of operating an on-line MPEG-2 video encoder and a video server, the on-line MPEG-2 video encoder encoding in real time an incoming video stream to produce an MPBG-2 Transport Stream, the video server receiving the MPEG-2 Transport Stream and recording a segment of the MPEG-2 Transport Stream as a clip, the incoming video stream including video frames, the video frames having respective time codes, said method comprising: a controller receiving from an operator a specification for the video frames to be included in the clip; the controller establishing a data link with the on-line MPEG-2 video encoder and with the video server, and transmitting to the encoder and the video server the specification for the video frames to be included in the clip; the on-line MPEG-2 video encoder comparing the time codes of video frames in the incoming video stream to a time code specification for a first video frame to be included in the clip in order to locate, in the incoming video stream, a first video frame to be included in the clip, and the on-line MPEG-2 video encoder starting a new closed group of pictures (GOP) in the MPEG-2 Transport Stream, the new closed GOP including the first video frame to be included in the clip as a first I frame of the new closed GOP, the on-line MPEG-2 video encoder inserting at least the time code for the first video frame to be included in the clip into a GOP header for the new closed GOP in the MPEG-2 transport stream, and the on-line MPEG-2 video encoder terminating a GOP in the MPEG-2 Transport Stream to produce a terminated GOP encoding a last video frame to be encoded in the clip as the last video frame in the terminated GOP; and the video server searching the MPEG-2 Transport Stream for the video frame having the time code for the first video frame to be included in the clip to locate the first video frame to be included in the clip, and the video server recording the clip in storage of the video server.

21

21. The method as claimed in claim 20 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder extracts the time codes from the incoming video stream.

22

22. The method as claimed in claim 20 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder obtains the video stream from a video stream input, and the on-line MPEG video encoder obtains the longitudinal time codes from a longitudinal time code input.

23

23. The method as claimed in claim 20 , which includes the on-line MPEG-2 video encoder terminating the terminated GOP with a B or P frame to produce a splice Out-point.

24

24. The method as claimed in claim 20 , which includes the on-line MPEG-2 video encoder producing an open GOP immediately following the new closed GOP.

25

25. The method as claimed in claim 20 , which further includes the on-line MPEG-2 video encoder receiving from the controller a list of time codes for splice points in the clip, and the on-line MPEG-2 video encoder searching for video frames in the incoming video stream that have the time codes for the splice points in order to encode a closed GOP having an initial I frame in the MPEG-2 Transport Stream for each of the splice points.

26

26. The method as claimed in claim 20 , wherein the controller sends remote procedure calls to the on-line MPEG-2 video encoder in order to supervise the encoding process performed by the on-line MPEG-2 video encoder.

27

27. An on-line MPEG video encoder for real-time encoding of an incoming video stream to produce an MPEG Transport Stream, the incoming video stream having video frames, the video frames having respective time codes, the on-line MPEG video encoder having a data link input for receiving remote control commands including time code specifications from an external controller, the on-line MPEG video encoder being programmed for comparing the time codes of video frames in a first portion of the incoming video stream to a first time code specification to locate, in the incoming video stream, a first video frame having a time code specified by the first time code specification, and to start a new closed group of pictures (GOP) in the MPEG Transport Stream including the first video frame encoded as a first I frame of the new closed GOP, and the on-line MPEG video encoder being programmed to compare the time codes of video frames in a second portion of the incoming video stream to a second time code specification to identify, in the incoming video stream, a second video frame having a time code specified by the second time code specification, and to terminate a GOP in the MPEG transport stream to produce a terminated GOP, the terminated GOP having a last video frame immediately preceding the second video frame.

28

28. The on-line MPEG video encoder as claimed in claim 27 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder is programmed to extract the time codes from the incoming video stream.

29

29. The on-line MPEG video encoder as claimed in claim 27 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder has a video stream input for input of the incoming video stream, and the on-line MPEG video encoder has a longitudinal time code input for input of the longitudinal time codes of the video frames in the incoming video stream.

30

30. The on-line MPEG video encoder as claimed in claim 27 , wherein the on-line MPEG video encoder is further programmed to insert the time code for the first video frame in a header of the new closed GOP in the MPEG Transport Stream, and to insert the time code for the second video frame in a header for a GOP in the MPEG Transport Stream immediately following the terminated GOP.

31

31. The on-line MPEG video encoder as claimed in claim 27 , wherein the on-line MPEG video encoder is programmed to terminate the terminated GOP with a B or P frame to produce a splice Out-point.

32

32. The on-line MPEG video encoder as claimed in claim 27 , wherein the on-line MPEG video encoder is programmed to produce an open GOP immediately following the new closed GOP.

33

33. The on-line MPEG video encoder as claimed in claim 27 , wherein the on-line MPEG video encoder is programmed for receiving from the data link a list of time code specifications for splice points between the first video frame and the second video frame, and searching for video frames in the incoming video that have the time codes specified for the splice points in order to encode closed GOPs having initial I frames in the MPEG Transport Stream for the splice points.

34

34. An on-line MPEG video encoder for real-time encoding of an incoming video stream to produce an MPEG Transport Stream, the incoming video stream having video frames, the video frames having respective time codes, the on-line MPEG video encoder having a data link input for receiving remote control commands including time code specifications from an external controller, the on-line MPEG video encoder being programmed for comparing time codes of video frames in the incoming video stream to a list of time code specifications for splice points, and upon finding a video frame in the incoming video stream having a time code specified by a time code specification for a splice point in the list, for starting a new closed group of pictures (GOP) in the MPEG Transport Stream, the new closed GOP including a video frame having the time code specified by the specification for the splice point in the list, and the video frame having the time code specified by the specification for the splice point in the list being encoded as a first I frame of the new closed GOP.

35

35. The on-line MPEG video encoder as claimed in claim 34 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder is programmed to extract the time codes from the incoming video stream.

36

36. The on-line MPEG video encoder as claimed in claim 34 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder has a video stream input for input of the incoming video stream, and the on-line MPEG video encoder has a longitudinal time code input for input of the longitudinal time codes of the video frames in the incoming video stream.

37

37. The on-line MPEG video encoder as claimed in claim 34 , wherein the on-line MPEG video encoder is further programmed for inserting the time code specified by the specification for the splice point in the list into a header for the new closed GOP in the MPEG Transport Stream.

38

38. The on-line MPEG video encoder as claimed in claim 34 , wherein the new GOP is immediately preceded by a terminated GOP, and wherein the on-line MPEG video encoder is programmed for terminating the terminated GOP with a B or P frame to produce a splice Out-point.

39

39. A video encoding and recording system comprising: an on-line MPEG video encoder for encoding in real time an incoming video stream to produce an MPEG Transport Stream, the incoming video stream including video frames, the video frames having respective time codes; and a video server coupled to the on-line MPEG video encoder for receiving the MPEG Transport Stream and recording a segment of the MPEG Transport Stream as a clip; wherein the on-line MPEG video encoder is programmed for comparing the time codes of video frames in a first portion of the incoming video stream to a time code specification for a first video frame to be included in the clip in order to locate, in the incoming video stream, a first video frame to be included in the clip, and for starting a new closed group of pictures (GOP) in the MPEG Transport Stream, the new closed GOP including the first video frame to be included in the clip as a first I frame of the new closed GOP, and wherein the on-line MPEG video encoder is programmed for comparing the time codes of video frames in a second portion of the incoming video stream to a time code specification for a last video frame to be included in the clip in order to locate, in the incoming video stream, the last video frame to be included in the clip, and for terminating a GOP in the MPEG transport stream to produce a terminated GOP encoding the last video frame to be included in the clip as the last video frame in the terminated GOP; and wherein the on-line MPEG video encoder is programmed for inserting, in a GOP header for each GOP in the transport stream, a time code of at least the first video frame to be displayed from the GOP; and the video server is programmed for searching the time codes in the GOP headers in the MPEG Transport Stream to locate the first video frame to be included in the clip and to record the clip in storage of the video server.

40

40. The system as claimed in claim 39 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG video encoder is programmed to extract the time codes from the incoming video stream.

41

41. The system as claimed in claim 39 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG video encoder has a video stream input for input of the incoming video stream, and the on-line MPEG video encoder has a longitudinal time code input for input of the longitudinal time codes of the video frames in the incoming video stream.

42

42. The system as claimed in claim 39 , wherein the on-line MPEG video encoder is programmed for terminating the terminated GOP with a B or P frame to produce a splice Out-point.

43

43. The system as claimed in claim 39 , wherein the on-line MPEG video encoder is programmed for producing an open GOP immediately following the new closed GOP.

44

44. The system as claimed in claim 39 , wherein the on-line MPEG video encoder is programmed for searching for video frames in the incoming video that have time codes for specified splice points in order to encode a closed GOP having an initial I frame in the MPEG Transport Stream for each of the specified splice points.

45

45. A video encoding and recording system comprising: an on-line MPEG-2 video encoder for encoding in real time an incoming video stream to produce an MPEG-2 Transport Stream, the incoming video stream including video frames, the video frames having respective time codes; and a video server coupled to the on-line MPEG-2 video encoder for receiving the MPEG Transport Stream and recording a segment of the MPEG Transport Stream as a clip; and a controller for receiving from an operator a specification for the video frames to be included in the clip and coupled by at least one data link to the on-line MPEG-2 video encoder and the video server for transmitting to the on-line MPEG-2 video encoder and to the video server the specification for the video frames to be included in the clip; wherein the on-line MPEG-2 video encoder is programmed for comparing time codes of video frames in the incoming video stream to a time code specification for a first video frame to be included in the clip in order to locate, in the incoming video stream, a first video frame to be included in the clip, and for starting a new closed group of pictures (GOP) in the MPEG-2 Transport Stream, the new closed GOP including the first video frame to be included in the clip as a first I frame of the new closed GOP, and the on-line MPEG-2 video encoder is programmed for inserting at least the time code for the first video frame to be included in the clip into a GOP header for the new closed GOP in the MPEG-2 transport stream, and the on-line MPEG-2 video encoder is further programmed for terminating a GOP in the MPEG-2 Transport Stream to produce a terminated GOP encoding a last video frame to be encoded in the clip as the last video frame in the terminated GOP; and wherein the video server is programmed for searching the MPEG-2 Transport Stream for the time code for the first video frame to be included in the clip to locate the first video frame to be included in the clip, and for recording the clip in storage of the video server.

46

46. The system as claimed in claim 45 , wherein the time codes of the video frames in the incoming video stream are time codes included in the incoming video stream, and the on-line MPEG-2 video encoder is programmed to extract the time codes from the incoming video stream.

47

47. The system as claimed in claim 45 , wherein the time codes of the video frames in the incoming video stream are longitudinal time codes, the on-line MPEG-2 video encoder has a video stream input for input of the incoming video stream, and the on-line MPEG-2 video encoder has a longitudinal time code input for input of the longitudinal time codes of the video frames in the incoming video stream.

48

48. The system as claimed in claim 45 , wherein the on-line MPEG-2 video encoder is programmed for terminating the terminated GOP with a B or P frame to produce a splice Out-point.

49

49. The system as claimed in claim 45 , wherein the on-line MPEG-2 video encoder is programmed for producing an open GOP immediately following the new closed GOP.

50

50. The system as claimed in claim 45 , wherein the on-line MPEG-2 video encoder is programmed for receiving from the controller a list of time codes for splice points in the clip, and for searching for video frames in the incoming video stream that have the time codes for the splice points in order to encode a closed GOP having an initial I frame in the MPEG-2 Transport Stream for each of the splice points.

51

51. The system as claimed in claim 45 , wherein the controller sends remote procedure calls to the on-line MPEG-2 video encoder in order to supervise the encoding process performed by the on-line MPEG-2 video encoder.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

March 30, 2001

Publication Date

June 14, 2005

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “MPEG encoder control protocol for on-line encoding and MPEG data storage” (US-6907081). https://patentable.app/patents/US-6907081

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.