Claims
- 1. A computer-implemented process for encoding video signals, comprising the steps of:
- (a) dividing each video frame of a plurality of video frames into a plurality of regions;
- (b) designating at least one region of each video frame for intra encoding;
- (c) designating one or more regions of each video frame for inter encoding;
- (d) selecting one or more motion vectors for each region designated for inter encoding, wherein at least one motion vector is a non-zero motion vector;
- (e) encoding the plurality of video frames in accordance with the designation of regions for intra encoding, the designation of regions for inter encoding, and the selection of motion vectors, wherein:
- the designation of regions for intra encoding and the selection of motion vectors are adapted to ensure error recovery during decoding of the encoded video frames.
- 2. The process of claim 1, wherein step (b) comprises the step of designating the regions for intra encoding in a cyclical manner from video frame to video frame.
- 3. The process of claim 2, wherein:
- step (b) comprises the step of designating the regions for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current video frame is designated for intra encoding; and
- step (d) comprises the step of selecting one or more motion vectors for a region i-1 of the current video frame, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 4. The process of claim 3, wherein step (d) comprises the step of selecting one or more motion vectors for a region k of the current video frame, wherein:
- the region k is a region of the current video frame other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current video frame below the region k except for the region i.
- 5. The process of claim 1, wherein:
- each video frame comprises a Y component plane, a U component plane, and a V component plane;
- step (a) comprises the step of dividing each Y component plane of each video frame into a plurality of regions of equal size;
- step (b) comprises the steps of:
- (1) designating a region of the Y component plane of each video frame for intra encoding;
- (2) designating the U component plane of a first subset of the video frames for intra encoding; and
- (3) designating the V component plane of a second subset of the video frames for inter encoding; and
- step (c) comprises the step of designating one or more regions of the Y component plane of each video frame for inter encoding.
- 6. The process of claim 5, wherein step (b) comprises the step of designating the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from video frame to video frame.
- 7. The process of claim 6, wherein:
- step (b) comprises the step of designating the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current Y component plane is designated for intra encoding; and
- step (d) comprises the step of selecting one or more motion vectors for a region i-1 of the current Y component plane, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 8. The process of claim 7, wherein step (d) comprises the step of selecting one or more motion vectors for a region k of the current Y component plane, wherein:
- the region k is a region of the current Y component plane other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current Y component plane below the region k except for the region i.
- 9. An apparatus for encoding video signals, comprising:
- (a) means for dividing each video frame of a plurality of video frames into a plurality of regions;
- (b) means for designating at least one region of each video frame for intra encoding;
- (c) means for designating one or more regions of each video frame for inter encoding;
- (d) means for selecting one or more motion vectors for each region designated for inter encoding, wherein at least one motion vector is a non-zero motion vector;
- (e) means for encoding the plurality of video frames in accordance with the designation of regions for intra encoding, the designation of regions for inter encoding, and the selection of motion vectors, wherein:
- the designation of regions for intra encoding and the selection of motion vectors are adapted to ensure error recovery during decoding of the encoded video frames.
- 10. The apparatus of claim 9, wherein means (b) comprises means for designating the regions for intra encoding in a cyclical manner from video frame to video frame.
- 11. The apparatus of claim 10, wherein:
- means (b) comprises means for designating the regions for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current video frame is designated for intra encoding; and
- means (d) comprises means for selecting one or more motion vectors for a region i-1 of the current video frame, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 12. The apparatus of claim 11, wherein means (d) comprises means for selecting one or more motion vectors for a region k of the current video frame, wherein:
- the region k is a region of the current video frame other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current video frame below the region k except for the region i.
- 13. The apparatus of claim 9, wherein:
- each video frame comprises a Y component plane, a U component plane, and a V component plane;
- means (a) comprises means for dividing each Y component plane of each video frame into a plurality of regions of equal size;
- means (b) comprises:
- (1) means for designating a region of the Y component plane of each video frame for intra encoding;
- (2) means for designating the U component plane of a first subset of the video frames for intra encoding; and
- (3) means for designating the V component plane of a second subset of the video frames for inter encoding; and
- means (c) comprises means for designating one or more regions of the Y component plane of each video frame for inter encoding.
- 14. The apparatus of claim 13, wherein means (b) comprises means for designating the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from video frame to video frame.
- 15. The apparatus of claim 14, wherein:
- means (b) comprises means for designating the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current Y component plane is designated for intra encoding; and
- means (d) comprises means for selecting one or more motion vectors for a region i-1 of the current Y component plane, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 16. The apparatus of claim 15, wherein means (d) comprises means for selecting one or more motion vectors for a region k of the current Y component plane, wherein:
- the region k is a region of the current Y component plane other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current Y component plane below the region k except for the region i.
- 17. The apparatus of claim 9, wherein the apparatus comprises a host processor.
- 18. The apparatus of claim 9, wherein the apparatus comprises a pixel processor.
- 19. A system for encoding video signals, comprising:
- (a) a video source for providing a plurality of video frames; and
- (b) a conferencing system for:
- (1) dividing each video frame of the plurality of video frames into a plurality of regions;
- (2) designating at least one region of each video frame for intra encoding;
- (3) designating one or more regions of each video frame for inter encoding;
- (4) selecting one or more motion vectors for each region designated for inter encoding, wherein at least one motion vector is a non-zero motion vector;
- (5) encoding the plurality of video frames in accordance with the designation of regions for intra encoding, the designation of regions for inter encoding, and the selection of motion vectors, wherein:
- the designation of regions for intra encoding and the selection of motion vectors are adapted to ensure error recovery during decoding of the encoded video frames.
- 20. The system of claim 19, wherein the conferencing system designates the regions for intra encoding in a cyclical manner from video frame to video frame.
- 21. The system of claim 20, wherein the conferencing system:
- designates the regions for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current video frame is designated for intra encoding; and
- selects one or more motion vectors for a region i-1 of the current video frame, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 22. The system of claim 21, wherein the conferencing system selects one or more motion vectors for a region k of the current video frame, wherein:
- the region k is a region of the current video frame other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current video frame below the region k except for the region i.
- 23. The system of claim 19, wherein:
- each video frame comprises a Y component plane, a U component plane, and a V component plane; and
- the conferencing system:
- divides each Y component plane of each video frame into a plurality of regions of equal size;
- designates a region of the Y component plane of each video frame for intra encoding;
- designates the U component plane of a first subset of the video frames for intra encoding; and
- designates the V component plane of a second subset of the video frames for inter encoding; and
- designates one or more regions of the Y component plane of each video frame for inter encoding.
- 24. The system of claim 23, wherein the conferencing system designates the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from video frame to video frame.
- 25. The system of claim 24, wherein the conferencing system:
- designates the regions of the Y component planes of the video frames for intra encoding in a cyclical manner from top to bottom from video frame to video frame, wherein a region i of a current Y component plane is designated for intra encoding; and
- selects one or more motion vectors for a region i-1 of the current Y component plane, wherein:
- the region i-1 is immediately above the region i;
- at least one of the motion vectors for the region i-1 is a non-zero motion vector; and
- the motion vectors for the region i-1 are limited to the region i-1.
- 26. The system of claim 25, wherein the conferencing system selects one or more motion vectors for a region k of the current Y component plane, wherein:
- the region k is a region of the current Y component plane other than the region i-1 and the region i;
- at least one of the motion vectors for the region k is a non-zero motion vector; and
- the motion vectors for the region k are limited to the region k and any region of the current Y component plane below the region k except for the region i.
- 27. The system of claim 19, wherein the conferencing system comprises:
- (1) a host processor; and
- (2) a video board, wherein:
- the video board receives the plurality of video frames from the video source and encodes the plurality of video frames; and
- the host processor controls the operations of the video board.
- 28. The system of claim 27, wherein the video board comprises:
- a video analog-to-digital converter for receiving unencoded analog video signals corresponding to the plurality of video frames from the video source and for generating unencoded digital video signals;
- a video capture module for capturing the unencoded digital video signals and generating unencoded captured video signals;
- a memory device for storing the unencoded captured video signals;
- a pixel processor for generating a plurality of encoded video frames corresponding to the plurality of video frames from the unencoded captured video signals and storing the plurality of encoded video frames in the memory device; and
- a bus interface for transmitting the plurality of encoded video frames to the host processor.
CROSS-REFERENCES TO RELATED APPLICATIONS
This is a continuation-in-part of co-pending application Ser. No. 08/158,855, filed on Nov. 24, 1993, entitled "Computer-Implemented Process and System for Decompressing a Compressed Image," the entire disclosure of which is incorporated herein by reference.
US Referenced Citations (10)
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
158855 |
Nov 1993 |
|