JP5474896B2 - Video error detection technology using CRC parity code - Google Patents

Video error detection technology using CRC parity code Download PDF

Info

Publication number
JP5474896B2
JP5474896B2 JP2011196859A JP2011196859A JP5474896B2 JP 5474896 B2 JP5474896 B2 JP 5474896B2 JP 2011196859 A JP2011196859 A JP 2011196859A JP 2011196859 A JP2011196859 A JP 2011196859A JP 5474896 B2 JP5474896 B2 JP 5474896B2
Authority
JP
Japan
Prior art keywords
macroblocks
group
bit
slice
video stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011196859A
Other languages
Japanese (ja)
Other versions
JP2012019540A (en
Inventor
ボイス,ジル,マクドナルド
スタイン,アラン,ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to JP2011196859A priority Critical patent/JP5474896B2/en
Publication of JP2012019540A publication Critical patent/JP2012019540A/en
Application granted granted Critical
Publication of JP5474896B2 publication Critical patent/JP5474896B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、ビデオビットストリームにおけるエラー検出技術に関する。   The present invention relates to an error detection technique in a video bit stream.

MPEG、H.263、JVT(ISO/ITU H.264としても知られている)などの現在のビデオ圧縮規格の実現は、ビデオフレームをマクロブロック及びスライスに分割する。スライスは、一般に所与の個数の連続するマクロブロックを含む。しかしながら、JVT圧縮規格により圧縮されるビデオのフレキシブル・マクロブロック・オーダリング(Flexible Macroblock Ordering)オプションを使用することは、表示順に互いに隣接する不要なスライスのマクロブロックをもたらす可能性がある。可変長符号化(VLC)技術は、エラー耐性を犠牲にして圧縮効率を向上させることが可能である。ビットストリームのエラーは、未検出のまま伝播し、スライスの以降のすべてのマクロブロックに悪影響を与える可能性がある。   MPEG, H.M. Implementations of current video compression standards such as H.263, JVT (also known as ISO / ITU H.264) divide video frames into macroblocks and slices. A slice generally includes a given number of consecutive macroblocks. However, using the Flexible Macroblock Ordering option for videos that are compressed according to the JVT compression standard can result in macroblocks of unwanted slices that are adjacent to each other in display order. Variable length coding (VLC) technology can improve compression efficiency at the expense of error tolerance. Bitstream errors can propagate undetected and adversely affect all subsequent macroblocks in the slice.

エラー復元を可能にするため、各スライスのヘッダは、再同期マーカーを含む。このようなマーカーは、ビットエラーに続いて適切な復号化を行うことが可能な最先のポイントを構成する。スライスヘッダは、バイトで揃えられるようにバイト境界から開始され、各マクロブロックはバイトで揃えられない。JVT圧縮規格に従ってビデオビットストリームの符号化に関して文脈ベース適応的バイナリ算術符号化を利用すると、複数のシンボルが1つのビットとして符号化可能であり、このため、マクロブロック境界はビットでさえ揃えられない。これについて、デコーダが可変長なコードワードについてビットエラー発生時を正確に特定することを困難にする。影響を受けたビットストリームの大部分のビットパターンは、それらが正確な値を表していなくても有効なコードワードを表す。いくつかのケースでは、有効でないコードワードの特定は、復号化された値が正規の範囲を超える場合に発生する可能性があるが、これは常に可変的で未知の量の誤った符号化までに明らかになるとは限らない。従って、エラーに続くスライスのすべてのマクロブロックは、影響を受ける可能性が残っている。   To allow error recovery, the header of each slice includes a resynchronization marker. Such a marker constitutes the earliest point at which proper decoding can occur following a bit error. Slice headers start on byte boundaries so that they are byte aligned, and each macroblock is not byte aligned. Using context-based adaptive binary arithmetic coding for encoding video bitstreams according to the JVT compression standard, multiple symbols can be encoded as one bit, so the macroblock boundaries are not even bit aligned . This makes it difficult for the decoder to accurately specify when a bit error occurs for a variable-length codeword. Most bit patterns in the affected bitstream represent valid codewords even though they do not represent the exact value. In some cases, the identification of codewords that are not valid can occur when the decoded value exceeds the normal range, but this is always variable and up to an unknown amount of incorrect encoding. It may not be obvious. Thus, all macroblocks in the slice following the error remain potentially affected.

ビデオエラー検出は、ビデオフレームを復号化し、その後、ピクセルドメインのマクロブロック及びスライス境界における空間不連続性についてフレームをチェックすることによって行うことができる。ビデオエラー検出及び隠蔽について各種提案が存在する。特定のマクロブロックにおけるエラー検出に続いて、エラー隠蔽が影響を受けたマクロブロックに対して実行することができる。隠蔽されたマクロブロックは、一般に隠蔽されない影響を受けたマクロブロックより知覚的に良好に見えるが、適切に復号化されたマクロブロックよりは知覚的に不良である。しかしながら、現在の隠蔽アルゴリズムは、計算量が大きく、かなりのリソースを使用する。さらに、このようなアルゴリズムはまた、偽陽性(適切に復号化されたマクロブロックを隠蔽する)と偽陰性(影響を受けたマクロブロックを隠蔽しない)する傾向がある。   Video error detection can be performed by decoding the video frame and then checking the frame for spatial discontinuities at the macroblock and slice boundaries in the pixel domain. There are various proposals for video error detection and concealment. Following error detection in a particular macroblock, error concealment can be performed on the affected macroblock. A concealed macroblock generally looks perceptually better than an affected macroblock that is not concealed, but is perceptually worse than a properly decoded macroblock. However, current concealment algorithms are computationally intensive and use significant resources. In addition, such algorithms also tend to be false positives (conceal properly decoded macroblocks) and false negatives (do not conceal affected macroblocks).

影響を受けたマクロブロックの問題を解消する1つのアプローチは、1つのIPパケットにおいてスライス全体を伝送することを推奨する。伝送中にスライスが消失した場合、スライスのすべてのマクロブロックは、欠落とマークされ、これにより隠蔽を必要とする。上述されたように、既知の伝送エラーによるパケットのすべてのデータは、影響を受けた、破棄された及び隠蔽されたとマークされる。このため、スライス全体が、検出された伝送エラーのケースでは消失することとなる。スライス毎に比較的少数のマクロブロックを割り当てることは、エラー耐性を向上させるが、符号化及びトランスポート効率のかなりの犠牲を伴う。   One approach to solve the affected macroblock problem is to transmit the entire slice in one IP packet. If a slice disappears during transmission, all macroblocks in the slice are marked as missing, which requires concealment. As described above, all data in a packet due to a known transmission error is marked as affected, discarded and concealed. For this reason, the entire slice will disappear in the case of the detected transmission error. Assigning a relatively small number of macroblocks per slice improves error resilience, but at the cost of significant coding and transport efficiency.

このため、比較的小さな計算コンプレクシティによりビットストリームエラーを検出する技術が必要とされる。   Therefore, a technique for detecting a bitstream error with a relatively small computational complexity is required.

概略すると、好適な実施例によると、符号化されたビデオストリームにおいてエラーを検出する方法が提供される。本方法は、伝送前にストリームのN個のマクロブロックのグループに対して計算される第1パリティコードと共に、符号化されたビデオストリームを受信することから開始される。ストリームは、復号化されたマクロブロックのグループを形成するため復号化される。復号化されたマクロブロックのグループに対して、第2パリティ計算が行われ、復号化されたマクロブロックのグループがエラーを有するか判断するため、第1及び第2パリティコード間の比較が行われる。   In summary, according to a preferred embodiment, a method for detecting errors in an encoded video stream is provided. The method starts by receiving an encoded video stream with a first parity code calculated for a group of N macroblocks of the stream before transmission. The stream is decoded to form a group of decoded macroblocks. A second parity calculation is performed on the decoded group of macroblocks, and a comparison is made between the first and second parity codes to determine whether the decoded macroblock group has an error. .

概略すると、本原理の他の好適な実施例によると、圧縮されたマクロブロックから構成されるビデオビットストリームの伝送中にエラーを検出する技術が提供される。CRC(Cyclic Redundancy Check)パリティコードが、伝送前にビデオストリームを形成する圧縮されたマクロブロックのグループに対して計算される。圧縮されたマクロブロックのグループを受信すると、第2CRCパリティ計算が行われる。これらのCRCコードが比較される。CRCコードが一致する場合、エラーは発生しておらず、ブロックのグループの通常の復号化及び他の処理を行うことが可能である。エラーが発生すると、グループのマクロブロックがエラー隠蔽される。マクロブロックのグループがJVTビデオ圧縮規格により圧縮されると、CRCパリティコードがSEIメッセージとして送信可能である。   In summary, according to another preferred embodiment of the present principles, a technique is provided for detecting errors during the transmission of a video bitstream composed of compressed macroblocks. A CRC (Cyclic Redundancy Check) parity code is calculated for a group of compressed macroblocks that form a video stream prior to transmission. Upon receiving a group of compressed macroblocks, a second CRC parity calculation is performed. These CRC codes are compared. If the CRC codes match, no error has occurred and normal decoding of the group of blocks and other processing can be performed. When an error occurs, the group macroblocks are error concealed. When a group of macroblocks is compressed according to the JVT video compression standard, a CRC parity code can be transmitted as an SEI message.

本発明によると、比較的小さな計算コンプレクシティによりビットストリームエラーを検出する技術を提供することができる。   According to the present invention, it is possible to provide a technique for detecting a bitstream error with a relatively small computational complexity.

図1は、圧縮されたマクロブロックのグループと付属のCRCパリティ計算を行う本発明の好適な実施例による送信機の例示的な実施例のブロック概略図を示す。FIG. 1 shows a block schematic diagram of an exemplary embodiment of a transmitter according to a preferred embodiment of the present invention that performs a group of compressed macroblocks and an accompanying CRC parity calculation. 図2は、必要に応じてエラー検出及び隠蔽を行うため、図1の送信機からの圧縮されたマクロブロックの受信とCRCパリティ計算を行う受信機の例示的な実施例のブロック概略図を示す。FIG. 2 shows a block schematic diagram of an exemplary embodiment of a receiver that receives compressed macroblocks from the transmitter of FIG. 1 and performs CRC parity calculations to perform error detection and concealment as needed. .

図1及び2はそれぞれ、送信機から受信機に送信されるビデオストリームにおけるエラーの検出と、それが検出されるとこのようなエラーの隠蔽を可能にするため一緒に動作する本発明による送信機10と受信機20を示す。以下で詳細に説明されるように、送信機10と受信機20の組み合わせは、エラーを検出するためCRC(Cyclic Redundancy Check)を利用する。CRCは、伝送前にデータのブロックに添付されるFCS(Frame Check Sequence)を生成する際に使用される一般的に使用されるエラー検出コードを構成する。データブロックを受信すると、CRCはビットエラーの検出を可能にする。CRCコードは、通常は8ビット、16ビット及び32ビットシンボルに適用される。1つの通常使用される16ビットCRC生成多項式は、X16+X12+X+1である。 1 and 2 each show a transmitter according to the invention that works together to detect errors in a video stream transmitted from a transmitter to a receiver and to conceal such errors when it is detected. 10 and the receiver 20 are shown. As will be described in detail below, the combination of the transmitter 10 and the receiver 20 uses CRC (Cyclic Redundancy Check) to detect an error. The CRC constitutes a commonly used error detection code used in generating an FCS (Frame Check Sequence) attached to a block of data before transmission. Upon receipt of the data block, the CRC enables bit error detection. CRC codes are usually applied to 8-bit, 16-bit and 32-bit symbols. One commonly used 16-bit CRC generator polynomial is X 16 + X 12 + X 5 +1.

CRCが適用されるビット又はバイト数は、エラー検出を実行するため、受信する際に既知でなければならない。CRCは、固定長データブロックに適用可能であり、所定の固定された長さが送信機と受信機において知られている。あるいは、CRCは可変長パケットを適用可能であり、それは、受信機がCRCチェック計算を適用すべき長さを決定することができるように、ヘッダに長さフィールドを有している。データ受信時のCRCチェックが影響を受けたパケットを示す場合、CRCは劣化が発生したパケット内の位置についての情報を提供しないため、有効なデータ部分が存在しても、一般にパケットのすべてのデータが破棄される。   The number of bits or bytes to which the CRC is applied must be known when received in order to perform error detection. CRC is applicable to fixed-length data blocks, and a predetermined fixed length is known at the transmitter and receiver. Alternatively, the CRC can apply a variable length packet, which has a length field in the header so that the receiver can determine the length to which the CRC check calculation should be applied. When the CRC check at the time of data reception indicates an affected packet, the CRC does not provide information about the location within the packet where degradation has occurred, so even if there is a valid data portion, generally all the data in the packet Is destroyed.

上記問題点を解決するため、図1及び2の送信機と受信機はそれぞれ、各マクロブロックと当該マクロブロックに係る圧縮されたデータのビット又はバイトとの間の関連付けを行う。マクロブロックを表す圧縮されたデータがビット又はバイトにより揃えられていないとき、部分的なビット又はバイトのビット又はバイト全体がマクロブロックに関連付けされる。1ビット又は1バイトが、複数のマクロブロックに関連付けされてもよい。以下で詳細に説明されるように、CRCパリティ計算が、CRCパリティコードを生成するN個のマクロブロックのグループに係る圧縮されたビット又はバイトに適用される(ただし、Nは整数である)。スライスの次のN個のマクロブロック、又はスライスにN未満のマクロブロックしか残っていない場合にはより少数のマクロブロックがグループ化され、他のCRCパリティ計算がそれらに適用され、他のパリティコードを生成するかもしれない。このN個のマクロブロックのグループ化及びNブロックの各セット上のCRCパリティの計算が、スライスのすべてのマクロブロックが使用されるまで続けられる。スライス内のブロックセット上のCRCパリティコードを計算することによって(スライス全体に対してでなく)、エラーがないと検出されたN個のブロックの各グループについて処理(すなわち、復号化)が行われ、エラーを有すると検出された各グループについて隠蔽が行われる。これは、エラーが検出された場合にスライス全体を破棄する必要を回避する。   To solve the above problems, the transmitter and receiver of FIGS. 1 and 2 each associate an association between each macroblock and the compressed data bits or bytes associated with the macroblock. When compressed data representing a macroblock is not aligned by bits or bytes, a partial bit or byte bit or whole byte is associated with the macroblock. One bit or one byte may be associated with multiple macroblocks. As described in detail below, a CRC parity calculation is applied to the compressed bits or bytes for a group of N macroblocks that generate a CRC parity code, where N is an integer. If the next N macroblocks in the slice, or fewer than N macroblocks remain in the slice, then a smaller number of macroblocks are grouped, other CRC parity calculations are applied to them, and other parity codes Might generate. This grouping of N macroblocks and calculation of CRC parity on each set of N blocks continues until all macroblocks of the slice are used. By calculating the CRC parity code on the block set in the slice (not for the entire slice), processing (ie, decoding) is performed for each group of N blocks detected as error-free. Concealment is performed for each group detected as having an error. This avoids the need to discard the entire slice if an error is detected.

図1は、送信機10の詳細を示す。送信機内のビデオエンコーダ12は、入力ビデオストリームを受信し、以下に限定されるものではないが、MPEG、H.263及びJVTを含むいくつかの周知の圧縮技術の何れかに従ってビデオストリームを符号化(すなわち、圧縮)する。図示された実施例では、エンコーダ12は、JVT圧縮規格に従って入力ビデオストリームを符号化する。パケット化装置14は、ネットワーク15を介した送信のため、エンコーダから図2の受信機20への符号化ビデオをパケット化する。   FIG. 1 shows details of the transmitter 10. A video encoder 12 in the transmitter receives the input video stream and includes, but is not limited to, MPEG, H.264, and the like. The video stream is encoded (ie, compressed) according to any of several well-known compression techniques, including H.263 and JVT. In the illustrated embodiment, the encoder 12 encodes the input video stream according to the JVT compression standard. The packetizer 14 packetizes the encoded video from the encoder to the receiver 20 of FIG. 2 for transmission over the network 15.

送信機10の内部のセレクタブロック14は、エンコーダ12により符号化される各スライス内のN個の圧縮されたマクロブロックを選択する。N未満のマクロブロックしかスライス内に残らなくなる程度まで、セレクタ14はこのような残ったマクロブロックをグループにまとめる。CRCパリティ計算装置18は、N個の圧縮されたマクロブロックを表すビット又はバイトに対するCRCパリティコードを計算する。計算されたパリティコードは、圧縮されたビデオデータと共に、スライスの圧縮されたビデオデータから分離したパケットにより、又はスライスの圧縮されたビデオデータと同じパケットの先頭において伝送される。Nの値は、図1及び2のそれぞれの送信機10と受信機20の両方において予め決定され、知られているか、又はCRCパリティコードと共に伝送可能である。ビデオエンコーダ12が、図示される実施例と同様にJVT圧縮規格に従って入力ビデオを符号化するとき、CRCパリティ計算装置18により行われるCRCパリティ計算は、符号化ビデオと共に補完的エンハンスメント情報(Supplemental Enhancement Information)として伝送可能である。   A selector block 14 within the transmitter 10 selects N compressed macroblocks in each slice to be encoded by the encoder 12. The selector 14 groups such remaining macroblocks into groups until only less than N macroblocks remain in the slice. The CRC parity calculator 18 calculates a CRC parity code for the bits or bytes that represent the N compressed macroblocks. The calculated parity code is transmitted along with the compressed video data, either by a packet separated from the compressed video data of the slice, or at the beginning of the same packet as the compressed video data of the slice. The value of N is predetermined and known at both the transmitter 10 and the receiver 20 of FIGS. 1 and 2, respectively, or can be transmitted with a CRC parity code. When the video encoder 12 encodes the input video according to the JVT compression standard as in the illustrated embodiment, the CRC parity calculation performed by the CRC parity calculation unit 18 is supplemented with supplemented enhancement information (Supplemental Enhancement Information) along with the encoded video. ) Can be transmitted.

