Systems and Methods for Group of Pictures Encoding
Systems and methods are provided encoding a video. Video data is captured. The video data is stored in a group of pictures format, where the group of pictures format comprises a plurality of GOP files, each GOP file including exactly one group of pictures unit. The video data is encoded into a prespecified format. Encoding includes accessing the GOP files containing the video data in the group of pictures format, and encoding the video data into the prespecified format using the GOP files to generate an encoded video.
This application claims priority to U.S. Provisional Patent Application No. 61/955,946, filed Mar. 20, 2014, entitled “Systems and Methods for Group of Pictures Encoding,” the entirety of which is herein incorporated by reference.
FIELDThis disclosure is related generally to digital video and more particularly to digital video encoding.
BACKGROUNDThe demand for digital video continues to increase, especially in view of the continually falling costs of bandwidth for delivery of such video. While data processing speeds continue to increase, video encoding is still often a time consuming endeavor. Thus, there is a continuing need to streamline video encoding processes.
SUMMARYSystems and methods are provided encoding a video. Video data is captured. The video data is stored in a group of pictures format, where the group of pictures format comprises a plurality of GOP files, each GOP file including exactly one group of pictures unit. The video data is encoded into a prespecified format. Encoding includes accessing the GOP files containing the video data in the group of pictures format, and encoding the video data into the prespecified format using the GOP files to generate an encoded video.
As another example, a system for encoding a video includes a computer-readable medium encoded with video data stored in a group of pictures format, wherein the group of pictures format comprises a plurality of GOP files, each GOP file including exactly one group of pictures unit. A data processor is configured to encode the video data in the group of pictures format using the GOP files to generate an encoded video.
A group of pictures is an independent unit of video data that includes exactly one independently coded picture frame and one or more intermediate frames that directly or indirectly reference the independently coded picture frame. A GOP file 102 contains exactly one group of pictures unit 112. A group of pictures unit includes one independently coded picture frame (e.g., I frame 106) and one or more intermediate frames 108 that directly or indirectly reference the independently coded frame. The GOP file 102 does not include the second independently coded frame 110. Each group of pictures of the video data 104 is compiled into a GOP file 102, where each GOP file 102 is stored in a computer-readable medium 114.
A computer-readable medium containing a collection of GOP files (e.g., an unencoded collection of an I frame and referencing P and B frames) can be utilized to generate encoded video in a variety of contexts.
The system is configured to access GOP files associated with the first subset and the second subset (i.e., GOP files 1.3, 1.4, 1.5, 2.3, 2.4, and 2.5). The reencoded video 608 will change at the portions associated with these GOP files, but will not change at portions associated with GOP files outside of the first subset and the second subset (i.e., GOP files 1.2, 2.6, and 2.7). The system reencodes the encoded video 602 based on the accessed first and second subset GOP files without reaccessing the GOP files outside of the first subset and the second subset. Instead, the system reutilizes the encoded portions of those unchanged periods in the encoded video. In the example of
This application uses examples to illustrate the invention. The patentable scope of the invention includes other examples.
Claims
1. A method of encoding a video, comprising:
- capturing video data;
- storing the video data in a group of pictures format, wherein the group of pictures format comprises a plurality of GOP files, each GOP file including exactly one group of pictures unit;
- encoding the video data into a prespecified format, wherein encoding comprises: accessing the GOP files containing the video data in the group of pictures format; and encoding the video data into the prespecified format using the GOP files to generate an encoded video.
2. The method of claim 1, wherein encoding comprises encoding the video data into two prespecified formats at the same time.
3. The method of claim 2, wherein said encoding comprises:
- accessing a first GOP file;
- encoding video data from the first GOP file into a first format as part of a first format file;
- encoding video data from the first GOP file into a second format as part of a second format file;
- accessing a second GOP file after encoding video data from the first GOP file into both of the first format and the second format;
- encoding video data from the second GOP file into the first format as part of the first format file;
- encoding video data from the second GOP file into the second format as part of the second format file.
4. The method of claim 2, wherein the encoding comprises two transmuxing operations performed at the same time.
5. The method of claim 1, further comprising:
- capturing second video data;
- storing the second video data in the group of pictures format;
- receiving an identification of a portion of the video data and a portion of the second video data to be included in an encoded video;
- wherein GOP files associated with the portion of the video data and the portion of the second video data are accessed; and
- wherein the accessed GOP files are used to encode the video in the prespecified format to generate the encoded video.
6. The method of claim 5, wherein the encoded video includes the portion of the video data followed by the portion of the second video data.
7. The method of claim 6, wherein the encoded video includes a transition between the portion of the video data and the portion of the second video data, wherein a subset of the accessed GOP files are associated with the transition.
8. The method of claim 7, further comprising:
- receiving a command to change the transition;
- determining a second subset of the accessed GOP files associated with the changed transition;
- accessing the subset of the GOP files;
- accessing the second subset of the GOP files;
- reencoding the encoded video based on GOP files in the subset and the second subset of the GOP files without reaccessing GOP files outside of the subset and the second subset.
9. The method of claim 8, wherein reencoding includes:
- removing a portion of the encoded video associated with the transition;
- removing a portion of the encoded video associated with the changed transition;
- using the encoded video, GOP files from the subset of GOP files, and GOP files from the second subset of GOP files to reencode the encoded video.
10. The method of claim 1, wherein a GOP file comprises an independently coded frame and one or more dependently coded frames, wherein the dependently coded frames identify changes from the independently coded frame.
11. The method of claim 1, wherein a GOP file includes exactly one I frame and one or more B frames.
12. The method of claim 11, wherein a B frame cannot be generated without reference to a preceding I frame.
13. The method of claim 1, wherein an I frame is an intra coded picture, and wherein a B frame is a bipredictive coded picture.
14. A system for encoding a video, comprising:
- a computer-readable medium encoded with video data stored in a group of pictures format, wherein the group of pictures format comprises a plurality of GOP files, each GOP file including exactly one group of pictures unit;
- a data processor configured to encode the video data in the group of pictures format using the GOP files to generate an encoded video.
15. The system of claim 14, wherein the data processor is configured to encode the video data into two prespecified formats at the same time.
16. The system of claim 15, wherein the data processor is configured to:
- accessing a first GOP file from the computer-readable medium;
- encoding video data from the first GOP file into a first format as part of a first format file;
- encoding video data from the first GOP file into a second format as part of a second format file;
- accessing a second GOP file from the computer-readable medium after encoding video data from the first GOP file into both of the first format and the second format;
- encoding video data from the second GOP file into the first format as part of the first format file;
- encoding video data from the second GOP file into the second format as part of the second format file; and
- storing the first format file and the second format file in the computer-readable medium.
17. The system of claim 14, wherein the computer-readable medium is further encoded with second video data in the group of pictures format, wherein the data processor is configured to access GOP files associated with a portion of the video data and a portion of the second video data, and wherein the data processor is configured to generate the encoded video using the accessed GOP files.
18. The system of claim 17, wherein the encoded video includes the portion of the video data followed by the portion of the second video data, wherein the encoded video includes a transition between the portion of the video data and the portion of the second video data, wherein a subset of the accessed GOP files are associated with the transition.
19. The system of claim 18, wherein upon receiving a command to change the transition, the data processor is configured to:
- determine a second subset of the accessed GOP files associated with the changed transition;
- access GOP files from the subset of the GOP files from the computer-readable medium;
- access GOP files from the second subset of the GOP files from the computer-readable medium;
- reencode the encoded video based on GOP files from the subset of the GOP files and the second subset of the GOP files without reaccessing GOP files outside of the subset and the second subset.
20. The system of claim 19, wherein the data processor is configured to reencode the encoded video by:
- removing a portion of the encoded video associated with the transition;
- removing a portion of the encoded video associated with the changed transition; and
- using the encoded video, GOP files from the subset of GOP files, and GOP files from the second subset of GOP files to reencode the encoded video.
Type: Application
Filed: Mar 2, 2015
Publication Date: Sep 24, 2015
Inventor: Eric Burns (Seattle, WA)
Application Number: 14/634,964