IP Library Granted Patent US 9,210,436
Granted Patent B2
US 9,210,436 · App. 13/521,552 · Granted Dec 8, 2015

Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus

Inventors: Byeungwoo Jeon (Seongnam-si, KR); Dohyeong Kim (Suwon-si, KR); Doug-Young Suh (Seongnam-si, KR); Chulkeun Kim (Gwangju-si, KR); Donggyu Sim (Seoul, KR); Kyungyeon Min (Chungji-si, KR); Seanae Park (Uijeongbu-si, KR)
Assignee: Sungkyunkwan University Foundation For Corporate Collaboration
H04N19/395H04N19/103H04N19/124H04N19/164H04N19/40H04N19/65H04N19/30H04N19/597
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 9,210,436
App. No.
13/521,552
Filed
Oct 15, 2012
Granted
Dec 8, 2015
Kind
B2
Art Unit
2486
USPC
375/240.01
Abstract

Disclosed are a distributed video encoding/decoding method and a distributed video encoding/decoding apparatus, which can improve loss resilience and the quality of service. The distributed video encoding method first involves checking the state of a channel, determining a channel coding rate and the size of video data to be transmitted based on the checked state of a channel, determining the number of motion prediction performance steps based on the determined size of video data to be transmitted, encoding the video data to be transmitted by performing motion predictions according to the determined number of motion prediction performance steps, and channel-coding the encoded video data according to the determined channel coding rate. Accordingly, it is possible to improve loss resilience, even without additionally occupying network resources, thereby being capable of reducing the probability of decoding failure.

Claims (80)

1. A distributed video decoding apparatus using variable block motion prediction, comprising:

a key frame decoding unit configured to reconstruct a key frame transmitted from a key frame coding apparatus;

a motion vector generating unit configured to determine a size of a block for performing motion prediction using the reconstructed key frame to generate a motion vector, and configured to output the generated motion vector;

a side information generating unit configured to generate side information by using the reconstructed key frame and the generated motion vector;

a channel code decoding unit configured to estimate a quantized value by using a parity bit transmitted from a distributed video encoding apparatus and the side information; and

an image reconstruction unit configured to reconstruct a current frame as a target of distributed video decoding based on the quantized value estimated by the channel decoding unit and the side information;

wherein the motion vector generating unit is configured to determine a plurality of blocks having different block sizes for the purpose of motion prediction of the side information, obtain motion vectors between the reconstructed key frames based on the determined blocks, and select a motion vector among the obtained motion vectors according to a predetermined criteria; and

wherein the motion vector generating unit comprises:

a block size determining unit configured to determine a plurality of block sizes for the purpose of motion prediction using the reconstructed key frame,

a motion prediction performing unit configured to search for a region of another key frame among the reconstructed key frames in order to discover a region congruent with a first block of one key frame among the reconstructed key frames, to thus find a second block most congruent with the first block, and configured to generate a motion vector as a difference value between the first block and the second block, with respect to each of the plurality of block sizes,

a motion vector storage unit configured to store the motion vectors generated by the motion prediction performing unit, and

a motion vector selecting unit configured to measure similarity between a first block of one key picture and a second block of another key picture among the motion vectors, and configured to select a motion vector for a block size corresponding to the highest similarity.

2. The distributed video decoding apparatus of claim 1 , wherein the motion vector selecting unit measures the similarity by using any one of the sum of absolute difference (SAD), a mean absolute difference (MAD), and the sum of square difference (SSD) between the first block and the second block.

3. The distributed video decoding apparatus of claim 1 , wherein the block size for performing the motion prediction is at least one of 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4 block sizes.

4. The distributed video decoding apparatus of claim 3 , wherein the block size for performing the motion prediction is determined upon determining a change in a motion between the reconstructed key frames.

5. The distributed video decoding apparatus of claim 4 , wherein when there is a little change in the motion between the reconstructed key frames, the block size determining unit determines a block size for performing the motion prediction by at least one of the 16×16, 16×8, and 8×16 block sizes.