図2は、受信機20の詳細を示す。受信機20は、図1の送信機10によってネットワーク15を介し伝送される符号化されたビデオパケットを復号化するビデオデコーダ22を有する。図示された実施例では、図2の受信機20の内部のビデオデコーダ22は、JVTビデオ圧縮規格に従って当初符号化されたパケット化されたビデオを復号化するよう動作する。CRCパリティ計算装置24は、図1のCRCパリティ計算装置18がパリティコードを計算したN個の復号化されたマクロブロックのそれぞれに対応するビデオデコーダ22により復号化されたN個のマクロブロックの各グループに対してCRCパリティコードを計算する。すなわち、図1及び2のCRCパリティコード計算装置18と24のそれぞれは、N個のマクロブロックの同一グループに対してCRCパリティコードを計算する。   FIG. 2 shows details of the receiver 20. The receiver 20 includes a video decoder 22 that decodes encoded video packets transmitted over the network 15 by the transmitter 10 of FIG. In the illustrated embodiment, the video decoder 22 within the receiver 20 of FIG. 2 operates to decode the packetized video that was originally encoded according to the JVT video compression standard. The CRC parity calculation device 24 is configured so that each of the N macroblocks decoded by the video decoder 22 corresponding to each of the N decoded macroblocks for which the CRC parity calculation device 18 of FIG. A CRC parity code is calculated for the group. That is, each of the CRC parity code calculation devices 18 and 24 of FIGS. 1 and 2 calculates a CRC parity code for the same group of N macroblocks.

