US20100220787A1 - Video encoding and decoding apparatus, method, and system - Google Patents

Video encoding and decoding apparatus, method, and system Download PDF

Info

Publication number
US20100220787A1
US20100220787A1 US12/654,408 US65440809A US2010220787A1 US 20100220787 A1 US20100220787 A1 US 20100220787A1 US 65440809 A US65440809 A US 65440809A US 2010220787 A1 US2010220787 A1 US 2010220787A1
Authority
US
United States
Prior art keywords
motion information
key frame
key
frames
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/654,408
Inventor
Takahiro Yamasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Assigned to OKI ELECTRIC INDUSTRY CO., LTD. reassignment OKI ELECTRIC INDUSTRY CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAMASAKI, TAKAHIRO
Publication of US20100220787A1 publication Critical patent/US20100220787A1/en
Priority to US14/048,677 priority Critical patent/US9667961B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/395Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving distributed video coding [DVC], e.g. Wyner-Ziv video coding or Slepian-Wolf video coding

Definitions

  • the present invention relates to video encoding and decoding apparatus and methods applicable in, for example, distributed video coding systems.
  • DVC Distributed video coding
  • the sequence of video frames is divided into key frames and non-key frames.
  • the non-key frames are often referred to as Wyner-Ziv frames or WZ frames.
  • the sequence of key frames is coded by a conventional coding method, and the coded data are sent to the decoder.
  • the sequence of Wyner-Ziv frames is coded independently by a method that generates error-correcting information, generally referred to as parity bits, and only the parity bits, or only some of them, are sent to the decoder.
  • a general feature of DVC coding systems is that they reduce the processing load on the encoder.
  • a basic DVC coding method is described by Aaron et al. in ‘Transform-Domain Wyner-Ziv Codec for Video’, Proc. SPIE Visual Communications and Image Processing, 2004.
  • the key frames are coded as intraframes.
  • a discrete cosine transform (DCT) is used to transform each Wyner-Ziv frame to the coefficient domain, the coefficients are grouped into bands, the coefficients in the k-th band are quantized by a 2 M k -level quantizer, the quantized coefficients (q k ) are expressed in fixed numbers of bits, and the bit planes are extracted and supplied to a Slepian-Wolf encoder that uses a punctured turbo code to produces data bits and parity bits. The data bits are discarded (as implied but not explicitly shown by Aaron et al. in FIG. 1 of the above reference).
  • the decoder decodes the key frames, uses the decoded key frames to generate a predicted image for each Wyner-Ziv frame, applies a DCT to convert the predicted image to the coefficient domain, groups the coefficients into bands, and inputs the coefficients in each band as side information to a Slepian-Wolf decoder.
  • the Slepian-Wolf decoder uses parity bits received from the encoder to correct prediction errors in the side information by an iterative process, in which the decoder originally receives a subset of the parity bits and may request further parity bits as required.
  • an inverse discrete cosine transform IDCT
  • a problem with this method is that since the key frames are coded as intraframes, they cannot be coded efficiently.
  • a proposed solution to this problem is to have the encoder perform interframe coding of the key frames, using motion estimation information supplied from the decoder on a feedback channel.
  • the encoder can then perform efficient interframe coding with motion compensation, without having to perform the computationally intensive motion estimation processing.
  • the feedback channel is also used in the encoder described by Aaron et al., when the decoder requests further parity bits.
  • a basic problem with the use of a feedback channel is that in some applications, no feedback channel is available. Another problem is that if a feedback channel is used to request further parity bits, generating and sending the successive requests for more parity bits takes extra time and delays the decoding process.
  • An object of the present invention is to provide an efficient a DVC system that does not require a feedback channel.
  • the invention provides a novel method of encoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames to obtain coded data representing the key frames and error-correcting information representing the non-key frames.
  • the method includes the steps of:
  • a feature of the novel method is that the first motion information is obtained from the second motion information, or alternatively, the second motion information is obtained from the first motion information.
  • the novel method may include the further steps of:
  • the invention also provides an encoder that operates by the novel method.
  • the invention further provides an encoding and decoding system including an encoder that operates by the novel method and a decoder that receives the coded data, error-correcting information, and first motion information generated in the encoder and uses the first motion information in decoding the coded data.
  • the encoder generates its own motion information and can use the motion information to decide how much error-correcting information to transmit to the decoder, so the encoder does not need to receive motion information or requests for error-correcting information from the decoder. Accordingly, no feedback channel is necessary.
  • the novel method is efficient because it uses motion compensation but reduces the frequency with which the computationally intensive process of estimating motion from frame data has to be executed.
  • FIG. 1 is a block diagram of an encoding and decoding system illustrating a first embodiment of the invention
  • FIG. 2 is a flowchart illustrating the intraframe encoding of key frames in the first embodiment
  • FIG. 3 is a flowchart illustrating the encoding of Wyner-Ziv frames in the first embodiment
  • FIG. 4 is a flowchart illustrating the interframe encoding of key frames in the first embodiment
  • FIG. 5 is a flowchart illustrating the intraframe decoding of key frames in the first embodiment
  • FIG. 6 is a flowchart illustrating the decoding of Wyner-Ziv frames in the first embodiment
  • FIG. 7 is a flowchart illustrating the interframe decoding of key frames in the first embodiment
  • FIG. 8 is a block diagram of an encoding and decoding system illustrating a second embodiment of the invention.
  • FIG. 9 is a flowchart illustrating the intraframe encoding of key frames in the second embodiment.
  • FIG. 10 is a flowchart illustrating the encoding of Wyner-Ziv frames in the second embodiment
  • FIG. 11 schematically illustrates the interpolation of motion information in the Wyner-Ziv encoder in the second embodiment
  • FIG. 12 is a block diagram of an encoding and decoding system illustrating a third embodiment of the invention.
  • FIG. 13 is a flowchart illustrating the interframe encoding of key frames in the second embodiment
  • FIGS. 14 and 15 form a flowchart illustrating the encoding of Wyner-Ziv frames in the third embodiment.
  • FIG. 16 is a flowchart illustrating the decoding of Wyner-Ziv frames in the third embodiment.
  • the first embodiment is a distributed video coding system including a moving picture encoding apparatus 101 and a moving picture decoding apparatus 102 .
  • Either or both of the moving picture encoding apparatus 101 and moving picture decoding apparatus 102 may be implemented either with specialized hardware, or by using a general purpose computing device having a central processing unit (CPU), read-only memory (ROM), random-access memory (RAM), and other well-known facilities to execute an encoding or decoding program, the blocks in FIG. 1 being functional blocks of the program.
  • CPU central processing unit
  • ROM read-only memory
  • RAM random-access memory
  • the moving picture encoding apparatus 101 includes a Wyner-Ziv frame encoder 103 and a key frame encoder 104 .
  • the moving picture decoding apparatus 102 includes a Wyner-Ziv frame decoder 105 and a key frame decoder 106 .
  • the moving picture encoding apparatus 101 receives an input sequence of moving-picture frames which includes a key frame sequence and a Wyner-Ziv frame sequence.
  • the Wyner-Ziv frame encoder 103 includes a Wyner-Ziv frame encoding unit 109 , a motion estimator 110 , a predicted image generator 111 , and a required amount estimator 112 .
  • the Wyner-Ziv frame encoding unit 109 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108 .
  • the Wyner-Ziv frame encoder 103 codes Wyner-Ziv frames.
  • the motion estimator 110 functions as the second motion information generator.
  • the key frame encoder 104 includes a transform and quantization processor 113 , a dequantization and inverse transform processor 114 , a frame buffer 115 , a motion compensator 116 , a motion modifier 117 , a subtractor 124 , and an adder 125 .
  • the key frame encoder 104 performs intraframe and interframe encoding of key frames.
  • the motion modifier 117 functions as the first motion information generator.
  • the transform and quantization processor 107 receives a Wyner-Ziv frame (more precisely, the image data of the Wyner-Ziv frame) from an input sequence (frame sequence), transforms the frame data to the coefficient domain by a discrete cosine transform, for example, quantizes the coefficients, and divides the quantized coefficient data into bit planes.
  • a discrete cosine transform for example, quantizes the coefficients, and divides the quantized coefficient data into bit planes.
  • the Slepian-Wolf encoder 108 performs Slepian-Wolf encoding of one bit plane at a time and sends resulting error-correcting information to the Wyner-Ziv frame decoder 105 .
  • the amount of error-correcting information sent is determined by the required amount estimator 112 .
  • the motion estimator 110 receives the key frame preceding the Wyner-Ziv frame being encoded (more precisely, locally decoded image data of the key frame) from frame buffer 115 . From the input sequence, the motion estimator 110 receives the Wyner-Ziv frame being encoded and the key frame following the Wyner-Ziv frame being encoded. On the basis of the received frame data, the motion estimator 110 estimates motion in the Wyner-Ziv frame.
  • the predicted image generator 111 generates a predicted image for the Wyner-Ziv frame being encoded, by using the motion information estimated by the motion estimator 110 and the key frame preceding or following the Wyner-Ziv frame or the key frames preceding and following the Wyner-Ziv frame.
  • the required amount estimator 112 compares the predicted image generated by the predicted image generator 111 with the original image of the Wyner-Ziv frame and estimates the amount of error-correcting information to be sent.
  • the subtractor 124 in the key frame encoder 104 takes the difference between the current key frame (the frame to be encoded) and a past key frame after motion compensation.
  • the subtractor 124 simply passes the current key frame data through without taking a difference.
  • the transform and quantization processor 113 transforms the output of the subtractor 124 to the coefficient domain by a discrete cosine transform, for example, quantizes the resulting coefficients, and sends the resulting coded data to the key frame decoder 106 .
  • the dequantization and inverse transform processor 114 performs a dequantization process and an inverse transform on the output of the transform and quantization processor 113 , performing processes reverse to the processes executed by the transform and quantization processor 113 .
  • the dequantization and inverse transform processes performed in the dequantization and inverse transform processor 114 constitute a local decoding process, or part thereof.
  • the dequantization and inverse transform processor 114 obtains the decoded difference between the current key frame and a preceding key frame after motion compensation.
  • intraframe encoding the dequantization and inverse transform processor 114 obtains the locally decoded image data of the current key frame.
  • the adder 125 adds the preceding key frame data, after motion compensation, to the locally decoded difference data to obtain the locally decoded current key frame data.
  • the adder 125 just passes the locally decoded key frame data output from the dequantization and inverse transform processor 114 on to frame buffer 115 , without adding any preceding frame data.
  • Frame buffer 115 stores the locally decoded key frame as reference key frame data.
  • the motion modifier 117 receives the input key frame sequence and the reference key frame data stored in frame buffer 115 , and generates key frame motion information for the key frames by modifying the Wyner-Ziv frame motion information estimated by the motion estimator 110 .
  • the motion compensator 116 receives the motion information from the motion modifier 117 and the reference frame data stored in frame buffer 115 and performs motion compensation.
  • the Wyner-Ziv frame decoder 105 in the moving picture decoding apparatus 102 includes a side information generator 118 , a Slepian-Wolf decoder 119 , and a decoded image generator 120 , which cooperatively decode Wyner-Ziv frames.
  • the key frame decoder 106 in the moving picture decoding apparatus 102 includes a dequantization and inverse transform processor 121 , a frame buffer 122 , a motion compensator 123 , and an adder 126 , which perform intraframe and interframe decoding of encoded key frames.
  • the dequantization and inverse transform processor 121 receives an encoded key frame from the key frame encoder 104 and performs the reverse of the processing executed by the transform and quantization processor 113 . If the transform and quantization processor 113 performs a discrete cosine transform and quantization, for example, the dequantization and inverse transform processor 121 performs dequantization and an inverse discrete cosine transform. If the received key frame was interframe-encoded, these processes produce data corresponding to the difference between the current key frame and a past key frame after motion compensation. If the key frame was intraframe-encoded, these processes produce the image data of the current key frame.
  • the adder 126 adds the difference data output from the dequantization and inverse transform processor 121 to the motion-compensated data of a past key frame to obtain the decoded image data of the current key frame. If intraframe encoding was performed, the adder 126 just passes the image data output from the dequantization and inverse transform processor 121 through as the decoded image data of the current key frame, without adding any difference data.
  • Frame buffer 122 stores the decoded image data of the current key frame as reference data and for use in the generation of predicted images.
  • the motion compensator 123 receives key frame motion information from the key frame encoder 104 and reference key frame data from frame buffer 122 and performs motion compensation to generate the motion-compensated data mentioned above.
  • the side information generator 118 in the Wyner-Ziv frame decoder 105 receives decoded key frame data from frame buffer 122 , generates a predicted image for the Wyner-Ziv frame to be decoded, transforms and quantizes the predicted image, and divides the resulting data into bit planes.
  • the Slepian-Wolf decoder 119 applies error-correcting information (parity bits) received from the Wyner-Ziv frame encoder 103 to the bit plane data output from the side information generator 118 and performs Slepian-Wolf decoding, one bit plane at a time.
  • the decoded image generator 120 assembles the decoded bit planes and performs inverse quantization and an inverse transform to generate a decoded image. Depending on the outcome of Slepian-Wolf decoding, the decoded image generator 120 may use the predicted bit plane output from the side information generator 118 instead of the decoded bit plane data output from the Slepian-Wolf decoder 119 .
  • the input sequence (frame sequence) is divided into a key frame sequence and a Wyner-Ziv frame sequence, and these sequences are encoded and decoded separately. Processing of a sequence in which key frames alternate with Wyner-Ziv frames will be described below as an example.
  • the first frame is a key frame and has no past key frame data that can be referred to, so the key frame encoder 104 performs intraframe encoding.
  • a key frame (in this case, the first frame) is taken from the input sequence and input to the transform and quantization processor 113 (step S 201 ). There the key frame is transformed to the coefficient domain and the coefficients are quantized (step S 202 ).
  • Local decoding is now performed to allow the transformed frame information to be used as reference frame data in subsequent interframe encoding or for the generation of a predicted image.
  • the quantized coefficients are input to the dequantization and inverse transform processor 114 (step S 203 ), a dequantization process and an inverse transform are carried out, and a locally decoded image for the first frame is generated (step S 204 ).
  • the locally decoded image is stored in frame buffer 115 (step S 205 ).
  • the transform and quantization processor 113 also sends the resulting coded data to the key frame decoder 106 (step S 206 ).
  • the second frame is a Wyner-Ziv frame and is encoded by the Wyner-Ziv frame encoder 103 .
  • the original image data of the Wyner-Ziv frame (the second frame) and the following key frame (the third frame) are taken from the input sequence and input to the motion estimator 110 (step S 301 ).
  • the locally decoded image data of the preceding key frame (the first frame) are taken from frame buffer 115 and input to the motion estimator 110 (step S 302 ).
  • the motion estimator 110 uses the data of the Wyner-Ziv frame and the preceding and following key frames to perform motion estimation (step S 303 ) and obtains motion information, which it supplies to the predicted image generator 111 together with the Wyner-Ziv frame and the preceding and following key frames (step S 304 ).
  • Any motion estimation method may be used: for example, the limited search method described by Brites et al. may be used to reduce the amount of computation.
  • the predicted image generator 111 receives the input motion information, the preceding and following key frames, and the Wyner-Ziv frame, generates a predicted image (step S 305 ), and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S 306 ).
  • the required amount estimator 112 compares the predicted image generated by the Wyner-Ziv frame decoder 105 with the original image of the Wyner-Ziv frame, estimates the amount of error in the predicted image, and estimates the amount of error-correcting information that will be needed to correct errors in each bit plane (step S 307 ). Any method of error-correcting information estimation may be used: for example, the method described by Brites et al. may be used.
  • the original image of the Wyner-Ziv frame (the second frame) as taken from the input sequence is input to the transform and quantization processor 107 (step S 308 ), where the input image is transformed to the coefficient domain, and the transformed data are quantized, and bit planes are extracted (step S 309 ).
  • a single bit plane is now input to the Slepian-Wolf encoder 108 (step S 310 ) to undergo Slepian-Wolf encoding (step S 311 ).
  • the estimate made by the required amount estimator 112 is input to the Slepian-Wolf encoder 108 (step S 312 ).
  • the Slepian-Wolf encoder 108 supplies the Wyner-Ziv frame decoder 105 with the amount of error-correcting information estimated to be necessary by the required amount estimator 112 (step S 313 ).
  • Steps S 310 , 5311 , S 312 , and S 313 are repeated for each of the bit planes (step S 314 ).
  • the third frame is a key frame. Since past key frame data (the first frame) is available, the key frame encoder 104 performs interframe encoding.
  • the motion modifier 117 receives the third frame from the input sequence (step S 401 ), receives motion information describing estimated motion between the second and third frames from the motion estimator 110 (step S 402 ), and receives locally decoded image data for the preceding key frame (the first frame) from frame buffer 115 (step S 403 ).
  • the motion modifier 117 modifies the estimated second-to-third-frame motion information to generate key frame motion information describing estimated motion between the first and third frames (step S 404 ).
  • the key frame motion information may be obtained by extrapolation of the motion information between the second and third frames. Interpolation will be described later. Extrapolation may be carried out in an analogous manner.
  • the extrapolated motion information may be further modified.
  • a small search area (such as three pixels by three pixels) may be specified around the extrapolated motion position, and a motion search may be made within this limited search area to find the position that gives the strongest correlation. The motion information found by this search is then used as the key frame motion information.
  • the key frame motion information is supplied from the motion modifier 117 to the motion compensator 116 (step S 405 ).
  • the image data for the reference frame (in this case, the first frame) are supplied from frame buffer 115 to the motion compensator 116 (step S 406 ).
  • the motion compensator 116 uses the reference frame and the key frame motion information to perform motion compensation (step S 407 ). Any motion compensation method may be used, including the methods described by the Moving Picture Experts Group (MPEG) and other methods used in known video encoding and decoding systems.
  • MPEG Moving Picture Experts Group
  • step S 408 The difference between the motion-compensated image output from the motion compensator 116 and the original image of the third frame taken from the input sequence is then obtained (step S 408 ) and supplied to the transform and quantization processor 113 , where the difference data are transformed and quantized to obtain an encoded image (step S 409 ).
  • the encoded image is now locally decoded for future use as reference frame data or in generation of a predicted image.
  • the data output from the transform and quantization processor 113 are input to the dequantization and inverse transform processor 114 (step S 410 ).
  • the dequantization and inverse transform processor 114 performs a dequantization process and an inverse transform to obtain locally decoded difference image data representing the difference between the original image of the third frame and the motion compensated image (step S 411 ).
  • the adder 125 adds these data to the motion-compensated data output from the motion compensator 116 to obtain the locally decoded image for the third frame, and the locally decoded image is stored in frame buffer 115 (step S 412 ).
  • the encoded data output from the transform and quantization processor 113 and the motion information obtained by the motion modifier 117 are sent to the key frame decoder 106 (step S 413 ).
  • the operation of the moving picture decoding apparatus 102 will now be described, including intraframe decoding of a key frame, decoding of a Wyner-Ziv frame, and interframe decoding of a key frame.
  • the first frame is a key frame. Since past key frame data that can be referred to are not available, the key frame decoder 106 performs intraframe decoding.
  • the encoded data of the first frame are supplied to the dequantization and inverse transform processor 121 in the key frame decoder 106 (steps S 501 and S 502 ), and a quantization process and an inverse transform are performed (step S 503 ). These processes produce a decoded image because the first frame was encoded by intraframe encoding.
  • the decoded image is stored in frame buffer 122 (step S 504 ), so that it can be used as reference frame data in interframe decoding of the next key frame and in generation of a predicted image for the next Wyner-Ziv frame.
  • the decoded image is output as well (step S 505 ).
  • the second frame is a Wyner-Ziv frame and is decoded in the Wyner-Ziv frame decoder 105 .
  • the key frame image data stored in frame buffer 122 for the key frames (the first and third frames) preceding and following the Wyner-Ziv frame being processed (the second frame) are input to the side information generator 118 (step S 601 ).
  • the side information generator 118 generates a predicted image for the Wyner-Ziv frame (step S 602 ). Any method of generating the predicted image from the preceding and following frames may be used: for example, the method described by Ascenso et al. in ‘Improving frame interpolation with spatial motion smoothing for pixel domain distributed video coding’, 5 th EURASIP Conference on Speech and Image Processing, Multimedia Communications and Services, July 2005 may be used. If the preceding and following key frames were encoded as interframes, their motion information may be used.
  • the side information generator 118 also transforms and quantizes the predicted image and divides the quantized data into bit planes (step S 603 ).
  • the side information generator 118 supplies a single bit plane to the Slepian-Wolf decoder 119 (step S 604 ).
  • the Wyner-Ziv frame encoder 103 supplies error-correcting information to the Slepian-Wolf decoder 119 (step S 605 ).
  • Slepian-Wolf decoding is performed by using the error-correcting information, and the result is supplied to the decoded image generator 120 (step S 606 ).
  • Steps S 604 , S 605 , and S 606 are repeated for each of the bit planes (S 607 ).
  • the decoded image generator 120 reassembles the decoded bit planes to reconstruct the Wyner-Ziv frame in the quantized coefficient domain, and performs inverse quantization and an inverse transform to obtain a decoded image.
  • the decoded image is output to a next-stage unit (not shown) for storage, display, or further processing (step S 608 ).
  • the third frame is a key frame. Since past key frame data (for the first frame) that can be referred to are present, the key frame decoder 106 performs interframe decoding.
  • the encoded third key frame is received from the key frame encoder 104 and input to the dequantization and inverse transform processor 121 (step S 701 ).
  • the dequantization and inverse transform processor 121 performs an inverse transform and inverse quantization to obtain difference image data with respect to the first frame, which is the reference frame for the decoding of the third frame (step S 702 ).
  • the motion information that was used to encode the third key frame is received from the moving picture encoding apparatus 101 and input to the motion compensator 123 (step S 703 ).
  • Corresponding reference frame data (in this case, the decoded image data for the first frame) are supplied from frame buffer 122 to the motion compensator 123 (step S 704 ).
  • the motion compensator 123 uses the reference frame and the motion information to perform motion compensation (step S 705 ).
  • MPEG motion compensation or any other motion compensation method used in general video encoding and decoding systems may be employed.
  • the adder 126 adds the difference data output from the dequantization and inverse transform processor 121 to the motion-compensated data output from the motion compensator 123 to obtain a decoded image for the third frame (step S 706 ).
  • the decoded image is stored in frame buffer 122 so that it can be used as reference frame data or in generation of a predicted image for the Wyner-Ziv frame (step S 707 ) and is output to a next-stage unit, which is not shown (step S 708 ).
  • the processing of the fourth frame and subsequent even-numbered (Wyner-Ziv) frames is the same as the processing of the second frame described above.
  • the processing of the fifth frame and subsequent odd-numbered (key) frames is generally the same as the processing of the third frame described above. If a monitor unit (not shown) detects a scene change or the like, however, the subsequent frames are processed as a new sequence, starting with intraframe encoding and decoding of the next frame as the first frame in the new sequence.
  • the moving picture coding system in the first embodiment can therefore be used in applications where no feedback channel is available.
  • the second embodiment is a moving picture coding system 800 including a moving picture encoding apparatus 801 and a moving picture decoding apparatus 102 .
  • the moving picture decoding apparatus 102 is the same as in the first embodiment.
  • the moving picture encoding apparatus 801 includes a Wyner-Ziv frame encoder 803 and a key frame encoder 804 .
  • the Wyner-Ziv frame encoder 803 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108 that constitute a Wyner-Ziv frame encoding unit 109 , a motion modifier 810 , a predicted image generator 111 , and a required amount estimator 112 .
  • the motion modifier 810 functions as the second motion information generator.
  • the elements other than the motion modifier 810 are the same as in the first embodiment.
  • the key frame encoder 804 includes a transform and quantization processor 113 , a dequantization and inverse transform processor 114 , a frame buffer 115 , a motion compensator 116 , a motion estimator 817 , a subtractor 124 , and an adder 125 .
  • the elements other than the motion estimator 817 are the same as in the first embodiment.
  • the second embodiment differs from the first embodiment only in regard to the motion estimator 817 and the motion modifier 810 .
  • the motion estimator 817 estimates motion between key frames by performing a motion search, for example, on an input key frame and a reference key frame data stored in frame buffer 115 .
  • the motion modifier 810 receives key frame motion information from the motion estimator 817 and modifies it to obtain motion information for Wyner-Ziv frames.
  • the operation of the moving picture coding system 800 in the second embodiment will now be described with reference to FIGS. 8 to 11 .
  • the input frame sequence consists of odd-numbered key frames and even-numbered Wyner-Ziv frames.
  • the operation of the moving picture decoding apparatus 102 and the intraframe encoding of key frames (specifically, the first frame) in the key frame encoder 804 are the same as in the first embodiment.
  • the image data for the third frame are taken from the input sequence and input to the motion estimator 817 (step S 901 ).
  • the key frame image data for the first frame are supplied from frame buffer 115 to the motion estimator 817 as reference frame data (step S 902 ).
  • the motion estimator 817 estimates key frame motion information from the key frame image data for the first and third frames (step S 903 ).
  • the subsequent processing is the same as in the first embodiment.
  • the motion estimator 817 supplies the key frame motion information to the motion compensator 116 (step S 405 ).
  • the image data for the reference frame (in this case, the first frame) are supplied from frame buffer 115 to the motion compensator 116 (step S 406 ).
  • the motion compensator 116 uses the reference frame data and the motion information to perform motion compensation (step S 407 ).
  • the differences between the data output from the motion compensator 116 and the original image data for the third frame are input to the transform and quantization processor 113 (step S 408 ), where they are transformed and quantized (step S 409 ).
  • the resulting data are input to the dequantization and inverse transform processor 114 (step S 410 ), where they undergo dequantization and an inverse transform to produce difference image data (step S 411 ).
  • the adder 125 adds the data output from the dequantization and inverse transform processor 114 and the data output from the motion compensator 116 to obtain a locally decoded image, which is stored in frame buffer 115 (step S 412 ).
  • the data output from the transform and quantization processor 113 and the motion information obtained from the motion estimator 817 are sent to the key frame decoder 106 (step S 413 ).
  • the Wyner-Ziv frame image for the second frame is taken from the input sequence and input to the motion modifier 810 (step S 1001 ).
  • Locally decoded images for the first and third frames are supplied from frame buffer 115 to the motion modifier 810 (step S 1002 ).
  • the motion estimator 817 estimates the motion between the first and third frames and supplies the corresponding key frame motion information to the motion modifier 810 (step S 1003 ).
  • the motion modifier 810 receives the key frame motion information and modifies the motion information for the second frame by interpolation or a similar process (step S 1004 ).
  • the distance between the key frames B and F be m and the distance between the Wyner-Ziv frame and the following key frame F be n. If key frames alternate with Wyner-Ziv frames, m is two and n is one.
  • the motion (d xB , d yB ) of point (x, y) from the Wyner-Ziv frame to the preceding key frame B (first frame) can be expressed by equation (1) below.
  • the motion (d xF , d yF ) of point (x, y) from the Wyner-Ziv frame to the following key frame F (third frame) can be expressed by equation (2) below.
  • the motion (d xB , d yB ) and (d xF , d yF ) between the Wyner-Ziv frame and the key frames can be obtained by interpolation using equations (1) and (2).
  • a small search area of about three pixels by three pixels, for example, may be specified around the interpolated motion position, and corrected motion information may be obtained by searching for the strongest correlation in this area.
  • the subsequent processing is the same as in the first embodiment.
  • the predicted image generator 111 receives the motion information obtained by the motion modifier 810 together with the Wyner-Ziv frame and the preceding and following key frames (step S 304 ), generates a predicted image (step S 305 ), and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S 306 ).
  • the required amount estimator 112 compares the predicted image with the original image and estimates the amount of error-correcting information required to correct the prediction errors in each bit plane (step S 307 ).
  • the original image of the Wyner-Ziv frame (the second frame) from the input sequence is input to the transform and quantization processor 107 (step S 308 ).
  • the transform and quantization processor 107 transforms the input image to the coefficient domain, quantizes the resulting coefficients, and divides the coefficient data into bit planes (step S 309 ).
  • a single bit plane is extracted and input to the Slepian-Wolf encoder 108 (step S 310 ) for Slepian-Wolf encoding (step S 311 ) to obtain error-correcting information.
  • the estimate made by the required amount estimator 112 is also supplied to the Slepian-Wolf encoder 108 (step S 312 ).
  • the Slepian-Wolf encoder 108 sends the estimated amount of error-correcting information to the Wyner-Ziv frame decoder 105 (step S 313 ). Steps S 310 , S 311 , S 312 , S 313 are repeated for each of the bit planes (step S 314 ).
  • the estimates of motion between key frames in the second embodiment are in general more accurate than the extrapolated or otherwise modified motion estimates used in the first embodiment, so the key frame encoding efficiency is improved.
  • Predicted images for the Wyner-Ziv frame can be generated with less processing than in the first embodiment because the key frame motion information is used.
  • the moving picture coding system 1200 in the third embodiment includes a moving picture encoding apparatus 1201 and a moving picture decoding apparatus 1202 .
  • the moving picture encoding apparatus 1201 includes a Wyner-Ziv frame encoder 1203 and a key frame encoder 1204 .
  • the Wyner-Ziv frame encoder 1203 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108 , which together constitute a Wyner-Ziv frame encoding unit 109 , and a motion estimator and modifier 1210 , a predicted image generator 111 , and a required amount estimator 112 .
  • the motion estimator and compensator 1210 functions as the second motion information generator.
  • the elements other than the motion estimator and modifier 1210 are the same as in the first embodiment.
  • the key frame encoder 1204 includes a transform and quantization processor 113 , a dequantization and inverse transform processor 114 , a frame buffer 115 , a motion compensator 116 , a motion estimator 1217 , a subtractor 124 , and an adder 125 .
  • the elements other than the motion estimator 1217 are the same as in the first embodiment.
  • the moving picture decoding apparatus 1202 includes a Wyner-Ziv frame decoder 105 and a key frame decoder 1206 .
  • the Wyner-Ziv frame decoder 105 is the same as that in the first embodiment.
  • the key frame decoder 1206 includes a dequantization and inverse transform processor 121 , a frame buffer 122 , a motion compensator 123 , an adder 126 , and a motion estimator 1225 , differing from the first embodiment only in the added presence of motion estimator 1225 .
  • the third embodiment differs from the first embodiment in regard to the motion estimator and modifier 1210 , and motion estimators 1217 and 1225 .
  • the motion estimators 1217 and 1225 estimate key frame motion information from key frames that were encoded or decoded before the current key frame.
  • the motion estimator and modifier 1210 obtains motion information for a Wyner-Ziv frame either by modifying key frame motion information received from motion estimator 1217 , or by receiving the Wyner-Ziv frame from the input sequence and receiving the preceding key frame, the following key frame, or the preceding and following key frames from frame buffer 115 and estimating motion directly from the frame data.
  • the operation of the moving picture coding system 1200 will be described with reference to the flowcharts in FIG. 12 and the flowcharts in FIGS. 13 to 16 . It will again be assumed that the input sequence consists of odd-numbered key frames and even-numbered Wyner-Ziv frames. Interframe encoding of key frames starts after two key frames have been encoded. The first and third frames are therefore encoded by intraframe encoding, and the fifth frame and subsequent key frames are encoded by interframe encoding.
  • Intraframe encoding of key frames and the decoding of Wyner-Ziv frames are carried out in the same way as in the first embodiment. A repeated description will be omitted.
  • the locally decoded images for the first and third frames are supplied from frame buffer 115 to the motion estimator 1217 (step S 1301 ).
  • the motion estimator 1217 uses these images to estimate motion from the third frame to the fifth frame (step S 1302 ).
  • a conventional estimation method such as the method described by Liu et al. in Section 2.1, “Motion Estimation” of ‘Backward Channel Aware Wyner-Ziv Video Coding’, may be used.
  • step S 405 to step S 412 is substantially the same as in the first embodiment.
  • the key frame motion information is supplied from the motion estimator 1217 to the motion compensator 116 (step S 405 ).
  • the image data of the reference frame (in this case, the third frame) are supplied from frame buffer 115 to the motion compensator 116 (step S 406 ).
  • the motion compensator 116 uses the reference frame data and the motion information to perform motion compensation (step S 407 ).
  • the difference between the result output from the motion compensator 116 and the original image of the fifth frame from the input sequence is input to the transform and quantization processor 113 (step S 408 ).
  • the transform and quantization processor 113 transforms and quantizes the difference (step S 409 ) and supplies the resulting data to the dequantization and inverse transform processor 114 (step S 410 ).
  • the dequantization and inverse transform processor 114 performs inverse quantization and an inverse transform to obtain the locally decoded difference between the original image of the fifth frame and the result of motion compensation (step S 411 ).
  • the adder 125 adds the data output from the dequantization and inverse transform processor 114 and the motion compensator 116 to obtain a locally decoded image for the fifth frame, and this image is stored in frame buffer 115 (step S 412 ).
  • the quantized data output from the transform and quantization processor 113 are sent to the key frame decoder 106 (step S 1303 ). Differing from the first embodiment, no motion information is sent to the key frame decoder 106 .
  • the original image of the Wyner-Ziv frame to be encoded is taken from the input sequence and input to the motion estimator and modifier 1210 (step S 1401 in FIG. 14 ).
  • the locally decoded images for the key frames preceding and following the Wyner-Ziv frame are supplied from frame buffer 115 to the motion estimator and modifier 1210 (step S 1402 ). Whether information about motion between the preceding and following key frames is available from the motion estimator 1217 is determined (step S 1403 ).
  • the motion estimator 1217 supplies the key frame motion information to the motion estimator and modifier 1210 (step S 1404 ), and the motion estimator and modifier 1210 obtains the motion information for the Wyner-Ziv frame by interpolation as described in the second embodiment ( FIG. 11 ), for example (step S 1405 ).
  • step S 1404 the motion estimator and modifier 1210 obtains the motion information for the Wyner-Ziv frame by interpolation as described in the second embodiment ( FIG. 11 ), for example.
  • step S 1405 motion information is obtained in this way.
  • the motion estimator and modifier 1210 uses the input Wyner-Ziv frame and the preceding and following key frames to perform motion estimation as in the first embodiment (step S 1406 ).
  • motion information is obtained in this way because the preceding and following key frames (the first and third frames) were both encoded by intraframe encoding and the motion between them has not been estimated.
  • the motion estimator and modifier 1210 may use any known motion estimation method.
  • a motion estimation method that uses a small search area to reduce the processing load may be used, for example, as described by Brites et al. in Section 3.1.2, “Fast Motion Compensated Interpolation (FMCI)” of ‘Encoder Rate Control for Transform Domain Wyner-Ziv Video Coding’.
  • FMCI Fast Motion Compensated Interpolation
  • step S 304 the motion information obtained by the motion estimator and modifier 1210 is input to the predicted image generator 111 together with the image data of the preceding and following key frames and the Wyner-Ziv frame being encoded.
  • the predicted image generator 111 uses the input motion information and key frame image data to generate a predicted image (step S 305 in FIG. 15 ) and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S 306 ).
  • the required amount estimator 112 compares the original and predicted images and estimates the amount of error-correcting information required to correct prediction errors in each bit plane (step S 307 ).
  • the original image data of the Wyner-Ziv frame from the input sequence are input to the transform and quantization processor 107 (step S 308 ).
  • the transform and quantization processor 107 transforms the data to the coefficient domain, quantizes the transformed data, and divides the quantized data into bit planes (step S 309 ), one of which is input to the Slepian-Wolf encoder 108 (step S 310 ).
  • step S 311 After Slepian-Wolf encoding of the input bit plane (step S 311 ), the estimate made by the required amount estimator 112 is input to the Slepian-Wolf encoder 108 (step S 312 ), which sends the estimated amount of error-correcting information to the Wyner-Ziv frame decoder 105 (step S 313 ). Steps S 310 , S 311 , S 312 , and S 313 are repeated for each of the bit planes (step S 314 ).
  • Intraframe decoding of encoded key frames is the same as in the first embodiment.
  • Interframe decoding of the fifth frame will be described with reference to FIGS. 12 and 16 .
  • the decoded images of the first and third frames are supplied from frame buffer 122 to motion estimator 1225 (step S 1601 ).
  • Motion estimator 1225 estimates motion between the third and fifth frames (step S 1602 ), using the same method as used by motion estimator 1217 in the key frame encoder 1204 .
  • the encoded fifth frame data are received from the key frame encoder 1204 and input to the dequantization and inverse transform processor 121 (step S 701 ).
  • the dequantization and inverse transform processor 121 performs inverse quantization and an inverse transform to obtain difference image data for the fifth frame (step S 702 ).
  • the motion compensator 123 receives the motion information estimated by motion estimator 1225 (step S 703 ), instead of receiving motion information from the key frame encoder as in the preceding embodiments.
  • the motion compensator 123 also receives reference frame data, in this case the decoded image data for the third frame, from frame buffer 122 (step S 704 ).
  • the motion compensator 123 uses the reference frame data and the motion information to perform motion compensation (step S 705 ).
  • the adder 126 adds the motion-compensated image data output from the motion compensator 123 and the difference image data information output from the dequantization and inverse transform processor 121 to obtain a decoded image for the key frame (step S 706 ).
  • the decoded image is stored in frame buffer 122 so that it can be used as reference frame data for interframe decoding of the next key frame, and in generation of predicted images for Wyner-Ziv frames (step S 707 ).
  • the decoded image is also output to a next-stage unit, which is not shown (step S 708 ).
  • the key frame encoder and the key frame decoder estimate key frame motion independently, the need to send motion information from the key frame encoder to the key frame decoder is eliminated, and the key frame encoding efficiency is improved accordingly.
  • the channel between the video encoder and the video decoder is not limited to a channel in a narrow sense of realtime communication.
  • the channel may include a recording medium on which the data encoded by the moving picture encoding apparatus are stored for later decoding by the moving picture decoding apparatus.
  • the key frames used in the generation of predicted images are not limited to the immediately preceding and following key frames.
  • two key frames preceding and two key frames following each Wyner-Ziv frame may be used. In that case, a correspondingly larger amount of motion information must be generated.
  • the motion estimator 110 or the motion estimator and modifier 1210 in the Wyner-Ziv frame encoder estimates the motion of a Wyner-Ziv frame directly from frame data, it may use the frame data of the Wyner-Ziv frame and either the preceding or following key frame, or the frame data of the Wyner-Ziv frame and both the preceding and following key frames.
  • motion modifier 117 or the motion estimator 817 or 1217 in the key frame encoder may obtain all the key frame data from the input sequence, or obtain all the key frame data from the frame buffer, instead of obtaining some key frame from the input sequence and other key frame data from the frame buffer.
  • the quantized key frame data may be further encoded by entropy coding, for example, to improve the compression ratio before being sent to the decoding apparatus.
  • the input of moving picture sequence need not consist of alternate key frames and Wyner-Ziv frames.
  • the sequence may be divided into key frames and Wyner-Ziv frames in any ratio. For example, two consecutive key frames may be followed by a single Wyner-Ziv frame, so that the ratio of key frames to Wyner-Ziv frames is 2:1. In that case, the uneven temporal spacing between key frames must be taken into account when motion information is generated by interpolation or extrapolation.