6. The distributed video decoding apparatus of claim 4 , wherein when there is a significant change in the motion between the reconstructed key frames, the block size determining unit determines a block size for performing the motion prediction by at least one of the 8×8, 8×4, 4×8, and 4×4 block sizes.

7. A distributed video decoding method using variable block motion prediction, comprising:

reconstructing a key frame transmitted from a key frame decoding apparatus;

determining a block size for performing motion prediction using the reconstructed key frame to generate a motion vector;

generating side information by using the reconstructed key frame and the generated motion vector;

estimating a quantized value by using a parity bit transmitted from a distributed video encoding apparatus and the side information; and

reconstructing a current frame as a target of distributed video decoding by using the estimated quantized value and the side information;

wherein the generating of a motion vector, by determining a block size for performing motion prediction using the reconstructed key frame comprises:

determining a plurality of blocks having different sizes for the purpose of motion prediction of the side information,

obtaining motion vectors between the reconstructed key frames based on the plurality of determined blocks, and

selecting a motion vector among the obtained motion vectors according to a predetermined criteria; and

wherein the obtaining of motion vectors between the reconstructed key frames based on the plurality of determined blocks comprises:

searching for a region of another key frame among the reconstructed key frames in order to discover a region congruent with a first block of one key frame among the reconstructed key frames, to thus find a second block most congruent with the first block, and

generating a motion vector as a difference value between the first block and the second block with respect to each of the plurality of block sizes.

8. The method of claim 7 , wherein the selecting of a motion vector among the obtained motion vectors based on the predetermined criteria comprises:

measuring similarity between the first block of one key frame among the reconstructed key frames and the second block of another key frame among the reconstructed key frames with respect to the respective motion vectors; and

selecting a motion vector between the first block and the second block having the highest similarity among similarities measured for the respective motion vectors between first blocks and second blocks.

9. The method of claim 8 , wherein the similarity is measured by using any one of the sum of absolute difference (SAD), a mean absolute difference (MAD), and the sum of square difference (SSD) between the first block and the second block.

10. The method of claim 7 , wherein the block size for performing the motion prediction is at least one of 16—16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4 block sizes.

11. The method of claim 10 , wherein the block size for performing the motion prediction is determined upon determining a change in a motion between the reconstructed key frames.

12. The method of claim 11 , wherein when there is a little change in the motion between the reconstructed key frames, the block size determining unit determines a block size for performing the motion prediction by at least one of the 16×16, 16×8, and 8—16 block sizes.

13. The method of claim 11 , wherein when there is a significant change in the motion between the reconstructed key frames, the block size determining unit determines a block size for performing the motion prediction by at least one of the 8×8, 8×4, 4×8, and 4×4 block sizes.

14. A distributed video decoding apparatus comprising:

a decoding unit configured to decode a encoded first frame;

a side information generating unit configured to generate a motion vector based on the at least one decoded first frame, and provide the generated motion vector to an encoding apparatus, and configured to generate side information corresponding to a second frame by using the motion vector;

a transform unit configured to transform the generated side information;

a channel decoding unit configured to correct the side information based on the transformed side information and a parity bit provided from the encoding apparatus; and

a dequantization unit configured to dequantize the corrected side information to reconstruct the second frame;

wherein the side information generating unit is configured to determine a plurality of blocks having different block sizes for the purpose of motion prediction of the side information, obtain motion vectors between the reconstructed key frames based on the determined blocks, and select a motion vector among the obtained motion vectors according to a predetermined criteria; and

wherein the side information generating unit comprises:

a block size determining unit configured to determine a plurality of block sizes for the purpose of motion prediction using the reconstructed key frame,

a motion prediction performing unit configured to search for a region of another key frame among the reconstructed key frames in order to discover a region congruent with a first block of one key frame among the reconstructed key frames, to thus find a second block most congruent with the first block, and configured to generate a motion vector as a difference value between the first block and the second block, with respect to each of the plurality of block sizes,