図2の受信機20内のCRCパリティ比較装置26は、CRCパリティ計算装置24により計算されるCRCパリティコードを、CRCパリティ計算装置18からSEIメッセージにより受信したCRCパリティコードと比較する。2つのCRCパリティコードの一致は、デコーダ22により復号化されるN個のマクロブロックのグループが、図1の送信機10により送信されたN個のマクロブロックの同一グループに対してエラーを含んでいないことを意味する。このような状況の下、セレクタ28は、N個のマクロブロックのエラーのないグループがディスプレイ(図示せず)や記録装置などを含みうるそれらの宛先にわたされることを可能にする。エラーイベントにおいて発生するように、CRCパリティコードが一致しない場合、N個のマクロブロックのグループについて、このようなアクションをビデオデコーダ22に警告するビデオエラー隠蔽ブロック30による隠蔽が行われる。   The CRC parity comparison device 26 in the receiver 20 of FIG. 2 compares the CRC parity code calculated by the CRC parity calculation device 24 with the CRC parity code received from the CRC parity calculation device 18 by the SEI message. The match of the two CRC parity codes indicates that the group of N macroblocks decoded by the decoder 22 contains an error for the same group of N macroblocks transmitted by the transmitter 10 of FIG. Means not. Under such circumstances, the selector 28 allows an error-free group of N macroblocks to be passed to their destination, which may include a display (not shown), a recording device, and the like. If the CRC parity codes do not match, as occurs in the error event, concealment is performed by a video error concealment block 30 that alerts the video decoder 22 of such action for a group of N macroblocks.