Abstract

A video sequence is encoded by encoding key frames to obtain coded data and non-key frames to obtain error-correcting information. In the encoding process, key frame data are stored in a buffer, first motion information pertaining to the key frames is obtained, and the first motion information is applied to the stored key frame data to generate predicted key frame data. Second motion information pertaining to the non-key frames is also obtained and used to generate predicted non-key frame data. Either the first motion information is obtained from the second motion information, or the second motion information is obtained from the first motion information. The encoder accordingly does not have to obtain motion information from the decoder, and can estimate the amount of error-correcting information to send to the decoder.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to video encoding and decoding apparatus and methods applicable in, for example, distributed video coding systems.
  • 2. Description of the Related Art
  • Distributed video coding (DVC) is a new coding method that has attracted much recent attention. It is based on two key results in information theory, the Slepian-Wolf theorem and the Wyner-Ziv theorem, which showed that data could be compressed as efficiently by two independent encoders as by one encoder.
  • In DVC coding, the sequence of video frames is divided into key frames and non-key frames. The non-key frames are often referred to as Wyner-Ziv frames or WZ frames. The sequence of key frames is coded by a conventional coding method, and the coded data are sent to the decoder. The sequence of Wyner-Ziv frames is coded independently by a method that generates error-correcting information, generally referred to as parity bits, and only the parity bits, or only some of them, are sent to the decoder. A general feature of DVC coding systems is that they reduce the processing load on the encoder.
  • A basic DVC coding method is described by Aaron et al. in ‘Transform-Domain Wyner-Ziv Codec for Video’, Proc. SPIE Visual Communications and Image Processing, 2004. In the encoder, the key frames are coded as intraframes. A discrete cosine transform (DCT) is used to transform each Wyner-Ziv frame to the coefficient domain, the coefficients are grouped into bands, the coefficients in the k-th band are quantized by a 2M k -level quantizer, the quantized coefficients (qk) are expressed in fixed numbers of bits, and the bit planes are extracted and supplied to a Slepian-Wolf encoder that uses a punctured turbo code to produces data bits and parity bits. The data bits are discarded (as implied but not explicitly shown by Aaron et al. in FIG. 1 of the above reference).
  • The decoder decodes the key frames, uses the decoded key frames to generate a predicted image for each Wyner-Ziv frame, applies a DCT to convert the predicted image to the coefficient domain, groups the coefficients into bands, and inputs the coefficients in each band as side information to a Slepian-Wolf decoder. The Slepian-Wolf decoder uses parity bits received from the encoder to correct prediction errors in the side information by an iterative process, in which the decoder originally receives a subset of the parity bits and may request further parity bits as required. When a satisfactory decoded result is obtained, an inverse discrete cosine transform (IDCT) is applied to reconstruct the image of the Wyner-Ziv frame.
  • A problem with this method is that since the key frames are coded as intraframes, they cannot be coded efficiently.
  • A proposed solution to this problem, described by Liu et al. in ‘Backward Channel Aware Wyner-Ziv Video Coding’, Proc. IEEE International Conference on Image Processing, Atlanta, Ga., October 2006, is to have the encoder perform interframe coding of the key frames, using motion estimation information supplied from the decoder on a feedback channel. The encoder can then perform efficient interframe coding with motion compensation, without having to perform the computationally intensive motion estimation processing.
  • The feedback channel is also used in the encoder described by Aaron et al., when the decoder requests further parity bits.
  • A basic problem with the use of a feedback channel is that in some applications, no feedback channel is available. Another problem is that if a feedback channel is used to request further parity bits, generating and sending the successive requests for more parity bits takes extra time and delays the decoding process.
  • In ‘Encoder Rate Control for Transform Domain Wyner-Ziv Video Coding’, ICIP 2007, Brites et al. describe a DVC system that does not use a feedback channel. Instead, the encoder estimates the number of parity bits that the decoder will need for adequate decoding of each Wyner-Ziv frame by performing limited motion estimation, generating a predicted image, and comparing this predicted image with the original image. The encoder then sends the decoder the estimated number of parity bits without having to be asked for them.
  • The methods proposed by Liu et al. and Brites et al. could in theory be combined to improve the efficiency of both key frame encoding, by performing interframe coding, and Wyner-Ziv decoding, by eliminating the need for the decoder to request additional parity bits, but this hypothetical combination would still require a feedback channel to supply motion information from the decoder to the key frame encoder.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide an efficient a DVC system that does not require a feedback channel.
  • The invention provides a novel method of encoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames to obtain coded data representing the key frames and error-correcting information representing the non-key frames. The method includes the steps of:
  • storing key frame data in a buffer;
  • obtaining first motion information pertaining to the key frames;
  • applying the first motion information to the key frame data stored in the buffer to generate predicted key frames;
  • obtaining second motion information pertaining to the non-key frames; and
  • using the second motion information to generate predicted non-key frames.
  • A feature of the novel method is that the first motion information is obtained from the second motion information, or alternatively, the second motion information is obtained from the first motion information.
  • The novel method may include the further steps of:
  • obtaining the coded data representing some of the key frames by encoding differences between the key frames and the predicted key frames;
  • obtaining the error-correcting information representing the non-key frames by encoding the non-key frames; and
  • using the predicted non-key frames to decide how much of the error-correcting information to output.
  • The invention also provides an encoder that operates by the novel method.
  • The invention further provides an encoding and decoding system including an encoder that operates by the novel method and a decoder that receives the coded data, error-correcting information, and first motion information generated in the encoder and uses the first motion information in decoding the coded data.
  • In the novel method, the encoder generates its own motion information and can use the motion information to decide how much error-correcting information to transmit to the decoder, so the encoder does not need to receive motion information or requests for error-correcting information from the decoder. Accordingly, no feedback channel is necessary.
  • The novel method is efficient because it uses motion compensation but reduces the frequency with which the computationally intensive process of estimating motion from frame data has to be executed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the attached drawings:
  • FIG. 1 is a block diagram of an encoding and decoding system illustrating a first embodiment of the invention;
  • FIG. 2 is a flowchart illustrating the intraframe encoding of key frames in the first embodiment;
  • FIG. 3 is a flowchart illustrating the encoding of Wyner-Ziv frames in the first embodiment;
  • FIG. 4 is a flowchart illustrating the interframe encoding of key frames in the first embodiment;
  • FIG. 5 is a flowchart illustrating the intraframe decoding of key frames in the first embodiment;
  • FIG. 6 is a flowchart illustrating the decoding of Wyner-Ziv frames in the first embodiment;
  • FIG. 7 is a flowchart illustrating the interframe decoding of key frames in the first embodiment;
  • FIG. 8 is a block diagram of an encoding and decoding system illustrating a second embodiment of the invention;
  • FIG. 9 is a flowchart illustrating the intraframe encoding of key frames in the second embodiment;
  • FIG. 10 is a flowchart illustrating the encoding of Wyner-Ziv frames in the second embodiment;
  • FIG. 11 schematically illustrates the interpolation of motion information in the Wyner-Ziv encoder in the second embodiment;
  • FIG. 12 is a block diagram of an encoding and decoding system illustrating a third embodiment of the invention;
  • FIG. 13 is a flowchart illustrating the interframe encoding of key frames in the second embodiment;
  • FIGS. 14 and 15 form a flowchart illustrating the encoding of Wyner-Ziv frames in the third embodiment; and
  • FIG. 16 is a flowchart illustrating the decoding of Wyner-Ziv frames in the third embodiment.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Embodiments of the invention will now be described with reference to the attached drawings, in which like elements are indicated by like reference characters.
  • First Embodiment
  • Referring to FIG. 1, the first embodiment is a distributed video coding system including a moving picture encoding apparatus 101 and a moving picture decoding apparatus 102. Either or both of the moving picture encoding apparatus 101 and moving picture decoding apparatus 102 may be implemented either with specialized hardware, or by using a general purpose computing device having a central processing unit (CPU), read-only memory (ROM), random-access memory (RAM), and other well-known facilities to execute an encoding or decoding program, the blocks in FIG. 1 being functional blocks of the program.
  • The moving picture encoding apparatus 101 includes a Wyner-Ziv frame encoder 103 and a key frame encoder 104. The moving picture decoding apparatus 102 includes a Wyner-Ziv frame decoder 105 and a key frame decoder 106. The moving picture encoding apparatus 101 receives an input sequence of moving-picture frames which includes a key frame sequence and a Wyner-Ziv frame sequence.
  • The Wyner-Ziv frame encoder 103 includes a Wyner-Ziv frame encoding unit 109, a motion estimator 110, a predicted image generator 111, and a required amount estimator 112. The Wyner-Ziv frame encoding unit 109 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108. The Wyner-Ziv frame encoder 103 codes Wyner-Ziv frames. The motion estimator 110 functions as the second motion information generator.
  • The key frame encoder 104 includes a transform and quantization processor 113, a dequantization and inverse transform processor 114, a frame buffer 115, a motion compensator 116, a motion modifier 117, a subtractor 124, and an adder 125. The key frame encoder 104 performs intraframe and interframe encoding of key frames. The motion modifier 117 functions as the first motion information generator.
  • The transform and quantization processor 107 receives a Wyner-Ziv frame (more precisely, the image data of the Wyner-Ziv frame) from an input sequence (frame sequence), transforms the frame data to the coefficient domain by a discrete cosine transform, for example, quantizes the coefficients, and divides the quantized coefficient data into bit planes.
  • The Slepian-Wolf encoder 108 performs Slepian-Wolf encoding of one bit plane at a time and sends resulting error-correcting information to the Wyner-Ziv frame decoder 105. The amount of error-correcting information sent is determined by the required amount estimator 112.
  • The motion estimator 110 receives the key frame preceding the Wyner-Ziv frame being encoded (more precisely, locally decoded image data of the key frame) from frame buffer 115. From the input sequence, the motion estimator 110 receives the Wyner-Ziv frame being encoded and the key frame following the Wyner-Ziv frame being encoded. On the basis of the received frame data, the motion estimator 110 estimates motion in the Wyner-Ziv frame.
  • The predicted image generator 111 generates a predicted image for the Wyner-Ziv frame being encoded, by using the motion information estimated by the motion estimator 110 and the key frame preceding or following the Wyner-Ziv frame or the key frames preceding and following the Wyner-Ziv frame.
  • The required amount estimator 112 compares the predicted image generated by the predicted image generator 111 with the original image of the Wyner-Ziv frame and estimates the amount of error-correcting information to be sent.
  • In interframe encoding of key frames, the subtractor 124 in the key frame encoder 104 takes the difference between the current key frame (the frame to be encoded) and a past key frame after motion compensation. In intraframe encoding, the subtractor 124 simply passes the current key frame data through without taking a difference.
  • The transform and quantization processor 113 transforms the output of the subtractor 124 to the coefficient domain by a discrete cosine transform, for example, quantizes the resulting coefficients, and sends the resulting coded data to the key frame decoder 106.
  • The dequantization and inverse transform processor 114 performs a dequantization process and an inverse transform on the output of the transform and quantization processor 113, performing processes reverse to the processes executed by the transform and quantization processor 113. The dequantization and inverse transform processes performed in the dequantization and inverse transform processor 114 constitute a local decoding process, or part thereof. In interframe encoding, the dequantization and inverse transform processor 114 obtains the decoded difference between the current key frame and a preceding key frame after motion compensation. In intraframe encoding, the dequantization and inverse transform processor 114 obtains the locally decoded image data of the current key frame.
  • In interframe encoding, the adder 125 adds the preceding key frame data, after motion compensation, to the locally decoded difference data to obtain the locally decoded current key frame data. In intraframe encoding, the adder 125 just passes the locally decoded key frame data output from the dequantization and inverse transform processor 114 on to frame buffer 115, without adding any preceding frame data.
  • Frame buffer 115 stores the locally decoded key frame as reference key frame data.
  • The motion modifier 117 receives the input key frame sequence and the reference key frame data stored in frame buffer 115, and generates key frame motion information for the key frames by modifying the Wyner-Ziv frame motion information estimated by the motion estimator 110.
  • The motion compensator 116 receives the motion information from the motion modifier 117 and the reference frame data stored in frame buffer 115 and performs motion compensation.
  • The Wyner-Ziv frame decoder 105 in the moving picture decoding apparatus 102 includes a side information generator 118, a Slepian-Wolf decoder 119, and a decoded image generator 120, which cooperatively decode Wyner-Ziv frames.
  • The key frame decoder 106 in the moving picture decoding apparatus 102 includes a dequantization and inverse transform processor 121, a frame buffer 122, a motion compensator 123, and an adder 126, which perform intraframe and interframe decoding of encoded key frames.
  • The dequantization and inverse transform processor 121 receives an encoded key frame from the key frame encoder 104 and performs the reverse of the processing executed by the transform and quantization processor 113. If the transform and quantization processor 113 performs a discrete cosine transform and quantization, for example, the dequantization and inverse transform processor 121 performs dequantization and an inverse discrete cosine transform. If the received key frame was interframe-encoded, these processes produce data corresponding to the difference between the current key frame and a past key frame after motion compensation. If the key frame was intraframe-encoded, these processes produce the image data of the current key frame.
  • If interframe encoding was performed, the adder 126 adds the difference data output from the dequantization and inverse transform processor 121 to the motion-compensated data of a past key frame to obtain the decoded image data of the current key frame. If intraframe encoding was performed, the adder 126 just passes the image data output from the dequantization and inverse transform processor 121 through as the decoded image data of the current key frame, without adding any difference data.
  • Frame buffer 122 stores the decoded image data of the current key frame as reference data and for use in the generation of predicted images.
  • If interframe encoding was performed, the motion compensator 123 receives key frame motion information from the key frame encoder 104 and reference key frame data from frame buffer 122 and performs motion compensation to generate the motion-compensated data mentioned above.
  • The side information generator 118 in the Wyner-Ziv frame decoder 105 receives decoded key frame data from frame buffer 122, generates a predicted image for the Wyner-Ziv frame to be decoded, transforms and quantizes the predicted image, and divides the resulting data into bit planes.
  • The Slepian-Wolf decoder 119 applies error-correcting information (parity bits) received from the Wyner-Ziv frame encoder 103 to the bit plane data output from the side information generator 118 and performs Slepian-Wolf decoding, one bit plane at a time.
  • The decoded image generator 120 assembles the decoded bit planes and performs inverse quantization and an inverse transform to generate a decoded image. Depending on the outcome of Slepian-Wolf decoding, the decoded image generator 120 may use the predicted bit plane output from the side information generator 118 instead of the decoded bit plane data output from the Slepian-Wolf decoder 119.
  • The operation of the moving picture coding system 100 in the first embodiment will now be described with reference to FIG. 1 and the flowcharts in FIGS. 2 to 7.
  • The input sequence (frame sequence) is divided into a key frame sequence and a Wyner-Ziv frame sequence, and these sequences are encoded and decoded separately. Processing of a sequence in which key frames alternate with Wyner-Ziv frames will be described below as an example.
  • Encoding of the first frame in the sequence will be described with reference to FIGS. 1 and 2. The first frame is a key frame and has no past key frame data that can be referred to, so the key frame encoder 104 performs intraframe encoding.
  • In intraframe encoding, a key frame (in this case, the first frame) is taken from the input sequence and input to the transform and quantization processor 113 (step S201). There the key frame is transformed to the coefficient domain and the coefficients are quantized (step S202).
  • Local decoding is now performed to allow the transformed frame information to be used as reference frame data in subsequent interframe encoding or for the generation of a predicted image. The quantized coefficients are input to the dequantization and inverse transform processor 114 (step S203), a dequantization process and an inverse transform are carried out, and a locally decoded image for the first frame is generated (step S204). The locally decoded image is stored in frame buffer 115 (step S205).
  • The transform and quantization processor 113 also sends the resulting coded data to the key frame decoder 106 (step S206).
  • Encoding of the second frame will be described with reference to FIGS. 1 and 3. The second frame is a Wyner-Ziv frame and is encoded by the Wyner-Ziv frame encoder 103.
  • The original image data of the Wyner-Ziv frame (the second frame) and the following key frame (the third frame) are taken from the input sequence and input to the motion estimator 110 (step S301). The locally decoded image data of the preceding key frame (the first frame) are taken from frame buffer 115 and input to the motion estimator 110 (step S302).
  • The motion estimator 110 uses the data of the Wyner-Ziv frame and the preceding and following key frames to perform motion estimation (step S303) and obtains motion information, which it supplies to the predicted image generator 111 together with the Wyner-Ziv frame and the preceding and following key frames (step S304). Any motion estimation method may be used: for example, the limited search method described by Brites et al. may be used to reduce the amount of computation.
  • The predicted image generator 111 receives the input motion information, the preceding and following key frames, and the Wyner-Ziv frame, generates a predicted image (step S305), and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S306).
  • The required amount estimator 112 compares the predicted image generated by the Wyner-Ziv frame decoder 105 with the original image of the Wyner-Ziv frame, estimates the amount of error in the predicted image, and estimates the amount of error-correcting information that will be needed to correct errors in each bit plane (step S307). Any method of error-correcting information estimation may be used: for example, the method described by Brites et al. may be used.
  • The original image of the Wyner-Ziv frame (the second frame) as taken from the input sequence is input to the transform and quantization processor 107 (step S308), where the input image is transformed to the coefficient domain, and the transformed data are quantized, and bit planes are extracted (step S309).
  • A single bit plane is now input to the Slepian-Wolf encoder 108 (step S310) to undergo Slepian-Wolf encoding (step S311). The estimate made by the required amount estimator 112 is input to the Slepian-Wolf encoder 108 (step S312). The Slepian-Wolf encoder 108 supplies the Wyner-Ziv frame decoder 105 with the amount of error-correcting information estimated to be necessary by the required amount estimator 112 (step S313).
  • Steps S310, 5311, S312, and S313 are repeated for each of the bit planes (step S314).
  • Encoding of the third frame will be described with reference to FIGS. 1 and 4. The third frame is a key frame. Since past key frame data (the first frame) is available, the key frame encoder 104 performs interframe encoding.
  • The motion modifier 117 receives the third frame from the input sequence (step S401), receives motion information describing estimated motion between the second and third frames from the motion estimator 110 (step S402), and receives locally decoded image data for the preceding key frame (the first frame) from frame buffer 115 (step S403). The motion modifier 117 modifies the estimated second-to-third-frame motion information to generate key frame motion information describing estimated motion between the first and third frames (step S404). For example, the key frame motion information may be obtained by extrapolation of the motion information between the second and third frames. Interpolation will be described later. Extrapolation may be carried out in an analogous manner.
  • After extrapolation of the second-to-third-frame motion information, the extrapolated motion information may be further modified. A small search area (such as three pixels by three pixels) may be specified around the extrapolated motion position, and a motion search may be made within this limited search area to find the position that gives the strongest correlation. The motion information found by this search is then used as the key frame motion information.
  • The key frame motion information is supplied from the motion modifier 117 to the motion compensator 116 (step S405). The image data for the reference frame (in this case, the first frame) are supplied from frame buffer 115 to the motion compensator 116 (step S406). The motion compensator 116 uses the reference frame and the key frame motion information to perform motion compensation (step S407). Any motion compensation method may be used, including the methods described by the Moving Picture Experts Group (MPEG) and other methods used in known video encoding and decoding systems.
  • The difference between the motion-compensated image output from the motion compensator 116 and the original image of the third frame taken from the input sequence is then obtained (step S408) and supplied to the transform and quantization processor 113, where the difference data are transformed and quantized to obtain an encoded image (step S409).
  • The encoded image is now locally decoded for future use as reference frame data or in generation of a predicted image. In this process, the data output from the transform and quantization processor 113 are input to the dequantization and inverse transform processor 114 (step S410). The dequantization and inverse transform processor 114 performs a dequantization process and an inverse transform to obtain locally decoded difference image data representing the difference between the original image of the third frame and the motion compensated image (step S411). The adder 125 adds these data to the motion-compensated data output from the motion compensator 116 to obtain the locally decoded image for the third frame, and the locally decoded image is stored in frame buffer 115 (step S412).
  • The encoded data output from the transform and quantization processor 113 and the motion information obtained by the motion modifier 117 are sent to the key frame decoder 106 (step S413).
  • The operation of the moving picture decoding apparatus 102 will now be described, including intraframe decoding of a key frame, decoding of a Wyner-Ziv frame, and interframe decoding of a key frame.
  • Decoding of the first frame will be described with reference to FIGS. 1 and 5. The first frame is a key frame. Since past key frame data that can be referred to are not available, the key frame decoder 106 performs intraframe decoding.
  • The encoded data of the first frame are supplied to the dequantization and inverse transform processor 121 in the key frame decoder 106 (steps S501 and S502), and a quantization process and an inverse transform are performed (step S503). These processes produce a decoded image because the first frame was encoded by intraframe encoding.
  • The decoded image is stored in frame buffer 122 (step S504), so that it can be used as reference frame data in interframe decoding of the next key frame and in generation of a predicted image for the next Wyner-Ziv frame. The decoded image is output as well (step S505).
  • Decoding of the second frame will be described with reference to FIGS. 1 and 6. The second frame is a Wyner-Ziv frame and is decoded in the Wyner-Ziv frame decoder 105.
  • First, the key frame image data stored in frame buffer 122 for the key frames (the first and third frames) preceding and following the Wyner-Ziv frame being processed (the second frame) are input to the side information generator 118 (step S601). The side information generator 118 generates a predicted image for the Wyner-Ziv frame (step S602). Any method of generating the predicted image from the preceding and following frames may be used: for example, the method described by Ascenso et al. in ‘Improving frame interpolation with spatial motion smoothing for pixel domain distributed video coding’, 5th EURASIP Conference on Speech and Image Processing, Multimedia Communications and Services, July 2005 may be used. If the preceding and following key frames were encoded as interframes, their motion information may be used.
  • The side information generator 118 also transforms and quantizes the predicted image and divides the quantized data into bit planes (step S603).
  • The side information generator 118 supplies a single bit plane to the Slepian-Wolf decoder 119 (step S604). The Wyner-Ziv frame encoder 103 supplies error-correcting information to the Slepian-Wolf decoder 119 (step S605). Slepian-Wolf decoding is performed by using the error-correcting information, and the result is supplied to the decoded image generator 120 (step S606).
  • Steps S604, S605, and S606 are repeated for each of the bit planes (S607). The decoded image generator 120 reassembles the decoded bit planes to reconstruct the Wyner-Ziv frame in the quantized coefficient domain, and performs inverse quantization and an inverse transform to obtain a decoded image. The decoded image is output to a next-stage unit (not shown) for storage, display, or further processing (step S608).
  • Decoding of the third frame will be described with reference to FIGS. 1 and 7. The third frame is a key frame. Since past key frame data (for the first frame) that can be referred to are present, the key frame decoder 106 performs interframe decoding.
  • The encoded third key frame is received from the key frame encoder 104 and input to the dequantization and inverse transform processor 121 (step S701). The dequantization and inverse transform processor 121 performs an inverse transform and inverse quantization to obtain difference image data with respect to the first frame, which is the reference frame for the decoding of the third frame (step S702).
  • The motion information that was used to encode the third key frame (motion information output from the motion modifier 117) is received from the moving picture encoding apparatus 101 and input to the motion compensator 123 (step S703). Corresponding reference frame data (in this case, the decoded image data for the first frame) are supplied from frame buffer 122 to the motion compensator 123 (step S704). The motion compensator 123 uses the reference frame and the motion information to perform motion compensation (step S705). MPEG motion compensation or any other motion compensation method used in general video encoding and decoding systems may be employed.
  • The adder 126 adds the difference data output from the dequantization and inverse transform processor 121 to the motion-compensated data output from the motion compensator 123 to obtain a decoded image for the third frame (step S706).
  • The decoded image is stored in frame buffer 122 so that it can be used as reference frame data or in generation of a predicted image for the Wyner-Ziv frame (step S707) and is output to a next-stage unit, which is not shown (step S708).
  • The processing of the fourth frame and subsequent even-numbered (Wyner-Ziv) frames is the same as the processing of the second frame described above. The processing of the fifth frame and subsequent odd-numbered (key) frames is generally the same as the processing of the third frame described above. If a monitor unit (not shown) detects a scene change or the like, however, the subsequent frames are processed as a new sequence, starting with intraframe encoding and decoding of the next frame as the first frame in the new sequence.
  • Since interframe encoding of key frames is performed with motion information obtained from the Wyner-Ziv frame encoder instead of from the moving picture decoding apparatus, and the amount of error-correcting information to transmit is estimated in the Wyner-Ziv frame encoder itself by using this motion information, the need for a feedback channel is eliminated for both Wyner-Ziv frames and key frames. The moving picture coding system in the first embodiment can therefore be used in applications where no feedback channel is available.
  • Because the motion information estimated in the generation of predicted images for Wyner-Ziv frames is also used, with modification, as interframe key frame motion information, the processing load on the moving picture encoding apparatus is reduced.
  • Second Embodiment
  • Referring to FIG. 8, the second embodiment is a moving picture coding system 800 including a moving picture encoding apparatus 801 and a moving picture decoding apparatus 102. The moving picture decoding apparatus 102 is the same as in the first embodiment.
  • The moving picture encoding apparatus 801 includes a Wyner-Ziv frame encoder 803 and a key frame encoder 804.
  • The Wyner-Ziv frame encoder 803 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108 that constitute a Wyner-Ziv frame encoding unit 109, a motion modifier 810, a predicted image generator 111, and a required amount estimator 112. The motion modifier 810 functions as the second motion information generator. The elements other than the motion modifier 810 are the same as in the first embodiment.
  • The key frame encoder 804 includes a transform and quantization processor 113, a dequantization and inverse transform processor 114, a frame buffer 115, a motion compensator 116, a motion estimator 817, a subtractor 124, and an adder 125. The elements other than the motion estimator 817 are the same as in the first embodiment.
  • The second embodiment differs from the first embodiment only in regard to the motion estimator 817 and the motion modifier 810.
  • The motion estimator 817 estimates motion between key frames by performing a motion search, for example, on an input key frame and a reference key frame data stored in frame buffer 115.
  • The motion modifier 810 receives key frame motion information from the motion estimator 817 and modifies it to obtain motion information for Wyner-Ziv frames.
  • The operation of the moving picture coding system 800 in the second embodiment will now be described with reference to FIGS. 8 to 11. As in the first embodiment, it will be assumed that the input frame sequence consists of odd-numbered key frames and even-numbered Wyner-Ziv frames.
  • The operation of the moving picture decoding apparatus 102 and the intraframe encoding of key frames (specifically, the first frame) in the key frame encoder 804 are the same as in the first embodiment.
  • Interframe encoding of a key frame (the third frame) will be described with reference to FIGS. 8 and 9.
  • The image data for the third frame are taken from the input sequence and input to the motion estimator 817 (step S901). The key frame image data for the first frame are supplied from frame buffer 115 to the motion estimator 817 as reference frame data (step S902). The motion estimator 817 estimates key frame motion information from the key frame image data for the first and third frames (step S903).
  • The subsequent processing is the same as in the first embodiment.
  • The motion estimator 817 supplies the key frame motion information to the motion compensator 116 (step S405). The image data for the reference frame (in this case, the first frame) are supplied from frame buffer 115 to the motion compensator 116 (step S406). The motion compensator 116 uses the reference frame data and the motion information to perform motion compensation (step S407).
  • The differences between the data output from the motion compensator 116 and the original image data for the third frame are input to the transform and quantization processor 113 (step S408), where they are transformed and quantized (step S409). The resulting data are input to the dequantization and inverse transform processor 114 (step S410), where they undergo dequantization and an inverse transform to produce difference image data (step S411). The adder 125 adds the data output from the dequantization and inverse transform processor 114 and the data output from the motion compensator 116 to obtain a locally decoded image, which is stored in frame buffer 115 (step S412). The data output from the transform and quantization processor 113 and the motion information obtained from the motion estimator 817 are sent to the key frame decoder 106 (step S413).
  • Encoding of a Wyner-Ziv frame (the second frame) will next be described with reference to FIGS. 8 and 10.
  • The Wyner-Ziv frame image for the second frame is taken from the input sequence and input to the motion modifier 810 (step S1001). Locally decoded images for the first and third frames are supplied from frame buffer 115 to the motion modifier 810 (step S1002). The motion estimator 817 estimates the motion between the first and third frames and supplies the corresponding key frame motion information to the motion modifier 810 (step S1003). The motion modifier 810 receives the key frame motion information and modifies the motion information for the second frame by interpolation or a similar process (step S1004).
  • An exemplary interpolation process for generating motion information for the second frame by modifying the first-to-third frame motion information will be described with reference to FIG. 11.
  • If a point B(x, y) in the key frame B (in this case, the first frame) preceding a Wyner-Ziv frame moves to a point F(x, y) in the key frame F (in this case, the third frame) following the Wyner-Ziv frame and this motion is expressed as (dx, dy), then the motion of the corresponding point (x, y) in the Wyner-Ziv frame with respect to the points B(x, y) and F(x, y) in the preceding and following key frames can be estimated as follows.
  • Let the distance between the key frames B and F be m and the distance between the Wyner-Ziv frame and the following key frame F be n. If key frames alternate with Wyner-Ziv frames, m is two and n is one.
  • The motion (dxB, dyB) of point (x, y) from the Wyner-Ziv frame to the preceding key frame B (first frame) can be expressed by equation (1) below. The motion (dxF, dyF) of point (x, y) from the Wyner-Ziv frame to the following key frame F (third frame) can be expressed by equation (2) below. Given the motion information (dx, dy) between the key frames as input, the motion (dxB, dyB) and (dxF, dyF) between the Wyner-Ziv frame and the key frames can be obtained by interpolation using equations (1) and (2). After motion information is obtained by using either equation (1) or (2), a small search area of about three pixels by three pixels, for example, may be specified around the interpolated motion position, and corrected motion information may be obtained by searching for the strongest correlation in this area.

  • (d xB ,d yB)=((−(m−n)/m)d x,(−(m−n)/m)d y)  (1)

  • (d xF ,d yF)=((n/m)d x,(n/m)d y)  (2)
  • The subsequent processing is the same as in the first embodiment.
  • The predicted image generator 111 receives the motion information obtained by the motion modifier 810 together with the Wyner-Ziv frame and the preceding and following key frames (step S304), generates a predicted image (step S305), and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S306). The required amount estimator 112 compares the predicted image with the original image and estimates the amount of error-correcting information required to correct the prediction errors in each bit plane (step S307).
  • The original image of the Wyner-Ziv frame (the second frame) from the input sequence is input to the transform and quantization processor 107 (step S308). The transform and quantization processor 107 transforms the input image to the coefficient domain, quantizes the resulting coefficients, and divides the coefficient data into bit planes (step S309). A single bit plane is extracted and input to the Slepian-Wolf encoder 108 (step S310) for Slepian-Wolf encoding (step S311) to obtain error-correcting information. The estimate made by the required amount estimator 112 is also supplied to the Slepian-Wolf encoder 108 (step S312). The Slepian-Wolf encoder 108 sends the estimated amount of error-correcting information to the Wyner-Ziv frame decoder 105 (step S313). Steps S310, S311, S312, S313 are repeated for each of the bit planes (step S314).
  • The estimates of motion between key frames in the second embodiment are in general more accurate than the extrapolated or otherwise modified motion estimates used in the first embodiment, so the key frame encoding efficiency is improved. Predicted images for the Wyner-Ziv frame can be generated with less processing than in the first embodiment because the key frame motion information is used.
  • Third Embodiment
  • Referring to FIG. 12, the moving picture coding system 1200 in the third embodiment includes a moving picture encoding apparatus 1201 and a moving picture decoding apparatus 1202.
  • The moving picture encoding apparatus 1201 includes a Wyner-Ziv frame encoder 1203 and a key frame encoder 1204.
  • The Wyner-Ziv frame encoder 1203 includes a transform and quantization processor 107 and a Slepian-Wolf encoder 108, which together constitute a Wyner-Ziv frame encoding unit 109, and a motion estimator and modifier 1210, a predicted image generator 111, and a required amount estimator 112. The motion estimator and compensator 1210 functions as the second motion information generator. The elements other than the motion estimator and modifier 1210 are the same as in the first embodiment.
  • The key frame encoder 1204 includes a transform and quantization processor 113, a dequantization and inverse transform processor 114, a frame buffer 115, a motion compensator 116, a motion estimator 1217, a subtractor 124, and an adder 125. The elements other than the motion estimator 1217 are the same as in the first embodiment.
  • The moving picture decoding apparatus 1202 includes a Wyner-Ziv frame decoder 105 and a key frame decoder 1206. The Wyner-Ziv frame decoder 105 is the same as that in the first embodiment.
  • The key frame decoder 1206 includes a dequantization and inverse transform processor 121, a frame buffer 122, a motion compensator 123, an adder 126, and a motion estimator 1225, differing from the first embodiment only in the added presence of motion estimator 1225.
  • The third embodiment differs from the first embodiment in regard to the motion estimator and modifier 1210, and motion estimators 1217 and 1225.
  • The motion estimators 1217 and 1225 estimate key frame motion information from key frames that were encoded or decoded before the current key frame.
  • The motion estimator and modifier 1210 obtains motion information for a Wyner-Ziv frame either by modifying key frame motion information received from motion estimator 1217, or by receiving the Wyner-Ziv frame from the input sequence and receiving the preceding key frame, the following key frame, or the preceding and following key frames from frame buffer 115 and estimating motion directly from the frame data.
  • The operation of the moving picture coding system 1200 will be described with reference to the flowcharts in FIG. 12 and the flowcharts in FIGS. 13 to 16. It will again be assumed that the input sequence consists of odd-numbered key frames and even-numbered Wyner-Ziv frames. Interframe encoding of key frames starts after two key frames have been encoded. The first and third frames are therefore encoded by intraframe encoding, and the fifth frame and subsequent key frames are encoded by interframe encoding.
  • Intraframe encoding of key frames and the decoding of Wyner-Ziv frames are carried out in the same way as in the first embodiment. A repeated description will be omitted.
  • Interframe encoding of the fifth frame will be described with reference to FIGS. 12 and 13.
  • The locally decoded images for the first and third frames are supplied from frame buffer 115 to the motion estimator 1217 (step S1301). The motion estimator 1217 uses these images to estimate motion from the third frame to the fifth frame (step S1302). A conventional estimation method, such as the method described by Liu et al. in Section 2.1, “Motion Estimation” of ‘Backward Channel Aware Wyner-Ziv Video Coding’, may be used.
  • The processing from step S405 to step S412 is substantially the same as in the first embodiment.
  • The key frame motion information is supplied from the motion estimator 1217 to the motion compensator 116 (step S405). The image data of the reference frame (in this case, the third frame) are supplied from frame buffer 115 to the motion compensator 116 (step S406). The motion compensator 116 uses the reference frame data and the motion information to perform motion compensation (step S407).
  • The difference between the result output from the motion compensator 116 and the original image of the fifth frame from the input sequence is input to the transform and quantization processor 113 (step S408). The transform and quantization processor 113 transforms and quantizes the difference (step S409) and supplies the resulting data to the dequantization and inverse transform processor 114 (step S410). The dequantization and inverse transform processor 114 performs inverse quantization and an inverse transform to obtain the locally decoded difference between the original image of the fifth frame and the result of motion compensation (step S411). The adder 125 adds the data output from the dequantization and inverse transform processor 114 and the motion compensator 116 to obtain a locally decoded image for the fifth frame, and this image is stored in frame buffer 115 (step S412). The quantized data output from the transform and quantization processor 113 are sent to the key frame decoder 106 (step S1303). Differing from the first embodiment, no motion information is sent to the key frame decoder 106.
  • Encoding of the second and fourth frames (Wyner-Ziv frames) will be described with reference to FIGS. 12, 14, and 15.
  • The original image of the Wyner-Ziv frame to be encoded is taken from the input sequence and input to the motion estimator and modifier 1210 (step S1401 in FIG. 14). The locally decoded images for the key frames preceding and following the Wyner-Ziv frame are supplied from frame buffer 115 to the motion estimator and modifier 1210 (step S1402). Whether information about motion between the preceding and following key frames is available from the motion estimator 1217 is determined (step S1403).
  • If such motion information is available, the motion estimator 1217 supplies the key frame motion information to the motion estimator and modifier 1210 (step S1404), and the motion estimator and modifier 1210 obtains the motion information for the Wyner-Ziv frame by interpolation as described in the second embodiment (FIG. 11), for example (step S1405). When the fourth frame is encoded, motion information is obtained in this way.
  • If key frame motion information is not available, the motion estimator and modifier 1210 uses the input Wyner-Ziv frame and the preceding and following key frames to perform motion estimation as in the first embodiment (step S1406). When the second frame is encoded, motion information is obtained in this way because the preceding and following key frames (the first and third frames) were both encoded by intraframe encoding and the motion between them has not been estimated. The motion estimator and modifier 1210 may use any known motion estimation method. A motion estimation method that uses a small search area to reduce the processing load may be used, for example, as described by Brites et al. in Section 3.1.2, “Fast Motion Compensated Interpolation (FMCI)” of ‘Encoder Rate Control for Transform Domain Wyner-Ziv Video Coding’.
  • The subsequent processing is the same as in the first embodiment. Following step S1405 or step S1406, the motion information obtained by the motion estimator and modifier 1210 is input to the predicted image generator 111 together with the image data of the preceding and following key frames and the Wyner-Ziv frame being encoded (step S304). The predicted image generator 111 uses the input motion information and key frame image data to generate a predicted image (step S305 in FIG. 15) and supplies the predicted image to the required amount estimator 112 together with the original image of the Wyner-Ziv frame (step S306). The required amount estimator 112 compares the original and predicted images and estimates the amount of error-correcting information required to correct prediction errors in each bit plane (step S307).
  • The original image data of the Wyner-Ziv frame from the input sequence are input to the transform and quantization processor 107 (step S308). The transform and quantization processor 107 transforms the data to the coefficient domain, quantizes the transformed data, and divides the quantized data into bit planes (step S309), one of which is input to the Slepian-Wolf encoder 108 (step S310). After Slepian-Wolf encoding of the input bit plane (step S311), the estimate made by the required amount estimator 112 is input to the Slepian-Wolf encoder 108 (step S312), which sends the estimated amount of error-correcting information to the Wyner-Ziv frame decoder 105 (step S313). Steps S310, S311, S312, and S313 are repeated for each of the bit planes (step S314).
  • Intraframe decoding of encoded key frames, such as the first and third frames, is the same as in the first embodiment. Interframe decoding of the fifth frame will be described with reference to FIGS. 12 and 16.
  • The decoded images of the first and third frames are supplied from frame buffer 122 to motion estimator 1225 (step S1601). Motion estimator 1225 estimates motion between the third and fifth frames (step S1602), using the same method as used by motion estimator 1217 in the key frame encoder 1204.
  • After this motion estimation process the subsequent steps are substantially the same as in the first embodiment.
  • The encoded fifth frame data are received from the key frame encoder 1204 and input to the dequantization and inverse transform processor 121 (step S701). The dequantization and inverse transform processor 121 performs inverse quantization and an inverse transform to obtain difference image data for the fifth frame (step S702).
  • The motion compensator 123 receives the motion information estimated by motion estimator 1225 (step S703), instead of receiving motion information from the key frame encoder as in the preceding embodiments. The motion compensator 123 also receives reference frame data, in this case the decoded image data for the third frame, from frame buffer 122 (step S704). The motion compensator 123 uses the reference frame data and the motion information to perform motion compensation (step S705).
  • The adder 126 adds the motion-compensated image data output from the motion compensator 123 and the difference image data information output from the dequantization and inverse transform processor 121 to obtain a decoded image for the key frame (step S706). The decoded image is stored in frame buffer 122 so that it can be used as reference frame data for interframe decoding of the next key frame, and in generation of predicted images for Wyner-Ziv frames (step S707). The decoded image is also output to a next-stage unit, which is not shown (step S708).
  • Since the key frame encoder and the key frame decoder estimate key frame motion independently, the need to send motion information from the key frame encoder to the key frame decoder is eliminated, and the key frame encoding efficiency is improved accordingly.
  • The following variations are also possible.
  • The channel between the video encoder and the video decoder is not limited to a channel in a narrow sense of realtime communication. The channel may include a recording medium on which the data encoded by the moving picture encoding apparatus are stored for later decoding by the moving picture decoding apparatus.
  • The key frames used in the generation of predicted images are not limited to the immediately preceding and following key frames. For example, two key frames preceding and two key frames following each Wyner-Ziv frame may be used. In that case, a correspondingly larger amount of motion information must be generated.
  • When the motion estimator 110 or the motion estimator and modifier 1210 in the Wyner-Ziv frame encoder estimates the motion of a Wyner-Ziv frame directly from frame data, it may use the frame data of the Wyner-Ziv frame and either the preceding or following key frame, or the frame data of the Wyner-Ziv frame and both the preceding and following key frames.
  • When motion modifier 117 or the motion estimator 817 or 1217 in the key frame encoder refers to key frame data to estimate motion or modify motion information, it may obtain all the key frame data from the input sequence, or obtain all the key frame data from the frame buffer, instead of obtaining some key frame from the input sequence and other key frame data from the frame buffer.
  • Although a transform such as a DCT is carried out in the description given above, the processing may be performed in the pixel domain instead.
  • The quantized key frame data may be further encoded by entropy coding, for example, to improve the compression ratio before being sent to the decoding apparatus.
  • The input of moving picture sequence need not consist of alternate key frames and Wyner-Ziv frames. The sequence may be divided into key frames and Wyner-Ziv frames in any ratio. For example, two consecutive key frames may be followed by a single Wyner-Ziv frame, so that the ratio of key frames to Wyner-Ziv frames is 2:1. In that case, the uneven temporal spacing between key frames must be taken into account when motion information is generated by interpolation or extrapolation.
  • Those skilled in the art will recognize that further variations are possible within the scope of the invention, which is defined in the appended claims.