a motion vector storage unit configured to store the motion vectors generated by the motion prediction performing unit, and

a motion vector selecting unit configured to measure similarity between a first block of one key picture and a second block of another key picture among the motion vectors, and configured to select a motion vector for a block size corresponding to the highest similarity.

15. A transcoding apparatus comprising:

a decoding unit configured to decode a encoded first frame;

a side information generating unit configured to generate a motion vector based on the at least one decoded first frame, and provide the generated motion vector to an encoding apparatus, and configured to generate side information corresponding to a second frame by using the motion vector;

a transform unit configured to transform the generated side information;

a channel decoding unit configured to correct the side information based on the transformed side information and a parity bit provided from the encoding apparatus;

a dequantization unit configured to dequantize the corrected side information to reconstruct the second frame; and

a encoding unit configured to encode the reconstructed second frame;

wherein the side information generating unit is configured to determine a plurality of blocks having different block sizes for the purpose of motion prediction of the side information, obtain motion vectors between the reconstructed key frames based on the determined blocks, and select a motion vector among the obtained motion vectors according to a predetermined criteria; and

wherein the side information generating unit comprises:

a block size determining unit configured to determine a plurality of block sizes for the purpose of motion prediction using the reconstructed key frame,

a motion prediction performing unit configured to search for a region of another key frame among the reconstructed key frames in order to discover a region congruent with a first block of one key frame among the reconstructed key frames, to thus find a second block most congruent with the first block, and configured to generate a motion vector as a difference value between the first block and the second block, with respect to each of the plurality of block sizes,

a motion vector storage unit configured to store the motion vectors generated by the motion prediction performing unit, and

a motion vector selecting unit configured to measure similarity between a first block of one key picture and a second block of another key picture among the motion vectors, and configured to select a motion vector for a block size corresponding to the highest similarity.

16. The transcoding apparatus of claim 15 , wherein the encoding unit encodes the reconstructed second frame and the first frame decoded by the decoding unit.

17. The transcoding apparatus of claim 15 , wherein the encoding unit comprises:

a first coding unit configured to encode the reconstructed second frame; and

a second coding unit configured to encode the first frame decoded by the decoding unit.

18. A distributed video decoding method comprising:

reconstructing a channel loss by channel-decoding provided second encoded data;

reconstructing a first frame by decoding provided first encoded data;

generating side information by performing motion prediction on the reconstructed first frame based on a provided motion vector and information regarding the number of motion prediction performing steps;

correcting the generated side information by using a parity bit; and

dequantizing the corrected side information to reconstruct a second frame;

wherein generating of a motion vector, by determining a block size for performing motion prediction using the reconstructed key frame comprises:

determining a plurality of blocks having different sizes for the purpose of motion prediction of the side information,

obtaining motion vectors between the reconstructed key frames based on the plurality of determined blocks, and

selecting a motion vector among the obtained motion vectors according to a predetermined criteria; and

wherein obtaining of motion vectors between the reconstructed key frames based on the plurality of determined blocks comprises:

searching for a region of another key frame among the reconstructed key frames in order to discover a region congruent with a first block of one key frame among the reconstructed key frames, to thus find a second block most congruent with the first block, and

generating a motion vector as a difference value between the first block and the second block with respect to each of the plurality of block sizes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2012
From: JEON, BYEUNGWOO; KIM, DOHYEONG; SUH, DOUG-YOUNG; KIM, CHULKEUN; SIM, DONGGYU; MIN, KYUNGYEON; PARK, SEANAE
To: SUNGKYUNKWAN UNIVERSITY FOUNDATION FOR CORPORATE COLLABORATION
Reel/Frame 029127/0559 →
Priority Claims (4)
KR 10 2010 0002080 · Jan 11, 2010 · national
KR 10 2010 0002926 · Jan 13, 2010 · national
KR 10 2010 0012743 · Feb 11, 2010 · national
KR 10 2010 0026598 · Mar 25, 2010 · national
Continuity (1)
Related Publication 20130044183A1 · Feb 21, 2013