効果的には、図2のデコーダ22は、マクロブロックの何れのグループがエラーにより影響を受けるかについて、ビデオエラー隠蔽ブロック30から受信した情報に基づき知っている。エラーのあるグループより先に受信したスライスの各グループに係るマクロブロックは、このようなブロックはエラーを有していないため、通常の復号化が行われる。エラーのあるグループ内であって、スライスにおいて後のマクロブロックは、劣化しているとみなされ、復号化の代わりに隠蔽される。   Effectively, the decoder 22 of FIG. 2 knows based on the information received from the video error concealment block 30 which groups of macroblocks are affected by the error. Macroblocks related to each group of slices received prior to the group having an error are normally decoded because such a block has no error. Later macroblocks in the slice that are in error are considered degraded and are concealed instead of decoded.

1つのCRCコードがスライス全体に適用される従来技術による方法と比較して、本原理のエラー検出技術は、伝送エラーに先行するグループのマクロブロックはエラーを有さず、不連続性の隠蔽又はテストである必要がないという効果を提供する。隠蔽が不適切に行われた劣化していないマクロブロックは、一般に適切に符号化されたマクロブロックより低い画質を有する。フレーム間符号化のため、低画質はより長期間持続する可能性がある。   Compared with the prior art method in which one CRC code is applied to the whole slice, the error detection technique of the present principle is such that the group of macroblocks preceding the transmission error has no error and the concealment concealment or Provides the effect that it does not have to be a test. Undegraded macroblocks that are improperly concealed generally have lower image quality than properly coded macroblocks. Due to inter-frame coding, low image quality may last longer.