Claims (15)

1. An encoding apparatus for encoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames, the encoding apparatus including a key frame encoder for encoding the key frames to generate coded data and a non-key frame encoder for encoding the non-key frames to generate error-correcting information, wherein:
the key frame encoder comprises
a first key frame buffer for storing key frame data,
a first motion information generator for obtaining first motion information pertaining to the key frames, and
a first motion compensator for applying the first motion information to the key frame data stored in the first key frame buffer to generate first predicted key frame data; and
the non-key frame encoder comprises
a second motion information generator for obtaining second motion information pertaining to the non-key frames, and
a predicted image generator for using the second motion information to generate predicted non-key frame data; and wherein
one of the first and second motion information generators supplies one of the first and second motion information to another one of the first and second motion information generators for use in generating another one of the first and second motion information.
2. The encoding apparatus of claim 1, wherein:
the key frame encoder obtains the coded data representing some of the key frames by encoding differences between the key frames and the first predicted key frame data;
the key frame encoder obtains the key frame data stored in the first key frame buffer by locally decoding the coded data;
the non-key frame encoder obtains the error-correcting information representing the non-key frames by encoding the non-key frames; and
the non-key frame encoder further comprises an amount estimator that uses the predicted non-key frame data to decide how much of the error-correcting information to output from the non-key frame encoder.
3. The encoding apparatus of claim 1, wherein:
the second motion information generator generates the second motion information from the key frames and/or the non-key frames and supplies the second motion information to the first motion information generator; and
the first motion information generator generates the first motion information by extrapolation from the second motion information.
4. The encoding apparatus of claim 1, wherein:
the first motion information generator generates the first motion information from the key frame data stored in the first key frame buffer and supplies the first motion information to the second motion information generator; and
the second motion information generator generates the second motion information by interpolation from the first motion information.
5. The encoding apparatus of claim 4, wherein the second motion information generator also uses the key frames and/or the non-key frames to generate the second motion information for at least one non-key frame for which the first motion information needed for interpolation is unavailable.
6. A system for encoding and decoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames, the system including the encoding apparatus of claim 1 and a decoding apparatus, the decoding apparatus comprising:
a key frame decoder for decoding the decoded data to obtain decoded key frame data and generating second predicted non-key frame data from the decoded key frame data; and
a non-key frame decoder for receiving the error-correcting information output from the encoding apparatus and applying the error-correcting information to the second predicted non-key frame data to generate decoded non-key frame data.
7. The system of claim 6, wherein the key frame decoder further comprises:
a second key frame buffer for storing key frame data; and
a second motion compensator for receiving the first motion information from the first motion information generator and applying the first motion information to the key frame data stored in the second key frame buffer to generate the second predicted non-key frame data.
8. A method of encoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames to obtain coded data representing the key frames and error-correcting information representing the non-key frames, the method comprising:
storing key frame data in a first key frame buffer;
obtaining first motion information pertaining to the key frames;
applying the first motion information to the key frame data stored in the first key frame buffer to generate first predicted key frame data;
obtaining second motion information pertaining to the non-key frames; and
using the second motion information to generate predicted non-key frame data; wherein
one of the first and second motion information is obtained from another one of the first and second motion information.
9. The method of claim 8, further comprising:
obtaining the coded data representing some of the key frames by encoding differences between the key frames and the first predicted key frame data;
locally decoding the coded data to obtain the key frame data stored in the first key frame buffer;
obtaining the error-correcting information representing the non-key frames by encoding the non-key frames; and
using the predicted non-key frame data to decide how much of the error-correcting information to output.
10. The method of claim 8, wherein:
the second motion information generator generates the second motion information from the key frames and/or the non-key frames; and
the first motion information generator generates the first motion information by extrapolation from the second motion information.
11. The method of claim 8, wherein:
the first motion information generator generates the first motion information from the key frame data stored in the first key frame buffer; and
the second motion information generator generates the second motion information by interpolation from the first motion information.
12. The method of claim 11, wherein for at least one non-key frame, for which the first motion information needed for interpolation is unavailable, the second motion information generator generates the second motion information from the key frames and/or the non-key frames.
13. A method of decoding a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames and encoded by an encoding apparatus using the method of claim 8, the method comprising:
decoding the decoded data to obtain decoded key frame data;
generating second predicted non-key frame data from the decoded key frame data; and
receiving the error-correcting information output from the encoding apparatus and applying the error-correcting information to the second predicted non-key frame data to generate decoded non-key frame data.
14. The method of claim 13, further comprising:
storing the decoded key frame data in a second key frame buffer;
receiving the first motion information from the encoding apparatus; and
applying the first motion information to the key frame data stored in the second key frame buffer to generate the second predicted key frame data.
15. A machine readable tangible medium storing instructions executable by a computing device to encode a sequence of moving-picture frames that has been divided into a sequence of key frames and a sequence of non-key frames and obtain coded data representing the key frames and error-correcting information representing the non-key frames by the method of claim 8.
US12/654,408 2009-03-02 2009-12-18 Video encoding and decoding apparatus, method, and system Abandoned US20100220787A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/048,677 US9667961B2 (en) 2009-03-02 2013-10-08 Video encoding and decoding apparatus, method, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009048263A JP5071413B2 (en) 2009-03-02 2009-03-02 Moving picture coding apparatus, method and program, and moving picture coding system
JP2009-048263 2009-03-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/048,677 Continuation US9667961B2 (en) 2009-03-02 2013-10-08 Video encoding and decoding apparatus, method, and system

