WO2011084037A2 - Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus - Google Patents

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

Info

Publication number
WO2011084037A2
WO2011084037A2 PCT/KR2011/000194 KR2011000194W WO2011084037A2 WO 2011084037 A2 WO2011084037 A2 WO 2011084037A2 KR 2011000194 W KR2011000194 W KR 2011000194W WO 2011084037 A2 WO2011084037 A2 WO 2011084037A2
Authority
WO
WIPO (PCT)
Prior art keywords
distributed video
frame
auxiliary information
motion
channel
Prior art date
Application number
PCT/KR2011/000194
Other languages
French (fr)
Korean (ko)
Other versions
WO2011084037A3 (en
Inventor
전병우
김도형
서덕영
김철근
심동규
민경연
박시내
Original Assignee
성균관대학교산학협력단
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
Priority claimed from KR1020100002080A external-priority patent/KR101074919B1/en
Priority claimed from KR1020100012743A external-priority patent/KR101059318B1/en
Priority claimed from KR1020100026598A external-priority patent/KR101103974B1/en
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to US13/521,552 priority Critical patent/US9210436B2/en
Publication of WO2011084037A2 publication Critical patent/WO2011084037A2/en
Publication of WO2011084037A3 publication Critical patent/WO2011084037A3/en

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Definitions

  • the present invention relates to image encoding and decoding, and more particularly, to a distributed video encoding / decoding method, a distributed video encoding / decoding apparatus, and a transform encoding apparatus that can be applied to a distributed video coding technique.
  • MPEG, H.26x, and other compression standards are widely used as efficient compression technologies for video players, customized video information services (VOD), video telephony, digital multimedia broadcasting (DMB), and video transmission in wireless mobile environments.
  • the compression standards have a large gain in coding efficiency by eliminating temporal redundancy.
  • As a representative method for reducing the temporal redundancy there are motion prediction and compensation techniques.
  • the motion prediction and compensation technique requires a relatively large amount of computation in the video encoder, power consumption increases. Therefore, in a limited resource environment such as a sensor network, in order to reduce the power of the encoder, reducing the complexity of the encoder has emerged as an important technical problem.
  • DVC Distributed video coding
  • the Slepian-Wolf theory mathematically proves that even if the correlated sources are encoded independently, the decoding gains can be equally obtained by performing the prediction encoding on each source together.
  • the Wyner-Ziv theory extends the Slepian-Wolf theory, which is a lossless compression, to lossy compression.
  • Wyner-Ziv coding technology is a representative method of distributed video coding technology, and generates side information of a current frame by using similarity between neighboring frames reconstructed by a decoding apparatus, and a difference between the generated auxiliary information and the current frame.
  • the distributed video encoding technique reduces the complexity of the encoder by allowing the decoder to perform motion prediction, which takes up the largest amount of computation in the encoder.
  • the encoder encodes video frames independently of each other, Since the video frames are not scanned to detect similarity, the amount of computation of the encoder can be reduced.
  • one of the most important parts in terms of coding efficiency is the prediction accuracy of the auxiliary information corresponding to the WZ frame in the decoder and the error probability of channel estimation in parity channel decoding. to be.
  • the information used to generate parity bits through channel encoding in the distributed video encoder is an original WZ frame
  • the information used when performing channel decoding using parity bits transmitted from the distributed video decoder is predicted WZ. Since the information is auxiliary information corresponding to the frame, the higher the similarity between the original WZ frame and the auxiliary information, the more the amount of parity bits used for channel decoding can be reduced, thereby reducing the amount of computation required.
  • FIG. 1 is a diagram illustrating a configuration of an encoder 110 and a decoder 130 corresponding to the conventional Wyner-Ziv coding technique.
  • the encoder 110 classifies pictures of source video content into two types. One is a frame to be encoded by using a distributed video coding method (hereinafter referred to as a 'WZ frame'), and the other is a picture to be encoded by a conventional coding method (hereinafter referred to as a 'key frame') rather than a distributed video coding method. )to be.
  • a 'WZ frame' a distributed video coding method
  • a 'key frame' a conventional coding method
  • the keyframes are encoded by the intraframe encoding method of, for example, H.264 / AVC in the keyframe encoder 114 and transmitted to the decoder 130.
  • the keyframe decoder 133 of the decoder 130 corresponding to the encoder 110 according to the conventional Wyner-Ziv coding technique reconstructs the transmitted keyframes.
  • the auxiliary information generating unit 134 generates side information corresponding to the WZ frame by using the key frame restored by the key frame decoding unit 133 and converts the auxiliary information to the channel code decoding unit 131.
  • the auxiliary information generator 134 assumes linear motion between key frames located before and after the current WZ frame, and generates side information corresponding to the WZ frame to be restored using interpolation.
  • the interpolation method may be used instead of the interpolation method, but since the noise in the auxiliary information generated by the interpolation method is smaller than the noise in the auxiliary information generated by the interpolation method, the interpolation method is used in most cases.
  • the quantization unit 112 of the encoder 110 performs quantization on the WZ frame and outputs the quantization value of the WZ frame to the block unitization unit 112.
  • the block unit unit 111 classifies the quantized value of the input WZ frame into predetermined coding units.
  • the channel code encoder 113 generates a parity bit for each coding unit by using the channel code.
  • the generated parity bits are temporarily stored in a parity buffer (not shown), and are sequentially transmitted when the decoder 130 requests parity through a feedback channel.
  • the channel code decoder 131 of FIG. 1 receives the parity transmitted from the encoder 110 and estimates the quantized value.
  • the image restorer 132 of FIG. 1 receives the quantized value estimated by the channel code decoder 131 and inversely quantizes the quantized value to restore the WZ frame.
  • the decoder 131 requests the encoder 110 to transmit more parity bits through a feedback channel. This process is repeated until decryption succeeds.
  • the distributed video encoding method using the feedback channel has the advantage of accurately performing channel modeling due to the above-described structure, but has a disadvantage in that the quality of service decreases due to a large transmission delay according to the feedback. .
  • a distributed video coding method that does not use a feedback channel (eg, PRISM: Power-efficient, Robust high-compression, Syndrome-based Multimedia Coding) performs channel modeling through a classifier of an encoding device and thereby uses a bit rate. Control is performed and success of decryption is checked through a cyclic redundancy check (CRC).
  • PRISM Power-efficient, Robust high-compression, Syndrome-based Multimedia Coding
  • the accuracy of the channel modeling is improved, but the complexity of the coding apparatus increases, thereby reducing the advantages of the distributed video coding method. If the motion compensation is not performed, the accuracy of channel modeling decreases, thereby reducing the compression efficiency.
  • the channel encoding method is a method of additionally transmitting a Forward Error Correction (FEC) packet when a channel loss occurs
  • the retransmission method is a method of retransmitting a packet having a loss.
  • FEC Forward Error Correction
  • both the method using channel coding and the method using retransmission have to transmit a larger amount of data than the original data to be transmitted, which leads to an increase in the use of network resources, thereby limiting its use when network resources are limited.
  • the distributed video encoding method based on the Wyner-Ziv theory is a technique of reconstructing a current WZ frame by correcting noise added to auxiliary information generated by a decoder using parity. Therefore, the less noise added to the generated auxiliary information, the smaller the amount of parity required. Therefore, it is important to generate auxiliary information well without noise in order to have good performance in terms of rate distortion.
  • the conventional auxiliary information generating method estimates a motion vector using a fixed size block (eg, 8x8) existing in the reconstructed key picture and reconstructs the motion vector of the auxiliary information to be restored in consideration of the distance between frames. Obtained from motion vectors between keyframes.
  • the decoding unit in the key frame indicated by the motion vector of the auxiliary information thus obtained is generated as auxiliary information.
  • FIG. 2 illustrates a conventional generation of auxiliary information using an interpolation method.
  • FIG. 3 illustrates a conventional generation of auxiliary information using extrapolation.
  • the motion vector of the auxiliary information to be generated is obtained from the motion vector using a fixed size block existing in the reconstructed keyframe, the motion is complicated between frames or the motion does not linearly change or an object And when the background suddenly disappears or appears, incorrect auxiliary information can be generated.
  • the size of the fixed block used for motion prediction between key frames increases, the accuracy of the obtained motion vector is similar to the motion of an actual image in a simple region such as a background, but not in a part where a complex object exists.
  • 8x8 is generally used for the block size used for motion prediction for generating auxiliary information.
  • a first object of the present invention is to provide a distributed video decoding apparatus using variable block motion prediction.
  • a second object of the present invention is to provide a distributed video decoding method using variable block motion prediction.
  • a fifth object of the present invention is to provide a transform encoder that encodes an image encoded by the distributed video encoding method so that it can be decoded by a general decoder.
  • a sixth object of the present invention is to provide a distributed video encoding / decoding method capable of improving loss robustness and quality of service.
  • a seventh object of the present invention is to provide a distributed video encoding / decoding apparatus capable of improving loss robustness and quality of service.
  • An eighth object of the present invention is to provide an image encoding method using a plurality of image photographing apparatuses.
  • a ninth object of the present invention is to provide an image encoding method using a plurality of image photographing apparatuses.
  • a distributed video decoding apparatus using variable block motion prediction for achieving the first object of the present invention includes a keyframe decoder for reconstructing a keyframe transmitted from a keyframe encoding apparatus, and the reconstructed key.
  • a motion vector generator for generating a motion vector by determining a size of a block for performing a motion prediction using a frame and outputting the generated motion vector, and supplementary information using the reconstructed key frame and the generated motion vector.
  • An auxiliary information generator to generate, a channel code decoder to estimate a quantized value using the parity bits transmitted from the distributed video encoding apparatus and the auxiliary information, and the quantized value and the auxiliary information estimated by the channel decoder Copy the current frame to be distributed video decoding based on Image restoration may include a to.
  • the motion vector generator determines a plurality of blocks having different block sizes for motion prediction of the auxiliary information, obtains motion vectors between the reconstructed key frames based on the determined blocks, and obtains the motion vectors based on a predetermined criterion.
  • a motion vector may be selected among the motion vectors.
  • the motion vector generator is a block size determiner that determines a plurality of block sizes for motion prediction using the reconstructed key frame, and finds an area that matches a first block of one key frame among the reconstructed key frames. The region of one of the reconstructed key frames is searched to find a second block that most closely matches the first block, and the motion vector is a difference value between the first block and the second block.
  • a motion prediction execution unit for generating a plurality of block sizes, a motion vector storage unit for storing the motion vectors generated by the motion prediction execution unit, and a first block of the one key picture among the motion vectors; The similarity between the second blocks of the other key picture is measured to obtain a motion vector of a block size corresponding to the highest similarity.
  • the motion vector selector includes a sum of absolute difference (SAD) between the first block and the second block, a mean absolute difference (MAD), and an average sum of SSDs.
  • the degree of similarity may be measured using any one of (of: Square Difference).
  • the block size for performing the motion prediction may be at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes.
  • the size of the block for performing the motion prediction may be determined by determining a change in motion between the reconstructed key frames.
  • the block size determiner may determine a block size for performing the motion prediction to at least one of the block sizes of 16x16, 16x8, and 8x16 when the change in motion between the reconstructed key frames is small.
  • the block size determiner may determine a block size for performing the motion prediction with at least one of block sizes of 8x8, 8x4, 4x8, and 4x4 when the motion change between the reconstructed key frames is large.
  • Generating a motion vector by determining a block size for performing motion prediction using the reconstructed key frame may include determining a plurality of blocks having different sizes for motion prediction of the auxiliary information, and determining the plurality of determined blocks.
  • the method may include obtaining motion vectors between the reconstructed keyframes and selecting a motion vector among the obtained motion vectors based on a predetermined criterion.
  • Obtaining motion vectors between the reconstructed keyframes based on the determined plurality of blocks comprises: selecting among the reconstructed keyframes to find a region that matches a first block of one of the reconstructed keyframes.
  • Selecting a motion vector among the obtained motion vectors according to the predetermined criterion may include a first block of one key frame of the reconstructed key frames and a second key of the other one of the reconstructed key frames. Measuring a similarity between blocks for each motion vector and selecting a motion vector between the first block and the second block having the highest similarity among the similarities of the first block and the second block measured for each motion vector; It may include the step.
  • the degree of similarity may include the sum of absolute difference (SAD) between the first block and the second block, the mean absolute difference (MAD), and the sum of square difference (SSD). The sum of squares of the differences of each block).
  • the block size for performing the motion prediction may be at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes.
  • the size of the block for performing the motion prediction may be determined by determining a change in motion between the reconstructed key frames.
  • the block size determiner may determine a size of a block for performing the motion prediction with at least one of block sizes of 16x16, 16x8, and 8x16 when the change in motion between the reconstructed key frames is small.
  • the block size determiner may determine a size of a block for performing the motion prediction with at least one of block sizes of 8x8, 8x4, 4x8, and 4x4 when a change in motion between the reconstructed key frames is large.
  • a distributed video encoding method for encoding an image divided into a first frame and a second frame according to an aspect of the present invention for achieving the third object of the present invention includes encoding and encoding the first frame. Transmitting one frame, receiving a motion vector from a distributed video decoding apparatus, generating auxiliary information corresponding to the second frame based on the provided motion vector, the generated auxiliary information and the second frame Obtaining a prediction error of the auxiliary information based on the quantization of the second frame based on the obtained prediction error.
  • the distributed video encoding method may include transforming the input second frame, generating the auxiliary information, transforming the generated auxiliary information, and after the second frame is quantized, The method may further include generating parity bits by performing channel encoding on the second frame. Obtaining the prediction error of the auxiliary information based on the generated auxiliary information and the second frame may obtain the prediction error based on the converted auxiliary information and the converted second frame. Obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame may be performed by comparing the converted auxiliary information and the converted second frame to determine a location of a block in which an error has occurred.
  • the method may include determining an amount of an error in the transformed auxiliary information, and obtaining a crossover probability based on the determined amount of the error and a length of an encoding code.
  • Quantizing the second frame based on the obtained prediction error includes determining a number of quantization bits based on the obtained prediction error and configuring each second frame based on the obtained prediction error. And determining whether to execute quantization of the block. Determining whether to execute quantization of each block constituting the second frame based on the obtained prediction error does not occur for each block constituting the second frame, and the cross probability is determined in advance. Blocks smaller than the set threshold may omit quantization, and blocks having an error or having a cross probability greater than or equal to the threshold may perform quantization.
  • a distributed video encoding apparatus configured to encode an input image divided into a first frame and a second frame, the encoder configured to encode the first frame;
  • a motion compensator for generating auxiliary information corresponding to the second frame based on the motion vector provided from the decoding apparatus and the encoded first frame, and the auxiliary information based on the generated auxiliary information and the input second frame.
  • the apparatus may include a quantization control unit that obtains a prediction error, quantizes the second frame based on the obtained prediction error, and a channel encoder that generates parity bits by channel coding the quantized second frame.
  • the distributed video encoding apparatus may further include a first transformer configured to transform the generated auxiliary information and a second transformer configured to transform the input second frame.
  • the quantization controller may obtain the prediction error based on the transformed auxiliary information and the transformed second frame.
  • the quantization control unit compares the transformed auxiliary information with the transformed second frame to determine a location of a block in which an error occurs, determines an amount of an error in the converted auxiliary information, and determines the amount of the error. And by obtaining a crossover probability based on a length of an encoding code, the prediction error may be obtained.
  • the quantization controller may determine the number of quantization bits based on the obtained prediction error and determine whether to perform quantization of each block constituting the second frame.
  • the quantization control unit does not generate an error for each block constituting the second frame and omits quantization for a block whose cross probability is less than a preset threshold, and an error occurs or the cross probability is greater than or equal to the threshold.
  • the block may perform quantization.
  • a distributed video decoding apparatus including: a decoder configured to decode an encoded first frame and a motion vector based on at least one decoded first frame.
  • An auxiliary information generator for providing the generated motion vector to an encoding apparatus and generating auxiliary information corresponding to a second frame using the motion vector, a transformer for converting the generated auxiliary information, and converted auxiliary information
  • a channel decoder to correct the auxiliary information based on the parity bits provided from the encoding apparatus, and an inverse quantizer to dequantize the corrected auxiliary information to restore the second frame.
  • a transform encoding apparatus including: a decoder configured to decode an encoded first frame and a motion vector based on the decoded at least one first frame.
  • An auxiliary information generator for providing the generated motion vector to an encoding apparatus and generating auxiliary information corresponding to a second frame using the motion vector, a transformer for converting the generated auxiliary information, converted auxiliary information, and A channel decoder to correct the auxiliary information based on the parity bits provided from the encoding apparatus, an inverse quantizer to dequantize the corrected auxiliary information to restore the second frame, and an encoder to encode the restored second frame can do.
  • the encoder may encode the reconstructed second frame and the first frame decoded by the decoder.
  • the encoder may include a first encoder that encodes the reconstructed second frame and a second encoder that encodes the first frame decoded by the decoder.
  • the encoding method of the distributed video encoding apparatus comprises the steps of: identifying a channel condition, and determining a channel encoding rate and a size of video data to be transmitted based on the identified channel condition. Determining, based on the determined size of the video data to be transmitted, determining the number of motion prediction steps, encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps, and determining And channel encoding the encoded video data according to a channel coding rate.
  • the checking of the channel condition may obtain an available bit rate and a packet loss rate (PLR).
  • the determining of the channel coding rate and the size of the video data to be transmitted based on the identified channel situation may include determining the size of the video data to be transmitted and the size of the channel encoding data based on the available bit rate, the packet loss rate, and the channel coding rate. Can be.
  • the determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted may determine the number of motion prediction performing steps among the total steps of TSS (Three Step Search) based on the determined size of the video data to be transmitted.
  • Encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps further includes providing the distributed video decoding apparatus with motion vector and motion prediction performance step information used for motion prediction. It may include.
  • the method may include: checking a channel condition, determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition, Determining at least one method of adjusting the number of steps and adjusting the quantization interval based on the size of the video data as a method for adjusting the video data size, and encoding the video data to be transmitted according to the determined video data size adjusting method. And performing channel encoding on the encoded video data according to the determined channel coding rate.
  • Determining at least one method of adjusting the number of motion prediction steps and adjusting the quantization interval based on the determined size of the video data to be transmitted is a method for adjusting the size of video data.
  • At least one of the motion prediction performance step adjustment and the quantization interval adjustment may be determined as a method for adjusting video data size based on at least one prioritized priority among performances.
  • the method includes reconstructing channel loss by channel decoding the provided encoded second data, and reconstructing the first frame by decoding the provided encoded first data. Generating auxiliary information by performing motion prediction on the reconstructed first frame based on the provided motion vector and information on the number of steps of performing motion prediction; correcting the auxiliary information generated using parity bits; And inversely quantizing the supplementary information to restore the second frame.
  • the distributed video encoding apparatus for achieving the seventh object of the present invention includes obtaining a first frame encoder that encodes an input first frame, a packet loss rate (PLR), and a channel coding rate based on the obtained packet loss rate.
  • a channel monitor unit for determining a number of motion prediction steps based on the provided packet loss rate, and performing motion prediction according to the determined number of motion prediction steps and generating auxiliary information;
  • a second frame encoder configured to generate parity bits by encoding information and perform channel encoding according to the determined channel coding rate.
  • the channel monitor may determine twice the packet loss rate as a forward error correction (FEC) rate.
  • FEC forward error correction
  • the second frame encoder is a transform and quantizer for transforming and quantizing the generated auxiliary information, a first channel encoder for generating parity bits by channel coding the transformed and quantized data, and a first channel according to the channel coding rate.
  • a second channel encoder may perform channel encoding on the data provided from the encoder to compensate for channel loss.
  • the motion prediction unit may provide the distributed video decoding apparatus with the motion vector and the motion prediction performance step information used for the motion prediction.
  • the distributed video encoding apparatus for achieving the seventh object of the present invention described above determines a channel encoding rate and a size of video data to be transmitted based on a first frame encoder encoding a first frame, a packet loss rate, and an available bit rate.
  • a control unit for providing a control signal for adjusting video data size based on the determined size of the video data to be transmitted, a motion predictor for generating auxiliary information by performing motion prediction when a control signal is provided from the control unit;
  • the second frame encoder may generate a parity bit by encoding the auxiliary information and perform channel encoding according to the determined channel coding rate.
  • the controller determines at least one of the number of motion prediction steps and the quantization interval adjustment based on the determined size of video data to be transmitted as a method for adjusting video data size, and corresponds to a method for adjusting the determined video data size.
  • a control signal can be provided.
  • the motion prediction unit may perform motion prediction according to the number of motion prediction execution steps, which are control signals provided from the controller, and provide the distributed video decoding apparatus with motion vector and motion prediction execution step information used for the motion prediction.
  • the second frame encoder is provided from a first channel encoder and a first channel encoder according to the first channel encoder according to the transform and quantization unit, the first channel encoder to generate a parity bit by channel encoding the transformed and quantized data And a second channel encoder configured to perform channel encoding on the data to compensate for channel loss.
  • the transform and quantization unit may perform quantization according to the provided quantization interval information when quantization interval information is provided from the controller.
  • a method of encoding a plurality of distributed video encoding apparatuses including: performing distributed video encoding on a photographed image using the plurality of distributed video encoding apparatuses; And transmitting the image data on which the distributed video encoding has been performed to a distributed video decoding unit through a predetermined communication channel, wherein distributed video encoding performed on at least one of the plurality of distributed video encoding apparatuses comprises: a first frame and A distributed video encoding method for encoding an input image divided into a second frame, the method comprising: encoding the first frame and transmitting an encoded first frame; receiving a motion vector from a distributed video decoding apparatus; Corresponding to the second frame based on a vector Generating pair information, obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame, and quantizing the second frame based on the obtained prediction error.
  • the distributed video encoding method may include transforming the input second frame, generating the auxiliary information, transforming the generated auxiliary information, and after the second frame is quantized, The method may further include generating parity bits by performing channel encoding on the second frame. Obtaining the prediction error of the auxiliary information based on the generated auxiliary information and the second frame may obtain the prediction error based on the converted auxiliary information and the converted second frame.
  • at least one of the plurality of distributed video encoding apparatuses may be used as a depth image photographing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image photographing apparatus may include the subject.
  • the 3D may be photographed at a plurality of viewpoints, and a 3D image of the subject may be obtained based on the depth information provided from the depth image photographing apparatus and image information associated with the subject photographed at the plurality of viewpoints.
  • the plurality of distributed video encoding apparatuses may include a predetermined sensor for detecting whether a fire occurs in at least one of the plurality of distributed video encoding apparatuses, and the image data photographed by the plurality of distributed video encoding apparatuses and whether or not the fire is provided by the sensor.
  • the determination data can be transmitted using a wireless network.
  • the plurality of distributed video encoding apparatuses photograph individual images according to a plurality of photographing viewpoints, and the photographed individual images are decoded by a distributed video decoding method and provided as a multiview screen having a plurality of screens, or by a specific control signal. Only some of the captured images may be provided.
  • a distributed video decoding method when a monitored person appears in a surveillance region, motion is detected by motion sensors mounted in the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatuses start to operate.
  • the compressed data can be transmitted in the wireless sensor network network, and the compressed data is transmitted and received to the router through the wireless sensor network network by the wireless communication module included in the plurality of distributed video encoding apparatuses.
  • the image data transmitted from the router to the gateway and transmitted to the gateway may be transmitted to the server through an Ethernet network.
  • the plurality of distributed video encoding apparatuses may acquire an infrared image of a predetermined subject by using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and may include an image captured by at least one of the plurality of distributed video encoding apparatuses. The image quality of the infrared image may be compared to detect whether the subject is forged.
  • an image encoding method using a plurality of image capturing apparatuses is distributed with respect to an image photographed using a distributed video encoder included in the plurality of image capturing apparatuses. Performing video encoding and transmitting the video data subjected to distributed video encoding to a distributed video decoding unit through a predetermined communication channel, wherein the distributed video encoding apparatus is performed in at least one of the plurality of distributed video encoding apparatuses.
  • the video encoding may include determining a channel condition, determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition, adjusting the number of motion prediction steps based on the determined size of the video data to be transmitted, and quantization interval Adjust at least one method of video data
  • the method may include determining a method for controlling the data, performing encoding of video data to be transmitted according to the determined video data size adjusting method, and performing channel encoding on the encoded video data according to the determined channel coding rate. have.
  • the checking of the channel condition may obtain an available bit rate and a packet loss rate (PLR).
  • the determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted may determine the number of motion prediction performing steps among the total steps of TSS (Three Step Search) based on the determined size of the video data to be transmitted.
  • Encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps further includes providing the distributed video decoding apparatus with motion vector and motion prediction performance step information used for motion prediction. It may include.
  • the plurality of distributed video encoding apparatuses may include at least one of the plurality of distributed video encoding apparatuses as a depth image capturing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image capturing apparatus may detect the subject.
  • a 3D image of the subject may be obtained by photographing from a plurality of viewpoints, based on the depth information provided from the depth image capturing apparatus and image information related to the subject photographed from the plurality of viewpoints.
  • the plurality of distributed video encoding apparatuses may include a predetermined sensor for detecting whether a fire occurs in at least one of the plurality of distributed video encoding apparatuses, and the image data photographed by the plurality of distributed video encoding apparatuses and whether or not the fire is provided by the sensor.
  • the determination data can be transmitted using a wireless network.
  • the plurality of distributed video encoding apparatuses photograph individual images according to a plurality of photographing viewpoints, and the photographed individual images are decoded by a distributed video decoding method and provided as a multiview screen having a plurality of screens, or by a specific control signal. Only some of the captured images may be provided.
  • a distributed video decoding method when a monitored person appears in a surveillance region, motion is detected by motion sensors mounted in the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatuses start to operate.
  • the compressed data can be transmitted in the wireless sensor network network, and the compressed data is transmitted and received to the router through the wireless sensor network network by the wireless communication module included in the plurality of distributed video encoding apparatuses.
  • the image data transmitted from the router to the gateway and transmitted to the gateway may be transmitted to the server through an Ethernet network.
  • the plurality of distributed video encoding apparatuses may acquire an infrared image of a predetermined subject by using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and may include an image captured by at least one of the plurality of distributed video encoding apparatuses. The image quality of the infrared image may be compared to detect whether the subject is forged.
  • the distributed video encoding / decoding apparatus As described above, according to the distributed video encoding / decoding method, the distributed video encoding / decoding apparatus, and the transform encoding apparatus according to the embodiment of the present invention, motion prediction between key pictures when generating auxiliary information used in the decoding process of distributed video encoding is performed.
  • the size of the block for variably is applied based on a predetermined criterion.
  • a motion vector generated by a distributed video decoding apparatus is provided to a distributed video encoding apparatus, and the distributed video encoding apparatus generates auxiliary information using the motion vector, and then determines a prediction error of the generated auxiliary information. To control quantization.
  • the size of video data to be encoded is reduced by adjusting the complexity and / or quantization interval of the encoding apparatus according to channel conditions, and data is added and transmitted to compensate for channel loss by the reduced data amount.
  • the performance of the reconstructed picture can be significantly improved.
  • the motion vector of the auxiliary information to be generated can obtain a more sophisticated motion vector than the motion vector estimated using the conventional fixed size.
  • the image quality of the reconstructed image can be improved by reducing the noise of the generated auxiliary information.
  • a conventional encoding apparatus may decode an image encoded by the distributed video encoding method through the transform encoding apparatus to which the above-described distributed video encoding and distributed video decoding methods are applied.
  • the loss robustness can be improved without occupying additional network resources, thereby reducing the probability of decryption failure.
  • quality of service (QoS) of delay-sensitive services can be guaranteed.
  • FIG. 1 is a block diagram illustrating a configuration of an encoder and a decoder corresponding thereto according to a conventional Weiner jib coding technique.
  • FIG. 2 is a conceptual diagram illustrating a conventional generation of auxiliary information using an interpolation method.
  • FIG. 3 is a conceptual diagram illustrating a conventional generation of auxiliary information using extrapolation.
  • FIG. 4 is a block diagram illustrating a configuration of an apparatus for decoding a distributed video encoded image according to an embodiment of the present invention.
  • FIG. 5 is a conceptual diagram illustrating a process of generating a motion vector according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating a configuration of a motion vector generator according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a motion vector generation process according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a prediction error determination step and a quantization step in more detail according to another embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a distributed video decoding method according to another embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a configuration of a distributed video encoding apparatus and a distributed video decoding apparatus according to another embodiment of the present invention.
  • FIG. 12 is a block diagram showing a structure of a transform encoding apparatus according to another embodiment of the present invention.
  • FIG. 13 is a block diagram showing the structure of a transform encoding apparatus according to another embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a configuration of a transform encoder according to another embodiment of the present invention.
  • FIG. 15 is a block diagram showing a configuration of a transform encoding apparatus according to another embodiment of the present invention.
  • FIG. 16 is a block diagram illustrating a configuration in the case where the transform encoding apparatus illustrated in FIG. 15 has scalability on the time axis.
  • 17 is a graph illustrating a relationship between complexity and auxiliary information of an encoding apparatus.
  • FIG. 18 is a graph illustrating a change in performance according to a motion prediction ratio of an encoding apparatus.
  • 19 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • 20 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • 21 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • FIG. 22 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
  • FIG. 23 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
  • 24 is a conceptual diagram of a broadcast system using a plurality of video photographing apparatuses using distributed video coding according to an embodiment of the present invention.
  • 25 is a conceptual diagram illustrating a media sharing system using a plurality of video photographing apparatuses using a distributed video encoding method according to an embodiment of the present invention.
  • FIG. 26 is a conceptual diagram of a 3D object tracking apparatus using a distributed video encoding method, according to an embodiment of the present invention.
  • FIG. 27 is a block diagram illustrating a configuration of a multiview image processing apparatus according to an embodiment of the present invention.
  • FIG. 28 is a conceptual diagram illustrating a surveillance camera system using distributed video encoding according to an embodiment of the present invention.
  • 29 is a conceptual diagram of a monitoring system using a plurality of cameras according to an embodiment of the present invention.
  • FIG. 30 illustrates a forest fire detection and ignition tracking system employing a wireless imaging device according to an embodiment of the present invention.
  • FIG. 31 is a conceptual diagram illustrating a face detection system using a plurality of cameras according to an embodiment of the present invention.
  • 32 is a conceptual diagram illustrating a distributed video encoding apparatus including a plurality of distributed video encoders according to an embodiment of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG. 4 is a block diagram illustrating a configuration of an apparatus for decoding a distributed video encoded image according to an embodiment of the present invention.
  • the distributed video encoding and decoding apparatus includes a distributed video encoding apparatus 400 for encoding a wine-jib frame and a distributed video decoding apparatus including a function of generating auxiliary information through motion prediction using a variable block. Contains 430
  • the distributed video encoding apparatus 400 includes a WZ frame encoder 410 and a keyframe encoder 420.
  • the WZ frame encoder 410 divides the frames of the source video content into wine-jib frames and key frames according to the wine-jib coding scheme. For example, even-numbered frames of source video content may be selected as key frames, or odd-numbered frames may be selected as wine-jib frames.
  • the WZ frame encoder 410 encodes the Weiner jib frames and the key frames and provides them to the distributed video decoding apparatus 430.
  • the distributed video decoding apparatus 430 includes a key frame decoder 460, a channel decoder 440, an image restorer 450, an auxiliary information generator 490, and a motion vector generator 480. ) And picture buffer 470.
  • the keyframe decoder 460 reconstructs the keyframe using the information received from the keyframe encoder 420.
  • the motion vector generator 480 determines the size of a block to be used for motion prediction using the reconstructed key frame.
  • the auxiliary information generator 490 generates auxiliary information for the current WZ frame to be reproduced by using the reconstructed key frame and the motion vector generated by the motion vector generator 480.
  • the channel decoder 440 estimates the quantized values by using the auxiliary information input from the auxiliary information generator 490 and the parity bits received from the distributed video encoding apparatus 400.
  • the channel decoder 440 determines that a reliable quantized value cannot be estimated when performing channel code decoding, the channel decoder 440 continuously distributes parity bits within a predetermined limit until reliable estimation is possible.
  • 400 may be configured to request and receive.
  • the distributed video encoding apparatus 400 receives only the parity amount necessary for decoding from the distributed video encoding apparatus 400, thereby being efficient in terms of rate-distortion performance. This is possible when there is a reverse channel (ie a feedback channel) requesting parity bits.
  • the channel decoder 440 may be configured to receive a predetermined amount of parity bits at once without a parity request each time, so as not to request parity on the reverse channel while using the same. have.
  • the distributed video decoding apparatus 430 may further configure to request the parity bits to the distributed video encoding apparatus 400. .
  • the distributed video encoding apparatus 400 sends a predetermined amount of parity calculated or set to the distributed video decoding apparatus 430, and the distributed video decoding apparatus 430 does not require parity bits. It may be configured in the form.
  • channel code used in the channel decoder 440 of FIG. 4 may use a turbo code that is found to have reached a Shannon limit or may use an LDPC channel code.
  • other channel codes with good coding efficiency and error correction can be used.
  • the image restorer 450 reconstructs the current WZ frame by using the quantized value and auxiliary information estimated by the channel decoder 440.
  • the auxiliary information is generated by the auxiliary information generator 490.
  • the auxiliary information generator 490 generally uses an interpolation method assuming linear change between frames in generating auxiliary information.
  • the change between video frames is caused by the movement of the object, the movement of the camera, the exposure area and the change of light. Except for changes in exposure area and light, the difference between these frames corresponds to the movement of pixels between frames. If the motion vector of the pixel is known correctly, it is possible to accurately predict the pixel of the frame to be interpolated.
  • the auxiliary information generator 490 generates auxiliary information based on the motion vector provided from the motion vector generator 480.
  • the auxiliary information generator 490 uses side information corresponding to the WZ frame based on the motion vector provided from the motion vector generator 480 using the keyframe reconstructed by the keyframe decoder 460. Generates and outputs auxiliary information to the channel decoder 440. The auxiliary information generator 490 generates linear information corresponding to the WZ frame to be reconstructed using interpolation, assuming linear motion between key frames located before and after the current WZ frame.
  • the motion vector generator 480 generates a motion vector based on the key frames and provides the generated motion vector to the auxiliary information generator 490.
  • the motion vector generator 480 estimates the motion of a rectangular section or block of a frame.
  • FIG. 5 is a conceptual diagram illustrating a process of generating a motion vector according to an embodiment of the present invention.
  • the motion vector generator 480 searches for another key frame 510 to find an MxN sample region 512 that matches the MxN sample block 502 of one key picture 500. Review area 520.
  • the motion vector generator 480 compares all or part of the MxN block 502 of one frame with the possible MxN blocks in the search area (generally, the area based on the position of the current block) 520, and the most of them. Find the matching region 512. Subsequently, the motion vector generator 480 generates a motion vector that is a difference value between the position of the current M ⁇ N block 502 and the position of the candidate region 512.
  • the block size for motion prediction may be one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4.
  • the motion vector generator 480 determines sizes of a plurality of macroblocks for motion prediction, obtains motion vectors using macroblocks having respective sizes, and selects an appropriate motion vector among the motion vectors. do.
  • FIG. 6 is a block diagram illustrating a configuration of a motion vector generator according to an embodiment of the present invention.
  • the moved vector generator 480 includes a block size selector 600, a motion prediction performer 610, a motion vector storage 620, and a motion vector determiner 630. It includes.
  • the block size determiner 600 determines the size of the macroblock for motion prediction based on the key frame.
  • the macroblocks may be square and / or rectangular and / or any shape in accordance with the present invention.
  • the block size determiner 600 determines a plurality of macroblock sizes.
  • the block size determining unit 600 may determine large block sizes for motion prediction when the motion is monotonous and there is no large difference between the key frames. If there is a lot of motion, small block sizes can be determined for motion prediction. Large block sizes include block sizes of 16x16, 16x8 and 8x16, and small block sizes may include 8x8, 8x4, 4x8 and 4x4 block sizes.
  • the block size determiner 600 may determine the sizes of all macroblocks that can be used for motion prediction for motion prediction. When the block size determiner 600 determines the block sizes for motion prediction, the block size determiner 600 provides the determined block sizes to the motion prediction performer 610.
  • the motion prediction performer 610 generates motion vectors by performing motion prediction on each of sizes of blocks used for motion prediction.
  • the motion prediction performing unit 610 searches an area of another key frame to find a sample area that matches the sample block of one key frame, finds the block that most matches the difference, and the difference therebetween. Create a motion vector as a value.
  • the motion prediction performer 610 repeats the process of generating and storing such a motion vector by the number of block sizes.
  • the motion prediction execution unit 610 stores the generated motion vector in the motion vector storage unit 620.
  • the motion vector selector 630 measures similarity between blocks by using motion vectors obtained with different block sizes present in a key frame, and selects a motion vector determined to be the most similar among them. That is, the motion vector selector 630 measures a similarity between the block of the one key frame and the corresponding block of the other key frame among the motion vectors and selects a motion vector having a block size corresponding to the highest similarity. Choose.
  • the similarity between each block present in the key frame is generally the sum of absolute difference (SAD) or mean absolute difference (MAD) of the blocks present in each key frame. It can be calculated using a method such as the average of the absolute sum of) or SSD (Sum of Square Difference, sum of squares of the difference of each block).
  • SAD absolute difference
  • MAD mean absolute difference
  • SSD SSD
  • the motion vector selector 630 provides the selected motion vector to the auxiliary information generator 490.
  • FIG. 7 is a flowchart illustrating a motion vector generation process according to an embodiment of the present invention.
  • the motion vector generator 480 first determines a plurality of macroblock sizes for motion prediction in step S710.
  • macroblock sizes may be determined according to characteristics of an image. For example, if there are fine or complex motions between frames or there is a lot of motion, small block sizes may be determined for motion prediction. Alternatively, when the motion between frames is monotonous and there is no big difference, large block sizes may be determined for motion prediction. Alternatively, the sizes of all macroblocks that can be used for motion prediction may be determined.
  • the motion vector generator 480 generates a motion vector by performing motion prediction according to the size of each macro block in step S720. Specifically, the area 520 of the other key frame 510 is searched to find the MxN sample area 512 that matches the MxN sample block 502 of one frame 500. The motion vector generator 480 compares all or part of the MxN block 502 of one picture with the possible MxN blocks in the search area (generally, the area based on the position of the current block) 520, and the most among them. The matching area, that is, the candidate area 512 is found. Subsequently, the motion vector generator 480 generates a motion vector that is a difference value between the position of the current M ⁇ N block 502 and the position of the candidate region 512.
  • the motion vector generator 480 determines whether a motion vector has been generated for the sizes of all macroblocks determined in operation S730. If a motion vector has been generated for all determined macroblock sizes, the motion vector generator 480 measures similarity between a block of one picture and a block of another frame for each motion vector in step S740.
  • the block may have a square shape.
  • a sum of absolute difference (SAD), a mean absolute difference (MAD), or a sum of square difference (SSD) may be used as a method of measuring similarity between blocks existing in a key frame.
  • SAD sum of absolute difference
  • MAD mean absolute difference
  • SSD sum of square difference
  • the scope of the present invention is not limited thereto, and the block size may be configured in any form other than square, and in the method of measuring similarity between blocks existing in a key frame, another arbitrary method may be selected.
  • the present invention can be applied in any case, such as the case of performing the auxiliary information by the interpolation method, the extrapolation method as shown in FIG.
  • the motion vector generator 480 selects a motion vector corresponding to the highest similarity among the generated motion vectors. That is, a motion vector having the largest similarity between blocks can ensure the best motion compensation.
  • the motion vector generator 480 outputs the motion vector selected in step S760 to the auxiliary information generator 490.
  • FIG. 8 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • the distributed video encoding apparatus first encodes an input key frame and transmits the encoded key frame to the distributed video decoding apparatus (step S810).
  • the distributed video encoding apparatus may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
  • the distributed video encoding apparatus receives a motion vector from the distributed video decoding apparatus (step S820), performs motion compensation on a key frame encoded using the received motion vector, and generates auxiliary information corresponding to the WZ frame. (Step S830). Since the generated auxiliary information is the same as the auxiliary information generated by the distributed video decoding apparatus, the distributed video encoding apparatus may know the auxiliary information generated by the distributed video decoding apparatus.
  • the distributed video encoding apparatus transforms the generated auxiliary information (step S840).
  • the distributed video encoding apparatus converts the input original WZ frame (step S850), and determines a prediction error of the auxiliary information based on the converted original WZ frame and the auxiliary information converted in step S840 (step S860).
  • the conversion time point for the input original WZ frame is not limited to the order shown in FIG. 8, and may be executed corresponding to the time point at which the original WZ frame is input.
  • the distributed video encoding apparatus When the prediction error is determined, the distributed video encoding apparatus performs quantization based on the determined prediction error (step S870), and then performs parity bit generation by performing channel encoding on the quantized data to distribute the generated parity bits.
  • the distributed video encoding apparatus may perform quantization for each coding unit, that is, an image area having a predetermined size that is encoded together at one time, such as a macro block.
  • FIG. 9 is a flowchart illustrating a prediction error determination step and a quantization step in more detail according to another embodiment of the present invention.
  • the distributed video encoding apparatus in order to determine a prediction error of an auxiliary information frame, the amount of error (Count coeff.block ) generated in the auxiliary information frame, the position of the block in which the error occurs (M error ), and the crossing probability (Crossover) is calculated (step S860).
  • the calculated values are used to determine the quantization level of each block and whether to perform quantization.
  • a position M error in which an error occurs in the auxiliary information frame may be calculated using Equation 1 below.
  • Equation 1 ORI means an original WZ frame, and SI means an auxiliary information frame.
  • i is the index of the block and I is the number of blocks in the frame.
  • j is the index of the coefficient in the block, and J is the number of coefficients in the block.
  • k is an index of a bit plane, and when k is 0, it means the most significant bit, and as k increases, it means a lower bit.
  • K means the number of bit planes in the coefficient.
  • the amount of errors in the auxiliary information frame may be calculated using Equation 2 below.
  • encoding is performed by dividing the entire frame without encoding all at once.
  • Crossover probability may be measured using Equation 3 using the amount of error and the LDPCA code length in the range of the original WZ frame that is performed at one time.
  • the distributed video encoding apparatus determines the quantization level of the original WZ frame based on the calculated values (Ste S900). For example, the distributed video encoding apparatus may determine the quantization level by determining the quantization bit based on the calculated values.
  • the distributed video encoding apparatus determines whether an error occurs and an intersection probability is smaller than a preset threshold for each block in the WZ frame (steps S910 and S920), so that an error does not occur and the intersection probability is increased. Quantization is omitted for blocks smaller than the threshold value (step S930), and quantization is performed for blocks in which an error has occurred or crossover probability is greater than or equal to the threshold value (step S940).
  • the distributed video encoding apparatus performs channel encoding when quantization of all blocks in a frame is completed through steps S910 to S940.
  • the distributed video encoding method adaptively performs quantization for a block determined to be an error-free block by using M error indicating an error of a block. That is, if an error is concentrated in a block having an error, quantization is performed to lower the crossing probability, and if only the block having the error is encoded, if the crossing probability is low enough, the block without an error does not perform quantization. This allocates a large number of bits to an error-prone block, and allocates bits according to the crossing probabilities to improve the performance of the LDPCA, thereby enabling efficient use of the bits.
  • the distributed video encoding apparatus knows the channel decoding capability of the distributed video decoding apparatus, it is possible to decode the ratio of bits without errors and bits with errors in the encoding apparatus. Transmit according to the number of crossing probabilities. Therefore, although the amount of bits to be transmitted may increase according to the image, the probability of decoding failure is reduced as much as possible, thereby increasing the safety of the decoder and effectively using the bits.
  • FIG. 10 is a flowchart illustrating a distributed video decoding method according to another embodiment of the present invention.
  • a distributed video decoding apparatus decodes an encoded key frame transmitted from a distributed video encoder (step S1010).
  • the distributed video decoding apparatus may decode a key frame through various known decoding techniques such as H.264 / AVC and MPEGx.
  • the distributed video decoding apparatus generates a motion vector based on the decoded key frame (step S1020), and transmits the generated motion vector to the distributed video encoder (step S1030).
  • the distributed video decoding apparatus generates motion information by performing motion compensation using the generated motion vector (step S1040). For example, the distributed video decoding apparatus estimates a motion vector between reconstructed key frames and then obtains a motion vector of auxiliary information corresponding to a WZ frame to be reconstructed from the motion vectors between the reconstructed key frames in consideration of the distance between the frames. do.
  • the decoding unit in the key frame indicated by the motion vector of the obtained auxiliary information may be generated as auxiliary information.
  • the distributed video decoding apparatus corrects the noise included in the generated auxiliary information by using the parity bits transmitted from the distributed video encoding apparatus (step S1050), and then performs dequantization to perform a WZ frame. To be restored (step S1060).
  • FIG. 11 is a flowchart illustrating a configuration of a distributed video encoding apparatus and a distributed video decoding apparatus according to another embodiment of the present invention.
  • the distributed video encoding apparatus 1100 may include a keyframe encoder 1105, a buffer 1110, a motion compensator 1115, a first transform unit 1120, a second transform unit 1125, It may include a quantization control unit 1130 and a channel encoder 1140.
  • an input image to be encoded is classified into a key frame and a WZ frame so that the key frame is provided to the key frame encoder 1105 and the WZ frame is provided to the second converter 1125.
  • the key frame encoder 1105 After the key frame encoder 1105 encodes the key frame, the key frame encoder 1105 provides the encoded key frame to the motion compensator 1115 and the key frame decoder 1155 of the distributed video decoding apparatus.
  • the key frame encoder 1105 may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
  • the buffer 1110 temporarily stores a motion vector (MV: Motion Vector) provided from the auxiliary information generator 1160 of the distributed video decoding apparatus 1150 and provides the buffer to the motion compensator 1115.
  • MV Motion Vector
  • the motion compensator 1115 reads a motion vector transmitted from the distributed video decoding apparatus 1150 and stored in the buffer 1110, and then performs motion compensation on a key frame encoded by using the read motion vector. After generating the information, the generated auxiliary information is provided to the first converter 1120.
  • the motion compensator 1115 since the motion compensator 1115 performs motion compensation on a key frame using the motion vector provided from the distributed video decoding apparatus 1150, the motion compensator 1115 generates the distributed video encoding apparatus 1100 and the distributed video decoding apparatus 1150.
  • the supplementary information is identical to each other, and thus, the distributed video encoding apparatus 1100 may recognize the supplementary information generated by the distributed video decoding apparatus 1150 and reflect the supplementary information in the encoding.
  • the first transform unit 1120 transforms the auxiliary information provided from the motion compensator 1115 to provide the quantization control unit 1130, and the second transform unit 1125 transforms the input original WZ frame to quantize it.
  • the control unit 1130 is provided.
  • the first and second converters 1120 and 1125 may use the same conversion method.
  • the quantization controller 1130 determines the prediction error of the auxiliary information based on the converted auxiliary information frame provided from the first transform unit 1120 and the original WZ frame provided from the second transform unit 1125, and then based on the determined prediction error.
  • the quantization level and quantization of each block constituting the original WZ frame are determined, and the quantization is performed based on the quantization level and then provided to the channel encoder 1140.
  • the channel encoder 1140 generates a parity bit for the quantized data using the channel code, and then converts the generated parity bit to the channel decoder 1170 of the distributed video decoding apparatus 1150. send.
  • the generated parity bit may be stored in a separate buffer (not shown) and then provided to the distributed video decoding apparatus according to a transmission request of the distributed video decoding apparatus.
  • the distributed video decoding apparatus 1150 may include a keyframe decoder 1155, an auxiliary information generator 1160, a transformer 1165, a channel decoder 1170, and an inverse quantizer 1175.
  • the keyframe decoder 1155 decodes the encoded key frame provided from the keyframe encoder 1105 of the distributed video encoding apparatus 1100 and provides the decoded keyframe to the auxiliary information generator 1160.
  • the key frame decoder 1155 may decode the key frame through various known decoding techniques such as H.264 / AVC and MPEGx.
  • the auxiliary information generator 1160 performs motion prediction using the decoded key frame and then performs motion compensation to generate auxiliary information corresponding to the WZ frame.
  • the auxiliary information generator 1160 provides the motion vector generated in the process of performing the motion prediction to the distributed video encoding apparatus 1100.
  • the auxiliary information generator 1160 estimates a motion vector between the reconstructed key frames, and then calculates a motion vector of the auxiliary information corresponding to the WZ frame to be restored from the motion vectors between the reconstructed key frames in consideration of the distance between the frames.
  • a decoding unit in a key frame indicated by the motion vector of the obtained auxiliary information may be generated as auxiliary information.
  • the converter 1165 converts the auxiliary information provided from the auxiliary information generator 1160 and provides the converted information to the channel decoder 1170, and the channel decoder 1170 is included in the converted data provided from the converter 1165.
  • the quantized data is estimated by correcting the noise by using parity bits transmitted from the distributed video encoding apparatus 1100.
  • the inverse quantizer 1175 receives the estimated quantization data from the channel decoder 1170 and inversely quantizes the WZ frame.
  • the ambiguity generated during inverse quantization is solved by referring to the auxiliary information provided from the auxiliary information generator 1160.
  • the distributed video decoding apparatus 1150 uses the motion vector used to predict auxiliary information corresponding to the WZ frame.
  • the auxiliary information is transmitted to the encoding apparatus 1100 and the distributed video encoding apparatus 1100 generates auxiliary information by performing motion compensation using the received motion vector, thereby providing the same auxiliary information as that generated by the distributed video decoding apparatus 1150.
  • the coding efficiency can be improved by calculating a prediction error between the generated auxiliary information and the original WZ frame and adjusting the quantization level and whether the quantization is based on the prediction error, thereby obtaining an image of excellent quality.
  • FIG. 12 is a block diagram showing a structure of a transform encoding apparatus according to another embodiment of the present invention.
  • FIG. 12 is a block diagram illustrating a structure of a transform encoding apparatus according to an embodiment of the present invention.
  • the distributed video encoding apparatus 1100 and the distributed video decoding apparatus 1150 illustrated in FIG. 11 are applied. Shown.
  • the distributed video decoding apparatus 1200 and the distributed video decoding apparatus 1260 included in the transform encoding apparatus 1250 illustrated in FIG. 12 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
  • the trans-coder may decode an image encoded by the distributed video encoding apparatus 1200 according to an embodiment of the present invention in a decoding apparatus 1295 that does not perform conventional distributed video decoding. Perform the function of converting.
  • the transform encoding apparatus 1250 may include a distributed video decoding apparatus 1260 and an encoder 1290.
  • the distributed video decoding apparatus 1260 decodes an encoded key frame provided from the distributed video encoding apparatus 1200, generates auxiliary information using the decoded key frame, and distributes a motion vector generated in the auxiliary information generation process.
  • the video encoding apparatus 1200 is provided.
  • the distributed video decoding apparatus 1260 corrects auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1200, and then dequantizes and restores the WZ frame.
  • the encoder 1290 encodes the received key frame and the WZ frame and then decodes the decoder ( 1295).
  • the encoder 310 may encode using various known coding techniques such as H.264 / AVC, MPEGx, for example.
  • the same standard technique as the decoding standard technique applied to the decoding apparatus is used. It can be applied to the encoding.
  • FIG. 13 is a block diagram showing the structure of a transform encoding apparatus according to another embodiment of the present invention.
  • the distributed video decoding apparatus 1300 illustrated in FIG. 13 and the distributed video decoding apparatus 1360 included in the transform encoding apparatus 1350 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
  • the transform encoding apparatus 1350 may include a distributed video decoding apparatus 1360, a first encoder 1390, and a second encoder 1393.
  • the distributed video decoding apparatus 1360 decodes an encoded key frame provided from the distributed video encoding apparatus 1300, generates auxiliary information using the decoded key frame, and distributes a motion vector generated in the auxiliary information generation process.
  • the video encoding apparatus 1300 is provided.
  • the distributed video decoding apparatus 1360 corrects auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1300, and then dequantizes and restores the WZ frame.
  • the WZ frame reconstructed by the distributed video decoding apparatus 1360 is provided to the first encoder 1390, and the reconstructed key frame is provided to the second encoder 1393.
  • the first encoder 1390 encodes the reconstructed WZ frame and provides it to the first decoding device 1396
  • the second encoder 1393 encodes the reconstructed key frame and provides the second decoding device 1399. do.
  • the first encoder 1390 and the second encoder 1393 may encode through various well-known encoding techniques such as H.264 / AVC, MPEGx, and not the distributed video encoding method.
  • the same standard technique as that applied to the corresponding decoding apparatus for providing the corrected data may be applied to the encoding.
  • FIG. 14 is a block diagram illustrating a configuration of a transform encoder according to another embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a structure of a transform encoder according to another embodiment of the present invention, in which a transform encoder 1450 to which the distributed video encoding apparatus 1400 and the distributed video decoding apparatus 1460 are applied is scalable in a time axis. For example, the case having scalablity is illustrated.
  • the distributed video decoding apparatus 1400 illustrated in FIG. 14 and the distributed video decoding apparatus 1460 included in the transform encoding apparatus 1450 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
  • the transform encoding apparatus 1450 may largely include a base layer transform encoding unit 1455 and an enhancement layer transform encoding unit 1457.
  • the base layer transform encoder 1455 may include a decoder 1465 and a second encoder 1493
  • the enhancement layer transform encoder 1457 may include an auxiliary information generator 1470 and a converter 1475.
  • a channel decoder 1480, an inverse quantizer 1485, and a first encoder 1490 may be largely include a base layer transform encoding unit 1455 and an enhancement layer transform encoding unit 1457.
  • the base layer transform encoder 1455 may include a decoder 1465 and a second encoder 1493
  • the enhancement layer transform encoder 1457 may include an auxiliary information generator 1470 and a converter 1475.
  • a channel decoder 1480, an inverse quantizer 1485, and a first encoder 1490 may be included in the transform encoding unit 1455 and an enhancement layer transform encoding unit 1457.
  • the base layer transform encoder 1455 decodes an encoded key frame provided from the distributed video encoding apparatus 1400, and then re-codes the encoded key frame through the second encoder 1493 to provide it to the second decoding apparatus 1499. In addition, the base layer transform encoder 1455 provides the decrypted key frame to the enhancement layer transform encoder 1457.
  • the enhancement layer transform encoder 1157 generates auxiliary information based on the key frame provided from the base layer transform encoder 1455, and corrects the generated auxiliary information using the parity bits provided from the distributed video encoding apparatus 1400. After inverse quantization, the signal is encoded by the first encoder and then provided to the first decoder 1496. In this case, the enhancement layer transform encoder 1457 provides the distributed video encoding apparatus 1400 with the motion vector generated during the auxiliary information generation process.
  • the first encoder 1490 and the second encoder 1493 may encode through various known encoding techniques such as H.264 / AVC, MPEGx, and the like, rather than distributed video encoding. The same standard technology as that applied to the corresponding decoding apparatus for providing the same may be applied to the encoding.
  • the transform encoding apparatus encodes a key frame reconstructed by the base layer transform encoder 1455 and reconstructed by the enhancement layer transform encoder 1575.
  • the WZ frame is encoded and then provided to the second decoding unit 1499 and the first decoding unit 1496, respectively, so that the base layer outputs only the result decoded by the second decoding unit 1499, and the enhancement layer.
  • the resultant images decoded by the second decoding unit 1499 and the first decoding unit 1496 may be rearranged and output.
  • FIG. 15 is a block diagram showing a configuration of a transform encoding apparatus according to another embodiment of the present invention.
  • the distributed video encoding apparatus 1500 and the distributed video decoding apparatus 1560 included in the transform encoding apparatus 1550 illustrated in FIG. 15 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
  • a key frame encoded by the distributed video encoding apparatus 1500 is provided to the key frame decoder 1565 of the transform encoding apparatus 1550 and simultaneously provided to the second decoding apparatus 1599. That is, the key frame decoded by the decoding unit 1565 of the transcoding apparatus 1550 is provided only to the auxiliary information generating unit 1570 to be used only for generating auxiliary information, and provides the decoded key frame to an external decoding device. I never do that. Therefore, the image decoded by the second decoding apparatus 1599 is an image encoded by the keyframe encoder 1505 of the distributed video encoding apparatus 1500, and the transform encoding apparatus 1550 decodes the encoded key frame by second decoding. No separate processing to provide to the device 1599 is performed.
  • the transform encoding apparatus 1550 corrects and inverse quantizes auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1500, and then encodes the encoded information through the first encoder 1593 and then encodes the first decoding apparatus. Provided in (1596).
  • FIG. 16 is a block diagram illustrating a configuration in the case where the transform encoding apparatus illustrated in FIG. 15 has scalability on the time axis.
  • the transform encoding apparatus 1650 may largely include a base layer transform encoder 1655 and an enhancement layer transform encoder 1657.
  • the base layer transform encoder 1655 may include a decoder 1665.
  • the enhancement layer transform encoder 1657 may include an auxiliary information generator 1670, a converter 1675, a channel decoder 1680, and the like.
  • the dequantizer 1685 and the first encoder 1690 may be included.
  • the base layer transform encoder 1655 decodes the encoded key frame provided from the distributed video encoding apparatus 1600 and provides the decoded key frame to the auxiliary information generator 1670.
  • the key frame decrypted by the base layer transform encoder 1655 is provided only to the auxiliary information generator 1670 of the enhancement layer transform encoder 1657 and used only to generate the auxiliary information. It is not provided to an external decoding device.
  • the image decoded by the second decoding apparatus 1696 is an image encoded by the encoder 1605 of the distributed video encoding apparatus 1600, and the base layer transform encoder 1655 decodes the encoded key frame by second decoding. There is no separate processing to provide to the device 1696.
  • the enhancement layer transform encoder 1657 generates auxiliary information based on the key frame provided from the base layer transform encoder 1655, and corrects the generated auxiliary information using the parity bits provided from the distributed video encoding apparatus 1600. After inverse quantization, the signal is encoded by the first encoder 1690 and then provided to the first decoder 1693. In this case, the enhancement layer transform encoder 1657 provides the motion vector generated in the auxiliary information generation process to the distributed video encoding apparatus 1600.
  • the transform encoding apparatus 1650 encodes a key frame reconstructed by the base layer transform encoder 1655 and then transmits the encoded key frame to the enhancement layer transform encoder 1657. And the WZ frame reconstructed by the enhancement layer transform encoder 1657 and then provided to the first decoding device 1693 to output only the result decoded by the second decoding device 1696 in the case of the base layer.
  • the resultant images decoded by the second decoding device 1696 and the first decoding device 1693 may be rearranged and output.
  • 17 is a graph illustrating a relationship between complexity and auxiliary information of an encoding apparatus.
  • the horizontal axis represents a complexity ratio of the distributed video encoding apparatus, and indicates the complexity of motion prediction.
  • the vertical axis represents PSNR (Peak Signal to Noise Ratio) and indicates the quality of side information (SI).
  • the quality of the supplementary information is improved.
  • the quality of the auxiliary information is improved, the difference between the auxiliary information and the original image to be encoded is reduced, thereby reducing the parity bit required for decoding. Therefore, as the complexity of the distributed video encoding apparatus increases, the coding efficiency increases.
  • FIG. 18 is a graph illustrating a change in performance according to a motion prediction ratio of an encoding apparatus.
  • FIG. 18 is a graph illustrating a change in performance according to a motion prediction ratio of a distributed video encoding apparatus.
  • the ratio of motion prediction is adjusted using TSS (Three Step Search), which is one of motion prediction methods, and the corresponding PSNR is measured. Shown.
  • N denotes the total number of TSS steps
  • K denotes the number of TSS steps performed by the encoding apparatus.
  • coding efficiency improves as the size of K increases. For example, when PSNR is 30dB, K is 2, and the coding efficiency is about 20% higher than when K is 0. When K is 6, the coding efficiency is increased by about 35% compared to when K is 0. It was.
  • K 2
  • the packet loss rate PLR: Packet Loss
  • Up to 20% rate can be used to transmit coded data without quality degradation.
  • the encoding efficiency is increased by increasing the complexity of the encoding apparatus, thereby increasing the coding efficiency.
  • the loss robustness is increased by transmitting additional FEC data by the reduced bit amount according to the efficiency.
  • R a is defined as an available bit rate
  • r FEC is an FEC rate
  • a PLR is a packet loss rate
  • the decoding device may Only (1-PLR) R a is received normally.
  • the encoder determines the FEC rate (r FEC) using the predicted value of the available bit rate (R a) and the packet loss rate (PLR) that indicates the channel conditions.
  • the FEC rate r FEC is determined, the data transmitted by the encoding apparatus becomes (1-r FEC ⁇ PLR) ⁇ R a , and the FEC data becomes r FEC ⁇ PLR ⁇ R a .
  • the available bit rate (R a) and the packet loss rate (PLR) is also changed according to the channel conditions due to change in accordance with the channel status r FEC value.
  • the available bit-rate (R a) is reduced thereby reducing the size of the transmittable data FEC.
  • the encoding apparatus in order to minimize the increase in the use of network resources due to the addition of the FEC data, the encoding apparatus is increased to increase the coding efficiency, thereby reducing the size of data to be transmitted and reducing the FEC data by the amount of the reduced data. Adding increases loss robustness without additional network resources.
  • 19 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • 19 is a flowchart illustrating a distributed video encoding method according to an embodiment of the present invention, and illustrates a process of increasing loss robustness in consideration of both available bandwidth and loss according to channel conditions.
  • the encoder obtains the available bit rate (R a) and the packet loss rate (PLR) confirms the channel condition (Step S1910).
  • the encoding apparatus determines the FEC rate r FEC based on the obtained packet loss rate (step S1920).
  • the FEC rate may be determined to be twice the obtained packet loss rate (PLR), but is not limited thereto and may be adjusted to a different value according to channel conditions.
  • the encoding apparatus determines the size of the video data to be transmitted and the size of the FEC data based on the packet loss rate (PLR) and the FEC rate (step S1930).
  • the size of video data to be transmitted may be determined as (1-r FEC ⁇ PLR) ⁇ R a
  • the size of FEC data may be determined as r FEC ⁇ PLR ⁇ R a .
  • the encoding apparatus determines an encoding complexity for encoding according to the determined size of the video data (step S1940).
  • the determination of the coding complexity may be performed by determining the number of execution steps of a three step search (TSS), which is one of motion prediction methods, and the determination of the number of execution steps of the TSS may be performed based on a packet loss rate in units of a predetermined image frame. It may be determined in consideration of the number of TSS execution steps compared to PLR).
  • the number of TSS execution steps relative to the packet loss rate (PLR) may be stored in advance in the form of a lookup table, or may be obtained in real time by an arithmetic calculation.
  • the encoding apparatus performs encoding by performing motion prediction according to the encoding complexity determined in step S1940 (step S1950).
  • the encoding apparatus may provide the decoding apparatus with information such as a motion vector, a total number of TSS steps, and a number of TSS execution steps used in motion prediction.
  • the encoding apparatus performs channel encoding for compensating for channel loss, and then provides encoded data to the decoding apparatus (step S1960).
  • the encoding apparatus performs channel encoding according to the FEC rate determined in step S1920.
  • n video packets transmitted by the conventional encoding method are increased by increasing the complexity of the encoding apparatus according to channel conditions to improve encoding efficiency.
  • the robustness against loss can be improved without using additional network resources, thereby ensuring the quality of service.
  • 20 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • steps S2010 to S2030 shown in FIG. 20 perform the same functions as those of steps S1910 to S1930 shown in FIG. 19, detailed descriptions thereof will be omitted to avoid duplication.
  • the encoding apparatus adjusts the size of the video data to correspond to the determined video data size.
  • a method for determining is determined (step S2040).
  • a method for adjusting video size may include a method of adjusting a quantization interval, a method of increasing the complexity of an encoding apparatus, and a method of using the above two methods in combination. have.
  • the method of controlling the quantization interval has the advantage that there is no increase in complexity and the width of the adjustable data size is wide. However, as the size of the quantization interval increases, the quality of the video may be degraded. In addition, since the method of adjusting the complexity of the encoding apparatus performs motion prediction, the quality of the video can be kept the same, while the loss is large because the increase of the complexity limits the control of the video data size. There is a disadvantage that it is difficult to apply.
  • a method for adjusting the quantization interval in consideration of a preset priority for example, channel condition, performance of the encoding device, and / or user preference
  • the size of the video data can be adjusted by any one of a method of increasing the complexity of the method and a method of using the above two methods in combination.
  • the user can define the lowest quality reference value allowed by the user, and adjust the quality of the video by adjusting the quantization interval according to the channel situation. If the value falls below the defined reference value, the quantization interval adjustment can be stopped and the video data size can be adjusted through the complexity adjustment.
  • complexity control may be applied first, and when high priority is given to usage time, that is, power consumption, quantization interval adjustment may be applied to adjust the size of video data.
  • the encoding apparatus when the method for adjusting the size of the video data is determined in step S2040, the encoding apparatus performs encoding based on the determined method (step S2050), and performs encoding after performing channel encoding for compensating for channel loss.
  • the data is provided to the decoding apparatus (step S2060).
  • the encoding apparatus performs channel encoding according to the determined FEC rate.
  • 21 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
  • FIG. 21 is a flowchart illustrating a distributed video encoding method according to another embodiment, and illustrates a decoding method when a distributed video encoding apparatus performs encoded motion to provide encoded data.
  • the decoding apparatus performs channel decoding on the encoded data transmitted from the encoding apparatus to restore an erasure according to channel loss (step S2110).
  • the erasure means data lost through channel loss.
  • the decoding apparatus then decodes the encoded key frame provided from the encoding apparatus (step S2120).
  • the decoding apparatus can decode the key frame through various known decoding techniques such as H.264 / AVC, MPEGx, etc., but the decoding apparatus decodes the key frame using the same standard as that used for encoding the key frame. It is preferable.
  • the decoding apparatus performs motion prediction using information such as a motion vector, a total number of TSS steps, and a number of TSS execution steps provided from the encoding device, to generate auxiliary information (SI) (step S2130).
  • information such as a motion vector, a total number of TSS steps, and a number of TSS execution steps provided from the encoding device, to generate auxiliary information (SI) (step S2130).
  • the decoding apparatus extracts the parity bits by decoding the data from which the channel loss is restored, corrects the generated auxiliary information using the extracted parity bits (step S2140), and inversely quantizes the corrected auxiliary information to restore the WZ frame. (Step S2150).
  • FIG. 22 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
  • the distributed video encoding apparatus 2200 may include a keyframe encoder 2205, a channel monitor 2210, a motion predictor 2215, a transform and quantizer 2220. ), And may include a first channel encoder 2225 and a second channel encoder 2230, and encodes an input key frame to provide to a distributed video decoding apparatus, and moves a WZ frame according to a channel condition. After determining the number of prediction execution steps, motion prediction is performed according to the determined number of steps to generate parity bits, and the generated parity bits, motion vectors, and motion prediction performance information are provided to the distributed video decoding apparatus.
  • the keyframe encoder 2205 encodes the input keyframe and then provides the encoded keyframe to the motion predictor 2215 and the keyframe decoder 2270 of the distributed video decoding apparatus 2250.
  • the key frame encoder 2205 may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
  • Channel monitor section 2210 is provided in the available bit rate (R a) and / or packet loss rate channel state information after confirming the channel status by obtaining the (PLR) (packet loss rate (PLR)) a motion predictor (2215). In addition, the channel monitor 2210 determines the FEC rate based on the packet loss rate (PLR), and then provides the determined FEC rate to the second channel encoder 2230.
  • PLR packet loss rate
  • the motion predictor 2215 determines the number of motion prediction execution steps (that is, the number of execution steps K of the TSS) based on the channel condition information (packet loss rate PLR) provided from the channel monitor unit 2210, and determines the determined motion prediction. Based on the number of steps performed, motion prediction is performed on the encoded key frame to generate auxiliary information, and the generated auxiliary information is provided to the transform and quantization unit 2220. In addition, the motion prediction unit 2215 may use the auxiliary information generation unit of the distributed video decoding apparatus 2270 to transmit information such as a motion vector (MV) used for motion prediction and the total number of TSS steps and the number of TSS steps that are motion prediction information. 2260).
  • MV motion vector
  • the transform and quantizer 2220 transforms and quantizes auxiliary information provided from the motion predictor 2215 and provides the transformed quantizer 2220 to the first channel encoder 2225.
  • the first channel encoder 2225 generates a parity bit for the quantized data using the channel code and provides the parity bit to the second channel encoder 2230.
  • the second channel encoder 2230 performs channel encoding to compensate for erasure due to channel loss in accordance with the FEC rate provided from the channel monitor unit 2210, and then distributes the data on which channel encoding is performed.
  • the decoding apparatus 2270 is provided.
  • the second channel encoder 2265 may perform channel encoding using, for example, a Reed-Solomon code.
  • the transformed and quantized unit may be used to convert the input WZ frame. 2220.
  • the distributed decoding apparatus 2250 may include a keyframe decoder 2255, an auxiliary information generator 2260, a second channel decoder 2265, and a first channel decoder 2270. And an image reconstructor 2275, which decodes an encoded keyframe provided from the distributed video decoding apparatus 2200, and performs motion prediction on the decoded keyframe using the provided motion vector and motion prediction information. After generating the auxiliary information, the WZ frame is recovered by removing noise included in the generated auxiliary information using the channel-decoded parity bit.
  • the keyframe decoder 2255 decodes an encoded keyframe provided from the keyframe encoder 2205 of the distributed video encoding apparatus 2200.
  • the auxiliary information generator 2260 generates the auxiliary information by performing motion prediction on the decoded key frame using information such as the motion vector, the TSS total number of steps, and the number of TSS execution steps provided from the distributed video encoding apparatus 2225. do.
  • the auxiliary information generated by the auxiliary information generator 2260 may be the same as the auxiliary information generated by the motion predictor 2215 since the auxiliary information is generated using the motion prediction information provided from the distributed video encoding apparatus 2200. have.
  • the second channel decoder 2265 channel-decodes the data provided from the distributed video encoding apparatus 2200 to reconstruct the eraser according to the channel loss.
  • the first channel decoder 2270 extracts a parity bit by performing channel decoding on the reconstructed data, and then estimates the quantized data by correcting the noise included in the auxiliary information using the extracted parity bit.
  • the image reconstructor 2255 reconstructs the WZ frame by inversely quantizing the data quantized estimated by the first channel decoder 2270 and performing inverse transformation. In this case, ambiguity generated during inverse quantization may be solved by referring to auxiliary information provided from the auxiliary information generator 2260.
  • FIG. 23 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
  • a distributed video encoding apparatus 2300 may include a keyframe encoder 2305, a controller 2330, a motion predictor 2310, a transform and quantizer 2315, The first channel encoder 2320 and the second channel encoder 2325 may be included.
  • the keyframe encoder 2305 encodes the input keyframe and then provides the encoded keyframe to the motion predictor 2310 and the keyframe decoder 2355 of the distributed video decoding apparatus 2350.
  • the key frame encoder 2355 may encode the key frame through various well-known encoding techniques such as H.264 / AVC and MPEGx.
  • the controller 2330 may include a channel monitor 2333 and a resource manager 2336.
  • Channel monitor section 2333 is an available bit rate (R a) and the packet loss rate after confirming the channel status by obtaining the (PLR), obtained the available bit rate (R a) and the packet loss rate (PLR) the resource management unit (2336) to provide.
  • a resource management unit (2336) is FEC rate (r FEC) after setting the FEC rate (r FEC), is set on the basis of the available bit rate (R a) and the packet loss rate (PLR) as provided by the channel monitor section 2333 to the second The channel encoder 2325 is provided.
  • the resource manager 2336 may set the FEC rate r FEC to twice the packet loss rate PLR.
  • the resource management unit 2336 calculates the size of the video data ((1-r FEC ⁇ PLR) ⁇ R a ) and the size of the FEC data (r FEC ⁇ PLR ⁇ R a ), and calculates the calculated data size and a preset value.
  • the video data scaling method is determined based on the priority.
  • the resource manager 2336 may adjust the number of motion prediction performance steps (ie, the number of performance steps K of the TSS) or the quantization interval to correspond to the size of the calculated video data, and determine to perform the motion prediction and the quantization interval control in combination It may be. In this case, the resource manager 2336 adjusts the quantization interval in consideration of the channel condition, the performance of the encoding apparatus, and / or the user's preference, the motion prediction means step, and any one of a combination of the above two methods. After determining the method as a method of adjusting the size of the video data, a control signal corresponding to the determined may be provided.
  • the motion prediction unit 2310 performs motion prediction on the encoded key frame based on the motion prediction execution step number (that is, the execution step number K of the TSS), which is a control signal provided from the resource management unit 2336, and receives auxiliary information.
  • the generated auxiliary information is provided to the transform and quantization unit 2315.
  • the motion predictor 2310 may provide information such as a motion vector (MV) used for motion prediction and information such as the total number of TSS steps, the number of TSS steps, and the number of TSS execution steps, which are motion prediction information, to the auxiliary information generator of the distributed video decoding apparatus 2350 ( 2360).
  • MV motion vector
  • the transformer and quantizer 2315 transforms and quantizes auxiliary information provided from the motion predictor 2310 and provides the transformed quantizer 2315 to the first channel encoder 2320.
  • the transform and quantization unit 2315 may perform quantization corresponding to the quantization interval, which is a control signal provided from the resource manager 2336.
  • the first channel encoder 2320 generates a parity bit for the quantized data using the channel code and provides the parity bit to the second channel encoder 2325.
  • the second channel encoder 2325 performs channel encoding to compensate for erasure due to channel loss, and then provides the distributed video decoding apparatus 2350 with the data subjected to channel encoding.
  • the second channel encoder 2370 may perform channel encoding according to the FEC rate information provided from the resource manager 2336.
  • the distributed video decoding apparatus 2350 may include a keyframe decoder 2355, an auxiliary information generator 2360, a second channel decoder 2370, and a first channel decoder 2380. And an image restoration unit 2390.
  • the keyframe decoder 2355 decodes the encoded keyframe provided from the keyframe encoder 2305 of the distributed video encoding apparatus 2300.
  • the auxiliary information generator 2360 generates auxiliary information by performing motion prediction on the decoded key frame using information such as a motion vector, a TSS total number of steps, and a number of TSS execution steps provided from the distributed video encoding apparatus 2300. do.
  • the auxiliary information generated by the auxiliary information generator 2360 may be the same as the auxiliary information generated by the motion predictor 2310 since the auxiliary information generated by the auxiliary video encoding apparatus 2300 is generated using the motion prediction information provided from the distributed video encoding apparatus 2300. have.
  • the second channel decoder 2370 reconstructs the erasure according to the channel loss by channel decoding the data provided from the distributed video encoding apparatus 2300.
  • the first channel decoder 2380 extracts a parity bit by performing channel decoding on the reconstructed data of the eraser and then estimates the quantized data by correcting the noise included in the auxiliary information using the extracted parity bit.
  • the image reconstructor 2390 reconstructs the WZ frame by performing inverse quantization and inverse quantization of the quantized data estimated from the first channel decoder 2380.
  • the ambiguity generated during inverse quantization may be solved by referring to the auxiliary information provided from the auxiliary information generator 2360.
  • the above-described distributed video encoding method may be used in a plurality of image capturing apparatuses (distributed video encoding apparatuses), and data provided by the plurality of distributed video encoding apparatuses is decoded by the plurality of distributed video decoding apparatuses.
  • distributed video encoding apparatuses distributed video encoding apparatuses
  • data provided by the plurality of distributed video encoding apparatuses is decoded by the plurality of distributed video decoding apparatuses.
  • a plurality of distributed video encoding apparatuses and distributed video decoding apparatuses may be provided.
  • the distributed video encoding apparatus may be used in the same meaning as an image photographing apparatus and a camera.
  • an image capturing apparatus that is a distributed video encoding apparatus and a distributed video decoding apparatus that decodes data provided by the image capturing apparatus will not be described.
  • an image capturing apparatus or a camera according to an embodiment of the present invention will be described below.
  • the image capturing apparatus, the camera, and the distributed video encoding apparatus are used in the same sense.
  • the decoding apparatus for decoding the data transmitted from the image capturing apparatus or the camera apparatus the above-described distributed video encoding apparatus and distributed video are described.
  • the configuration of the decoding device can be used.
  • a component for capturing an image such as an image capturing apparatus or a camera, may include a distributed video encoding apparatus and an encoding method using distributed video coding according to an embodiment of the present invention.
  • the image capturing apparatus may include a WZ frame encoder and a key frame encoder to encode image information.
  • the image capturing apparatus may further include a buffer or a motion compensation unit in addition to the WZ frame encoder and the keyframe encoder to perform motion prediction using information provided from a distributed video decoder or a decoder.
  • the image capturing apparatus or the camera checks the state of the channel capable of transmitting data from the image capturing apparatus to the distributed video decoding apparatus, and determines the channel coding rate and the size of the video data to be transmitted based on the identified channel condition.
  • the channel monitor may be further included.
  • the distributed video decoding apparatus decodes a plurality of image data provided from an image capturing apparatus or a camera, and includes a keyframe decoder, a channel code decoder, an auxiliary information generator, and an image reconstruction unit, which are components included in the aforementioned distributed video decoding apparatus. It may include.
  • the distributed video decoding apparatus further includes an additional encoder to encode distributed video coded images in a general video decoding apparatus by encoding data decoded by the distributed video decoding apparatus using a general encoding method using a general encoding method rather than a distributed video encoding method. Enable decryption.
  • an apparatus for performing distributed video encoding will be described with an image capturing apparatus and a camera as an example.
  • a configuration in which the apparatus for performing distributed video encoding is provided outside the image capturing apparatus and the camera is also provided. It is included in the scope of right.
  • 24 is a conceptual diagram of a broadcast system using a plurality of video photographing apparatuses using distributed video coding according to an embodiment of the present invention.
  • a plurality of image capturing apparatuses 2400 may perform distributed video coding and images provided from a plurality of image capturing apparatuses 2400.
  • a metadata tagging unit 2410 for assigning attribute information to the distributed video decoding apparatus 2420 and a distributed video decoding apparatus 2420 for decoding information provided from the plurality of image capturing apparatuses 2400 may be included.
  • only a part of the plurality of image capturing apparatuses 2400 may perform distributed video coding, and other methods may use general video coding instead of distributed video coding. It is assumed that both the imaging apparatus 2400 perform distributed video coding on the images provided through the imaging units of the plurality of imaging apparatuses 2400 using distributed video coding.
  • the image capturing apparatus 2400 may include a distributed video encoding apparatus and encode an image using an encoding method using distributed video coding according to an embodiment of the present invention.
  • the image capturing apparatus 2400 may include a WZ frame encoder and a key frame encoder to encode image information.
  • the image capturing apparatus 2400 may further include a buffer or a motion compensator in addition to the WZ frame encoder and the key frame encoder to perform motion prediction using information provided from the distributed video decoder.
  • the image capturing apparatus 2400 checks the state of a channel capable of transmitting data from the image capturing apparatus to the distributed video decoding apparatus 2420, and thus the channel encoding rate and the video to be transmitted are determined based on the identified channel condition.
  • the channel monitor unit for determining the data size may be further included.
  • the metadata tagging unit 2410 is a part capable of assigning attribute information related to data to a plurality of image data photographed by the image capturing apparatus 2400, and provides location information of the image capturing apparatus 2400, information related to a photographing target, Various attribute information such as photographing object movement information and color characteristics of an image may be provided to the plurality of image data photographed by the image capturing apparatus 2400.
  • the metadata is data provided to a plurality of video data contents, and may selectively decode a plurality of videos generated based on metadata provided to the plurality of video data.
  • the metadata tagging unit 2410 is represented as an independent device for convenience of description, but when it is not included in the image capturing apparatus or it is not necessary to give attribute information to the image data, the metadata tagging unit 2410 ) May not be used.
  • the distributed video decoding apparatus 2420 is a portion that decodes a plurality of image data provided from the image capturing apparatus 2400, and includes a keyframe decoder, a channel code decoder, and an auxiliary component included in the distributed video decoding apparatus 2420. It may include an information generating unit and an image restoring unit.
  • the distributed video decoding apparatus 2420 includes an additional encoder to decode an image in a general video decoding apparatus by encoding data decoded by the distributed video decoding apparatus using a general encoding method using a general encoding method instead of a distributed video encoding method. To be able.
  • the plurality of image capturing apparatus 2400 photographs a playground in which a soccer game occurs. Some of the plurality of image capturing apparatuses 2400 photograph individual players, some of the entire stadium, and some of the plurality of image capturing videos of the goal situation from behind the goal post, each camera captures a video of various views according to the role.
  • the metadata tagging unit 2410 tags metadata to multiple video streams input from the plurality of image capturing apparatuses 2400.
  • the viewer may further include a component for selecting a view captured by a specific image capturing apparatus or a component for providing an image for selectively viewing a specific event based on tagged metadata. May selectively provide image data corresponding to a desired view to the user, or additionally provide a component that selectively provides only a specific event desired by the user.
  • 25 is a conceptual diagram illustrating a media sharing system using a plurality of video photographing apparatuses using a distributed video encoding method according to an embodiment of the present invention.
  • the media sharing system includes a media generating apparatus including a plurality of image capturing apparatuses 2500 and a media generating server 2510, and one or more clients 2520 connected to the media generating apparatus through a communication network.
  • Each of the image capturing apparatuses 2500 is provided with different unique identifiers (GUIDs), and photographs images of different viewpoints and provides them to the media generation server 2510.
  • the image capturing apparatus 2500 may be a camera for capturing an image.
  • At least one of the image capturing apparatuses 2500 may include a distributed video encoder to encode an image captured by the image capturer using distributed video encoding.
  • the image capturing apparatus 2500 may be connected to the media generation server 2510 by wire or wirelessly.
  • the image capturing apparatus 2500 and the media generation server 2510 may be connected through an IEEE 1394 network or a wireless network.
  • the media generation server 2510 may include a distributed video decoding apparatus and may decode image data transmitted from the image capturing apparatus 2500.
  • the distributed video decoding apparatus may be provided at the client 2520 side.
  • the media generation server 2510 allocates the same multicast address and different port numbers to each image photographed by the plurality of photographing apparatuses 2500, and includes a session description including an assigned multicast address and a port number. Protocol) message is generated and transmitted to the plurality of clients 2520. At this time, the media generation server 2510 receives images from the plurality of photographing apparatuses by executing one VP producer, and assigns the same multicast address and different port numbers to the plurality of received images.
  • the media generation server 2510 receives an SDP message and receives a multicast address different from the multicast address allocated through the SAP (Service Access Point) packet to the client 2520 through a communication network.
  • the SDP message includes service attribute information including at least one of an assigned multicast address and a plurality of port numbers, a producer's name, an e-mail address, a video codec, a video quality, and a service type.
  • the client 2520 analyzes the SDP message from the media generating device 2510 to extract service attribute information, and the image by the photographing apparatus 2500 selected by the user or the multi-view image by the plurality of photographing apparatuses 2500. Outputs
  • the client 2520 may display the multi-view image by the plurality of photographing apparatuses 2500 as a wide image using the network tiled display device.
  • 26 to 27 illustrate a configuration of an apparatus for photographing a stereoscopic image using distributed video encoding and decoding according to an embodiment of the present invention, which illustrates a specific embodiment of a system for photographing a stereoscopic image.
  • the stereoscopic image photographing system using the distributed video encoder or the distributed video decoder according to the above-described embodiment of the present invention may also be included in the scope of the present invention.
  • FIG. 26 is a conceptual diagram of a 3D object tracking apparatus using a distributed video encoding method, according to an embodiment of the present invention.
  • the three-dimensional object tracking device is a frame of an image acquired at the same time from at least two (preferably three or more) video cameras (multi-view camera) 2600 At least one depth map acquired at the same time from a multi-view video storage unit 2610 storing data and at least two (preferably three or more) depth cameras 2605.
  • depth map storage unit 2620 for storing map data, camera information including a camera focal length of each viewpoint, a camera correction unit 2630 for obtaining a base matrix of positions and directions between viewpoints, and camera information
  • An object region extracting unit 2640 for extracting a moving object region from the background in the image using a matrix matrix, a multiview image of the previous frame and the current frame, and a depth map data;
  • the object motion estimation unit 2650 for detecting a motion object of the body region and obtaining three-dimensional motion vectors of the object, and detecting a shielding region in the object region, and then performing the backward motion estimation of the previous frame and the current frame.
  • a shielding area processor 2660 for estimating the position of the obscured object.
  • the apparatus may further include a multiview image corrector 2635 for correcting the epipolar line of the image acquired by the multiview camera 2600 to coincide using the base matrix.
  • the apparatus further includes an object motion display unit 2670 for displaying the extracted object motion on the screen.
  • the apparatus may further include a multiview camera control and driver 2680 for adjusting the position of the multiview camera 2600 such that the object is located at the center region in the image in case the object deviates from the image.
  • the multiview camera 2600 may encode the image photographed through the image pickup unit through distributed video encoding using the distributed video encoder included in the multiview camera 2600.
  • Distributed video encoding performed by the multiview camera 2600 may use the same method as the above-described method.
  • the multi-view video storage unit 2610 and the depth map storage unit 2620 store video images obtained from several video cameras and one depth camera in a data storage device such as a video tape or a frame capture device.
  • the stored image information is used as an input by the camera corrector 2630, the multiview image corrector 2635, the object region extractor 2640, and the object motion estimator 2650.
  • the multi-view video storage unit 2610 and the depth map storage unit 2620 may be connected to a plurality of video cameras and one depth camera by a wired or wireless network.
  • the distributed video decoder may be provided at a portion of the multiview video storage unit 2610 to process the image, and may decode the distributed video encoded image generated by the multiview camera 2600.
  • the camera corrector 2630 extracts feature points between various images that know the distance from the camera 2600, and then obtains a rotation matrix and a movement matrix for mutual conversion using the correspondence between the feature points and the actual distance information. .
  • camera information such as focal length is obtained through a camera correction technique. This information is used to continue object tracking by using a camera at another point in time when the object motion estimation unit 2650 does not generate the shielding area when the shielding area is generated.
  • the multi-view image corrector 2635 uses the camera transformation matrix (base matrix) obtained by the camera corrector 2630 to refer to the epipolar line of the image acquired by the remaining cameras with respect to the reference camera. Make it parallel to the rows of the image. This allows you to reduce the search area and time for object tracking and stereo matching.
  • the object region extractor 2640 extracts the pixels of the object region based on a criterion of the object and the background pixel using the change in brightness and depth of the sequentially input current image and the previously input image, and includes all of the pixels.
  • a bounding box is placed on the current or next frame, and the coordinates of the start and end points are stored in the buffer. This is used to find the motion vector in the frame following the object motion.
  • the object motion estimator 2650 compares the object region of the current frame extracted by the object region extractor 2640 with the object region of the next frame, and then compares the object region of the next frame with the smaller row and column size in the next frame. By selecting and moving the points in the detected block area toward the center of the block, the position of the block having the highest similarity is detected. At this time, the motion vector between the center points of each block is detected as a motion vector in the x and y directions. At this time, when the similarity is smaller than the predetermined threshold or when the matching is performed backward, the center of the center point is regarded as that there is no shielding area in the block only when the position difference from the original block center is within a certain number of pixels. The motion vector is obtained, and if not, the corresponding area is detected by the shielding area processor 2660 as the shielding area.
  • FIG. 27 is a block diagram illustrating a configuration of a multiview image processing apparatus according to an embodiment of the present invention.
  • a multiview image processing apparatus includes a multiview camera 2700, a depth camera 2710, a three-dimensional warping unit 2720, a trimap generator 2730, an alphamat generator 2740, A foreground extractor 2750 is included.
  • the multi-view camera 2700 is composed of a plurality of cameras (first to n-th cameras, 2700-1, 2700-2, and 2700-n) as shown.
  • the viewpoints of the plurality of cameras are different from each other according to the position of the camera, and thus a plurality of images having different viewpoints are bundled together to be called multiview images.
  • the multi-view image obtained from the multi-view camera 2700 includes color information for each pixel of the 2D image forming each image, but does not include depth information of the 3D image.
  • the depth camera 2710 acquires a depth map having depth information in three dimensions.
  • the depth camera 2710 is a device capable of illuminating a laser or an infrared ray to an object or a target area, obtaining a return beam, and obtaining depth information in real time.
  • the depth camera 2710 includes a depth sensor that senses depth information through a laser or infrared ray.
  • At least one of the multiview camera 2700 and the depth camera 2710 may include a distributed video encoding apparatus. Images captured by the image capture unit using the distributed video encoding apparatus included in the multiview camera 2700 and the depth camera 2710 may be encoded, and the encoded video data may be a trimap generator 2730 or a 3D warping unit 2720. ) And may be decoded by a distributed video decoding apparatus that may be included in the ramimap generator 2730 or the 3D warping unit 2720 or converted into another image format.
  • Image data provided by the multiview camera 2700 and the depth camera 2710 may be provided to the trimap generator 2730 or the 3D warping unit 2720 using wired or wireless.
  • the multiview image obtained from the multiview camera 2700 and the multiview depth map from the 3D warping unit 2720 are input to the trimap generator 2730, and the trimap generator 2730 is provided.
  • the multiview trimap from the trimap generator 2730 is input to the alphamat generator 2740, and the alphamat generator 2740 uses the input multiview trimap to provide a multiview alpha corresponding to the multiview image. You can create a matte.
  • the multiview alphamat generated from the alphamat generator 2740 is input to the foreground extractor 2750, and the foreground extractor 2750 applies a multiview alphamat to the multiview image from the multiview camera 2700. Multiview foreground can be extracted.
  • the trimap generator 2730 uses a target image and a three-dimensional warped depth map to generate a trimap corresponding to each image forming a multiview image.
  • the trimap generator 2730 may include a segment part, a foreground area determiner, a hole remover, and an erosion / expansion calculator.
  • the segment unit generates segmented images by performing color segmentation on each image forming a multiview image.
  • Color segmentation refers to a process of dividing an image into regions (segments) of similar colors.
  • the segment unit sets segments between pixels whose luminance or chrominance difference between adjacent pixels is less than or equal to a threshold in the target image to which color segmentation is to be performed.
  • the depth value does not exist at all or is very sparse in an area far from the depth camera 2710 according to the setting of the depth camera 2710, and the depth camera 2710 In the area nearer to), all depth values exist or are very dense.
  • all depth values exist or are very dense.
  • the three-dimensional warped depth map except that a hole, which is a pixel whose depth value is not defined, is generated due to the three-dimensional warping.
  • the discontinuity point of the depth value may occur at the boundary of the segment, it may be determined that the region having a large depth value among the segments is the foreground region, and the other region is the background region.
  • the foreground area determiner segments each of the three-dimensional warped depth maps corresponding to the segmented image by the segment unit, and sets the foreground area of the set of segments having a depth value greater than or equal to a certain ratio in the segment.
  • Decide on The ratio may be arbitrarily determined appropriately, for example, to determine the foreground area as a set of segments having a depth value of 70% or more.
  • the erosion / expansion calculator generates an immersion trimap by applying erosion and expansion operations to the input multiview depth map.
  • the trimap is the image before obtaining the alpha matte, which is essential for matting, divided into the foreground and the background, and the unknown region whether it is the foreground or the background.
  • the erosion / expansion calculating unit generates each image of the depth map constituting the input multiview depth map as a binary image according to a predefined threshold value, and then erodes the edge of the binary image inward and extends it out to generate an unknown region. This creates a multiview trimap.
  • the hole removing unit fills the holes with appropriate depth values in the foreground area of the three-dimensional warped depth map using surrounding pixel values. Parts outside the foreground area are no longer of interest, so you can only fill the hall with the foreground area.
  • FIG. 28 is a conceptual diagram illustrating a surveillance camera system using distributed video encoding according to an embodiment of the present invention.
  • the motion is detected by the motion sensor mounted on the low power wireless camera and the camera is immediately operated.
  • the information captured by the camera is compressed to be transmitted in the wireless sensor network, and the compressed data is transmitted to the gateway 2820 through the wireless sensor network.
  • the image data transmitted to the gateway 2820 is transmitted to the server 2830 through an Ethernet network, and the image data transmitted to the server 2830 is viewed through the monitoring system 2840.
  • the low power wireless camera 2800 Since the low power wireless camera 2800 operates in the existing sensor network, the low power wireless camera 2800 must be operated by a battery in the same manner as the operation of the sensor nodes in the existing sensor network system. Therefore, it is based on low power operation due to the limitation of power supply capacity. However, since the video is basically based on continuous shooting, the motion monitoring sensor is mounted on the camera 2800 to minimize the power consumption by operating the camera 2800 only when the motion of the monitoring area is detected.
  • the camera 2800 includes a distributed video encoding apparatus capable of performing distributed video encoding, and the distributed video encoding apparatus may encode an image captured by the camera through distributed video encoding.
  • the low power wireless camera 2800 may include a battery, a micro controller unit (MCU), a motion detection sensor, a distributed video encoding apparatus, and a wireless communication module.
  • MCU micro controller unit
  • the motion detection sensor may be installed at the front of the wireless camera 2800 to detect a motion of a person in an area to be monitored. At this time, the detected signal is notified to the MCU.
  • the camera 2800 functions to capture an image of the surveillance area.
  • the MCU applies power to the camera 2800 to start recording. If no movement is detected for a certain period of time, shooting ends.
  • an image captured by the wireless camera 2800 may be encoded through distributed video encoding.
  • Wireless signals are compressed to less than or equal to 1M bandwidth.
  • the MCU controls the battery and the wireless communication module, receives the motion detection from the motion detection sensor, and determines the operation of each part and applies power.
  • the wireless communication module wirelessly transmits distributed video encoded images in a distributed video encoding apparatus and is in charge of communication with a wireless sensor network.
  • the battery supplies power to each part under the control of the MCU.
  • the same scheme as described above can also be used in, for example, a baby monitoring system for monitoring a home using a wireless camera that encodes an image captured using distributed video coding indoors.
  • 29 is a conceptual diagram of a monitoring system using a plurality of cameras according to an embodiment of the present invention.
  • a surveillance system using a plurality of cameras 2900 may form three-dimensional data using a plurality of cameras 2900.
  • a surveillance system using a plurality of cameras 2900 is connected to a plurality of cameras 2900 and a plurality of cameras 2900, which are installed in a plurality of monitored areas, from a camera 2900.
  • a central monitoring unit 2910 is configured to receive captured image data and to control an operation of each camera 2900.
  • the plurality of cameras 2900 may encode an image photographed through the imaging unit through distributed video encoding using a distributed video encoder included in the camera 2900.
  • Distributed video encoding performed by the camera 2900 may use the same method as described above.
  • the central monitoring apparatus 2910 of the present invention includes a GIS database 2920 for displaying geographic information of a region to be monitored as 3D image data, and an actual image screen captured by the camera 2900 and a GIS database 2920.
  • a GIS database 2920 for displaying geographic information of a region to be monitored as 3D image data
  • an actual image screen captured by the camera 2900 and a GIS database 2920.
  • a plurality of cameras may be linked to photograph a specific point or a monitoring object.
  • the method of acquiring 3D coordinates of a camera image using 3D spatial data constructs 3D spatial data for providing a 3D image of an area to be monitored. Calculate the change of angle of view according to the zoom change of the camera, synchronize the screen of the camera with the screen of the 3D image, calculate the 3D coordinates for a specific point of the actual camera screen, and then use the 3D coordinates of the camera image using the 3D spatial data.
  • the 3D coordinates of the image may be obtained by using a method of obtaining.
  • FIG. 30 illustrates a forest fire detection and ignition tracking system employing a wireless imaging device according to an embodiment of the present invention.
  • the forest fire detection can be used as an example using a wireless image pickup device including a sensor other than the sensor for detecting the forest fire.
  • the plurality of wireless image capturing apparatuses 3000 are installed in place of loading in a wide area such as a mountain or a national park for detecting a fire and tracking a fire. Since the wireless image capturing apparatus 3000 according to the present invention is a wireless device, it is easier to install in a mountainous region than a general image camera or CCTV which should be connected by wire.
  • the wireless image capturing apparatus 3000 may include a distributed video encoding apparatus capable of performing distributed video encoding, and may encode an image captured by using distributed video encoding according to an embodiment of the present invention.
  • Image data encoded through distributed video encoding may be provided to a distributed video decoder to be decoded.
  • the image data generated by the wireless image capturing apparatus 3000 is collected by the gateway 3010 and passed through a router 3020 to a surveillance or control center in charge of forest fire detection and ignition tracking via a communication modem 3030 through a communication network. Can be sent.
  • the control center can accurately know the point of imaging. Therefore, using the unique number already assigned to each wireless image capturing apparatus 3000 and the installed point matching table, it is possible to clearly grasp the state of the point reflected by the wireless image capturing apparatus 3000. When appearing in the imaging device 3000 it is also possible to accurately determine the location of the missing person.
  • the control server (not shown) of the control center may determine the occurrence of fire through the change of the image while periodically receiving the image generated by the wireless image pickup device 3000.
  • the fire detector may detect the fire from the CCTV and the thermal imaging camera, but may determine the fire from the detection signal of the fire detection sensor 3040. Alternatively, the fire detector may be located at a control center to determine the fire.
  • a plurality of fire detection sensors 3040 may be employed to facilitate the occurrence of fire.
  • the fire detection sensor 3040 may use a sensor that detects temperature, smoke, or flame, but is not necessarily limited thereto. Any sensor capable of detecting a fire may be used.
  • the sensor may also use a fire detection sensor that senses one or more combinations of temperature, smoke, or flame.
  • the fire sensor 3040 may be installed separately from the wireless image capturing apparatus 3000 or may be installed in combination with the wireless image capturing apparatus 3000. Fire detection sensing signal can be transmitted to the control server of the control center, and in addition to the location of the fire detection sensor 3040 will be easier to determine in which position the fire occurred.
  • the control server of the control center can determine the location of the fire, and if the location is detected, the position of the surrounding wireless video imaging device 3000 to capture the location of the fire. Can be fixed selectively. By doing so, it is possible to secure more imaging data of the fire occurrence point.
  • FIG. 31 is a conceptual diagram illustrating a face detection system using a plurality of cameras according to an embodiment of the present invention.
  • FIG. 31 is a block diagram illustrating a fake face detection apparatus using an infrared image according to an exemplary embodiment of the present invention.
  • the image acquirer 3110, the face region extractor 3120, the fake face detector 3130, and the face recognizer are shown. 3140.
  • the image acquisition unit 3110 includes an infrared image acquisition unit 3113 and a general image acquisition unit 3116.
  • the infrared image acquisition unit 3113 acquires an infrared image captured by the infrared camera 3103 and provides the infrared image to the forged face detection unit 3130.
  • the general image obtaining unit 3116 obtains a general image captured by the general camera 3106 and provides the same to the face region extracting unit 3120.
  • the infrared camera 3103 and the general camera 3106 may be provided with a distributed video encoder, and distributed video encoding may be performed using the distributed video encoder.
  • the distributed video encoded data by the infrared camera 3103 and the general camera 3106 may be wirelessly transmitted to a specific server, and the server may determine whether the user is based on the transmitted data.
  • the face region extractor 3120 is a component-based technique using an image processing technique with respect to a general image input from the general image acquirer 3116, or a pattern recognition technique of Adaboost or SVM (Support Vector Machine, SVM). Extracts a face region and provides it to the forged face detector 3130.
  • Adaboost or SVM (Support Vector Machine, SVM).
  • the fake face detector 3130 includes a face image evaluator, a face / no face discrimination unit, and an eyeball characteristic analyzer for evaluating the image quality characteristics of the infrared image.
  • the face image evaluator evaluates the image quality of the infrared image extracted by the face region extractor 3120 and coincides with the input face region by using the technique of Sharpness, and as a result of the evaluation, the sharpness of the infrared image is lower than that of the face region. It detects with a fake face and provides a detection result of the fake face to the face recognition unit 3140. On the other hand, if the face region and the infrared image coincide with each other, the fake face is detected as not a fake face. The detection result is provided to the face recognition unit 3140.
  • the face presence / non-determination unit is based on the characteristics of the infrared image having the characteristic that the shape of the face is not visualized in the case of the infrared image of the photograph or the fake face, and the face region extracted by the face region extraction unit 3120 is input.
  • Adaboost or SVM to discriminate the presence or absence of a face, if the face is absent, it is detected as a fake face, and the detection result of the fake face is provided to the face recognition unit 3140, If the face is unique, it is detected as not a fake face, and a detection result of not being a fake face is provided to the face recognizing unit 3140.
  • the eyeball characterization unit detects and presets an eyeball area in the actual infrared image of the user in advance, and then analyzes between the predetermined eyeball areas and the eyeball area of the infrared image input from the infrared image acquisition unit 3113 and analyzes the eyeball area.
  • the detected face is detected as a fake face, and the detection result of the fake face is provided to the face recognition unit 3140. If any of the eyeballs and the eyeballs of the infrared image are the same, it is detected as not a fake face, and the detection result of not detecting the fake face is provided to the face recognizing unit 3140.
  • the face recognition unit 3140 performs face recognition on the face region input from the face region extraction unit 3120 according to the evaluation result, the determination result, and the analysis result of not being a fake face input from the fake face detection unit 3130. On the other hand, the face recognition unit 3140 does not perform face recognition according to the evaluation result and the determination result and the analysis result of the forgery face input from the fake face detection unit 3130, or the infrared camera 3103 and the general camera 3106. Control to retry shooting.
  • the present invention captures a face image by using an infrared / visible light camera at the same time, and analyzes the characteristics of the dual input infrared image to detect whether or not a fake face, and in the case of non-falsified face, the image captured by the visible light
  • 24 to 31 illustrate some embodiments in which distributed video encoding according to an embodiment of the present invention is used, and when distributed video encoding according to the above-described embodiment of the present invention can be used.
  • the present invention is not limited to the above-described embodiment and may be utilized in various forms.
  • 32 is a conceptual diagram illustrating a distributed video encoding apparatus including a plurality of distributed video encoders according to an embodiment of the present invention.
  • the distributed video encoding apparatus 3200 may include a plurality of distributed video encoders 3200-1, 3200-2, and 3200-n, and the distributed video decoding apparatus may include a plurality of distributed video decoders ( 3210).
  • each of the distributed video encoders 3200-1, 3200-2, and 3200-n and the distributed video decoder 3210 are shown as separate components, but a plurality of distributed video encoders 3200 and a plurality of distributed units are shown.
  • the video decoder 3210 may have an integrated configuration that shares some configurations.
  • each encoder is represented by an encoder that performs distributed video encoding.
  • the encoder may have a plurality of distributed video encoders and may use a general encoder that does not perform distributed video encoding.
  • Each distributed video encoder 3200 and distributed video decoder 3210 may have a configuration of the distributed video encoder 3200 described above.
  • the distributed video encoder 3200 may include a keyframe encoder, a quantizer, a block unitizer, and a channel code encoder having the above-described configuration.
  • the distributed video encoder 3200 may include a motion compensator, a first converter, and a quantization controller. , A second transform unit, a motion predictor, a channel monitor, and the like.
  • the distributed video decoder 3210 may include a keyframe decoder, an auxiliary information generator, a channel code decoder, and an image reconstructor, and may further include a picture buffer, a motion vector generator, a first encoder, It may include a second encoder.

Abstract

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

Description

분산 비디오 부호화/복호화 방법, 분산 비디오 부호화/복호화 장치 및 변환 부호화 장치Distributed video encoding / decoding method, distributed video encoding / decoding device, and transform encoding device
본 발명은 영상 부호화 및 복호화에 관한 것으로, 더욱 상세하게는 분산 비디오 부호화(Distributed Video Coding) 기술에 적용될 수 있는 분산 비디오 부호화/복호화 방법, 분산 비디오 부호화/복호화 장치 및 변환 부호화 장치에 관한 것이다.The present invention relates to image encoding and decoding, and more particularly, to a distributed video encoding / decoding method, a distributed video encoding / decoding apparatus, and a transform encoding apparatus that can be applied to a distributed video coding technique.
비디오 플레이어, 맞춤영상정보 서비스(VOD), 영상 전화, 디지털 멀티미디어 브로드캐스팅(DMB), 무선 모바일 환경에서의 영상전송 등에 효율적인 압축기술로서 MPEG, H.26x 등의 압축 표준이 널리 사용되고 있다. 상기 압축 표준들은 시간적인 중복성(Temporal redundancy)을 제거함으로써 부호화 효율에서 큰 이득이 있는데, 상기 시간적인 중복성을 줄이기 위한 대표적인 방법으로서 움직임 예측 및 보상 기술이 있다. 하지만, 상기 움직임 예측 및 보상 기술은 동영상 부호화기에서 상대적으로 많은 연산량을 요구하기 때문에, 전력 소비가 커지게 된 단점이 있다. 따라서, 센서 네트워크와 같은 한정된 자원의 환경에서는 부호화기의 저전력화를 위해서, 부호화기의 복잡도를 줄이는 것이 중요한 기술적 문제로 대두되고 있다.MPEG, H.26x, and other compression standards are widely used as efficient compression technologies for video players, customized video information services (VOD), video telephony, digital multimedia broadcasting (DMB), and video transmission in wireless mobile environments. The compression standards have a large gain in coding efficiency by eliminating temporal redundancy. As a representative method for reducing the temporal redundancy, there are motion prediction and compensation techniques. However, since the motion prediction and compensation technique requires a relatively large amount of computation in the video encoder, power consumption increases. Therefore, in a limited resource environment such as a sensor network, in order to reduce the power of the encoder, reducing the complexity of the encoder has emerged as an important technical problem.
Slepian-Wolf 이론과 Wyner-Ziv 이론에 근거한 분산 비디오 부호화(DVC: Distributed Video Coding) 기술은 비디오 부호화 장치의 복잡도를 획기적으로 줄일 수 있는 방법으로 주목받고 있다. Slepian-Wolf 이론은 상관성이 있는 소스들을 독립적으로 부호화하여도 복호화를 서로 연계하여 수행하면 각 소스를 같이 예측 부호화하여 얻을 수 있는 부호화 이득을 동일하게 얻을 수 있음을 수학적으로 증명한 것이다. Wyner-Ziv 이론은 무손실 압축에 해당하는 Slepian-Wolf 이론을 손실 압축의 경우로 확장한 것이다. 이 두 가지 이론은 비디오 부호화의 중요 요소인 프레임간 시간 중복성을 제거하는 움직임 예측 및 보상을 부호화 이득의 손실 없이 복호화 장치 쪽으로 옮길 수 있는 가능성을 이론적으로 제시하고 있다.Distributed video coding (DVC) technology based on the Slepian-Wolf theory and the Wyner-Ziv theory has attracted attention as a method of drastically reducing the complexity of the video encoding apparatus. The Slepian-Wolf theory mathematically proves that even if the correlated sources are encoded independently, the decoding gains can be equally obtained by performing the prediction encoding on each source together. The Wyner-Ziv theory extends the Slepian-Wolf theory, which is a lossless compression, to lossy compression. These two theories theoretically suggest the possibility of moving motion prediction and compensation, which eliminates inter-frame time redundancy, an important element of video coding, to the decoding device without loss of coding gain.
Wyner-Ziv 부호화 기술은 분산 비디오 부호화 기술의 대표적인 방법으로써 복호화 장치에서 복원된 이웃 프레임간의 유사도를 이용하여 현재 프레임에 대한 보조 정보(Side Information)을 생성하고, 생성된 보조 정보와 현재 프레임 사이의 차이를 가상의 채널 잡음(virtual channel noise)으로 간주한 후, 부호화 장치에서 채널 부호화로 생성된 패리티 비티를 전송 받아 보조 정보에 포함된 잡음을 제거하여 현재 프레임을 복원 한다.Wyner-Ziv coding technology is a representative method of distributed video coding technology, and generates side information of a current frame by using similarity between neighboring frames reconstructed by a decoding apparatus, and a difference between the generated auxiliary information and the current frame. Is regarded as virtual channel noise, and the encoding apparatus receives the parity bits generated by channel encoding to remove the noise included in the auxiliary information to restore the current frame.
즉, 분산 비디오 부호화 기술은 부호화기에서 계산량을 가장 많이 차지하는 움직임 예측을 복호화기에서 실행하도록 함으로써 부호화기의 복잡도를 낮추는 방법으로, 부호화기에서는 비디오 프레임들을 서로 독립적으로 부호화하며 기존 기술과 같이 비디오 프레임들 사이의 유사도를 검출하기 위해 비디오 프레임들을 스캔하지 않기 때문에 부호화기의 연산량을 줄일 수 있다. In other words, the distributed video encoding technique reduces the complexity of the encoder by allowing the decoder to perform motion prediction, which takes up the largest amount of computation in the encoder. The encoder encodes video frames independently of each other, Since the video frames are not scanned to detect similarity, the amount of computation of the encoder can be reduced.
상술한 분산 비디오 부호화 기술이 적용된 분산 비디오 부호화기 및 복호화기에서 부호화 효율과 관련하여 가장 중요한 부분 중 하나는 복호화기에서 WZ 프레임에 상응하는 보조 정보에 대한 예측 정확도와 패리티 채널 복호화시 채널 추정의 오류 확률이다.In the distributed video encoder and decoder to which the above-described distributed video encoding technique is applied, one of the most important parts in terms of coding efficiency is the prediction accuracy of the auxiliary information corresponding to the WZ frame in the decoder and the error probability of channel estimation in parity channel decoding. to be.
즉, 분산 비디오 부호화기에서 채널 부호화를 통해 패리티 비트를 생성하기 위해 사용되는 정보는 원본 WZ 프레임이고, 분산 비디오 복호화기에서 전송된 패리티 비트를 이용하여 채널 복호화를 수행할 때 사용하는 정보는 예측된 WZ 프레임에 해당하는 보조 정보이기 때문에 원본 WZ 프레임과 보조 정보 사이에 사이에 유사도가 높을수록 채널 복호화를 위해 사용되는 패리티 비트의 양을 감소시킬 수 있고, 이에 따라 요구되는 계산량도 감소하게 된다.That is, the information used to generate parity bits through channel encoding in the distributed video encoder is an original WZ frame, and the information used when performing channel decoding using parity bits transmitted from the distributed video decoder is predicted WZ. Since the information is auxiliary information corresponding to the frame, the higher the similarity between the original WZ frame and the auxiliary information, the more the amount of parity bits used for channel decoding can be reduced, thereby reducing the amount of computation required.
그러나, 종래의 분산 비디오 부호화 방법에서는 부호화기가 복호화기에서 생성되는 보조 정보의 예측 정확도를 알 수 없기 때문에 고정된 크기를 가지는 패리티 비트 및 양자화된 데이터를 복호화기로 전송할 수밖에 없고, 이에 따라 전체적인 부호화 효율의 향상에 제약이 있다.However, in the conventional distributed video encoding method, since the encoder does not know the prediction accuracy of the auxiliary information generated by the decoder, it is necessary to transmit the parity bits and the quantized data having a fixed size to the decoder. There is a limit to improvement.
도 1은 종래의 Wyner-Ziv 코딩 기술에 따른 부호화기(110)와 이에 상응하는 복호화기(130)의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of an encoder 110 and a decoder 130 corresponding to the conventional Wyner-Ziv coding technique.
Wyner-Ziv 코딩 기술에 따른 부호화기(110)는 소스 비디오 컨텐트(source video content)의 픽처들을 두 종류로 분류한다. 하나는 분산 비디오 부호화 방식에 의하여 부호화할 프레임(이하, 'WZ 프레임'라 함)이고, 다른 하나는 분산 비디오 부호화 방식이 아닌 종래의 부호화 방식에 의하여 부호화할 픽처(이하, '키프레임'라 함)이다.The encoder 110 according to the Wyner-Ziv coding technique classifies pictures of source video content into two types. One is a frame to be encoded by using a distributed video coding method (hereinafter referred to as a 'WZ frame'), and the other is a picture to be encoded by a conventional coding method (hereinafter referred to as a 'key frame') rather than a distributed video coding method. )to be.
키프레임들은 키프레임 부호화부(114)에서 예를 들어 H.264/AVC의 인트라 부호화 방식으로 부호화되어 복호화기(130)로 전송된다. 종래의 Wyner-Ziv 코딩 기술에 따른 부호화기(110)에 상응하는 복호화기(130)의 키프레임 복호화부(133)는, 전송된 키프레임들을 복원한다. 보조정보 생성부(134)는, 키프레임 복호화부(133)에 의해 복원된 키프레임을 이용하여 WZ프레임에 해당하는 보조정보(Side Information)를 생성하고 보조정보를 채널코드 복호화부(131)로 출력한다.The keyframes are encoded by the intraframe encoding method of, for example, H.264 / AVC in the keyframe encoder 114 and transmitted to the decoder 130. The keyframe decoder 133 of the decoder 130 corresponding to the encoder 110 according to the conventional Wyner-Ziv coding technique reconstructs the transmitted keyframes. The auxiliary information generating unit 134 generates side information corresponding to the WZ frame by using the key frame restored by the key frame decoding unit 133 and converts the auxiliary information to the channel code decoding unit 131. Output
보조정보 생성부(134)는, 현재 WZ프레임 전후에 위치한 키프레임 간의 선형 움직임을 가정하고, 보간법을 이용하여 복원할 WZ프레임에 해당하는 보조정보(Side Information)를 생성한다. 경우에 따라, 보간법 대신에 보외법을 사용할 수도 있으나 보간법으로 생성된 보조정보에서의 잡음이 보외법으로 생성된 보조정보에서의 잡음보다 적기 때문에, 대부분의 경우에서 보간법이 사용되고 있다. 한편, WZ프레임을 부호화하기 위해서, 부호화기(110)의 양자화부(112)는 WZ프레임에 대한 양자화를 수행하고, WZ프레임의 양자화값을 블록단위화부(112)로 출력한다. 블록단위화부(111)는 입력되는 WZ프레임의 양자화된 값을 소정의 부호화 단위로 구분한다. 그리고, 채널코드 부호화부(113)는 채널코드를 이용하여 각 부호화단위에 대한 패리티 비트를 생성한다.The auxiliary information generator 134 assumes linear motion between key frames located before and after the current WZ frame, and generates side information corresponding to the WZ frame to be restored using interpolation. In some cases, the interpolation method may be used instead of the interpolation method, but since the noise in the auxiliary information generated by the interpolation method is smaller than the noise in the auxiliary information generated by the interpolation method, the interpolation method is used in most cases. Meanwhile, in order to encode the WZ frame, the quantization unit 112 of the encoder 110 performs quantization on the WZ frame and outputs the quantization value of the WZ frame to the block unitization unit 112. The block unit unit 111 classifies the quantized value of the input WZ frame into predetermined coding units. The channel code encoder 113 generates a parity bit for each coding unit by using the channel code.
생성된 패리티 비트는 패리티 버퍼(미도시)에 일시적으로 저장되었다가 복호화기(130)에서 피드백채널을 통하여 패리티를 요청하면 순차적으로 전송된다. 도 1의 채널코드 복호화부(131)는 부호화기(110)로부터 전송되는 패리티를 받아서 양자화된 값을 추정한다. 도 1의 영상복원부(132)는 채널코드 복호화부(131)에 의해 추정된 양자화 값을 입력받아 이를 역양자화 하여 WZ프레임를 복원한다.The generated parity bits are temporarily stored in a parity buffer (not shown), and are sequentially transmitted when the decoder 130 requests parity through a feedback channel. The channel code decoder 131 of FIG. 1 receives the parity transmitted from the encoder 110 and estimates the quantized value. The image restorer 132 of FIG. 1 receives the quantized value estimated by the channel code decoder 131 and inversely quantizes the quantized value to restore the WZ frame.
만약 부호화기(110)로부터 제공된 패리티 비트들이 성공적인 복호화를 보장할 수 있을 만큼 충분하지 못하여 복호화에 실패하는 경우, 복호화부(131)는 피드백 채널을 통해 부호화기(110)에게 더 많은 패리티 비트의 전송을 요청하게 되고, 이와 같은 과정은 복호화가 성공할 때까지 반복된다.If the decoding fails because the parity bits provided from the encoder 110 are not sufficient to ensure successful decoding, the decoder 131 requests the encoder 110 to transmit more parity bits through a feedback channel. This process is repeated until decryption succeeds.
상술한 바와 같은 구조로 인하여 피드백 채널을 사용하는 분산 비디오 부호화 방법은 채널 모델링을 정확하게 수행할 수 있는 장점은 있으나 피드백에 따른 전송 지연이 커지게 되어 서비스 품질(Quality of Service)이 저하되는 단점이 있다.The distributed video encoding method using the feedback channel has the advantage of accurately performing channel modeling due to the above-described structure, but has a disadvantage in that the quality of service decreases due to a large transmission delay according to the feedback. .
피드백 채널을 사용하지 않는 분산 비디오 부호화 방법(예를 들면, PRISM: Power-efficient, Robust high-compression, Syndrome-based Multimedia Coding)은 채널 모델링을 부호화 장치의 분류기(classifier)를 통해 수행하고 이를 통하여 비트율 제어를 수행하며 복호화의 성공 여부는 CRC(Cyclic Redundancy Check)를 통해 확인한다.A distributed video coding method that does not use a feedback channel (eg, PRISM: Power-efficient, Robust high-compression, Syndrome-based Multimedia Coding) performs channel modeling through a classifier of an encoding device and thereby uses a bit rate. Control is performed and success of decryption is checked through a cyclic redundancy check (CRC).
즉, 피드백 채널을 사용하지 않는 분산 비디오 부호화 방법에서는 부호화 장치에서 채널 모델링을 수행하기 때문에 피드백이 필요 없고 이로 인해 이로 인해 전송 지연이 적은 장점이 있으나, 부호화 장치에서 채널 모델링을 수행하기 때문에 정확한 채널 모델링이 어렵다는 단점이 있다. In other words, in the distributed video coding method that does not use the feedback channel, feedback is not required because the coding apparatus performs channel modeling, and thus the transmission delay is low because of the channel modeling. However, accurate channel modeling is performed because the coding apparatus performs channel modeling. This has the disadvantage of being difficult.
피드백 채널을 사용하지 않는 분산 비디오 부호화 방법에서 상술한 바와 같은 단점을 보완하기 위해 움직임 예측을 수행할 경우 채널 모델링의 정확도는 향상되나 부호화 장치의 복잡도가 증가하게 되어 분산 비디오 부호화 방법의 장점이 감소하게 되고 움직임 보상을 수행하지 않는 경우에는 채널 모델링의 정확도가 감소하여 압축효율이 떨어지게 된다.In the distributed video coding method that does not use the feedback channel, when the motion prediction is performed to compensate for the above-mentioned disadvantages, the accuracy of the channel modeling is improved, but the complexity of the coding apparatus increases, thereby reducing the advantages of the distributed video coding method. If the motion compensation is not performed, the accuracy of channel modeling decreases, thereby reducing the compression efficiency.
상술한 바와 같은 분산 비디오 부호화 기술에서 데이터의 전송시 채널 손실이 발생하는 경우에는 복호화에 실패하게 된다. 이와 같은 경우 피드백 채널을 사용하는 분산 비디오 부호화의 경우에는 추가 패리티 비트를 부호화 장치에 요청하여 복호화에 성공할 수 있다. 그러나, 피드백으로 인한 지연과 네트워크 자원의 사용량이 증가하게 되는 문제가 발생하는 단점이 있다. 또는, 피드백 채널을 사용하지 않는 분산 비디오 부호화 방법의 경우에는 복호화 실패에 따라 품질이 저하된다.In the distributed video encoding technique described above, when channel loss occurs during data transmission, decoding fails. In such a case, in the case of distributed video encoding using a feedback channel, an additional parity bit may be requested to an encoding device, and decoding may be successful. However, there is a problem in that delay caused by feedback and usage of network resources increase. Alternatively, in the case of a distributed video encoding method that does not use a feedback channel, quality deteriorates due to decoding failure.
종래의 채널 손실을 보상하는 방법은 크게 채널 부호화를 이용하는 방법과 재전송을 하는 방법으로 구분할 수 있다. 채널 부호화를 이용하는 방법은 채널 손실이 발생한 경우 추가적으로 FEC(Forward Error Correction) 패킷을 전송하는 방법이고, 재전송 방법은 손실이 발생한 패킷을 다시 전송하는 방법이다. 그러나, 채널 부호화를 이용하는 방법과 재전송을 이용하는 방법 모두 전송하고자 하는 원래의 데이터보다 많은 양의 데이터를 전송해야 하고 이는 네트워크 자원의 사용량 증가를 초래하여 네트워크 자원이 한정된 경우에는 사용이 제한된다.Conventional methods for compensating channel loss can be largely divided into a method using channel coding and a method of retransmission. The channel encoding method is a method of additionally transmitting a Forward Error Correction (FEC) packet when a channel loss occurs, and the retransmission method is a method of retransmitting a packet having a loss. However, both the method using channel coding and the method using retransmission have to transmit a larger amount of data than the original data to be transmitted, which leads to an increase in the use of network resources, thereby limiting its use when network resources are limited.
상기 Wyner-Ziv 이론에 기초한 분산 비디오 부호화 방법은, 복호화기에서 생성된 보조정보에 추가되어 있는 잡음을 패리티를 사용해서 정정함으로써 현재 WZ 프레임을 복원하는 기술이다. 따라서, 생성된 보조정보에 추가된 잡음이 적을수록 요구하는 패리티의 양이 적게 되므로, 율-왜곡(Rate Distortion) 관점에서 좋은 성능을 가지기 위해서는 보조정보를 잡음없이 잘 생성하는 것이 중요하다.The distributed video encoding method based on the Wyner-Ziv theory is a technique of reconstructing a current WZ frame by correcting noise added to auxiliary information generated by a decoder using parity. Therefore, the less noise added to the generated auxiliary information, the smaller the amount of parity required. Therefore, it is important to generate auxiliary information well without noise in order to have good performance in terms of rate distortion.
종래의 보조정보 생성방법은 복원된 키픽처 내에 존재하는 고정된 크기의 블록(예: 8x8)을 이용하여 움직임 벡터를 추정하고 복원하고자 하는 보조정보의 움직임 벡터를 프레임 간의 거리를 고려하여 상기 복원된 키프레임 간의 움직임 벡터로부터 얻는다. 이렇게 얻어진 보조정보의 움직임 벡터가 지시하는 키프레임 내의 복호화 단위를 보조정보로 생성하는 것이다.The conventional auxiliary information generating method estimates a motion vector using a fixed size block (eg, 8x8) existing in the reconstructed key picture and reconstructs the motion vector of the auxiliary information to be restored in consideration of the distance between frames. Obtained from motion vectors between keyframes. The decoding unit in the key frame indicated by the motion vector of the auxiliary information thus obtained is generated as auxiliary information.
도 2는 보간법을 이용한 종래의 보조정보 생성을 예시한 것이다. 복원할 보조정보의 움직임 벡터를 복원된 키프레임 간의 고정된 크기의 블록을 이용하여 얻은 움직임 벡터로부터 얻는 과정을 예시한 것이며, 프레임 간의 거리를 고려하면 보조정보의 움직임 벡터는 키프레임 간의 움직임 벡터의 1/2임을 알 수 있다. 2 illustrates a conventional generation of auxiliary information using an interpolation method. The process of obtaining the motion vector of the auxiliary information to be reconstructed from the motion vector obtained by using a fixed size block between the reconstructed keyframes. It can be seen that 1/2.
도 3은 보외법을 이용한 종래의 보조정보 생성을 예시한 것이다. 복원할 보조정보의 움직임 벡터를 복원된 키프레임 간의 고정된 크기의 블록을 이용하여 얻은 움직임 벡터로부터 얻는 과정을 예시한 것이며, 픽처 간의 거리를 고려하면 보조정보의 움직임 벡터는 키프레임 간의 움직임 벡터와 같음을 알 수 있다. 3 illustrates a conventional generation of auxiliary information using extrapolation. The process of obtaining the motion vector of the auxiliary information to be reconstructed from the motion vector obtained by using a fixed size block between the reconstructed keyframes. Considering the distance between the pictures, the motion vector of the auxiliary information is determined by It can be seen that the same.
이와 같이, 생성하고자 하는 보조정보의 움직임 벡터를 상기 복원된 키프레임 내에 존재하는 고정된 크기의 블록을 이용한 움직임 벡터로부터 얻게 되면, 프레임 간에 움직임이 복잡한 경우 또는 움직임이 선형적으로 변하지 않는 경우 또는 물체 및 배경이 갑자기 사라지거나 나타나는 경우에 잘못된 보조정보를 생성할 수 있다. 특히, 키 프레임간의 움직임 예측을 위해 사용되는 고정 블록의 크기가 커지면 획득된 움직임 벡터의 정확도는 배경과 같이 단순한 영역에서는 실제 영상의 움직임과 유사하지만 복잡한 물체가 존재하는 부분에서는 그렇지 못하다. As such, when the motion vector of the auxiliary information to be generated is obtained from the motion vector using a fixed size block existing in the reconstructed keyframe, the motion is complicated between frames or the motion does not linearly change or an object And when the background suddenly disappears or appears, incorrect auxiliary information can be generated. In particular, when the size of the fixed block used for motion prediction between key frames increases, the accuracy of the obtained motion vector is similar to the motion of an actual image in a simple region such as a background, but not in a part where a complex object exists.
이와는 반대로, 키 프레임간의 움직임 예측을 위해 사용되는 고정 블록의 크기가 줄어들면 움직임 벡터를 추정하기 위해 사용되는 픽셀의 개수가 작아지게 되므로, 키프레임 사이에서 움직임 예측을 통해 획득된 움직임 벡터가 실제 영상의 움직임과 불일치하는 경우가 빈번히 발생한다. 이러한 이유로 종래의 보조정보 생성을 위하여 움직임예측에 사용되는 블록의 크기는 일반적으로 8x8이 사용된다.In contrast, when the size of the fixed block used for motion prediction between key frames decreases, the number of pixels used for estimating the motion vector decreases, so that the motion vector obtained through the motion prediction between key frames is obtained from the actual image. Frequent occurrences of inconsistencies with the movements of For this reason, 8x8 is generally used for the block size used for motion prediction for generating auxiliary information.
상기의 경우와 같이 고정된 블록 크기를 이용한 움직임 예측에 의하여 생성된 보조정보는 잡음이 많이 첨가되어 있기 때문에, 전송된 패리티로 잡음을 충분히 제거 할 수 없다. As in the above case, since the auxiliary information generated by the motion prediction using the fixed block size has a lot of noise, the transmitted parity cannot sufficiently remove the noise.
본 발명의 제1 목적은 가변 블록 움직임 예측을 이용한 분산 비디오 복호화 장치를 제공하는 것이다.A first object of the present invention is to provide a distributed video decoding apparatus using variable block motion prediction.
본 발명의 제2 목적은 가변 블록 움직임 예측을 이용한 분산 비디오 복호화 방법을 제공하는 것이다.A second object of the present invention is to provide a distributed video decoding method using variable block motion prediction.
본 발명의 제3 목적은 부호화 효율을 향상시킬 수 있고 처리 복잡도를 감소시킬 수 있는 분산 비디오 부호화/복호화 방법을 제공하는 것이다.It is a third object of the present invention to provide a distributed video encoding / decoding method capable of improving encoding efficiency and reducing processing complexity.
본 발명의 제4 목적은 상기 분산 비디오 부호화/복호화 방법을 실행하는 분산 비디오 부호화/복호화 장치를 제공하는 것이다.It is a fourth object of the present invention to provide a distributed video encoding / decoding apparatus that performs the distributed video encoding / decoding method.
본 발명의 제5 목적은 상기 분산 비디오 부호화 방법을 통해 부호화된 영상을 일반적인 복호화기에서 복호화할 수 있도록 부호화하는 변환 부호화기를 제공하는 것이다.A fifth object of the present invention is to provide a transform encoder that encodes an image encoded by the distributed video encoding method so that it can be decoded by a general decoder.
본 발명의 제6 목적은 손실 강인성 및 서비스 품질을 향상시킬 수 있는 분산 비디오 부호화/복호화 방법을 제공하는 것이다.A sixth object of the present invention is to provide a distributed video encoding / decoding method capable of improving loss robustness and quality of service.
본 발명의 제7 목적은 손실 강인성 및 서비스 품질을 향상시킬 수 있는 분산 비디오 부호화/복호화 장치를 제공하는 것이다.A seventh object of the present invention is to provide a distributed video encoding / decoding apparatus capable of improving loss robustness and quality of service.
본 발명의 제8 목적은 복수의 영상 촬영 장치를 사용한 영상 부호화 방법을 제공하는 것이다. An eighth object of the present invention is to provide an image encoding method using a plurality of image photographing apparatuses.
본 발명의 제9 목적은 복수의 영상 촬영 장치를 사용한 영상 부호화 방법을 제공하는 것이다. A ninth object of the present invention is to provide an image encoding method using a plurality of image photographing apparatuses.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 가변블럭 움직임 예측을 이용한 분산 비디오 복호화 장치는 키프레임 부호화 장치로부터 전송되는 키프레임를 복원하는 키프레임 복호화부, 상기 복원된 키프레임을 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하고 상기 생성한 움직임 벡터를 출력하는 움직임 벡터 생성부, 상기 복원된 키 프레임 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 보조정보 생성부, 분산 비디오 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 채널코드 복호화부 및 상기 채널 복호화부에 의해 추정된 상기 양자화된 값과 상기 보조정보를 기초로 분산 비디오 복호화 대상이 되는 현재의 프레임를 복원하는 영상복원부를 포함할 수 있다. 상기 움직임 벡터 생성부는 상기 보조 정보의 움직임 예측을 위해 블록의 크기가 상이한 복수의 블록을 결정하고, 상기 결정된 블록들을 기초로 상기 복원된 키 프레임들간의 움직임 벡터들을 구하고, 소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택할 수 있다. 상기 움직임 벡터 생성부는 상기 복원된 키 프레임을 이용한 움직임 예측을 위하여 복수개의 블록 크기들을 결정하는 블록 크기 결정부, 상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 영역을 탐색하여 상기 제1 블록과 가장 일치하는 제2 블록을 찾아내고, 상기 제1 블록과 상기 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수의 블록 크기들에 대해 각각 생성하는 움직임 예측 수행부, 상기 움직임 예측 수행부에 의해 생성된 움직임 벡터들을 저장하는 움직임 벡터 저장부 및 상기 움직임 벡터들 중 상기 하나의 키 픽처의 제1 블록과 상기 다른 하나의 키 픽처의 제2 블록간의 유사도를 측정하여 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택하는 움직임 벡터 선택부를 포함할 수 있다. 상기 움직임 벡터 선택부는 상기 제1 블록과 상기 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 상기 유사도를 측정할 수 있다. 상기 움직임 예측을 수행하기 위한 블록의 크기는 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 및 4x4 블록 크기들 중 적어도 하나일 수 있다. 상기 움직임 예측을 수행하기 위한 블록의 크기는 상기 복원된 키 프레임들 간에 움직임 변화를 판단하여 결정될 수 있다. 상기 블록 크기 결정부는 상기 복원된 키 프레임들 간에 움직임 변화가 작은 경우, 16x16, 16x8 및 8x16의 블록 크기 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록 크기를 결정할 수 있다. 상기 블록 크기 결정부는 상기 복원된 키 프레임들 간에 움직임 변화가 큰 경우, 8x8, 8x4, 4x8 및 4x4의 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록 크기를 결정할 수 있다. A distributed video decoding apparatus using variable block motion prediction according to an aspect of the present invention for achieving the first object of the present invention includes a keyframe decoder for reconstructing a keyframe transmitted from a keyframe encoding apparatus, and the reconstructed key. A motion vector generator for generating a motion vector by determining a size of a block for performing a motion prediction using a frame and outputting the generated motion vector, and supplementary information using the reconstructed key frame and the generated motion vector. An auxiliary information generator to generate, a channel code decoder to estimate a quantized value using the parity bits transmitted from the distributed video encoding apparatus and the auxiliary information, and the quantized value and the auxiliary information estimated by the channel decoder Copy the current frame to be distributed video decoding based on Image restoration may include a to. The motion vector generator determines a plurality of blocks having different block sizes for motion prediction of the auxiliary information, obtains motion vectors between the reconstructed key frames based on the determined blocks, and obtains the motion vectors based on a predetermined criterion. A motion vector may be selected among the motion vectors. The motion vector generator is a block size determiner that determines a plurality of block sizes for motion prediction using the reconstructed key frame, and finds an area that matches a first block of one key frame among the reconstructed key frames. The region of one of the reconstructed key frames is searched to find a second block that most closely matches the first block, and the motion vector is a difference value between the first block and the second block. A motion prediction execution unit for generating a plurality of block sizes, a motion vector storage unit for storing the motion vectors generated by the motion prediction execution unit, and a first block of the one key picture among the motion vectors; The similarity between the second blocks of the other key picture is measured to obtain a motion vector of a block size corresponding to the highest similarity. It may include vector selection unit configured to select motion. The motion vector selector includes a sum of absolute difference (SAD) between the first block and the second block, a mean absolute difference (MAD), and an average sum of SSDs. The degree of similarity may be measured using any one of (of: Square Difference). The block size for performing the motion prediction may be at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes. The size of the block for performing the motion prediction may be determined by determining a change in motion between the reconstructed key frames. The block size determiner may determine a block size for performing the motion prediction to at least one of the block sizes of 16x16, 16x8, and 8x16 when the change in motion between the reconstructed key frames is small. The block size determiner may determine a block size for performing the motion prediction with at least one of block sizes of 8x8, 8x4, 4x8, and 4x4 when the motion change between the reconstructed key frames is large.
상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 가변블럭 움직임 예측을 이용한 분산 비디오 복호화 방법은 키 프레임 부호화 장치로부터 전송되는 키 프레임을 복원하는 단계, 상기 복원된 키 프레임을 이용한 움직임 예측을 수행하기 위한 블록 크기를 결정하여 움직임 벡터를 생성하는 단계, 상기 복원된 키 프레임 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 단계 및 분산 비디오 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 단계 및 상기 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 분산 비디오 복호화 대상이 되는 현재의 프레임을 복원하는 단계를 포함할 수 있다. 상기 복원된 키 프레임을 이용한 움직임 예측을 수행하기 위한 블록 크기를 결정하여 움직임 벡터를 생성하는 단계는 상기 보조 정보의 움직임 예측을 위해 크기가 상이한 복수의 블록을 결정하는 단계, 상기 결정된 복수의 블록을 기초로 상기 복원된 키프레임들간의 움직임 벡터들을 구하는 단계 및 소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택하는 단계를 포함할 수 있다. 상기 결정된 복수의 블록을 기초로 상기 복원된 키프레임들간의 움직임 벡터들을 구하는 단계는 상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 영역을 탐색하여 상기 제1 블록과 가장 일치하는 제2 블록을 찾아내는 단계 및 제1 블록과 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수개의 블록 크기들에 대해 각각 생성하는 단계를 포함할 수 있다. 상기 소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택하는 단계는 상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 제2 블록간의 유사도를 상기 각 움직임 벡터에 대해 측정하는 단계 및 상기 각 움직임 벡터에 대해 측정된 제1 블록과 제2 블록의 유사도 중 가장 높은 유사도를 가지는 제1 블록과 제2 블록 사이의 움직임 벡터를 선택하는 단계를 포함할 수 있다. 상기 유사도는 제1 블록과 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 측정될 수 있다. 상기 움직임 예측을 수행하기 위한 블록의 크기는 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 및 4x4 블록 크기들 중 적어도 하나일 수 있다. 상기 움직임 예측을 수행하기 위한 블록의 크기는 상기 복원된 키 프레임들 간에 움직임 변화를 판단하여 결정될 수 있다. 상기 블록 크기 결정부는 상기 복원된 키 프레임들 간에 움직임 변화가 작은 경우, 16x16, 16x8 및 8x16의 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록의 크기를 결정할 수 있다. 상기 블록 크기 결정부는 상기 복원된 키 프레임들 간에 움직임 변화가 큰 경우, 8x8, 8x4, 4x8 및 4x4의 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록의 크기를 결정할 수 있다. A distributed video decoding method using variable block motion prediction according to an aspect of the present invention for achieving the second object of the present invention comprises the steps of: reconstructing a key frame transmitted from a key frame encoding apparatus; Generating a motion vector by determining a block size for performing the motion prediction, generating auxiliary information using the reconstructed key frame and the generated motion vector, and a parity bit transmitted from a distributed video encoding apparatus; Estimating a quantized value using the auxiliary information, and reconstructing a current frame to be distributed video decoding using the estimated quantized value and the auxiliary information. Generating a motion vector by determining a block size for performing motion prediction using the reconstructed key frame may include determining a plurality of blocks having different sizes for motion prediction of the auxiliary information, and determining the plurality of determined blocks. The method may include obtaining motion vectors between the reconstructed keyframes and selecting a motion vector among the obtained motion vectors based on a predetermined criterion. Obtaining motion vectors between the reconstructed keyframes based on the determined plurality of blocks comprises: selecting among the reconstructed keyframes to find a region that matches a first block of one of the reconstructed keyframes. Searching an area of another key frame to find a second block that most closely matches the first block, and generating a motion vector for each of the plurality of block sizes, the motion vector being a difference value between the first block and the second block; It may include the step. Selecting a motion vector among the obtained motion vectors according to the predetermined criterion may include a first block of one key frame of the reconstructed key frames and a second key of the other one of the reconstructed key frames. Measuring a similarity between blocks for each motion vector and selecting a motion vector between the first block and the second block having the highest similarity among the similarities of the first block and the second block measured for each motion vector; It may include the step. The degree of similarity may include the sum of absolute difference (SAD) between the first block and the second block, the mean absolute difference (MAD), and the sum of square difference (SSD). The sum of squares of the differences of each block). The block size for performing the motion prediction may be at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes. The size of the block for performing the motion prediction may be determined by determining a change in motion between the reconstructed key frames. The block size determiner may determine a size of a block for performing the motion prediction with at least one of block sizes of 16x16, 16x8, and 8x16 when the change in motion between the reconstructed key frames is small. The block size determiner may determine a size of a block for performing the motion prediction with at least one of block sizes of 8x8, 8x4, 4x8, and 4x4 when a change in motion between the reconstructed key frames is large.
상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일 측면에 따른 제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 방법은 상기 제1 프레임을 부호화하고 부호화된 제1 프레임을 전송하는 단계, 분산 비디오 복호화 장치로부터 움직임 벡터를 제공받는 단계, 제공된 상기 움직임 벡터에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 단계, 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계 및 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계를 포함할 수 있다. 상기 분산 비디오 부호화 방법은 입력된 상기 제2 프레임을 변환(transform)하는 단계, 상기 보조 정보가 생성된 후, 생성된 상기 보조 정보를 변환하는 단계 및 상기 제2 프레임이 양자화된 후, 양자화된 상기 제2 프레임에 대해 채널 부호화를 수행하여 패리티 비트를 생성하는 단계를 더 포함할 수 있다. 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는 변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득할 수 있다. 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는 상기 변환된 보조 정보 및 상기 변환된 제2 프레임을 비교하여 오류가 발생된 블록의 위치를 판단하는 단계, 상기 변환된 보조 정보내에서 오류의 양을 판단하는 단계 및 판단된 상기 오류의 양 및 부호화 코드의 길이에 기초하여 교차 확률(crossover)을 획득하는 단계를 포함할 수 있다. 상기 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계는 획득한 상기 예측 오차에 기초하여 양자화 비트수를 결정하는 단계 및 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정하는 단계를 포함할 수 있다. 상기 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정하는 단계는 상기 제2 프레임을 구성하는 모든 블록 각각에 대해 오류가 발생하지 않고, 상기 교차확률이 미리 설정된 임계값 보다 작은 블록은 양자화를 생략하고, 오류가 발생하였거나 상기 교차확률이 상기 임계값 이상인 블록은 양자화를 실행할 수 있다. A distributed video encoding method for encoding an image divided into a first frame and a second frame according to an aspect of the present invention for achieving the third object of the present invention includes encoding and encoding the first frame. Transmitting one frame, receiving a motion vector from a distributed video decoding apparatus, generating auxiliary information corresponding to the second frame based on the provided motion vector, the generated auxiliary information and the second frame Obtaining a prediction error of the auxiliary information based on the quantization of the second frame based on the obtained prediction error. The distributed video encoding method may include transforming the input second frame, generating the auxiliary information, transforming the generated auxiliary information, and after the second frame is quantized, The method may further include generating parity bits by performing channel encoding on the second frame. Obtaining the prediction error of the auxiliary information based on the generated auxiliary information and the second frame may obtain the prediction error based on the converted auxiliary information and the converted second frame. Obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame may be performed by comparing the converted auxiliary information and the converted second frame to determine a location of a block in which an error has occurred. The method may include determining an amount of an error in the transformed auxiliary information, and obtaining a crossover probability based on the determined amount of the error and a length of an encoding code. Quantizing the second frame based on the obtained prediction error includes determining a number of quantization bits based on the obtained prediction error and configuring each second frame based on the obtained prediction error. And determining whether to execute quantization of the block. Determining whether to execute quantization of each block constituting the second frame based on the obtained prediction error does not occur for each block constituting the second frame, and the cross probability is determined in advance. Blocks smaller than the set threshold may omit quantization, and blocks having an error or having a cross probability greater than or equal to the threshold may perform quantization.
상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일 측면에 따른 분산 비디오 복호화 방법은 부호화된 제1 프레임을 복호화하는 단계, 복호화된 적어도 하나의 상기 제1 프레임에 기초하여 움직임 벡터를 생성하는 단계, 생성된 상기 움직임 벡터를 부호화 장치로 전송하는 단계, 생성된 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 단계, 상기 부호화 장치로부터 제공된 패리티 비트 및 상기 보조 정보를 이용하여 상기 보조 정보를 정정하는 단계 및 정정된 상기 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 단계를 포함할 수 있다. A distributed video decoding method according to an aspect of the present invention for achieving the third object of the present invention includes decoding a first encoded frame and generating a motion vector based on the at least one first decoded frame. Transmitting the generated motion vector to an encoding device; generating auxiliary information corresponding to a second frame using the generated motion vector; using parity bits and the auxiliary information provided from the encoding device. And correcting the auxiliary information, and inversely quantizing the corrected auxiliary information to restore the second frame.
상술한 본 발명의 제4 목적을 달성하기 위한 본 발명의 일 측면에 따른 제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 장치는 상기 제1 프레임을 부호화하는 부호화부, 복호화 장치로부터 제공된 움직임 벡터 및 부호화된 제1 프레임에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 움직임 보상부, 생성된 상기 보조 정보 및 입력된 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하고, 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 양자화 제어부 및 양자화된 제2 프레임을 채널 부호화하여 패리티 비트를 생성하는 채널 부호화부를 포함할 수 있다. 상기 분산 비디오 부호화 장치는 생성된 상기 보조 정보를 변환(transform)하는 제1 변환부, 입력된 상기 제2 프레임을 변환하는 제2 변환부를 더 포함할 수 있다. 상기 양자화 제어부는 변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득할 수 있다. 상기 양자화 제어부는 상기 변환된 보조 정보 및 상기 변환된 제2 프레임을 비교하여 오류가 발생된 블록의 위치를 판단하고, 상기 변환된 보조 정보내에서 오류의 양을 판단하고, 판단된 상기 오류의 양 및 부호화 코드의 길이에 기초하여 교차 확률(crossover)을 획득함으로써 상기 예측 오차를 획득할 수 있다. 상기 양자화 제어부는 획득한 상기 예측 오차에 기초하여 양자화 비트수를 결정하고 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정할 수 있다. 상기 양자화 제어부는 상기 제2 프레임을 구성하는 모든 블록 각각에 대해 오류가 발생하지 않고 상기 교차확률이 미리 설정된 임계값 보다 작은 블록은 양자화를 생략하고, 오류가 발생하였거나 상기 교차확률이 상기 임계값 이상인 블록은 양자화를 실행할 수 있다. According to an aspect of the present invention, there is provided a distributed video encoding apparatus configured to encode an input image divided into a first frame and a second frame, the encoder configured to encode the first frame; A motion compensator for generating auxiliary information corresponding to the second frame based on the motion vector provided from the decoding apparatus and the encoded first frame, and the auxiliary information based on the generated auxiliary information and the input second frame. The apparatus may include a quantization control unit that obtains a prediction error, quantizes the second frame based on the obtained prediction error, and a channel encoder that generates parity bits by channel coding the quantized second frame. The distributed video encoding apparatus may further include a first transformer configured to transform the generated auxiliary information and a second transformer configured to transform the input second frame. The quantization controller may obtain the prediction error based on the transformed auxiliary information and the transformed second frame. The quantization control unit compares the transformed auxiliary information with the transformed second frame to determine a location of a block in which an error occurs, determines an amount of an error in the converted auxiliary information, and determines the amount of the error. And by obtaining a crossover probability based on a length of an encoding code, the prediction error may be obtained. The quantization controller may determine the number of quantization bits based on the obtained prediction error and determine whether to perform quantization of each block constituting the second frame. The quantization control unit does not generate an error for each block constituting the second frame and omits quantization for a block whose cross probability is less than a preset threshold, and an error occurs or the cross probability is greater than or equal to the threshold. The block may perform quantization.
상술한 본 발명의 제4 목적을 달성하기 위한 본 발명의 일 측면에 따른 분산 비디오 복호화 장치는 부호화된 제1 프레임을 복호화하는 복호화부, 복호화된 적어도 하나의 제1 프레임에 기초하여 움직임 벡터를 생성한 후 생성된 상기 움직임 벡터를 부호화 장치에 제공하고 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 보조정보 생성부, 상기 생성된 보조 정보를 변환하는 변환부, 변환된 보조 정보 및 상기 부호화 장치로부터 제공된 패리티 비트에 기초하여 상기 보조 정보를 정정하는 채널 복호화부 및 정정된 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 역양자화부를 포함할 수 있다. According to an aspect of the present invention, there is provided a distributed video decoding apparatus including: a decoder configured to decode an encoded first frame and a motion vector based on at least one decoded first frame. An auxiliary information generator for providing the generated motion vector to an encoding apparatus and generating auxiliary information corresponding to a second frame using the motion vector, a transformer for converting the generated auxiliary information, and converted auxiliary information And a channel decoder to correct the auxiliary information based on the parity bits provided from the encoding apparatus, and an inverse quantizer to dequantize the corrected auxiliary information to restore the second frame.
상술한 본 발명의 제5 목적을 달성하기 위한 본 발명의 일 측면에 따른 변환 부호화 장치는 부호화된 제1 프레임을 복호화하는 복호화부, 복호화된 적어도 하나의 제1 프레임에 기초하여 움직임 벡터를 생성한 후 생성된 상기 움직임 벡터를 부호화 장치에 제공하고 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 보조정보 생성부, 상기 생성된 보조 정보를 변환하는 변환부, 변환된 보조 정보 및 상기 부호화 장치로부터 제공된 패리티 비트에 기초하여 상기 보조 정보를 정정하는 채널 복호화부, 정정된 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 역양자화부 및 복원된 제2 프레임을 부호화하는 부호화부를 포함할 수 있다. 상기 부호화부는 상기 복원된 제2 프레임 및 상기 복호화부에서 복호화된 제1 프레임을 부호화할 수 있다. 상기 부호화부는 상기 복원된 제2 프레임을 부호화하는 제1 부호화부 및 상기 복호화부에서 복호화된 제1 프레임을 부호화하는 제2 부호화부를 포함할 수 있다. According to an aspect of the present invention, there is provided a transform encoding apparatus including: a decoder configured to decode an encoded first frame and a motion vector based on the decoded at least one first frame. An auxiliary information generator for providing the generated motion vector to an encoding apparatus and generating auxiliary information corresponding to a second frame using the motion vector, a transformer for converting the generated auxiliary information, converted auxiliary information, and A channel decoder to correct the auxiliary information based on the parity bits provided from the encoding apparatus, an inverse quantizer to dequantize the corrected auxiliary information to restore the second frame, and an encoder to encode the restored second frame can do. The encoder may encode the reconstructed second frame and the first frame decoded by the decoder. The encoder may include a first encoder that encodes the reconstructed second frame and a second encoder that encodes the first frame decoded by the decoder.
상술한 본 발명의 제6 목적을 달성하기 위한 본 발명의 일 측면에 따른 분산 비디오 부호화 장치의 부호화 방법은 채널 상황을 확인하는 단계, 확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계, 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계, 결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계 및결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함할 수 있다. 상기 채널 상황을 확인하는 단계는 가용 비트율 및 패킷 손실율(PLR)을 획득할 수 있다. 상기 확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계는 상기 가용 비트율, 패킷 손실율 및 상기 채널 부호화율에 기초하여 상기 전송할 비디오 데이터의 크기 및 상기 채널 부호화 데이터의 크기를 결정할 수 있다. 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계는 상기 결정된 전송할 비디오 데이터의 크기에 기초하여 TSS(Three Step Search)의 총 단계 중 움직임 예측 수행 단계수를 결정할 수 있다. 상기 결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계는 움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 단계를 더 포함할 수 있다. The encoding method of the distributed video encoding apparatus according to the aspect of the present invention for achieving the sixth object of the present invention described above comprises the steps of: identifying a channel condition, and determining a channel encoding rate and a size of video data to be transmitted based on the identified channel condition. Determining, based on the determined size of the video data to be transmitted, determining the number of motion prediction steps, encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps, and determining And channel encoding the encoded video data according to a channel coding rate. The checking of the channel condition may obtain an available bit rate and a packet loss rate (PLR). The determining of the channel coding rate and the size of the video data to be transmitted based on the identified channel situation may include determining the size of the video data to be transmitted and the size of the channel encoding data based on the available bit rate, the packet loss rate, and the channel coding rate. Can be. The determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted may determine the number of motion prediction performing steps among the total steps of TSS (Three Step Search) based on the determined size of the video data to be transmitted. . Encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps further includes providing the distributed video decoding apparatus with motion vector and motion prediction performance step information used for motion prediction. It may include.
상술한 본 발명의 제6 목적을 달성하기 위한 분산 비디오 부호화 장치의 부호화 방법은 채널 상황을 확인하는 단계, 확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계, 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계, 결정된 비디오 데이터 크기 조절 방법에 따라 전송할 비디오 데이터의 부호화를 수행하는 단계 및 결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함할 수 있다. 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계는 채널 상황, 사용자의 선호도, 부호화 장치의 성능 중 미리 설정된 적어도 하나의 우선순위에 기초하여 상기 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정할 수 있다. In the encoding method of the distributed video encoding apparatus for achieving the sixth object of the present invention described above, the method may include: checking a channel condition, determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition, Determining at least one method of adjusting the number of steps and adjusting the quantization interval based on the size of the video data as a method for adjusting the video data size, and encoding the video data to be transmitted according to the determined video data size adjusting method. And performing channel encoding on the encoded video data according to the determined channel coding rate. Determining at least one method of adjusting the number of motion prediction steps and adjusting the quantization interval based on the determined size of the video data to be transmitted is a method for adjusting the size of video data. At least one of the motion prediction performance step adjustment and the quantization interval adjustment may be determined as a method for adjusting video data size based on at least one prioritized priority among performances.
상술한 본 발명의 제6 목적을 달성하기 위한 분산 비디오 복호화 방법은 제공된 부호화된 제2 데이터를 채널 복호화하여 채널 손실을 복원하는 단계, 제공된 부호화된 제1 데이터를 복호화하여 제1 프레임을 복원하는 단계, 제공된 움직임 벡터 및 움직임 예측 수행 단계수 정보에 기초하여 복원된 상기 제1 프레임에 대한 움직임 예측을 수행하여 보조 정보를 생성하는 단계, 패리티 비트를 이용하여 생성된 상기 보조 정보를 정정하는 단계 및 정정된 보조 정보를 역양자화하여 제2 프레임을 복원하는 단계를 포함할 수 있다. In the distributed video decoding method for achieving the sixth object of the present invention, the method includes reconstructing channel loss by channel decoding the provided encoded second data, and reconstructing the first frame by decoding the provided encoded first data. Generating auxiliary information by performing motion prediction on the reconstructed first frame based on the provided motion vector and information on the number of steps of performing motion prediction; correcting the auxiliary information generated using parity bits; And inversely quantizing the supplementary information to restore the second frame.
상술한 본 발명의 제7 목적을 달성하기 위한 분산 비디오 부호화 장치는 입력된 제1 프레임을 부호화하는 제1 프레임 부호화부, 패킷 손실율(PLR)을 획득하고 획득한 상기 패킷 손실율에 기초하여 채널 부호화율을 결정하는 채널 모니터부, 제공된 상기 패킷 손실율에 기초하여 움직임 예측 수행 단계수를 결정하고, 결정된 상기 움직임 예측 수행 단계수에 따라 움직임 예측을 수행하여 보조 정보를 생성하는 움직임 예측부 및 생성된 상기 보조 정보를 부호화하여 패리티 비트를 생성하고 결정된 상기 채널 부호화율에 상응하여 채널 부호화를 수행하는 제2 프레임 부호화부를 포함할 수 있다. 상기 채널 모니터부는 상기 패킷 손실율의 두 배를 FEC(Forward Error Correction)율로 결정할 수 있다. 상기 제2 프레임 부호화부는 생성된 상기 보조 정보를 변환하고 양자화하는 변환 및 양자화부, 변환 및 양자화된 데이터를 채널 부호화하여 패리티 비트를 생성하는 제1 채널 부호화부 및 상기 채널 부호화율에 따라 제1 채널 부호화부로부터 제공된 데이터에 대해 채널 손실을 보상하기 위한 채널 부호화를 수행하는 제2 채널 부호화부를 포함할 수 있다. 상기 움직임 예측부는 움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공할 수 있다. The distributed video encoding apparatus for achieving the seventh object of the present invention includes obtaining a first frame encoder that encodes an input first frame, a packet loss rate (PLR), and a channel coding rate based on the obtained packet loss rate. A channel monitor unit for determining a number of motion prediction steps based on the provided packet loss rate, and performing motion prediction according to the determined number of motion prediction steps and generating auxiliary information; And a second frame encoder configured to generate parity bits by encoding information and perform channel encoding according to the determined channel coding rate. The channel monitor may determine twice the packet loss rate as a forward error correction (FEC) rate. The second frame encoder is a transform and quantizer for transforming and quantizing the generated auxiliary information, a first channel encoder for generating parity bits by channel coding the transformed and quantized data, and a first channel according to the channel coding rate. A second channel encoder may perform channel encoding on the data provided from the encoder to compensate for channel loss. The motion prediction unit may provide the distributed video decoding apparatus with the motion vector and the motion prediction performance step information used for the motion prediction.
상술한 본 발명의 제7 목적을 달성하기 위한 분산 비디오 부호화 장치는 입력된 제1 프레임을 부호화하는 제1 프레임 부호화부, 패킷 손실율 및 가용 비트율에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하고, 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 비디오 데이터 크기를 조절하기 위한 제어 신호를 제공하는 제어부, 상기 제어부로부터 제어 신호가 제공되는 경우 움직임 예측을 수행하여 보조 정보를 생성하는 움직임 예측부 및 생성된 상기 보조 정보를 부호화하여 패리티 비트를 생성하고 결정된 상기 채널 부호화율에 상응하여 채널 부호화를 수행하는 제2 프레임 부호화부를 포함할 수 있다. 상기 제어부는 상기 결정된 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 및 양자화 간격 조절 중 적어도 하나를 비디오 데이터 크기를 조절하기 위한 방법으로 결정하고, 결정된 비디오 데이터 크기를 조절하기 위한 방법에 상응하는 제어 신호를 제공할 수 있다. 상기 움직임 예측부는 상기 제어부로부터 제공된 제어 신호인 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하고, 움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공할 수 있다. 상기 제2 프레임 부호화부는 생성된 상기 보조 정보를 변환 및 양자화부, 변환 및 양자화된 데이터를 채널 부호화하여 패리티 비트를 생성하는 제1 채널 부호화부 및 상기 채널 부호화율에 따라 제1 채널 부호화부로부터 제공된 데이터에 대해 채널 손실을 보상하기 위한 채널 부호화를 수행하는 제2 채널 부호화부를 포함할 수 있다. 상기 변환 및 양자화부는 양자화 간격 정보가 상기 제어부로부터 제공되는 경우에는 제공된 양자화 간격 정보에 상응하여 양자화를 수행할 수 있다. The distributed video encoding apparatus for achieving the seventh object of the present invention described above determines a channel encoding rate and a size of video data to be transmitted based on a first frame encoder encoding a first frame, a packet loss rate, and an available bit rate. A control unit for providing a control signal for adjusting video data size based on the determined size of the video data to be transmitted, a motion predictor for generating auxiliary information by performing motion prediction when a control signal is provided from the control unit; The second frame encoder may generate a parity bit by encoding the auxiliary information and perform channel encoding according to the determined channel coding rate. The controller determines at least one of the number of motion prediction steps and the quantization interval adjustment based on the determined size of video data to be transmitted as a method for adjusting video data size, and corresponds to a method for adjusting the determined video data size. A control signal can be provided. The motion prediction unit may perform motion prediction according to the number of motion prediction execution steps, which are control signals provided from the controller, and provide the distributed video decoding apparatus with motion vector and motion prediction execution step information used for the motion prediction. The second frame encoder is provided from a first channel encoder and a first channel encoder according to the first channel encoder according to the transform and quantization unit, the first channel encoder to generate a parity bit by channel encoding the transformed and quantized data And a second channel encoder configured to perform channel encoding on the data to compensate for channel loss. The transform and quantization unit may perform quantization according to the provided quantization interval information when quantization interval information is provided from the controller.
상술한 본 발명의 제8 목적을 달성하기 위한 본 발명의 일 측면에 따른 복수의 분산 비디오 부호화 장치의 부호화 방법은 촬영된 영상을 상기 복수의 분산 비디오 부호화 장치를 이용해 분산 비디오 부호화를 수행하는 단계 및 상기 분산 비디오 부호화를 수행한 영상 데이터를 소정의 통신 채널을 통해 분산 비디오 복호화부에 전송하는 단계를 포함하고 상기 복수의 분산 비디오 부호화 장치에 중 적어도 하나에서 수행되는 분산 비디오 부호화는, 제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 방법으로써, 상기 제1 프레임을 부호화하고 부호화된 제1 프레임을 전송하는 단계, 분산 비디오 복호화 장치로부터 움직임 벡터를 제공받는 단계, 제공된 상기 움직임 벡터에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 단계, 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계 및 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계를 포함할 수 있다. 상기 분산 비디오 부호화 방법은 입력된 상기 제2 프레임을 변환(transform)하는 단계, 상기 보조 정보가 생성된 후, 생성된 상기 보조 정보를 변환하는 단계 및 상기 제2 프레임이 양자화된 후, 양자화된 상기 제2 프레임에 대해 채널 부호화를 수행하여 패리티 비트를 생성하는 단계를 더 포함할 수 있다. 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는 변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득할 수 있다. 상기 복수의 분산 비디오 부호화 장치는, 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나는 피사체의 깊이 정보를 얻기 위한 깊이 영상 촬영 장치로 사용되고 상기 깊이 영상 촬영 장치를 제외한 상기 복수의 분산 비디오 부호화 장치는 상기 피사체를 복수의 시점에서 촬영하여, 상기 깊이 영상 촬영 장치로부터 제공된 상기 깊이 정보와 상기 복수의 시점에서 촬영한 상기 피사체에 연관된 영상 정보에 기초하여 상기 피사체의 3차원 영상을 획득할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나에 화재여부를 감지하는 소정의 센서를 포함하고, 상기 복수의 분산 비디오 부호화 장치에서 촬영된 영상 데이터 및 상기 센서에서 제공된 화재 여부 판단 데이터를 무선 네트워크를 이용해 송신할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 복수의 촬영 시점에 따른 개별적인 영상을 촬영하여 상기 촬영된 개별적인 영상은 분산 비디오 복호화 방법에 의해 복호화되어 복수의 화면을 가지는 멀티뷰 화면으로 제공되거나, 특정한 제어 신호에 의해 상기 촬영된 영상 중 일부만 제공될 수 있다. 상기 복수의 분산 비디오 부호화 장치는 감시 지역에 피감시자가 등장하면 상기 복수의 분산 비디오 부호화 장치에 장착된 동작 센서에 의해 움직임이 감지되어 상기 분산 비디오 부호화 장치가 동작하기 시작하고, 상기 복수의 분산 비디오 부호화 장치에 분산 비디오 부호화를 디용해 무선 센서 네트워크 망에서 전송 가능하게 압축되고, 압축된 데이터는 상기 복수의 분산 비디오 부호화 장치에 포함된 무선통신모듈에 의해 무선 센서 네트워크 망을 통해 라우터로 송수신한 후에, 상기 라우터에서 게이트웨이로 송수신하고 상기 게이트웨이까지 전송된 영상 데이터는 이더넷 망을 통해 서버로 송수신 할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나를 적외선 영상 촬영 장치로 사용하여 소정의 피사체의 적외선 영상을 획득하고, 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나로 촬영한 영상과 상기 적외선 영상의 화질 선명도를 비교하여 상기 피사체의 위조 여부를 검출할 수 있다. According to an aspect of the present invention, there is provided a method of encoding a plurality of distributed video encoding apparatuses, including: performing distributed video encoding on a photographed image using the plurality of distributed video encoding apparatuses; And transmitting the image data on which the distributed video encoding has been performed to a distributed video decoding unit through a predetermined communication channel, wherein distributed video encoding performed on at least one of the plurality of distributed video encoding apparatuses comprises: a first frame and A distributed video encoding method for encoding an input image divided into a second frame, the method comprising: encoding the first frame and transmitting an encoded first frame; receiving a motion vector from a distributed video decoding apparatus; Corresponding to the second frame based on a vector Generating pair information, obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame, and quantizing the second frame based on the obtained prediction error. Can be. The distributed video encoding method may include transforming the input second frame, generating the auxiliary information, transforming the generated auxiliary information, and after the second frame is quantized, The method may further include generating parity bits by performing channel encoding on the second frame. Obtaining the prediction error of the auxiliary information based on the generated auxiliary information and the second frame may obtain the prediction error based on the converted auxiliary information and the converted second frame. In the plurality of distributed video encoding apparatuses, at least one of the plurality of distributed video encoding apparatuses may be used as a depth image photographing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image photographing apparatus may include the subject. 3D may be photographed at a plurality of viewpoints, and a 3D image of the subject may be obtained based on the depth information provided from the depth image photographing apparatus and image information associated with the subject photographed at the plurality of viewpoints. The plurality of distributed video encoding apparatuses may include a predetermined sensor for detecting whether a fire occurs in at least one of the plurality of distributed video encoding apparatuses, and the image data photographed by the plurality of distributed video encoding apparatuses and whether or not the fire is provided by the sensor. The determination data can be transmitted using a wireless network. The plurality of distributed video encoding apparatuses photograph individual images according to a plurality of photographing viewpoints, and the photographed individual images are decoded by a distributed video decoding method and provided as a multiview screen having a plurality of screens, or by a specific control signal. Only some of the captured images may be provided. In the plurality of distributed video encoding apparatuses, when a monitored person appears in a surveillance region, motion is detected by motion sensors mounted in the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatuses start to operate. After the distributed video encoding is applied to the encoding apparatus, the compressed data can be transmitted in the wireless sensor network network, and the compressed data is transmitted and received to the router through the wireless sensor network network by the wireless communication module included in the plurality of distributed video encoding apparatuses. In addition, the image data transmitted from the router to the gateway and transmitted to the gateway may be transmitted to the server through an Ethernet network. The plurality of distributed video encoding apparatuses may acquire an infrared image of a predetermined subject by using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and may include an image captured by at least one of the plurality of distributed video encoding apparatuses. The image quality of the infrared image may be compared to detect whether the subject is forged.
상술한 본 발명의 제9 목적을 달성하기 위한 본 발명의 일 측면에 따른 복수의 영상 촬영 장치를 사용한 영상 부호화 방법은 상기 복수의 영상 촬영 장치에 포함된 분산 비디오 부호화부를 이용해 촬영된 영상에 대해 분산 비디오 부호화를 수행하는 단계 및 상기 분산 비디오 부호화를 수행한 영상 데이터를 소정의 통신 채널을 통해 분산 비디오 복호화부에 전송하는 단계를 포함하고, 상기 복수의 분산 비디오 부호화 장치에 중 적어도 하나에서 수행되는 분산 비디오 부호화는, 채널 상황을 확인하는 단계, 확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계, 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계, 결정된 비디오 데이터 크기 조절 방법에 따라 전송할 비디오 데이터의 부호화를 수행하는 단계 및 결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함할 수 있다. 상기 채널 상황을 확인하는 단계는 가용 비트율 및 패킷 손실율(PLR)을 획득할 수 있다. 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계는 상기 결정된 전송할 비디오 데이터의 크기에 기초하여 TSS(Three Step Search)의 총 단계 중 움직임 예측 수행 단계수를 결정할 수 있다. 상기 결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계는 움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 단계를 더 포함할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나는 피사체의 깊이 정보를 얻기 위한 깊이 영상 촬영 장치로 사용되고 상기 깊이 영상 촬영 장치를 제외한 상기 복수의 분산 비디오 부호화 장치는 상기 피사체를 복수의 시점에서 촬영하여, 상기 깊이 영상 촬영 장치로부터 제공된 상기 깊이 정보와 상기 복수의 시점에서 촬영한 상기 피사체에 연관된 영상 정보에 기초하여 상기 피사체의 3차원 영상을 획득할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나에 화재여부를 감지하는 소정의 센서를 포함하고, 상기 복수의 분산 비디오 부호화 장치에서 촬영된 영상 데이터 및 상기 센서에서 제공된 화재 여부 판단 데이터를 무선 네트워크를 이용해 송신할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 복수의 촬영 시점에 따른 개별적인 영상을 촬영하여 상기 촬영된 개별적인 영상은 분산 비디오 복호화 방법에 의해 복호화되어 복수의 화면을 가지는 멀티뷰 화면으로 제공되거나, 특정한 제어 신호에 의해 상기 촬영된 영상 중 일부만 제공될 수 있다. 상기 복수의 분산 비디오 부호화 장치는 감시 지역에 피감시자가 등장하면 상기 복수의 분산 비디오 부호화 장치에 장착된 동작 센서에 의해 움직임이 감지되어 상기 분산 비디오 부호화 장치가 동작하기 시작하고, 상기 복수의 분산 비디오 부호화 장치에 분산 비디오 부호화를 디용해 무선 센서 네트워크 망에서 전송 가능하게 압축되고, 압축된 데이터는 상기 복수의 분산 비디오 부호화 장치에 포함된 무선통신모듈에 의해 무선 센서 네트워크 망을 통해 라우터로 송수신한 후에, 상기 라우터에서 게이트웨이로 송수신하고 상기 게이트웨이까지 전송된 영상 데이터는 이더넷 망을 통해 서버로 송수신할 수 있다. 상기 복수의 분산 비디오 부호화 장치는 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나를 적외선 영상 촬영 장치로 사용하여 소정의 피사체의 적외선 영상을 획득하고, 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나로 촬영한 영상과 상기 적외선 영상의 화질 선명도를 비교하여 상기 피사체의 위조 여부를 검출할 수 있다. According to an aspect of the present invention, there is provided an image encoding method using a plurality of image capturing apparatuses. The image encoding method is distributed with respect to an image photographed using a distributed video encoder included in the plurality of image capturing apparatuses. Performing video encoding and transmitting the video data subjected to distributed video encoding to a distributed video decoding unit through a predetermined communication channel, wherein the distributed video encoding apparatus is performed in at least one of the plurality of distributed video encoding apparatuses. The video encoding may include determining a channel condition, determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition, adjusting the number of motion prediction steps based on the determined size of the video data to be transmitted, and quantization interval Adjust at least one method of video data The method may include determining a method for controlling the data, performing encoding of video data to be transmitted according to the determined video data size adjusting method, and performing channel encoding on the encoded video data according to the determined channel coding rate. have. The checking of the channel condition may obtain an available bit rate and a packet loss rate (PLR). The determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted may determine the number of motion prediction performing steps among the total steps of TSS (Three Step Search) based on the determined size of the video data to be transmitted. . Encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps further includes providing the distributed video decoding apparatus with motion vector and motion prediction performance step information used for motion prediction. It may include. The plurality of distributed video encoding apparatuses may include at least one of the plurality of distributed video encoding apparatuses as a depth image capturing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image capturing apparatus may detect the subject. A 3D image of the subject may be obtained by photographing from a plurality of viewpoints, based on the depth information provided from the depth image capturing apparatus and image information related to the subject photographed from the plurality of viewpoints. The plurality of distributed video encoding apparatuses may include a predetermined sensor for detecting whether a fire occurs in at least one of the plurality of distributed video encoding apparatuses, and the image data photographed by the plurality of distributed video encoding apparatuses and whether or not the fire is provided by the sensor. The determination data can be transmitted using a wireless network. The plurality of distributed video encoding apparatuses photograph individual images according to a plurality of photographing viewpoints, and the photographed individual images are decoded by a distributed video decoding method and provided as a multiview screen having a plurality of screens, or by a specific control signal. Only some of the captured images may be provided. In the plurality of distributed video encoding apparatuses, when a monitored person appears in a surveillance region, motion is detected by motion sensors mounted in the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatuses start to operate. After the distributed video encoding is applied to the encoding apparatus, the compressed data can be transmitted in the wireless sensor network network, and the compressed data is transmitted and received to the router through the wireless sensor network network by the wireless communication module included in the plurality of distributed video encoding apparatuses. In addition, the image data transmitted from the router to the gateway and transmitted to the gateway may be transmitted to the server through an Ethernet network. The plurality of distributed video encoding apparatuses may acquire an infrared image of a predetermined subject by using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and may include an image captured by at least one of the plurality of distributed video encoding apparatuses. The image quality of the infrared image may be compared to detect whether the subject is forged.
상술한 바와 같이 본 발명에 실시예에 따른 분산 비디오 부호화/복호화 방법, 분산 비디오 부호화/복호화 장치 및 변환 부호화 장치에 따르면, 분산비디오 부호화의 복호화 과정에 사용되는 보조정보 생성시에 키 픽처간의 움직임예측을 위한 블록의 크기를 소정의 판별기준을 기초로 가변적으로 적용한다. As described above, according to the distributed video encoding / decoding method, the distributed video encoding / decoding apparatus, and the transform encoding apparatus according to the embodiment of the present invention, motion prediction between key pictures when generating auxiliary information used in the decoding process of distributed video encoding is performed. The size of the block for variably is applied based on a predetermined criterion.
또한, 분산 비디오 부호화 시 분산 비디오 복호화 장치에서 생성된 움직임 벡터를 분산 비디오 부호화 장치로 제공하고, 분산 비디오 부호화 장치는 상기 움직임 벡터를 이용하여 보조정보를 생성한 후 생성된 보조정보의 예측 오차를 판단하여 양자화를 조절한다.In addition, during distributed video encoding, a motion vector generated by a distributed video decoding apparatus is provided to a distributed video encoding apparatus, and the distributed video encoding apparatus generates auxiliary information using the motion vector, and then determines a prediction error of the generated auxiliary information. To control quantization.
이뿐만 아니라, 채널 상황에 따라 부호화 장치의 복잡도 및/또는 양자화 간격을 조절하여 부호화되는 비디오 데이터의 크기를 감소시키고, 감소된 데이터량 만큼 채널 손실을 보상하기 위한 데이터를 추가하여 전송한다.In addition, the size of video data to be encoded is reduced by adjusting the complexity and / or quantization interval of the encoding apparatus according to channel conditions, and data is added and transmitted to compensate for channel loss by the reduced data amount.
따라서, 키 픽처간의 움직임 벡터를 보다 정교하게 추정함으로써, 복원 영상의 성능을 상당히 개선시킬 수 있다. 즉 생성하고자 하는 보조정보의 움직임 벡터를 복원된 키픽처 내에 존재하는 블록의 크기를 가변적으로 적용하면서 움직임 벡터를 추정함으로써, 종래의 고정된 크기를 이용하여 추정된 움직임 벡터보다 더욱 정교한 움직임 벡터를 얻을 수 있어 생성된 보조정보의 잡음을 줄여 복원된 영상의 화질을 개선할 수 있다.Therefore, by more precisely estimating the motion vector between the key pictures, the performance of the reconstructed picture can be significantly improved. In other words, by estimating the motion vector while variably applying the size of the block existing in the reconstructed key picture, the motion vector of the auxiliary information to be generated can obtain a more sophisticated motion vector than the motion vector estimated using the conventional fixed size. The image quality of the reconstructed image can be improved by reducing the noise of the generated auxiliary information.
또한, 부호화 효율을 향상시킬 수 있고, 우수한 품질의 복호화된 이미지를 획득할 수 있으며, 부호화 장치 및 복호화 장치의 계산 복잡도를 감소시킬 수 있다. 또한, 상술한 분산 비디오 부호화 및 분산 비디오 복호화 방법이 적용된 변환 부호화 장치를 통해 분산 비디오 부호화 방법을 통해 부호화된 영상을 종래의 일반적인 복호화 장치에서 복호화할 수 있다.In addition, it is possible to improve encoding efficiency, obtain decoded images of high quality, and reduce computational complexity of the encoding apparatus and the decoding apparatus. In addition, a conventional encoding apparatus may decode an image encoded by the distributed video encoding method through the transform encoding apparatus to which the above-described distributed video encoding and distributed video decoding methods are applied.
이뿐만 아니라, 네트워크 자원을 추가적으로 점유하지 않고도 손실 강인성을 향상시킬 수 있고 이를 통해 복호화 실패 확률을 감소시킬 수 있다. 또한, 복호화 실패 확률을 감소시킴으로써 피드백 채널의 사용을 최소화할 수 있기 때문에 지연에 민감한 서비스의 서비스 품질(QoS)을 보장할 수 있다.In addition, the loss robustness can be improved without occupying additional network resources, thereby reducing the probability of decryption failure. In addition, since the use of the feedback channel can be minimized by reducing the probability of decoding failure, quality of service (QoS) of delay-sensitive services can be guaranteed.
도 1은 종래의 와이너 지브 코딩 기술에 따른 부호화기와 이에 상응하는 복호화기의 구성을 설명하기 위한 블록도이다.1 is a block diagram illustrating a configuration of an encoder and a decoder corresponding thereto according to a conventional Weiner jib coding technique.
도 2는 보간법을 이용한 종래의 보조정보 생성을 설명하기 위한 개념도이다.2 is a conceptual diagram illustrating a conventional generation of auxiliary information using an interpolation method.
도 3은 보외법을 이용한 종래의 보조정보 생성을 설명하기 위한 개념도이다.3 is a conceptual diagram illustrating a conventional generation of auxiliary information using extrapolation.
도 4는 본 발명의 일실시예에 따른 분산 비디오 부호화 영상의 복호화 장치의 구성을 설명하기 위한 블록도이다.4 is a block diagram illustrating a configuration of an apparatus for decoding a distributed video encoded image according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 움직임 벡터를 생성하는 과정을 설명하기 위한 개념도이다.5 is a conceptual diagram illustrating a process of generating a motion vector according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 움직임 벡터 생성부의 구성을 도시한 블록도이다. 6 is a block diagram illustrating a configuration of a motion vector generator according to an embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 움직임 벡터 생성 과정을 나타낸 순서도이다.7 is a flowchart illustrating a motion vector generation process according to an embodiment of the present invention.
도 8은 본 발명의 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.8 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 예측 오차 판단 단계 및 양자화 단계를 보다 상세하게 도시한 순서도이다.9 is a flowchart illustrating a prediction error determination step and a quantization step in more detail according to another embodiment of the present invention.
도 10은 본 발명의 다른 실시예에 따른 분산 비디오 복호화 방법을 나타내는 순서도이다.10 is a flowchart illustrating a distributed video decoding method according to another embodiment of the present invention.
도 11은 본 발명의 다른 실시예에 따른 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치의 구성을 나타내는 순서도이다.11 is a flowchart illustrating a configuration of a distributed video encoding apparatus and a distributed video decoding apparatus according to another embodiment of the present invention.
도 12는 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다.12 is a block diagram showing a structure of a transform encoding apparatus according to another embodiment of the present invention.
도 13은 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다.13 is a block diagram showing the structure of a transform encoding apparatus according to another embodiment of the present invention.
도 14은 본 발명의 또 다른 실시예에 따른 변환 부호화기의 구성을 나타내는 블록도이다.14 is a block diagram illustrating a configuration of a transform encoder according to another embodiment of the present invention.
도 15은 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다. 15 is a block diagram showing a configuration of a transform encoding apparatus according to another embodiment of the present invention.
도 16는 도 15에 도시된 변환 부호화 장치가 시간축에서 확장성을 가지는 경우의 구성을 나타내는 블록도이다.FIG. 16 is a block diagram illustrating a configuration in the case where the transform encoding apparatus illustrated in FIG. 15 has scalability on the time axis.
도 17은 부호화 장치의 복잡도와 보조 정보 사이의 관계를 나타내는 그래프이다.17 is a graph illustrating a relationship between complexity and auxiliary information of an encoding apparatus.
도 18은 부호화 장치의 움직임 예측 비율에 따른 성능 변화를 나타내는 그래프이다.18 is a graph illustrating a change in performance according to a motion prediction ratio of an encoding apparatus.
도 19는 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.19 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 20은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.20 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 21은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.21 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 22는 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화/복호화 장치의 구성을 나타내는 블록도이다.22 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
도 23은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화/복호화 장치의 구성을 나타내는 블록도이다.23 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
도 24는 본 발명의 실시예에 따른 분산 비디오 코딩을 이용한 복수개의 영상 촬영 장치를 사용한 방송 시스템의 개념도이다.24 is a conceptual diagram of a broadcast system using a plurality of video photographing apparatuses using distributed video coding according to an embodiment of the present invention.
도 25는 본 발명의 실시예에 따른 분산 비디오 부호화 방법을 사용한 복수개의 영상 촬영 장치를 이용한 미디어 공유 시스템을 나타낸 개념도이다.25 is a conceptual diagram illustrating a media sharing system using a plurality of video photographing apparatuses using a distributed video encoding method according to an embodiment of the present invention.
도 26은 본 발명의 일실시예에 따른 분산 비디오 부호화 방법을 사용한 3차원 객체 추적 장치의 개념도이다.FIG. 26 is a conceptual diagram of a 3D object tracking apparatus using a distributed video encoding method, according to an embodiment of the present invention.
도 27은 본 발명의 실시예에 따른 다시점 영상 처리 장치의 구성을 나타낸 블록도이다. 27 is a block diagram illustrating a configuration of a multiview image processing apparatus according to an embodiment of the present invention.
도 28은 본 발명의 실시예에 따른 분산 비디오 부호화를 사용한 감시카메라 시스템을 나타낸 개념도이다. 28 is a conceptual diagram illustrating a surveillance camera system using distributed video encoding according to an embodiment of the present invention.
도 29는 본 발명의 일실시예에 따른 복수의 카메라를 사용한 감시시스템의 개념도이다. 29 is a conceptual diagram of a monitoring system using a plurality of cameras according to an embodiment of the present invention.
도 30은 본 발명의 일실시예에 따른 무선 영상 촬상장치를 채용한 산불감지 및 발화추적 시스템을 나타낸 것이다. 30 illustrates a forest fire detection and ignition tracking system employing a wireless imaging device according to an embodiment of the present invention.
도 31은 본 발명의 실시예에 따른 복수의 카메라를 이용한 얼굴 검출 시스템을 나타낸 개념도이다. 31 is a conceptual diagram illustrating a face detection system using a plurality of cameras according to an embodiment of the present invention.
도 32는 본 발명의 일실시예에 따른 복수의 분산 비디오 부호화부를 포함한 분산 비디오 부호화 장치를 나타낸 개념도이다. 32 is a conceptual diagram illustrating a distributed video encoding apparatus including a plurality of distributed video encoders according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
도 4는 본 발명의 일실시예에 따른 분산 비디오 부호화 영상의 복호화 장치의 구성을 설명하기 위한 블록도이다.4 is a block diagram illustrating a configuration of an apparatus for decoding a distributed video encoded image according to an embodiment of the present invention.
본 발명의 실시예에 따른 분산 비디오 부호화 및 복호화 장치는 와이너-지브 프레임을 부호화하는 분산 비디오 부호화 장치(400)와 가변 블록을 이용한 움직임 예측을 통하여 보조정보를 생성하는 기능이 포함된 분산 비디오 복호화 장치(430)를 포함한다The distributed video encoding and decoding apparatus according to an embodiment of the present invention includes a distributed video encoding apparatus 400 for encoding a wine-jib frame and a distributed video decoding apparatus including a function of generating auxiliary information through motion prediction using a variable block. Contains 430
도 4를 참조하여 설명하면, 분산 비디오 부호화 장치(400)는 WZ 프레임 부호화부(410) 및 키프레임 부호화부(420)를 포함한다. Referring to FIG. 4, the distributed video encoding apparatus 400 includes a WZ frame encoder 410 and a keyframe encoder 420.
WZ 프레임 부호화부(410)는 와이너-지브 코딩 방식에 따라 소스 비디오 컨텐트의 프레임들을 와이너 지브 프레임들과 키 프레임들로 나눈다. 예컨대, 소스 비디오 컨텐트의 짝수 번째 프레임들이 키 프레임로서 선택되거나, 홀수 번째 프레임들이 와이너-지브 프레임으로 선택될 수 있다.The WZ frame encoder 410 divides the frames of the source video content into wine-jib frames and key frames according to the wine-jib coding scheme. For example, even-numbered frames of source video content may be selected as key frames, or odd-numbered frames may be selected as wine-jib frames.
WZ 프레임 부호화부(410)는 와이너 지브 프레임들과 키 프레임들을 부호화하고, 분산 비디오 복호화 장치(430)에 제공한다.The WZ frame encoder 410 encodes the Weiner jib frames and the key frames and provides them to the distributed video decoding apparatus 430.
그리고, 본 발명에 따른 분산 비디오 복호화 장치(430)는 키 프레임 복호화부(460), 채널 복호화부(440), 영상복원부(450), 보조정보 생성부(490), 움직임 벡터 생성부(480) 및 픽처버퍼(470)를 포함한다.In addition, the distributed video decoding apparatus 430 according to the present invention includes a key frame decoder 460, a channel decoder 440, an image restorer 450, an auxiliary information generator 490, and a motion vector generator 480. ) And picture buffer 470.
키프레임 복호화부(460)는 키프레임 부호화부(420)로부터 전송받은 정보를 이용하여 키프레임을 복원한다. The keyframe decoder 460 reconstructs the keyframe using the information received from the keyframe encoder 420.
움직임 벡터 생성부(480)는 복원된 키 프레임를 이용하여 움직임 예측에 사용될 블록의 크기를 결정한다. The motion vector generator 480 determines the size of a block to be used for motion prediction using the reconstructed key frame.
보조정보 생성부(490)는 복원된 키 프레임 및 움직임 벡터 생성부(480)에 의해 생성된 움직임 벡터를 이용하여 재생할 현재 WZ 프레임에 대한 보조정보를 생성한다. The auxiliary information generator 490 generates auxiliary information for the current WZ frame to be reproduced by using the reconstructed key frame and the motion vector generated by the motion vector generator 480.
채널 복호화부(440)는 보조정보 생성부(490)로부터 입력받은 보조정보와 분산 비디오 부호화 장치(400)로부터 전송받은 패리티 비트를 이용하여 양자화된 값들을 추정한다. The channel decoder 440 estimates the quantized values by using the auxiliary information input from the auxiliary information generator 490 and the parity bits received from the distributed video encoding apparatus 400.
채널 복호화부(440)는 채널코드 복호화를 수행할 때 신뢰도 있는 양자화된 값을 추정할 수 없다고 판별될 경우에, 신뢰도 있는 추정이 가능할 때까지 소정의 한도 내에서 계속적으로 패리티 비트를 분산 비디오 부호화 장치(400)에 요청하여 받도록 구성될 수 있다.When the channel decoder 440 determines that a reliable quantized value cannot be estimated when performing channel code decoding, the channel decoder 440 continuously distributes parity bits within a predetermined limit until reliable estimation is possible. 400 may be configured to request and receive.
이 경우, 분산 비디오 부호화 장치(400)는 복호화에 필요한 패리티 양 만을 분산 비디오 부호화 장치(400)로부터 전송받음으로써 율-왜곡 성능 측면에서 효율적이다. 이는 패리티 비트를 요청하는 역방향채널(즉, 피드백채널)이 존재할 경우에 가능하다. In this case, the distributed video encoding apparatus 400 receives only the parity amount necessary for decoding from the distributed video encoding apparatus 400, thereby being efficient in terms of rate-distortion performance. This is possible when there is a reverse channel (ie a feedback channel) requesting parity bits.
이러한 문제를 완화하기 위해 사용자의 구성에 따라, 채널 복호화부(440)는 미리 소정의 패리티 비트량을 매번의 패리티 요청 없이 한 번에 제공받아 이것을 이용하는 도중에는 역방향채널로 패리티를 요청하지 않도록 구성할 수 있다.In order to alleviate this problem, the channel decoder 440 may be configured to receive a predetermined amount of parity bits at once without a parity request each time, so as not to request parity on the reverse channel while using the same. have.
또한, 상기의 경우에도 보내진 패리티 비트를 모두 소진한 후, 아직도 신뢰도가 낮다고 판단되는 경우 분산 비디오 복호화 장치(430)는 추가로 패리티 비트를 분산 비디오 부호화 장치(400)로 더 요청하도록 구성할 수도 있다. 또한, 역방향 채널을 사용하지 않는다고 가정하면 분산 비디오 부호화 장치(400)는 미리 계산 또는 설정된 일정량의 패리티를 분산 비디오 복호화 장치(430)에 보내며, 분산 비디오 복호화 장치(430)는 패리티 비트를 요구하지 않는 형태로 구성될 수도 있다.Also, in the above case, after exhausting the parity bits sent, if the reliability is still low, the distributed video decoding apparatus 430 may further configure to request the parity bits to the distributed video encoding apparatus 400. . In addition, assuming that the reverse channel is not used, the distributed video encoding apparatus 400 sends a predetermined amount of parity calculated or set to the distributed video decoding apparatus 430, and the distributed video decoding apparatus 430 does not require parity bits. It may be configured in the form.
또한 도 4의 채널 복호화부(440)에서 사용하는 채널코드는 샤논(Shannon) 한계에 거의 도달한다고 밝혀진 터보코드를 사용하거나 LDPC 채널코드를 사용할 수 있다. 이외에도, 부호화 효율과 에러 정정이 좋은 다른 채널 코드를 사용할 수 있다.In addition, the channel code used in the channel decoder 440 of FIG. 4 may use a turbo code that is found to have reached a Shannon limit or may use an LDPC channel code. In addition, other channel codes with good coding efficiency and error correction can be used.
그리고, 영상복원부(450)는 채널 복호화부(440)에 의해 추정된 양자화된 값과 보조정보를 이용하여 현재 WZ 프레임을 복원한다. 보조정보는 보조정보 생성부(490)에서 생성된다. The image restorer 450 reconstructs the current WZ frame by using the quantized value and auxiliary information estimated by the channel decoder 440. The auxiliary information is generated by the auxiliary information generator 490.
보조정보 생성부(490)는 보조정보를 생성하는데 일반적으로 프레임 간 선형적인 변화를 가정한 보간법을 사용한다. 이 경우, 비디오 프레임 간의 변화는 객체의 움직임, 카메라의 움직임, 노출 영역 그리고 빛의 변화에 의해 생기게 된다. 노출 영역과 빛의 변화를 제외하면, 이러한 프레임 간의 차이는 프레임 사이의 픽셀의 움직임에 해당한다. 픽셀의 움직임 벡터를 정확하게 알 수 있다면 보간할 프레임의 픽셀을 정확하게 예측하는 것이 가능하다. The auxiliary information generator 490 generally uses an interpolation method assuming linear change between frames in generating auxiliary information. In this case, the change between video frames is caused by the movement of the object, the movement of the camera, the exposure area and the change of light. Except for changes in exposure area and light, the difference between these frames corresponds to the movement of pixels between frames. If the motion vector of the pixel is known correctly, it is possible to accurately predict the pixel of the frame to be interpolated.
즉, 보조정보 생성부(490)는 움직임 벡터 생성부(480)로부터 제공된 움직임 벡터에 기초하여 보조정보를 생성한다.That is, the auxiliary information generator 490 generates auxiliary information based on the motion vector provided from the motion vector generator 480.
보조정보 생성부(490)는, 키프레임 복호화부(460)에 의해 복원된 키프레임을 이용하여 움직임 벡터 생성부(480)로부터 제공된 움직임 벡터에 기초하여 WZ프레임에 해당하는 보조정보(Side Information)를 생성하고 보조정보를 채널 복호화부(440)로 출력한다. 보조정보 생성부(490)는, 현재 WZ 프레임 전후에 위치한 키프레임 간의 선형 움직임을 가정하고, 보간법을 이용하여 복원할 WZ 프레임에 해당하는 보조정보(Side Information)를 생성한다.The auxiliary information generator 490 uses side information corresponding to the WZ frame based on the motion vector provided from the motion vector generator 480 using the keyframe reconstructed by the keyframe decoder 460. Generates and outputs auxiliary information to the channel decoder 440. The auxiliary information generator 490 generates linear information corresponding to the WZ frame to be reconstructed using interpolation, assuming linear motion between key frames located before and after the current WZ frame.
움직임 벡터 생성부(480)는 키 프레임들에 기초하여 움직임 벡터를 생성하고 생성한 움직임 벡터를 보조정보 생성부(490)에 제공한다. The motion vector generator 480 generates a motion vector based on the key frames and provides the generated motion vector to the auxiliary information generator 490.
구체적으로, 움직임 벡터 생성부(480)는 프레임의 사각형 구간 또는 블록(block)의 움직임을 추정한다. In detail, the motion vector generator 480 estimates the motion of a rectangular section or block of a frame.
도 5는 본 발명의 일실시예에 따른 움직임 벡터를 생성하는 과정을 설명하기 위한 개념도이다.5 is a conceptual diagram illustrating a process of generating a motion vector according to an embodiment of the present invention.
도 5를 참조하면, 움직임 벡터 생성부(480)는 하나의 키 픽처(500)의 MxN 샘플 블록(502)과 일치하는 MxN 샘플 영역(512)을 찾기 위해 다른 하나의 키 프레임(510)의 탐색 영역(520)을 검토한다. 움직임 벡터 생성부(480)는 하나의 프레임의 MxN 블록(502)과 탐색 영역(일반적으로 현재 블록의 위치를 기준으로 한 영역)(520) 내의 가능한 MxN 블록 모두 또는 일부를 비교하여, 그 중 가장 일치하는 영역(512)을 찾아낸다. 이어서, 움직임 벡터 생성부(480)는 현재의 MxN 블록(502)의 위치와 후보 영역(512)의 위치 사이의 차이값인 움직임 벡터를 생성한다. Referring to FIG. 5, the motion vector generator 480 searches for another key frame 510 to find an MxN sample region 512 that matches the MxN sample block 502 of one key picture 500. Review area 520. The motion vector generator 480 compares all or part of the MxN block 502 of one frame with the possible MxN blocks in the search area (generally, the area based on the position of the current block) 520, and the most of them. Find the matching region 512. Subsequently, the motion vector generator 480 generates a motion vector that is a difference value between the position of the current M × N block 502 and the position of the candidate region 512.
움직임 예측을 위한 매크로블록의 크기는 비디오 영상에서 움직이는 객체의 크기가 다양하므로 움직임 예측을 위해 다양한 블록 크기를 사용하는 것이 보다 효과적일 수 있다. H.264/AVC(Advanced Video Coding)의 압축 표준에서, 움직임 예측을 위한 블록 크기는 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4중 하나일 수 있다. Since the size of the macroblock for motion prediction varies in the size of the moving object in the video image, it may be more effective to use various block sizes for motion prediction. In the compression standard of H.264 / Advanced Video Coding (AVC), the block size for motion prediction may be one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4.
본 발명에 따라 움직임 벡터 생성부(480)는 움직임 예측을 위해 복수 개의 매크로블록의 크기들을 결정하고, 각각의 크기를 갖는 매크로블록들을 이용하여 움직임 벡터들을 구하고, 움직임 벡터들 중 적절한 움직임 벡터를 선택한다.According to the present invention, the motion vector generator 480 determines sizes of a plurality of macroblocks for motion prediction, obtains motion vectors using macroblocks having respective sizes, and selects an appropriate motion vector among the motion vectors. do.
도 6은 본 발명의 일실시예에 따른 움직임 벡터 생성부의 구성을 도시한 블록도이다. 6 is a block diagram illustrating a configuration of a motion vector generator according to an embodiment of the present invention.
도 6을 참조하면, 본 발명에 따른 움직인 벡터 생성부(480)는 블록 크기 선택부(600), 움직임 예측 수행부(610), 움직임 벡터 저장부(620) 및 움직임 벡터 결정부(630)를 포함한다.Referring to FIG. 6, the moved vector generator 480 according to the present invention includes a block size selector 600, a motion prediction performer 610, a motion vector storage 620, and a motion vector determiner 630. It includes.
블록 크기 결정부(600)는 키 프레임에 기반한 움직임 예측을 위한 매크로블록의 크기를 결정한다. 매크로블록은 본 발명에 따라 정사각형 및/또는 직사각형 및/또는 임의의 형상을 가질 수 있다. The block size determiner 600 determines the size of the macroblock for motion prediction based on the key frame. The macroblocks may be square and / or rectangular and / or any shape in accordance with the present invention.
다시 말해, 블록 크기 결정부(600)는 복수개의 매크로블록 크기들을 결정한다. 본 발명의 일실시예에 따르면 블록 크기 결정부(600)는 키 프레임들 간에 움직임이 단조롭고 큰 차이가 없는 경우에는 큰 블록 크기들을 움직임 예측을 위해 결정할 수 있고, 키 프레임들 간에 세밀한 움직임이 있거나, 움직임이 많은 경우에는 작은 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 큰 블록 크기들은 16x16, 16x8 및 8x16의 블록 크기들을 포함하고, 작은 블록 크기들은 8x8, 8x4, 4x8 및 4x4 블록 크기들을 포함할 수 있다. 다른 실시예에 따라, 블록 크기 결정부(600)는 움직임 예측을 위해 사용될 수 있는 모든 매크로블록의 크기들을 움직임 예측을 위해 결정할 수 있다. 블록 크기 결정부(600)는 움직임 예측을 위한 블록 크기들을 결정하면 결정된 블록크기들을 움직임 예측 수행부(610)에 제공한다. In other words, the block size determiner 600 determines a plurality of macroblock sizes. According to an embodiment of the present invention, the block size determining unit 600 may determine large block sizes for motion prediction when the motion is monotonous and there is no large difference between the key frames. If there is a lot of motion, small block sizes can be determined for motion prediction. Large block sizes include block sizes of 16x16, 16x8 and 8x16, and small block sizes may include 8x8, 8x4, 4x8 and 4x4 block sizes. According to another embodiment, the block size determiner 600 may determine the sizes of all macroblocks that can be used for motion prediction for motion prediction. When the block size determiner 600 determines the block sizes for motion prediction, the block size determiner 600 provides the determined block sizes to the motion prediction performer 610.
움직임 예측 수행부(610)는 움직임 예측에 사용되는 블록의 크기들 각각에 대한 움직임 예측을 수행하여 움직임 벡터들을 생성한다. 구체적으로 움직임 예측 수행부(610)는 하나의 키 프레임의 샘플 블록과 일치하는 샘플 영역을 찾기 위해 다른 하나의 키 프레임의 영역을 탐색하고, 그 중 가장 일치하는 블록을 찾아내고, 이들 사이의 차이값인 움직임 벡터를 생성한다. The motion prediction performer 610 generates motion vectors by performing motion prediction on each of sizes of blocks used for motion prediction. In detail, the motion prediction performing unit 610 searches an area of another key frame to find a sample area that matches the sample block of one key frame, finds the block that most matches the difference, and the difference therebetween. Create a motion vector as a value.
움직임 예측 수행부(610)는 이러한 움직임 벡터를 생성하고 저장하는 과정을 블록 크기들의 개수만큼 반복한다. The motion prediction performer 610 repeats the process of generating and storing such a motion vector by the number of block sizes.
그리고, 움직임 예측 수행부(610)는 생성한 움직임 벡터를 움직임 벡터 저장부(620)에 저장한다. The motion prediction execution unit 610 stores the generated motion vector in the motion vector storage unit 620.
움직임 벡터 선택부(630)는 키 프레임 내에 존재하는 각기 다른 블록 크기로 얻어진 움직임 벡터들을 이용하여 블록 상호간의 유사도를 측정하여 그 중 가장 유사하다고 판단되는 움직임 벡터를 선택한다. 즉, 움직임 벡터 선택부(630)는 상기 움직임 벡터들 중 상기 하나의 키 프레임의 블록과 상기 다른 하나의 키 프레임의 대응되는 블록간의 유사도를 측정하여 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택한다.The motion vector selector 630 measures similarity between blocks by using motion vectors obtained with different block sizes present in a key frame, and selects a motion vector determined to be the most similar among them. That is, the motion vector selector 630 measures a similarity between the block of the one key frame and the corresponding block of the other key frame among the motion vectors and selects a motion vector having a block size corresponding to the highest similarity. Choose.
여기에서, 키 프레임 내에 존재하는 각 블록 상호간의 유사도는 일반적으로 각 키 프레임 내에 존재하는 블록들의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합) 또는 MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 또는 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 등의 방법을 이용하여 산출될 수 있다. 아울러 상기 열거한 유사도 측정 방법 이외에 다른 적절한 방법을 적용하여 키 프레임 내에 존재하는 각 블록 상호간의 유사도를 측정하는 것도 물론 가능하다.Here, the similarity between each block present in the key frame is generally the sum of absolute difference (SAD) or mean absolute difference (MAD) of the blocks present in each key frame. It can be calculated using a method such as the average of the absolute sum of) or SSD (Sum of Square Difference, sum of squares of the difference of each block). In addition, it is also possible to measure the similarity between each block existing in the key frame by applying other appropriate methods in addition to the above-described similarity measuring method.
그리고, 움직임 벡터 선택부(630)는 선택된 움직임 벡터를 보조 정보 생성부(490)에 제공한다.The motion vector selector 630 provides the selected motion vector to the auxiliary information generator 490.
이러한 구성을 가지는 움직임 벡터 생성부(480)의 동작을 이하 설명한다.The operation of the motion vector generator 480 having such a configuration will be described below.
도 7은 본 발명의 일실시예에 따른 움직임 벡터 생성 과정을 나타낸 순서도이다.7 is a flowchart illustrating a motion vector generation process according to an embodiment of the present invention.
도 7을 참조하면, 움직임 벡터 생성부(480)는 먼저 단계 S710에서 움직임 예측을 위한 복수개의 매크로블록 크기를 결정한다. Referring to FIG. 7, the motion vector generator 480 first determines a plurality of macroblock sizes for motion prediction in step S710.
이 경우, 매크로블록 크기들은 영상의 특성에 따라 결정될 수도 있다. 예컨대, 프레임 간에 세밀하거나 복잡한 움직임이 있거나, 움직임이 많은 경우에는 작은 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 또는, 프레임 간의 움직임이 단조롭고 큰 차이가 없는 경우에는 큰 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 또는, 움직임 예측을 위해 사용될 수 있는 모든 매크로블록의 크기들이 결정될 수도 있다.In this case, macroblock sizes may be determined according to characteristics of an image. For example, if there are fine or complex motions between frames or there is a lot of motion, small block sizes may be determined for motion prediction. Alternatively, when the motion between frames is monotonous and there is no big difference, large block sizes may be determined for motion prediction. Alternatively, the sizes of all macroblocks that can be used for motion prediction may be determined.
이어서, 움직임 벡터 생성부(480)는 단계 S720에서 각 매크로 블록의 크기에 따른 움직임 예측을 수행함으로써 움직임 벡터를 생성한다. 구체적으로 하나의 프레임(500)의 MxN 샘플 블록(502)과 일치하는 MxN 샘플 영역(512)을 찾기 위해 다른 하나의 키 프레임(510)의 영역(520)을 탐색한다. 움직임 벡터 생성부(480)는 하나의 픽처의 MxN 블록(502)과 탐색 영역(일반적으로 현재 블록의 위치를 기준으로 한 영역)(520) 내의 가능한 MxN 블록 모두 또는 일부를 비교하여, 그 중 가장 일치하는 영역 즉, 후보 영역(512)을 찾아낸다. 이어서, 움직임 벡터 생성부(480)는 현재의 MxN 블록(502)의 위치와 후보 영역(512)의 위치 사이의 차이값인 움직임 벡터를 생성한다. Subsequently, the motion vector generator 480 generates a motion vector by performing motion prediction according to the size of each macro block in step S720. Specifically, the area 520 of the other key frame 510 is searched to find the MxN sample area 512 that matches the MxN sample block 502 of one frame 500. The motion vector generator 480 compares all or part of the MxN block 502 of one picture with the possible MxN blocks in the search area (generally, the area based on the position of the current block) 520, and the most among them. The matching area, that is, the candidate area 512 is found. Subsequently, the motion vector generator 480 generates a motion vector that is a difference value between the position of the current M × N block 502 and the position of the candidate region 512.
이어서, 움직임 벡터 생성부(480)는 단계 S730에서 결정된 모든 매크로블록의 크기들에 대해 움직임 벡터가 생성되었는지를 판단한다. 만약 결정된 모든 매크로블록의 크기들에 대해 움직임 벡터가 생성되었으면 움직임 벡터 생성부(480)는 단계 S740에서 각 움직임 벡터에 대해 하나의 픽처의 블록과 다른 하나의 프레임의 블록 사이의 유사도를 측정한다. 본 발명에 일실시예에 따르면 블록은 정사각형 형태를 가질 수 있다. 또한, 키 프레임 내에 존재하는 블록간의 유사도를 측정하는 방법으로 움직임 벡터를 이용한 블록들간의 SAD(Sum of Absolute Difference), MAD(Mean Absolte Difference) 또는 SSD(Sum of Square Difference) 등이 이용될 수 있다.Subsequently, the motion vector generator 480 determines whether a motion vector has been generated for the sizes of all macroblocks determined in operation S730. If a motion vector has been generated for all determined macroblock sizes, the motion vector generator 480 measures similarity between a block of one picture and a block of another frame for each motion vector in step S740. According to an embodiment of the present invention, the block may have a square shape. In addition, as a method of measuring similarity between blocks existing in a key frame, a sum of absolute difference (SAD), a mean absolute difference (MAD), or a sum of square difference (SSD) may be used. .
그러나, 본 발명 권리범위는 이에 한정되지 않으며, 블록크기가 정사각형이 아닌 임의의 형태로 구성할 수도 있으며, 키 프레임 내에 존재하는 블록간의 유사도를 측정하는 방법에 있어서도 다른 임의의 방식을 선택할 수 있음은 물론이다. 또한, 본 발명은 도 2에서 도시한 바와 같이 보조정보를 보간법으로 수행하는 경우, 보외법으로 수행하는 경우 등 어떠한 경우에 있어서도 적용할 수 있다.However, the scope of the present invention is not limited thereto, and the block size may be configured in any form other than square, and in the method of measuring similarity between blocks existing in a key frame, another arbitrary method may be selected. Of course. In addition, the present invention can be applied in any case, such as the case of performing the auxiliary information by the interpolation method, the extrapolation method as shown in FIG.
이어서, 움직임 벡터 생성부(480)는 생성된 움직임 벡터들 중 가장 높은 유사도에 대응하는 움직임 벡터를 선택한다. 즉, 블록 간의 유사도가 가장 큰 움직임 벡터가 가장 우수한 움직임 보상을 보장할 수 있다.Subsequently, the motion vector generator 480 selects a motion vector corresponding to the highest similarity among the generated motion vectors. That is, a motion vector having the largest similarity between blocks can ensure the best motion compensation.
움직임 벡터 생성부(480)는 단계 S760에서 선택된 움직임 벡터를 보조정보 생성부(490)로 출력한다.The motion vector generator 480 outputs the motion vector selected in step S760 to the auxiliary information generator 490.
상기와 같이 본 발명의 바람직한 실시 예에 따른 Wyner-Ziv 코딩 기술에서의 복호화에 있어서, 선택적 해쉬정보 이용방법 및 그 장치가 이루어질 수 있으며, 한편, 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 요지를 벗어나지 않는 범위에서 다양한 실시예가 있을 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.As described above, in the decoding in the Wyner-Ziv coding technique according to the preferred embodiment of the present invention, a method and apparatus for using selective hash information can be made. Meanwhile, in the above description of the present invention, specific embodiments will be described. However, there can be various embodiments within the scope of various modifications do not depart from the gist of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but by the claims and equivalents of the claims.
도 8은 본 발명의 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.8 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 8을 참조하면, 먼저 분산 비디오 부호화 장치는 입력된 키 프레임(key frame)을 부호화한 후 부호화된 키 프레임을 분산 비디오 복호화 장치에 전송한다(단계 S810). 여기서, 분산 비디오 부호화 장치는 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 키 프레임을 부호화할 수 있다.Referring to FIG. 8, the distributed video encoding apparatus first encodes an input key frame and transmits the encoded key frame to the distributed video decoding apparatus (step S810). Here, the distributed video encoding apparatus may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
이후, 분산 비디오 부호화 장치는 분산 비디오 복호화 장치로부터 움직임 벡터를 수신하고(단계 S820), 수신된 움직임 벡터를 이용하여 부호화된 키 프레임에 대한 움직임 보상을 실행하여 WZ 프레임에 상응하는 보조 정보를 생성한다(단계 S830). 여기서, 상기 생성된 보조 정보는 분산 비디오 복호화 장치에서 생성된 보조 정보와 동일하기 때문에 분산 비디오 부호화 장치는 분산 비디오 복호화 장치에서 생성된 보조 정보를 알 수 있게 된다.Subsequently, the distributed video encoding apparatus receives a motion vector from the distributed video decoding apparatus (step S820), performs motion compensation on a key frame encoded using the received motion vector, and generates auxiliary information corresponding to the WZ frame. (Step S830). Since the generated auxiliary information is the same as the auxiliary information generated by the distributed video decoding apparatus, the distributed video encoding apparatus may know the auxiliary information generated by the distributed video decoding apparatus.
이후, 분산 비디오 부호화 장치는 생성된 보조 정보를 변환(transform) 한다(단계 S840).Then, the distributed video encoding apparatus transforms the generated auxiliary information (step S840).
또한, 분산 비디오 부호화 장치는 입력된 원본 WZ 프레임을 변환하고(단계 S850), 변환된 원본 WZ 프레임 및 단계 S840에서 변환된 보조 정보에 기초하여 보조 정보의 예측 오차를 판단 한다(단계 S860). 여기서, 입력된 원본 WZ 프레임에 대한 변환 시점은 도 8에 도시된 순서에 한정되지 않으며, 원본 WZ 프레임이 입력된 시점에 상응하여 실행될 수 있다.In addition, the distributed video encoding apparatus converts the input original WZ frame (step S850), and determines a prediction error of the auxiliary information based on the converted original WZ frame and the auxiliary information converted in step S840 (step S860). Here, the conversion time point for the input original WZ frame is not limited to the order shown in FIG. 8, and may be executed corresponding to the time point at which the original WZ frame is input.
분산 비디오 부호화 장치는 예측 오차가 판단되면, 판단된 예측 오차에 기초하여 양자화를 수행한 후(단계 S870), 양자화된 데이터에 대해 채널 부호화를 수행하여 패리티 비트를 생성한 후 생성된 패리티 비트를 분산 비디오 복호화 장치에 제공한다(단계 S880). 여기서, 분산 비디오 부호화 장치는 매크로 블록(macro block) 등과 같이 한 번에 같이 부호화되는 소정 크기의 이미지 영역인 부호화 단위별로 양자화를 수행할 수 있다.When the prediction error is determined, the distributed video encoding apparatus performs quantization based on the determined prediction error (step S870), and then performs parity bit generation by performing channel encoding on the quantized data to distribute the generated parity bits. Provided to the video decoding apparatus (step S880). Here, the distributed video encoding apparatus may perform quantization for each coding unit, that is, an image area having a predetermined size that is encoded together at one time, such as a macro block.
도 9는 본 발명의 다른 실시예에 따른 예측 오차 판단 단계 및 양자화 단계를 보다 상세하게 도시한 순서도이다.9 is a flowchart illustrating a prediction error determination step and a quantization step in more detail according to another embodiment of the present invention.
도 9를 참조하면, 분산 비디오 부호화 장치는 보조정보 프레임의 예측 오차를 판단하기 위해 보조정보 프레임에서 발생된 오류의 양(Countcoeff.block), 오류가 발생한 블록의 위치(Merror) 및 교차 확률(Crossover)을 산출한다(단계 S860). 여기서 산출된 값들은 각 블록의 양자화 레벨 및 양자화 실행 여부를 결정하는데 이용된다.Referring to FIG. 9, in the distributed video encoding apparatus, in order to determine a prediction error of an auxiliary information frame, the amount of error (Count coeff.block ) generated in the auxiliary information frame, the position of the block in which the error occurs (M error ), and the crossing probability (Crossover) is calculated (step S860). The calculated values are used to determine the quantization level of each block and whether to perform quantization.
구체적으로, 보조 정보 프레임에서 오류가 발생된 위치(Merror)는 하기의 수학식 1을 이용하여 산출할 수 있다.In detail, a position M error in which an error occurs in the auxiliary information frame may be calculated using Equation 1 below.
수학식 1
Figure PCTKR2011000194-appb-M000001
Equation 1
Figure PCTKR2011000194-appb-M000001
수학식 1에서 ORI는 원본 WZ 프레임을 의미하고, SI는 보조 정보 프레임을 의미한다. i는 블록의 인덱스이며 I는 프레임 내의 블록의 개수를 의미한다. j는 블록 내에서의 계수의 인덱스이며, J는 블록 내의 계수의 개수를 의미한다. 또한, k는 비트 플레인(bit plane)의 인덱스이며, k가 0일 때 최상위 비트를 의미하고, k의 값이 증가할수록 하위 비트를 의미한다. K는 계수 내의 비트 플레인의 개수를 의미한다.  In Equation 1, ORI means an original WZ frame, and SI means an auxiliary information frame. i is the index of the block and I is the number of blocks in the frame. j is the index of the coefficient in the block, and J is the number of coefficients in the block. In addition, k is an index of a bit plane, and when k is 0, it means the most significant bit, and as k increases, it means a lower bit. K means the number of bit planes in the coefficient.
또한, 보조정보 프레임 내의 오류의 양은 하기의 수학식 2를 이용하여 산출할 수 있다. In addition, the amount of errors in the auxiliary information frame may be calculated using Equation 2 below.
수학식 2
Figure PCTKR2011000194-appb-M000002
Equation 2
Figure PCTKR2011000194-appb-M000002
부호화 코드인 LDPCA(Low Density Parity Check Accumulate) 코드 길이보다 원본 WZ 프레임의 크기가 더 크기 때문에 한 번에 프레임 전체를 모두 부호화하지 않고 분할하여 부호화를 수행한다. 한 번에 수행되는 원본 WZ 프레임의 범위 중에 오류의 양과 LDPCA 코드 길이를 이용하여 교차 확률(Crossover)을 수학식 3과 같이 측정할 수 있다. Since the size of the original WZ frame is larger than the LDPCA code (LDPCA) code length, encoding is performed by dividing the entire frame without encoding all at once. Crossover probability may be measured using Equation 3 using the amount of error and the LDPCA code length in the range of the original WZ frame that is performed at one time.
수학식 3
Figure PCTKR2011000194-appb-M000003
Equation 3
Figure PCTKR2011000194-appb-M000003
상술한 바와 같이 수학식 1, 2 및 3을 이용하여 오류의 위치, 오류의 양 및 교차 확률을 산출한 후, 분산 비디오 부호화 장치는 산출된 값들에 기초하여 원본 WZ 프레임의 양자화레벨을 결정한다(단계 S900). 예를 들어, 분산 비디오 부호화 장치는 상기 산출된 값들에 기초하여 양자화 비트를 결정함으로써 양자화 레벨을 결정할 수 있다. After calculating the position of the error, the amount of error, and the crossover probability using Equations 1, 2, and 3 as described above, the distributed video encoding apparatus determines the quantization level of the original WZ frame based on the calculated values ( Step S900). For example, the distributed video encoding apparatus may determine the quantization level by determining the quantization bit based on the calculated values.
이후, 분산 비디오 부호화 장치는 WZ 프레임 내의 모든 블록 각각에 대해 오류 발생 여부 및 교차 확률이 미리 설정된 임계값(threshold) 보다 작은가를 판단하여(단계 S910 및 단계 S920), 오류가 발생하지 않고 교차 확률이 임계값보다 작은 블록에 대해서는 양자화를 생략하고(단계 S930), 오류가 발생했거나 교차 확률이 임계값 이상인 블록에 대해서는 양자화를 수행한다(단계 S940). Subsequently, the distributed video encoding apparatus determines whether an error occurs and an intersection probability is smaller than a preset threshold for each block in the WZ frame (steps S910 and S920), so that an error does not occur and the intersection probability is increased. Quantization is omitted for blocks smaller than the threshold value (step S930), and quantization is performed for blocks in which an error has occurred or crossover probability is greater than or equal to the threshold value (step S940).
분산 비디오 부호화 장치는 단계 S910 내지 단계 S940을 통해 프레임 내의 모든 블록에 대한 양자화가 완료되면 채널 부호화를 수행한다.       The distributed video encoding apparatus performs channel encoding when quantization of all blocks in a frame is completed through steps S910 to S940.
상술한 바와 같이, 본 발명의 일실시예에 따른 분산 비디오 부호화 방법은 블록의 오류 유무를 표시한 Merror를 이용하여, 오류가 없는 블록으로 결정된 블록은 양자화를 적응적으로 수행한다. 즉, 오류가 있는 블록에 오류가 밀집되어 있다면, 교차 확률을 낮추기 위하여 양자화를 수행하고, 오류가 있는 블록만 부호화해도 교차 확률이 충분히 낮을 경우, 오류가 없는 블록은 양자화를 수행하지 않는다. 이는, 오류가 많은 블록에 많은 비트를 할당 하며, LDPCA의 성능 향상을 위해 교차 확률에 맞게 비트를 할당함으로써, 비트를 효율적으로 사용할 수 있도록 한 것이다.As described above, the distributed video encoding method according to an embodiment of the present invention adaptively performs quantization for a block determined to be an error-free block by using M error indicating an error of a block. That is, if an error is concentrated in a block having an error, quantization is performed to lower the crossing probability, and if only the block having the error is encoded, if the crossing probability is low enough, the block without an error does not perform quantization. This allocates a large number of bits to an error-prone block, and allocates bits according to the crossing probabilities to improve the performance of the LDPCA, thereby enabling efficient use of the bits.
본 발명의 일실시예에 따른 분산 비디오 부호화 방법에서는 분산 비디오 부호화 장치에서 분산 비디오 복호화 장치의 채널 복호화 능력을 알고 있다는 가정 하에, 부호화 장치에서 오류가 없는 비트와 오류가 있는 비트의 비율을 복호화가 가능한 만큼의 교차 확률에 맞추어 전송하게 된다. 따라서 영상에 따라 전송해야 하는 비트의 양은 증가할 수 있지만, 복호화가 실패할 확률을 최대한 낮추어, 복호기의 안전성을 높이고, 비트를 효과적으로 사용할 수 있다. In the distributed video encoding method according to an embodiment of the present invention, assuming that the distributed video encoding apparatus knows the channel decoding capability of the distributed video decoding apparatus, it is possible to decode the ratio of bits without errors and bits with errors in the encoding apparatus. Transmit according to the number of crossing probabilities. Therefore, although the amount of bits to be transmitted may increase according to the image, the probability of decoding failure is reduced as much as possible, thereby increasing the safety of the decoder and effectively using the bits.
도 10은 본 발명의 다른 실시예에 따른 분산 비디오 복호화 방법을 나타내는 순서도이다.10 is a flowchart illustrating a distributed video decoding method according to another embodiment of the present invention.
도 10을 참조하면, 먼저 분산 비디오 복호화 장치는 분산 비디오 부호화기로부터 전송된 부호화된 키 프레임을 복호화 한다(단계 S1010). 여기서, 분산 비디오 복호화 장치는 H.264/AVC, MPEGx 등의 공지된 다양한 복호화 기술을 통해 키 프레임을 복호화할 수 있다.Referring to FIG. 10, first, a distributed video decoding apparatus decodes an encoded key frame transmitted from a distributed video encoder (step S1010). Here, the distributed video decoding apparatus may decode a key frame through various known decoding techniques such as H.264 / AVC and MPEGx.
이후, 분산 비디오 복호화 장치는 복호화된 키 프레임에 기초하여 움직임 벡터를 생성하고(단계 S1020), 생성된 움직임 벡터를 분산 비디오 부호화기로 전송한다(단계 S1030).Subsequently, the distributed video decoding apparatus generates a motion vector based on the decoded key frame (step S1020), and transmits the generated motion vector to the distributed video encoder (step S1030).
그리고, 분산 비디오 복호화 장치는 생성된 움직임 벡터를 이용하여 움직임 보상을 수행하여 보조 정보를 생성한다(단계 S1040). 예를 들어, 분산 비디오 복호화 장치는 복원된 키 프레임 간의 움직임 벡터를 추정한 후 복원하고자 하는 WZ 프레임에 상응하는 보조 정보의 움직임 벡터를 프레임 간의 거리를 고려하여 상기 복원된 키 프레임 간의 움직임 벡터로부터 획득한다. 이렇게 획득한 보조 정보의 움직임 벡터가 지시하는 키 프레임 내의 복호화 단위를 보조 정보로 생성할 수 있다.The distributed video decoding apparatus generates motion information by performing motion compensation using the generated motion vector (step S1040). For example, the distributed video decoding apparatus estimates a motion vector between reconstructed key frames and then obtains a motion vector of auxiliary information corresponding to a WZ frame to be reconstructed from the motion vectors between the reconstructed key frames in consideration of the distance between the frames. do. The decoding unit in the key frame indicated by the motion vector of the obtained auxiliary information may be generated as auxiliary information.
분산 비디오 복호화 장치는 상술한 바와 같이 보조 정보가 생성되면 생성된 보조 정보에 포함된 잡음을 분산 비디오 부호화 장치로부터 전송된 패리티 비트를 이용하여 정정한 후(단계 S1050), 역양자화를 수행하여 WZ 프레임을 복원한다(단계 S1060).As described above, when the auxiliary information is generated, the distributed video decoding apparatus corrects the noise included in the generated auxiliary information by using the parity bits transmitted from the distributed video encoding apparatus (step S1050), and then performs dequantization to perform a WZ frame. To be restored (step S1060).
도 11은 본 발명의 다른 실시예에 따른 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치의 구성을 나타내는 순서도이다.11 is a flowchart illustrating a configuration of a distributed video encoding apparatus and a distributed video decoding apparatus according to another embodiment of the present invention.
도 11을 참조하면, 분산 비디오 부호화 장치(1100)는 키프레임 부호화부(1105), 버퍼(1110), 움직임 보상부(1115), 제1 변환부(1120), 제2 변환부(1125), 양자화 제어부(1130) 및 채널 부호화부(1140)를 포함할 수 있다.Referring to FIG. 11, the distributed video encoding apparatus 1100 may include a keyframe encoder 1105, a buffer 1110, a motion compensator 1115, a first transform unit 1120, a second transform unit 1125, It may include a quantization control unit 1130 and a channel encoder 1140.
먼저, 부호화될 입력 영상은 키 프레임과 WZ 프레임으로 분류되어 키 프레임은 키프레임 부호화부(1105)에 제공되고 WZ 프레임은 제2 변환부(1125)에 제공된다. 키프레임 부호화부(1105)는 키 프레임을 부호화한 후, 부호화된 키 프레임을 움직임 보상부(1115) 및 분산 비디오 복호화 장치의 키프레임 복호화부(1155)에 제공한다. 여기서, 상기 키프레임 부호화부(1105)는 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 키 프레임을 부호화할 수 있다. First, an input image to be encoded is classified into a key frame and a WZ frame so that the key frame is provided to the key frame encoder 1105 and the WZ frame is provided to the second converter 1125. After the key frame encoder 1105 encodes the key frame, the key frame encoder 1105 provides the encoded key frame to the motion compensator 1115 and the key frame decoder 1155 of the distributed video decoding apparatus. Here, the key frame encoder 1105 may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
버퍼(1110)는 분산 비디오 복호화 장치(1150)의 보조정보 생성부(1160)로부터 제공된 움직임 벡터(MV: Motion Vector)를 일시 저장한 후 움직임 보상부(1115)에 제공한다.The buffer 1110 temporarily stores a motion vector (MV: Motion Vector) provided from the auxiliary information generator 1160 of the distributed video decoding apparatus 1150 and provides the buffer to the motion compensator 1115.
움직임 보상부(1115)는 분산 비디오 복호화 장치(1150)로부터 전송되어 버퍼(1110)에 저장된 움직임 벡터를 독출한 후, 독출한 움직임 벡터를 이용하여 부호화된 키 프레임에 대한 움직임 보상을 수행하여 보조 정보를 생성한 후 생성된 보조 정보를 제1 변환부(1120)에 제공한다. 여기서, 움직임 보상부(1115)는 분산 비디오 복호화 장치(1150)로부터 제공된 움직임 벡터를 이용하여 키 프레임에 대한 움직임 보상을 수행하였기 때문에 분산 비디오 부호화 장치(1100)와 분산 비디오 복호화 장치(1150)에서 생성된 보조 정보는 서로 동일하고, 이로 인해 분산 비디오 부호화 장치(1100)는 분산 비디오 복호화 장치(1150)에서 생성된 보조 정보를 알 수 있고 이를 부호화에 반영할 수 있게 된다.The motion compensator 1115 reads a motion vector transmitted from the distributed video decoding apparatus 1150 and stored in the buffer 1110, and then performs motion compensation on a key frame encoded by using the read motion vector. After generating the information, the generated auxiliary information is provided to the first converter 1120. Here, since the motion compensator 1115 performs motion compensation on a key frame using the motion vector provided from the distributed video decoding apparatus 1150, the motion compensator 1115 generates the distributed video encoding apparatus 1100 and the distributed video decoding apparatus 1150. The supplementary information is identical to each other, and thus, the distributed video encoding apparatus 1100 may recognize the supplementary information generated by the distributed video decoding apparatus 1150 and reflect the supplementary information in the encoding.
제1 변환부(1120)는 움직임 보상부(1115)로부터 제공된 보조 정보를 변환(transform)하여 양자화 제어부(1130)에 제공하고, 제2 변환부(1125)는 입력된 원본 WZ 프레임을 변환하여 양자화 제어부(1130)에 제공한다. 여기서, 상기 제1 및 제2 변환부(1120, 1125)는 동일한 변환 방법을 사용할 수 있다.The first transform unit 1120 transforms the auxiliary information provided from the motion compensator 1115 to provide the quantization control unit 1130, and the second transform unit 1125 transforms the input original WZ frame to quantize it. The control unit 1130 is provided. Here, the first and second converters 1120 and 1125 may use the same conversion method.
양자화 제어부(1130)는 제1 변환부(1120)로부터 제공된 변환된 보조 정보 프레임과 제2 변환부(1125)로부터 제공된 원본 WZ 프레임에 기초하여 보조 정보의 예측 오차를 판단한 후 판단된 예측 오차에 기초하여 원본 WZ 프레임을 구성하는 각 블록의 양자화 레벨 및 양자화 여부를 결정하고, 이에 기초하여 양자화를 수행한 후 채널 부호화부(1140)에 제공한다.The quantization controller 1130 determines the prediction error of the auxiliary information based on the converted auxiliary information frame provided from the first transform unit 1120 and the original WZ frame provided from the second transform unit 1125, and then based on the determined prediction error. The quantization level and quantization of each block constituting the original WZ frame are determined, and the quantization is performed based on the quantization level and then provided to the channel encoder 1140.
채널 부호화부(1140)는 채널 코드를 이용하여 양자화가 수행된 데이터에 대해 패리티 비트(parity bit)를 생성한 후, 생성된 패리티 비트를 분산 비디오 복호화 장치(1150)의 채널 복호화부(1170)로 전송한다. 여기서, 상기 생성된 패리티 비트는 별도로 마련된 버퍼(미도시)에 저장된 후 분산 비디오 복호화 장치의 전송 요청에 따라 분산 비디오 복호화 장치로 제공되도록 구성될 수도 있다.The channel encoder 1140 generates a parity bit for the quantized data using the channel code, and then converts the generated parity bit to the channel decoder 1170 of the distributed video decoding apparatus 1150. send. In this case, the generated parity bit may be stored in a separate buffer (not shown) and then provided to the distributed video decoding apparatus according to a transmission request of the distributed video decoding apparatus.
분산 비디오 복호화 장치(1150)는 키프레임 복호화부(1155), 보조정보 생성부(1160), 변환부(1165), 채널 복호화부(1170) 및 역양자화부(1175)를 포함할 수 있다.The distributed video decoding apparatus 1150 may include a keyframe decoder 1155, an auxiliary information generator 1160, a transformer 1165, a channel decoder 1170, and an inverse quantizer 1175.
키프레임 복호화부(1155)는 분산 비디오 부호화 장치(1100)의 키프레임 부호화부(1105)로부터 제공된 부호화된 키 프레임에 대한 복호화를 수행하여 보조정보 생성부(1160)에 제공한다. 상기 키프레임 복호화부(1155)는 H.264/AVC, MPEGx 등의 공지된 다양한 복호화 기술을 통해 키 프레임을 복호화할 수 있다. The keyframe decoder 1155 decodes the encoded key frame provided from the keyframe encoder 1105 of the distributed video encoding apparatus 1100 and provides the decoded keyframe to the auxiliary information generator 1160. The key frame decoder 1155 may decode the key frame through various known decoding techniques such as H.264 / AVC and MPEGx.
보조정보 생성부(1160)는 복호화된 키 프레임을 이용하여 움직임 예측을 수행한 후 움직임 보상을 수행하여 WZ 프레임에 해당하는 보조 정보를 생성한다. 또한, 보조정보 생성부(1160)는 상기 움직임 예측을 실시하는 과정에서 생성된 움직임 벡터를 분산 비디오 부호화 장치(1100)로 제공한다. 여기서, 보조정보 생성부(1160)는 복원된 키 프레임 간의 움직임 벡터를 추정한 후 복원하고자 하는 WZ 프레임에 상응하는 보조 정보의 움직임 벡터를 프레임 간의 거리를 고려하여 상기 복원된 키 프레임 간의 움직임 벡터로부터 획득할 수 있고, 획득한 보조 정보의 움직임 벡터가 지시하는 키 프레임 내의 복호화 단위를 보조 정보로 생성할 수 있다.The auxiliary information generator 1160 performs motion prediction using the decoded key frame and then performs motion compensation to generate auxiliary information corresponding to the WZ frame. In addition, the auxiliary information generator 1160 provides the motion vector generated in the process of performing the motion prediction to the distributed video encoding apparatus 1100. Here, the auxiliary information generator 1160 estimates a motion vector between the reconstructed key frames, and then calculates a motion vector of the auxiliary information corresponding to the WZ frame to be restored from the motion vectors between the reconstructed key frames in consideration of the distance between the frames. A decoding unit in a key frame indicated by the motion vector of the obtained auxiliary information may be generated as auxiliary information.
변환부(1165)는 보조정보 생성부(1160)로부터 제공된 보조 정보를 변환한 후 채널 복호화부(1170)에 제공하고, 채널 복호화부(1170)는 변환부(1165)로부터 제공된 변환된 데이터에 포함된 잡음을 분산 비디오 부호화 장치(1100)로부터 전송되는 패리티 비트를 이용하여 정정함으로써 양자화된 데이터를 추정한다.The converter 1165 converts the auxiliary information provided from the auxiliary information generator 1160 and provides the converted information to the channel decoder 1170, and the channel decoder 1170 is included in the converted data provided from the converter 1165. The quantized data is estimated by correcting the noise by using parity bits transmitted from the distributed video encoding apparatus 1100.
역양자화부(1175)는 채널 복호화부(1170)로부터 추정된 양자화 데이터를 제공받고 이를 역양자화하여 WZ 프레임을 복원한다. 여기서, 역양자화시에 발생하는 모호성(ambiguity)은 보조정보 생성부(1160)로부터 제공되는 보조 정보를 참조하여 해결한다.The inverse quantizer 1175 receives the estimated quantization data from the channel decoder 1170 and inversely quantizes the WZ frame. Here, the ambiguity generated during inverse quantization is solved by referring to the auxiliary information provided from the auxiliary information generator 1160.
도 11에 도시된 바와 같이 본 발명의 일 실시예에 따른 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치에서는 분산 비디오 복호화 장치(1150)에서 WZ 프레임에 해당하는 보조 정보를 예측하는데 사용된 움직임 벡터를 분산 비디오 부호화 장치(1100)로 전송하고, 분산 비디오 부호화 장치(1100)에서는 전송받은 움직임 벡터를 이용하여 움직임 보상을 수행하여 보조 정보를 생성함으로써 분산 비디오 복호화 장치(1150)에서 생성된 보조 정보와 동일한 보조 정보를 획득한 후, 생성된 보조 정보와 원본 WZ 프레임 사이의 예측 오차를 산출하고 이에 기초하여 양자화 레벨 및 양자화 여부를 조절함으로써 부호화 효율을 향상시킬 수 있고, 우수한 품질의 이미지를 획득할 수 있다.As illustrated in FIG. 11, in the distributed video encoding apparatus and the distributed video decoding apparatus, the distributed video decoding apparatus 1150 uses the motion vector used to predict auxiliary information corresponding to the WZ frame. The auxiliary information is transmitted to the encoding apparatus 1100 and the distributed video encoding apparatus 1100 generates auxiliary information by performing motion compensation using the received motion vector, thereby providing the same auxiliary information as that generated by the distributed video decoding apparatus 1150. After obtaining, the coding efficiency can be improved by calculating a prediction error between the generated auxiliary information and the original WZ frame and adjusting the quantization level and whether the quantization is based on the prediction error, thereby obtaining an image of excellent quality.
도 12는 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다.12 is a block diagram showing a structure of a transform encoding apparatus according to another embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도로서, 도 11에 도시된 분산 비디오 부호화 장치(1100) 및 분산 비디오 복호화 장치(1150)가 적용되는 경우를 예를 들어 도시하였다. 도 12에 도시된 분산 비디오 부호화 장치(1200) 및 변환 부호화 장치(1250)에 포함된 분산 비디오 복호화 장치(1260)는 도 11에 도시된 동일 부호의 구성요소와 동일한 기능을 수행하므로 중복을 피하기 위해 상세한 설명을 생략한다.FIG. 12 is a block diagram illustrating a structure of a transform encoding apparatus according to an embodiment of the present invention. For example, the distributed video encoding apparatus 1100 and the distributed video decoding apparatus 1150 illustrated in FIG. 11 are applied. Shown. The distributed video decoding apparatus 1200 and the distributed video decoding apparatus 1260 included in the transform encoding apparatus 1250 illustrated in FIG. 12 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
상기 변환 부호화 장치(Trans-coder)는 본 발명의 일실시예에 따른 분산 비디오 부호화 장치(1200)를 통해 부호화된 영상을 종래의 분산 비디오 복호화를 수행하지 않는 복호화 장치(1295)에서 복호화할 수 있도록 변환하는 기능을 수행한다.The trans-coder may decode an image encoded by the distributed video encoding apparatus 1200 according to an embodiment of the present invention in a decoding apparatus 1295 that does not perform conventional distributed video decoding. Perform the function of converting.
도 12를 참조하면, 본 발명의 일 실시예에 따른 변환 부호화 장치(1250)는 분산 비디오 복호화 장치(1260) 및 부호화부(1290)를 포함할 수 있다.Referring to FIG. 12, the transform encoding apparatus 1250 according to an embodiment of the present invention may include a distributed video decoding apparatus 1260 and an encoder 1290.
분산 비디오 복호화 장치(1260)는 분산 비디오 부호화 장치(1200)로부터 제공된 부호화된 키 프레임을 복호화한 후 복호화된 키 프레임을 이용하여 보조 정보를 생성하고, 상기 보조 정보 생성과정에서 생성된 움직임 벡터를 분산 비디오 부호화 장치(1200)에 제공한다.The distributed video decoding apparatus 1260 decodes an encoded key frame provided from the distributed video encoding apparatus 1200, generates auxiliary information using the decoded key frame, and distributes a motion vector generated in the auxiliary information generation process. The video encoding apparatus 1200 is provided.
또한, 분산 비디오 복호화 장치(1260)는 분산 비디오 부호화 장치(1200)로부터 제공된 패리티 비트를 이용하여 생성된 보조 정보를 보정한 후 역양자화하여 WZ 프레임을 복원한다.In addition, the distributed video decoding apparatus 1260 corrects auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1200, and then dequantizes and restores the WZ frame.
상술한 바와 같이 분산 비디오 복호화 장치(1260)를 통해 복원된 키 프레임 및 WZ 프레임은 부호화부(1290)로 제공되고, 부호화부(1290)는 제공받은 키 프레임 및 WZ 프레임을 부호화한 후 복호화 장치(1295)에 제공한다. 여기서, 상기 부호화부(310)는 예를 들어, H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 이용하여 부호화할 수 있고, 바람직하게는 복호화 장치에 적용된 복호화 표준 기술과 동일한 표준 기술이 부호화에 적용될 수 있다.As described above, the key frame and the WZ frame reconstructed by the distributed video decoding apparatus 1260 are provided to the encoder 1290, and the encoder 1290 encodes the received key frame and the WZ frame and then decodes the decoder ( 1295). Here, the encoder 310 may encode using various known coding techniques such as H.264 / AVC, MPEGx, for example. Preferably, the same standard technique as the decoding standard technique applied to the decoding apparatus is used. It can be applied to the encoding.
도 13은 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다.13 is a block diagram showing the structure of a transform encoding apparatus according to another embodiment of the present invention.
도 13에 도시된 분산 비디오 부호화 장치(1300) 및 변환 부호화 장치(1350)에 포함된 분산 비디오 복호화 장치(1360)는 도 11에 도시된 동일 부호의 구성요소와 동일한 기능을 수행하므로 중복을 피하기 위해 상세한 설명을 생략한다.The distributed video decoding apparatus 1300 illustrated in FIG. 13 and the distributed video decoding apparatus 1360 included in the transform encoding apparatus 1350 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
도 13을 참조하면, 본 발명의 다른 실시예에 따른 변환 부호화 장치(1350)는 분산 비디오 복호화 장치(1360), 제1 부호화부(1390) 및 제2 부호화부(1393)를 포함할 수 있다.Referring to FIG. 13, the transform encoding apparatus 1350 according to another embodiment of the present invention may include a distributed video decoding apparatus 1360, a first encoder 1390, and a second encoder 1393.
분산 비디오 복호화 장치(1360)는 분산 비디오 부호화 장치(1300)로부터 제공된 부호화된 키 프레임을 복호화한 후 복호화된 키 프레임을 이용하여 보조 정보를 생성하고, 상기 보조 정보 생성과정에서 생성된 움직임 벡터를 분산 비디오 부호화 장치(1300)에 제공한다.The distributed video decoding apparatus 1360 decodes an encoded key frame provided from the distributed video encoding apparatus 1300, generates auxiliary information using the decoded key frame, and distributes a motion vector generated in the auxiliary information generation process. The video encoding apparatus 1300 is provided.
또한, 분산 비디오 복호화 장치(1360)는 분산 비디오 부호화 장치(1300)로부터 제공된 패리티 비트를 이용하여 생성된 보조 정보를 보정한 후 역양자화하여 WZ 프레임을 복원한다.In addition, the distributed video decoding apparatus 1360 corrects auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1300, and then dequantizes and restores the WZ frame.
상술한 바와 같이 분산 비디오 복호화 장치(1360)를 통해 복원된 WZ 프레임은 제1 부호화부(1390)로 제공되고, 복원된 키 프레임은 제2 부호화부(1393)에 제공된다. 제1 부호화부(1390)는 복원된 WZ 프레임을 부호화하여 제1 복호화 장치(1396)에 제공하고, 제2 부호화부(1393)는 복원된 키 프레임을 부호화하여 제2 복호화 장치(1399)에 제공한다. 여기서, 상기 제1 부호화부(1390) 및 제2 부호화부(1393)는 분산 비디오 부호화 방법이 아닌 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 부호화할 수 있고, 바람직하게는 부호화된 데이터를 제공하는 해당 복호화 장치에 적용된 표준 기술과 동일한 표준 기술이 부호화에 적용될 수 있다.As described above, the WZ frame reconstructed by the distributed video decoding apparatus 1360 is provided to the first encoder 1390, and the reconstructed key frame is provided to the second encoder 1393. The first encoder 1390 encodes the reconstructed WZ frame and provides it to the first decoding device 1396, and the second encoder 1393 encodes the reconstructed key frame and provides the second decoding device 1399. do. Here, the first encoder 1390 and the second encoder 1393 may encode through various well-known encoding techniques such as H.264 / AVC, MPEGx, and not the distributed video encoding method. The same standard technique as that applied to the corresponding decoding apparatus for providing the corrected data may be applied to the encoding.
도 14는 본 발명의 또 다른 실시예에 따른 변환 부호화기의 구성을 나타내는 블록도이다.14 is a block diagram illustrating a configuration of a transform encoder according to another embodiment of the present invention.
도 14는 본 발명의 또 다른 실시예에 따른 변환 부호화기의 구성을 나타내는 블록도로서, 분산 비디오 부호화 장치(1400) 및 분산 비디오 복호화 장치(1460)가 적용된 변환 부호화기(1450)가 시간축에서 확장성(scalablity)을 가지는 경우를 예를 들어 도시하였다. 도 14에 도시된 분산 비디오 부호화 장치(1400) 및 변환 부호화 장치(1450)에 포함된 분산 비디오 복호화 장치(1460)는 도 11에 도시된 동일 부호의 구성요소와 동일한 기능을 수행하므로 중복을 피하기 위해 상세한 설명을 생략한다.14 is a block diagram illustrating a structure of a transform encoder according to another embodiment of the present invention, in which a transform encoder 1450 to which the distributed video encoding apparatus 1400 and the distributed video decoding apparatus 1460 are applied is scalable in a time axis. For example, the case having scalablity is illustrated. The distributed video decoding apparatus 1400 illustrated in FIG. 14 and the distributed video decoding apparatus 1460 included in the transform encoding apparatus 1450 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
도 14를 참조하면, 변환 부호화 장치(1450)는 크게 기본계층(Base layer) 변환 부호화부(1455) 및 향상 계층(Enhancement layer) 변환 부호화부(1457)를 포함할 수 있다. 기본계층 변환부호화부(1455)는 복호화부(1465) 및 제2 부호화부(1493)를 포함할 수 있고, 향상계층 변환부호화부(1457)는 보조정보 생성부(1470), 변환부(1475), 채널 복호화부(1480), 역양자화부(1485) 및 제1 부호화부(1490)를 포함할 수 있다.Referring to FIG. 14, the transform encoding apparatus 1450 may largely include a base layer transform encoding unit 1455 and an enhancement layer transform encoding unit 1457. The base layer transform encoder 1455 may include a decoder 1465 and a second encoder 1493, and the enhancement layer transform encoder 1457 may include an auxiliary information generator 1470 and a converter 1475. , A channel decoder 1480, an inverse quantizer 1485, and a first encoder 1490.
기본계층 변환 부호화부(1455)는 분산 비디오 부호화 장치(1400)로부터 제공된 부호화된 키 프레임을 복호화한 후 제2 부호화부(1493)를 통해 다시 부호화하여 제2 복호화 장치(1499)에 제공한다. 또한, 기본계층 변환부호화부(1455)는 상기 복호화된 키 프레임을 향상계층 변환부호화부(1457)에 제공한다.The base layer transform encoder 1455 decodes an encoded key frame provided from the distributed video encoding apparatus 1400, and then re-codes the encoded key frame through the second encoder 1493 to provide it to the second decoding apparatus 1499. In addition, the base layer transform encoder 1455 provides the decrypted key frame to the enhancement layer transform encoder 1457.
향상계층 변환 부호화부(1457)는 기본계층 변환부호화부(1455)로부터 제공된 키 프레임에 기초하여 보조 정보를 생성하고, 분산 비디오 부호화 장치(1400)로부터 제공된 패리티 비트를 이용하여 생성된 보조 정보를 정정하고 역양자화한 후, 제1 부호화부를 통해 부호화한 후 제1 복호화 장치(1496)에 제공한다. 여기서, 향상계층 변환부호화부(1457)는 상기 보조 정보 생성과정에서 생성된 움직임 벡터를 분산 비디오 부호화 장치(1400)에 제공한다. 상기 제1 부호화부(1490) 및 제2 부호화부(1493)는 분산 비디오 부호화 방법이 아닌 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 부호화할 수 있고, 바람직하게는 부호화된 데이터를 제공하는 해당 복호화 장치에 적용된 표준 기술과 동일한 표준 기술이 부호화에 적용될 수 있다.The enhancement layer transform encoder 1157 generates auxiliary information based on the key frame provided from the base layer transform encoder 1455, and corrects the generated auxiliary information using the parity bits provided from the distributed video encoding apparatus 1400. After inverse quantization, the signal is encoded by the first encoder and then provided to the first decoder 1496. In this case, the enhancement layer transform encoder 1457 provides the distributed video encoding apparatus 1400 with the motion vector generated during the auxiliary information generation process. The first encoder 1490 and the second encoder 1493 may encode through various known encoding techniques such as H.264 / AVC, MPEGx, and the like, rather than distributed video encoding. The same standard technology as that applied to the corresponding decoding apparatus for providing the same may be applied to the encoding.
도 14에 도시된 바와 같이 본 발명의 또 다른 실시예에 따른 변환 부호화 장치는 기본계층 변환부호화부(1455)를 통해 복원된 키 프레임을 부호화하고, 향상계층 변환부호화부(1457)를 통해 복원된 WZ 프레임을 부호화한 후 각각 제2 복호화 장치(1499) 및 제1 복호화 장치(1496)에 제공함으로써, 기본 계층의 경우는 제2 복호화 장치(1499)에서 복호화된 결과만으로 출력 하고, 향상 계층의 경우에는 제2 복호화 장치(1499) 및 제1 복호화 장치(1496)에서 복호화된 결과 영상을 재정렬하여 출력할 수 있다.As shown in FIG. 14, the transform encoding apparatus according to another embodiment of the present invention encodes a key frame reconstructed by the base layer transform encoder 1455 and reconstructed by the enhancement layer transform encoder 1575. The WZ frame is encoded and then provided to the second decoding unit 1499 and the first decoding unit 1496, respectively, so that the base layer outputs only the result decoded by the second decoding unit 1499, and the enhancement layer. Next, the resultant images decoded by the second decoding unit 1499 and the first decoding unit 1496 may be rearranged and output.
도 15은 본 발명의 또 다른 실시예에 따른 변환 부호화 장치의 구성을 나타내는 블록도이다. 15 is a block diagram showing a configuration of a transform encoding apparatus according to another embodiment of the present invention.
도 15에 도시된 분산 비디오 부호화 장치(1500) 및 변환 부호화 장치(1550)에 포함된 분산 비디오 복호화 장치(1560)는 도 11에 도시된 동일 부호의 구성요소와 동일한 기능을 수행하므로 중복을 피하기 위해 상세한 설명을 생략한다.The distributed video encoding apparatus 1500 and the distributed video decoding apparatus 1560 included in the transform encoding apparatus 1550 illustrated in FIG. 15 perform the same functions as the components of the same code illustrated in FIG. 11 to avoid duplication. Detailed description will be omitted.
도 15를 참조하면, 분산 비디오 부호화 장치(1500)에서 부호화된 키 프레임은 변환 부호화 장치(1550)의 키프레임 복호화부(1565)에 제공되고, 동시에 제2 복호화 장치(1599)에 제공된다. 즉, 변환 부호화 장치(1550)의 복호화부(1565)를 통해 복호화된 키 프레임은 보조정보 생성부(1570)로만 제공되어 보조 정보를 생성하는데만 이용되며 복호화된 키 프레임을 외부의 복호화 장치에 제공하지 않는다. 따라서, 제2 복호화 장치(1599)에서 복호화되는 영상은 분산 비디오 부호화 장치(1500)의 키프레임 부호화부(1505)에서 부호화된 영상이며, 변환 부호화 장치(1550)에서는 부호화된 키 프레임을 제2 복호화 장치(1599)에 제공하기 위한 별도의 처리를 수행하지 않는다.Referring to FIG. 15, a key frame encoded by the distributed video encoding apparatus 1500 is provided to the key frame decoder 1565 of the transform encoding apparatus 1550 and simultaneously provided to the second decoding apparatus 1599. That is, the key frame decoded by the decoding unit 1565 of the transcoding apparatus 1550 is provided only to the auxiliary information generating unit 1570 to be used only for generating auxiliary information, and provides the decoded key frame to an external decoding device. I never do that. Therefore, the image decoded by the second decoding apparatus 1599 is an image encoded by the keyframe encoder 1505 of the distributed video encoding apparatus 1500, and the transform encoding apparatus 1550 decodes the encoded key frame by second decoding. No separate processing to provide to the device 1599 is performed.
또한, 변환 부호화 장치(1550)는 분산 비디오 부호화 장치(1500)로부터 제공된 패리티 비트를 이용하여 생성된 보조 정보를 정정하고 역양자한 후 제1 부호화부(1593)를 통해 부호화한 후 제1 복호화 장치(1596)에 제공한다.In addition, the transform encoding apparatus 1550 corrects and inverse quantizes auxiliary information generated by using the parity bits provided from the distributed video encoding apparatus 1500, and then encodes the encoded information through the first encoder 1593 and then encodes the first decoding apparatus. Provided in (1596).
도 16는 도 15에 도시된 변환 부호화 장치가 시간축에서 확장성을 가지는 경우의 구성을 나타내는 블록도이다.FIG. 16 is a block diagram illustrating a configuration in the case where the transform encoding apparatus illustrated in FIG. 15 has scalability on the time axis.
도 16를 참조하면, 변환 부호화 장치(1650)는 크게 기본계층 변환부호화부(1655) 및 향상계층 변환부호화부(1657)를 포함할 수 있다. 기본계층 변환부호화부(1655)는 복호화부(1665)를 포함할 수 있고, 향상계층 변환부호화부(1657)는 보조정보 생성부(1670), 변환부(1675), 채널 복호화부(1680), 역양자화부(1685) 및 제1 부호화부(1690)를 포함할 수 있다.Referring to FIG. 16, the transform encoding apparatus 1650 may largely include a base layer transform encoder 1655 and an enhancement layer transform encoder 1657. The base layer transform encoder 1655 may include a decoder 1665. The enhancement layer transform encoder 1657 may include an auxiliary information generator 1670, a converter 1675, a channel decoder 1680, and the like. The dequantizer 1685 and the first encoder 1690 may be included.
기본계층 변환부호화부(1655)는 분산 비디오 부호화 장치(1600)로부터 제공된 부호화된 키 프레임을 복호화한 후 보조정보 생성부(1670)에 제공한다. 여기서, 상기 기본계층 변환부호화부(1655)를 통해 복호화된 키 프레임은 향상계층 변환부호화부(1657)의 보조정보 생성부(1670)로만 제공되어 보조 정보를 생성하는데만 이용되며 복호화된 키 프레임을 외부의 복호화 장치에 제공하지 않는다. 따라서, 제2 복호화 장치(1696)에서 복호화되는 영상은 분산 비디오 부호화 장치(1600)의 부호화부(1605)에서 부호화된 영상이며, 기본계층 변환부호화부(1655)에서는 부호화된 키 프레임을 제2 복호화 장치(1696)에 제공하기 위한 별도의 처리를 수행하지 않는다.The base layer transform encoder 1655 decodes the encoded key frame provided from the distributed video encoding apparatus 1600 and provides the decoded key frame to the auxiliary information generator 1670. In this case, the key frame decrypted by the base layer transform encoder 1655 is provided only to the auxiliary information generator 1670 of the enhancement layer transform encoder 1657 and used only to generate the auxiliary information. It is not provided to an external decoding device. Accordingly, the image decoded by the second decoding apparatus 1696 is an image encoded by the encoder 1605 of the distributed video encoding apparatus 1600, and the base layer transform encoder 1655 decodes the encoded key frame by second decoding. There is no separate processing to provide to the device 1696.
향상계층 변환부호화부(1657)는 기본계층 변환부호화부(1655)로부터 제공된 키 프레임에 기초하여 보조 정보를 생성하고, 분산 비디오 부호화 장치(1600)로부터 제공된 패리티 비트를 이용하여 생성된 보조 정보를 정정하고 역양자화한 후, 제1 부호화부(1690)를 통해 부호화한 후 제1 복호화 장치(1693)에 제공한다. 여기서, 향상계층 변환부호화부(1657)는 상기 보조 정보 생성과정에서 생성된 움직임 벡터를 분산 비디오 부호화 장치(1600)에 제공한다. The enhancement layer transform encoder 1657 generates auxiliary information based on the key frame provided from the base layer transform encoder 1655, and corrects the generated auxiliary information using the parity bits provided from the distributed video encoding apparatus 1600. After inverse quantization, the signal is encoded by the first encoder 1690 and then provided to the first decoder 1693. In this case, the enhancement layer transform encoder 1657 provides the motion vector generated in the auxiliary information generation process to the distributed video encoding apparatus 1600.
도 16에 도시된 바와 같이 본 발명의 또 다른 실시예에 따른 변환 부호화 장치(1650)는 기본계층 변환부호화부(1655)를 통해 복원된 키 프레임을 부호화한 후 향상계층 변환부호화부(1657)에 제공하고, 향상계층 변환부호화부(1657)를 통해 복원된 WZ 프레임을 부호화한 후 제1 복호화 장치(1693)에 제공함으로써, 기본 계층의 경우는 제2 복호화 장치(1696)에서 복호화된 결과만으로 출력 하고, 향상 계층의 경우에는 제2 복호화 장치(1696) 및 제1 복호화 장치(1693)에서 복호화된 결과 영상을 재정렬하여 출력할 수 있다.As illustrated in FIG. 16, the transform encoding apparatus 1650 according to another embodiment of the present invention encodes a key frame reconstructed by the base layer transform encoder 1655 and then transmits the encoded key frame to the enhancement layer transform encoder 1657. And the WZ frame reconstructed by the enhancement layer transform encoder 1657 and then provided to the first decoding device 1693 to output only the result decoded by the second decoding device 1696 in the case of the base layer. In the case of the enhancement layer, the resultant images decoded by the second decoding device 1696 and the first decoding device 1693 may be rearranged and output.
도 17은 부호화 장치의 복잡도와 보조 정보 사이의 관계를 나타내는 그래프이다.17 is a graph illustrating a relationship between complexity and auxiliary information of an encoding apparatus.
도 17에서 가로축은 분산 비디오 부호화 장치의 복잡도 비율을 나타내는 것으로 움직임 예측의 복잡도를 의미한다. 또한, 세로축은 PSNR(Peak Signal to Noise Ratio)를 나타내는 것으로 보조 정보(SI: Side Information)의 품질을 의미한다.In FIG. 17, the horizontal axis represents a complexity ratio of the distributed video encoding apparatus, and indicates the complexity of motion prediction. In addition, the vertical axis represents PSNR (Peak Signal to Noise Ratio) and indicates the quality of side information (SI).
도 17을 참조하면, 분산 비디오 부호화 장치의 복잡도가 증가할수록 보조 정보의 품질이 향상됨을 알 수 있다. 보조 정보의 품질이 향상되면 보조 정보와 부호화되는 원본 영상의 차이가 감소하게 되므로 복호화에 요구되는 패리티 비트가 감소하게 된다. 따라서, 분산 비디오 부호화 장치의 복잡도가 증가할수록 코딩 효율이 증가하게 된다.Referring to FIG. 17, it can be seen that as the complexity of the distributed video encoding apparatus increases, the quality of the supplementary information is improved. When the quality of the auxiliary information is improved, the difference between the auxiliary information and the original image to be encoded is reduced, thereby reducing the parity bit required for decoding. Therefore, as the complexity of the distributed video encoding apparatus increases, the coding efficiency increases.
도 18은 부호화 장치의 움직임 예측 비율에 따른 성능 변화를 나타내는 그래프이다.18 is a graph illustrating a change in performance according to a motion prediction ratio of an encoding apparatus.
도 18은 분산 비디오 부호화 장치의 움직임 예측 비율에 따른 성능 변화를 나타내는 그래프로서, 움직임 예측의 방법 중 하나인 TSS(Three Step Search)를 이용하여 움직임 예측의 비율을 조절하고 이에 상응하는 PSNR을 측정하여 도시하였다.FIG. 18 is a graph illustrating a change in performance according to a motion prediction ratio of a distributed video encoding apparatus. The ratio of motion prediction is adjusted using TSS (Three Step Search), which is one of motion prediction methods, and the corresponding PSNR is measured. Shown.
도 18에서 N은 TSS의 총단계수를 의미하고, K는 부호화 장치에서 수행한 TSS 단계수를 의미한다.In FIG. 18, N denotes the total number of TSS steps, and K denotes the number of TSS steps performed by the encoding apparatus.
도 18을 참조하면, K의 크기가 증가할수록 부호화 효율이 향상됨을 알 수 있다. 예를 들어, PSNR이 30dB일 때 K가 2인 경우 K가 0인 경우에 비해 부호화 효율이 약 20% 향상되었고, K가 6인 경우는 K가 0인 경우에 비해 부호화 효율이 약 35% 증가하였다. 여기서, K가 2인 경우 K가 0인 경우에 비해 절약된 비트량만큼 FEC 데이터를 추가적으로 전송하게 되면, 전송되는 전체 비트량은 K가 0인 경우와 동일하게 유지하면서 패킷 손실율(PLR: Packet Loss Rate)이 20%까지 품질의 저하 없이 부호화된 데이터의 전송이 가능하다.Referring to FIG. 18, it can be seen that coding efficiency improves as the size of K increases. For example, when PSNR is 30dB, K is 2, and the coding efficiency is about 20% higher than when K is 0. When K is 6, the coding efficiency is increased by about 35% compared to when K is 0. It was. Here, when K is 2, if FEC data is additionally transmitted by the amount of bits saved compared to the case where K is 0, the packet loss rate (PLR: Packet Loss) is maintained while the total amount of bits transmitted is the same as when K is 0. Up to 20% rate can be used to transmit coded data without quality degradation.
본 발명의 실시예에 따른 분산 비디오 부호화/복호화 방법 및 분산 비디오 부호화/복호화 장치에서는 상술한 바와 같은 특성을 이용하여 채널 손실이 발생할 경우 부호화 장치의 복잡도를 증가시켜 부호화 효율을 증가시킨 후 증가된 부호화 효율에 따라 감소된 비트량 만큼 추가적인 FEC 데이터를 전송함으로써 손실 강인성을 증가시킨다.In the distributed video encoding / decoding method and the distributed video encoding / decoding apparatus according to the embodiment of the present invention, when the channel loss occurs using the above-described characteristics, the encoding efficiency is increased by increasing the complexity of the encoding apparatus, thereby increasing the coding efficiency. The loss robustness is increased by transmitting additional FEC data by the reduced bit amount according to the efficiency.
예를 들어, Ra를 가용 비트율, rFEC를 FEC율, PLR을 패킷 손실율이라 정의하면, 부호화 장치가 가용 비트율(Ra)로 복호화 장치에게 데이터를 전송할 때 채널 손실이 발생하게 되면 복호화 장치는 (1-PLR)Ra만을 정상적으로 수신하게 된다. 부호화 장치는 채널 상황을 나타내는 가용 비트율(Ra) 및 패킷 손실율(PLR)의 예측값을 이용하여 FEC율(rFEC)을 결정한다. FEC율(rFEC)이 결정되면 부호화 장치가 전송하는 데이터는 (1-rFEC× PLR)× Ra가 되고, FEC 데이터는 rFEC× PLR× Ra가 된다. 여기서, 가용 비트율(Ra) 및 패킷 손실율(PLR)은 채널 상황에 따라 변하기 때문에 rFEC값도 채널 상황에 따라 변화하게 된다. 따라서, 가용 비트율(Ra)이 감소하게 되면 전송 가능한 FEC 데이터의 크기도 감소하게 된다.For example, if R a is defined as an available bit rate, r FEC is an FEC rate, and a PLR is a packet loss rate, if a channel loss occurs when the encoding device transmits data to the decoding device at an available bit rate Ra a , the decoding device may Only (1-PLR) R a is received normally. The encoder determines the FEC rate (r FEC) using the predicted value of the available bit rate (R a) and the packet loss rate (PLR) that indicates the channel conditions. When the FEC rate r FEC is determined, the data transmitted by the encoding apparatus becomes (1-r FEC × PLR) × R a , and the FEC data becomes r FEC × PLR × R a . Here, the available bit rate (R a) and the packet loss rate (PLR) is also changed according to the channel conditions due to change in accordance with the channel status r FEC value. Thus, if the available bit-rate (R a) is reduced thereby reducing the size of the transmittable data FEC.
본 발명의 실시예에서는 FEC 데이터의 추가에 따른 네트워크 자원의 사용 증가를 최소화하기 위해 부호화 장치의 복잡도를 증가시켜 부호화 효율을 향상시킴으로써 전송할 데이터의 크기를 감소키고, 감소된 데이터의 양만큼 FEC 데이터를 추가함으로써 네트워크 자원을 추가적으로 사용하지 않고 손실 강인성을 증가시킨다.In the embodiment of the present invention, in order to minimize the increase in the use of network resources due to the addition of the FEC data, the encoding apparatus is increased to increase the coding efficiency, thereby reducing the size of data to be transmitted and reducing the FEC data by the amount of the reduced data. Adding increases loss robustness without additional network resources.
도 19는 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.19 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 19는 본 발명의 일 실시예에 따른 분산 비디오 부호화 방법을 나타내는 흐름도로서, 채널 상황에 따라 가변적인 가용 대역폭 및 손실을 모두 고려하여 손실 강인성을 증가시키는 과정을 나타낸다.19 is a flowchart illustrating a distributed video encoding method according to an embodiment of the present invention, and illustrates a process of increasing loss robustness in consideration of both available bandwidth and loss according to channel conditions.
도 19를 참조하면, 먼저 부호화 장치는 가용 비트율(Ra) 및 패킷 손실율(PLR)을 획득함으로써 채널 상황을 확인한다(단계 S1910).By 19, first, the encoder obtains the available bit rate (R a) and the packet loss rate (PLR) confirms the channel condition (Step S1910).
이후, 부호화 장치는 획득한 패킷 손실율에 기초하여 FEC율(rFEC)을 결정한다(단계 S1920). 예를 들어, FEC율은 획득한 패킷 손실율(PLR)의 두 배로 결정할 수 있으나, 여기에 한정되는 것은 아니며 채널 상황에 따라 다른 값으로 조절될 수 있다.Thereafter, the encoding apparatus determines the FEC rate r FEC based on the obtained packet loss rate (step S1920). For example, the FEC rate may be determined to be twice the obtained packet loss rate (PLR), but is not limited thereto and may be adjusted to a different value according to channel conditions.
이후, 부호화 장치는 패킷 손실율(PLR) 및 FEC율에 기초하여 전송할 비디오 데이터의 크기와 FEC 데이터의 크기를 결정한다(단계 S1930). 여기서, 전송할 비디오 데이터의 크기는 (1-rFEC× PLR)× Ra로 결정될 수 있고, FEC 데이터의 크기는 rFEC× PLR× Ra로 결정될 수 있다.Thereafter, the encoding apparatus determines the size of the video data to be transmitted and the size of the FEC data based on the packet loss rate (PLR) and the FEC rate (step S1930). Here, the size of video data to be transmitted may be determined as (1-r FEC × PLR) × R a , and the size of FEC data may be determined as r FEC × PLR × R a .
이후, 부호화 장치는 결정된 비디오 데이터의 크기에 상응하여 부호화하기 위한 부호화 복잡도를 결정한다(단계 S1940). 여기서, 상기 부호화 복잡도의 결정은 움직임 예측 방법 중 하나인 TSS(Three Step Search)의 수행 단계수의 결정을 통해 수행될 수 있고, 상기 TSS 수행 단계수의 결정은 미리 정해진 영상 프레임 단위로 패킷 손실율(PLR) 대비 TSS 수행 단계수를 고려하여 결정될 수 있다. 또한, 상기 패킷 손실율(PLR) 대비 TSS 수행 단계수는 반복적인 실험을 통해 얻어진 최적의 값이 룩업테이블 형식으로 미리 저장되거나, 산술적 계산에 의해 실시간으로 획득할 수도 있다.Thereafter, the encoding apparatus determines an encoding complexity for encoding according to the determined size of the video data (step S1940). The determination of the coding complexity may be performed by determining the number of execution steps of a three step search (TSS), which is one of motion prediction methods, and the determination of the number of execution steps of the TSS may be performed based on a packet loss rate in units of a predetermined image frame. It may be determined in consideration of the number of TSS execution steps compared to PLR). In addition, the number of TSS execution steps relative to the packet loss rate (PLR) may be stored in advance in the form of a lookup table, or may be obtained in real time by an arithmetic calculation.
이후, 부호화 장치는 단계 S1940에서 결정된 부호화 복잡도에 따라 움직임 예측을 수행하여 부호화를 실행한다(단계 S1950). 여기서, 부호화 장치는 움직임 예측시 사용된 움직임 벡터, TSS 총단계수, TSS 수행 단계수 등의 정보를 복호화 장치에 제공할 수 있다.Thereafter, the encoding apparatus performs encoding by performing motion prediction according to the encoding complexity determined in step S1940 (step S1950). Here, the encoding apparatus may provide the decoding apparatus with information such as a motion vector, a total number of TSS steps, and a number of TSS execution steps used in motion prediction.
이후, 부호화 장치는 채널 손실을 보상하기 위한 채널 부호화를 수행한 후 부호화된 데이터를 복호화 장치에 제공한다(단계 S1960). 여기서, 부호화 장치는 단계 S1920에서 결정된 FEC율에 따라 채널 부호화를 수행한다.Thereafter, the encoding apparatus performs channel encoding for compensating for channel loss, and then provides encoded data to the decoding apparatus (step S1960). Here, the encoding apparatus performs channel encoding according to the FEC rate determined in step S1920.
도 19에 도시된 바와 같이 본 발명의 일 실시예에 따른 분산 비디오 부호화 방법에서는 채널 상황에 따라 부호화 장치의 복잡도를 증가시켜 부호화 효율을 향상시킴으로써 종래의 부호화 방법에 의해 전송되는 n개의 비디오 패킷을 n-k개로 감소시키고, 감소된 k개의 패킷을 추가적인 FEC 패킷으로 할당함으로써 네트워크 자원을 추가적으로 사용하지 않고 손실에 대한 강건성을 향상시킬 수 있고, 이를 통해 서비스 품질을 보장할 수 있다.As shown in FIG. 19, in the distributed video encoding method according to an embodiment of the present invention, n video packets transmitted by the conventional encoding method are increased by increasing the complexity of the encoding apparatus according to channel conditions to improve encoding efficiency. By reducing the number of packets and assigning the reduced k packets to additional FEC packets, the robustness against loss can be improved without using additional network resources, thereby ensuring the quality of service.
도 20은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.20 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 20에 도시된 단계 S2010 내지 단계 S2030은 도 19에 도시된 단계 S1910 내지 단계 S1930들과 동일한 기능을 수행하므로 중복을 피하기 위해 상세한 설명을 생략한다.Since steps S2010 to S2030 shown in FIG. 20 perform the same functions as those of steps S1910 to S1930 shown in FIG. 19, detailed descriptions thereof will be omitted to avoid duplication.
도 20을 참조하면, 단계 S2010 내지 단계 S2030의 수행을 통해 채널 상황에 상응하여 전송할 비디오 데이터의 크기 및 FEC 데이터의 크기가 결정되면, 부호화 장치는 결정된 비디오 데이터 크기에 상응하도록 비디오 데이터의 크기를 조절하기 위한 방법을 결정한다(단계 S2040).Referring to FIG. 20, when the size of video data to be transmitted and the size of FEC data are determined according to the channel situation through the operations of steps S2010 to S2030, the encoding apparatus adjusts the size of the video data to correspond to the determined video data size. A method for determining is determined (step S2040).
본 발명의 다른 실시예에 따른 분산 비디오 부호화 방법에서 비디오 크기를 조절하는 방법은 양자화 간격을 조절하는 방법과 부호화 장치의 복잡도를 증가시키는 방법 및 상기 두 가지 방법을 복합적으로 사용하는 방법을 포함할 수 있다.In a distributed video encoding method according to another embodiment of the present invention, a method for adjusting video size may include a method of adjusting a quantization interval, a method of increasing the complexity of an encoding apparatus, and a method of using the above two methods in combination. have.
양자화 간격을 조절하는 방법은 복잡도의 증가가 없고 조절 가능한 데이터 크기의 폭이 넓다는 장점이 있는 반면 양자화 간격의 크기가 커지게 되면 비디오의 품질이 저하될 수 있는 단점이 있다. 또한, 부호화 장치의 복잡도를 조절하는 방법은 움직임 예측을 수행하기 때문에 비디오의 품질은 동일하게 유지할 수 있는 장점이 있는 반면 복잡도의 증가로 인해 비디오 데이터 크기의 조절에 제한이 있기 때문에 손실이 크게 발생한 경우에는 적용하기 어렵다는 단점이 있다.The method of controlling the quantization interval has the advantage that there is no increase in complexity and the width of the adjustable data size is wide. However, as the size of the quantization interval increases, the quality of the video may be degraded. In addition, since the method of adjusting the complexity of the encoding apparatus performs motion prediction, the quality of the video can be kept the same, while the loss is large because the increase of the complexity limits the control of the video data size. There is a disadvantage that it is difficult to apply.
본 발명의 다른 실시예에 따른 분산 비디오 부호화 방법에서는 미리 설정된 우선 순위(예를 들면, 채널 상황, 부호화 장치의 성능 및/또는 사용자의 선호도)를 고려하여 상기한 양자화 간격을 조절하는 방법, 부호화 장치의 복잡도를 증가시키는 방법 및 상기 두 가지 방법을 복합적으로 사용하는 방법 중 어느 하나의 방법으로 비디오 데이터의 크기를 조절할 수 있다. In the distributed video encoding method according to another embodiment of the present invention, a method for adjusting the quantization interval in consideration of a preset priority (for example, channel condition, performance of the encoding device, and / or user preference), encoding device The size of the video data can be adjusted by any one of a method of increasing the complexity of the method and a method of using the above two methods in combination.
예를 들어 사용자의 선호도에 기초하여 상기 두 가지 방법을 복합적으로 사용하여 비디오 데이터의 크기를 조절하는 경우, 사용자가 허용하는 최저 품질의 기준치를 정의하고, 채널 상황에 따른 양자화 간격 조절로 비디오의 품질이 상기 정의된 기준치 이하로 떨어지게 될 경우 양자화 간격 조절을 중단하고 복잡도 조절을 통하여 비디오 데이터 크기를 조절할 수 있다. For example, in the case of adjusting the size of video data using a combination of the above two methods based on the user's preference, the user can define the lowest quality reference value allowed by the user, and adjust the quality of the video by adjusting the quantization interval according to the channel situation. If the value falls below the defined reference value, the quantization interval adjustment can be stopped and the video data size can be adjusted through the complexity adjustment.
또는, 비디오 품질에 높은 우선순위를 두는 경우에는 복잡도 조절을 우선적으로 적용하고, 사용시간, 즉 전력 소모량에 높은 우선순위를 두는 경우에는 양자화 간격 조절을 적용하여 비디오 데이터의 크기를 조절할 수 있다.Alternatively, when high priority is given to video quality, complexity control may be applied first, and when high priority is given to usage time, that is, power consumption, quantization interval adjustment may be applied to adjust the size of video data.
상술한 바와 같이 단계 S2040에서 비디오 데이터의 크기를 조절하기 위한 방법이 결정되면 부호화 장치는 결정된 방법에 기초하여 부호화를 수행하고(단계 S2050), 채널 손실을 보상하기 위한 채널 부호화를 수행한 후 부호화된 데이터를 복호화 장치에 제공한다(단계 S2060). 여기서, 부호화 장치는 결정된 FEC율에 따라 채널 부호화를 수행한다.As described above, when the method for adjusting the size of the video data is determined in step S2040, the encoding apparatus performs encoding based on the determined method (step S2050), and performs encoding after performing channel encoding for compensating for channel loss. The data is provided to the decoding apparatus (step S2060). Here, the encoding apparatus performs channel encoding according to the determined FEC rate.
도 21은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 순서도이다.21 is a flowchart illustrating a distributed video encoding method according to another embodiment of the present invention.
도 21은 본 발명의 다른 실시예에 따른 분산 비디오 부호화 방법을 나타내는 흐름도로서, 분산 비디오 부호화 장치에서 움직임 예측을 수행하여 부호화된 데이터를 제공하는 경우의 복호화 방법을 나타낸다.FIG. 21 is a flowchart illustrating a distributed video encoding method according to another embodiment, and illustrates a decoding method when a distributed video encoding apparatus performs encoded motion to provide encoded data.
도 21을 참조하면, 복호화 장치는 부호화 장치로부터 전송된 부호화된 데이터를 채널 복호화 하여 채널 손실에 따른 이레이저(erasure)를 복원한다(단계 S2110). 여기서, 상기 이레이저는 채널 손실을 통해 손실된 데이터를 의미한다.Referring to FIG. 21, the decoding apparatus performs channel decoding on the encoded data transmitted from the encoding apparatus to restore an erasure according to channel loss (step S2110). Here, the erasure means data lost through channel loss.
이후, 복호화 장치는 부호화 장치로부터 제공된 부호화된 키 프레임을 복호화 한다(단계 S2120). 복호화 장치는 H.264/AVC, MPEGx 등의 공지된 다양한 복호화 기술을 통해 키 프레임을 복호화할 수 있으나, 부호화 장치에서 키 프레임을 부호화하기 위해 사용된 표준과 동일한 표준을 사용하여 키 프레임을 복호화하는 것이 바람직하다.The decoding apparatus then decodes the encoded key frame provided from the encoding apparatus (step S2120). The decoding apparatus can decode the key frame through various known decoding techniques such as H.264 / AVC, MPEGx, etc., but the decoding apparatus decodes the key frame using the same standard as that used for encoding the key frame. It is preferable.
이후, 복호화 장치는 부호화 장치로부터 제공된 움직임 벡터, TSS 총 단계수, TSS 수행 단계수 등의 정보를 이용하여 움직임 예측을 수행하여 보조 정보(SI)를 생성한다(단계 S2130).Thereafter, the decoding apparatus performs motion prediction using information such as a motion vector, a total number of TSS steps, and a number of TSS execution steps provided from the encoding device, to generate auxiliary information (SI) (step S2130).
복호화 장치는 채널 손실이 복원된 데이터를 복호화하여 패리티 비트를 추출한 후 추출된 패리티 비트를 이용하여 상기 생성된 보조 정보를 정정하고(단계 S2140), 정정된 보조 정보를 역 양자화하여 WZ 프레임을 복원한다(단계 S2150).The decoding apparatus extracts the parity bits by decoding the data from which the channel loss is restored, corrects the generated auxiliary information using the extracted parity bits (step S2140), and inversely quantizes the corrected auxiliary information to restore the WZ frame. (Step S2150).
도 22는 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화/복호화 장치의 구성을 나타내는 블록도이다.22 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
도 22를 참조하면, 본 발명의 일 실시예에 따른 분산 비디오 부호화 장치(2200)는 키프레임 부호화부(2205), 채널 모니터부(2210), 움직임 예측부(2215), 변환 및 양자화부(2220), 제1 채널 부호화부(2225) 및 제2 채널 부호화부(2230)를 포함할 수 있고, 입력된 키 프레임을 부호화하여 분산 비디오 복호화 장치에 제공하고, WZ 프레임에 대해서는 채널 상황에 상응하여 움직임 예측 수행 단계수를 결정한 후 결정된 단계수대로 움직임 예측을 수행하여 패리티 비트를 생성하고, 생성된 패리티 비트와 움직임 벡터 및 움직임 예측 수행 정보를 분산 비디오 복호화 장치에 제공한다.Referring to FIG. 22, the distributed video encoding apparatus 2200 according to an embodiment of the present invention may include a keyframe encoder 2205, a channel monitor 2210, a motion predictor 2215, a transform and quantizer 2220. ), And may include a first channel encoder 2225 and a second channel encoder 2230, and encodes an input key frame to provide to a distributed video decoding apparatus, and moves a WZ frame according to a channel condition. After determining the number of prediction execution steps, motion prediction is performed according to the determined number of steps to generate parity bits, and the generated parity bits, motion vectors, and motion prediction performance information are provided to the distributed video decoding apparatus.
키프레임 부호화부(2205)는 입력된 키 프레임을 부호화한 후, 부호화된 키 프레임을 움직임 예측부(2215) 및 분산 비디오 복호화 장치(2250)의 키프레임 복호화부(2270)에 제공한다. 여기서, 상기 키프레임 부호화부(2205)는 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 키 프레임을 부호화할 수 있다.The keyframe encoder 2205 encodes the input keyframe and then provides the encoded keyframe to the motion predictor 2215 and the keyframe decoder 2270 of the distributed video decoding apparatus 2250. Here, the key frame encoder 2205 may encode the key frame through various known encoding techniques such as H.264 / AVC and MPEGx.
채널 모니터부(2210)는 가용 비트율(Ra) 및/또는 패킷 손실율(PLR)을 획득함으로써 채널 상황을 확인한 후 채널 상황 정보(패킷 손실율(PLR))를 움직임 예측부(2215)에 제공한다. 또한, 채널 모니터부(2210)는 상기 패킷 손실율(PLR)에 기초하여 FEC율을 결정한 후, 결정된 FEC율을 제2 채널 부호화부(2230)에 제공한다. Channel monitor section 2210 is provided in the available bit rate (R a) and / or packet loss rate channel state information after confirming the channel status by obtaining the (PLR) (packet loss rate (PLR)) a motion predictor (2215). In addition, the channel monitor 2210 determines the FEC rate based on the packet loss rate (PLR), and then provides the determined FEC rate to the second channel encoder 2230.
움직임 예측부(2215)는 채널 모니터부(2210)로부터 제공된 채널 상황 정보(패킷 손실률(PLR))에 기초하여 움직임 예측 수행 단계수(즉, TSS의 수행 단계수 K)를 결정하고, 결정된 움직임 예측 수행 단계수에 기초하여 부호화된 키 프레임에 대해 움직임 예측을 수행하여 보조 정보를 생성하고, 생성된 보조 정보를 변환 및 양자화부(2220)에 제공한다. 또한, 움직임 예측부(2215)는 움직임 예측에 사용된 움직임 벡터(MV) 및 움직임 예측 정보인 TSS 총 단계수, TSS 수행 단계수 등의 정보를 분산 비디오 복호화 장치(2270)의 보조정보 생성부(2260)에 제공한다.The motion predictor 2215 determines the number of motion prediction execution steps (that is, the number of execution steps K of the TSS) based on the channel condition information (packet loss rate PLR) provided from the channel monitor unit 2210, and determines the determined motion prediction. Based on the number of steps performed, motion prediction is performed on the encoded key frame to generate auxiliary information, and the generated auxiliary information is provided to the transform and quantization unit 2220. In addition, the motion prediction unit 2215 may use the auxiliary information generation unit of the distributed video decoding apparatus 2270 to transmit information such as a motion vector (MV) used for motion prediction and the total number of TSS steps and the number of TSS steps that are motion prediction information. 2260).
변환 및 양자화부(2220)는 움직임 예측부(2215)로부터 제공된 보조 정보를 변환(transform)하고 양자화한 후 제1 채널 부호화부(2225)에 제공한다.The transform and quantizer 2220 transforms and quantizes auxiliary information provided from the motion predictor 2215 and provides the transformed quantizer 2220 to the first channel encoder 2225.
제1 채널 부호화부(2225)는 채널 코드를 이용하여 양자화가 수행된 데이터에 대해 패리티 비트(parity bit)를 생성한 후 제2 채널 부호화부(2230)에 제공한다. The first channel encoder 2225 generates a parity bit for the quantized data using the channel code and provides the parity bit to the second channel encoder 2230.
제2 채널 부호화부(2230)는 채널 모니터부(2210)로부터 제공된 FEC율에 상응하여 채널 손실에 따른 이레이저(erasure)를 보상하기 위한 채널 부호화를 수행한 후 채널 부호화가 수행된 데이터를 분산 비디오 복호화 장치(2270)에 제공한다. 제2 채널 부호화부(2265)는 예를 들어, 리드 솔로몬 코드(Reed-Solomon code)를 이용하여 채널 부호화를 수행할 수 있다.The second channel encoder 2230 performs channel encoding to compensate for erasure due to channel loss in accordance with the FEC rate provided from the channel monitor unit 2210, and then distributes the data on which channel encoding is performed. The decoding apparatus 2270 is provided. The second channel encoder 2265 may perform channel encoding using, for example, a Reed-Solomon code.
분산 비디오 부호화 장치(2200)에서 채널 모니터부(2210)에 의해 제공된 PLR이 허용 가능한 범위에 포함되는 경우에는 움직임 예측을 수행하지 않을 수도 있고, 이와 같은 경우에는 입력된 WZ 프레임을 변환 및 양자화부(2220)에 제공된다.If the PLR provided by the channel monitor unit 2210 is included in the allowable range in the distributed video encoding apparatus 2200, motion prediction may not be performed. In such a case, the transformed and quantized unit may be used to convert the input WZ frame. 2220.
또한, 본 발명의 일 실시예에 따른 분산 복호화 장치(2250)는 키프레임 복호화부(2255), 보조정보 생성부(2260), 제2 채널 복호화부(2265), 제1 채널 복호화부(2270) 및 영상 복원부(2275)를 포함할 수 있고, 분산 비디오 복호화 장치(2200)로부터 제공된 부호화된 키프레임을 복호화하고, 제공된 움직임 벡터 및 움직임 예측 정보를 이용하여 복호화된 키프레임에 대해 움직임 예측을 수행하여 보조 정보를 생성한 후, 채널 복호화된 패리티 비트를 이용하여 생성된 보조 정보에 포함된 잡음을 제거함으로써 WZ 프레임을 복원한다.In addition, the distributed decoding apparatus 2250 according to an embodiment of the present invention may include a keyframe decoder 2255, an auxiliary information generator 2260, a second channel decoder 2265, and a first channel decoder 2270. And an image reconstructor 2275, which decodes an encoded keyframe provided from the distributed video decoding apparatus 2200, and performs motion prediction on the decoded keyframe using the provided motion vector and motion prediction information. After generating the auxiliary information, the WZ frame is recovered by removing noise included in the generated auxiliary information using the channel-decoded parity bit.
구체적으로, 키프레임 복호화부(2255)는 분산 비디오 부호화 장치(2200)의 키프레임 부호화부(2205)로부터 제공된 부호화된 키프레임을 복호화한다.In detail, the keyframe decoder 2255 decodes an encoded keyframe provided from the keyframe encoder 2205 of the distributed video encoding apparatus 2200.
보조정보 생성부(2260)는 분산 비디오 부호화 장치(2225)로부터 제공된 움직임 벡터, TSS 총 단계수 및 TSS 수행 단계수 등의 정보를 이용하여 복호화된 키 프레임에 대한 움직임 예측을 수행하여 보조 정보를 생성한다. 여기서, 보조 정보 생성부(2260)에 의해 생성된 보조 정보는 분산 비디오 부호화 장치(2200)로부터 제공된 움직임 예측 정보를 이용하여 생성되었기 때문에 움직임 예측부(2215)에 의해 생성된 보조 정보와 동일할 수 있다.The auxiliary information generator 2260 generates the auxiliary information by performing motion prediction on the decoded key frame using information such as the motion vector, the TSS total number of steps, and the number of TSS execution steps provided from the distributed video encoding apparatus 2225. do. In this case, the auxiliary information generated by the auxiliary information generator 2260 may be the same as the auxiliary information generated by the motion predictor 2215 since the auxiliary information is generated using the motion prediction information provided from the distributed video encoding apparatus 2200. have.
제2 채널 복호화부(2265)는 분산 비디오 부호화 장치(2200)로부터 제공된 데이터를 채널 복호화하여 채널 손실에 따른 이레이저를 복원한다.The second channel decoder 2265 channel-decodes the data provided from the distributed video encoding apparatus 2200 to reconstruct the eraser according to the channel loss.
제1 채널 복호화부(2270)는 이레이저가 복원된 데이터에 대해 채널 복호화를 수행하여 패리티 비트를 추출한 후 추출된 패리티 비트를 이용하여 보조 정보에 포함된 잡음을 정정함으로써 양자화된 데이터를 추정한다.The first channel decoder 2270 extracts a parity bit by performing channel decoding on the reconstructed data, and then estimates the quantized data by correcting the noise included in the auxiliary information using the extracted parity bit.
영상 복원부(2275)는 제1 채널 복호화부(2270)로부터 추정된 양자화된 데이터역양자화하고 역변환하여 WZ 프레임을 복원한다. 여기서, 역양자화시에 발생하는 모호성(ambiguity)은 보조정보 생성부(2260)로부터 제공되는 보조 정보를 참조하여 해결할 수 있다.The image reconstructor 2255 reconstructs the WZ frame by inversely quantizing the data quantized estimated by the first channel decoder 2270 and performing inverse transformation. In this case, ambiguity generated during inverse quantization may be solved by referring to auxiliary information provided from the auxiliary information generator 2260.
도 23은 본 발명의 또 다른 실시예에 따른 분산 비디오 부호화/복호화 장치의 구성을 나타내는 블록도이다.23 is a block diagram illustrating a configuration of a distributed video encoding / decoding apparatus according to another embodiment of the present invention.
도 23을 참조하면, 본 발명의 다른 실시예에 따른 분산 비디오 부호화 장치(2300)는 키프레임 부호화부(2305), 제어부(2330), 움직임 예측부(2310), 변환 및 양자화부(2315), 제1 채널 부호화부(2320) 및 제2 채널 부호화부(2325)를 포함할 수 있다.Referring to FIG. 23, a distributed video encoding apparatus 2300 according to another embodiment of the present invention may include a keyframe encoder 2305, a controller 2330, a motion predictor 2310, a transform and quantizer 2315, The first channel encoder 2320 and the second channel encoder 2325 may be included.
키프레임 부호화부(2305)는 입력된 키 프레임을 부호화한 후, 부호화된 키 프레임을 움직임 예측부(2310) 및 분산 비디오 복호화 장치(2350)의 키프레임 복호화부(2355)에 제공한다. 여기서, 상기 키프레임 부호화부(2355)는 H.264/AVC, MPEGx 등의 공지된 다양한 부호화 기술을 통해 키 프레임을 부호화할 수 있다.The keyframe encoder 2305 encodes the input keyframe and then provides the encoded keyframe to the motion predictor 2310 and the keyframe decoder 2355 of the distributed video decoding apparatus 2350. Here, the key frame encoder 2355 may encode the key frame through various well-known encoding techniques such as H.264 / AVC and MPEGx.
제어부(2330)는 채널 모니터부(2333) 및 자원 관리부(2336)를 포함할 수 있다. 채널 모니터부(2333)는 가용 비트율(Ra) 및 패킷 손실율(PLR)을 획득함으로써 채널 상황을 확인한 후, 획득한 상기 가용 비트율(Ra) 및 패킷 손실율(PLR)을 자원 관리부(2336)에 제공한다.The controller 2330 may include a channel monitor 2333 and a resource manager 2336. Channel monitor section 2333 is an available bit rate (R a) and the packet loss rate after confirming the channel status by obtaining the (PLR), obtained the available bit rate (R a) and the packet loss rate (PLR) the resource management unit (2336) to provide.
자원 관리부(2336)는 채널 모니터부(2333)로부터 제공된 가용 비트율(Ra) 및 패킷 손실율(PLR)에 기초하여 FEC율(rFEC)을 설정한 후, 설정된 FEC율(rFEC)을 제2 채널 부호화부(2325)에 제공한다. 여기서, 자원 관리부(2336)는 FEC율(rFEC)을 패킷 손실율(PLR)의 두 배로 설정할 수 있다.A resource management unit (2336) is FEC rate (r FEC) after setting the FEC rate (r FEC), is set on the basis of the available bit rate (R a) and the packet loss rate (PLR) as provided by the channel monitor section 2333 to the second The channel encoder 2325 is provided. Here, the resource manager 2336 may set the FEC rate r FEC to twice the packet loss rate PLR.
또한, 자원 관리부(2336)는 비디오 데이터의 크기((1-rFEC× PLR)× Ra) 및 FEC 데이터의 크기(rFEC× PLR× Ra)를 산출하고, 산출된 데이터 크기 및 미리 설정된 우선순위에 기초하여 비디오 데이터의 크기 조절 방법을 결정한다.In addition, the resource management unit 2336 calculates the size of the video data ((1-r FEC × PLR) × R a ) and the size of the FEC data (r FEC × PLR × R a ), and calculates the calculated data size and a preset value. The video data scaling method is determined based on the priority.
자원 관리부(2336)는 산출된 비디오 데이터의 크기에 상응하도록 움직임 예측 수행 단계수(즉, TSS의 수행 단계수 K)나 양자화 간격을 조절할 수 있고, 움직임 예측 및 양자화 간격 조절을 복합적으로 수행하도록 결정할 수도 있다. 여기서, 자원 관리부(2336)는 채널 상황, 부호화 장치의 성능 및/또는 사용자의 선호도를 고려하여 상기한 양자화 간격을 조절, 움직임 예측 수단 단계 및 상기 두 가지 방법을 복합적으로 사용하는 방법 중 어느 하나의 방법을 비디오 데이터의 크기 조절 방법으로 결정한 후, 결정된 바에 상응하는 제어신호를 제공할 수 있다.The resource manager 2336 may adjust the number of motion prediction performance steps (ie, the number of performance steps K of the TSS) or the quantization interval to correspond to the size of the calculated video data, and determine to perform the motion prediction and the quantization interval control in combination It may be. In this case, the resource manager 2336 adjusts the quantization interval in consideration of the channel condition, the performance of the encoding apparatus, and / or the user's preference, the motion prediction means step, and any one of a combination of the above two methods. After determining the method as a method of adjusting the size of the video data, a control signal corresponding to the determined may be provided.
움직임 예측부(2310)는 자원 관리부(2336)로부터 제공된 제어 신호인 움직임 예측 수행 단계수(즉, TSS의 수행 단계수 K) 정보에 기초하여 부호화된 키 프레임에 대해 움직임 예측을 수행하여 보조 정보를 생성하고, 생성된 보조 정보를 변환 및 양자화부(2315)에 제공한다. 또한, 움직임 예측부(2310)는 움직임 예측에 사용된 움직임 벡터(MV) 및 움직임 예측 정보인 TSS 총 단계수, TSS 수행 단계수 등의 정보를 분산 비디오 복호화 장치(2350)의 보조정보 생성부(2360)에 제공한다.The motion prediction unit 2310 performs motion prediction on the encoded key frame based on the motion prediction execution step number (that is, the execution step number K of the TSS), which is a control signal provided from the resource management unit 2336, and receives auxiliary information. The generated auxiliary information is provided to the transform and quantization unit 2315. In addition, the motion predictor 2310 may provide information such as a motion vector (MV) used for motion prediction and information such as the total number of TSS steps, the number of TSS steps, and the number of TSS execution steps, which are motion prediction information, to the auxiliary information generator of the distributed video decoding apparatus 2350 ( 2360).
변환 및 양자화부(2315)는 움직임 예측부(2310)로부터 제공된 보조 정보를 변환(transform)하고 양자화한 후 제1 채널 부호화부(2320)에 제공한다. 비디오 데이터의 크기 조절 방법이 양자화 간격 조절로 결정된 경우, 변환 및 양자화부(2315)는 자원 관리부(2336)로부터 제공된 제어신호인 양자화 간격에 상응하여 양자화를 수행할 수 있다.The transformer and quantizer 2315 transforms and quantizes auxiliary information provided from the motion predictor 2310 and provides the transformed quantizer 2315 to the first channel encoder 2320. When the method for adjusting the size of video data is determined by adjusting the quantization interval, the transform and quantization unit 2315 may perform quantization corresponding to the quantization interval, which is a control signal provided from the resource manager 2336.
제1 채널 부호화부(2320)는 채널 코드를 이용하여 양자화가 수행된 데이터에 대해 패리티 비트(parity bit)를 생성한 후 제2 채널 부호화부(2325)에 제공한다.The first channel encoder 2320 generates a parity bit for the quantized data using the channel code and provides the parity bit to the second channel encoder 2325.
제2 채널 부호화부(2325)는 채널 손실에 따른 이레이저(erasure)를 보상하기 위한 채널 부호화를 수행한 후 채널 부호화가 수행된 데이터를 분산 비디오 복호화 장치(2350)에 제공한다. 여기서, 제2 채널 부호화부(2370)는 자원 관리부(2336)로부터 제공된 FEC율 정보에 상응하여 채널 부호화를 수행할 수 있다.The second channel encoder 2325 performs channel encoding to compensate for erasure due to channel loss, and then provides the distributed video decoding apparatus 2350 with the data subjected to channel encoding. Here, the second channel encoder 2370 may perform channel encoding according to the FEC rate information provided from the resource manager 2336.
또한, 본 발명의 다른 실시예에 따른 분산 비디오 복호화 장치(2350)는 키프레임 복호화부(2355), 보조정보 생성부(2360), 제2 채널 복호화부(2370), 제1 채널 복호화부(2380) 및 영상 복원부(2390)를 포함할 수 있다.In addition, the distributed video decoding apparatus 2350 according to another embodiment of the present invention may include a keyframe decoder 2355, an auxiliary information generator 2360, a second channel decoder 2370, and a first channel decoder 2380. And an image restoration unit 2390.
키프레임 복호화부(2355)는 분산 비디오 부호화 장치(2300)의 키프레임 부호화부(2305)로부터 제공된 부호화된 키프레임을 복호화한다.The keyframe decoder 2355 decodes the encoded keyframe provided from the keyframe encoder 2305 of the distributed video encoding apparatus 2300.
보조정보 생성부(2360)는 분산 비디오 부호화 장치(2300)로부터 제공된 움직임 벡터, TSS 총 단계수 및 TSS 수행 단계수 등의 정보를 이용하여 복호화된 키 프레임에 대한 움직임 예측을 수행하여 보조 정보를 생성한다. 여기서, 보조정보 생성부(2360)에 의해 생성된 보조 정보는 분산 비디오 부호화 장치(2300)로부터 제공된 움직임 예측 정보를 이용하여 생성되었기 때문에 움직임 예측부(2310)에 의해 생성된 보조 정보와 동일할 수 있다.The auxiliary information generator 2360 generates auxiliary information by performing motion prediction on the decoded key frame using information such as a motion vector, a TSS total number of steps, and a number of TSS execution steps provided from the distributed video encoding apparatus 2300. do. The auxiliary information generated by the auxiliary information generator 2360 may be the same as the auxiliary information generated by the motion predictor 2310 since the auxiliary information generated by the auxiliary video encoding apparatus 2300 is generated using the motion prediction information provided from the distributed video encoding apparatus 2300. have.
제2 채널 복호화부(2370)는 분산 비디오 부호화 장치(2300)로부터 제공된 데이터를 채널 복호화하여 채널 손실에 따른 이레이저를 복원한다.The second channel decoder 2370 reconstructs the erasure according to the channel loss by channel decoding the data provided from the distributed video encoding apparatus 2300.
제1 채널 복호화부(2380)는 이레이저가 복원된 데이터에 대해 채널 복호화를 수행하여 패리티 비트를 추출한 후 추출된 패리티 비트를 이용하여 보조 정보에 포함된 잡음을 정정함으로써 양자화된 데이터를 추정한다.The first channel decoder 2380 extracts a parity bit by performing channel decoding on the reconstructed data of the eraser and then estimates the quantized data by correcting the noise included in the auxiliary information using the extracted parity bit.
영상 복원부(2390)는 제1 채널 복호화부(2380)로부터 추정된 양자화된 데이터역양자화하고 역변환하여 WZ 프레임을 복원한다. 여기서, 역양자화시에 발생하는 모호성(ambiguity)은 보조정보 생성부(2360)로부터 제공되는 보조 정보를 참조하여 해결할 수 있다.The image reconstructor 2390 reconstructs the WZ frame by performing inverse quantization and inverse quantization of the quantized data estimated from the first channel decoder 2380. Here, the ambiguity generated during inverse quantization may be solved by referring to the auxiliary information provided from the auxiliary information generator 2360.
이상의 본 발명의 실시예에 따르면, 전술한 분산 비디오 부호화 방법은 복수의 영상 촬영 장치(분산 비디오 부호화 장치)에서 사용될 수 있고, 복수의 분산 비디오 부호화 장치에서 제공된 데이터는 복수의 분산 비디오 복호화 장치에서 복호화될 수 있다. According to the embodiments of the present invention, the above-described distributed video encoding method may be used in a plurality of image capturing apparatuses (distributed video encoding apparatuses), and data provided by the plurality of distributed video encoding apparatuses is decoded by the plurality of distributed video decoding apparatuses. Can be.
즉, 본 발명의 실시예에 따른 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치는 복수개가 구비될 수 있다. That is, a plurality of distributed video encoding apparatuses and distributed video decoding apparatuses according to an embodiment of the present invention may be provided.
이하 본 발명의 실시예에서는 분산 비디오 부호화 및 복호화 방법을 사용한 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치가 활용되는 다양한 실시예에 대하여 설명한다. Hereinafter, various embodiments in which the distributed video encoding apparatus and the distributed video decoding apparatus using the distributed video encoding and decoding method are utilized will be described.
이하의 본 발명의 실시예에서는 분산 비디오 부호화 장치는 영상 촬영 장치, 카메라와 동일한 의미로 사용될 수 있다. In the following embodiments of the present invention, the distributed video encoding apparatus may be used in the same meaning as an image photographing apparatus and a camera.
설명의 편의상 분산 비디오 부호화 장치인 영상 촬영 장치 및 영상 촬영 장치에서 제공된 데이터를 복호화하는 분산 비디오 복호화 장치의 자세한 구성에 대해서는 개시하지 않으나, 이하의 본 발명의 실시예에 따른 영상 촬영 장치 또는 카메라(이하, 본 발명의 실시예에서 영상 촬영 장치와 카메라 및 분산 비디오 부호화 장치는 동일한 의미로 사용됨.) 및 영상 촬영 장치 또는 카메라 장치에서 전송된 데이터를 복호화하는 복호화 장치에서는 전술한 분산 비디오 부호화 장치 및 분산 비디오 복호화 장치의 구성이 사용될 수 있다.For convenience of description, a detailed configuration of an image capturing apparatus that is a distributed video encoding apparatus and a distributed video decoding apparatus that decodes data provided by the image capturing apparatus will not be described. However, an image capturing apparatus or a camera according to an embodiment of the present invention will be described below. In the embodiment of the present invention, the image capturing apparatus, the camera, and the distributed video encoding apparatus are used in the same sense.) In the decoding apparatus for decoding the data transmitted from the image capturing apparatus or the camera apparatus, the above-described distributed video encoding apparatus and distributed video are described. The configuration of the decoding device can be used.
예를 들어, 이하 본 발명의 실시예에 따른 영상 촬영 장치 또는 카메라와 같은 영상을 촬영하는 구성부에는 분산 비디오 부호화 장치가 포함될 수 있고 본 발명의 일실시예에 따른 분산 비디오 코딩을 이용한 인코딩 방법을 사용하여 영상을 부호화할 수 있다. 예를 들어, 영상 촬영 장치에는 WZ 프레임 부호화부, 키프레임 부호화부가 포함되어 영상정보를 부호화할 수 있다. For example, a component for capturing an image, such as an image capturing apparatus or a camera, according to an embodiment of the present invention may include a distributed video encoding apparatus and an encoding method using distributed video coding according to an embodiment of the present invention. To encode an image. For example, the image capturing apparatus may include a WZ frame encoder and a key frame encoder to encode image information.
또한, 영상 촬영 장치에는 전술한 바와 같이 WZ 프레임 부호화부, 키프레임 부호화부 이외에도 버퍼 또는 움직임 보상부가 추가적으로 포함되어 분산 비디오 복호화기 또는 디코딩부로 부터 제공되는 정보를 이용해 움직임 예측을 수행할 수 있다. In addition, as described above, the image capturing apparatus may further include a buffer or a motion compensation unit in addition to the WZ frame encoder and the keyframe encoder to perform motion prediction using information provided from a distributed video decoder or a decoder.
또한, 영상 촬영 장치 또는 카메라에는 전술한 바와 같이 영상 촬영 장치에서 분산 비디오 복호화 장치로 데이터를 전송할 수 있는 채널의 상태를 확인하여 확인된 채널 상황에 기초하여 채널 부호화율 및 전송될 비디오 데이터 크기를 결정하는 채널 모니터부가 더 포함될 수 있다. In addition, as described above, the image capturing apparatus or the camera checks the state of the channel capable of transmitting data from the image capturing apparatus to the distributed video decoding apparatus, and determines the channel coding rate and the size of the video data to be transmitted based on the identified channel condition. The channel monitor may be further included.
분산 비디오 복호화 장치는 영상 촬영 장치 또는 카메라로부터 제공된 복수의 영상 데이터를 복호화하는 부분으로써 전술한 분산 비디오 복호화 장치에 포함되는 구성부인 키프레임 복호화부, 채널코드 복호화부, 보조정보 생성부, 영상 복원부를 포함할 수 있다. The distributed video decoding apparatus decodes a plurality of image data provided from an image capturing apparatus or a camera, and includes a keyframe decoder, a channel code decoder, an auxiliary information generator, and an image reconstruction unit, which are components included in the aforementioned distributed video decoding apparatus. It may include.
또한, 추가적으로 분산 비디오 복호화 장치에는 추가의 부호화부가 포함되어 분산 비디오 부호화 방법이 아닌 일반적인 부호화 방법으로 분산 비디오 복호화 장치에서 복호화된 데이터를 일반적인 부호화 방법으로 부호화함으로써 일반적인 영상 복호화 장치에서 분산 비디오 부호화된 영상을 복호화할 수 있게 한다. In addition, the distributed video decoding apparatus further includes an additional encoder to encode distributed video coded images in a general video decoding apparatus by encoding data decoded by the distributed video decoding apparatus using a general encoding method using a general encoding method rather than a distributed video encoding method. Enable decryption.
이하 본 발명의 실시예에서는 분산 비디오 부호화를 수행하는 장치로써 영상 촬영 장치 및 카메라를 예를 들어 설명하지만, 분산 비디오 부호화를 수행하는 장치가 영상 촬영 장치 및 카메라의 외부에 구비되어 있는 구성 또한 본 발명의 권리범위에 포함된다. In the following embodiments of the present invention, an apparatus for performing distributed video encoding will be described with an image capturing apparatus and a camera as an example. However, a configuration in which the apparatus for performing distributed video encoding is provided outside the image capturing apparatus and the camera is also provided. It is included in the scope of right.
이하의 본 발명의 일실시예에서, 복수개의 영상 촬영 장치를 사용하는 실시예의 경우, 설명의 편의상 복수개의 영상 촬영 장치 모두가 분산 비디오 부호화를 수행하는 것으로 가정하나, 복수개의 영상 촬영 장치 중 일부만이 분산 비디오 코딩을 수행하고 그외에는 분산 비디오 코딩이 아닌 일반적인 비디오 코딩을 사용하는 방법을 사용할 수 있다. In the following embodiment of the present invention, in the case of an embodiment using a plurality of image capturing apparatus, it is assumed for convenience of description that all of the plurality of image capturing apparatuses perform distributed video encoding, but only some of the plurality of image capturing apparatuses are used. A method of performing distributed video coding and using general video coding other than distributed video coding may be used.
도 24는 본 발명의 실시예에 따른 분산 비디오 코딩을 이용한 복수개의 영상 촬영 장치를 사용한 방송 시스템의 개념도이다.24 is a conceptual diagram of a broadcast system using a plurality of video photographing apparatuses using distributed video coding according to an embodiment of the present invention.
도 24를 참조하면, 복수개의 영상 촬영 장치(2400)를 이용하여 분산 비디오 코딩을 수행하기 위해서는 분산 비디오 코딩을 수행하는 복수개의 영상 촬영 장치(2400), 복수개의 영상 촬영 장치(2400)로부터 제공된 영상에 속성 정보를 부여하는 메타데이터 태깅부(2410) 및 복수개의 영상 촬영 장치(2400)로부터 제공된 정보를 디코딩하는 분산 비디오 복호화 장치(2420)가 포함될 수 있다. Referring to FIG. 24, in order to perform distributed video coding using the plurality of image capturing apparatuses 2400, a plurality of image capturing apparatuses 2400 may perform distributed video coding and images provided from a plurality of image capturing apparatuses 2400. A metadata tagging unit 2410 for assigning attribute information to the distributed video decoding apparatus 2420 and a distributed video decoding apparatus 2420 for decoding information provided from the plurality of image capturing apparatuses 2400 may be included.
본 발명의 일실시예에 따르면 복수개의 영상 촬영 장치(2400) 중 일부만이 분산 비디오 코딩을 수행하고 그외에는 분산 비디오 코딩이 아닌 일반적인 비디오 코딩을 사용하는 방법을 사용할 수 있으나, 설명의 편의상 복수개의 영상 촬영 장치(2400)가 모두 분산 비디오 코딩을 사용하여 복수개의 영상 촬영 장치(2400)의 촬상부를 통해 제공된 영상을 분산 비디오 코딩하는 것으로 가정한다. According to an embodiment of the present invention, only a part of the plurality of image capturing apparatuses 2400 may perform distributed video coding, and other methods may use general video coding instead of distributed video coding. It is assumed that both the imaging apparatus 2400 perform distributed video coding on the images provided through the imaging units of the plurality of imaging apparatuses 2400 using distributed video coding.
영상 촬영 장치(2400)는 분산 비디오 부호화 장치가 포함될 수 있고 본 발명의 일실시예에 따른 분산 비디오 코딩을 이용한 인코딩 방법을 사용하여 영상을 부호화할 수 있다. 예를 들어, 영상 촬영 장치(2400)에는 WZ 프레임 부호화부, 키프레임 부호화부가 포함되어 영상정보를 부호화할 수 있다. The image capturing apparatus 2400 may include a distributed video encoding apparatus and encode an image using an encoding method using distributed video coding according to an embodiment of the present invention. For example, the image capturing apparatus 2400 may include a WZ frame encoder and a key frame encoder to encode image information.
영상 촬영 장치(2400)에는 전술한 바와 같이 WZ 프레임 부호화부, 키프레임 부호화부 이외에도 버퍼 또는 움직임 보상부가 추가적으로 포함되어 분산 비디오 복호화부로부터 제공되는 정보를 이용해 움직임 예측을 수행할 수 있다. 또한, 영상 촬영 장치(2400)에는 전술한 바와 같이 영상 촬영 장치에서 분산 비디오 복호화 장치(2420)로 데이터를 전송할 수 있는 채널의 상태를 확인하여 확인된 채널 상황에 기초하여 채널 부호화율 및 전송될 비디오 데이터 크기를 결정하는 채널 모니터부가 더 포함될 수 있다. As described above, the image capturing apparatus 2400 may further include a buffer or a motion compensator in addition to the WZ frame encoder and the key frame encoder to perform motion prediction using information provided from the distributed video decoder. In addition, as described above, the image capturing apparatus 2400 checks the state of a channel capable of transmitting data from the image capturing apparatus to the distributed video decoding apparatus 2420, and thus the channel encoding rate and the video to be transmitted are determined based on the identified channel condition. The channel monitor unit for determining the data size may be further included.
메타데이터 태깅부(2410)는 영상 촬영 장치(2400)에서 촬영된 복수개의 영상 데이터에 데이터에 관련된 속성 정보를 부여할 수 있는 부분으로써 영상 촬영 장치(2400)의 위치 정보, 촬영 대상에 관련된 정보, 촬영 객체 이동 정보, 영상의 컬러 특성 등 다양한 속성 정보를 영상 촬영 장치(2400)에서 촬영된 복수개의 영상 데이터에 부여할 수 있다. 메타데이터는 복수의 영상 데이터 콘텐츠에 대하여 부여되는 데이터로서 복수의 영상 데이터에 부여된 메타데이터를 기초로 생성된 복수의 영상을 선택적으로 복호화할 수 있다. The metadata tagging unit 2410 is a part capable of assigning attribute information related to data to a plurality of image data photographed by the image capturing apparatus 2400, and provides location information of the image capturing apparatus 2400, information related to a photographing target, Various attribute information such as photographing object movement information and color characteristics of an image may be provided to the plurality of image data photographed by the image capturing apparatus 2400. The metadata is data provided to a plurality of video data contents, and may selectively decode a plurality of videos generated based on metadata provided to the plurality of video data.
본 발명의 실시예에 따르면 메타데이터 태깅부(2410)는 설명의 편의상 독립된 장치로 표현했지만, 영상 촬영 장치 내부에 포함되거나 영상 데이터에 속성 정보를 부여할 필요가 없는 경우, 메타데이터 태깅부(2410)는 사용되지 않을 수 있다. According to the exemplary embodiment of the present invention, the metadata tagging unit 2410 is represented as an independent device for convenience of description, but when it is not included in the image capturing apparatus or it is not necessary to give attribute information to the image data, the metadata tagging unit 2410 ) May not be used.
분산 비디오 복호화 장치(2420)는 영상 촬영 장치(2400)로부터 제공된 복수의 영상 데이터를 복호화하는 부분으로써 전술한 분산 비디오 복호화 장치(2420)에 포함되는 구성부인 키프레임 복호화부, 채널코드 복호화부, 보조정보 생성부, 영상 복원부를 포함할 수 있다. The distributed video decoding apparatus 2420 is a portion that decodes a plurality of image data provided from the image capturing apparatus 2400, and includes a keyframe decoder, a channel code decoder, and an auxiliary component included in the distributed video decoding apparatus 2420. It may include an information generating unit and an image restoring unit.
또한 추가적으로 분산 비디오 복호화 장치(2420)에는 추가의 부호화부가 포함되어 분산 비디오 부호화 방법이 아닌 일반적인 부호화 방법으로 분산 비디오 복호화 장치에서 복호화된 데이터를 일반적인 부호화 방법으로 부호화함으로써 일반적인 영상 복호화 장치에서 영상을 복호화할 수 있게 한다. In addition, the distributed video decoding apparatus 2420 includes an additional encoder to decode an image in a general video decoding apparatus by encoding data decoded by the distributed video decoding apparatus using a general encoding method using a general encoding method instead of a distributed video encoding method. To be able.
도 24를 참조하면, 복수개의 영상 촬영 장치(2400)가 축구 경기가 벌어지는 운동장을 촬영하는 것을 나타낸다. 복수개의 영상 촬영 장치(2400) 중 일부는 선수 개개인을 촬영하며, 일부는 경기장 전체를, 일부는 골대 뒤에서 골 상황을 집중적으로 촬영하는 등 각 카메라는 역할에 따라 다양한 뷰의 동영상을 촬영한다. 메타데이터 태깅부(2410)는 복수개의 영상 촬영 장치(2400)로부터 입력된 다중 비디오 스트림에 메타데이터를 태깅한다. Referring to FIG. 24, it is shown that the plurality of image capturing apparatus 2400 photographs a playground in which a soccer game occurs. Some of the plurality of image capturing apparatuses 2400 photograph individual players, some of the entire stadium, and some of the plurality of image capturing videos of the goal situation from behind the goal post, each camera captures a video of various views according to the role. The metadata tagging unit 2410 tags metadata to multiple video streams input from the plurality of image capturing apparatuses 2400.
본 발명의 일실시예에 따르면 태깅된 메타데이터를 기초로 특정 영상 촬영 장치에 의해 촬영된 뷰를 선택할 수 있는 구성부 또는 특정한 이벤트를 선택적으로 볼 수 있는 영상을 제공하는 구성부를 추가로 구비하여 시청자가 원하는 뷰에 해당하는 영상 데이터를 선택적으로 사용자에게 제공한다거나, 사용자가 원하는 특정한 이벤트만을 선택적으로 제공하는 구성부를 추가적으로 구비할 수 있다. According to an embodiment of the present invention, the viewer may further include a component for selecting a view captured by a specific image capturing apparatus or a component for providing an image for selectively viewing a specific event based on tagged metadata. May selectively provide image data corresponding to a desired view to the user, or additionally provide a component that selectively provides only a specific event desired by the user.
도 25는 본 발명의 실시예에 따른 분산 비디오 부호화 방법을 사용한 복수개의 영상 촬영 장치를 이용한 미디어 공유 시스템을 나타낸 개념도이다.25 is a conceptual diagram illustrating a media sharing system using a plurality of video photographing apparatuses using a distributed video encoding method according to an embodiment of the present invention.
도 25를 참조하면, 미디어 공유 시스템은 복수의 영상 촬영 장치(2500) 및 미디어 생성 서버(2510)가 포함된 미디어 생성 장치, 미디어 생성 장치와 통신망을 통해 연결된 하나 이상의 클라이언트(2520)로 구성된다.Referring to FIG. 25, the media sharing system includes a media generating apparatus including a plurality of image capturing apparatuses 2500 and a media generating server 2510, and one or more clients 2520 connected to the media generating apparatus through a communication network.
영상 촬영 장치(2500)는 각각 서로 다른 고유 식별정보(GUID(Global unique identifier))가 부여되어 있고, 각각 다른 시점의 영상을 촬영하여 미디어 생성 서버(2510)에 제공한다. 영상 촬영 장치(2500 )는 영상을 촬영하는 카메라 등일 수 있다.Each of the image capturing apparatuses 2500 is provided with different unique identifiers (GUIDs), and photographs images of different viewpoints and provides them to the media generation server 2510. The image capturing apparatus 2500 may be a camera for capturing an image.
영상 촬영 장치(2500) 중 적어도 하나에 분산 비디오 부호화부를 포함하여 촬상부를 통해 촬영된 영상을 분산 비디오 부호화를 이용해 부호화할 수 있다. 영상 촬영 장치(2500)는 유선 또는 무선으로 미디어 생성 서버(2510)에 연결될 수 있다. 영상 촬영 장치(2500)와 상기 미디어 생성 서버(2510)는 IEEE 1394 네트워크 또는 무선 네트워크를 통해 연결될 수 있다. At least one of the image capturing apparatuses 2500 may include a distributed video encoder to encode an image captured by the image capturer using distributed video encoding. The image capturing apparatus 2500 may be connected to the media generation server 2510 by wire or wirelessly. The image capturing apparatus 2500 and the media generation server 2510 may be connected through an IEEE 1394 network or a wireless network.
미디어 생성 서버(2510)에는 분산 비디오 복호화 장치가 포함될 수 있고 영상 촬영 장치(2500)로부터 전송된 영상 데이터를 복호화할 수 있다. 경우에 따라 분산 비디오 복호화 장치는 클라이언트(2520)측에 구비되어 있을 수 있다.The media generation server 2510 may include a distributed video decoding apparatus and may decode image data transmitted from the image capturing apparatus 2500. In some cases, the distributed video decoding apparatus may be provided at the client 2520 side.
미디어 생성 서버(2510)는 복수의 촬영장치(2500)에 의해 촬영된 각 영상에 대해 동일한 멀티캐스트 주소 및 각각 다른 포트 번호를 할당하고, 할당된 멀티캐스트 주소 및 포트 번호가 포함된 SDP(Session Description Protocol) 메시지를 생성하여 복수의 클라이언트(2520)에 전송한다. 이때, 미디어 생성 서버(2510)는 하나의 VP 프로듀서 실행에 의해 복수의 촬영장치로부터 영상을 수신하고 수신된 복수의 영상에 대해 동일한 멀티캐스트 주소 및 각각 다른 포트 번호를 할당한다.The media generation server 2510 allocates the same multicast address and different port numbers to each image photographed by the plurality of photographing apparatuses 2500, and includes a session description including an assigned multicast address and a port number. Protocol) message is generated and transmitted to the plurality of clients 2520. At this time, the media generation server 2510 receives images from the plurality of photographing apparatuses by executing one VP producer, and assigns the same multicast address and different port numbers to the plurality of received images.
또한, 미디어 생성 서버(2510)는 SDP 메시지를 SAP(Service Access Point) 패킷을 통해 할당된 멀티캐스트 주소와 다른 멀티캐스트 주소를 할당 받아 통신망을 통해 클라이언트(2520)에 전송한다. 여기서, SDP 메시지는 할당된 멀티캐스트 주소 및 복수의 포트 번호, 프로듀서의 이름, 메일 주소, 비디오 코덱, 비디오의 화질, 서비스 타입 중 적어도 하나가 포함된 서비스 속성 정보를 포함한다.In addition, the media generation server 2510 receives an SDP message and receives a multicast address different from the multicast address allocated through the SAP (Service Access Point) packet to the client 2520 through a communication network. Here, the SDP message includes service attribute information including at least one of an assigned multicast address and a plurality of port numbers, a producer's name, an e-mail address, a video codec, a video quality, and a service type.
클라이언트(2520)는 미디어 생성 장치(2510)로부터의 SDP 메시지를 분석하여 서비스 속성 정보를 추출하고, 사용자에 의해 선택된 촬영장치(2500)에 의한 영상 또는 복수의 촬영장치(2500)에 의한 멀티 뷰 영상을 출력한다.The client 2520 analyzes the SDP message from the media generating device 2510 to extract service attribute information, and the image by the photographing apparatus 2500 selected by the user or the multi-view image by the plurality of photographing apparatuses 2500. Outputs
또한, 클라이언트(2520)는 네트워크 타일드 디스플레이 장치를 이용하여 복수의 촬영장치(2500)에 의한 멀티 뷰 영상을 와이드한 영상으로 디스플레이할 수 있다. In addition, the client 2520 may display the multi-view image by the plurality of photographing apparatuses 2500 as a wide image using the network tiled display device.
이하 도 26 내지 27은 본 발명의 실시예에 따른 분산 비디오 부호화 및 복호화를 사용하여 입체 영상을 촬영하는 장치의 구성을 나타내는 것으로써 이러한 구성은 입체 영상을 촬영하는 시스템의 특정한 실시예를 나타낸 것으로써 전술한 본 발명의 실시예에 따른 분산 비디오 부호화기 또는 분산 비디오 복호화기를 사용한 입체 영상 촬영 시스템 또한 본 발명의 권리범위에 포함될 수 있다. 26 to 27 illustrate a configuration of an apparatus for photographing a stereoscopic image using distributed video encoding and decoding according to an embodiment of the present invention, which illustrates a specific embodiment of a system for photographing a stereoscopic image. The stereoscopic image photographing system using the distributed video encoder or the distributed video decoder according to the above-described embodiment of the present invention may also be included in the scope of the present invention.
도 26은 본 발명의 일실시예에 따른 분산 비디오 부호화 방법을 사용한 3차원 객체 추적 장치의 개념도이다.FIG. 26 is a conceptual diagram of a 3D object tracking apparatus using a distributed video encoding method, according to an embodiment of the present invention.
도 26에 도시된 바와 같이, 본 발명에 따른 3차원 객체 추적 장치는 적어도 두 개(바람직하게는 3개 이상)의 비디오 카메라들(다시점 카메라)(2600)로부터 동일 시간에 취득된 영상의 프레임 데이터를 저장하고 있는 다시점 비디오 저장부(2610)와 적어도 두 개(바람직하게는 3개 이상)의 비디오 카메라 중 깊이(depth) 카메라(2605)로부터 동일 시간에 취득된 적어도 하나의 깊이 맵(depth map) 데이터를 저장하고 있는 깊이 맵 저장부(2620)와, 각 시점의 카메라 초점 거리를 포함하는 카메라 정보, 시점간 위치와 방향에 대한 기반 행렬을 구하기 위한 카메라 보정부(2630)와, 카메라 정보와 기반 행렬, 이전 프레임과 현재 프레임의 다시점 영상 및 깊이맵 데이터를 이용하여, 영상내 배경으로부터 움직이는 객체 영역을 추출하기 위한 객체 영역 추출부(2640)와, 추출된 객체 영역의 움직임 객체를 검출하여, 이 객체의 3차원 운동 벡터들을 구하기 위한 객체 움직임 추정부(2650)와, 객체 영역에서 차폐 영역을 검출하여, 이전 프레임과 현재 프레임의 역방향 움직임 추정을 통해 차폐로 인해 가려진 객체의 위치를 추정하기 위한 차폐 영역 처리부(2660)를 포함한다. 또한, 기반행렬을 이용하여 다시점 카메라(2600)로 취득된 영상의 에피폴라 선이 일치하도록 보정하기 위한 다시점 영상 보정부(2635)를 더 포함한다. 또한, 추출된 객체의 움직임을 화면에 디스플레이하기 위한 객체 움직임 디스플레이부(2670)를 더 포함한다. 또한, 객체가 영상으로부터 벗어날 경우에 대비하여 객체가 영상 내에서 가운데 영역에 위치하도록 다시점 카메라(2600)의 위치를 조정하기 위한 다시점 카메라 제어 및 구동부(2680)를 더 포함한다.As shown in Fig. 26, the three-dimensional object tracking device according to the present invention is a frame of an image acquired at the same time from at least two (preferably three or more) video cameras (multi-view camera) 2600 At least one depth map acquired at the same time from a multi-view video storage unit 2610 storing data and at least two (preferably three or more) depth cameras 2605. depth map storage unit 2620 for storing map data, camera information including a camera focal length of each viewpoint, a camera correction unit 2630 for obtaining a base matrix of positions and directions between viewpoints, and camera information An object region extracting unit 2640 for extracting a moving object region from the background in the image using a matrix matrix, a multiview image of the previous frame and the current frame, and a depth map data; The object motion estimation unit 2650 for detecting a motion object of the body region and obtaining three-dimensional motion vectors of the object, and detecting a shielding region in the object region, and then performing the backward motion estimation of the previous frame and the current frame. And a shielding area processor 2660 for estimating the position of the obscured object. The apparatus may further include a multiview image corrector 2635 for correcting the epipolar line of the image acquired by the multiview camera 2600 to coincide using the base matrix. The apparatus further includes an object motion display unit 2670 for displaying the extracted object motion on the screen. The apparatus may further include a multiview camera control and driver 2680 for adjusting the position of the multiview camera 2600 such that the object is located at the center region in the image in case the object deviates from the image.
다시점 카메라(2600)는 촬상부를 통해서 촬영된 영상을 다시점 카메라(2600)에 포함된 분산 비디오 부호화부를 이용한 분산 비디오 부호화를 통해서 부호화를 할 수 있다. 다시점 카메라(2600)에서 수행되는 분산 비디오 부호화는 전술한 방법과 동일한 방법을 사용할 수 있다. The multiview camera 2600 may encode the image photographed through the image pickup unit through distributed video encoding using the distributed video encoder included in the multiview camera 2600. Distributed video encoding performed by the multiview camera 2600 may use the same method as the above-described method.
다시점 비디오 저장부(2610) 및 깊이 맵(depth map) 저장부(2620)는 여러 개의 비디오 카메라와 1개의 깊이(depth) 카메라로부터 얻어진 비디오 영상을 비디오 테이프나 프레임 캡쳐 장치 등의 데이터 저장장치에 저장하며, 저장된 영상 정보는 카메라 보정부(2630), 다시점 영상 보정부(2635), 객체 영역 추출부(2640), 객체 움직임 추정부(2650)에서 입력으로 사용하게 된다.The multi-view video storage unit 2610 and the depth map storage unit 2620 store video images obtained from several video cameras and one depth camera in a data storage device such as a video tape or a frame capture device. The stored image information is used as an input by the camera corrector 2630, the multiview image corrector 2635, the object region extractor 2640, and the object motion estimator 2650.
다시점 비디오 저장부(2610) 및 깊이 맵(depth map) 저장부(2620)는 여러 개의 비디오 카메라와 1개의 깊이(depth) 카메라는 유선 또는 무선 네트워크로 연결될 수 있다.The multi-view video storage unit 2610 and the depth map storage unit 2620 may be connected to a plurality of video cameras and one depth camera by a wired or wireless network.
분산 비디오 복호화부는 다시점 비디오 저장부(2610) 이후에서 영상을 처리하는 부분에 구비되어 다시점 카메라(2600)에 의해 생성된 분산 비디오 부호화된 영상을 복호할 수 있다. The distributed video decoder may be provided at a portion of the multiview video storage unit 2610 to process the image, and may decode the distributed video encoded image generated by the multiview camera 2600.
카메라 보정부(2630)는 카메라(2600)로부터의 거리를 알고 있는 여러 영상간의 특징점을 추출한 후, 이 특징점들의 대응관계와 실제거리 정보를 이용하여, 상호 변환을 하기 위한 회전 행렬과 이동행렬을 구한다. 또한, 카메라 보정 기법을 통하여 초점 거리 등의 카메라 정보를 구한다. 이러한 정보는 객체 움직임 추정부(2650)에서의 객체 움직임 추정시에, 차폐 영역 발생된 경우 차폐 영역이 발생하지 않은 다른 시점의 카메라를 이용하여 객체 추적을 계속하는데 사용된다.The camera corrector 2630 extracts feature points between various images that know the distance from the camera 2600, and then obtains a rotation matrix and a movement matrix for mutual conversion using the correspondence between the feature points and the actual distance information. . In addition, camera information such as focal length is obtained through a camera correction technique. This information is used to continue object tracking by using a camera at another point in time when the object motion estimation unit 2650 does not generate the shielding area when the shielding area is generated.
다시점 영상 보정부(2635)에서는 카메라 보정부(2630)에서 구해진 카메라 변환 행렬(기반행렬)을 이용하여, 기준 카메라에 대하여 나머지 카메라들에 의해 취득된 영상의 에피폴라 선(Epipolar Line)을 기준 영상의 행과 평행이 되도록 해준다. 이렇게 함으로써 객체 추적 및 스테레오 정합시 탐색 영역과 시간을 줄일 수 있게 해준다.The multi-view image corrector 2635 uses the camera transformation matrix (base matrix) obtained by the camera corrector 2630 to refer to the epipolar line of the image acquired by the remaining cameras with respect to the reference camera. Make it parallel to the rows of the image. This allows you to reduce the search area and time for object tracking and stereo matching.
객체 영역 추출부(2640)는 순차적으로 입력되는 현재 영상과 이전에 입력된 영상의 밝기 및 깊이 차변화를 이용한 객체와 배경 화소의 판단 기준에 의해 객체 영역의 화소를 추출하고, 이 화소들을 모두 포함하는 경계 사각형(bounding box)을 현재 또는 다음 프레임에 대해 씌우고, 그 시작점과 끝점의 좌표를 버퍼에 저장하게 된다. 이는 객체 움직임 다음 프레임에서 움직임 벡터를 구하는데 사용된다.The object region extractor 2640 extracts the pixels of the object region based on a criterion of the object and the background pixel using the change in brightness and depth of the sequentially input current image and the previously input image, and includes all of the pixels. A bounding box is placed on the current or next frame, and the coordinates of the start and end points are stored in the buffer. This is used to find the motion vector in the frame following the object motion.
객체 움직임 추정부(2650)에서는 객체 영역 추출부(2640)에서 추출된 현재 프레임에서의 객체 영역과 다음 프레임의 객체 영역을 비교하여, 두 영역 중 작은 행과 열 크기를 갖는 블록에 대해 다음 프레임에서 검출된 블록 영역내 점들을 블록의 중심으로 선택하여 이동시켜가면서 가장 유사도가 높은 블록의 위치를 검출한다. 이때, 각 블록의 중심점 사이의 이동 벡터를 x, y 방향의 움직임 벡터로 검출하게 된다. 이때, 유사도가 미리 정한 임계치보다 작거나, 검출된 블록에 대해 역방향 정합을 하였을 때, 원래의 블록 중심과의 위치 차이가 특정 개수의 화소이내인 경우에만 블록내에서는 차폐 영역이 없다고 간주하여 중심점의 이동벡터를 구하고, 만약 그렇지 않으면 해당 영역을 차폐 영역 처리부(2660)에서 차폐 영역으로 검출하게 된다.The object motion estimator 2650 compares the object region of the current frame extracted by the object region extractor 2640 with the object region of the next frame, and then compares the object region of the next frame with the smaller row and column size in the next frame. By selecting and moving the points in the detected block area toward the center of the block, the position of the block having the highest similarity is detected. At this time, the motion vector between the center points of each block is detected as a motion vector in the x and y directions. At this time, when the similarity is smaller than the predetermined threshold or when the matching is performed backward, the center of the center point is regarded as that there is no shielding area in the block only when the position difference from the original block center is within a certain number of pixels. The motion vector is obtained, and if not, the corresponding area is detected by the shielding area processor 2660 as the shielding area.
도 27은 본 발명의 실시예에 따른 다시점 영상 처리 장치의 구성을 나타낸 블록도이다. 27 is a block diagram illustrating a configuration of a multiview image processing apparatus according to an embodiment of the present invention.
도 27을 참조하면, 다시점 영상 처리 장치는, 다시점 카메라(2700)와 깊이 카메라(2710), 3차원 워핑부(2720), 트라이맵 생성부(2730), 알파맷 생성부(2740), 전경 추출부(2750)를 포함하여 이루어진다.Referring to FIG. 27, a multiview image processing apparatus includes a multiview camera 2700, a depth camera 2710, a three-dimensional warping unit 2720, a trimap generator 2730, an alphamat generator 2740, A foreground extractor 2750 is included.
다시점 카메라(2700)는 도시된 바와 같이 복수 개의 카메라들(제1 내지 제n 카메라, 2700-1, 2700-2, 2700-n)로 구성된다. 상기 복수 개의 카메라들의 시점(viewpoint)은 카메라의 위치에 따라 서로 다르며, 이와 같이 서로 다른 시점을 갖는 복수 개의 영상들을 한데 묶어 다시점 영상이라 한다. 다시점 카메라(2700)로부터 얻어지는 다시점 영상은 각 영상을 이루는 2차원 상의 픽셀별 색상 정보는 포함하지만 3차원 상의 깊이 정보는 포함하지 않는다.The multi-view camera 2700 is composed of a plurality of cameras (first to n-th cameras, 2700-1, 2700-2, and 2700-n) as shown. The viewpoints of the plurality of cameras are different from each other according to the position of the camera, and thus a plurality of images having different viewpoints are bundled together to be called multiview images. The multi-view image obtained from the multi-view camera 2700 includes color information for each pixel of the 2D image forming each image, but does not include depth information of the 3D image.
깊이 카메라(2710)는 3차원 상의 깊이 정보를 가지는 깊이맵을 획득한다. 깊이 카메라(2710)는 레이저나 적외선을 객체나 대상 영역에 비추고, 되돌아오는 광선을 취득하여 깊이 정보를 실시간으로 얻을 수 있는 장치로서, 레이저나 적외선을 통해 깊이 정보를 센싱하는 깊이 센서를 구비한다.The depth camera 2710 acquires a depth map having depth information in three dimensions. The depth camera 2710 is a device capable of illuminating a laser or an infrared ray to an object or a target area, obtaining a return beam, and obtaining depth information in real time. The depth camera 2710 includes a depth sensor that senses depth information through a laser or infrared ray.
다시점 카메라(2700) 및 깊이 카메라(2710) 중 적어도 하나에는 분산 비디오 부호화 장치가 포함될 수 있다. 다시점 카메라(2700) 및 깊이 카메라(2710)에 포함된 분산 비디오 부호화 장치를 이용해 촬상부를 촬영된 영상은 인코딩될 수 있고 인코딩된 비디오 데이터는 트라이맵 생성부(2730) 또는 3차원 워핑부(2720)로 제공되어 트라미맵 생성부(2730) 또는 3차원 워핑부(2720)에 구비될 수 있는 분산 비디오 복호화 장치에 의해 복호화되거나 다른 영상 포멧 형태로 변환될 수 있다.At least one of the multiview camera 2700 and the depth camera 2710 may include a distributed video encoding apparatus. Images captured by the image capture unit using the distributed video encoding apparatus included in the multiview camera 2700 and the depth camera 2710 may be encoded, and the encoded video data may be a trimap generator 2730 or a 3D warping unit 2720. ) And may be decoded by a distributed video decoding apparatus that may be included in the ramimap generator 2730 or the 3D warping unit 2720 or converted into another image format.
다시점 카메라(2700) 및 깊이 카메라(2710)에서 제공되는 영상 데이터는 트라이맵 생성부(2730) 또는 3차원 워핑부(2720)로 유선 또는 무선을 이용해 제공될 수 있다. Image data provided by the multiview camera 2700 and the depth camera 2710 may be provided to the trimap generator 2730 or the 3D warping unit 2720 using wired or wireless.
다시 도 27을 참조하면, 다시점 카메라(2700)로부터 얻어지는 다시점 영상과 3차원 워핑부(2720)로부터의 다시점 깊이맵은 트라이맵 생성부(2730)로 입력되고, 트라이맵 생성부(2730)는 상기 다시점 깊이맵을 이용하여 상기 다시점 영상을 이루는 영상들 각각에 대응하는 트라이맵들로 이루어지는 다시점 트라이맵을 생성한다.Referring back to FIG. 27, the multiview image obtained from the multiview camera 2700 and the multiview depth map from the 3D warping unit 2720 are input to the trimap generator 2730, and the trimap generator 2730 is provided. ) Generates a multiview trimap consisting of trimaps corresponding to each of the images forming the multiview image using the multiview depth map.
트라이맵 생성부(2730)로부터의 다시점 트라이맵은 알파맷 생성부(2740)으로 입력되고 알파맷 생성부(2740)는 입력된 다시점 트라이맵을 이용하여 다시점 영상에 대응하는 다시점 알파맷을 생성할 수 있다. The multiview trimap from the trimap generator 2730 is input to the alphamat generator 2740, and the alphamat generator 2740 uses the input multiview trimap to provide a multiview alpha corresponding to the multiview image. You can create a matte.
알파맷 생성부(2740)으로부터 생성된 다시점 알파맷은 전경 추출부(2750)으로 입력되고 전경 추출부(2750)는 다시점 카메라(2700)로부터의 다시점 영상에 다시점 알파맷을 적용하여 다시점 전경을 추출할 수 있다. The multiview alphamat generated from the alphamat generator 2740 is input to the foreground extractor 2750, and the foreground extractor 2750 applies a multiview alphamat to the multiview image from the multiview camera 2700. Multiview foreground can be extracted.
트라이맵 생성부(2730)는 다시점 영상을 이루는 각 영상에 대응하는 트라이맵을 생성함에 있어서, 대상 영상과 그에 대응하는 3차원 워핑된 깊이맵을 이용한다. The trimap generator 2730 uses a target image and a three-dimensional warped depth map to generate a trimap corresponding to each image forming a multiview image.
트라이맵 생성부(2730)는 세그먼트부, 전경 영역 결정부, 홀 제거부, 침식/팽창 연산부를 포함하여 이루어질 수 있다.The trimap generator 2730 may include a segment part, a foreground area determiner, a hole remover, and an erosion / expansion calculator.
세그먼트부는 다시점 영상을 이루는 각 영상에 대하여 컬러 세그멘테이션을 수행하여 세그먼트된 영상을 생성한다. 컬러 세그멘테이션이란 영상을 비슷한 색상으로 이루어진 영역(세그먼트)들로 구분짓는 과정을 의미한다.The segment unit generates segmented images by performing color segmentation on each image forming a multiview image. Color segmentation refers to a process of dividing an image into regions (segments) of similar colors.
세그먼트부는 컬러 세그멘테이션을 수행하고자 하는 대상 영상에서 인접 화소들끼리의 루미넌스(luminance) 또는 크로미넌스(chrominance) 차이가 임계값 이하인 화소들끼리 세그먼트(segment)를 설정한다.The segment unit sets segments between pixels whose luminance or chrominance difference between adjacent pixels is less than or equal to a threshold in the target image to which color segmentation is to be performed.
깊이 카메라(2710)에서 얻어진 깊이맵에서는 일반적으로 깊이 카메라(2710)의 설정에 따라 깊이 카메라(2710)로부터 거리가 먼 영역에서는 깊이값이 전혀 존재하지 않거나 매우 드문드문하게 존재하고, 깊이 카메라(2710)로부터 거리가 가까운 영역에서는 깊이값이 모두 존재하거나 매우 조밀하게 존재한다. 이는 3차원 워핑된 깊이맵에서도 마찬가지이며, 다만 3차원 워핑으로 인하여 깊이값이 정의되지 않는 화소인 홀이 발생하게 된다. 이미 설명한 바와 같이 깊이값의 불연속점은 세그먼트의 경계에서 발생한다고 볼 수 있으므로, 세그먼트들 중 깊이값이 많이 존재하는 영역은 전경 영역으로, 그렇지 않은 영역은 배경 영역으로 판단할 수가 있다.In the depth map obtained by the depth camera 2710, the depth value does not exist at all or is very sparse in an area far from the depth camera 2710 according to the setting of the depth camera 2710, and the depth camera 2710 In the area nearer to), all depth values exist or are very dense. The same is true of the three-dimensional warped depth map, except that a hole, which is a pixel whose depth value is not defined, is generated due to the three-dimensional warping. As described above, since the discontinuity point of the depth value may occur at the boundary of the segment, it may be determined that the region having a large depth value among the segments is the foreground region, and the other region is the background region.
따라서, 전경 영역 결정부는 세그먼트부에 의해 각 영상이 세그먼트된 결과에 따라 그에 대응하는 각 3차원 워핑된 깊이맵을 세그먼트화하고, 깊이값이 해당 세그먼트에서 일정 비율 이상 존재하는 세그먼트들의 집합을 전경 영역으로 결정한다. 상기 비율은 임의로 적절하게 정할 수 있는데, 예를 들어 깊이값이 70% 이상 존재하는 세그먼트들의 집합을 전경 영역으로 결정하는 것이다.Therefore, the foreground area determiner segments each of the three-dimensional warped depth maps corresponding to the segmented image by the segment unit, and sets the foreground area of the set of segments having a depth value greater than or equal to a certain ratio in the segment. Decide on The ratio may be arbitrarily determined appropriately, for example, to determine the foreground area as a set of segments having a depth value of 70% or more.
침식/팽창 연산부는 입력된 다시점 깊이맵에 침식 및 팽창 연산을 적용하여 다시점 트라이맵(trimap)을 생성한다. 트라이맵은 매팅을 수행하기 위해 필수적인 알파맷(alpha matte)을 얻기 이전의 영상으로, 전경과 배경 그리고 전경인지 배경인지 불확실한 미지 영역으로 구분된 영상이다. 침식/팽창 연산부는 입력받은 다시점 깊이맵을 구성하는 각 깊이맵을 미리 정의된 임계치에 따라서 이진 영상(binary image)으로 만든 후, 이진 영상의 테두리 부분을 안으로 침식하고 밖으로 확장하여 미지 영역을 생성함으로써 다시점 트라이맵을 생성한다.The erosion / expansion calculator generates an immersion trimap by applying erosion and expansion operations to the input multiview depth map. The trimap is the image before obtaining the alpha matte, which is essential for matting, divided into the foreground and the background, and the unknown region whether it is the foreground or the background. The erosion / expansion calculating unit generates each image of the depth map constituting the input multiview depth map as a binary image according to a predefined threshold value, and then erodes the edge of the binary image inward and extends it out to generate an unknown region. This creates a multiview trimap.
3차원 워핑된 깊이맵에는 깊이값이 정의되지 않는 홀이 다수개 존재하며, 홀 제거부는 3차원 워핑된 깊이맵의 전경 영역에서 상기 홀을 주변의 화소값들을 이용하여 적절한 깊이값으로 채운다. 전경 영역 이외의 부분은 이제 관심의 대상이 아니므로, 전경 영역에 한하여 홀을 채울 수 있다. There are a plurality of holes whose depth values are not defined in the three-dimensional warped depth map, and the hole removing unit fills the holes with appropriate depth values in the foreground area of the three-dimensional warped depth map using surrounding pixel values. Parts outside the foreground area are no longer of interest, so you can only fill the hall with the foreground area.
도 28은 본 발명의 실시예에 따른 분산 비디오 부호화를 사용한 감시카메라 시스템을 나타낸 개념도이다. 28 is a conceptual diagram illustrating a surveillance camera system using distributed video encoding according to an embodiment of the present invention.
도28을 참조하면, 카메라(2800)의 감시 지역에 피감시자가 등장하면 저전력 무선 카메라에 장착된 동작 센서에 의해 움직임이 감지되고 곧바로 카메라 작동하게 된다. 이때 카메라에 의해 촬영된 정보는 무선 센서 네트워크 망에서 전송 가능하게 압축되고, 압축된 데이터는 무선 센서 네트워크망을 통해 게이트웨이(2820)까지 전달된다. 게이트웨이(2820)까지 전송된 영상 데이터는 이더넷 망을 통해 서버(2830)로 전송되고, 서버(2830)에 전송된 영상 데이터는 모니터링 시스템(2840)을 통해 보여지게 된다.Referring to FIG. 28, when the monitored person appears in the monitoring area of the camera 2800, the motion is detected by the motion sensor mounted on the low power wireless camera and the camera is immediately operated. In this case, the information captured by the camera is compressed to be transmitted in the wireless sensor network, and the compressed data is transmitted to the gateway 2820 through the wireless sensor network. The image data transmitted to the gateway 2820 is transmitted to the server 2830 through an Ethernet network, and the image data transmitted to the server 2830 is viewed through the monitoring system 2840.
저전력 무선 카메라(2800)는 기존 센서 네트워크 망에서 동작하기 때문에 기존의 센서 네트워크 시스템에서 센서 노드들의 동작과 마찬가지로 배터리에 의해 동작되어야 한다. 따라서, 전원 용량의 한계로 인해 저전력 동작을 기본으로 한다. 그러나 영상은 기본적으로 지속적인 촬영을 기본으로 하기 때문에 동작 감시 센서를 카메라(2800)에 장착하여, 감시지역의 움직임이 감지 될 경우에만 카메라(2800)를 동작시키게 하여 전력의 소모를 최소화 한다.Since the low power wireless camera 2800 operates in the existing sensor network, the low power wireless camera 2800 must be operated by a battery in the same manner as the operation of the sensor nodes in the existing sensor network system. Therefore, it is based on low power operation due to the limitation of power supply capacity. However, since the video is basically based on continuous shooting, the motion monitoring sensor is mounted on the camera 2800 to minimize the power consumption by operating the camera 2800 only when the motion of the monitoring area is detected.
카메라(2800)에는 분산 비디오 부호화를 수행할 수 있는 분산 비디오 부호화 장치가 구비되어 있고 분산 비디오 부호화 장치에서는 카메라를 통해 촬영된 영상을 분산 비디오 부호화를 통해 인코딩할 수 있다.The camera 2800 includes a distributed video encoding apparatus capable of performing distributed video encoding, and the distributed video encoding apparatus may encode an image captured by the camera through distributed video encoding.
저전력 무선 카메라(2800)는 배터리, MCU( Micro Controller Unit), 동작 감지 센서, 분산 비디오 부호화 장치, 무선통신 모듈로 이루어질 수 있다.The low power wireless camera 2800 may include a battery, a micro controller unit (MCU), a motion detection sensor, a distributed video encoding apparatus, and a wireless communication module.
동작 감지 센서는 무선카메라(2800)의 전면부에 설치되어 감시하고자 하는 지역에서의 사람의 움직임 여부를 감지하는 기능을 할 수 있다. 이때 감지된 신호는 MCU에 통보한다. 카메라(2800)는 감시 지역의 영상을 촬영하는 기능을 한다. 동작 감지 센서에서 움직임이 감지되어 MCU로 전달된 신호에 따라 MCU는 카메라(2800)의 전원을 인가, 촬영이 시작된다. 일정 시간 이상 움직임이 감지되지 아니하면 촬영이 종료된다. 분산 비디오 부호화 장치에서는 무선 카메라(2800)을 통해 촬영되는 영상을 분산 비디오 부호화를 통해 인코딩할 수 있다. The motion detection sensor may be installed at the front of the wireless camera 2800 to detect a motion of a person in an area to be monitored. At this time, the detected signal is notified to the MCU. The camera 2800 functions to capture an image of the surveillance area. In response to a signal detected by the motion detection sensor and transmitted to the MCU, the MCU applies power to the camera 2800 to start recording. If no movement is detected for a certain period of time, shooting ends. In the distributed video encoding apparatus, an image captured by the wireless camera 2800 may be encoded through distributed video encoding.
무선 신호는 1M이하 대역폭을 사용함으로 이 이하로 압축하게 된다. MCU는 배터리, 무선통신 모듈을 제어하며, 동작 감지 센서로부터 움직임 감지 여부를 전달받아 ,각 부의 동작 여부를 결정하고 전원을 인가하는 역할을 한다. 무선 통신모듈은 분산 비디오 부호화 장치에서 분산 비디오 부호화된 영상을 무선으로 전송하고 무선 센서 네트워크와의 통신을 담당한다. 배터리는 MCU의 제어에 따라 각 부분에 전원을 공급하는 역할을 한다.Wireless signals are compressed to less than or equal to 1M bandwidth. The MCU controls the battery and the wireless communication module, receives the motion detection from the motion detection sensor, and determines the operation of each part and applies power. The wireless communication module wirelessly transmits distributed video encoded images in a distributed video encoding apparatus and is in charge of communication with a wireless sensor network. The battery supplies power to each part under the control of the MCU.
전술한 방식과 동일한 방식은 실내에서 분산 비디오 부호화를 사용하여 촬영된 영상을 부호화하는 무선 카메라를 사용하여 집안을 모니터링하는 예를 들어, 베이비 모니터링 시스템에서 또한 사용할 수 있다. The same scheme as described above can also be used in, for example, a baby monitoring system for monitoring a home using a wireless camera that encodes an image captured using distributed video coding indoors.
도 29는 본 발명의 일실시예에 따른 복수의 카메라를 사용한 감시시스템의 개념도이다. 29 is a conceptual diagram of a monitoring system using a plurality of cameras according to an embodiment of the present invention.
도 29를 참조하면, 복수의 카메라(2900)를 이용한 감시 시스템은 복수의 카메라(2900)를 사용하여 3차원 데이터를 형성할 수 있다. Referring to FIG. 29, a surveillance system using a plurality of cameras 2900 may form three-dimensional data using a plurality of cameras 2900.
도 29에 도시된 바와 같이, 본 발명에 따른 복수의 카메라(2900)를 사용한 감시시스템은 감시 대상 지역에 복수개가 설치되는 카메라(2900)와 복수개의 카메라(2900)에 연결되어 카메라(2900)로부터 촬영된 영상 데이터를 수신하고, 각 카메라(2900)의 동작을 제어하는 중앙 감시장치(2910)로 구성된다.As illustrated in FIG. 29, a surveillance system using a plurality of cameras 2900 according to the present invention is connected to a plurality of cameras 2900 and a plurality of cameras 2900, which are installed in a plurality of monitored areas, from a camera 2900. A central monitoring unit 2910 is configured to receive captured image data and to control an operation of each camera 2900.
복수개의 카메라(2900)는 촬상부를 통해서 촬영된 영상은 카메라(2900)에 포함된 분산 비디오 부호화부를 이용해 분산 비디오 부호화를 통해서 부호화를 할 수 있다. 카메라(2900)에서 수행되는 분산 비디오 부호화는 전술한 방법과 동일한 방법을 사용할 수 있다. The plurality of cameras 2900 may encode an image photographed through the imaging unit through distributed video encoding using a distributed video encoder included in the camera 2900. Distributed video encoding performed by the camera 2900 may use the same method as described above.
본 발명의 중앙 감시장치(2910)는 감시대상 지역의 지리 정보를 3차원 영상 데이터로 표시하기 위한 GIS 데이터베이스(2920)를 구비하고 있으며, 카메라(2900)에서 촬영된 실제 영상 화면과 GIS 데이터베이스(2920)에 저장된 3차원 영상 데이터를 이용하여 카메라 화면과 동기화되어 카메라 화면을 3차원 그래픽 형태로 묘사하는 3차원 영상을 생성하고, 카메라 화면 상의 특정 지점 또는 감시대상 물체의 위치를 3차원 좌표로 산출하고, 산출된 3차원 좌표값에 근거하여 복수개의 카메라들이 연동하여 특정 지점 또는 감시대상 물체를 촬영할 수 있다.The central monitoring apparatus 2910 of the present invention includes a GIS database 2920 for displaying geographic information of a region to be monitored as 3D image data, and an actual image screen captured by the camera 2900 and a GIS database 2920. Using the 3D image data stored in) to generate a three-dimensional image that is synchronized with the camera screen to describe the camera screen in the form of three-dimensional graphics, calculates the position of a specific point or the monitored object on the camera screen in three-dimensional coordinates On the basis of the calculated 3D coordinate values, a plurality of cameras may be linked to photograph a specific point or a monitoring object.
3차원 공간 데이터를 이용한 카메라 영상의 3차원 좌표 획득방법은 감시 대상 지역의 3차원 영상을 제공하기 위한 3차원 공간 데이터를 구축한다. 카메라의 줌 변화에 따른 화각 변화량을 산출하고 카메라의 화면과 3차원 영상의 화면을 동기화 시킨 후 실제 카메라 화면의 특정 지점에 대한 3차원 좌표를 산출하여 3차원 공간 데이터를 이용한 카메라 영상의 3차원 좌표를 획득하는 방법을 사용하여 영상의 3차원 좌표를 획득할 수 있다.The method of acquiring 3D coordinates of a camera image using 3D spatial data constructs 3D spatial data for providing a 3D image of an area to be monitored. Calculate the change of angle of view according to the zoom change of the camera, synchronize the screen of the camera with the screen of the 3D image, calculate the 3D coordinates for a specific point of the actual camera screen, and then use the 3D coordinates of the camera image using the 3D spatial data. The 3D coordinates of the image may be obtained by using a method of obtaining.
도 30은 본 발명의 일실시예에 따른 무선 영상 촬상장치를 채용한 산불감지 및 발화추적 시스템을 나타낸 것이다. 30 illustrates a forest fire detection and ignition tracking system employing a wireless imaging device according to an embodiment of the present invention.
본 발명의 일실시예에 따르면 산불감지는 하나의 예시로써 산불을 감지할 수 있는 센서외에 다른 센서를 포함한 무선 영상 촬상 장치를 활용한 구성도 사용될 수 있다. According to one embodiment of the present invention, the forest fire detection can be used as an example using a wireless image pickup device including a sensor other than the sensor for detecting the forest fire.
다수의 무선 영상 촬상장치(3000)는 산불감지 및 발화추적을 위해 산이나 국립공원과 같은 넓은 지역에 적재 적소에 설치된다. 본 발명에 따른 무선 영상 촬상장치(3000)는 무선기기이므로 유선으로 연결되어야 하는 일반적인 화상 카메라나 CCTV보다 산악 지역에도 설치가 용이하다. The plurality of wireless image capturing apparatuses 3000 are installed in place of loading in a wide area such as a mountain or a national park for detecting a fire and tracking a fire. Since the wireless image capturing apparatus 3000 according to the present invention is a wireless device, it is easier to install in a mountainous region than a general image camera or CCTV which should be connected by wire.
무선 영상 촬상장치(3000)에는 분산 비디오 부호화를 수행할 수 있는 분산 비디오 부호화 장치가 포함될 수 있고 본 발명의 실시예에 따른 분산 비디오 부호화를 이용해 촬상된 영상을 부호화할 수 있다. 분산 비디오 부호화를 통해 부호화 된 영상 데이터는 분산 비디오 복호화부에 제공되어 복호화될 수 있다. The wireless image capturing apparatus 3000 may include a distributed video encoding apparatus capable of performing distributed video encoding, and may encode an image captured by using distributed video encoding according to an embodiment of the present invention. Image data encoded through distributed video encoding may be provided to a distributed video decoder to be decoded.
무선 영상 촬상장치(3000)에 의해 생성된 영상 데이터는 게이트웨이(3010)에서 취합되어 공유기(3020)를 거쳐 통신모뎀(3030)을 통해 통신망을 거쳐 산불감지 및 발화추적을 담당하는 감시원이나 관제센터에 보내질 수 있다.The image data generated by the wireless image capturing apparatus 3000 is collected by the gateway 3010 and passed through a router 3020 to a surveillance or control center in charge of forest fire detection and ignition tracking via a communication modem 3030 through a communication network. Can be sent.
개개의 무선 영상 촬상장치(3000)는 미리 설치된 지점의 데이터가 확보되어 있으므로, 촬상하는 지점을 관제 센터에서 정확히 알수 있다. 따라서 이미 개개의 무선 영상 촬상장치(3000)에게 부여된 고유 번호와 설치된 지점 매칭 테이블을 이용하면 무선 영상 촬상장치(3000)가 비추고 있는 지점의 상태를 명확히 파악할 수 있고, 예를 들어 실종자가 무선 영상 촬상장치(3000)에 나타났을 때 실종자의 위치도 정확히 파악할 수 있다. 관제센터의 관제서버(도시되지 않음)에서는 무선 영상 촬상장치(3000)에 의해 생성된 영상을 주기적으로 수신하면서 영상의 변화를 통해 화재발생을 판단할 수 있다.Since the data of the pre-installed points are secured in each of the wireless video image pickup apparatuses 3000, the control center can accurately know the point of imaging. Therefore, using the unique number already assigned to each wireless image capturing apparatus 3000 and the installed point matching table, it is possible to clearly grasp the state of the point reflected by the wireless image capturing apparatus 3000. When appearing in the imaging device 3000 it is also possible to accurately determine the location of the missing person. The control server (not shown) of the control center may determine the occurrence of fire through the change of the image while periodically receiving the image generated by the wireless image pickup device 3000.
화재감지기는 CCTV와 열화상카메라로부터 화재를 감지할 수 있으나 화재감지센서(3040)의 감지신호로부터 화재를 판단할 수도 있다. 또는 화재감지기는 관제센터에 위치하여 화재판단을 할 수도 있다.The fire detector may detect the fire from the CCTV and the thermal imaging camera, but may determine the fire from the detection signal of the fire detection sensor 3040. Alternatively, the fire detector may be located at a control center to determine the fire.
화재발생을 좀더 용이하게 하기 위해 다수의 화재감지센서(3040)를 채용할 수 있다. 화재감지센서(3040)는 온도, 연기 또는 불꽃을 감지하는 센서를 사용할 수 있으나 반드시 이에 한정되는 것은 아니며 화재를 감지할 수 있는 센서라면 어떠한 것을 사용하여도 무방하다. 또한 센서는 온도, 연기 또는 불꽃을 하나 이상 복합적으로 센싱하는 화재감지센서를 사용할 수도 있다.A plurality of fire detection sensors 3040 may be employed to facilitate the occurrence of fire. The fire detection sensor 3040 may use a sensor that detects temperature, smoke, or flame, but is not necessarily limited thereto. Any sensor capable of detecting a fire may be used. The sensor may also use a fire detection sensor that senses one or more combinations of temperature, smoke, or flame.
화재감지센서(3040)는 무선 영상 촬상장치(3000)와 별도로 설치될 수도 있고 무선 영상 촬상장치(3000)와 결합된 형태로 설치될 수도 있다. 화재감지센싱 신호를 관제센터의 관제서버에 전송할 수 있고, 더불어 화재감지센서(3040)의 위치도 같이 전송하면 어느 위치에서 화재가 발생하였는지를 파악하는데 더욱 용이할 것이다.The fire sensor 3040 may be installed separately from the wireless image capturing apparatus 3000 or may be installed in combination with the wireless image capturing apparatus 3000. Fire detection sensing signal can be transmitted to the control server of the control center, and in addition to the location of the fire detection sensor 3040 will be easier to determine in which position the fire occurred.
화재감지센서(3040)를 통해 화재가 감지되면 관제센터의 관제서버에서는 화재가 발생한 위치를 파악할 수 있고, 위치가 파악되면 주변의 무선 영상 촬상장치(3000)를 모두 화재발생 지점을 촬상하도록 위치를 선택적으로 고정시킬 수 있다. 그렇게 함으로써 화재발생 지점의 촬상 데이터를 좀더 많이 확보할 수 있다. When the fire is detected through the fire detection sensor 3040, the control server of the control center can determine the location of the fire, and if the location is detected, the position of the surrounding wireless video imaging device 3000 to capture the location of the fire. Can be fixed selectively. By doing so, it is possible to secure more imaging data of the fire occurrence point.
도 31은 본 발명의 실시예에 따른 복수의 카메라를 이용한 얼굴 검출 시스템을 나타낸 개념도이다. 31 is a conceptual diagram illustrating a face detection system using a plurality of cameras according to an embodiment of the present invention.
도 31은 본 발명의 실시예에 따른 적외선 영상을 이용한 위조 얼굴 검출 장치에 대한 블록 구성도로서, 영상 획득부(3110)와 얼굴 영역 추출부(3120)와 위조 얼굴 검출부(3130)와 얼굴 인식부(3140)를 포함한다.FIG. 31 is a block diagram illustrating a fake face detection apparatus using an infrared image according to an exemplary embodiment of the present invention. The image acquirer 3110, the face region extractor 3120, the fake face detector 3130, and the face recognizer are shown. 3140.
영상 획득부(3110)는 적외선 영상 획득부(3113) 및 일반 영상 획득부(3116)로 이루어져 있다. 적외선 영상 획득부(3113)는 적외선 카메라(3103)에 의해 촬상된 적외선 영상을 획득하여 위조 얼굴 검출부(3130)에 제공한다. 일반 영상 획득부(3116)는 일반 카메라(3106)에 의해 촬상된 일반 영상을 획득하여 얼굴 영역 추출부(3120)에 제공한다. The image acquisition unit 3110 includes an infrared image acquisition unit 3113 and a general image acquisition unit 3116. The infrared image acquisition unit 3113 acquires an infrared image captured by the infrared camera 3103 and provides the infrared image to the forged face detection unit 3130. The general image obtaining unit 3116 obtains a general image captured by the general camera 3106 and provides the same to the face region extracting unit 3120.
적외선 카메라(3103) 및 일반 카메라(3106)에는 분산 비디오 부호화부가 구비될 수 있고 구비된 분산 비디오 부호화부를 이용해 분산 비디오 부호화를 수해할 수 있다. 적외선 카메라(3103) 및 일반 카메라(3106)에 의해 분산 비디오 부호화된 데이터는 무선으로 특정한 서버에 전송되어 서버에서는 전송된 데이터를 기초로 본인인지 여부를 확인할 수 있다. The infrared camera 3103 and the general camera 3106 may be provided with a distributed video encoder, and distributed video encoding may be performed using the distributed video encoder. The distributed video encoded data by the infrared camera 3103 and the general camera 3106 may be wirelessly transmitted to a specific server, and the server may determine whether the user is based on the transmitted data.
얼굴 영역 추출부(3120)는 일반 영상 획득부(3116)로부터 입력된 일반 영상에 대하여 영상처리기법을 이용한 컴포넌트 기반의 기술이거나, Adaboost 또는 SVM(Support Vector Machine, 이하 SVM이라 함)의 패턴인식기술을 사용하여 얼굴 영역을 추출하여 위조 얼굴 검출부(3130)에 제공한다.The face region extractor 3120 is a component-based technique using an image processing technique with respect to a general image input from the general image acquirer 3116, or a pattern recognition technique of Adaboost or SVM (Support Vector Machine, SVM). Extracts a face region and provides it to the forged face detector 3130.
위조 얼굴 검출부(3130)는 적외선 영상의 화질 특성을 평가하기 위한 얼굴 영상 평가부와 얼굴 유/무 판별부와 안구 특성 분석부로 이루어져 있다. 얼굴 영상 평가부는 얼굴 영역 추출부(3120)에 의해 추출되어 입력된 얼굴 영역과 일치하는 적외선 영상에 대한 화질을 Sharpness의 기술을 이용하여 평가하고, 평가 결과, 얼굴 영역보다 적외선 영상의 선명도가 떨어질 경우 위조얼굴로 검출하고, 그 위조얼굴이라는 검출결과를 얼굴 인식부(3140)에 제공하는 반면에, 평가결과, 얼굴영역과 적외선 영상이 일치할 경우 위조얼굴이 아닌 것으로 검출하고, 그 위조얼굴이 아니라는 검출결과를 얼굴인식부(3140)에 제공한다.The fake face detector 3130 includes a face image evaluator, a face / no face discrimination unit, and an eyeball characteristic analyzer for evaluating the image quality characteristics of the infrared image. The face image evaluator evaluates the image quality of the infrared image extracted by the face region extractor 3120 and coincides with the input face region by using the technique of Sharpness, and as a result of the evaluation, the sharpness of the infrared image is lower than that of the face region. It detects with a fake face and provides a detection result of the fake face to the face recognition unit 3140. On the other hand, if the face region and the infrared image coincide with each other, the fake face is detected as not a fake face. The detection result is provided to the face recognition unit 3140.
얼굴 유/무 판별부는 사진 또는 위조 얼굴에 대한 적외선 영상의 경우 얼굴의 모양이 가시화되지 않는 특성이 있는 적외선 영상의 특성을 기반으로 얼굴 영역 추출부(3120)에 의해 추출되어 입력된 얼굴 영역에 대하여 Adaboost 또는 SVM의 기술을 이용하여 얼굴 유/무를 판별하고, 판별결과, 얼굴이 무일 경우 위조얼굴로 검출하고, 그 위조얼굴이라는 검출결과를 얼굴 인식부(3140)에 제공하는 반면에, 판별결과, 얼굴이 유일 경우 위조얼굴이 아닌 것으로 검출하고, 그 위조얼굴이 아니라는 검출결과를 얼굴 인식부(3140)에 제공한다.The face presence / non-determination unit is based on the characteristics of the infrared image having the characteristic that the shape of the face is not visualized in the case of the infrared image of the photograph or the fake face, and the face region extracted by the face region extraction unit 3120 is input. Using the technology of Adaboost or SVM to discriminate the presence or absence of a face, if the face is absent, it is detected as a fake face, and the detection result of the fake face is provided to the face recognition unit 3140, If the face is unique, it is detected as not a fake face, and a detection result of not being a fake face is provided to the face recognizing unit 3140.
안구 특성 분석부는 사용자들의 실제 적외선 영상에서의 안구 영역을 사전에 검출하여 기설정시킨 다음에, 기설정된 안구 영역들과 적외선 영상 획득부(3113)로부터 입력된 적외선 영상의 안구 영역간을 분석하고, 분석결과, 기설정된 안구 영역들과 적외선 영상의 안구 영역이 동일한 것이 없을 경우 위조얼굴로 검출하고, 그 위조얼굴이라는 검출결과를 얼굴 인식부(3140)에 제공하는 반면에, 분석결과, 기설정된 안구 영역들중 임의의 안구 영역과 적외선 영상의 안구 영역이 동일할 경우 위조얼굴이 아닌 것으로 검출하고, 그 위조얼굴이 아니라는 검출 결과를 얼굴 인식부(3140)에 제공한다.The eyeball characterization unit detects and presets an eyeball area in the actual infrared image of the user in advance, and then analyzes between the predetermined eyeball areas and the eyeball area of the infrared image input from the infrared image acquisition unit 3113 and analyzes the eyeball area. As a result, when the predetermined eye areas and the eye area of the infrared image do not have the same thing, the detected face is detected as a fake face, and the detection result of the fake face is provided to the face recognition unit 3140. If any of the eyeballs and the eyeballs of the infrared image are the same, it is detected as not a fake face, and the detection result of not detecting the fake face is provided to the face recognizing unit 3140.
얼굴 인식부(3140)는 위조 얼굴 검출부(3130)로부터 입력되는 위조얼굴이 아니라는 평가결과와 판별결과 그리고 분석결과에 따라 얼굴 영역 추출부(3120)로부터 입력된 얼굴 영역에 대하여 얼굴 인식을 수행한다. 반면에, 얼굴 인식부(3140)는 위조 얼굴 검출부(3130)로부터 입력되는 위조얼굴이라는 평가결과와 판별결과 그리고 분석결과에 따라 얼굴 인식을 수행하지 않거나, 적외선 카메라(3103)와 일반 카메라(3106)를 통해 재촬상을 시도하도록 제어한다.The face recognition unit 3140 performs face recognition on the face region input from the face region extraction unit 3120 according to the evaluation result, the determination result, and the analysis result of not being a fake face input from the fake face detection unit 3130. On the other hand, the face recognition unit 3140 does not perform face recognition according to the evaluation result and the determination result and the analysis result of the forgery face input from the fake face detection unit 3130, or the infrared camera 3103 and the general camera 3106. Control to retry shooting.
따라서, 본 발명은 적외선/가시광선 카메라를 동시에 이용하여 얼굴 영상을 촬상하고, 이중 입력된 적외선 영상의 특성을 분석하여 위조 얼굴 여부를 검출하며, 위조 얼굴이 아닌 경우에 가시광선에 의해 촬상된 일반 영상을 이용하여 사용자 인증을 수행함으로써, 기존에서와 같이 일반적인 얼굴 인식 방법을 이용하여 실제 얼굴 정보와 위조 얼굴 정보를 구별하는데 어려움이 있는 점과, 고가의 장비를 사용함에 따른 한계와, 사용자로 하여금 불편함을 느끼게 하는 다수의 문제점을 해결할 수 있다.Accordingly, the present invention captures a face image by using an infrared / visible light camera at the same time, and analyzes the characteristics of the dual input infrared image to detect whether or not a fake face, and in the case of non-falsified face, the image captured by the visible light By performing user authentication using images, it is difficult to distinguish real face information from fake face information by using a common face recognition method as in the past, the limitations of using expensive equipment, Many problems that make you feel uncomfortable can be solved.
이상의 전술한 도 24 내지 도 31에서 실시예는 본 발명의 실시예에 따른 분산 비디오 부호화가 사용되는 일부의 실시예를 나타낸 것으로써 전술한 본 발명의 실시예에 따른 분산 비디오 부호화가 사용될 수 있는 경우, 전술한 실시예에 한정되지 않고 다양한 형태로 활용될 수 있다. 24 to 31 illustrate some embodiments in which distributed video encoding according to an embodiment of the present invention is used, and when distributed video encoding according to the above-described embodiment of the present invention can be used. However, the present invention is not limited to the above-described embodiment and may be utilized in various forms.
도 32는 본 발명의 일실시예에 따른 복수의 분산 비디오 부호화부를 포함한 분산 비디오 부호화 장치를 나타낸 개념도이다. 32 is a conceptual diagram illustrating a distributed video encoding apparatus including a plurality of distributed video encoders according to an embodiment of the present invention.
도 32를 참조하면, 분산 비디오 부호화 장치(3200)는 복수의 분산 비디오 부호화부(3200-1, 3200-2, 3200-n)를 포함할 수 있고 분산 비디오 복호화 장치는 복수의 분산 비디오 복호화부(3210)를 포함할 수 있다. Referring to FIG. 32, the distributed video encoding apparatus 3200 may include a plurality of distributed video encoders 3200-1, 3200-2, and 3200-n, and the distributed video decoding apparatus may include a plurality of distributed video decoders ( 3210).
설명의 편의상 각각의 분산 비디오 부호화부(3200-1, 3200-2, 3200-n) 및 분산 비디오 복호화부(3210)는 개별적인 구성부로 나타나 있으나, 복수의 분산 비디오 부호화부(3200) 및 복수의 분산 비디오 복호화부(3210)는 일부의 구성을 공유하는 통합적인 형태의 구성을 가질 수 있다. For convenience of description, each of the distributed video encoders 3200-1, 3200-2, and 3200-n and the distributed video decoder 3210 are shown as separate components, but a plurality of distributed video encoders 3200 and a plurality of distributed units are shown. The video decoder 3210 may have an integrated configuration that shares some configurations.
또한, 설명의 편의상 각각의 부호화부가 모두 분산 비디오 부호화를 수행하는 부호화부로 표현했으나, 복수의 분산 비디오 부호화부를 가지고 그 외에 부호화부는 분산 비디오 부호화를 수행하지 않는 일반적인 부호화부를 사용할 수 있다. In addition, for convenience of description, each encoder is represented by an encoder that performs distributed video encoding. However, the encoder may have a plurality of distributed video encoders and may use a general encoder that does not perform distributed video encoding.
각각의 분산 비디오 부호화부(3200) 및 분산 비디오 복호화부(3210)는 이상에서 전술한 분산 비디오 부호화부(3200)의 구성을 가질 수 있다. Each distributed video encoder 3200 and distributed video decoder 3210 may have a configuration of the distributed video encoder 3200 described above.
즉, 분산 비디오 부호화부(3200)는 전술한 구성인 키프레임 부호화부, 양자화부, 블록 단위화부, 채널코드 부호화부를 포함할 수 있고, 추가적인 구성으로, 움직임 보상부, 제1 변환부, 양자화 제어부, 제2 변환부, 움직임 예측부, 채널 모니터부 등과 같은 구성을 가질 수 있다. That is, the distributed video encoder 3200 may include a keyframe encoder, a quantizer, a block unitizer, and a channel code encoder having the above-described configuration. In addition, the distributed video encoder 3200 may include a motion compensator, a first converter, and a quantization controller. , A second transform unit, a motion predictor, a channel monitor, and the like.
마찬가지로 분산 비디오 복호화부(3210)는 전술한 구성인 키프레임 복호화부, 보조정보 생성부, 채널코드 복호화부, 영상 복원부를 포함할 수 있고, 추가적으로 픽처버퍼, 움직임 벡터 생성부, 제1 부호화부, 제2 부호화부를 포함할 수 있다. Similarly, the distributed video decoder 3210 may include a keyframe decoder, an auxiliary information generator, a channel code decoder, and an image reconstructor, and may further include a picture buffer, a motion vector generator, a first encoder, It may include a second encoder.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.In the above, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications and changes by those skilled in the art within the spirit and scope of the present invention. This is possible.

Claims (68)

  1. 가변블럭 움직임 예측을 이용한 분산 비디오 복호화 장치에 있어서,A distributed video decoding apparatus using variable block motion prediction,
    키프레임 부호화 장치로부터 전송되는 키프레임를 복원하는 키프레임 복호화부;A key frame decoder for reconstructing a key frame transmitted from the key frame encoding apparatus;
    상기 복원된 키프레임을 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하고 상기 생성한 움직임 벡터를 출력하는 움직임 벡터 생성부;A motion vector generator configured to determine a size of a block for performing motion prediction using the reconstructed keyframe, generate a motion vector, and output the generated motion vector;
    상기 복원된 키 프레임 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 보조정보 생성부;An auxiliary information generator configured to generate auxiliary information using the reconstructed key frame and the generated motion vector;
    분산 비디오 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 채널코드 복호화부;및A channel code decoder for estimating a quantized value using parity bits transmitted from a distributed video encoding apparatus and the auxiliary information; and
    상기 채널 복호화부에 의해 추정된 상기 양자화된 값과 상기 보조정보를 기초로 분산 비디오 복호화 대상이 되는 현재의 프레임를 복원하는 영상복원부를 포함하는 분산 비디오 복호화 장치.And an image restoring unit for restoring a current frame to be distributed video decoding based on the quantized value and the auxiliary information estimated by the channel decoding unit.
  2. 제1항에 있어서, 상기 움직임 벡터 생성부는, The method of claim 1, wherein the motion vector generator,
    상기 보조 정보의 움직임 예측을 위해 블록의 크기가 상이한 복수의 블록을 결정하고, 상기 결정된 블록들을 기초로 상기 복원된 키 프레임들간의 움직임 벡터들을 구하고, 소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택하는 분산 비디오 복호화 장치.A plurality of blocks having different sizes of blocks are determined for motion estimation of the auxiliary information, motion vectors between the reconstructed key frames are obtained based on the determined blocks, and motion among the obtained motion vectors is determined based on a predetermined criterion. Distributed video decoding apparatus for selecting a vector.
  3. 제2항에 있어서, 상기 움직임 벡터 생성부는 The apparatus of claim 2, wherein the motion vector generator
    상기 복원된 키 프레임을 이용한 움직임 예측을 위하여 복수개의 블록 크기들을 결정하는 블록 크기 결정부; A block size determiner which determines a plurality of block sizes for motion prediction using the reconstructed key frame;
    상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 영역을 탐색하여 상기 제1 블록과 가장 일치하는 제2 블록을 찾아내고, 상기 제1 블록과 상기 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수의 블록 크기들에 대해 각각 생성하는 움직임 예측 수행부;A second block that most closely matches the first block by searching an area of another key frame of the restored key frames to find an area that matches the first block of one of the restored key frames A motion prediction execution unit for finding a motion vector and generating a motion vector for each of the plurality of block sizes, the motion vector being a difference value between the first block and the second block;
    상기 움직임 예측 수행부에 의해 생성된 움직임 벡터들을 저장하는 움직임 벡터 저장부; 및 A motion vector storage unit for storing motion vectors generated by the motion prediction execution unit; And
    상기 움직임 벡터들 중 상기 하나의 키 픽처의 제1 블록과 상기 다른 하나의 키 픽처의 제2 블록간의 유사도를 측정하여 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택하는 움직임 벡터 선택부를 포함하는 분산 비디오 복호화 장치.A motion vector selector configured to measure a similarity between the first block of the one key picture and the second block of the other key picture among the motion vectors, and select a motion vector having a block size corresponding to the highest similarity; Distributed video decoding device.
  4. 제3항에 있어서, 상기 움직임 벡터 선택부는,The method of claim 3, wherein the motion vector selector,
    상기 제1 블록과 상기 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 상기 유사도를 측정하는 분산 비디오 복호화 장치.Sum of Absolute Difference (SAD), Mean Absolute Difference (MAD), and Sum of Square Difference (SSD) between the first block and the second block Distributed video decoding apparatus for measuring the similarity using any one of (square sum of the difference of the blocks).
  5. 제1항에 있어서, 상기 움직임 예측을 수행하기 위한 블록의 크기는,The size of the block for performing the motion prediction,
    16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 및 4x4 블록 크기들 중 적어도 하나인 것을 특징으로 하는 분산 비디오 복호화 장치.And at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes.
  6. 제5항에 있어서, 상기 움직임 예측을 수행하기 위한 블록의 크기는,The method of claim 5, wherein the size of the block for performing the motion prediction,
    상기 복원된 키 프레임들 간에 움직임 변화를 판단하여 결정되는 것을 특징으로 하는 분산 비디오 복호화 장치.Distributed video decoding apparatus characterized in that determined by determining the change in motion between the reconstructed key frames.
  7. 제6항에 있어서, 상기 블록 크기 결정부는,The method of claim 6, wherein the block size determiner,
    상기 복원된 키 프레임들 간에 움직임 변화가 작은 경우, 16x16, 16x8 및 8x16의 블록 크기 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록 크기를 결정하는 것을 특징으로 하는 분산 비디오 복호화 장치.And determining a block size for performing the motion prediction to at least one of block sizes of 16x16, 16x8, and 8x16 when the motion change between the reconstructed key frames is small.
  8. 제6항에 있어서, 상기 블록 크기 결정부는,The method of claim 6, wherein the block size determiner,
    상기 복원된 키 프레임들 간에 움직임 변화가 큰 경우, 8x8, 8x4, 4x8 및 4x4의 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록 크기를 결정하는 것을 특징으로 하는 분산 비디오 복호화 장치.And determining a block size for performing the motion prediction to at least one of block sizes of 8x8, 8x4, 4x8, and 4x4 when the motion change between the reconstructed key frames is large.
  9. 가변블럭 움직임 예측을 이용한 분산 비디오 복호화 방법에 있어서,A distributed video decoding method using variable block motion prediction,
    키 프레임 부호화 장치로부터 전송되는 키 프레임을 복원하는 단계;Restoring a key frame transmitted from the key frame encoding apparatus;
    상기 복원된 키 프레임을 이용한 움직임 예측을 수행하기 위한 블록 크기를 결정하여 움직임 벡터를 생성하는 단계;Generating a motion vector by determining a block size for performing motion prediction using the reconstructed key frame;
    상기 복원된 키 프레임 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 단계;Generating auxiliary information using the reconstructed key frame and the generated motion vector;
    분산 비디오 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 단계; 및Estimating a quantized value using parity bits transmitted from a distributed video encoding apparatus and the auxiliary information; And
    상기 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 분산 비디오 복호화 대상이 되는 현재의 프레임을 복원하는 단계를 포함하는 분산 비디오 복호화 방법.And reconstructing a current frame to be distributed video decoding by using the estimated quantized value and the auxiliary information.
  10. 제9항에 있어서, 상기 복원된 키 프레임을 이용한 움직임 예측을 수행하기 위한 블록 크기를 결정하여 움직임 벡터를 생성하는 단계는,The method of claim 9, wherein the determining of the block size for performing motion prediction using the reconstructed key frame to generate a motion vector comprises:
    상기 보조 정보의 움직임 예측을 위해 크기가 상이한 복수의 블록을 결정하는 단계;Determining a plurality of blocks having different sizes for motion estimation of the auxiliary information;
    상기 결정된 복수의 블록을 기초로 상기 복원된 키프레임들간의 움직임 벡터들을 구하는 단계; 및 Obtaining motion vectors between the reconstructed keyframes based on the determined plurality of blocks; And
    소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택하는 단계를 포함하는 분산 비디오 복호화 방법.And selecting a motion vector among the obtained motion vectors based on a predetermined criterion.
  11. 제10항에 있어서, 상기 결정된 복수의 블록을 기초로 상기 복원된 키프레임들간의 움직임 벡터들을 구하는 단계는,The method of claim 10, wherein the obtaining of the motion vectors between the reconstructed keyframes based on the determined plurality of blocks comprises:
    상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 영역을 탐색하여 상기 제1 블록과 가장 일치하는 제2 블록을 찾아내는 단계; 및A second block that most closely matches the first block by searching an area of another key frame of the restored key frames to find an area that matches the first block of one of the restored key frames Finding out; And
    제1 블록과 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수개의 블록 크기들에 대해 각각 생성하는 단계를 포함하는 분산 비디오 복호화 방법.Generating a motion vector for each of the plurality of block sizes, the motion vector being a difference between a first block and a second block.
  12. 제10항에 있어서, 상기 소정의 기준에 의해 상기 구한 움직임 벡터들 중 움직임 벡터를 선택하는 단계는,The method of claim 10, wherein the selecting of the motion vector among the obtained motion vectors based on the predetermined criterion includes:
    상기 복원된 키 프레임들 중 하나의 키 프레임의 제1 블록과 상기 복원된 키 프레임들 중 다른 하나의 키 프레임의 제2 블록간의 유사도를 상기 각 움직임 벡터에 대해 측정하는 단계; 및 Measuring similarity between the first block of one of the reconstructed key frames and the second block of the other one of the reconstructed key frames with respect to the respective motion vectors; And
    상기 각 움직임 벡터에 대해 측정된 제1 블록과 제2 블록의 유사도 중 가장 높은 유사도를 가지는 제1 블록과 제2 블록 사이의 움직임 벡터를 선택하는 단계를 포함하는 분산 비디오 복호화 방법.And selecting a motion vector between the first block and the second block having the highest similarity among the similarities of the first block and the second block measured for each motion vector.
  13. 제12항에 있어서, 상기 유사도는,The method of claim 12, wherein the similarity is,
    제1 블록과 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 측정되는 분산 비디오 복호화 방법.Sum of Absolute Difference (SAD) between the first block and the second block, Mean Absolute Difference (MAD), and Sum of Square Difference (SSD) of each block Distributed video decoding method using any one of the following methods.
  14. 제9항에 있어서, 상기 움직임 예측을 수행하기 위한 블록의 크기는,The method of claim 9, wherein the size of the block for performing the motion prediction,
    16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 및 4x4 블록 크기들 중 적어도 하나인 것을 특징으로 하는 분산 비디오 복호화 방법.And at least one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 block sizes.
  15. 제14항에 있어서, 상기 움직임 예측을 수행하기 위한 블록의 크기는,The method of claim 14, wherein the size of the block for performing the motion prediction,
    상기 복원된 키 프레임들 간에 움직임 변화를 판단하여 결정되는 것을 특징으로 하는 분산 비디오 복호화 방법.Distributed video decoding method, characterized in that determined by determining the change in motion between the reconstructed key frames.
  16. 제15항에 있어서, 상기 블록 크기 결정부는,The method of claim 15, wherein the block size determiner,
    상기 복원된 키 프레임들 간에 움직임 변화가 작은 경우, 16x16, 16x8 및 8x16의 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록의 크기를 결정하는 것을 특징으로 하는 분산 비디오 복호화 방법.And when the motion change between the reconstructed key frames is small, determining a size of a block for performing the motion prediction to at least one of block sizes of 16x16, 16x8, and 8x16.
  17. 제15항에 있어서, 상기 블록 크기 결정부는,The method of claim 15, wherein the block size determiner,
    상기 복원된 키 프레임들 간에 움직임 변화가 큰 경우, 8x8, 8x4, 4x8 및 4xx 블록 크기들 중 적어도 하나로 상기 움직임 예측을 수행하기 위한 블록의 크기를 결정하는 것을 특징으로 하는 분산 비디오 복호화 방법.And determining a block size for performing the motion prediction to at least one of 8x8, 8x4, 4x8, and 4xx block sizes when the motion change between the reconstructed key frames is large.
  18. 제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 방법에 있어서, A distributed video encoding method for encoding an input image divided into a first frame and a second frame,
    상기 제1 프레임을 부호화하고 부호화된 제1 프레임을 전송하는 단계;Encoding the first frame and transmitting an encoded first frame;
    분산 비디오 복호화 장치로부터 움직임 벡터를 제공받는 단계;Receiving a motion vector from a distributed video decoding apparatus;
    제공된 상기 움직임 벡터에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 단계;Generating auxiliary information corresponding to the second frame based on the provided motion vector;
    생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계; 및Obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame; And
    획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계를 포함하는 분산 비디오 부호화 방법.And quantizing the second frame based on the obtained prediction error.
  19. 제18항에 있어서, 상기 분산 비디오 부호화 방법은, The method of claim 18, wherein the distributed video encoding method,
    입력된 상기 제2 프레임을 변환(transform)하는 단계; Transforming the input second frame;
    상기 보조 정보가 생성된 후, 생성된 상기 보조 정보를 변환하는 단계; 및  After the auxiliary information is generated, converting the generated auxiliary information; And
    상기 제2 프레임이 양자화된 후, 양자화된 상기 제2 프레임에 대해 채널 부호화를 수행하여 패리티 비트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 분산 비디오 부호화 방법. And after the second frame is quantized, generating parity bits by performing channel encoding on the quantized second frame.
  20. 제19항에 있어서, 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는,The method of claim 19, wherein the obtaining of the prediction error of the auxiliary information based on the generated auxiliary information and the second frame comprises:
    변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.And obtaining the prediction error based on the transformed auxiliary information and the transformed second frame.
  21. 제19항에 있어서, 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는, The method of claim 19, wherein the obtaining of the prediction error of the auxiliary information based on the generated auxiliary information and the second frame comprises:
    상기 변환된 보조 정보 및 상기 변환된 제2 프레임을 비교하여 오류가 발생된 블록의 위치를 판단하는 단계; Comparing the converted auxiliary information with the converted second frame to determine a position of a block in which an error occurs;
    상기 변환된 보조 정보내에서 오류의 양을 판단하는 단계; 및 Determining an amount of error in the converted auxiliary information; And
    판단된 상기 오류의 양 및 부호화 코드의 길이에 기초하여 교차 확률(crossover)을 획득하는 단계를 포함하는 것을 특징으로 하는 분산 비디오 부호화 방법. And obtaining a crossover probability based on the determined amount of error and a length of an encoding code.
  22. 제21항에 있어서, 상기 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계는,The method of claim 21, wherein quantizing the second frame based on the obtained prediction error comprises:
    획득한 상기 예측 오차에 기초하여 양자화 비트수를 결정하는 단계; 및Determining the number of quantization bits based on the obtained prediction error; And
    획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정하는 단계를 포함하는 분산 비디오 부호화 방법.And determining whether to perform quantization of each block constituting the second frame based on the obtained prediction error.
  23. 제22항에 있어서, 상기 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정하는 단계는, The method of claim 22, wherein determining whether to perform quantization of each block constituting the second frame based on the obtained prediction error comprises:
    상기 제2 프레임을 구성하는 모든 블록 각각에 대해 오류가 발생하지 않고, 상기 교차확률이 미리 설정된 임계값 보다 작은 블록은 양자화를 생략하고, 오류가 발생하였거나 상기 교차확률이 상기 임계값 이상인 블록은 양자화를 실행하는 것을 특징으로 하는 분산 비디오 부호화 방법. An error does not occur for every block constituting the second frame, and a block whose cross probability is less than a preset threshold is omitted from quantization, and a block in which an error occurs or the cross probability is greater than or equal to the threshold is quantized. Distributed video encoding method, characterized in that for executing.
  24. 부호화된 제1 프레임을 복호화하는 단계; Decoding the encoded first frame;
    복호화된 적어도 하나의 상기 제1 프레임에 기초하여 움직임 벡터를 생성하는 단계; Generating a motion vector based on the at least one decoded first frame;
    생성된 상기 움직임 벡터를 부호화 장치로 전송하는 단계; Transmitting the generated motion vector to an encoding device;
    생성된 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 단계; Generating auxiliary information corresponding to a second frame by using the generated motion vector;
    상기 부호화 장치로부터 제공된 패리티 비트 및 상기 보조 정보를 이용하여 상기 보조 정보를 정정하는 단계; 및 Correcting the auxiliary information using the parity bit and the auxiliary information provided from the encoding apparatus; And
    정정된 상기 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 단계를 포함하는 분산 비디오 복호화 방법. Inversely quantizing the corrected auxiliary information to reconstruct the second frame.
  25. 제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 장치에 있어서, A distributed video encoding apparatus for encoding an input image divided into a first frame and a second frame,
    상기 제1 프레임을 부호화하는 부호화부; An encoder which encodes the first frame;
    복호화 장치로부터 제공된 움직임 벡터 및 부호화된 제1 프레임에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 움직임 보상부; A motion compensator configured to generate auxiliary information corresponding to the second frame based on the motion vector provided from the decoding apparatus and the encoded first frame;
    생성된 상기 보조 정보 및 입력된 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하고, 획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 양자화 제어부; 및 A quantization controller configured to obtain a prediction error of the auxiliary information based on the generated auxiliary information and the input second frame, and to quantize the second frame based on the obtained prediction error; And
    양자화된 제2 프레임을 채널 부호화하여 패리티 비트를 생성하는 채널 부호화부를 포함하는 분산 비디오 부호화 장치. And a channel encoder configured to channel-encode the quantized second frame to generate parity bits.
  26. 제25항에 있어서, 상기 분산 비디오 부호화 장치는 The apparatus of claim 25, wherein the distributed video encoding apparatus is
    생성된 상기 보조 정보를 변환(transform)하는 제1 변환부; A first transforming unit transforming the generated auxiliary information;
    입력된 상기 제2 프레임을 변환하는 제2 변환부를 더 포함하는 것을 특징으로 하는 분산 비디오 부호화 장치. And a second converter configured to transform the input second frame.
  27. 제26항에 있어서, 상기 양자화 제어부는 The method of claim 26, wherein the quantization control unit
    변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득하는 것을 특징으로 하는 분산 비디오 부호화 장치. And the prediction error is obtained based on the transformed auxiliary information and the transformed second frame.
  28. 제26항에 있어서, 상기 양자화 제어부는 The method of claim 26, wherein the quantization control unit
    상기 변환된 보조 정보 및 상기 변환된 제2 프레임을 비교하여 오류가 발생된 블록의 위치를 판단하고, 상기 변환된 보조 정보내에서 오류의 양을 판단하고, 판단된 상기 오류의 양 및 부호화 코드의 길이에 기초하여 교차 확률(crossover)을 획득함으로써 상기 예측 오차를 획득하는 것을 특징으로 하는 분산 비디오 부호화 장치. Comparing the transformed auxiliary information and the transformed second frame to determine the position of the block in which an error occurs, determine the amount of error in the transformed auxiliary information, the amount of the error and the encoding code And obtaining the prediction error by obtaining a crossover probability based on a length.
  29. 제28항에 있어서, 상기 양자화 제어부는 The method of claim 28, wherein the quantization control unit
    획득한 상기 예측 오차에 기초하여 양자화 비트수를 결정하고 상기 제2 프레임을 구성하는 각 블록의 양자화 실행 여부를 결정하는 것을 특징으로 하는 분산 비디오 부호화 장치.And determining the number of quantization bits based on the obtained prediction error, and determining whether to perform quantization of each block constituting the second frame.
  30. 제29항에 있어서, 상기 양자화 제어부는 The method of claim 29, wherein the quantization control unit
    상기 제2 프레임을 구성하는 모든 블록 각각에 대해 오류가 발생하지 않고 상기 교차확률이 미리 설정된 임계값 보다 작은 블록은 양자화를 생략하고, 오류가 발생하였거나 상기 교차확률이 상기 임계값 이상인 블록은 양자화를 실행하는 것을 특징으로 하는 분산 비디오 부호화 장치. For every block constituting the second frame, an error does not occur and a block whose cross probability is smaller than a preset threshold is omitted. A block in which an error occurs or the cross probability is greater than or equal to the threshold is quantized. Distributed video encoding device, characterized in that the execution.
  31. 부호화된 제1 프레임을 복호화하는 복호화부; A decoder which decodes the encoded first frame;
    복호화된 적어도 하나의 제1 프레임에 기초하여 움직임 벡터를 생성한 후 생성된 상기 움직임 벡터를 부호화 장치에 제공하고 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 보조정보 생성부; An auxiliary information generator configured to generate a motion vector based on the at least one decoded first frame, provide the generated motion vector to an encoding apparatus, and generate auxiliary information corresponding to a second frame using the motion vector;
    상기 생성된 보조 정보를 변환하는 변환부; A conversion unit for converting the generated auxiliary information;
    변환된 보조 정보 및 상기 부호화 장치로부터 제공된 패리티 비트에 기초하여 상기 보조 정보를 정정하는 채널 복호화부; 및 A channel decoder to correct the auxiliary information based on the converted auxiliary information and the parity bit provided from the encoding apparatus; And
    정정된 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 역양자화부를 포함하는 분산 비디오 복호화 장치. And a dequantizer for reconstructing the second frame by dequantizing the corrected auxiliary information.
  32. 부호화된 제1 프레임을 복호화하는 복호화부;  A decoder which decodes the encoded first frame;
    복호화된 적어도 하나의 제1 프레임에 기초하여 움직임 벡터를 생성한 후 생성된 상기 움직임 벡터를 부호화 장치에 제공하고 상기 움직임 벡터를 이용하여 제2 프레임에 상응하는 보조 정보를 생성하는 보조정보 생성부; An auxiliary information generator configured to generate a motion vector based on the at least one decoded first frame, provide the generated motion vector to an encoding apparatus, and generate auxiliary information corresponding to a second frame using the motion vector;
    상기 생성된 보조 정보를 변환하는 변환부; A conversion unit for converting the generated auxiliary information;
    변환된 보조 정보 및 상기 부호화 장치로부터 제공된 패리티 비트에 기초하여 상기 보조 정보를 정정하는 채널 복호화부; A channel decoder to correct the auxiliary information based on the converted auxiliary information and the parity bit provided from the encoding apparatus;
    정정된 보조 정보를 역양자화하여 상기 제2 프레임을 복원하는 역양자화부; 및 An inverse quantizer for restoring the second frame by inversely quantizing corrected auxiliary information; And
    복원된 제2 프레임을 부호화하는 부호화부를 포함하는 변환 부호화 장치. And a coding unit for encoding the reconstructed second frame.
  33. 제32항에 있어서, 상기 부호화부는 33. The apparatus of claim 32, wherein the encoder
    상기 복원된 제2 프레임 및 상기 복호화부에서 복호화된 제1 프레임을 부호화하는 것을 특징으로 하는 변환 부호화 장치. And encoding the reconstructed second frame and the first frame decoded by the decoder.
  34. 제32항에 있어서, 상기 부호화부는 33. The apparatus of claim 32, wherein the encoder
    상기 복원된 제2 프레임을 부호화하는 제1 부호화부; 및 A first encoder to encode the reconstructed second frame; And
    상기 복호화부에서 복호화된 제1 프레임을 부호화하는 제2 부호화부를 포함하는 것을 특징으로 하는 변환 부호화 장치. And a second encoder which encodes the first frame decoded by the decoder.
  35. 분산 비디오 부호화 장치의 부호화 방법에 있어서, In the encoding method of the distributed video encoding apparatus,
    채널 상황을 확인하는 단계;Checking channel status;
    확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계;Determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition;
    결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계;Determining a number of steps of performing motion prediction based on the determined size of the video data to be transmitted;
    결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계; 및Encoding the video data to be transmitted by performing motion prediction according to the determined number of motion prediction steps; And
    결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함하는 분산 비디오 부호화 방법.And channel coding the encoded video data according to the determined channel coding rate.
  36. 제35항에 있어서, 상기 채널 상황을 확인하는 단계는, 36. The method of claim 35, wherein identifying the channel condition comprises:
    가용 비트율 및 패킷 손실율(PLR)을 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.Distributed video encoding method characterized by obtaining an available bit rate and a packet loss rate (PLR).
  37. 제36항에 있어서, 상기 확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계는, 37. The method of claim 36, wherein determining the channel coding rate and the size of video data to transmit based on the identified channel conditions,
    상기 가용 비트율, 패킷 손실율 및 상기 채널 부호화율에 기초하여 상기 전송할 비디오 데이터의 크기 및 상기 채널 부호화 데이터의 크기를 결정하는 것을 특징으로 하는 분산 비디오 부호화 방법.And a size of the video data to be transmitted and a size of the channel coded data based on the available bit rate, the packet loss rate, and the channel code rate.
  38. 제35항에 있어서, 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계는,The method of claim 35, wherein the determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted comprises:
    상기 결정된 전송할 비디오 데이터의 크기에 기초하여 TSS(Three Step Search)의 총 단계 중 움직임 예측 수행 단계수를 결정하는 것을 특징으로 하는 분산 비디오 부호화 방법.And determining the number of motion prediction performing steps among the total steps of a three step search (TSS) based on the determined size of video data to be transmitted.
  39. 제35항에 있어서, 상기 결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계는,36. The method of claim 35, wherein encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps comprises:
    움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 단계를 더 포함하는 것을 특징으로 하는 분산 비디오 부호화 방법.And providing the distributed video decoding apparatus with the motion vector and the number of motion prediction performance steps used for the motion prediction.
  40. 분산 비디오 부호화 장치의 부호화 방법에 있어서, In the encoding method of the distributed video encoding apparatus,
    채널 상황을 확인하는 단계;Checking channel status;
    확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계;Determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition;
    결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계;Determining at least one method of adjusting the number of motion prediction steps and adjusting the quantization interval based on the determined size of the video data to be transmitted as a method for adjusting the size of video data;
    결정된 비디오 데이터 크기 조절 방법에 따라 전송할 비디오 데이터의 부호화를 수행하는 단계; 및Performing encoding of video data to be transmitted according to the determined video data size adjusting method; And
    결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함하는 분산 비디오 부호화 방법.And channel coding the encoded video data according to the determined channel coding rate.
  41. 제40항에 있어서, 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계는,41. The method of claim 40, wherein the determining of at least one method of adjusting the number of motion prediction steps and adjusting the quantization interval based on the determined size of the video data to be transmitted as the method for adjusting the video data size comprises:
    채널 상황, 사용자의 선호도, 부호화 장치의 성능 중 미리 설정된 적어도 하나의 우선순위에 기초하여 상기 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 것을 특징으로 하는 분산 비디오 부호화 방법.Determining at least one of the motion prediction performance step adjustment and the quantization interval adjustment as a method for adjusting the video data size based on at least one prioritized priority among channel conditions, user preferences, and performance of the encoding apparatus. Distributed video encoding method, characterized in that.
  42. 분산 비디오 복호화 방법에 있어서,  In the distributed video decoding method,
    제공된 부호화된 제2 데이터를 채널 복호화하여 채널 손실을 복원하는 단계; Recovering channel loss by channel decoding the provided encoded second data;
    제공된 부호화된 제1 데이터를 복호화하여 제1 프레임을 복원하는 단계; Restoring a first frame by decoding the provided encoded first data;
    제공된 움직임 벡터 및 움직임 예측 수행 단계수 정보에 기초하여 복원된 상기 제1 프레임에 대한 움직임 예측을 수행하여 보조 정보를 생성하는 단계; Generating auxiliary information by performing motion prediction on the reconstructed first frame based on the provided motion vector and the number of motion prediction performing step information;
    패리티 비트를 이용하여 생성된 상기 보조 정보를 정정하는 단계; 및 Correcting the assistance information generated using parity bits; And
    정정된 보조 정보를 역양자화하여 제2 프레임을 복원하는 단계를 포함하는 분산 비디오 복호화 방법. Dequantizing the corrected auxiliary information to reconstruct the second frame.
  43. 입력된 제1 프레임을 부호화하는 제1 프레임 부호화부; A first frame encoder which encodes the input first frame;
    패킷 손실율(PLR)을 획득하고 획득한 상기 패킷 손실율에 기초하여 채널 부호화율을 결정하는 채널 모니터부; A channel monitor unit for obtaining a packet loss rate (PLR) and determining a channel coding rate based on the obtained packet loss rate;
    제공된 상기 패킷 손실율에 기초하여 움직임 예측 수행 단계수를 결정하고, 결정된 상기 움직임 예측 수행 단계수에 따라 움직임 예측을 수행하여 보조 정보를 생성하는 움직임 예측부; 및 A motion prediction unit for determining the number of motion prediction execution steps based on the provided packet loss rate, and generating auxiliary information by performing motion prediction according to the determined number of motion prediction execution steps; And
    생성된 상기 보조 정보를 부호화하여 패리티 비트를 생성하고 결정된 상기 채널 부호화율에 상응하여 채널 부호화를 수행하는 제2 프레임 부호화부를 포함하는 분산 비디오 부호화 장치. And a second frame encoder configured to generate the parity bits by encoding the generated auxiliary information and perform channel encoding according to the determined channel coding rate.
  44. 제43항에 있어서, 상기 채널 모니터부는 44. The apparatus of claim 43, wherein the channel monitor unit
    상기 패킷 손실율의 두 배를 FEC(Forward Error Correction)율로 결정하는 것을 특징으로 하는 분산 비디오 부호화 장치. And determining twice the packet loss rate as a forward error correction (FEC) rate.
  45. 제43항에 있어서, 상기 제2 프레임 부호화부는 The method of claim 43, wherein the second frame encoder
    생성된 상기 보조 정보를 변환하고 양자화하는 변환 및 양자화부; A transform and quantizer for converting and quantizing the generated auxiliary information;
    변환 및 양자화된 데이터를 채널 부호화하여 패리티 비트를 생성하는 제1 채널 부호화부; 및 A first channel encoder configured to channel-code the transformed and quantized data to generate parity bits; And
    상기 채널 부호화율에 따라 제1 채널 부호화부로부터 제공된 데이터에 대해 채널 손실을 보상하기 위한 채널 부호화를 수행하는 제2 채널 부호화부를 포함하는 것을 특징으로 하는 분산 비디오 부호화 장치. And a second channel encoder for performing channel encoding on the data provided from the first channel encoder according to the channel encoding rate.
  46. 제43항에 있어서, 상기 움직임 예측부는 44. The apparatus of claim 43, wherein the motion predictor
    움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 것을 특징으로 하는 분산 비디오 부호화 장치. A distributed video encoding apparatus, comprising: providing a distributed video decoding apparatus with a motion vector and motion prediction performing step number information used for motion prediction.
  47. 입력된 제1 프레임을 부호화하는 제1 프레임 부호화부; A first frame encoder which encodes the input first frame;
    패킷 손실율 및 가용 비트율에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하고, 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 비디오 데이터 크기를 조절하기 위한 제어 신호를 제공하는 제어부; A controller for determining a channel coding rate and a size of video data to be transmitted based on a packet loss rate and an available bit rate, and providing a control signal for adjusting the size of video data based on the determined size of the video data to be transmitted;
    상기 제어부로부터 제어 신호가 제공되는 경우 움직임 예측을 수행하여 보조 정보를 생성하는 움직임 예측부; 및 A motion predictor configured to generate auxiliary information by performing motion prediction when a control signal is provided from the controller; And
    생성된 상기 보조 정보를 부호화하여 패리티 비트를 생성하고 결정된 상기 채널 부호화율에 상응하여 채널 부호화를 수행하는 제2 프레임 부호화부를 포함하는 분산 비디오 부호화 장치. And a second frame encoder configured to generate the parity bits by encoding the generated auxiliary information and perform channel encoding according to the determined channel coding rate.
  48. 제47항에 있어서, 상기 제어부는 48. The method of claim 47, wherein the control unit
    상기 결정된 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 및 양자화 간격 조절 중 적어도 하나를 비디오 데이터 크기를 조절하기 위한 방법으로 결정하고, 결정된 비디오 데이터 크기를 조절하기 위한 방법에 상응하는 제어 신호를 제공하는 것을 특징으로 하는 분산 비디오 부호화 장치. Based on the determined size of the video data to be transmitted, at least one of the number of motion prediction execution steps and the quantization interval adjustment is determined as a method for adjusting the video data size, and a control signal corresponding to the method for adjusting the determined video data size is determined. Distributed video encoding device, characterized in that provided.
  49. 제48항에 있어서, 상기 움직임 예측부는 49. The apparatus of claim 48, wherein the motion predictor
    상기 제어부로부터 제공된 제어 신호인 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하고, 움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 것을 특징으로 하는 분산 비디오 부호화 장치. Distributed video encoding, wherein the motion prediction is performed according to the number of motion prediction execution steps, which are control signals provided from the control unit, and the motion vector and the motion prediction execution step information used for the motion prediction are provided to the distributed video decoding apparatus. Device.
  50. 제48항에 있어서, 상기 제2 프레임 부호화부는 The method of claim 48, wherein the second frame encoder
    생성된 상기 보조 정보를 변환 및 양자화부; A conversion and quantization unit of the generated auxiliary information;
    변환 및 양자화된 데이터를 채널 부호화하여 패리티 비트를 생성하는 제1 채널 부호화부; 및 A first channel encoder configured to channel-code the transformed and quantized data to generate parity bits; And
    상기 채널 부호화율에 따라 제1 채널 부호화부로부터 제공된 데이터에 대해 채널 손실을 보상하기 위한 채널 부호화를 수행하는 제2 채널 부호화부를 포함하는 것을 특징으로 하는 분산 비디오 부호화 장치. And a second channel encoder for performing channel encoding on the data provided from the first channel encoder according to the channel encoding rate.
  51. 제50항에 있어서, 상기 변환 및 양자화부는 51. The method of claim 50, wherein the transform and quantization unit
    양자화 간격 정보가 상기 제어부로부터 제공되는 경우에는 제공된 양자화 간격 정보에 상응하여 양자화를 수행하는 것을 특징으로 하는 분산 비디오 부호화 장치. And if quantization interval information is provided from the controller, quantization is performed according to the provided quantization interval information.
  52. 복수의 분산 비디오 부호화 장치의 부호화 방법에 있어서, In the encoding method of a plurality of distributed video encoding apparatuses,
    촬영된 영상을 상기 복수의 분산 비디오 부호화 장치를 이용해 분산 비디오 부호화를 수행하는 단계; 및Performing distributed video encoding on the captured image using the plurality of distributed video encoding apparatuses; And
    상기 분산 비디오 부호화를 수행한 영상 데이터를 소정의 통신 채널을 통해 분산 비디오 복호화부에 전송하는 단계를 포함하고,Transmitting the video data on which the distributed video encoding has been performed to a distributed video decoder through a predetermined communication channel,
    상기 복수의 분산 비디오 부호화 장치에 중 적어도 하나에서 수행되는 분산 비디오 부호화는,Distributed video encoding performed on at least one of the plurality of distributed video encoding apparatuses may include:
    제1 프레임 및 제2 프레임으로 구분되어 입력되는 이미지를 부호화하는 분산 비디오 부호화 방법으로써, A distributed video encoding method for encoding an input image divided into a first frame and a second frame,
    상기 제1 프레임을 부호화하고 부호화된 제1 프레임을 전송하는 단계;Encoding the first frame and transmitting an encoded first frame;
    분산 비디오 복호화 장치로부터 움직임 벡터를 제공받는 단계;Receiving a motion vector from a distributed video decoding apparatus;
    제공된 상기 움직임 벡터에 기초하여 상기 제2 프레임에 상응하는 보조 정보를 생성하는 단계;Generating auxiliary information corresponding to the second frame based on the provided motion vector;
    생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계; 및Obtaining a prediction error of the auxiliary information based on the generated auxiliary information and the second frame; And
    획득한 상기 예측 오차에 기초하여 상기 제2 프레임을 양자화하는 단계를 포함하는 분산 비디오 부호화 방법.And quantizing the second frame based on the obtained prediction error.
  53. 제52항에 있어서, 상기 분산 비디오 부호화 방법은, The method of claim 52, wherein the distributed video encoding method is
    입력된 상기 제2 프레임을 변환(transform)하는 단계; Transforming the input second frame;
    상기 보조 정보가 생성된 후, 생성된 상기 보조 정보를 변환하는 단계; 및 After the auxiliary information is generated, converting the generated auxiliary information; And
    상기 제2 프레임이 양자화된 후, 양자화된 상기 제2 프레임에 대해 채널 부호화를 수행하여 패리티 비트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 분산 비디오 부호화 방법. And after the second frame is quantized, generating parity bits by performing channel encoding on the quantized second frame.
  54. 제53항에 있어서, 상기 생성된 상기 보조 정보 및 상기 제2 프레임에 기초하여 상기 보조 정보의 예측 오차를 획득하는 단계는,The method of claim 53, wherein the obtaining of the prediction error of the auxiliary information based on the generated auxiliary information and the second frame comprises:
    변환된 상기 보조 정보 및 변환된 상기 제2 프레임에 기초하여 상기 예측 오차를 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.And obtaining the prediction error based on the transformed auxiliary information and the transformed second frame.
  55. 제52항에 있어서, 상기 복수의 분산 비디오 부호화 장치는, The apparatus of claim 52, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나는 피사체의 깊이 정보를 얻기 위한 깊이 영상 촬영 장치로 사용되고 상기 깊이 영상 촬영 장치를 제외한 상기 복수의 분산 비디오 부호화 장치는 상기 피사체를 복수의 시점에서 촬영하여, 상기 깊이 영상 촬영 장치로부터 제공된 상기 깊이 정보와 상기 복수의 시점에서 촬영한 상기 피사체에 연관된 영상 정보에 기초하여 상기 피사체의 3차원 영상을 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.At least one of the plurality of distributed video encoding apparatuses may be used as a depth image capturing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image capturing apparatus may photograph the subject at a plurality of viewpoints, And obtaining a 3D image of the subject based on the depth information provided from the depth image photographing apparatus and the image information associated with the subject photographed at the plurality of viewpoints.
  56. 제52항에 있어서, 상기 복수의 분산 비디오 부호화 장치는, The apparatus of claim 52, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나에 화재여부를 감지하는 소정의 센서를 포함하고, 상기 복수의 분산 비디오 부호화 장치에서 촬영된 영상 데이터 및 상기 센서에서 제공된 화재 여부 판단 데이터를 무선 네트워크를 이용해 송신하는 것을 특징으로 하는 분산 비디오 부호화 방법. At least one of the plurality of distributed video encoding apparatus comprises a predetermined sensor for detecting whether there is a fire, and transmits the image data photographed by the plurality of distributed video encoding apparatus and the fire determination data provided by the sensor using a wireless network Distributed video encoding method.
  57. 제52항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,The apparatus of claim 52, wherein the plurality of distributed video encoding apparatuses are
    복수의 촬영 시점에 따른 개별적인 영상을 촬영하여 상기 촬영된 개별적인 영상은 분산 비디오 복호화 방법에 의해 복호화되어 복수의 화면을 가지는 멀티뷰 화면으로 제공되거나, 특정한 제어 신호에 의해 상기 촬영된 영상 중 일부만 제공되는 것을 특징으로 하는 분산 비디오 부호화 방법. The individual images captured by capturing individual images according to a plurality of photographing viewpoints are decoded by a distributed video decoding method to be provided as a multi-view screen having a plurality of screens, or only a part of the photographed images are provided by a specific control signal. Distributed video encoding method, characterized in that.
  58. 제52항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,The apparatus of claim 52, wherein the plurality of distributed video encoding apparatuses are
    감시 지역에 피감시자가 등장하면 상기 복수의 분산 비디오 부호화 장치에 장착된 동작 센서에 의해 움직임이 감지되어 상기 분산 비디오 부호화 장치가 동작하기 시작하고, 상기 복수의 분산 비디오 부호화 장치에 분산 비디오 부호화를 디용해 무선 센서 네트워크 망에서 전송 가능하게 압축되고, 압축된 데이터는 상기 복수의 분산 비디오 부호화 장치에 포함된 무선통신모듈에 의해 무선 센서 네트워크 망을 통해 라우터로 송수신한 후에, 상기 라우터에서 게이트웨이로 송수신하고 상기 게이트웨이까지 전송된 영상 데이터는 이더넷 망을 통해 서버로 송수신 하는 것을 특징으로 하는 분산 비디오 부호화 장치. When a monitored person appears in a surveillance area, motion is detected by motion sensors mounted on the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatus starts to operate, and distributed video encoding is decoded to the plurality of distributed video encoding apparatuses. The compressed data is compressed to be transmitted in a wireless sensor network, and the compressed data is transmitted and received to a router through a wireless sensor network through a wireless communication module included in the plurality of distributed video encoding apparatuses, and then transmitted and received from the router to a gateway. Distributed video encoding apparatus characterized in that the image data transmitted to the gateway is transmitted and received to the server via the Ethernet network.
  59. 제52항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,The apparatus of claim 52, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나를 적외선 영상 촬영 장치로 사용하여 소정의 피사체의 적외선 영상을 획득하고, 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나로 촬영한 영상과 상기 적외선 영상의 화질 선명도를 비교하여 상기 피사체의 위조 여부를 검출하는 것을 특징으로 하는 분산 비디오 부호화 장치.Obtain an infrared image of a predetermined subject using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and compare the image quality sharpness of the image captured with at least one of the plurality of distributed video encoding apparatuses with the infrared image. And detecting whether the object is counterfeit.
  60. 복수의 영상 촬영 장치를 사용한 영상 부호화 방법에 있어서, In the video encoding method using a plurality of video recording apparatus,
    상기 복수의 영상 촬영 장치에 포함된 분산 비디오 부호화부를 이용해 촬영된 영상에 대해 분산 비디오 부호화를 수행하는 단계; 및Performing distributed video encoding on an image photographed using a distributed video encoder included in the plurality of image capturing apparatuses; And
    상기 분산 비디오 부호화를 수행한 영상 데이터를 소정의 통신 채널을 통해 분산 비디오 복호화부에 전송하는 단계를 포함하고, Transmitting the video data on which the distributed video encoding has been performed to a distributed video decoder through a predetermined communication channel,
    상기 복수의 분산 비디오 부호화 장치에 중 적어도 하나에서 수행되는 분산 비디오 부호화는, Distributed video encoding performed on at least one of the plurality of distributed video encoding apparatuses may include:
    채널 상황을 확인하는 단계;Checking channel status;
    확인된 채널 상황에 기초하여 채널 부호화율 및 전송할 비디오 데이터 크기를 결정하는 단계;Determining a channel coding rate and a size of video data to be transmitted based on the identified channel condition;
    결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수 조절 및 양자화 간격 조절 중 적어도 하나의 방법을 비디오 데이터 크기를 조절하기 위한 방법으로 결정하는 단계;Determining at least one method of adjusting the number of motion prediction steps and adjusting the quantization interval based on the determined size of the video data to be transmitted as a method for adjusting the size of video data;
    결정된 비디오 데이터 크기 조절 방법에 따라 전송할 비디오 데이터의 부호화를 수행하는 단계; 및Performing encoding of video data to be transmitted according to the determined video data size adjusting method; And
    결정된 상기 채널 부호화율에 상응하여 상기 부호화된 비디오 데이터를 채널 부호화하는 단계를 포함하는 분산 비디오 부호화 방법.And channel coding the encoded video data according to the determined channel coding rate.
  61. 제60항에 있어서, 상기 채널 상황을 확인하는 단계는, 61. The method of claim 60, wherein identifying the channel condition comprises:
    가용 비트율 및 패킷 손실율(PLR)을 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.Distributed video encoding method characterized by obtaining an available bit rate and a packet loss rate (PLR).
  62. 제60항에 있어서, 상기 결정된 상기 전송할 비디오 데이터의 크기에 기초하여 움직임 예측 수행 단계수를 결정하는 단계는,61. The method of claim 60, wherein the determining of the number of motion prediction performing steps based on the determined size of the video data to be transmitted comprises:
    상기 결정된 전송할 비디오 데이터의 크기에 기초하여 TSS(Three Step Search)의 총 단계 중 움직임 예측 수행 단계수를 결정하는 것을 특징으로 하는 분산 비디오 부호화 방법.And determining the number of motion prediction performing steps among the total steps of a three step search (TSS) based on the determined size of video data to be transmitted.
  63. 제60항에 있어서, 상기 결정된 상기 움직임 예측 수행 단계수에 상응하여 움직임 예측을 수행하여 상기 전송할 비디오 데이터를 부호화하는 단계는,61. The method of claim 60, wherein encoding the video data to be transmitted by performing motion prediction corresponding to the determined number of motion prediction steps comprises:
    움직임 예측에 사용된 움직임 벡터 및 움직임 예측 수행 단계수 정보를 분산 비디오 복호화 장치에 제공하는 단계를 더 포함하는 것을 특징으로 하는 분산 비디오 부호화 방법.And providing the distributed video decoding apparatus with the motion vector and the number of motion prediction performance steps used for the motion prediction.
  64. 제60항에 있어서, 상기 복수의 분산 비디오 부호화 장치는, 61. The apparatus of claim 60, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나는 피사체의 깊이 정보를 얻기 위한 깊이 영상 촬영 장치로 사용되고 상기 깊이 영상 촬영 장치를 제외한 상기 복수의 분산 비디오 부호화 장치는 상기 피사체를 복수의 시점에서 촬영하여, 상기 깊이 영상 촬영 장치로부터 제공된 상기 깊이 정보와 상기 복수의 시점에서 촬영한 상기 피사체에 연관된 영상 정보에 기초하여 상기 피사체의 3차원 영상을 획득하는 것을 특징으로 하는 분산 비디오 부호화 방법.At least one of the plurality of distributed video encoding apparatuses may be used as a depth image capturing apparatus for obtaining depth information of a subject, and the plurality of distributed video encoding apparatuses except the depth image capturing apparatus may photograph the subject at a plurality of viewpoints, And obtaining a 3D image of the subject based on the depth information provided from the depth image photographing apparatus and the image information associated with the subject photographed at the plurality of viewpoints.
  65. 제60항에 있어서, 상기 복수의 분산 비디오 부호화 장치는, 61. The apparatus of claim 60, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나에 화재여부를 감지하는 소정의 센서를 포함하고, 상기 복수의 분산 비디오 부호화 장치에서 촬영된 영상 데이터 및 상기 센서에서 제공된 화재 여부 판단 데이터를 무선 네트워크를 이용해 송신하는 것을 특징으로 하는 분산 비디오 부호화 방법. At least one of the plurality of distributed video encoding apparatus comprises a predetermined sensor for detecting whether there is a fire, and transmits the image data photographed by the plurality of distributed video encoding apparatus and the fire determination data provided by the sensor using a wireless network Distributed video encoding method.
  66. 제60항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,61. The apparatus of claim 60, wherein the plurality of distributed video encoding apparatuses are
    복수의 촬영 시점에 따른 개별적인 영상을 촬영하여 상기 촬영된 개별적인 영상은 분산 비디오 복호화 방법에 의해 복호화되어 복수의 화면을 가지는 멀티뷰 화면으로 제공되거나, 특정한 제어 신호에 의해 상기 촬영된 영상 중 일부만 제공되는 것을 특징으로 하는 분산 비디오 부호화 방법. The individual images captured by capturing individual images according to a plurality of photographing viewpoints are decoded by a distributed video decoding method to be provided as a multi-view screen having a plurality of screens, or only a part of the photographed images are provided by a specific control signal. Distributed video encoding method, characterized in that.
  67. 제60항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,61. The apparatus of claim 60, wherein the plurality of distributed video encoding apparatuses are
    감시 지역에 피감시자가 등장하면 상기 복수의 분산 비디오 부호화 장치에 장착된 동작 센서에 의해 움직임이 감지되어 상기 분산 비디오 부호화 장치가 동작하기 시작하고, 상기 복수의 분산 비디오 부호화 장치에 분산 비디오 부호화를 디용해 무선 센서 네트워크 망에서 전송 가능하게 압축되고, 압축된 데이터는 상기 복수의 분산 비디오 부호화 장치에 포함된 무선통신모듈에 의해 무선 센서 네트워크 망을 통해 라우터로 송수신한 후에, 상기 라우터에서 게이트웨이로 송수신하고 상기 게이트웨이까지 전송된 영상 데이터는 이더넷 망을 통해 서버로 송수신 하는 것을 특징으로 하는 분산 비디오 부호화 장치. When a monitored person appears in a surveillance area, motion is detected by motion sensors mounted on the plurality of distributed video encoding apparatuses, and the distributed video encoding apparatus starts to operate, and distributed video encoding is decoded to the plurality of distributed video encoding apparatuses. The compressed data is compressed to be transmitted in a wireless sensor network, and the compressed data is transmitted and received to a router through a wireless sensor network through a wireless communication module included in the plurality of distributed video encoding apparatuses, and then transmitted and received from the router to a gateway. Distributed video encoding apparatus characterized in that the image data transmitted to the gateway is transmitted and received to the server via the Ethernet network.
  68. 제60항에 있어서, 상기 복수의 분산 비디오 부호화 장치는,61. The apparatus of claim 60, wherein the plurality of distributed video encoding apparatuses are
    상기 복수의 분산 비디오 부호화 장치 중 적어도 하나를 적외선 영상 촬영 장치로 사용하여 소정의 피사체의 적외선 영상을 획득하고, 상기 복수의 분산 비디오 부호화 장치 중 적어도 하나로 촬영한 영상과 상기 적외선 영상의 화질 선명도를 비교하여 상기 피사체의 위조 여부를 검출하는 것을 특징으로 하는 분산 비디오 부호화 장치.Obtain an infrared image of a predetermined subject using at least one of the plurality of distributed video encoding apparatuses as an infrared image photographing apparatus, and compare the image quality sharpness of the image captured with at least one of the plurality of distributed video encoding apparatuses with the infrared image. And detecting whether the object is counterfeit.
PCT/KR2011/000194 2010-01-11 2011-01-11 Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus WO2011084037A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/521,552 US9210436B2 (en) 2010-01-11 2011-01-11 Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR1020100002080A KR101074919B1 (en) 2009-01-09 2010-01-11 Apparatuses and methods of decoding distributed video coded video
KR10-2010-0002080 2010-01-11
KR10-2010-0002926 2010-01-13
KR20100002926 2010-01-13
KR10-2010-0012743 2010-02-11
KR1020100012743A KR101059318B1 (en) 2010-01-13 2010-02-11 Distributed video encoding / decoding method, distributed video encoding / decoding device, and transform encoding device
KR10-2010-0026598 2010-03-25
KR1020100026598A KR101103974B1 (en) 2010-03-25 2010-03-25 Methods and apparatus for encoding/decoding in distributed video coding

Publications (2)

Publication Number Publication Date
WO2011084037A2 true WO2011084037A2 (en) 2011-07-14
WO2011084037A3 WO2011084037A3 (en) 2011-11-10

Family

ID=44305994

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000194 WO2011084037A2 (en) 2010-01-11 2011-01-11 Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus

Country Status (1)

Country Link
WO (1) WO2011084037A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016099116A1 (en) * 2014-12-17 2016-06-23 상명대학교 서울산학협력단 Apparatus and method for providing object-oriented personalized broadcasting and, medium in which metadata therefor is stored
CN114466206A (en) * 2022-01-04 2022-05-10 北京快乐茄信息技术有限公司 Live broadcast data processing method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920020461A (en) * 1991-04-06 1992-11-21 이헌조 Motion vector detection method of video signal and its device
KR100728031B1 (en) * 2006-01-23 2007-06-14 삼성전자주식회사 Method and apparatus for deciding encoding mode for variable block size motion estimation
KR20070084686A (en) * 2006-02-21 2007-08-27 (주)씨앤에스 테크놀로지 Fast multiple reference frame selection method in motion estimation for h.264 video encoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920020461A (en) * 1991-04-06 1992-11-21 이헌조 Motion vector detection method of video signal and its device
KR100728031B1 (en) * 2006-01-23 2007-06-14 삼성전자주식회사 Method and apparatus for deciding encoding mode for variable block size motion estimation
KR20070084686A (en) * 2006-02-21 2007-08-27 (주)씨앤에스 테크놀로지 Fast multiple reference frame selection method in motion estimation for h.264 video encoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016099116A1 (en) * 2014-12-17 2016-06-23 상명대학교 서울산학협력단 Apparatus and method for providing object-oriented personalized broadcasting and, medium in which metadata therefor is stored
CN114466206A (en) * 2022-01-04 2022-05-10 北京快乐茄信息技术有限公司 Live broadcast data processing method and device, electronic equipment and storage medium
CN114466206B (en) * 2022-01-04 2024-03-15 北京快乐茄信息技术有限公司 Live broadcast data processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
WO2011084037A3 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
WO2020180155A1 (en) Method and apparatus for processing video signal
WO2018048078A1 (en) Method for encoding/decoding synchronized multi-view image using spatial structure information, and apparatus therefor
WO2015137783A1 (en) Method and device for configuring merge candidate list for decoding and encoding of interlayer video
WO2015152608A4 (en) Interlayer video decoding method for performing sub-block-based prediction and apparatus therefor, and interlayer video encoding method for performing sub-block-based prediction and apparatus therefor
WO2021177652A1 (en) Image encoding/decoding method and device for performing feature quantization/de-quantization, and recording medium for storing bitstream
WO2014109594A1 (en) Method for encoding inter-layer video for compensating luminance difference and device therefor, and method for decoding video and device therefor
WO2020055161A1 (en) Image decoding method and apparatus based on motion prediction in sub-block unit in image coding system
WO2016117930A1 (en) Method and apparatus for decoding inter-layer video, and method and apparatus for encoding inter-layer video
WO2020055107A1 (en) Affine motion prediction-based image decoding method and apparatus using affine mvp candidate list in image coding system
WO2019027286A1 (en) Method and apparatus for processing video signal using affine prediction
WO2020180129A1 (en) Method and device for processing video signal for inter-prediction
WO2020184952A1 (en) Video signal processing method and device for processing motion vector difference information for inter prediction in video signal
WO2015093920A1 (en) Interlayer video encoding method using brightness compensation and device thereof, and video decoding method and device thereof
WO2020184964A1 (en) Method and apparatus for video signal processing for inter prediction
WO2021172881A1 (en) Inter-prediction-based image encoding/decoding method and apparatus, and recording medium storing bitstream
WO2021006579A1 (en) Video encoding/decoding method and device for deriving weight index for bidirectional prediction of merge candidate, and method for transmitting bitstream
WO2020251269A1 (en) Image decoding method and device therefor
WO2020050695A1 (en) Motion prediction-based image decoding method and apparatus using merge candidate list in image coding system
WO2015137789A1 (en) Multi-layer video encoding method and multi-layer video decoding method using depth block
WO2015137780A1 (en) Multi-layer video encoding method and multi-layer video decoding method using pattern information
WO2015005754A1 (en) Method and apparatus for inter-layer decoding video using view synthesis prediction, and method and apparatus for inter-layer encoding video using view synthesis prediction
WO2014163453A1 (en) Interlayer video encoding method and apparatus and interlayer video decoding method and apparatus for compensating luminance difference
WO2021162446A1 (en) Method and apparatus for streaming vr image
WO2021060834A1 (en) Method and device for subpicture-based image encoding/decoding, and method for transmitting bitstream
WO2015137723A1 (en) Disparity vector predicting method and apparatus for encoding inter-layer video, and disparity vector predicting method and apparatus for decoding inter-layer video

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11731975

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13521552

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11731975

Country of ref document: EP

Kind code of ref document: A2