本原理のエラー検出技術は、伝送エラーの位置を検出するため、空間連続性の指標を復号化されたビデオに適用する方法より好ましい。それは、CRCパリティコードの計算と受信した値との比較が、空間不連続性の測定よりはるかに低い複雑さしか受けないため、計算複雑さが大きく低下する効果を有する。本原理の技術は、劣化していないマクロブロックが不適切な隠蔽を受ける偽陽性を回避する効果を有し、また劣化したマクロブロックについて隠蔽がされないが、そうされるべきである偽陰性を回避する効果を有する。   The error detection technique of the present principle is preferable to the method of applying the spatial continuity index to the decoded video in order to detect the position of the transmission error. It has the effect that the computational complexity is greatly reduced since the calculation of the CRC parity code and the comparison of the received values are subject to much lower complexity than the measurement of spatial discontinuities. The technology of this principle has the effect of avoiding false positives where undegraded macroblocks are improperly concealed, and avoiding false negatives that are not concealed but should be done for degraded macroblocks Has the effect of

MPEG−2ビデオ圧縮規格に適用されると、CRCパリティコード及び任意的にNの値が、ユーザデータフィールドにより伝送可能である。JVTビデオ圧縮規格に適用されると、CRCパリティコードと任意的にNの値が、1以上のSEIメッセージ又はユーザデータにより送信可能である。   When applied to the MPEG-2 video compression standard, a CRC parity code and optionally a value of N can be transmitted in the user data field. When applied to the JVT video compression standard, a CRC parity code and optionally a value of N can be transmitted by one or more SEI messages or user data.