Publications (1)

Publication Number Publication Date
US20100220787A1 true US20100220787A1 (en) 2010-09-02

Family

ID=42667069

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/654,408 Abandoned US20100220787A1 (en) 2009-03-02 2009-12-18 Video encoding and decoding apparatus, method, and system
US14/048,677 Expired - Fee Related US9667961B2 (en) 2009-03-02 2013-10-08 Video encoding and decoding apparatus, method, and system

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/048,677 Expired - Fee Related US9667961B2 (en) 2009-03-02 2013-10-08 Video encoding and decoding apparatus, method, and system

Country Status (2)

Country Link
US (2) US20100220787A1 (en)
JP (1) JP5071413B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232500A1 (en) * 2007-08-30 2010-09-16 Canon Kabushiki Kaisha Improvement for spatial wyner ziv coding
US20100309988A1 (en) * 2007-12-12 2010-12-09 Canon Kabushiki Kaisha Error correction in distributed video coding
US20100316137A1 (en) * 2007-12-03 2010-12-16 Canon Kabushiki Kaisha For error correction in distributed video coding
US20130230100A1 (en) * 2012-03-02 2013-09-05 Oki Electric Industry Co., Ltd. Video encoding device and program, video decoding device and program, and video distribution system
CN104025602A (en) * 2012-01-05 2014-09-03 高通股份有限公司 Signaling View Synthesis Prediction Support In 3D Video Coding
WO2014085415A3 (en) * 2012-11-29 2014-09-12 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US20190124333A1 (en) * 2017-10-19 2019-04-25 Samsung Electronics Co., Ltd. Multi-codec encoder and multi-codec encoding system including the same
CN112584134A (en) * 2020-12-07 2021-03-30 深圳市捷视飞通科技股份有限公司 Method and device for testing video conference code stream, computer equipment and storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5625824B2 (en) * 2010-11-30 2014-11-19 沖電気工業株式会社 Code amount control apparatus and program, and moving picture coding apparatus and program
JP5845750B2 (en) * 2011-09-12 2016-01-20 沖電気工業株式会社 Image coding system, image coding apparatus, and image coding program
JP5811823B2 (en) * 2011-12-12 2015-11-11 沖電気工業株式会社 Video encoding apparatus, system, and program
US9307257B2 (en) * 2013-09-25 2016-04-05 Mitsubishi Electric Research Laboratories, Inc. Method for improving compression efficiency of distributed source coding using intra-band information
US9014499B2 (en) * 2013-09-25 2015-04-21 Mitsubishi Electric Research Laboratories, Inc. Distributed source coding using prediction modes obtained from side information
JP6606827B2 (en) * 2015-01-21 2019-11-20 沖電気工業株式会社 Moving picture coding apparatus, moving picture coding program, and moving picture coding system
CN116962696A (en) * 2022-04-19 2023-10-27 华为技术有限公司 Image coding method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016078A1 (en) * 1994-04-20 2001-08-23 Oki Electric Industry Co., Ltd. Image encoding and decoding method and apparatus using edge synthesis and inverse wavelet transform
US20060133486A1 (en) * 2002-10-01 2006-06-22 Thomson Licensing S.A. Implicit weighting of reference pictures in a video decoder
US20060274159A1 (en) * 2005-06-01 2006-12-07 Canon Kabushiki Kaisha Image coding apparatus and image coding method
US20090074077A1 (en) * 2006-10-19 2009-03-19 Canon Kabushiki Kaisha Video source coding with decoder side information

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134270A (en) * 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US7643558B2 (en) * 2003-03-24 2010-01-05 Qualcomm Incorporated Method, apparatus, and system for encoding and decoding side information for multimedia transmission
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
US8331445B2 (en) * 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US7860158B2 (en) * 2004-08-27 2010-12-28 Mitsubishi Electric Research Laboratories Inc. Coding correlated images using syndrome bits
KR100664930B1 (en) * 2004-10-21 2007-01-04 삼성전자주식회사 Video coding method supporting temporal scalability and apparatus thereof
US20070171981A1 (en) * 2006-01-25 2007-07-26 Yingyong Qi Projection based techniques and apparatus that generate motion vectors used for video stabilization and encoding
JP4605070B2 (en) * 2006-03-30 2011-01-05 Kddi株式会社 Image compression encoding apparatus, image decoding apparatus, program, and method
EP2057846A4 (en) * 2006-09-01 2016-06-29 Thomson Licensing Method and apparatus for encoding a flash picture occurring in a video sequence, and for decoding corresponding data for a flash picture
US20080205508A1 (en) * 2007-02-22 2008-08-28 Streaming Networks (Pvt.) Ltd. Method and apparatus for low complexity video encoding and decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016078A1 (en) * 1994-04-20 2001-08-23 Oki Electric Industry Co., Ltd. Image encoding and decoding method and apparatus using edge synthesis and inverse wavelet transform
US20060133486A1 (en) * 2002-10-01 2006-06-22 Thomson Licensing S.A. Implicit weighting of reference pictures in a video decoder
US20060274159A1 (en) * 2005-06-01 2006-12-07 Canon Kabushiki Kaisha Image coding apparatus and image coding method
US20090074077A1 (en) * 2006-10-19 2009-03-19 Canon Kabushiki Kaisha Video source coding with decoder side information

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232500A1 (en) * 2007-08-30 2010-09-16 Canon Kabushiki Kaisha Improvement for spatial wyner ziv coding
US8594196B2 (en) * 2007-08-30 2013-11-26 Canon Kabushiki Kaisha Spatial Wyner Ziv coding
US20100316137A1 (en) * 2007-12-03 2010-12-16 Canon Kabushiki Kaisha For error correction in distributed video coding
US9014278B2 (en) * 2007-12-03 2015-04-21 Canon Kabushiki Kaisha For error correction in distributed video coding
US20100309988A1 (en) * 2007-12-12 2010-12-09 Canon Kabushiki Kaisha Error correction in distributed video coding
CN104025602A (en) * 2012-01-05 2014-09-03 高通股份有限公司 Signaling View Synthesis Prediction Support In 3D Video Coding
US20130230100A1 (en) * 2012-03-02 2013-09-05 Oki Electric Industry Co., Ltd. Video encoding device and program, video decoding device and program, and video distribution system
US10171805B2 (en) * 2012-03-02 2019-01-01 Oki Electric Industry Co., Ltd. Video encoding device and program, video decoding device and program, and video distribution system
US10085017B2 (en) 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
WO2014085415A3 (en) * 2012-11-29 2014-09-12 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US10659796B2 (en) 2012-11-29 2020-05-19 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US11095910B2 (en) 2012-11-29 2021-08-17 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding
US11863769B2 (en) 2012-11-29 2024-01-02 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding
US20190124333A1 (en) * 2017-10-19 2019-04-25 Samsung Electronics Co., Ltd. Multi-codec encoder and multi-codec encoding system including the same
US10931952B2 (en) * 2017-10-19 2021-02-23 Samsung Electronics Co., Ltd. Multi-codec encoder and multi-codec encoding system including the same
TWI785073B (en) * 2017-10-19 2022-12-01 南韓商三星電子股份有限公司 Multi-codec encoder and multi-codec encoding system
CN112584134A (en) * 2020-12-07 2021-03-30 深圳市捷视飞通科技股份有限公司 Method and device for testing video conference code stream, computer equipment and storage medium

