WO2012005544A2 - 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 - Google Patents
블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 Download PDFInfo
- Publication number
- WO2012005544A2 WO2012005544A2 PCT/KR2011/005024 KR2011005024W WO2012005544A2 WO 2012005544 A2 WO2012005544 A2 WO 2012005544A2 KR 2011005024 W KR2011005024 W KR 2011005024W WO 2012005544 A2 WO2012005544 A2 WO 2012005544A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- fec
- block
- priority
- priority buffer
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6306—Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6356—Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
Definitions
- the following embodiments are directed to a method and apparatus for recovering data loss.
- a method and apparatus for recovering burst data loss by overlapping block code symbols is disclosed.
- the error correction technique additionally generates parity data for error correction such as forward error correction (FEC) and transmits the parity data to the receiving terminal, thereby allowing the receiving terminal to recover lost data.
- FEC forward error correction
- a transmitting server collects IP packets carrying encoded video, voice, and text data in symbol units to form a single FEC source block.
- the FEC parity is then calculated for the data of the collected FEC source blocks.
- the calculated FEC parity data and IP data packets are each independently transmitted on separate logical channels.
- the receiving terminal uses a block coding error correction scheme for recovering lost IP packets using the received FEC parity data.
- the loss recovery capability of the error correction techniques described above is usually proportional to the amount of parity data generated.
- an encoding apparatus and method for applying block code symbols repeatedly may be provided.
- a decoding apparatus and method for recovering data loss using redundant block code symbols may be provided.
- a low-priority buffer, a high-priority buffer, a data stream indicated by importance are received, time information is displayed on the data stream, and the data stream is low-priority according to the importance.
- a priority classifier for classifying and storing a priority buffer and a high-priority buffer, and extracting data of the same first time zone from the low-priority buffer and the high-priority buffer, respectively, to forward error collection (FEC).
- FEC forward error collection
- a FEC encoding apparatus for constructing a source block, extracting data of a second time zone different from the first time zone from the high-priority buffer, and adding the same to the FEC source block to perform encoding calculation for generating FEC parity data.
- the second time zone may be a time zone that is L time earlier than the first time zone or a time zone that is late by the L time relative to the first time zone.
- the L may be the maximum length to recover the data of high importance from successive burst loss.
- the data of the low-priority buffer and the high-priority buffer may be buffered for at least the L time.
- the second time zone may be a time zone that is L time earlier than the first time zone and a time zone that is later than the first time zone by L time.
- the FEC encoder may transmit the data of the low-priority buffer by an L time delay from the data of the high-priority buffer.
- the FEC encoder may indicate a block identifier in the output data constituting the block and the FEC parity data, and the high importance data in the high-priority buffer added in duplicate to two or more of the blocks may include two or more pieces of data. May be indicated by block identifiers.
- the FEC encoder may output the output data indicated by the block identifier and the FEC parity data in order.
- the data stream may be a scalable video coding stream
- the data of the high-priority buffer may be base frame data
- the data of the low-priority buffer may be enhancement frame data.
- a low-priority buffer, a high-priority buffer, a forward error collection (FEC) buffer, a data stream in which importance and a block identifier are displayed, and FEC data are received.
- a priority classifier for displaying time information in the FEC data, classifying and storing the data stream in the low-priority buffer and the high-priority buffer, and storing the FEC data in an FEC buffer and the low-priority
- a FEC decoder for constructing and decoding an FEC block based on data of a priority buffer, data of the high-priority buffer, and the FEC data, wherein the FEC decoder detects lost data in a first time zone The block to be used for loss recovery using the block identifier information of the unlost data of the first time zone.
- Infer an identifier fetch all intact data corresponding to the inferred block identifier from the low-priority buffer and the high-priority buffer, and remove all corruptions corresponding to the inferred block identifier from the FEC buffer.
- a decoding apparatus for extracting FEC data that is not present to form the FEC block, and performing the FEC decoding by performing an FEC decoding calculation on the FEC block.
- the FEC decoder infers the block identifier of a second time zone that is different from the first time zone, and fetches all intact data corresponding to the inferred block identifier from the low-priority buffer and the high-priority buffer.
- the FEC block may be configured to extract all intact FEC data corresponding to the inferred block identifier from the FEC buffer to construct the FEC block, and perform FEC decoding on the FEC block to recover the lost data.
- the second time zone may be a time zone that is L time earlier than the first time zone or a time zone that is late by the L time relative to the first time zone.
- the L may be the maximum length that the decoding apparatus wants to recover data of high importance from consecutive burst loss.
- the data of the low-priority buffer and the high-priority buffer may be buffered for at least L hours, and the FEC data of the FEC buffer may be buffered for at least the L time.
- the low priority data stored in the low-priority buffer may be transmitted with a delay of at least L time compared to the high priority data stored in the high-priority buffer, and the data of the high-priority buffer may be It can be buffered for more than time.
- the FEC decoder fetches a block identifier of the input data by further buffering the data stream and the FEC data by the L time, and extracts the block identifier of the input data from the low-priority buffer, the high-priority buffer and the FEC buffer.
- the FEC block may be constructed by extracting all undamaged data and FEC data corresponding to the block identifier, and the lost data may be recovered by performing decoding on the FEC block.
- the second time zone may be a time zone that is L time earlier than the first time zone and a time zone that is later than the first time zone by L time.
- an operation for receiving a data stream indicated by importance, displaying time information on the data stream, and a low-priority buffer and high-based data stream on which the time information is displayed according to the importance Classifying and storing the data into a priority buffer, extracting data of a specific time zone from the low-priority buffer and the high-priority buffer, and configuring a Forward Error Collection (FEC) source block; -Extracting L time preceding or L time trailing data from the priority buffer to the FEC source block, calculating FEC parity data of the FEC source block, and the FEC source block and the An encoding method is provided, which includes an operation of outputting FEC parity data.
- FEC Forward Error Collection
- an encoding apparatus and a method for applying block code symbols redundantly.
- a decoding apparatus and method are provided for recovering data loss using redundant block code symbols.
- FIG. 1 illustrates a frame reference structure of a layered SVC stream according to an embodiment of the present invention.
- FIG. 2 is a structural diagram of a block coding encoding apparatus according to an embodiment of the present invention.
- FIG. 3 is a timing diagram illustrating a FEC block encoding method according to an embodiment of the present invention.
- FIG. 4 is a structural diagram of a block coding decoding apparatus according to an embodiment of the present invention.
- FIG. 5 is a timing diagram illustrating a FEC block decoding method according to an embodiment of the present invention.
- FIG. 6 is a timing diagram illustrating an FEC block decoding method using interleaving according to an embodiment of the present invention.
- FIG. 7 is a flowchart illustrating an operation of the block coding encoding apparatus 200 according to an embodiment of the present invention.
- FIG. 8 is a flowchart illustrating an operation of a block coding decoding apparatus 400 according to an embodiment of the present invention.
- FIG. 1 illustrates a frame reference structure of a layered SVC stream according to an embodiment of the present invention.
- the scalable video coding (SVC) technology standardized in the Joint Video Team (JVT) of ITU-T and ISO / IEC JTC 1 enables the conversion of video frames into low bit rate base frames.
- the video coding method comprises a stream composed of enhancement frames hierarchized in various steps referring to the base frames.
- FIG. 1 an interframe reference relationship of a video stream divided into two layers and layered using SVC technology is illustrated.
- base frames 120 having a low bit rate but high importance may be independently decoded.
- enhancement frames 110 cannot be decoded without base frame information.
- Enhancement frames 110 that directly or indirectly refer to N may not be fully decoded.
- the base frame 120 having a low bit rate is most important.
- the base frame 120 is enhanced by adding a large proportion of the parity data to the base frame 120 having a low bit rate but a high importance. It can be more robust against loss than (110).
- this method also adds and limits the recovery performance in proportion to the amount of parity data transmitted. Therefore, in order to prepare for a situation such as link outage where data loss occurs continuously, a problem such as a large amount of parity data must be transmitted may occur.
- FIG. 2 is a structural diagram of a block coding encoding apparatus according to an embodiment of the present invention.
- the block coding encoding apparatus 200 may include a priority classifier 210, a low-priority buffer 220, a high-priority buffer 230, and an FEC encoder 240. ).
- the priority classifier 210 receives a data stream 250 indicating importance from the outside.
- the data stream 250 may include I frames, B frames, and P frames.
- Data stream 250 may be separated according to priority.
- Data stream 250 includes low-priority low-priority data and high-priority high-priority data.
- the data stream 250 may be a scalable video coding (SVC) stream hierarchically separated, the high importance data may be base frame data, and the low importance data is an enhancement frame. Data.
- the data stream 250 may be a multimedia stream in which voice and video are mixed, and the data having high importance may be a voice stream.
- the data stream 250 may be a 3D stream in which left and right images are separated, and the data having high importance may be one piece of image data having high importance.
- the priority classifier 210 displays time information on the received data stream, and classifies and stores the data stream into an internal low-priority buffer 220 and a high-priority buffer 230 (according to importance). .
- the low-priority buffer 220 may store data of low importance in the data stream.
- the high-priority buffer 220 may store high importance data in the data stream.
- FEC encoder 240 fetches data from low-priority buffer 220 and high-priority buffer 230, respectively.
- the high importance data fetched from the low-priority buffer 220 and the low importance data fetched from the high-priority buffer 230 may be data of the same first time zone.
- the FEC encoder 240 constructs an FEC source block for FEC calculation using the extracted data.
- the FEC encoder 240 further fetches data of high importance in a second time zone different from the first time zone in the high-priority buffer 230 and adds it to the FEC source block.
- the FEC encoder 240 uses encoding calculations for generating FEC parity data using the FEC source block.
- high priority data stored in the high-priority buffer 230 is included in the FEC block twice. That is, data of high importance is included in the FEC block twice, and encoding calculation is performed.
- the second time zone may be a time zone that is L time earlier than the first time zone. This is called post-duplicate calculation.
- the second time zone may be a time zone that is L time later than the first time zone. This is called transposition redundancy calculation.
- the second time zone may be a time zone that is L time earlier than the first time zone and a time zone that is L time later than the first time zone. That is, the FEC encoder 240 further fetches the data of high importance in the time zone that is L time earlier in the first time zone and the data of high importance in the time zone that is late by L time in the first time zone in the high-priority buffer 230. Can be added to the FEC source block.
- the time value L may be the maximum length to which data of high importance is to be recovered from successive burst losses. That is, for the FEC block configuration, the data of the low-priority buffer 220 and the high-priority buffer 230 may be buffered for at least L hours.
- the FEC encoder 240 displays a block identifier in the data constituting the block and the calculated FEC parity data. Therefore, the data of high importance calculated by overlapping addition of two or more blocks is represented by two or more block identifiers.
- the FEC encoder 240 outputs the output data 260 in which the block identifier is indicated and the FEC parity data 270 in which the block identifier is indicated in order.
- the FEC encoder 240 may be configured by applying an interleaving method. That is, the FEC encoder 240 may delay and transmit data having low importance of the low-priority buffer 220 by L time than data having high importance of the high-priority buffer 230. As a result, the buffering burden of the receiving terminal can be reduced.
- FIG. 3 is a timing diagram illustrating a FEC block encoding method according to an embodiment of the present invention.
- FIG. 3 a method in which the FEC encoder 240 of the block coding encoding apparatus 200 performs FEC block encoding is described in the form of a logical timing diagram.
- the FEC encoder 240 fetches the data of i11 and p12 from the low-priority buffer 220 and the data of I11, B12 , P13 and B14 from the high-priority buffer 230 during the time interval t1 to t4 . To extract the FEC source block for performing FEC block coding.
- the FEC encoder 240 fetches i31 and p32 of high importance data after L time and adds it to the FEC source block in the high-priority buffer 230 when 'prediction redundancy calculation' is set. Perform FEC encoding calculation.
- i31 and p32 which are data of high importance in the high-priority buffer 230, overlap with both the first FEC block 310 and the second FEC block 320 before and after L time. Included.
- FEC encoder 240 and 'post double counting "is set if, for the time period t17 to t20 in the drawing the data of I51, B52, P53, B54, i51 and p52 constitute a FEC source block.
- the FEC encoder 240 fetches i31 and p32 , which are high priority data L-time earlier in the high-priority buffer 230, adds them to the FEC source block and performs FEC encoding calculation.
- i31 and p32 which are the data of high importance of the high-priority buffer 230, overlap with both the second FEC block 320 and the third FEC block 330 before and after L time. Included.
- i31 and p32 which are data of high importance of the high-priority buffer 230, in performing block encoding calculation, are the first FEC blocks 310 before and after L time.
- the second FEC block 320 and the third FEC block 330 are all included in duplicate.
- FIG. 4 is a structural diagram of a block coding decoding apparatus according to an embodiment of the present invention.
- the block coding decoding apparatus 400 includes a priority classifier 410, a low-priority buffer 420, a high-priority buffer 430, an FEC buffer 440, and an FEC decoder 450.
- the priority classifier 410 receives input data (ie, data stream) 260 and FEC data 270 from the outside.
- the input data 260 and the FEC data 270 are marked with importance and block identifier, respectively.
- the priority classifier 410 displays time information on the received data stream 260 and the FEC data 270.
- the priority classifier 410 classifies and stores the data stream in which the time information is displayed in the low-priority buffer 420 and the high-priority buffer 430, and stores the FEC data in which the time information is displayed in the FEC buffer 440. Save it.
- the data stored in the low-priority buffer 420 is low importance data
- the data stored in the high-priority buffer 430 is high importance data.
- the data of the low-priority buffer 420, the high-priority buffer 430, and the FEC buffer 440 are buffered for at least L time for FEC block configuration. That is, the data of the low-priority buffer, the data of the high-priority buffer, and the FEC data of the FEC buffer 440 are buffered for at least L hours.
- interleaving may be applied to the FEC decoder 450 or the block coding decoding apparatus 400. That is, in the data 260 input from the outside of the block coding encoding apparatus 400, data having low importance may be transmitted by being delayed for more than L time compared to data having high importance. In this case, since only the data of high importance of the high-priority buffer 430 is buffered for L time or more, the buffering burden of the fishery terminal including or using the block coding decoding apparatus 400 may be reduced.
- the FEC decoder 430 configures and decodes the FEC block based on the data of the low-priority buffer 420, the data of the high-priority buffer 430, and the FEC data.
- the result of the decoding is output as the stream data 460 by the FEC decoder 430.
- the FEC decoder 450 may include data lost from input data (eg, data in the low-priority buffer 420, data in the high-priority buffer 430, FEC data, or data input from outside 260). If is detected, recover the lost data by performing FEC decryption.
- the first time zone is a time zone in which the lost data corresponds.
- the FEC decoder 450 may determine the first data among the unlost data (eg, data of the low-priority buffer 420, data of the high-priority buffer 430, and FEC data).
- the block identifier is inferred only when it is used for loss recovery by using the block identifier information of the time lost data).
- the FEC decoder 450 can determine all the intact data corresponding to the block identifier inferred from the low-priority buffer 420 and the high-priority buffer 430 (ie, high importance data). And low-importance data), and extracts all intact FEC data corresponding to the block identifier inferred from the FEC buffer 440, constructs an FEC block based on the retrieved data and the FEC data, and decodes the FEC. Do this.
- the FEC decoder 430 recovers data lost by the decryption.
- the lost data may be recovered by the following method.
- the FEC decoder 450 infers a block identifier of a second time zone that is different from the first time zone, and extracts all intact data corresponding to the block identifier inferred from the low-priority buffer 420 and the high-priority buffer.
- the lost data can be recovered by fetching, extracting all intact FEC data corresponding to the block identifier inferred from the FEC buffer, constructing the FEC block, and performing FEC decoding on the configured FEC block.
- the second time zone may be a time zone that is L time earlier than the first time zone or a time zone that is late by the L time relative to the first time zone.
- the second time zone may be a time zone that is L time earlier than the first time zone and a time zone that is late by the L time relative to the first time zone.
- L is the maximum length that the block coded decoding apparatus 400 wants to recover data of high importance from consecutive burst loss.
- the second time zone is L time ahead of the first time zone.
- the FEC decoder 450 infers the block identifier preceded by L time, and all intact data corresponding to the block identifier inferred in the low-priority buffer 420 and the high-priority buffer 430. And extract all the undamaged FEC data corresponding to the block identifier inferred from the FEC buffer 440 to construct the FEC block, and perform decoding on the configured FEC block to recover the lost high importance data. Can be.
- the second time zone is L time later than the first time zone.
- the FEC decoder 450 fetches a block identifier of the input data by further buffering the data stream 260 and the FEC data 270 by L time, and the low-priority buffer 420, high-priority.
- the FEC block By constructing the FEC block by extracting all the undamaged data and the FEC data corresponding to the block identifier fetched from the buffer 430 and the FEC buffer 440, and performing the decoding to the configured FEC block, the data of high importance lost Can be recovered
- high priority data often has a chance to be recovered in one FEC block with less damage among two or more FEC blocks, at least L time apart. Therefore, even if continuous data loss occurs on the wired / wireless communication path, a continuous real-time multimedia service of minimum quality can be provided by increasing a recovery rate of high importance data.
- FIG. 5 is a timing diagram illustrating a FEC block decoding method according to an embodiment of the present invention.
- FIG. 5 a method in which the block coding decoding apparatus 400 recovers data of high importance from successive data loss occurring during a time interval of t9 to t12 will be described in the form of a logical timing diagram.
- the FEC decoder 450 detects data loss of I31, B32, P33, B34, i32, and p32 occurring during the times t9 to t12 , configures the second FEC block 520, and attempts to recover the loss. Data recovery failed because of the large amount.
- the FEC decoder 450 Infers the FEC block identifier (eg, the first FEC block 510) of the time zone preceded by L time, I11, B12, P13, B14, i11, p12 and FEC-1 are extracted from the priority buffer 420, the high-priority buffer 430 and the FEC buffer 440 to construct the first FEC block 510.
- An FEC decoding calculation is performed to recover i31 and p32 , which are lost high-value data.
- the FEC decoder 450 When the pre-duplicate calculation is performed in the block coding encoding apparatus 200, the FEC decoder 450 further buffers the data stream 260 and the FEC data 270 for L time, and the low-priority buffer 420. From the high-priority buffer 430 and the FEC buffer 440, I51, B52, P53, B54, i51, p52 and FEC-3 are extracted to form the third FEC block 530 and perform FEC decoding calculation. I31 and p32 , which are lost critical data, are recovered.
- the receiving terminal including or using the block coding decoding apparatus 400 can withstand the loss of continuous input data for L time, the larger L, the larger the amount of data to be buffered by the receiving terminal. Therefore, as L increases, the buffering burden of the receiving terminal increases. However, even if the buffering burden of the receiving terminal increases, the amount of parity data to be used for loss recovery does not increase. Therefore, the transmission bit rate to the receiving terminal does not increase.
- FIG. 6 is a timing diagram illustrating an FEC block decoding method using interleaving according to an embodiment of the present invention.
- the interleaving method is applied to the block coding encoding apparatus 200. That is, the block coding encoding apparatus 200 transmits data having low importance by L time rather than data having high importance.
- the block coding decoding apparatus 400 may recover data having high importance from continuous data loss while reducing the buffering burden.
- the block coding decoding apparatus 400 reduces the overall buffering burden by buffering only the data stored in the high-priority buffer 420 for L time or more.
- the FEC decoder 450 When the FEC decoder 450 detects data loss occurring during the times t9 to t12 , the FEC decoder 450 first fetches data of i31 and p32 previously stored in the high-priority buffer 430 to play the media. By utilizing it to maintain a streaming service of minimal quality.
- the FEC decoder 450 decodes previously stored data of i41 and p42 and newly received data of I41, B42, P43, and B44 for a period of t13 to t16 and utilizes it for normal quality media playback.
- the FEC decoder 450 constructs a third FEC block 630 using the data of I51, B52, P53, B54, i71, p72 and FEC-3 received during the times t17 to t20 and performs FEC decoding calculation. It is lost to recover the high priority data, the i51 and p52. FEC decoder 450 then decodes the recovered utilizing i51 and p52 in normal media playback quality.
- FIG. 7 is a flowchart illustrating an operation of the block coding encoding apparatus 200 according to an embodiment of the present invention.
- data ie, data stream 250 indicated by importance
- Time information is displayed on the input data, and the priority of the input data is classified.
- input data is buffered. That is, data streams in which time information is displayed are classified into low-priority buffers 220 and high-priority buffers 230 and stored according to importance.
- an FEC source block is configured. Data of a specific time zone is fetched from the low-priority buffer 220 and the high-priority buffer 230, and an FEC source block is configured based on the data of the specific time zone fetched.
- high priority data i.e., high-priority data
- L the high-priority buffer
- FEC parity for the FEC source block is calculated.
- block identifiers are indicated in the data and FEC parity that make up the FEC source block.
- the low importance data ie, low-priority data
- the low importance data is delayed L time.
- stream data ie, output data 260 with block identifiers
- FEC data ie, FEC parity data 270 with block identifiers
- FIG. 8 is a flowchart illustrating an operation of a block coding decoding apparatus 400 according to an embodiment of the present invention.
- data stream 260 and FEC parity data 270 indicative of importance and block identifier are input as input data.
- the priority of the input data is classified.
- Time information may be displayed in the data stream 260 and the FEC data 270.
- input data is buffered. That is, the data stream 260 is classified and stored in the low-priority buffer 420 and the high-priority buffer 430, and the FEC data is stored in the FEC buffer 440.
- operation 820 it is checked whether data has been lost. If no data loss is detected, the following operation 895 is performed. If data loss is detected, the following operation 830 is performed.
- a first block identifier is retrieved.
- the FEC source block is constructed and decoded. That is, an FEC block is configured based on the data of the low-priority buffer 420 and the high-priority buffer 430 and the FEC data. FEC decoding calculation is performed on the configured FEC block.
- operation 895 If FEC decoding calculation can be performed with the constructed FEC block, operation 895 is performed. If data recovery is needed, operation 850 is performed.
- operation 855 data is fetched from high-priority buffer 430, and operation 895 is performed.
- operation 860 is performed.
- operation 860 a duplicate calculation method is selected. If post-duplicate calculations are performed, operation 865 is performed. If transposition redundancy calculation is performed, operation 870 is performed.
- a second block identifier is retrieved L time preceding the first block identifier of operation 830.
- a second block identifier is retrieved.
- data corresponding to the second block identifier is retrieved from the low-priority buffer 420, the high-priority buffer 430, and the FEC buffer 440 to form an FEC block.
- FEC decoding calculation is performed on the configured FEC block.
- operation 895 is performed, and if data recovery is not completed, the procedure ends.
- stream data 460 is output.
- the data stream 260 input from the outside to the block coding decoding apparatus 400 is a hierarchically separated SVC stream, continuous data by applying base frame data of high importance to pre-duplicate calculation or post-duplicate calculation. If a loss occurs, the base frame may be recovered to maintain a service of at least low image quality.
- the data stream 260 input from the outside to the block coding decoding apparatus 400 is a multimedia stream in which voice and video are mixed, continuous data by applying high importance voice data to pre-duplicate calculation or post-duplicate calculation. In the event of a loss, the voice data can be recovered to maintain a minimum uninterrupted voice service.
- At least one piece of image data having high importance may be reproduced without interruption.
- Method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium.
- the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
블록 코딩이 적용된 부호화 및 복호화를 위한 방법 및 장치가 제공된다. 블록 코딩 부호화 및 복호화를 위한 방법 및 장치에 의해 유무선 전송로에서 연속된 데이터 손실이 발생하더라도, 중요도가 높은 데이터를 신뢰성 있게 복구함으로써 최소한의 품질의 끊김 없는 서비스가 제공될 수 있다. 중요도가 높은 데이터는 전치 중복 계산 또는 후치 중복 계산된다. 손실된 특정한 시간대의 데이터는 다른 시간대의 중복된 데이터에 의해 복구될 수 있다.
Description
아래의 실시예들은 데이터 손실을 복구하는 방법 및 장치에 관한 것이다.
블록 코드 심볼을 중복함으로써 버스트 데이터 손실을 복구하는 방법 및 장치가 개시된다.
이동 통신망 혹은 이동 방송망 등을 통해, 음성 및 영상 등 실시간 스트리밍 형태의 무선 데이터가 전송될 때, 단말이 이동중 전파 음영 지역 등(예컨대, 전파 수신 채널 상태가 열악한 터널 등)을 지날 경우 연속적인 데이터 손실이 발생하여 일시적인 서비스 중단 현상이 나타날 수 있다.
이러한 방송 수신 단말의 지속적인 데이터 손실로 인한 서비스 품질 저하를 극복하기 위한 기술로서 다양한 오류 정정 기법이 널리 사용된다.
오류 정정 기법은 FEC(Forward Error Correction) 등의 오류 정정을 위한 패리티 데이터를 부가적으로 생성하여 수신 단말로 전송함으로써, 수신 단말이 손실된 데이터를 복구할 수 있게 한다.
예컨대, 3GPP 에서 표준화된 음성 및 영상 멀티미디어 서비스를 위한 FEC 오류 정정 기술의 경우, 송신 서버는 인코딩된 비디오, 음성 및 문자 데이터등을 실은 IP 패킷들을 심볼이라는 단위로 모아 하나의 FEC 소스 블록을 형성 한 후, 수집된 FEC 소스 블록의 데이터에 대해 FEC 패리티를 계산한다. 계산된 FEC 패리티 데이터 및 IP 데이터 패킷은 별개의 논리 채널을 통해 각각 독립적으로 전송된다. 수신 단말은, 전송 오류 등으로 인한 일부 IP 패킷의 손실이 검출된 경우, 수신한 FEC 패리티 데이터를 이용하여 손실된 IP 패킷을 복원하는 블록 코딩 오류 정정 방식을 사용한다.
그러나, 전술된 오류 정정 기법들의 손실 복구 능력은 대개 생성되는 패리티 데이터량에 비례하게 된다.
무선 채널 상에서, 연속되는 버스트 손실 등이 발생하여 다량의 데이터 패킷이 손실되는 경우, 연속되는 버스트 손실로 인해 서비스가 중단되지 않게 하기 위해서는 데이터와 함께 다량의 패리티 데이터가 전송되어야 한다. 다량의 패리티 데이터를 함께 전송하는 것은 전송 비트율을 증가시키고 코딩 효율을 떨어트린다.
특히, 가용 대역폭이 한정된 무선 데이터망의 경우, 패리티 데이터 전송을 위해 지나치게 많은 대역폭이 할당되면, 제공 가능한 비디오 스트림 서비스의 개수를 줄이거나, 비디오 서비스 화질을 낮추어 전송 비트율을 줄여야 하는 문제가 발생한다.
따라서, 패리티 데이터 전송으로 인한 전송 대역폭 소모를 최소화 하면서, 수초 이상 지속되는 링크 아웃티지(outage) 등의 상황에서도 스트리밍 서비스가 지속적으로 보장될 수 있는 서비스 끊김 방지 기술이 요구된다.
본 발명의 일 실시에는 블록 코드 심볼을 중복 적용하는 부호화 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시에는 중복된 블록 코드 심볼을 사용하여 데이터 손실을 복구하는 복호화 장치 및 방법을 제공할 수 있다.
본 발명의 일측에 따르면, 저-우선순위 버퍼, 고-우선순위 버퍼, 중요도가 표시된 데이터 스트림을 입력 받고, 상기 데이터 스트림에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 중요도에 따라 상기 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 우선순위 분류기 및 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 각각 동일한 제1 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하고, 상기 고-우선순위 버퍼에서 상기 제1 시간대와 상이한 제2 시간대의 데이터를 인출하여 상기 FEC 소스 블록에 추가함으로써 FEC 패리티 데이터 생성을 위한 부호화 계산을 수행하는 FEC 부호화 장치가 제공된다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 L은 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다.
상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 상기 L 시간만큼 버퍼링될 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 FEC 부호화기는 상기 저-우선순위 버퍼의 데이터를 상기 고-우선순위 버퍼의 데이터보다 L 시간만큼 지연하여 전송할 수 있다.
상기 FEC 부호화기는 블록을 구성하는 출력 데이터들 및 상기 FEC 패리티 데이터에 블록 식별자를 표시할 수 있고, 2 개 이상의 상기 블록에 중복되어 추가된 상기 고-우선순위 버퍼 내의 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시될 수 있다.
상기 FEC 부호화기는 상기 블록 식별자가 표시된 출력 데이터 및 상기 FEC 패리티 데이터를 순서에 따라 출력할 수 있다.
상기 데이터 스트림은 스케일러블 비디오 코딩 스트림일 수 있고, 상기 고-우선순위 버퍼의 데이터는 베이스 프레임 데이터일 수 있고, 상기 저-우선순위 버퍼의 데이터는 인헨스먼트 프레임 데이터일 수 있다.
본 발명의 다른 일측에 따르면, 저-우선순위 버퍼, 고-우선순위 버퍼, 포워드 오류 정정(Forward Error Collection; FEC) 버퍼, 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받아 상기 데이터 스트림 및 상기 FEC 데이터에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 우선순위분류기 및 상기 저-우선순위 버퍼의 데이터, 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행하는 FEC 복호화기를 포함하고, 상기 FEC 복호화기는 제1 시간대의 손실된 데이터가 검출된 경우, 상기 제1 시간대의 손실되지 않은 데이터의 상기 블록 식별자 정보를 이용하여 손실 복구에 사용되어야 할 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화 계산을 수행함으로써 상기 FEC 복호화를 수행하는, 복호화 장치가 제공된다.
상기 FEC 복호화기는 상기 제1 시간대와 상이한 제2 시간대의 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화를 수행함으로써 상기 손실된 데이터를 복구할 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 L은 상기 복호화 장치가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다.
상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 L 시간 이상 버퍼링될 수 있고, 상기 FEC 버퍼의 FEC 데이터는 최소 상기 L 시간 이상 버퍼링될 수 있다.
상기 저-우선순위 버퍼에 저장되는 중요도가 낮은 데이터는 상기 고-우선순위 버퍼에 저장되는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송될 수 있고, 상기 고-우선순위 버퍼의 데이터는 상기 L 시간 이상 버퍼링될 수 있다.
상기 FEC 복호화기는 상기 L 시간만큼 상기 데이터 스트림 및 상기 FEC 데이터를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼에서 상기 인출된 블록 식별자에 해당하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성할 수 있고, 상기 FEC 블록에 복호화를 수행함으로써 상기 손실된 데이터를 복구할 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
본 발명의 또 다른 일측에 따르면, 중요도가 표시된 데이터 스트림을 입력 받는 동작, 상기 데이터 스트림에 시간 정보를 표시하는 동작, 상기 시간 정보가 표시된 데이터 스트림을 상기 중요도에 따라 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 동작, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 특정 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하는 동작, 상기 고-우선순위 버퍼에서 상기 특정 시간대보다 L 시간 선행 또는 상기 L 시간 후행하는 데이터를 인출하여 상기 FEC 소스 블록에 추가하는 동작, 상기 FEC 소스 블록의 FEC 패리티 데이터를 계산하는 동작 및 상기 FEC 소스 블록 및 상기 FEC 패리티 데이터를 출력하는 동작을 포함하는, 부호화 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받는 동작, 상기 데이터 스트림을 저-우선순위 버퍼 및 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 동작, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하는 동작, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼로부터 L 시간 선행하는 데이터 또는 L 시간 후행하는 데이터를 인출하여 상기 FEC 블록을 구성하는 동작 및 기 FEC 블록에 대한 FEC 복호화 계산을 수행하는 동작을 포함하는, 복호화 방법이 제공된다.
블록 코드 심볼을 중복 적용하는 부호화 장치 및 방법이 제공된다.
중복된 블록 코드 심볼을 사용하여 데이터 손실을 복구하는 복호화 장치 및 방법이 제공된다.
도 1은 본 발명의 일 예에 따른 계층화된 SVC 스트림의 프레임 참조 구조를 도시한다.
도 2는 본 발명의 일 실시예에 따른 블록 코딩 부호화 장치의 구조도이다.
도 3은 본 발명의 일 예에 따른 FEC 블록 인코딩 방법을 나타내는 타이밍 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 블록 코딩 복호화 장치의 구조도이다.
도 5는 본 발명의 일 예에 따른 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 6은 본 발명의 일 실시예에 따른 인터리빙을 적용한 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 7은 본 발명의 일 예에 따른 블록 코딩 부호화 장치(200)의 동작을 설명하는 순서도이다.
도 8은 본 발명의 일 예에 따른 블록 코딩 복호화 장치(400)의 동작을 설명하는 순서도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 예에 따른 계층화된 SVC 스트림의 프레임 참조 구조를 도시한다.
ITU-T 및 ISO/IEC JTC 1의 조인트 비디오 팀(Joint Video Team; JVT)에서 표준화된 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 기술은, 비디오 프레임을 저비트율의 베이스(base) 프레임들로 구성되는 스트림과, 상기의 베이스 프레임들을 참조하는 여러 단계로 계층화된 인헨스먼트 프레임들로 구성하여 영상 코딩을 하는 방법이다.
도 1에서, SVC 기술을 이용하여 2개의 계층으로 분리되어 계층화된 비디오 스트림의 프레임간 참조 관계가 도시되었다.
도 1에 의하면, 비트율은 낮지만 중요도가 높은 베이스 프레임들(120)은 독립적으로 디코딩 될 수 있다. 그러나, 인헨스먼트 프레임들(110)은 베이스 프레임 정보 없이 디코딩 될 수 없다.
따라서, 인헨스먼트 프레임들(110)이 손실되어도 베이스 프레임(120) 만을 디코딩 함으로 저화질의 영상이 재생될 수 있으나, 베이스 프레임(120)의 데이터가 손실된 경우에는, 손실된 베이스 프레임(120)을 직접적 또는 간접적으로 참조하는 인헨스먼트 프레임들(110)은 전부 디코딩될 수 없다.
그러나, 베이스 프레임들(120) 및 이를 참조하는 인헨스먼트 프레임들(110)이 모두 디코딩된 경우, 정상 화질의 비디오 영상이 재생될 수 있다.
따라서 SVC 기술에서는 비트율이 낮은 베이스 프레임(120)의 중요도가 가장 높다.
전술된 것과 같이, 데이터의 상대적인 중요도가 나뉘어진 계층적인 비디오 코딩 방법에서, 비트율은 낮지만 중요도는 높은 베이스 프레임(120)에게 많은 비율의 패리티 데이터를 부가함으로써 베이스 프레임(120)이 인헨스먼트 프레임(110)에 비해 손실에 대해 더욱 강인하게 할 수 있다.
그러나, 이러한 방법 또한 부가되어 전송되는 패리티 데이터의 양에 비례하여 복구 성능이 제한된다. 따라서, 지속적으로 데이터 손실이 발생하는 링크 아웃티지(outage) 등의 상황에 대비하기 위해서는, 다량의 패리티 데이터가 전송 되어야 하는 등의 문제점이 발생할 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록 코딩 부호화 장치의 구조도이다.
블록 코딩 부호화 장치(200)는 우선순위 분류기(210), 저-우선순위(low-priority) 버퍼(buffer)(220), 고-우선순위(high-priority) 버퍼(230) 및 FEC 부호화기(240)를 포함한다.
우선순위 분류기(210)는 외부로부터 중요도가 표시된 데이터 스트림(data stream)(250)을 입력 받는다.
데이터 스트림(250)은 I 프레임, B 프레임 및 P 프레임을 포함할 수 있다.
데이터 스트림(250)은 우선순워에 따라 분리될 수 있다. 데이터 스트림(250)은 중요도가 낮은 저-우선순위 데이터 및 중요도가 높은 고-우선순위 데이터를 포함한다.
예컨대, 데이터 스트림(250)이 계층적으로 분리된 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 스트림일 수 있으며, 중요도가 높은 데이터는 베이스 프레임 데이터일 수 있고, 중요도가 낮은 데이터는 인헨스먼트 프레임 데이터일 수 있다. 데이터 스트림(250)은 음성 및 영상이 혼합된 멀티미디어 스트림일 수 있으며, 중요도가 높은 데이터는 음성 스트림일 수 있다. 데이터 스트림(250)은 좌우 영상이 분리된 3D 스트림일 수 있으며, 중요도가 높은 데이터는 중요도가 높은 한 쪽의 영상 데이터일 수 있다.
우선순위 분류기(210)는 입력 받은 데이터 스트림에 시간 정보를 표시하고, 데이터 스트림을 (중요도에 따라) 내부의 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)로 분류하여 저장한다.
즉, 저-우선순위 버퍼(220)에는 데이터 스트림 내의 중요도가 낮은 데이터가 저장될 수 있다. 고-우선순위 버퍼(220)에는 데이터 스트림 내의 중요도가 높은 데이터가 저장될 수 있다.
FEC 부호화기(240)는 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)에서 각각 데이터를 인출한다. 저-우선순위 버퍼(220)로부터 인출되는 중요도가 높은 데이터 및 고-우선순위 버퍼(230)로부터 인출되는 중요도가 낮은 데이터는 동일한 제1 시간대의 데이터일 수 있다.
FEC 부호화기(240)는 인출된 데이터를 사용하여 FEC 계산을 위한 FEC 소스 블록(source block)을 구성한다.
FEC 부호화기(240)는 고-우선순위 버퍼(230)에서 제1 시간대와 상이한 제2 시간대의 중요도가 높은 데이터를 더 인출하여 FEC 소스 블록에 추가한다.
FEC 부호화기(240)는 FEC 소스 블록을 사용하여 FEC 패리티(parity) 데이터 생성을 위한 부호화 계산을 사용한다.
따라서, 고-우선순위 버퍼(230)에 저장된 중요도가 높은 데이터는 두 번 FEC 블록에 포함된다. 즉, 중요도가 높은 데이터가 두 번 FEC 블록에 포함되어, 부호화 계산이 수행된다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대일 수 있다. 이를, '후치 중복 계산'이라 한다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 늦은 시간대일 수 있다. 이를, '전치 중복 계산'이라 한다.
또한, 후치 중복 계산 및 전치 중복 계산은 모두 함께 수행될 수 있다. 즉, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 제1 시간대에 비해 L 시간만큼 늦은 시간대일 수 있다. 즉, FEC 부호화기(240)는 고-우선순위 버퍼(230)에서 제1 시간대에서 L 시간만큼 앞선 시간대의 중요도가 높은 데이터 및 제1 시간대에서 L 시간만큼 늦은 시간대의 중요도가 높은 데이터를 더 인출하여 FEC 소스 블록에 추가할 수 있다.
시간 값 L은 연속된 버스트 로스(burst loss)로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다. 즉, FEC 블록 구성을 위해, 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)의 데이터는 최소한 L 시간 이상 버퍼링(buffering)될 수 있다.
FEC 부호화기(240)는 블록을 구성하는 데이터 및 계산된 FEC 패리티 데이터에 블록 식별자를 표시한다. 따라서, 두 개 이상의 블록에 중복 추가되어 계산된, 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시된다.
FEC 부호화기(240)는 블록 식별자가 표시된 출력 데이터(260) 및 블록 식별자가 표시된 FEC 패리티 데이터(270)를 순서에 따라 출력한다.
또는, FEC 부호화기(240)는 인터리빙(interleaving) 방법을 적용하여 구성될 수 있다. 즉, FEC 부호화기(240)는 저-우선순위 버퍼(220)의 중요도가 낮은 데이터를 고-우선순위 버퍼(230)의 중요도가 높은 데이터보다 L 시간만큼 지연시켜 전송할 수 있다. 이로서, 수신 단말의 버퍼링 부담이 감소될 수 있다.
도 3은 본 발명의 일 예에 따른 FEC 블록 인코딩 방법을 나타내는 타이밍 다이어그램이다.
도 3에서, 블록 코딩 부호화 장치(200)의 FEC 부호화기(240)가 FEC 블록 인코딩을 수행하는 방법이 논리적인 타이밍 다이어그램의 형식으로 설명된다.
FEC 부호화기(240)는 t1 내지 t4의 시간 구간 동안, 저-우선순위 버퍼(220)로부터 i11 및 p12의 데이터를 인출하고, 고-우선순위 버퍼(230)로부터 I11, B12, P13 및 B14의 데이터를 인출하여 FEC 블록 코딩을 수행하기 위한 FEC 소스 블록을 구성한다.
FEC 부호화기(240)는, '전치 중복 계산'이 설정된 경우, 고-우선순위 버퍼(230)에서, L 시간만큼 뒤의, 중요도가 높은 데이터인 i31 및 p32를 인출하여 FEC 소스 블록에 추가하고, FEC 부호화 계산을 수행한다.
따라서, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31 및 p32 는 L 시간 앞뒤의 제1 FEC 블록(310) 및 제2 FEC 블록(320) 모두에 중복 포함된다.
또는, FEC 부호화기(240)는, '후치 중복 계산'이 설정된 경우, t17 내지 t20의 시간 구간 동안 I51, B52, P53, B54, i51 및 p52의 데이터를 인출하여 FEC 소스 블록을 구성한다. FEC 부호화기(240)는 고-우선순위 버퍼(230)에서, L 시간만큼 앞의, 중요도가 높은 데이터인 i31 및 p32를 인출하여, FEC 소스 블록에 추가하고 FEC 부호화 계산을 수행한다.
따라서, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31 및 p32는 L 시간 앞뒤의 제2 FEC 블록(320) 및 제3 FEC 블록(330) 모두에 중복 포함된다.
또는, 전치 중복 계산 및 후치 중복 계산이 모두 설정된 경우, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31 및 p32 는 L 시간 앞뒤의 제1 FEC 블록(310), 제2 FEC 블록(320) 및 제3 FEC 블록(330)에 모두 중복 포함된다. 따라서, 데이터 손실이 발생할 경우, 적어도 셋 이상의 FEC 블록들 중 하나의 블록에서 상기 데이터 손실이 복구될 수 있는 기회가 더 획득된다.
도 4는 본 발명의 일 실시예에 따른 블록 코딩 복호화 장치의 구조도이다.
블록 코딩 복호화 장치(400)는 우선순위 분류기(410), 저-우선순위 버퍼(420), 고-우선순위 버퍼(430), FEC 버퍼(440) 및 FEC 복호화기(450)를 포함한다.
우선순위 분류기(410)는 외부로부터 입력데이터(즉, 데이터 스트림)(260) 및 FEC 데이터(270)를 입력받는다. 입력 데이터(260) 및 FEC 데이터(270)에는 각각 중요도 및 블록 식별자가 표시되었다.
우선순위 분류기(410)는 입력받은 데이터 스트림(260) 및 FEC 데이터(270)에 시간 정보를 표시한다. 우선순위 분류기(410)는 시간 정보가 표시된 데이터 스트림을 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에 분류하여 저장하며, 시간 정보가 표시된 FEC 데이터를 FEC 버퍼(440)에 저장한다. 저-우선순위 버퍼(420)에 저장되는 데이터는 중요도가 낮은 데이터이며, 고-우선순위 버퍼(430)에 저장되는 데이터는 중요도가 높은 데이터이다.
저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)의 데이터는 FEC 블록 구성을 위해 최소 L 시간 이상 버퍼링된다. 즉, 저-우선순위 버퍼의 데이터, 고-우선순위 버퍼의 데이터 및 FEC 버퍼(440)의 FEC 데이터는 최소 L 시간 이상 버퍼링된다.
또는, FEC 복호화기(450) 또는 블록 코딩 복호화 장치(400)에는, 인터리빙이 적용될 수 있다. 즉, 블록 코딩 부호화 장치(400)의 외부로부터 입력된 데이터(260)에서, 중요도가 낮은 데이터는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송될 수 있다. 이 때, 고-우선순위 버퍼(430)의 중요도가 높은 데이터만 L 시간 이상 버퍼링됨으로써, 블록 코딩 복호화 장치(400)를 포함 또는 사용하는 수산 단말의 버퍼링 부담을 감소시킬 수 있다.
FEC 복호화기(430)는 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터 및 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행한다.
복호화 수행의 결과는 FEC 복호화기(430)에 의해 스트림 데이터(460)로 출력된다.
FEC 복호화기(450)는 입력 데이터(예컨대, 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터, FEC 데이터 또는 외부로부터 입력된 데이터(260))에서 손실된 데이터가 검출된 경우 FEC 복호화를 수행함으로써 손실된 데이터를 복구한다. 제1 시간대는 상기의 손실된 데이터가 해당되는 시간대이다.
FEC 복호화기(450)는 입력 데이터의 손실이 검출된 경우, 손실되지 않은 데이터(예컨대, 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터 및 FEC 데이터 중 제1 시간대의 손실되지 않은 데이터)의 블록 식별자 정보 등을 이용하여 손실 복구에 사용되여야 블록 식별자를 유추한다.
블록 식별자가 유추되면, FEC 복호화기(450)는 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터(즉, 중요도가 높은 데이터 및 중요도가 낮은 데이터)를 인출하고, FEC 버퍼(440)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여, 인출된 데이터 및 FEC 데이터에 기반하여 FEC 블록을 구성하고, FEC 복호화를 수행한다. FEC 복호화기(430)는 상기의 복호화에 의해 손실된 데이터를 복구한다.
FEC 복호화기(430)가 전술된 FEC 복호화 과정에 의해서도 중요도가 높은 데이터의 복구를 할 수 없는 경우, 하기의 방법에 의해 손실된 데이터가 복구될 수 있다.
FEC 복호화기(450)는 제1 시간대와 상이한 제2 시간대의 블록 식별자를 유추하고, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, FEC 버퍼에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 FEC 블록을 구성하고, 구성된 FEC 블록에 대한 FEC 복호화를 수행함으로써 손실된 데이터를 복구할 수 있다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
또는, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
L은 블록 코딩 복호화 장치(400)가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자하는 최대 길이이다.
블록 코딩 부호화 장치(200)가 후치 중복 계산을 수행한 경우, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대이다.
따라서, FEC 복호화기(450)는 L 시간만큼 선행한 블록 식별자를 유추하고, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, FEC 버퍼(440)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 FEC 블록을을 구성하고, 구성된 FEC 블록에 복호화를 수행함으로써 손실된 중요도가 높은 데이터를 복구할 수 있다.
블록 코딩 부호화 장치(200)가 전치 중복 계산을 수행한 경우, 제2 시간대는 제1 시간대에 비해 L 시간만큼 늦은 시간대이다.
따라서, FEC 복호화기(450)는 L 시간만큼 데이터 스트림(260) 및 FEC 데이터(270)를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 인출된 블록 식별자에 대응하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성하고, 구성된 FEC 블록에 복호화를 수행함으로써 손실된 중요도가 높은 데이터를 복구할 수 있다.
전술된 방법에 의해, 중요도가 높은 데이터는, 적어도 L 시간만큼 떨어진, 2 개 이상의 FEC 블록들 가운데 손상이 적은 한 곳의 FEC 블록에서 복구될 수 있는 기회를 자주 갖게된다. 따라서, 유무선 통신로 상에서 연속된 데이터 손실이 발생하여도, 중요도가 높은 데이터의 복구율을 높힘으로써 최소한의 품질의 지속적인 실시간 멀티미디어 서비스가 제공될 수 있다.
도 5는 본 발명의 일 예에 따른 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 5에서, 블록 코딩 복호화 장치(400)가 t9 내지 t12의 시간 구간 동안 발생한 연속된 데이터 손실로부터 중요도가 높은 데이터를 복구하는 방법을 논리적인 타이밍 다이어그램의 형식으로 설명한다.
FEC 복호화기(450)는 t9 내지 t12의 시간동안 발생한 I31, B32, P33, B34, i32 및 p32의 데이터 손실을 감지하고, 제2 FEC 블록(520)을 구성하여, 손실 복구를 시도하였으나, 손실의 양이 커서 데이터 복구에 실패하였다.
블록 코딩 부호화 장치(200)에서 후치 중복 계산이 수행된 경우, FEC 복호화기(450)는 L 시간만큼 선행한 시간대의 FEC 블록 식별자(예컨대, 제1 FEC 블록(510))를 유추하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 I11, B12, P13, B14, i11, p12 및 FEC-1을 인출하여 제1 FEC 블록(510)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i31 및 p32를 복구한다.
블록 코딩 부호화 장치(200)에서 전치 중복 계산이 수행된 경우, FEC 복호화기(450)는 L 시간만큼 데이터 스트림(260) 및 FEC 데이터(270)를 더 버퍼링하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서, I51, B52, P53, B54, i51, p52 및 FEC-3을 인출하여 제3 FEC 블록(530)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i31 및 p32를 복구한다.
블록 코딩 복호화 장치(400)를 포함 또는 사용하는 수신 단말이 L 시간만큼의 연속된 입력 데이터의 손실에서 견딜 수 있을 때, L을 크게 할수록 상기의 수신 단말이 버퍼링해야 할 데이터의 양이 커진다. 따라서, L이 커질수록 수신 단말의 버퍼링 부담이 늘어난다. 그러나, 수신 단말의 버퍼링 부담이 늘어나더라도 손실 복구에 사용될 패리티 데이터의 양이 증가되지는 않는다. 따라서, 수신 단말로의 전송 비트율이 증가하지 않는다.
도 6은 본 발명의 일 실시예에 따른 인터리빙을 적용한 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
블록 코딩 부호화 장치(200)에는 인터리빙 방법이 적용된다. 즉, 블록 코딩 부호화 장치(200)는 중요도가 낮은 데이터를 중요도가 높은 데이터보다 L 시간만큼 지연시켜 전송한다.
인터리빙 방법이 적용된 경우, 블록 코딩 복호화 장치(400)은 버퍼링 부담을 줄이면서 연속된 데이터 손실로부터 중요도가 높은 데이터를 복구할 수 있다.
불록 코딩 복호화 장치(400)는 고-우선순위 버퍼(420)에 저장된 데이터만을 L 시간 이상 버퍼링함으로써 전체적인 버퍼링 부담을 감소시킨다.
FEC 복호화기(450)가 t9 내지 t12의 시간 동안 발생한 데이터 손실을 감지한 경우, FEC 복호화기(450)는 우선 고-우선순위 버퍼(430)에 미리 저장된 i31 및 p32의 데이터만을 인출하여 미디어 재생에 활용함으로써 최소한의 품질의 스트리밍 서비스를 지속한다.
FEC 복호화기(450)는 t13 내지 t16의 시간동안 미리 저장된 i41 및 p42의 데이터 및 새로 수신한 I41, B42, P43, B44의 데이터를 시간에 맞추어 디코딩하여 정상 품질의 미디어 재생에 활용한다.
FEC 복호화기(450)는 t17 내지 t20의 시간동안 수신한 I51, B52, P53, B54, i71, p72 및 FEC-3의 데이터를 이용하여 제3 FEC 블록(630)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i51 및 p52를 복구한다. FEC 복호화기(450)는 복구된 i51 및 p52를 디코딩하여 정상 품질의 미디어 재생에 활용한다.
도 7은 본 발명의 일 예에 따른 블록 코딩 부호화 장치(200)의 동작을 설명하는 순서도이다.
동작(710)에서, 데이터(즉, 중요도가 표시된 데이터 스트림(250))가 입력된다. 입력 데이터에 시간 정보가 표시되며, 입력 데이터의 우선순위가 분류된다.
동작(715)에서, 입력 데이터가 버퍼링된다. 즉, 시간 정보가 표시된 데이터 스트림이 중요도에 따라 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)로 분류되어 저장된다.
동작(720)에서, FEC 소스 블록이 구성된다. 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)에서 특정 시간대의 데이터가 인출되어, 인출된 특정 시간대의 데이터에 기반하여 FEC 소스 블록이 구성된다.
동작(730)에서, 중복 계산 방법이 선택된다.
동작(730)에서 후치 중복 계산이 선택된 경우, 동작(735)에서, 고-우선순위 버퍼로부터 상기의 특정 시간대보다 L 시간 선행하는 중요도가 높은 데이터가 인출되고, 인출된 L 시간 선행하는 중요도가 높은 데이터가 FEC 소스 블록에 추가된다.
동작(730)에서 전치 중복 계산이 선택된 경우, 동작(740)에서, 고-우선순위 버퍼로부터 상기의 특정 시간대보다 L 시간 후행하는 중요도가 높은 데이터(즉, 고-우선순위 데이터)가 인출되고, 인출된 L 시간 선행하는 중요도가 높은 데이터가 FEC 소스 블록에 추가된다.
동작(750)에서, FEC 소스 블록에 대한 FEC 패리티가 계산된다.
동작(755)에서, FEC 소스 블록을 구성하는 데이터 및 FEC 패리티에 블록 식별자가 표시된다.
동작(760)에서, 인터리빙이 적용될지 여부가 판단된다.
인터리빙이 적용된 경우, 동작(S765)에서, 중요도가 낮은 데이터(즉, 저-우선순위 데이터)가 L 시간 지연된다.
동작(765)에서, 스트림 데이터(즉, 블록 식별자가 표시된 출력 데이터(260)) 및 FEC 데이터(즉, 블록 식별자가 표시된 FEC 패리티 데이터(270))가 출력된다.
앞서 도 1 내지 도 6을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 8은 본 발명의 일 예에 따른 블록 코딩 복호화 장치(400)의 동작을 설명하는 순서도이다.
동작(810)에서, 중요도 및 블록 식별자가 표시된 데이터 스트림(260) 및 FEC 패리티 데이터(270)가 입력 데이터로서 입력된다. 또한, 입력 데이터의 우선순위가 분류된다.
데이터 스트림(260) 및 FEC 데이터(270)에 시간 정보가 표시될 수 있다.
동작(815)에서, 입력 데이터가 버퍼링된다. 즉, 데이터 스트림(260)은 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에 분류되어 저장되고, FEC 데이터는 FEC 버퍼(440)에 저장된다.
동작(820)에서, 데이터가 손실되었는지 여부가 검사된다. 데이터 손실이 검출되지 않은 경우, 하기의 동작(895)이 수행된다. 데이터 손실이 검출된 경우, 하기의 동작(830)이 수행된다.
동작(830)에서, 제1 블록 식별자가 인출된다.
동작(835)에서, FEC 소스 블록이 구성되고 복호화된다. 즉, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성된다. 구성된 FEC 블록에 대한 FEC 복호화 계산이 수행된다.
동작(840)에서, 데이터 복구가 필요한지 여부가 판단된다.
구성된 FEC 블록으로 FEC 복호화 계산이 수행될 수 있으면, 동작(895)가 수행된다. 데이터 복구가 필요한 경우, 동작(850)이 수행된다.
동작(850)에서, 인터리빙이 사용될 것인지 여부가 판단된다.
인터리빙이 사용될 경우, 동작(855)에서, 고-우선순위 버퍼(430)에서 데이터가 인출되고, 동작(895)가 수행된다.
인터리빙이 사용되지 않을 경우, 동작(860)이 수행된다.
동작(860)에서 중복 계산 방법이 선택된다. 후치 중복 계산이 수행될 경우, 동작(865)이 수행된다. 전치 중복 계산이 수행될 경우, 동작(870)이 수행된다.
동작(865)에서, 동작(830)의 제1 블록 식별자보다 L 시간 선행하는 제2 블록 식별자가 인출된다.
동작(870)에서, L 시간 동안 입력 데이터(260 및 270)가 버퍼링된다.
동작(875)에서, 제2 블록 식별자가 인출된다.
동작(880)에서, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 제2 블록 식별자에 대응하는 데이터가 인출되어 FEC 블록이 구성된다. 구성된 FEC 블록에 대한 FEC 복호화 계산이 수행된다.
동작(890)에서, 데이터 복구가 되었는지 여부가 판단된다.
데이터 복구가 된 경우, 동작(895)가 수행되고, 데이터 복구가 되지 않은 경우 절차가 종료한다.
동작(895)에서, 스트림 데이터(460)가 출력된다.
앞서 도 1 내지 도 7을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
전술된 블록 코딩 부호화 장치(200) 및 블록 코딩 복호화 장치(400)에 따라, 유무선 전송로에서 연속된 데이터 손실이 발생한 경우, 중요도가 높은 데이터가 신뢰성 있게 복구될 수 있고, 최소한의 품질의 끊김 없는 서비스가 제공될 수 있다.
예컨대, 외부로부터 블록 코딩 복호화 장치(400)로 입력되는 데이터 스트림(260)이 계층적으로 분리된 SVC 스트림일 경우, 중요도가 높은 베이스 프레임 데이터를 전치 중복 계산 또는 후치 중복 계산에 적용함으로써 연속된 데이터 손실이 발생한 경우 베이스 프레임을 복구하여 최소한의 낮은 영상 품질의 서비스가 지속될 수 있다.
또는, 외부로부터 블록 코딩 복호화 장치(400)로 입력되는 데이터 스트림(260)이 음성 및 영상이 혼합된 멀티미디어 스트림인 경우, 중요도가 높은 음성 데이터를 전치 중복 계산 또는 후치 중복 계산에 적용함으로써 연속된 데이터 손실이 발생한 경우 음성 데이터를 복구하여 최소한의 끊기지 않는 음성 서비스가 지속될 수 있다.
또한, 좌우 영상이 분리된 3D 스트림의 경우, 최소한 중요도가 높은 한쪽 영상 데이터가 끊기지 않고 재생될 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Claims (19)
- 저-우선순위 버퍼;고-우선순위 버퍼;중요도가 표시된 데이터 스트림을 입력 받고, 상기 데이터 스트림에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 중요도에 따라 상기 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 우선순위 분류기; 및상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 각각 동일한 제1 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하고, 상기 고-우선순위 버퍼에서 상기 제1 시간대와 상이한 제2 시간대의 데이터를 인출하여 상기 FEC 소스 블록에 추가함으로써 FEC 패리티 데이터 생성을 위한 부호화 계산을 수행하는 FEC 부호화기를 포함하는, 부호화 장치.
- 제1항에 있어서,상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 부호화 장치.
- 제2항에 있어서,상기 L은 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이인, 부호화 장치.
- 제2항에 있어서,상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 상기 L 시간만큼 버퍼링되는, 부호화 장치.
- 제2항에 있어서,상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 부호화 장치.
- 제2항에 있어서,상기 FEC 부호화기는 상기 저-우선순위 버퍼의 데이터를 상기 고-우선순위 버퍼의 데이터보다 L 시간만큼 지연하여 전송하는, 부호화 장치.
- 제1항에 있어서,상기 FEC 부호화기는 블록을 구성하는 출력 데이터들 및 상기 FEC 패리티 데이터에 블록 식별자를 표시하고, 2 개 이상의 상기 블록에 중복되어 추가된 상기 고-우선순위 버퍼 내의 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시되는, 부호화 장치.
- 제6항에 있어서,상기 FEC 부호화기는 상기 블록 식별자가 표시된 출력 데이터 및 상기 FEC 패리티 데이터를 순서에 따라 출력하는, 부호화 장치.
- 제1항에 있어서,상기 데이터 스트림은 스케일러블 비디오 코딩 스트림이고, 상기 고-우선순위 버퍼의 데이터는 베이스 프레임 데이터이고, 상기 저-우선순위 버퍼의 데이터는 인헨스먼트 프레임 데이터인, 부호화 장치.
- 저-우선순위 버퍼;고-우선순위 버퍼;포워드 오류 정정(Forward Error Collection; FEC) 버퍼;중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받아 상기 데이터 스트림 및 상기 FEC 데이터에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 우선순위분류기; 및상기 저-우선순위 버퍼의 데이터, 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행하는 FEC 복호화기를 포함하고, 상기 FEC 복호화기는 제1 시간대의 손실된 데이터가 검출된 경우, 상기 제1 시간대의 손실되지 않은 데이터의 상기 블록 식별자 정보를 이용하여 손실 복구에 사용되어야 할 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화 계산을 수행함으로써 상기 FEC 복호화를 수행하는, 복호화 장치.
- 제10항에 있어서,상기 FEC 복호화기는 상기 제1 시간대와 상이한 제2 시간대의 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화를 수행함으로써 상기 손실된 데이터를 복구하는, 복호화 장치.
- 제11항에 있어서,상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 복호화 장치.
- 제12항에 있어서,상기 L은 상기 복호화 장치가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자하는 최대 길이인, 복호화 장치.
- 제12항에 있어서,상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 L 시간 이상 버퍼링되고, 상기 FEC 버퍼의 FEC 데이터는 최소 상기 L 시간 이상 버퍼링되는, 복호화 장치.
- 제12항에 있어서,상기 저-우선순위 버퍼에 저장되는 중요도가 낮은 데이터는 상기 고-우선순위 버퍼에 저장되는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송되고, 상기 고-우선순위 버퍼의 데이터는 상기 L 시간 이상 버퍼링되는, 복호화 장치.
- 제14항에 있어서,상기 FEC 복호화기는 상기 L 시간만큼 상기 데이터 스트림 및 상기 FEC 데이터를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼에서 상기 인출된 블록 식별자에 해당하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성하고, 상기 FEC 블록에 복호화를 수행함으로써 상기 손실된 데이터를 복구하는, 복호화 장치.
- 제11항에 있어서,상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 복호화 장치
- 중요도가 표시된 데이터 스트림을 입력 받는 동작;상기 데이터 스트림에 시간 정보를 표시하는 동작;상기 시간 정보가 표시된 데이터 스트림을 상기 중요도에 따라 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 동작;상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 특정 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하는 동작;상기 고-우선순위 버퍼에서 상기 특정 시간대보다 L 시간 선행 또는 상기 L 시간 후행하는 데이터를 인출하여 상기 FEC 소스 블록에 추가하는 동작;상기 FEC 소스 블록의 FEC 패리티 데이터를 계산하는 동작; 및상기 FEC 소스 블록 및 상기 FEC 패리티 데이터를 출력하는 동작을 포함하는, 부호화 방법
- 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받는 동작;상기 데이터 스트림을 저-우선순위 버퍼 및 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 동작;상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하는 동작;상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼로부터 L 시간 선행하는 데이터 또는 L 시간 후행하는 데이터를 인출하여 상기 FEC 블록을 구성하는 동작; 및상기 FEC 블록에 대한 FEC 복호화 계산을 수행하는 동작을 포함하는, 복호화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/809,090 US8819526B2 (en) | 2010-07-08 | 2011-07-08 | Method and apparatus for recovering burst data loss by duplicating block code symbols |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100065642 | 2010-07-08 | ||
KR10-2010-0065642 | 2010-07-08 | ||
KR1020110033741A KR20120005371A (ko) | 2010-07-08 | 2011-04-12 | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 |
KR10-2011-0033741 | 2011-04-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2012005544A2 true WO2012005544A2 (ko) | 2012-01-12 |
WO2012005544A3 WO2012005544A3 (ko) | 2012-04-19 |
Family
ID=45441677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2011/005024 WO2012005544A2 (ko) | 2010-07-08 | 2011-07-08 | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012005544A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013165155A1 (en) * | 2012-04-30 | 2013-11-07 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving packet in a communication system |
US8819526B2 (en) | 2010-07-08 | 2014-08-26 | Electronics And Telecommunications Research Institute | Method and apparatus for recovering burst data loss by duplicating block code symbols |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120983A1 (en) * | 2001-12-26 | 2003-06-26 | Vieregge Richard Charles | System and method for performing pre-emptive protection switching |
US20080098284A1 (en) * | 2006-10-18 | 2008-04-24 | Kencast, Inc. | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
US20100223535A1 (en) * | 2007-11-12 | 2010-09-02 | Dongyu Geng | Method and apparatus for encoding and decoding data |
KR100981500B1 (ko) * | 2006-02-07 | 2010-09-10 | 삼성전자주식회사 | 저밀도 패러티 검사 부호 기반의 하이브리드 재전송 방법 |
US7861132B1 (en) * | 2004-11-19 | 2010-12-28 | The Directv Group, Inc. | Adaptive error correction |
-
2011
- 2011-07-08 WO PCT/KR2011/005024 patent/WO2012005544A2/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120983A1 (en) * | 2001-12-26 | 2003-06-26 | Vieregge Richard Charles | System and method for performing pre-emptive protection switching |
US7861132B1 (en) * | 2004-11-19 | 2010-12-28 | The Directv Group, Inc. | Adaptive error correction |
KR100981500B1 (ko) * | 2006-02-07 | 2010-09-10 | 삼성전자주식회사 | 저밀도 패러티 검사 부호 기반의 하이브리드 재전송 방법 |
US20080098284A1 (en) * | 2006-10-18 | 2008-04-24 | Kencast, Inc. | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
US20100223535A1 (en) * | 2007-11-12 | 2010-09-02 | Dongyu Geng | Method and apparatus for encoding and decoding data |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819526B2 (en) | 2010-07-08 | 2014-08-26 | Electronics And Telecommunications Research Institute | Method and apparatus for recovering burst data loss by duplicating block code symbols |
WO2013165155A1 (en) * | 2012-04-30 | 2013-11-07 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving packet in a communication system |
US9106376B2 (en) | 2012-04-30 | 2015-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving packet in a communication system |
US9450702B2 (en) | 2012-04-30 | 2016-09-20 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving packet in a communication system |
US9673933B2 (en) | 2012-04-30 | 2017-06-06 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving packet in a communication system |
Also Published As
Publication number | Publication date |
---|---|
WO2012005544A3 (ko) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013122438A1 (en) | Data packet transmission/reception apparatus and method | |
FI117844B (fi) | Menetelmä kompressoidun videodatan järjestämiseksi siirtoa varten | |
WO2013081414A1 (en) | Apparatus and method of transmiting/receiving broadcast data | |
WO2011108868A2 (en) | Apparatus and method for recording and playing a media file, and a recording medium therefor | |
WO2013019042A1 (ko) | 실시간으로 전송되는 기준 영상과 별도로 전송되는 부가 영상 및 콘텐츠를 연동하여 3d 서비스를 제공하기 위한 전송 장치 및 방법, 및 수신 장치 및 방법 | |
WO2015199420A1 (ko) | 방송 시스템에서 시스템 시간 정보를 송수신하는 기법 | |
WO2013162312A1 (ko) | 멀티미디어 전송 시스템을 위한 데이터 송수신 방법 및 장치 | |
WO2009134105A2 (en) | Method of receiving broadcasting signal and apparatus for receiving broadcasting signal | |
WO2013168964A1 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
WO2020096148A1 (ko) | 미디어 서비스 채널 전환 방법 및 장치 | |
WO2014058278A1 (en) | Apparatus and method for transmitting and receiving packet in a broadcasting and communication system | |
WO2012005544A2 (ko) | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 | |
WO2015060653A1 (ko) | 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법 | |
WO2015147613A1 (ko) | 방송 및/또는 통신 시스템에서 패킷 생성 및 복원 방법 및 장치 | |
WO2011126344A2 (en) | Method and apparatus for generating video packets, method and apparatus for restoring video | |
WO2015037894A1 (ko) | 비디오 메모리의 모니터링을 이용한 영상 처리 장치 | |
WO2014107098A1 (ko) | 영상을 부호화/복호화하기 위한 파라미터 세트 생성 방법 및 장치 | |
JP2006333367A (ja) | 映像伝送システム及び映像伝送方法 | |
WO2017047848A1 (ko) | 다중화 특성을 이용한 재핑 광고 시스템 | |
WO2017128593A1 (zh) | 一种解决数字电视高码率传输的方法、装置以及高清数字电视 | |
WO2017099371A1 (ko) | 인트라 프레임 스킵 모드 정보의 부호화 방법 및 장치, 복호화 방법 및 장치 | |
KR20120005371A (ko) | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 | |
JP2001007786A (ja) | データ通信方法およびシステム | |
JP4956849B2 (ja) | 画像復号装置およびパケット損失補償方法 | |
JP4021587B2 (ja) | 伝送路切替システム |
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: 11803830 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13809090 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11803830 Country of ref document: EP Kind code of ref document: A2 |