Nの選択及びCRCパリティコードの計算が行われるマクロブロック数は、ネットワーク15の予想エラーレートに依存する。Nの大きな値の選択は(マクロブロックのグループが少ないほど、グループ毎のマクロブロックは多くなる)、CRCパリティコードの伝送オーバーヘッドを低減させるが、エラー検出の精度は低下する。Nの小さな値の選択は(マクロブロックのグループ数が多くなるほど、グループ毎のマクロブロック数は少なくなる)、CRCパリティコードを伝送するオーバーヘッドを増大させるが、エラー特定の精度は向上する。Nの小さな値について、一様分布するエラーとスライスのすべてのマクロブロックに対する一様な圧縮を仮定すると、劣化していないとして特定することが可能なマクロブロックのレシオは、1/2に近づく。   The number of macroblocks for which N is selected and the CRC parity code is calculated depends on the expected error rate of the network 15. Selecting a large value of N (the smaller the group of macroblocks, the more macroblocks per group) reduces the CRC parity code transmission overhead, but reduces the accuracy of error detection. Selecting a small value of N (the larger the number of macroblock groups, the smaller the number of macroblocks per group) increases the overhead of transmitting the CRC parity code, but improves the error identification accuracy. For a small value of N, assuming a uniformly distributed error and uniform compression for all macroblocks in a slice, the ratio of macroblocks that can be identified as not degraded approaches ½.

上述したエラー検出技術はCRCコードを利用するが、任意のタイプのエラー検出又は訂正多項式が利用可能である。CRCコードは、一般にバイトに対して計算及び適用される。さらに、本技術は、スライスのすべてのマクロブロックについてCRCパリティコードの計算及び送信を必要としない。いくつかの例では、スライスの後のマクロブロックより先のマクロブロックについてパリティコードを送信することは、圧縮されたスライスにおいてエラーの検出が行われると、スライスの残りのマクロブロックについて訂正が行われないため、効果的であるとわかる。これは、それらが伝送エラーナシに受信したマクロブロックグループに属していても、真であり続ける。   Although the error detection technique described above uses a CRC code, any type of error detection or correction polynomial can be used. CRC codes are generally calculated and applied to bytes. Furthermore, the present technique does not require CRC parity code calculation and transmission for all macroblocks of a slice. In some examples, sending a parity code for a macroblock that precedes the macroblock after the slice is corrected for the remaining macroblocks of the slice once an error is detected in the compressed slice. Since it is not, it turns out that it is effective. This continues to be true even if they belong to the macroblock group received in transmission error.

上記は、符号化されたビデオストリームにおいてエラーを検出する技術について記載している。   The above describes a technique for detecting errors in an encoded video stream.

10 送信機
20 受信機
10 Transmitter 20 Receiver

Claims (9)

符号化されたビデオストリームにおいてエラーを検出する方法であって、
N個のマクロブロックの第1グループと第2グループとを少なくとも有する少なくとも1つのスライスからなる前記符号化されたビデオストリームを受信するステップであって、前記符号化されたビデオストリームの少なくとも1つのビット又はバイトが前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされる、前記受信するステップと、
前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループに係る第1パリティコードを受信するステップと、
前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループに対して、前記符号化されたビットストリームからビット又はバイトを選択するステップであって、ビット又はバイト全体が前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされるとき前記ビット又はバイト全体が前記N個のマクロブロックの第1グループに対して選択される、前記選択するステップと、
前記選択されたビット又はバイトに対して第2パリティコードを計算するステップと、
前記N個のマクロブロックの第1グループがエラーを含むか判断するため、前記第1パリティコードと前記第2パリティコードとを比較するステップと、
を有する方法。
A method for detecting errors in an encoded video stream, comprising:
Receiving the encoded video stream comprising at least one slice having at least a first group and a second group of N macroblocks, wherein the at least one bit of the encoded video stream or bytes are associated with both the first and second groups of the N macroblocks of said at least one slice, the step of receiving,
Receiving a first parity code according to the first group of the N macroblocks of said at least one slice,
Wherein with respect to said first group of N macroblocks of at least one slice, a steps of selecting a bit or byte from the encoded bit stream, the bit or byte entirely the N macro The selecting step wherein the entire bit or byte is selected for the first group of N macroblocks when associated with both a first group of blocks and a second group ;
Calculating a second parity code for the selected bits or bytes;
Comparing the first parity code and the second parity code to determine whether the first group of the N macroblocks includes an error;
Having a method.
前記エラーが前記N個のマクロブロックの第1グループに存在すると判断されると、前記N個のマクロブロックの第1グループを隠蔽するステップをさらに有する、請求項1記載の方法。 The method of claim 1, further comprising concealing the first group of N macroblocks when it is determined that the error exists in the first group of N macroblocks. 前記第1パリティコードは、CRC(Cyclic Redundancy Check)コードを有する、請求項1又は2記載の方法。   The method according to claim 1, wherein the first parity code includes a CRC (Cyclic Redundancy Check) code. 符号化されたビデオストリームにおいてエラーを検出する装置であって、
(a)N個のマクロブロックの第1グループと第2グループとを少なくとも有する少なくとも1つのスライスからなる前記符号化されたビデオストリームであって、前記符号化されたビデオストリームの少なくとも1つのビット又はバイトが前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされる、前記符号化されたビデオストリームを受信し、(b)前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループに係る第1パリティコードを受信し、(c)前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループに対して、前記符号化されたビットストリームからビット又はバイトを選択する受信機であって、ビット又はバイト全体が前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされるとき前記ビット又はバイト全体が前記N個のマクロブロックの第1グループに対して選択される、前記受信機と、
前記選択されたビット又はバイトに対して第2パリティコードを計算する計算装置と、
前記N個のマクロブロックの第1グループがエラーを含むか判断するため、前記第1パリティコードと前記第2パリティコードとを比較する比較装置と、
を有する装置。
An apparatus for detecting errors in an encoded video stream,
(A) the encoded video stream consisting of at least one slice having at least a first group and a second group of N macroblocks , wherein at least one bit of the encoded video stream; Receiving the encoded video stream, wherein bytes are associated with both a first group and a second group of the N macroblocks of the at least one slice; and (b) of the at least one slice. receiving a first parity code according to the first group of the N macroblocks, (c) the first group of the N macroblocks of said at least one slice, the encoded bit stream from a receiver to select a bit or byte, the whole bit or byte of N Entire bits or bytes when the first group of macroblocks and are associated with both the second group is selected for the first group of the N macroblocks, and said receiver,
A computing device for calculating a second parity code for the selected bits or bytes;
A comparator for comparing the first parity code and the second parity code to determine whether the first group of the N macroblocks includes an error;
Having a device.
前記エラーが前記N個のマクロブロックの第1グループに存在すると判断されると、前記N個のマクロブロックの第1グループを隠蔽するビデオエラー隠蔽装置をさらに有する、請求項4記載の装置。 5. The apparatus of claim 4, further comprising a video error concealment device that conceals the first group of N macroblocks when it is determined that the error exists in the first group of N macroblocks. (a)N個のマクロブロックの第1グループと第2グループとを少なくとも有する少なくとも1つのスライスからなる符号化されたビデオストリームであって、前記符号化されたビデオストリームの少なくとも1つのビット又はバイトが前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされる、前記符号化されたビデオストリームを受信し、(b)前記符号化されたビデオストリームからN個のマクロブロックの第1グループに対するビット又はバイト選択する選択装置であって、ビット又はバイト全体が前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされるとき前記ビット又はバイト全体が前記N個のマクロブロックの第1グループに対して選択される、前記選択装置と、
前記選択されたビット又はバイトに対して計算されたパリティコードと共に、前記符号化されたビデオストリームを送信する送信機と、
を有する装置。
(A) an encoded video stream comprising at least one slice having at least a first group and a second group of N macroblocks , wherein at least one bit or byte of the encoded video stream Receive the encoded video stream associated with both a first group and a second group of the N macroblocks of the at least one slice ; and (b) the encoded video stream a selection device for selecting a bit or byte for the first group of N macroblocks, the whole bit or byte is associated with both the first and second groups of said N macroblocks from The entire bit or byte is selected for the first group of N macroblocks. Said selection device to be selected;
A transmitter for transmitting the encoded video stream together with a parity code calculated for the selected bits or bytes;
Having a device.
前記パリティコードは、CRC(Cyclic Redundancy Check)コードを有する、請求項6記載の装置。   The apparatus of claim 6, wherein the parity code comprises a CRC (Cyclic Redundancy Check) code. N個のマクロブロックの第1グループと第2グループとを少なくとも有する少なくとも1つのスライスからなる符号化されたビデオストリームを受信するステップであって、前記符号化されたビデオストリームの少なくとも1つのビット又はバイトが前記少なくとも1つのスライスの前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされる、前記受信するステップと、
前記符号化されたビデオストリームから前記N個のマクロブロックの第1グループに対するビット又はバイト選択するステップであって、ビット又はバイト全体が前記N個のマクロブロックの第1グループと第2グループとの双方に関連付けされるとき前記ビット又はバイト全体が前記N個のマクロブロックの第1グループに対して選択される、前記選択するステップと、
前記選択されたビット又はバイトに対して計算されたパリティコードと共に、前記符号化されたビデオストリームを送信するステップと、
を有する方法。
Receiving an encoded video stream comprising at least one slice having at least a first group and a second group of N macroblocks, wherein the at least one bit of the encoded video stream or bytes are associated with both the first and second groups of the N macroblocks of said at least one slice, the step of receiving,
And selecting a bit or byte for the first group of the N macroblocks from said encoded video stream, the overall bit or byte first and second groups of the N macroblocks The selecting step wherein the entire bit or byte is selected for the first group of the N macroblocks when associated with both
Transmitting the encoded video stream together with a parity code calculated for the selected bits or bytes;
Having a method.
前記パリティコードは、CRC(Cyclic Redundancy Check)コードを有する、請求項8記載の方法。   9. The method of claim 8, wherein the parity code comprises a CRC (Cyclic Redundancy Check) code.
JP2011196859A 2011-09-09 2011-09-09 Video error detection technology using CRC parity code Active JP5474896B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011196859A JP5474896B2 (en) 2011-09-09 2011-09-09 Video error detection technology using CRC parity code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011196859A JP5474896B2 (en) 2011-09-09 2011-09-09 Video error detection technology using CRC parity code

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007552103A Division JP2008529346A (en) 2005-01-24 2005-01-24 Video error detection technology using CRC parity code

Publications (2)

Publication Number Publication Date
JP2012019540A JP2012019540A (en) 2012-01-26
JP5474896B2 true JP5474896B2 (en) 2014-04-16

Family

ID=45604378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011196859A Active JP5474896B2 (en) 2011-09-09 2011-09-09 Video error detection technology using CRC parity code

Country Status (1)

Country Link
JP (1) JP5474896B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720411B1 (en) * 2000-10-25 2007-05-22 엘지.필립스 엘시디 주식회사 Liquid crystal display panel and method for manufacturing the same
US8295362B2 (en) * 2006-01-05 2012-10-23 Broadcom Corporation Method and system for redundancy-based decoding of video content

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2998659B2 (en) * 1996-10-11 2000-01-11 日本電気株式会社 Error control device
JPH11164296A (en) * 1997-11-25 1999-06-18 Nippon Telegr & Teleph Corp <Ntt> Video display method and system
JP2002374535A (en) * 2001-06-15 2002-12-26 Canon Inc Image processor, image processing method, recording medium and program
JP2003018595A (en) * 2001-07-03 2003-01-17 Matsushita Electric Ind Co Ltd Video encoding system, video decoding system, video encoding method, and video decoding method
JP2003209837A (en) * 2001-11-09 2003-07-25 Matsushita Electric Ind Co Ltd Moving picture coding method and apparatus

Also Published As

Publication number Publication date
JP2012019540A (en) 2012-01-26

Similar Documents

Publication Publication Date Title
KR101050830B1 (en) Video error detection technology using the RC parity code
KR101125846B1 (en) Method for transmitting image frame data based on packet system and apparatus thereof
US6490705B1 (en) Method and apparatus for receiving MPEG video over the internet
US6317462B1 (en) Method and apparatus for transmitting MPEG video over the internet
KR100983169B1 (en) Frame level multimedia decoding with frame information table
KR100998454B1 (en) Error recovery using in band error patterns
EP0861001A2 (en) Error resilient video encoding
KR20020064779A (en) Coding of a data stream
US8457199B2 (en) Video coding
JP5474896B2 (en) Video error detection technology using CRC parity code
US20140119445A1 (en) Method of concealing picture header errors in digital video decoding
US20070150786A1 (en) Method for coding, method for decoding, device for coding and device for decoding video data
CN101107864A (en) Video error detection technique using a CRC parity code
EP1555788A1 (en) Method for improving the quality of an encoded video bit stream transmitted over a wireless link, and corresponding receiver
JPH09121347A (en) Method and device for encoding/decoding moving image signal
Pascual Biosca et al. Optimal interleaving for robust wireless JPEG 2000 images and video transmission
JP3756029B2 (en) Video signal encoding / decoding method and encoding / decoding device
JP2002223447A (en) Image transmission method and image transmitter
JP3118233B2 (en) Moving image signal encoding / decoding method and encoding / decoding device
Lynch et al. Syntax and discontinuity based error concealment for compressed video in a packet environment
Robie et al. The use of steganography to enhance error detection and correction in MPEG-2 video
JP2001103476A (en) Coding method and device for dynamic image signal
JP2001103492A (en) Method and device for coding dynamic image signal

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140205

R150 Certificate of patent or registration of utility model

Ref document number: 5474896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250