This invention is related to commonly assigned copending U.S. patent application Ser. No. 09/885,577 entitled “System and Method for Authoring a Multimedia Enabled Disc” and filed Jun. 20, 2001 in the names of A. C. Loui, D. R. Cok and Y. Lo.
The invention relates generally to the field of digital image processing, and in particular to transitioning between two sequences or still images using an MPEG compression technique.
In the prior art, U.S. Pat. No. 5,987,179, entitled “Method and apparatus for encoding high-fidelity still images in MPEG bitstreams” and issued Nov. 16, 1999 in the names of J. K. Riek et al., describes the coding of still pictures in an MPEG sequence. Furthermore, U.S. Pat. No. 5,959,690, entitled “Method and apparatus for transitions and other special effects in digital motion video” and issued Sep. 28, 1999 in the names of J. A. Toebes VIII et al., and U.S. Pat. No. 5,559,562, entitled “MPEG editor method and apparatus” and issued Sep. 24, 1996 in the name of W. Ferster, describe the insertion of transitions into MPEG bitstreams.
The patent by Riek et al describes different ways of encoding a still image in a bitstream when the decoding buffer is of a limited size. This is often the case in constrained parameter bitstreams such as those used by Video CD (VCD). The patent by Ferster describes a method for decoding two bitstreams, creating the transition effect, and then re-encoding the sequence. The patent by Toebes et al. describes a method for inserting transitions at the decoder.
The prior art has several limitations. The method described by Riek et al. does not teach how to insert transitions, nor is the method well suited for inserting transitions. The patent by Ferster involves a decoding and re-encoding, which is time consuming and will provide lower image quality. The patent by Toebes et al. describes the insertion of transitions, but it is performed at the decoder rather than at the encoder. That is, the frames are never inserted into the transmitted bitstream. This requires additional hardware at the decoder, which is an additional expense and is not standard-compliant.
What is needed is a method for efficiently inserting transitions into the bitstream with no loss of quality and no decoding required.
The present invention is directed to overcoming one or more of the problems set forth above. Briefly summarized, according to one aspect of the present invention, a method for encoding a transition in an MPEG bitstream sequence including anchor pictures and bidirectionally predicted (B) pictures comprises the steps of a) coding first and second anchor pictures and b) coding a transition in the sequence by inserting B pictures into the bitstream to create the transition from the first anchor picture to the second anchor picture.
In a further embodiment of the method, a transition in an MPEG bitstream sequence including anchor pictures and predicted (P) pictures is encoded by a) coding a first anchor picture and b) coding a transition by inserting P pictures into the bitstream to create the transition from the first anchor picture to a second anchor picture. In an additional embodiment, a transition in an MPEG bitstream sequence including anchor pictures, bidirectionally predicted (B) and predicted (P) pictures is encoded by a) encoding a first anchor picture and b) encoding a transition by inserting B and P pictures into the bitstream to create the transition from the first anchor picture to a second anchor picture.
The present invention overcomes the limitations of the prior art by providing an efficient method for inserting transitions that does not require any decoding and can be performed at the encoder. The use of only B pictures to provide the transitions allows a transition to be inserted in the MPEG sequence in the same manner for any sequence, regardless of the sequence content. The advantageous features of the current invention are:
These and other aspects, objects, features and advantages of the present invention will be more clearly understood and appreciated from a review of the following detailed description of the preferred embodiments and appended claims, and by reference to the accompanying drawings.
Because image processing systems employing MPEG processing are well known, the present description will be directed in particular to attributes forming part of, or cooperating more directly with, the method in accordance with the present invention. Attributes not specifically shown or described herein may be selected from those known in the art. In the following description, a preferred embodiment of the present invention would ordinarily be implemented as a software program, although those skilled in the art will readily recognize that the equivalent of such software may also be constructed in hardware. Given the system as described according to the invention in the following materials, software not specifically shown, suggested or described herein that is useful for implementation of the invention is conventional and within the ordinary skill in such arts. If the invention is implemented as a computer program, the program may be stored in conventional computer readable storage medium, which may comprise, for example; magnetic storage media such as a magnetic disk (such as a floppy disk or a hard drive) or magnetic tape; optical storage media such as an optical disc, optical tape, or machine readable bar code; solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program.
In MPEG, there are three types of pictures: I (intra) pictures, P (predicted) pictures, and B (bidirectionally predicted) pictures. I pictures are coded using only the information in the current image. This is similar to JPEG encoding of a single image. Each picture is divided into 16 pixel×16 line blocks (macroblocks). In P pictures, each 16×16 macroblock may be coded as intra (like an I picture), or as predicted. In a predicted macroblock, a motion vector describes where in the previous anchor picture (I or P picture) to obtain the initial prediction of the current macroblock. The difference between that macroblock and the current is then coded. For a B picture, each macroblock may be coded as in a P picture, or additionally, the macroblock may be predicted from either the next anchor picture or an average of the previous and next anchor pictures.
To obtain a very simple transition from one sequence to the next, we may stop coding the first sequence on an anchor picture (I or P picture). Then the first frame of the second sequence is coded as an anchor picture. Subsequent to the coding of the anchor pictures, a series of B pictures is inserted into the sequence. Each of these B pictures contains macroblocks that are predicted from the same macroblock in either the last anchor frame of the first sequence, or the first anchor frame in the second sequence. Starting with most of the macroblocks being predicted from the first anchor picture in the first inserted B picture, and ending with most of the macroblocks being predicted from the second anchor picture in the last inserted B picture, an uncovering transition effect is created.
For example, to produce a transition that uncovers the second sequence from left to right, a series of B pictures such as those illustrated in
Different transitions may be created by changing the order in which the macroblocks are changed from being coded as forward predicted to being coded as backward predicted. Flashing effects may be obtained by switching back and forth between forward and backward predicted blocks. Additionally, a fixed pattern picture (such as a constant black picture) may be inserted between the first and second sequences. A transition from the first sequence to this picture may then be inserted, followed by a transition from this picture to the second sequence.
The macroblocks in the B pictures can be coded very efficiently. By determining which macroblocks are coded as forward predicted and which macroblocks are coded as backward predicted, many of the macroblocks can be skipped. In a B picture, a macroblock can be skipped if it is coded in the same manner as the previous macroblock, and no DCT coefficients are coded. Referring to B picture 1 in
To generate transitions where the image moves across, up or down the screen, the transition cannot be completely coded using only B pictures. The reason for this is that MPEG-1 limits the size of a motion vector to be less than 64. Since a B picture is not an anchor picture, the “sliding” effect cannot be accomplished solely using B pictures. To overcome this limitation, P pictures, which are anchor pictures, need to be inserted into the transition sequence. There are two possible ways to do this. One is to use only P pictures in the transition, and the other is to insert a P picture into the transition every time a macroblock has moved more than a set threshold relative to the previous anchor picture. The P picture only transition will be outlined here, although the B and P picture transition is a simple extension of the P picture only case.
In the P picture only case, the first anchor picture is coded, and then a P picture is coded, rather than the second anchor picture. This P picture consists of forward predicted macroblocks and some intra coded macroblocks. The intra-coded macroblocks are merely copies of the macroblocks in the second anchor picture. For example, consider the transition illustrated in
Referring to
A compact disk-read only memory (CD-ROM) 122 is connected to the microprocessor based unit 112 for receiving software programs and for providing a means of inputting the software programs and other information to the microprocessor based unit 112 via a compact disk 124, which typically includes a software program. In addition, a floppy disk 126 may also include a software program, and is inserted into the microprocessor-based unit 112 for inputting the software program. Still further, the microprocessor-based unit 112 may be programmed, as is well known in the art, for storing the software program internally. The microprocessor-based unit 112 may also have a network connection 127, such as a telephone line, to an external network, such as a local area network or the Internet. A printer 128 is connected to the microprocessor-based unit 112 for printing a hardcopy of the output of the computer system 110.
Images may also be displayed on the display 114 via a personal computer card (PC card) 130, such as, as it was formerly known, a PCMCIA card (based on the specifications of the Personal Computer Memory Card International Association) which contains digitized images electronically embodied in the card 130. The PC card 130 is ultimately inserted into the microprocessor based unit 112 for permitting visual display of the image on the display 114. Images may also be input via the compact disk 124, the floppy disk 126, or the network connection 127. Any images stored in the PC card 130, the floppy disk 126 or the compact disk 124, or input through the network connection 127, may have been obtained from a variety of sources, such as a digital camera 134 or a scanner 136 (for example, by scanning an original, such as a silver halide film). The digital camera 134 may also download images to the computer system through a communications link 140 (e.g., an RF or IR link). In accordance with the invention, the algorithm described herein may be stored as software in any of the storage devices heretofore mentioned and applied to images in order to encode transitions in MPEG sequences. In addition, the CD-ROM 122 may include a write capability and the MPEG sequences with encoded transitions, that are produced by practice of the present invention, may be written to compact disk 124.
In summary, this invention provides a technique for efficiently inserting transitions into an MPEG sequence. Using transitions, rather than sharp scene cuts, can make the sequence more pleasing to view. The present invention is primarily designed for creating transitions in an MPEG coded video sequence of stills. However, it should be understood that the same method could be used to transition between two video motion sequences, and that the claims are intended to cover both situations, that is, either a video sequence of still images or motion images.
The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5559562 | Ferster | Sep 1996 | A |
| 5959690 | Toebes, VII et al. | Sep 1999 | A |
| 5987179 | Riek et al. | Nov 1999 | A |
| 6208691 | Balakrishnan et al. | Mar 2001 | B1 |
| 20020064228 | Sethuraman et al. | May 2002 | A1 |
| Number | Date | Country |
|---|---|---|
| 0 656 729 | Nov 1994 | EP |
| 0 726 679 | Aug 1995 | EP |
| Number | Date | Country | |
|---|---|---|---|
| 20030080980 A1 | May 2003 | US |