Also Published As

Publication number Publication date
JP5071413B2 (en) 2012-11-14
US9667961B2 (en) 2017-05-30
US20140037010A1 (en) 2014-02-06
JP2010206395A (en) 2010-09-16

Similar Documents

Publication Publication Date Title
US9667961B2 (en) Video encoding and decoding apparatus, method, and system
US8374255B2 (en) Moving picture encoder, decoder, and coding system
EP1958448B1 (en) Multi-dimensional neighboring block prediction for video encoding
JP4755095B2 (en) Bidirectional prediction method used for encoding / decoding side of video encoding
US6462791B1 (en) Constrained motion estimation and compensation for packet loss resiliency in standard based codec
US8363733B2 (en) Video encoder and decoder apparatus deciding error in transform coefficients between an original image and a predictive image
US20020118742A1 (en) Prediction structures for enhancement layer in fine granular scalability video coding
US8111755B2 (en) Method and system for low-complexity Slepian-Wolf rate estimation in Wyner-Ziv video encoding
KR100694137B1 (en) Apparatus for encoding or decoding motion image, method therefor, and recording medium storing a program to implement thereof
US8781004B1 (en) System and method for encoding video using variable loop filter
US20120008686A1 (en) Motion compensation using vector quantized interpolation filters
US8731055B2 (en) Method and apparatus for encoding and decoding an image based on plurality of reference pictures
US8442114B2 (en) Moving picture encoding apparatus and distribution system
US20130128973A1 (en) Method and apparatus for encoding and decoding an image using a reference picture
US20120008687A1 (en) Video coding using vector quantized deblocking filters
JP2004215275A (en) Motion compensation based improved noise prediction method and apparatus, and moving image encoding method and apparatus using the same
JP2001231045A (en) Moving picture coding and decoding device
Wei et al. Improved side-information in distributed video coding
JP2006517369A (en) Apparatus for encoding a video data stream
KR20100082700A (en) Wyner-ziv coding and decoding system and method
Kim et al. An efficient side information generation using seed blocks for distributed video coding
Slowack et al. Bitplane intra coding with decoder-side mode decision in distributed video coding
Maugey et al. Analysis of error propagation due to frame losses in a distributed video coding system
Haqqani et al. Encoder rate control for transform domain Wyner-Ziv Video Coding
KR0178202B1 (en) Method for establishing the window in motion estimation

Legal Events

Date Code Title Description
AS Assignment

Owner name: OKI ELECTRIC INDUSTRY CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAMASAKI, TAKAHIRO;REEL/FRAME:023727/0368

Effective date: 20091205

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION