JP6130515B2 - High throughput residual coding for transform skip blocks for CABAC in HEVC - Google Patents

High throughput residual coding for transform skip blocks for CABAC in HEVC Download PDF

Info

Publication number
JP6130515B2
JP6130515B2 JP2015545979A JP2015545979A JP6130515B2 JP 6130515 B2 JP6130515 B2 JP 6130515B2 JP 2015545979 A JP2015545979 A JP 2015545979A JP 2015545979 A JP2015545979 A JP 2015545979A JP 6130515 B2 JP6130515 B2 JP 6130515B2
Authority
JP
Japan
Prior art keywords
encoding
block
electronic device
absolute
value
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
JP2015545979A
Other languages
Japanese (ja)
Other versions
JP2016514911A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/857,366 external-priority patent/US9860527B2/en
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016514911A publication Critical patent/JP2016514911A/en
Application granted granted Critical
Publication of JP6130515B2 publication Critical patent/JP6130515B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

関連出願の相互参照
本出願は、2012年1月19日に出願された「HEVCにおけるCABACに対する高スループット2値化(HTB)法(HIGH THROUGHPUT BINARIZATION(HTB)METHOD FOR CABAC IN HEVC)」と題する米国特許出願第13/354,272号の一部継続出願である、2012年1月27日に出願された「HEVCにおけるCABACに対するロスレス符号化技術(LOSSLESS CODING TECHNIQUE FOR CABAC IN HEVC)」と題する米国特許出願第13/360,615号の一部継続出願である、2012年2月2日に出願された「HEVCにおけるCABACに対する高スループット有意性マップ処理(HIGH THROUGHPUT SIGNIFICANCE MAP PROCESSING FOR CABAC IN HEVC)」と題する米国特許出願第13/365,215号の一部継続出願である、2012年4月11日に出願された「HEVCにおけるCABACに対する異なるパラメータ選択技術を伴うロスレス符号化(LOSSLESS CODING WITH DIFFERENT PARAMETER SELECTION TECHNIQUE FOR CABAC IN HEVC)」と題する米国特許出願第13/444,710号の一部継続出願である、2012年4月26日に出願された「HEVCにおけるCABACに対する高スループット符号化(HIGH THROUGHPUT CODING FOR CABAC IN HEVC)」と題する米国特許出願第13/457,272号の一部継続出願である、米国特許出願第13/857,366号に基づく優先権を主張するものであり、これらの文献の各々は、その全体が本明細書において引用により援用される。
CROSS REFERENCE TO RELATED APPLICATIONS This application is the United States of America entitled "HIGH THROUGHPUT BINARIZATION (HTB) METHOD FOR CABAC IN HEVC", filed on January 19, 2012, in HEVC. US patent entitled “LOSSLES CODING TECHNIQUE FOR CABAC IN HEVC” filed on Jan. 27, 2012, which is a continuation-in-part of patent application No. 13 / 354,272 "High THROUGHP High-Throughness Map Processing for CABAC in HEVC", filed February 2, 2012, which is a continuation-in-part of application 13 / 360,615. “A different parameter selection technique for CABAC in HEVC” filed on April 11, 2012, which is a continuation-in-part of US patent application No. 13 / 365,215 entitled “T SIGNIFICANCE MAP PROCESSING FOR CABAC IN HEVC”. "HEVC" filed on April 26, 2012, which is a continuation-in-part of US Patent Application No. 13 / 444,710 entitled "LOSSLESS CODING WITH DIFFERENT PARAMETER SELECTION TECHNIQUE FOR CABAC IN HEVC" US Patent entitled “High THROUGHPUT CODING FOR CABAC IN HEVC” No. 13 / 457,272, which is a continuation-in-part of US Patent Application No. 13 / 857,366, each of which is hereby incorporated by reference in its entirety. Incorporated by reference.

技術分野
本開示は一般的に、電子デバイスに関する。より特定的には、本開示は、符号化および/または復号のために、拡張されたコンテキスト適応型2値算術符号化(Context Adaptive Binary Arithmetic Coding:CABAC)を用いる電子デバイスに関する。
TECHNICAL FIELD The present disclosure relates generally to electronic devices. More specifically, the present disclosure relates to an electronic device that uses extended context adaptive binary arithmetic coding (CABAC) for encoding and / or decoding.

多くのデコーダ(およびエンコーダ)は、画像のブロックに対する符号化データを受信(エンコーダの場合は提供)する。典型的に、画像は複数のブロックに分割され、各ブロックは、たとえば離散コサイン変換(discrete cosine transform:DCT)を使用するなど、何らかの方法で符号化されて、デコーダに供給される。ブロックは画像内の矩形領域を示してもよく、画素からなっていてもよい。たとえば16×16ブロックは、幅が16画素で高さが16画素の領域である。デコーダは符号化されたブロックを受信して、たとえば逆離散コサイン変換を使用するなど、何らかの方法で各ブロックを復号する。   Many decoders (and encoders) receive (provide in the case of an encoder) encoded data for a block of images. Typically, an image is divided into a plurality of blocks, and each block is encoded in some way, for example using a discrete cosine transform (DCT), and supplied to a decoder. The block may indicate a rectangular area in the image or may be composed of pixels. For example, a 16 × 16 block is an area having a width of 16 pixels and a height of 16 pixels. The decoder receives the encoded blocks and decodes each block in some way, such as using an inverse discrete cosine transform.

たとえばMPEG−4 part10(H.264)などのビデオ符号化規格は、限られた周波数帯域幅および/または限られた記憶容量を伴うチャネルを通じた送信のために、ビデオデータを圧縮する。これらのビデオ符号化規格は、より効果的にフレームを符号化および復号するために、たとえばイントラ予測、空間領域から周波数領域への変換、量子化、エントロピー符号化、動き推定、および動き補償など、複数の符号化段階を含む。   Video coding standards such as MPEG-4 part 10 (H.264) compress video data for transmission over channels with limited frequency bandwidth and / or limited storage capacity. These video coding standards include, for example, intra prediction, spatial domain to frequency domain transformation, quantization, entropy coding, motion estimation, and motion compensation to more effectively encode and decode frames. It includes a plurality of encoding stages.

国際電気通信連合電気通信標準化部門(International Telecommunication Union Telecommunication Standardization Sector:ITU−T)研究グループ16(Study Group 16:SG16)作業班3(Working Party 3:WP3)と、国際標準化機構/国際電気標準会議(International Organization for Standardization/International Electrotechnical Commission:ISO/IEC)合同専門委員会1/小委員会29/作業グループ11(Joint Technical Committee 1/Subcommittee 29/Working Group 11:JTC1/SC29/WG11)とのビデオ符号化に関する共同作業チーム(Joint Collaborative Team on Video Coding:JCT−VC)は、高効率ビデオ符号化規格(High Efficiency Video Coding standard:HEVC)と呼ばれるビデオ符号化規格に関する規格化の取り組みを開始した。いくつかの先行ビデオ符号化規格と同様に、HEVCはブロックに基づく符号化である。公知のHEVCエンコーダの例を図1に示す。HEVCデコーダも公知である。   International Telecommunication Union Telecommunication Standardization Sector (ITU-T) Study Group 16 (Study Group 16: SG16) Working Group 3 (International Working Party 3: WP3) (International Organization for Standardization / International Electrotechnical Commission: ISO / IEC) Joint Technical Committee 1 / Subcommittee 29 / Work Group 11 (Joint Technical Committee 1 / Subcommitte) 9 / Working Group 11: JTC1 / SC29 / WG11), a joint work team on video coding (JCT-VC) A standardization effort on the video coding standard called Like some prior video coding standards, HEVC is block-based coding. An example of a known HEVC encoder is shown in FIG. HEVC decoders are also known.

HEVCにおいては、変換および量子化された係数(Transformed and Quantized Coefficients:TQC)を損失なく圧縮するために、コンテキスト適応型2値算術符号化(CABAC)が用いられる。TQCはエンコーダにおいて、画像ブロックを順変換で処理して変換係数を生成し、次いで複数の変換係数値をTQC値にマッピングする操作を用いて変換係数を量子化することによって定められる。次いでTQC値は、係数レベル値またはレベル値としてデコーダに通信され、次いで各係数に対するレベル値が、エンコーダにおいて計算される変換係数値と類似しているが必ずしも同じではない変換係数値に対してマッピングされる。CABACに基づく符号化および/または復号技術は一般的にコンテキスト適応型であり、コンテキスト適応型とは(i)過去に符号化および/または復号された前のシンボルの値に基づいてシンボルを適応的に符号化すること、ならびに(ii)適応に用いられた、過去に符号化および/または復号されたシンボルのセットを特定するコンテキストを示す。過去のシンボルは、空間的および/または時間的に隣接したブロックに位置し得る。多くの場合、コンテキストは近隣ブロックのシンボル値に基づいている。   In HEVC, context adaptive binary arithmetic coding (CABAC) is used to compress transformed and quantized coefficients (TQC) without loss. TQC is defined in an encoder by processing an image block with forward transform to generate transform coefficients, and then quantizing the transform coefficients using an operation that maps a plurality of transform coefficient values to TQC values. The TQC values are then communicated to the decoder as coefficient level values or level values, and the level values for each coefficient are then mapped to transform coefficient values that are similar but not necessarily the same as the transform coefficient values calculated at the encoder. Is done. CABAC-based encoding and / or decoding techniques are generally context-adaptive, which is (i) adaptive to symbols based on the value of previous symbols previously encoded and / or decoded. And (ii) Context identifying the set of previously encoded and / or decoded symbols used for adaptation. Past symbols may be located in spatially and / or temporally adjacent blocks. In many cases, the context is based on the symbol values of neighboring blocks.

上述のとおり、CABACはTQCを損失なしに圧縮するために用いられ得る。背景として、TQCは変換サイズ(例、4×4、8×8、16×16、32×32、16×32)に従う異なるブロック・サイズに由来してもよい。エントロピー符号化の前に、2次元(2D:two−dimensional)TQCが1次元(1D:one−dimensional)配列に変換されてもよい。一例において、4×4ブロックにおける2D配列TQCは、表(1)に示されるとおりに配置されてもよい。   As mentioned above, CABAC can be used to compress TQC without loss. As background, the TQC may be derived from different block sizes according to the transform size (eg, 4 × 4, 8 × 8, 16 × 16, 32 × 32, 16 × 32). Prior to entropy coding, a two-dimensional (2D) two-dimensional (TQC) may be converted to a one-dimensional (1D) array. In one example, the 2D array TQC in the 4 × 4 block may be arranged as shown in Table (1).

2D TQCを1D配列に変換するとき、ブロックが斜めにジグザグ状にスキャンされてもよい。この例を続けると、表(1)に示される2D配列TQCは、第1行第1列、第1行第2列、第2行第1列、第3行第1列、第2行第2列、第1行第3列、第1行第4列、第2行第3列、第3行第2列、第4行第1列、以下同様にスキャンすることによって、1D配列TQC[4,0,3,−3,2,1,0,−1,0,...]に変換されるとよい。   When converting 2D TQC to a 1D array, blocks may be scanned diagonally in a zigzag pattern. Continuing with this example, the 2D array TQC shown in Table (1) has the first row, first column, the first row, second column, the second row, first column, the third row, first column, the second row, second column. By scanning 2 columns, 1st row 3rd column, 1st row 4th column, 2nd row 3rd column, 3rd row 2nd column, 4th row 1st column, and so on, 1D array TQC [ 4,0,3, -3,2,1,0, -1,0,. . . ] May be converted to.

TQCの1D配列は、CABACにおいてシンタックス要素(Syntax Elements:SE)の列によって表される。TQCの1D配列の例に対するSEの列の例を図2に示す。SEは次のパラメータを表す。すなわち、Last_position_X/Y、有意性マップ、および属性Greater_than_1、Greater_than_2、正負情報、ならびにAbsolute−3である。Last_position_X/Yは、対応ブロックにおける最終非ゼロ係数の位置(X/Y)を表す。有意性マップは、各係数の有意性を表す。Greater_than_1は、各非ゼロ係数(すなわち1の有意フラグを有する係数)に対して、その係数振幅が1より大きいかどうかを示す。Greater_than_2は、1より大きい振幅を有する(すなわち1のGreater_than_1フラグを有する)各係数に対して、その係数振幅が2より大きいかどうかを示す。   A 1D sequence of TQC is represented by a string of syntax elements (SE) in CABAC. An example SE column for an example of a TQC 1D array is shown in FIG. SE represents the following parameter. That is, Last_position_X / Y, significance map, attributes Greator_than_1, Greeter_than_2, positive / negative information, and Absolute-3. Last_position_X / Y represents the position (X / Y) of the final non-zero coefficient in the corresponding block. The significance map represents the significance of each coefficient. Greeter_than_1 indicates whether the coefficient amplitude is greater than 1 for each non-zero coefficient (ie, a coefficient having a significance flag of 1). Greater_than_2 indicates, for each coefficient having an amplitude greater than 1 (ie, having a Greeter_than_1 flag of 1), that coefficient amplitude is greater than 2.

HEVCにおけるCABACにおいて、代表的なSEは符号化される。図3は、SEを符号化するために用いられるCABACフレームワークを示す。CABAC符号化技術は、複数の段階を用いてシンボルを符号化することを含む。第1段階において、CABACは「バイナライザ」を用いて、入力シンボルを2値シンボル(binary symbols)すなわち「ビン」の列にマッピングする。入力シンボルは、ビットに符号化される前に2値化されるか、または別様に変換されて2値(1または0)シンボルの列にされる非2値シンボルであってもよい。ビンは、「バイパス符号化エンジン」または「レギュラー符号化エンジン」のいずれかを用いてビットに符号化され得る。   In CABAC in HEVC, a typical SE is encoded. FIG. 3 shows the CABAC framework used to encode SE. The CABAC encoding technique includes encoding symbols using multiple stages. In the first stage, CABAC uses a “binarizer” to map input symbols to a sequence of binary symbols or “bins”. The input symbols may be non-binary symbols that are binarized before being encoded into bits, or otherwise transformed into a sequence of binary (1 or 0) symbols. Bins may be encoded into bits using either a “bypass encoding engine” or a “regular encoding engine”.

CABACにおけるレギュラー符号化エンジンに対しては、第2段階において確率モデルが選択される。確率モデルは、2値化入力シンボルの1つまたはそれ以上のビンを算術符号化するために用いられる。このモデルは、最近符号化されたシンボルの関数であるコンテキストに依存して、利用可能な確率モデルのリストから選択されてもよい。確率モデルは、ビンが「1」または「0」である確率を記憶する。第3段階において、算術エンコーダは、選択された確率モデルに従って各ビンを符号化する。各ビンに対して、「0」および「1」に対応する2つの部分範囲が存在する。第4段階は、確率モデルをアップデートすることを伴う。実際に符号化されたビン値に基づいて、選択された確率モデルがアップデートされる(例、もしビン値が「1」であれば、「1」の頻度数が増やされる)。CABAC復号のための復号技術は、この処理を逆にしたものである。   For the regular coding engine in CABAC, a probability model is selected in the second stage. A probabilistic model is used to arithmetically encode one or more bins of a binarized input symbol. This model may be selected from a list of available probability models, depending on the context that is a function of the recently encoded symbols. The probability model stores the probability that the bin is “1” or “0”. In the third stage, the arithmetic encoder encodes each bin according to the selected probability model. For each bin, there are two subranges corresponding to “0” and “1”. The fourth stage involves updating the probability model. The selected probability model is updated based on the actual encoded bin value (eg, if the bin value is “1”, the frequency number of “1” is increased). The decoding technique for CABAC decoding reverses this process.

CABACのバイパス符号化エンジンに対して、第2段階は、計算コストが高いコンテキスト推定および確率アップデートの段階を省略してビンをビットに変換することを伴う。バイパス符号化エンジンは、入力ビンに対して固定された確率分布を想定する。CABAC復号のための復号技術は、この処理を逆にしたものである。   For the CABAC bypass coding engine, the second stage involves converting bins into bits, omitting the computationally expensive context estimation and probability update stages. The bypass encoding engine assumes a fixed probability distribution for the input bin. The decoding technique for CABAC decoding reverses this process.

CABACは、概念上2つのステップを用いてシンボルを符号化する。第1のステップにおいて、CABACは、入力シンボルからビンへの2値化を行う。第2のステップにおいて、CABACは、バイパス符号化エンジンまたはレギュラー符号化エンジンのいずれかを用いたビンからビットへの変換を行う。結果として得られた符号化ビット値は、ビットストリームにおいてデコーダに供給される。   CABAC conceptually encodes symbols using two steps. In the first step, CABAC performs binarization from input symbols to bins. In the second step, CABAC performs bin to bit conversion using either a bypass coding engine or a regular coding engine. The resulting encoded bit value is supplied to the decoder in the bitstream.

CABACは、概念上2つのステップを用いてシンボルを復号する。第1のステップにおいて、CABACは、バイパス復号エンジンまたはレギュラー復号エンジンのいずれかを用いて入力ビットをビン値に変換する。第2のステップにおいて、CABACは、ビン値に対する送信シンボル値を復元するためにデバイナリゼーションを行う。復元されたシンボルは本質的に非2値であり得る。デコーダの残りの局面において、復元されたシンボル値が用いられる。   CABAC conceptually decodes symbols using two steps. In the first step, CABAC converts input bits to bin values using either a bypass decoding engine or a regular decoding engine. In the second step, CABAC performs de-binarization to recover the transmitted symbol value for the bin value. The recovered symbol may be non-binary in nature. In the remaining aspects of the decoder, the recovered symbol values are used.

前述のとおり、CABACの符号化および/または復号処理は、少なくとも2つの異なる演算モードを含む。第1のモードにおいては、実際に符号化されたビン値に基づいて確率モデルがアップデートされ、このモードは一般的に「レギュラー符号化モード」と呼ばれる。レギュラー符号化モードは、いくつかの連続するシリアル動作を必要とするとともに、関連する計算が複雑であり、完了するためにかなりの時間を要する。第2のモードにおいては、実際に符号化されたビン値に基づいて確率モデルがアップデートされず、このモードは一般的に「バイパス符号化モード」と呼ばれる。第2のモードにおいては、ビンを復号するための(おそらくは固定された確率以外の)確率モデルが存在しないため、確率モデルをアップデートする必要がない。   As described above, the CABAC encoding and / or decoding process includes at least two different operation modes. In the first mode, the probability model is updated based on the actually encoded bin values, and this mode is commonly referred to as the “regular encoding mode”. Regular coding mode requires several consecutive serial operations and the associated calculations are complex and take a considerable amount of time to complete. In the second mode, the probability model is not updated based on the actually encoded bin values, and this mode is generally referred to as the “bypass encoding mode”. In the second mode, there is no probability model for decoding bins (possibly other than a fixed probability), so there is no need to update the probability model.

HEVCにおいてCABAC符号化を使用するとき、たとえばビン/画素の総数、バイパス・ビン/画素の数、およびレギュラー(またはコンテキスト)符号化ビン/画素の数などであるがそれに限定されない異なる要素に依存して、スループット性能が変わり得る。一般的にいって、高ビットレート符号化(低量子化パラメータ(Quantization Parameter:QP)値)の場合のスループットは、他の場合のスループットよりも顕著に低い。したがって、高ビットレートの場合のスループットは、かなりの量の処理リソースを消費し得るか、および/または符号化/復号のためにかなりの時間をとり得る。以下の本開示は、この問題および他の問題を解決するものである。   When using CABAC encoding in HEVC, it depends on different factors such as, but not limited to, the total number of bins / pixels, the number of bypass bins / pixels, and the number of regular (or context) encoding bins / pixels. Throughput performance can vary. Generally speaking, the throughput in the case of high bit rate coding (low quantization parameter (QP) value) is significantly lower than the throughput in other cases. Thus, throughput at high bit rates can consume a significant amount of processing resources and / or can take a significant amount of time for encoding / decoding. The present disclosure below addresses this and other problems.

加えて、残差サンプルを圧縮するためのロスレス符号化モードにおいてCABACが用いられ得ることが公知である。一例において、残差サンプルは、画像中の特定の位置に対応する値である。典型的に、残差サンプルは、画像中の特定の位置に対応する値と、画像中の同じ特定の位置に対応する予測値との差に対応する。代替的に、残差サンプルは、変換操作によって処理されなかった、あるいはTQCを作成するために通常は使用されない変換操作を用いた、画像中の特定の位置に対応する値である。残差サンプルは、自身のサンプルサイズ(4×4、8×8、16×16、32×32、16×32など)に従う異なるブロック・サイズに由来し得る。TQC符号化と同様に、エントロピー符号化の前に、2D残差サンプルブロックは最初に1D配列に変換される。一例において、4×4ブロックにおける2D配列残差サンプルは、表(2)に示されるとおりに配置されてもよい。   In addition, it is known that CABAC can be used in a lossless coding mode for compressing residual samples. In one example, the residual sample is a value corresponding to a particular position in the image. Typically, the residual sample corresponds to the difference between a value corresponding to a specific position in the image and a predicted value corresponding to the same specific position in the image. Alternatively, the residual sample is a value corresponding to a particular position in the image that has not been processed by the transformation operation or that uses a transformation operation that is not normally used to create a TQC. The residual samples can come from different block sizes according to their sample size (4 × 4, 8 × 8, 16 × 16, 32 × 32, 16 × 32, etc.). Similar to TQC coding, before entropy coding, the 2D residual sample block is first converted to a 1D array. In one example, 2D array residual samples in a 4 × 4 block may be arranged as shown in Table (2).

2D残差サンプルを1D配列に変換するとき、ブロックが斜めにジグザグ状にスキャンされてもよい。この例を続けると、表(2)に示される2D配列残差サンプルは、第1行第1列、第1行第2列、第2行第1列、第3行第1列、第2行第2列、第1行第3列、第1行第4列、第2行第3列、第3行第2列、第4行第1列、以下同様にスキャンすることによって、1D配列残差サンプル[4,0,3,−3,2,1,0,−1,0,...]に変換されてもよい。   When converting a 2D residual sample to a 1D array, the blocks may be scanned diagonally in a zigzag pattern. Continuing with this example, the 2D array residual samples shown in Table (2) are: first row, first column, first row, second column, second row, first column, third row, first column, second 1D array by scanning row 2nd column, 1st row 3rd column, 1st row 4th column, 2nd row 3rd column, 3rd row 2nd column, 4th row 1st column, and so on Residual samples [4,0,3, -3,2,1,0, -1,0,. . . ] May be converted.

残差サンプルの1D配列は、CABACにおいてシンタックス要素(SE)の列によって表される。残差サンプルの1D配列例に対するSEの列の例を図11に示す。SEは次のパラメータを表す。すなわち、Last_position_X/Y、有意性マップ、ならびに属性Greater_than_1、Greater_than_2、正負情報、およびAbsolute−3である。   A 1D array of residual samples is represented in CABAC by a sequence of syntax elements (SE). FIG. 11 shows an example of an SE column for a 1D array example of residual samples. SE represents the following parameter. That is, Last_position_X / Y, significance map, attributes Greater_than_1, Greeter_than_2, positive / negative information, and Absolute-3.

HEVCにおけるCABACのロスレス符号化モードにおいて、代表的なSEは符号化される。SEを符号化するために、図3のCABACフレームワークが用いられてもよい。CABAC符号化技術は、複数の段階を用いてシンボルを符号化することを含む。第1段階において、CABACは「バイナライザ」を用いて、入力シンボルを2値シンボル、すなわち「ビン」の列にマッピングする。入力シンボルは、ビットに符号化される前に2値化されるか、または別様に変換されて2値(1または0)シンボルの列にされる非2値シンボルであってもよい。ビンは、前述の「レギュラー符号化エンジン」を用いてビットに符号化され得る。   In the CABAC lossless coding mode in HEVC, a typical SE is coded. To encode the SE, the CABAC framework of FIG. 3 may be used. The CABAC encoding technique includes encoding symbols using multiple stages. In the first stage, CABAC uses “binarizers” to map input symbols to binary symbols, or “bin” columns. The input symbols may be non-binary symbols that are binarized before being encoded into bits, or otherwise transformed into a sequence of binary (1 or 0) symbols. Bins may be encoded into bits using the “regular encoding engine” described above.

CABACのロスレス符号化モードにおけるレギュラー符号化エンジンに対しては、第2段階において確率モデル(CABACのロスレス符号化モードにおける「コンテキストモデル」としても公知である)が選択される。このモデルは、2値化入力シンボルの1つまたはそれ以上のビンを算術符号化するために用いられる。このモデルは、最近符号化されたシンボルの関数であるコンテキストに依存して、利用可能なモデルのリストから選択されてもよい。このモデルは、ビンが「1」または「0」である確率を記憶する。第3段階において、算術エンコーダは、選択されたモデルに従って各ビンを符号化する。各ビンに対して、「0」および「1」に対応する2つの部分範囲が存在する。第4段階は、モデルをアップデートすることを伴う。実際に符号化されたビン値に基づいて、選択されたモデルがアップデートされる(例、もしビン値が「1」であれば、「1」の頻度数が増やされる)。CABAC復号のための復号技術は、この処理を逆にしたものである。   For a regular coding engine in the CABAC lossless coding mode, a probabilistic model (also known as a “context model” in the CABAC lossless coding mode) is selected in the second stage. This model is used to arithmetically encode one or more bins of a binarized input symbol. This model may be selected from a list of available models depending on the context that is a function of the recently encoded symbols. This model stores the probability that the bin is “1” or “0”. In the third stage, the arithmetic encoder encodes each bin according to the selected model. For each bin, there are two subranges corresponding to “0” and “1”. The fourth stage involves updating the model. The selected model is updated based on the actual encoded bin value (eg, if the bin value is “1”, the frequency number of “1” is increased). The decoding technique for CABAC decoding reverses this process.

前段落で説明したとおりに使用されるモデルの数は、184であり得る。具体的には、36モデルがLast_position_X/Yに用いられ(Last_position_Xに対して18モデル、Last_position_Yに対して18モデル)、48モデルが有意性マップに用いられ(4×4ブロック:輝度9、色差6;8×8ブロック:輝度11、色差11;16×16または32×32ブロック:輝度7、色差4)、100モデルが属性Greater_than_1、Greater_than_2、正負情報、およびAbsolute−3に用いられる(輝度のGreater_than_1フラグ:30;色差のGreater_than_1フラグ20、輝度のGreater_than_2フラグ:30;および色差のGreater_than_2フラグ20)。   The number of models used as described in the previous paragraph may be 184. Specifically, 36 models are used for Last_position_X / Y (18 models for Last_position_X, 18 models for Last_position_Y), and 48 models are used for the significance map (4 × 4 blocks: luminance 9, color difference 6 8 × 8 block: luminance 11, color difference 11; 16 × 16 or 32 × 32 block: luminance 7, color difference 4), 100 models are used for attributes Greator_than_1, Greeter_tan_2, positive / negative information, and Absolute-3 (luminance Greater_than_1) Flag: 30; Color difference Greeter_than_1 flag 20; Luminance Greeter_than_2 flag: 30; and Color difference Greeter_than_2 flag 20).

ロスレス符号化モードにおけるHEVCにおいてCABAC符号化を使用するとき、符号化/復号は計算が複雑である。この計算複雑度の理由の1つは、上に説明したとおり、184のモデルを使用することである。この計算複雑度のために、符号化/復号はかなりの量の処理リソースを消費し得るか、および/または完了するためにかなりの時間をとり得る。以下の本開示は、この問題および他の問題を解決するものである。   When using CABAC coding in HEVC in lossless coding mode, encoding / decoding is computationally complex. One reason for this computational complexity is to use 184 models, as explained above. Because of this computational complexity, encoding / decoding can consume a significant amount of processing resources and / or can take a significant amount of time to complete. The present disclosure below addresses this and other problems.

本発明の一局面は、デコーダの第1の電子デバイスを含むシステムを提供し、この第1の電子デバイスは、ビットストリームを得ることと、得られたビットストリームから2値シンボルを復元することと、その2値シンボルが高スループット残差符号化モードを用いて復号されるかどうかを判定することと、2値シンボルが高スループット残差符号化モードを用いて復号されないと判定することに応答して、第1の符号化技術を用いて変換および量子化された係数(TQC)のブロックを得ることと、2値シンボルが高スループット残差符号化モードを用いて復号されると判定することに応答して、第2の異なる符号化技術を用いて残差サンプルを得ることと、得られたTQCのブロックもしくは得られた残差サンプル、または得られたTQCのブロックもしくは得られた残差サンプルを表すビデオデータをメモリデバイスに記憶することとを行うように構成される。   One aspect of the present invention provides a system that includes a first electronic device of a decoder, the first electronic device obtaining a bitstream and recovering a binary symbol from the obtained bitstream. Responsive to determining whether the binary symbol is decoded using a high-throughput residual coding mode and determining that the binary symbol is not decoded using a high-throughput residual coding mode. To obtain a block of coefficients (TQC) transformed and quantized using the first coding technique and to determine that the binary symbols are decoded using the high-throughput residual coding mode. In response, obtaining a residual sample using a second different encoding technique, and obtaining a block of the obtained TQC or obtained residual sample, or obtained TQ. Composed video data representing blocks or resulting residue sample to perform and be stored in the memory device.

本発明の別の局面は、ビットストリームを得るステップと、得られたビットストリームから2値シンボルを復元するステップと、その2値シンボルが高スループット残差符号化モードを用いて復号されるかどうかを判定するステップと、2値シンボルが高スループット残差符号化モードを用いて復号されないと判定するステップに応答して、第1の符号化技術を用いて変換および量子化された係数(TQC)のブロックを得るステップと、2値シンボルが高スループット残差符号化モードを用いて復号されると判定するステップに応答して、第2の異なる符号化技術を用いて残差サンプルを得るステップと、得られたTQCのブロックもしくは得られた残差サンプル、または得られたTQCのブロックもしくは得られた残差サンプルを表すビデオデータをメモリデバイスに記憶するステップとを含むA方法を提供する。   Another aspect of the invention is the steps of obtaining a bitstream, recovering binary symbols from the obtained bitstream, and whether the binary symbols are decoded using a high-throughput residual coding mode. And transformed and quantized coefficients (TQC) using the first encoding technique in response to determining that the binary symbols are not decoded using the high-throughput residual coding mode And obtaining a residual sample using a second different coding technique in response to determining that the binary symbol is decoded using a high throughput residual coding mode; , A block representing the obtained TQC or the resulting residual sample, or a block representing the obtained TQC block or the obtained residual sample. The provides a A method comprising the steps of storing in a memory device Odeta.

HEVCエンコーダのブロック図である。It is a block diagram of a HEVC encoder. CABACに従うシンタックス要素の列を示す表である。It is a table | surface which shows the row | line | column of the syntax element according to CABAC. シンタックス要素の列に対するCABACフレームワークのブロック図である。FIG. 6 is a block diagram of the CABAC framework for a sequence of syntax elements. エンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of an encoder and a decoder. 電子デバイスにおける高スループット2値化モードのための方法の一構成を示す流れ図である。2 is a flowchart illustrating one configuration of a method for a high-throughput binarization mode in an electronic device. 高スループット2値化モードを用いたエンコーダ処理の一構成を示す流れ図である。It is a flowchart which shows one structure of the encoder process using high-throughput binarization mode. 復号側の電子デバイスにおける高スループット2値化モードのための方法の一構成を示す流れ図である。6 is a flowchart showing one configuration of a method for a high-throughput binarization mode in a decoding-side electronic device. 高スループット2値化モードを用いたデコーダ処理の一構成を示す流れ図である。It is a flowchart which shows one structure of the decoder process using high-throughput binarization mode. 高スループット2値化モードにおいて入力値を定めるために用いられ得るマッピング表を示す図である。FIG. 6 shows a mapping table that can be used to define input values in high throughput binarization mode. 高スループット2値化モードにおける適応型2値化に用いられ得る複数の2値化表を示す図である。It is a figure which shows the some binarization table | surface which can be used for the adaptive binarization in high throughput binarization mode. CABACにおけるロスレス符号化モードに従うシンタックス要素の列を示す表である。It is a table | surface which shows the string of the syntax element according to the lossless encoding mode in CABAC. ロスレス符号化技術に対するエンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of the encoder and decoder with respect to a lossless encoding technique. 電子デバイスにおけるロスレス符号化のための方法の一構成を示す流れ図である。2 is a flowchart illustrating one configuration of a method for lossless encoding in an electronic device. 図13に示される構成に従うシンタックス要素の列を示す表である。It is a table | surface which shows the column of the syntax element according to the structure shown by FIG. 復号側の電子デバイスにおけるロスレス復号のための方法の一構成を示す流れ図である。It is a flowchart which shows one structure of the method for the lossless decoding in the electronic device of a decoding side. 電子デバイスにおけるロスレス符号化のための方法の別の構成を示す流れ図である。5 is a flowchart illustrating another configuration of a method for lossless encoding in an electronic device. 復号側の電子デバイスにおけるロスレス符号化のための方法の別の構成を示す流れ図である。It is a flowchart which shows another structure of the method for the lossless encoding in the electronic device of a decoding side. 電子デバイスにおけるロスレス符号化のための方法のさらに別の構成を示す流れ図である。12 is a flowchart illustrating yet another configuration of a method for lossless encoding in an electronic device. 復号側の電子デバイスにおけるロスレス符号化のための方法のさらに別の構成を示す流れ図である。It is a flowchart which shows another structure of the method for the lossless encoding in the electronic device of a decoding side. 高スループット2値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示す流れ図である。6 is a flowchart illustrating an example of a configuration of an encoder or a decoder for determining whether a high-throughput binarization mode condition is satisfied. 高スループット2値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示す流れ図である。6 is a flowchart illustrating an example of a configuration of an encoder or a decoder for determining whether a high-throughput binarization mode condition is satisfied. 高スループット2値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示す流れ図である。6 is a flowchart illustrating an example of a configuration of an encoder or a decoder for determining whether a high-throughput binarization mode condition is satisfied. 高スループット2値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示す流れ図である。6 is a flowchart illustrating an example of a configuration of an encoder or a decoder for determining whether a high-throughput binarization mode condition is satisfied. 高スループット2値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示す流れ図である。6 is a flowchart illustrating an example of a configuration of an encoder or a decoder for determining whether a high-throughput binarization mode condition is satisfied. 復号側の電子デバイスにおいて高スループット・モード条件が満たされるかどうかを判定するための方法の一構成を示す流れ図である。6 is a flow diagram illustrating one configuration of a method for determining whether a high throughput mode condition is satisfied in a decoding-side electronic device. 復号側の電子デバイスにおいて高スループット・モード条件が満たされるかどうかを判定するための方法の別の構成を示す流れ図である。6 is a flow diagram illustrating another configuration of a method for determining whether a high throughput mode condition is satisfied in a decoding-side electronic device. エンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of an encoder and a decoder. 復号側の電子デバイスにおける高スループット有意性マップ復号のための方法の一構成を示す流れ図である。6 is a flow diagram illustrating one configuration of a method for high-throughput significance map decoding in a decoding-side electronic device. 復号側の電子デバイスにおける高スループット有意性マップ復号のための方法の別の構成を示す流れ図である。6 is a flow diagram illustrating another configuration of a method for high-throughput significance map decoding in a decoding-side electronic device. 復号側の電子デバイスにおける復号バイパス機能を伴う高スループット有意性マップ復号のための方法の一構成を示す流れ図である。6 is a flowchart illustrating one configuration of a method for high-throughput significance map decoding with a decoding bypass function in a decoding-side electronic device. 復号側の電子デバイスにおける復号法切替え機能を伴う高スループット有意性マップ復号のための方法の一構成を示す流れ図である。12 is a flowchart showing one configuration of a method for high-throughput significance map decoding with a decoding method switching function in a decoding-side electronic device. CABACにおけるロスレス符号化モードに従ってライスパラメータをアップデートするために用いられる表である。It is a table | surface used in order to update a rice parameter according to the lossless encoding mode in CABAC. エンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of an encoder and a decoder. 電子デバイスにおける異なるパラメータ選択を伴うロスレス符号化のための方法の一構成を示す流れ図である。3 is a flow diagram illustrating one configuration of a method for lossless encoding with different parameter selection in an electronic device. 復号側の電子デバイスにおける異なるパラメータ選択を伴うロスレス符号化のための方法の一構成を示す流れ図である。6 is a flow diagram illustrating one configuration of a method for lossless encoding with different parameter selection in a decoding-side electronic device. CABACに従って生成されたシンタックス要素の例を示す図である。It is a figure which shows the example of the syntax element produced | generated according to CABAC. エンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of an encoder and a decoder. 電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。2 is a flowchart illustrating one configuration of a method for high throughput encoding for CABAC in HEVC in an electronic device. 復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。6 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in an electronic device on the decoding side. 図34の構成に従って生成されたシンタックス要素の例を示す図である。FIG. 35 is a diagram illustrating an example of syntax elements generated according to the configuration of FIG. 34. 縮小されたライスパラメータ・アップデート表を示す図である。It is a figure which shows the rice parameter update table reduced. 復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。6 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in an electronic device on the decoding side. 復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。6 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in an electronic device on the decoding side. 復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。6 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in an electronic device on the decoding side. エンコーダおよびデコーダの例を示すブロック図である。It is a block diagram which shows the example of an encoder and a decoder. 高スループット残差符号化のための方法の一構成を示す流れ図である。2 is a flowchart illustrating one configuration of a method for high-throughput residual encoding. 復号側における高スループット残差符号化のための方法の一構成を示す流れ図である。6 is a flowchart illustrating one configuration of a method for high-throughput residual coding on the decoding side.

図4は、エンコーダおよびデコーダの例を示すブロック図である。   FIG. 4 is a block diagram illustrating an example of an encoder and a decoder.

システム400は、デコーダ412によって復号される符号化ブロックを生成するためのエンコーダ411を含む。エンコーダ411およびデコーダ412は、ネットワークを通じて通信してもよい。   System 400 includes an encoder 411 for generating encoded blocks that are decoded by a decoder 412. The encoder 411 and the decoder 412 may communicate through a network.

エンコーダ411は、高スループット2値化モードを用いて符号化するように構成された電子デバイス421を含む。電子デバイス421はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図5および図6に示される動作を行うためにプロセッサによって実行可能な命令を記憶する。   The encoder 411 includes an electronic device 421 configured to encode using a high throughput binarization mode. The electronic device 421 may include a processor and memory in electronic communication with the processor, which stores instructions executable by the processor to perform the operations shown in FIGS.

デコーダ412は、高スループット2値化モードを用いて復号するように構成された電子デバイス422を含む。電子デバイス422はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図7および図8に示される動作を行うために実行可能な命令を記憶する。   The decoder 412 includes an electronic device 422 configured to decode using a high throughput binarization mode. Electronic device 422 may include a processor and memory in electronic communication with the processor, which stores instructions that are executable to perform the operations shown in FIGS.

図5は、電子デバイスにおける高スループット2値化モードのための方法の一構成を示す流れ図である。   FIG. 5 is a flow diagram illustrating one configuration of a method for a high-throughput binarization mode in an electronic device.

ブロック511において、電子デバイス421は変換および量子化された係数(TQC)のブロックを得る。菱形部512において、電子デバイス421は、高スループット2値化モード条件が満たされるかどうかを判定する。もし菱形部512において条件が満たされなければ、ブロック513において電子デバイス421は、(従来のCABAC選択方式に従って)レギュラー符号化モードおよびバイパス符号化モードを選択的に用いることによって、ブロックを符号化する。   At block 511, the electronic device 421 obtains a block of transformed and quantized coefficients (TQC). In the diamond portion 512, the electronic device 421 determines whether the high-throughput binarization mode condition is satisfied. If the condition is not met at diamond 512, then at block 513, electronic device 421 encodes the block by selectively using the regular coding mode and the bypass coding mode (according to the conventional CABAC selection scheme). .

もし菱形部512において条件が満たされれば、ブロック514において電子デバイス421は、高スループット2値化モードおよびバイパス符号化モードを用いてブロックを符号化する。ブロック515において電子デバイス421は、生成されたビットストリームをネットワークを通じて送信するか、および/または生成されたビットストリームをメモリデバイスに記憶する。   If the condition is met at diamond 512, at block 514, electronic device 421 encodes the block using the high-throughput binarization mode and bypass encoding mode. In block 515, the electronic device 421 transmits the generated bitstream over the network and / or stores the generated bitstream in the memory device.

HTBモードは、レベル値を符号化するためにバイパス符号化モードを用いる。レギュラー符号化モードとは対照的に、バイパス符号化は計算コストが高いコンテキスト推定および確率アップデートの段階を省略する。なぜなら、バイパス符号化モードは入力ビンに対して固定された確率分布を想定するからである。   The HTB mode uses a bypass encoding mode to encode level values. In contrast to the regular coding mode, bypass coding omits the computationally expensive context estimation and probability update steps. This is because the bypass encoding mode assumes a fixed probability distribution for the input bin.

符号化にバイパス符号化モードを用いることに加えて、従来のCABACとは対照的に、HTBモードは符号化のために簡略化された正負符号付け構造を用いる。たとえば、従来のCABACは符号化のために、Greater_than_1、Greater_than_2、正負情報、およびAbsolute−3を含む4つのサブパートを必要とする。   In addition to using bypass coding mode for encoding, in contrast to conventional CABAC, HTB mode uses a simplified positive / negative coding structure for encoding. For example, conventional CABAC requires four subparts for coding, including Greeter_than_1, Greator_than_2, positive / negative information, and Absolute-3.

図6は、高スループット2値化モードを用いたエンコーダ処理の一構成を示す流れ図である。   FIG. 6 is a flowchart showing one configuration of encoder processing using the high-throughput binarization mode.

ブロック612〜615は、ブロック514において行われる動作をより詳細に示すものである。ブロック612において、電子デバイス421は、各非ゼロ値に対して絶対値マイナス1関数を適用し、かつ各非ゼロ値の正負をチェックすることによって、TQCのブロックからの任意の非ゼロ値に対する正負およびレベル情報を生成する。説明を容易にするために、本出願の「背景技術」部分からの1D配列TQCの値[4,0,3,−3,2,1,0,−1,0,...]について考える。各非ゼロ値に対して絶対値マイナス1関数を適用し、かつ各非ゼロ値の正負をチェックすることによって、次のような正負およびレベル情報の6つの組み合わせが生じる。すなわち、+3、+2、−2、+1、+0、および−0である。   Blocks 612-615 show the operations performed in block 514 in more detail. In block 612, the electronic device 421 applies an absolute value minus one function for each non-zero value and checks the positive / negative of each non-zero value to determine whether it is positive or negative for any non-zero value from the TQC block. And generate level information. For ease of explanation, the values of the 1D array TQC [4, 0, 3, -3, 2, 1, 0, -1, 0,. . . ]think about. By applying an absolute value minus one function to each non-zero value and checking the positive / negative of each non-zero value, the following six combinations of positive / negative and level information are generated. That is, +3, +2, -2, +1, +0, and -0.

ブロック613において、電子デバイス421はマッピング表を用いて、生成された正負およびレベル情報の各組み合わせに対して入力値をマッピングする。マッピング表の例を図9に示す。加えて図9は、ブロック612および613に従って入力値を定めるための等式を示す。   In block 613, the electronic device 421 uses the mapping table to map the input value to each generated combination of positive / negative and level information. An example of the mapping table is shown in FIG. In addition, FIG. 9 shows an equation for determining input values according to blocks 612 and 613.

ブロック614において、電子デバイス421は、たとえばコンテキスト適応型可変長符号化(Context Adaptive Variable Length Coding:CAVLC)のVLC表などの複数の2値化表を用いて、入力値の適応型2値化を行う。CAVLCのVLC表の例を図10に示す。加えて図10は、前の入力情報に基づいて2値化表をアップデートするための等式を示す。   At block 614, the electronic device 421 performs adaptive binarization of input values using a plurality of binarization tables, such as, for example, a VLC table of context adaptive variable length coding (CAVLC). Do. An example of the VLC table of CAVLC is shown in FIG. In addition, FIG. 10 shows an equation for updating the binarization table based on previous input information.

一例において、ブロック614は、少なくとも第1の入力値を2値化するためにVLC−Table−0列(図10)からの値を最初に用いるステップを含んでもよい。前の値がたとえば3、5、13、27などの所与の閾値よりも大きいとき、VLC表番号は単調に増加されてもよい。したがって、第1の単調な増加の後の適応型2値化は、VLC−Table−1列からの値を用いてもよく、第2の単調な増加の後の適応型2値化は、VLC−Table−2列からの値を用いてもよいなどとなる。   In one example, block 614 may include first using values from the VLC-Table-0 sequence (FIG. 10) to binarize at least the first input value. When the previous value is greater than a given threshold, such as 3, 5, 13, 27, etc., the VLC table number may be monotonically increased. Thus, adaptive binarization after the first monotonic increase may use values from the VLC-Table-1 sequence, and adaptive binarization after the second monotonic increase may be VLC -The value from the Table-2 column may be used.

ブロック615において、電子デバイス421は、CABACバイパス符号化モードを用いて、適応型2値化の結果として生じた値を符号化する。   At block 615, the electronic device 421 encodes the value resulting from the adaptive binarization using the CABAC bypass encoding mode.

「高スループット2値化モード条件」   "High-throughput binarization mode conditions"

一例において、もし画像データのブロックに対応する特性がプリセット閾値よりも大きければ、高スループット2値化モード条件が満たされて、たとえば電子デバイス421は、たとえばHTBモード・フラグなどの高スループット2値化モード・インジケータを1の値に設定してもよい(もちろん、設計の優先度によって、この動作はHTBモード・フラグのデフォルト値を変更するステップ、またはHTBモード・フラグをデフォルト値のままにするステップを含んでもよい)。   In one example, if the characteristic corresponding to the block of image data is greater than a preset threshold, the high-throughput binarization mode condition is satisfied and the electronic device 421, for example, has a high-throughput binarization such as an HTB mode flag. The mode indicator may be set to a value of 1 (of course, depending on the design priority, this operation may change the default value of the HTB mode flag or leave the HTB mode flag at the default value) May be included).

一例において、電子デバイス421は、符号化に対するビットレートがプリセット閾値よりも大きいかどうかを判定する。もしビットレートがプリセット閾値よりも大きければ、高スループット2値化モード条件が満たされる。一例において、プリセットビットレート閾値はQP16に対応する。しかし、異なるQP値に対応するプリセット閾値が用いられてもよい。   In one example, the electronic device 421 determines whether the bit rate for encoding is greater than a preset threshold. If the bit rate is greater than the preset threshold, the high-throughput binarization mode condition is satisfied. In one example, the preset bit rate threshold corresponds to QP16. However, preset threshold values corresponding to different QP values may be used.

一例において、(電子デバイス421または電子デバイス422による)高スループット2値化モード条件が満たされるかどうかの判定は、画像データの対応ブロックの変換ユニットレベル(たとえば変換ユニットによって生成されるレベル値などであるが、これに限定されない)がプリセット閾値よりも大きいかどうかに基づくものである。   In one example, the determination of whether the high-throughput binarization mode condition (by the electronic device 421 or the electronic device 422) is satisfied is based on the conversion unit level (eg, the level value generated by the conversion unit) of the corresponding block of image data (But not limited to) is based on whether it is greater than a preset threshold.

一例においては、大きさが0よりも大きい画像データの対応ブロックのレベル値の数が、たとえば8などのプリセット閾値よりも大きいときに、高スループット2値化モード条件が満たされ得る。別の例においては、大きさが第1のプリセット閾値よりも大きい画像データの対応ブロックのレベル値の数が第2のプリセット閾値よりも大きいときに、高スループット2値化モード条件が満たされる。さらなる例においては、画像データの対応ブロックのレベル値がプリセット閾値よりも大きいときに、高スループット2値化モード条件が満たされる。   In one example, the high-throughput binarization mode condition may be satisfied when the number of level values of the corresponding block of image data whose size is greater than 0 is greater than a preset threshold, such as 8, for example. In another example, the high-throughput binarization mode condition is satisfied when the number of level values of the corresponding block of image data whose magnitude is greater than the first preset threshold is greater than the second preset threshold. In a further example, the high-throughput binarization mode condition is satisfied when the level value of the corresponding block of image data is greater than a preset threshold.

図20A〜Eは、直前の2段落で説明された原理の少なくともいくつかに従って動作するシステム例におけるエンコーダまたはデコーダに対して用いられ得る構成のいくつかの例を示す。図示されるとおり、図20Aは処理1611〜1616を示す。図示されるとおり、図20Bは処理1711〜1716を示す。図20Cは処理1801〜1805および1814〜1820を示す。図20Dは処理1901〜1905および1914〜1920を示す。図示されるとおり、図20Eにおいては、処理1816までの図20Cの処理が行われる。処理1816において、もしカウンタが閾値よりも大きければ、この構成は図20Eに示されるとおりに続く。   20A-E show some examples of configurations that may be used for an encoder or decoder in an example system that operates in accordance with at least some of the principles described in the previous two paragraphs. As shown, FIG. 20A shows operations 1611-1616. As shown, FIG. 20B shows operations 1711-1716. FIG. 20C shows processes 1801-1805 and 1814-1820. FIG. 20D shows processes 1901-1905 and 1914-1920. 20E, the process of FIG. 20C up to the process 1816 is performed in FIG. 20E. In operation 1816, if the counter is greater than the threshold, the configuration continues as shown in FIG. 20E.

一例において、(電子デバイス421または電子デバイス422による)高スループット2値化モード条件が満たされるかどうかの判定は、画像データの対応ブロックのスライス・レベルがプリセット閾値よりも大きいかどうかに基づくものである。   In one example, the determination of whether the high-throughput binarization mode condition (by electronic device 421 or electronic device 422) is met is based on whether the slice level of the corresponding block of image data is greater than a preset threshold. is there.

「高スループット2値化モード・インジケータ」   "High-throughput binarization mode indicator"

一例において、電子デバイス421は、たとえばスライスヘッダなどのヘッダにおいて、たとえばHTBモード・フラグなどの高スループット2値化インジケータを設定するように構成される。高スループット2値化インジケータは、スライスヘッダに対応するブロック(単数または複数)に対して図5に示される処理が実行されるか否かを判定するために用いられてもよい。   In one example, the electronic device 421 is configured to set a high-throughput binarization indicator such as an HTB mode flag in a header such as a slice header. The high-throughput binarization indicator may be used to determine whether or not the processing shown in FIG. 5 is performed on the block (s) corresponding to the slice header.

一例においては、HTBモード・フラグを「1」に設定することによって、電子デバイス421はHTBモード・フラグ値「1」を観測したことに応答して、スライスヘッダに対応するブロック(単数または複数)に対して、図5の流れ図に示される処理を実行する。HTBモード・フラグを「0」に設定することによって、電子デバイス421はHTBモード・フラグ値「0」を観測したことに応答して、従来のCABAC技術に従ってスライスヘッダに対応するブロック(単数または複数)を符号化する。   In one example, by setting the HTB mode flag to “1”, in response to the electronic device 421 observing the HTB mode flag value “1”, the block or blocks corresponding to the slice header On the other hand, the processing shown in the flowchart of FIG. 5 is executed. By setting the HTB mode flag to “0”, the electronic device 421 responds to the observation of the HTB mode flag value “0” in accordance with the block (s) corresponding to the slice header according to the conventional CABAC technique. ) Is encoded.

加えて、HTBモード・フラグ値は、復号のための電子デバイス422によって観測されてもよい。一例において、電子デバイス422はHTBモード・フラグ値「1」を観測したことに応答して、スライスヘッダに対応するブロック(単数または複数)に対して、図7の流れ図に示される処理に従って、HTBモード・フラグ値「1」を有するスライスヘッダに対応するブロック(単数または複数)を復号する。電子デバイス422はHTBモード・フラグ値「0」を観測したことに応答して、従来のCABAC技術に従ってHTBモード・フラグ値「0」を有するスライスヘッダに対応するブロック(単数または複数)を復号する。   In addition, the HTB mode flag value may be observed by the electronic device 422 for decoding. In one example, in response to observing the HTB mode flag value “1”, the electronic device 422 performs the HTB on the block (s) corresponding to the slice header according to the process shown in the flowchart of FIG. The block (s) corresponding to the slice header having mode flag value “1” is decoded. In response to observing the HTB mode flag value “0”, the electronic device 422 decodes the block or blocks corresponding to the slice header having the HTB mode flag value “0” in accordance with conventional CABAC techniques. .

図7は、復号側の電子デバイスにおける高スループット2値化モードのための方法の一構成を示す流れ図である。   FIG. 7 is a flowchart showing one configuration of a method for the high-throughput binarization mode in the decoding-side electronic device.

ブロック710において、電子デバイス422はビットストリームを得る。ブロック711において、電子デバイス422は、得られたビットストリームから2値シンボルを復元する。   At block 710, the electronic device 422 obtains a bitstream. In block 711, the electronic device 422 recovers a binary symbol from the obtained bitstream.

菱形部712において、電子デバイス422は、高スループット2値化モード条件が満たされるかどうかを判定する。一例において、その判定は、受信したビットストリームに対応する、たとえばスライスヘッダなどのヘッダをチェックするステップを含んでもよい。ヘッダをチェックするステップはさらに、高スループット2値化モード・インジケータの値に対して、得られたビットストリームに対応するスライスヘッダをチェックするステップを含んでもよい。もし菱形部712において条件が満たされなければ、ブロック713において電子デバイス422は、レギュラー復号モードおよびバイパス符号化モードを選択的に用いることによって2値シンボルを復号する。   In the diamond portion 712, the electronic device 422 determines whether or not the high-throughput binarization mode condition is satisfied. In one example, the determination may include checking a header, such as a slice header, corresponding to the received bitstream. Checking the header may further include checking the slice header corresponding to the resulting bitstream against the value of the high throughput binarization mode indicator. If the condition is not met at diamond 712, at block 713, electronic device 422 decodes the binary symbol by selectively using the regular decoding mode and the bypass coding mode.

もし菱形部712において条件が満たされれば、ブロック714において電子デバイス421は、高スループット2値化モードおよびバイパス復号モードを用いて2値シンボルを復号する。電子デバイス422はブロック715において、得られたTQCのブロックをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   If the condition is satisfied at diamond 712, at block 714, electronic device 421 decodes the binary symbol using the high-throughput binarization mode and bypass decoding mode. The electronic device 422 stores the obtained block of TQC in the memory device and / or restores the video data at block 715.

図8は、高スループット2値化モードを用いたデコーダ処理の一構成を示す流れ図である。   FIG. 8 is a flowchart showing one configuration of the decoder processing using the high-throughput binarization mode.

ブロック812〜815は、ブロック714において行われる動作をより詳細に示すものである。ブロック812において、電子デバイス422は、符号化された2値シンボルをバイパス復号する。ブロック813において、電子デバイス422は、バイパス復号の結果をデバイナライズする。ブロック814において、電子デバイス422は、マッピング表を用いて、デバイナリゼーションから復元された入力値を正負およびレベル情報にマッピングする。ブロック815において、電子デバイス422は、正負およびレベル情報を用いて、変換および量子化された係数(TQC)のブロックを復号する。   Blocks 812-815 show the operations performed in block 714 in more detail. At block 812, the electronic device 422 bypass decodes the encoded binary symbol. In block 813, the electronic device 422 debinates the bypass decoding result. At block 814, the electronic device 422 uses the mapping table to map the input values recovered from the devinarization to the positive and negative and level information. At block 815, the electronic device 422 decodes the transformed and quantized block of coefficients (TQC) using the positive and negative and level information.

一例においては、プロセッサと、そのプロセッサと電子通信を行うメモリとを含む電子デバイスが提供される。メモリには、動作を実行するためにプロセッサによって実行可能な命令が記憶される。   In one example, an electronic device is provided that includes a processor and a memory in electronic communication with the processor. The memory stores instructions that can be executed by the processor to perform operations.

一例において、1つの動作は、変換および量子化された係数(TQC)のブロックを得るステップを含んでもよい。別の動作は、高スループット2値化モード条件が満たされるかどうかを判定するステップを含んでもよい。別の動作は、高スループット2値化モード条件が満たされると判定するステップに応答して、高スループット2値化モードを用いて第1のビットストリームを生成するステップを含んでもよい。別の動作は、高スループット2値化モード条件が満たされないと判定するステップに応答して、第2のビットストリームを生成するステップを含んでもよい。別の動作は、生成された第1または第2のビットストリームをデコーダに送信するステップを含んでもよい。   In one example, one operation may include obtaining a block of transformed and quantized coefficients (TQC). Another operation may include determining whether a high throughput binarization mode condition is met. Another operation may include generating a first bitstream using the high throughput binarization mode in response to determining that the high throughput binarization mode condition is met. Another operation may include generating a second bitstream in response to determining that the high-throughput binarization mode condition is not met. Another operation may include transmitting the generated first or second bitstream to a decoder.

一例において、高スループット2値化モードを用いた第1のビットストリームの生成は、付加的な動作を含んでもよい。1つの動作は、各非ゼロ値に対して絶対値マイナス1関数を適用し、かつ各非ゼロ値の正負をチェックすることによって、ブロックからの任意の非ゼロ値に対する正負およびレベル情報を生成するステップを含んでもよい。別の動作は、マッピング表を用いて、生成された正負およびレベル情報の各組み合わせに対して入力値をマッピングするステップを含んでもよい。別の動作は、複数の2値化表を用いて、マッピングされた入力値の適応型2値化を行うステップを含んでもよい。別の動作は、適応型2値化の結果を符号化するステップを含んでもよい。   In one example, the generation of the first bitstream using the high throughput binarization mode may include additional operations. One operation generates positive / negative and level information for any non-zero value from the block by applying an absolute value minus one function for each non-zero value and checking the positive / negative of each non-zero value. Steps may be included. Another operation may include mapping the input value to each generated combination of positive and negative and level information using a mapping table. Another operation may include performing adaptive binarization of the mapped input values using a plurality of binarization tables. Another operation may include encoding the result of adaptive binarization.

一例において、複数の2値化表は、CAVLCのVLC表を含む。適応型2値化の結果を符号化するステップはさらに、CABACバイパス符号化モードを使用する動作を含んでもよい。   In one example, the plurality of binarization tables includes a CAVLC VLC table. The step of encoding the result of the adaptive binarization may further include an operation using the CABAC bypass encoding mode.

一例において、複数の2値化表を用いた、マッピングされた入力値の適応型2値化は付加的な動作を含み得る。1つの動作は、マッピングされた入力値の1つがプリセット閾値よりも大きいかどうかを判定するステップを含んでもよい。別の動作は、前記マッピングされた入力値がプリセット閾値よりも大きいと判定するステップに応答して表アップデートを行うステップを含んでもよい。一例において、表アップデート選択は、表のセットからの表の選択を含む。   In one example, adaptive binarization of mapped input values using multiple binarization tables may include additional operations. One operation may include determining whether one of the mapped input values is greater than a preset threshold. Another operation may include performing a table update in response to determining that the mapped input value is greater than a preset threshold. In one example, table update selection includes selection of a table from a set of tables.

一例において、第1のビットストリームの生成は、付加的な動作を含んでもよい。1つの動作は、CABACに従ってレギュラー符号化モードおよびバイパス符号化モードを選択的に使用することによってブロックを符号化するステップを含んでもよい。別の動作は、バイパス符号化モードのみを使用して第1のビットストリームを生成するステップを含んでもよい。   In one example, the generation of the first bitstream may include additional operations. One operation may include encoding the block by selectively using a regular coding mode and a bypass coding mode according to CABAC. Another operation may include generating the first bitstream using only the bypass coding mode.

一例において、高スループット2値化モード条件が満たされるかどうかの判定は、画像データのブロックに対応する特性がプリセット閾値よりも大きいかどうかに基づくものである。   In one example, the determination of whether the high-throughput binarization mode condition is satisfied is based on whether the characteristic corresponding to the block of image data is greater than a preset threshold.

一例において、高スループット2値化モード条件が満たされるかどうかの判定は、画像データの対応ブロックのスライス・レベルがプリセット閾値よりも大きいかどうかに基づくものである。   In one example, the determination of whether the high-throughput binarization mode condition is satisfied is based on whether the slice level of the corresponding block of image data is greater than a preset threshold.

一例において、高スループット2値化モード条件が満たされるかどうかの判定は、画像データの対応ブロックの変換ユニットレベルがプリセット閾値よりも大きいかどうかに基づくものである。   In one example, the determination of whether the high-throughput binarization mode condition is satisfied is based on whether the conversion unit level of the corresponding block of image data is greater than a preset threshold.

「HEVCにおけるCABACに対するロスレス符号化技術」   "Lossless coding technology for CABAC in HEVC"

図12は、ロスレス符号化技術に対するエンコーダおよびデコーダの例を示すブロック図である。   FIG. 12 is a block diagram illustrating an example of an encoder and a decoder for the lossless coding technique.

システム1400は、デコーダ1412によって復号される符号化ブロックを生成するためのエンコーダ1411を含む。エンコーダ1411およびデコーダ1412は、ネットワークを通じて通信してもよい。   System 1400 includes an encoder 1411 for generating encoded blocks that are decoded by a decoder 1412. The encoder 1411 and the decoder 1412 may communicate through a network.

エンコーダ1411は、HEVCにおけるCABACに対するロスレス符号化技術を用いて符号化するように構成された電子デバイス1421を含む。電子デバイス1421はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図13、図16および図18に示される動作を行うためにプロセッサによって実行可能な命令を記憶する。   The encoder 1411 includes an electronic device 1421 configured to encode using lossless encoding techniques for CABAC in HEVC. Electronic device 1421 may include a processor and memory in electronic communication with the processor, which stores instructions executable by the processor to perform the operations illustrated in FIGS. 13, 16 and 18. .

デコーダ1412は、HEVCにおけるCABACに対するロスレス符号化技術を用いて復号するように構成された電子デバイス1422を含む。電子デバイス1422はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図15、図17および図19に示される動作を行うために実行可能な命令を記憶する。   The decoder 1412 includes an electronic device 1422 configured to decode using lossless encoding techniques for CABAC in HEVC. Electronic device 1422 may include a processor and memory in electronic communication with the processor, which stores instructions that are executable to perform the operations shown in FIGS.

図13は、電子デバイスにおけるロスレス符号化のための方法の一構成を示す流れ図である。   FIG. 13 is a flow diagram illustrating one configuration of a method for lossless encoding in an electronic device.

ブロック911において、電子デバイス1421は、残差サンプルを表すブロックを得る。一例においては、近隣画素間の空間的冗長性を除去するために用いられるイントラ予測の方向に適合させるために、ジグザグのスキャン方向が再定義されてもよい。ロスレスイントラ符号化モードにおいて利用可能なイントラ予測モードはいくつか存在する。一例においては、鉛直イントラ予測モードにおいて、上側画素が現画素値の予測値となり、現値と予測値(鉛直モードにおける上側画素値)との差が残差サンプル値となる。コンテキストモデル選択は、イントラ予測の方向および対応するブロック・サイズにも依存し得る。   In block 911, the electronic device 1421 obtains a block representing the residual sample. In one example, the zigzag scan direction may be redefined to match the direction of intra prediction used to remove spatial redundancy between neighboring pixels. There are several intra prediction modes available in the lossless intra coding mode. In one example, in the vertical intra prediction mode, the upper pixel is the predicted value of the current pixel value, and the difference between the current value and the predicted value (upper pixel value in the vertical mode) is the residual sample value. The context model selection may also depend on the direction of intra prediction and the corresponding block size.

ブロック912において、電子デバイス1421は、シンタックス要素の列において用いるための有意性マップを生成する。ブロック913において、電子デバイス1421は、ブロックの最終スキャン位置に対応する有意性マップ・フィールドに、ブロックの最終位置のレベルに対応する値を入力する。   At block 912, the electronic device 1421 generates a significance map for use in the sequence of syntax elements. In block 913, the electronic device 1421 enters a value corresponding to the level of the final position of the block in the significance map field corresponding to the final scan position of the block.

ブロック914において、電子デバイス1421は、前記値を有する有意性マップを含むシンタックス要素の列を生成する。シンタックス要素の列を生成するステップは、従来のCABACロスレス符号化モードの最終位置符号化ステップを除外する。   In block 914, the electronic device 1421 generates a sequence of syntax elements that includes a significance map having the values. The step of generating a sequence of syntax elements excludes the final position encoding step of the conventional CABAC lossless encoding mode.

図14は、図13に示される構成に従うシンタックス要素の列を示す表である。   FIG. 14 is a table showing columns of syntax elements according to the configuration shown in FIG.

図11に示されるシンタックス要素の列と比較して、図14に示されるシンタックス要素の列には対照的にいくつかの相違点が観察され得る。従来のCABACロスレス符号化モードは最終位置符号化ステップを含むため、図11に示されるシンタックス要素の列は、Last_position_XフィールドおよびLast_position_Yフィールドを含む。これに対し、図14の構成は最終位置符号化ステップを省略するため、図14に示されるシンタックス要素の列は、Last_position_XフィールドおよびLast_position_Yフィールドを含まない。   In contrast to the sequence of syntax elements shown in FIG. 11, some differences may be observed in the sequence of syntax elements shown in FIG. Since the conventional CABAC lossless coding mode includes a final position coding step, the sequence of syntax elements shown in FIG. 11 includes a Last_position_X field and a Last_position_Y field. In contrast, since the configuration of FIG. 14 omits the final position encoding step, the sequence of syntax elements shown in FIG. 14 does not include the Last_position_X field and the Last_position_Y field.

どちらのシンタックス要素の列も有意性マップを含むが、これらの有意性マップには相違点がある。図11のシンタックス要素の列の有意性マップにおいては、入力されたLast_position_X/Last_position_Yのフィールドに対応するために、有意性マップ・フィールドは入力されない。これに対し、図14においては、ブロックの最終スキャン位置に対応する有意性マップ・フィールドには、ブロックの最終位置のレベルに対応する値、すなわちこのブロック例においては「0」が入力される。   Both syntax element columns contain significance maps, but there are differences in these significance maps. In the significance map of the column of syntax elements in FIG. 11, the significance map field is not input to correspond to the input field of Last_position_X / Last_position_Y. On the other hand, in FIG. 14, a value corresponding to the level of the final position of the block, that is, “0” in this block example, is input to the significance map field corresponding to the final scan position of the block.

図15は、復号側の電子デバイスにおけるロスレス復号のための方法の一構成を示す流れ図である。   FIG. 15 is a flowchart showing one configuration of a method for lossless decoding in the electronic device on the decoding side.

ブロック1011において、電子デバイス1422はビットストリームから、ブロックの最終スキャン位置に対応するいくつかの値を含む有意性マップ・フィールドを有するシンタックス要素の列を復元する。ブロック1012において、電子デバイス1422は有意性マップを用い、かつ有意性マップの前記値を用いて、ブロックのレベルを復号する。ブロック1013において、電子デバイス1422は、得られた残差値に対応するブロックをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   At block 1011, the electronic device 1422 restores from the bitstream a sequence of syntax elements having a significance map field that includes a number of values corresponding to the last scan position of the block. In block 1012, the electronic device 1422 uses the significance map and decodes the level of the block using the value of the significance map. In block 1013, the electronic device 1422 stores the block corresponding to the obtained residual value in the memory device and / or restores the video data.

図16は、電子デバイスにおけるロスレス符号化のための方法の別の構成を示す流れ図である。   FIG. 16 is a flow diagram illustrating another configuration of a method for lossless encoding in an electronic device.

ブロック1111において、電子デバイス1421は、残差サンプルのブロックに対するレベル情報を表すシンタックス要素の列を得る。ブロック1112において、電子デバイス1421は、たとえばCAVLCのVLC表(図10)などの複数の2値化表を用いて、シンタックス要素の列のAbsolute−3部分の値に対する適応型2値化を行い、ここでシンタックス要素の列のAbsolute−3部分の値は、複数の2値化表に対する入力値として用いられる。前の入力情報に基づいて2値化表をアップデートするための等式を以下に示す。   In block 1111, the electronic device 1421 obtains a string of syntax elements representing level information for the block of residual samples. In block 1112, the electronic device 1421 performs adaptive binarization on the value of the Absolute-3 portion of the syntax element column using a plurality of binarization tables such as, for example, the CAVLC VLC table (FIG. 10). Here, the value of the Absolute-3 portion of the syntax element column is used as an input value for a plurality of binarized tables. The equation for updating the binarization table based on previous input information is shown below.

リスト1

「i」はスキャン位置を表し、「vlc」は現vlc表番号を表す。
*利用可能な前の「Absolute−3」が存在しないため、vlcは最初に0(またはイントラスライスに対して1)に設定され、vlcが4に等しいときにvlc表アップデートが停止される。
Listing 1

“I” represents the scan position, and “vlc” represents the current vlc table number.
* Since there is no previous "Absolute-3" available, vlc is initially set to 0 (or 1 for intra slice) and vlc table update is stopped when vlc is equal to 4.

一例において、ブロック1111は、少なくとも第1の入力値を2値化するために、インタースライスに対するVLC−Table−0列(図10)およびイントラスライスに対するVLC−Table−1列からの値を最初に用いるステップを含んでもよい。前の値がたとえば3、5、13、27などの所与の閾値よりも大きいとき、VLC表番号は単調に増加されてもよい。したがって、第1の単調な増加の後の適応型2値化は、VLC−Table−1列からの値を用いてもよく、第2の単調な増加の後の適応型2値化は、VLC−Table−2列からの値を用いてもよいなどとなる。   In one example, block 1111 first uses the values from the VLC-Table-0 sequence for the inter slice (FIG. 10) and the VLC-Table-1 sequence for the intra slice first to binarize at least the first input value. The step of using may be included. When the previous value is greater than a given threshold, such as 3, 5, 13, 27, etc., the VLC table number may be monotonically increased. Thus, adaptive binarization after the first monotonic increase may use values from the VLC-Table-1 sequence, and adaptive binarization after the second monotonic increase may be VLC -The value from the Table-2 column may be used.

ブロック1113において、電子デバイス1421は、CABACバイパス符号化モードを用いて、適応型2値化の結果として生じた値を符号化する。   In block 1113, the electronic device 1421 encodes the value resulting from the adaptive binarization using the CABAC bypass encoding mode.

図17は、復号側の電子デバイスにおけるロスレス符号化のための方法の別の構成を示す流れ図である。   FIG. 17 is a flowchart showing another configuration of a method for lossless encoding in the decoding-side electronic device.

ブロック1211において、電子デバイス1422は、ビットストリームから2値シンボルを復元する。ブロック1212において、電子デバイス1422は、2値シンボルをバイパス復号する。ブロック1213において、電子デバイス1422は、バイパス復号の結果を適応的にデバイナライズする。ブロック1214において、電子デバイス1422は、適応型デバイナリゼーションの結果を用いて残差情報を表すブロックを復元する。   In block 1211, the electronic device 1422 recovers a binary symbol from the bitstream. At block 1212, the electronic device 1422 bypass decodes the binary symbol. In block 1213, the electronic device 1422 adaptively debinates the bypass decoding result. In block 1214, the electronic device 1422 reconstructs a block representing residual information using the result of adaptive devinarization.

図18は、電子デバイスにおけるロスレス符号化のための方法のさらに別の構成を示す流れ図である。   FIG. 18 is a flowchart illustrating yet another configuration of a method for lossless encoding in an electronic device.

ブロック1311において、電子デバイス1421は、CABACのコンテキストモデルのサブセットのみにアクセスする。CABACのコンテキストモデルの数は184であってもよい。サブセットを生成するために、これらのコンテキストモデルはコンテキストモデルの関連特性に基づいてフィルタされてもよく、たとえばどのコンテキストモデルが周波数成分に関連するか、どのコンテキストモデルがスキャン位置に関連するか、もしくはどのコンテキストモデルがCABACの最終位置符号化ステップに関連するかなど、またはその任意の組み合わせなどに基づいてフィルタされてもよい。一例において、フィルタリングは電子デバイス1421によって行われ得るが、他の例においては、電子デバイス1421がロスレス符号化モードのために提供されたサブセットにアクセスし得るように、サブセットが電子デバイス1421に提供されてもよい。一例においては、サブセットを生成するために、CABACのコンテキストモデルはコンテキストモデルの関連特性に基づいて分類されてもよく、たとえばどのコンテキストモデルが周波数成分に関連するか、どのコンテキストモデルがスキャン位置に関連するか、もしくはどのコンテキストモデルがCABACの最終位置符号化ステップに関連するかなど、またはその任意の組み合わせなどに基づいて分類されてもよい。一例において、周波数成分およびスキャン位置は等しく、かつ相互交換可能であってもよい。   In block 1311, the electronic device 1421 accesses only a subset of the CABAC context model. The number of CABAC context models may be 184. To generate the subset, these context models may be filtered based on the relevant characteristics of the context model, for example which context model is related to the frequency component, which context model is related to the scan position, or It may be filtered based on which context model is associated with the CABAC final position encoding step, etc., or any combination thereof. In one example, filtering may be performed by electronic device 1421, while in other examples, a subset is provided to electronic device 1421 so that electronic device 1421 can access the subset provided for lossless coding mode. May be. In one example, to generate the subset, the CABAC context model may be classified based on the relevant characteristics of the context model, eg, which context model is related to the frequency component, which context model is related to the scan position Or which context model is associated with the CABAC final position encoding step, etc., or any combination thereof. In one example, the frequency components and scan positions may be equal and interchangeable.

一例において、サブセットは、第1の周波数成分に等しくない周波数成分を有するCABACコンテキストモデルを含まなくてもよい。一例において、結果として得られるサブセットは26のコンテキストモデル、すなわち有意性マップを符号化するための2つのコンテキストモデル(一方は第1の輝度周波数成分に対するものであり、他方は第1の色差周波数成分に対するものである)と、Greater_than_1フラグの第1の輝度周波数成分を符号化するため、Greater_than_1フラグの第1の色差周波数成分を符号化するため、輝度のGreater_than_2フラグの第1の輝度周波数成分を符号化するため、およびGreater_than_2フラグの第1の色差周波数成分を符号化するためのそれぞれ6つのコンテキストモデルとを含む。したがって、Greater_than_1およびGreather_than_2に対して合計24のコンテキストモデルが用いられる。一例において、前記第1の周波数成分は、ブロック1312において有意性マップを符号化するときにのみアクセスされる。   In one example, the subset may not include a CABAC context model that has a frequency component that is not equal to the first frequency component. In one example, the resulting subset is 26 context models, ie two context models for encoding significance maps (one for the first luminance frequency component and the other for the first chrominance frequency component). The first luminance frequency component of the Greeter_than_1 flag, the first chrominance frequency component of the Greeter_than_1 flag is encoded, and the first luminance frequency component of the Greeter_than_2 flag of the luminance is encoded. And six context models each for encoding the first chrominance frequency component of the Greeter_than_2 flag. Therefore, a total of 24 context models are used for Greator_than_1 and Greather_than_2. In one example, the first frequency component is accessed only when encoding a significance map at block 1312.

表(3)に示されるとおり、フラグの第1の輝度周波数を符号化するための6つのコンテキストモデルは、サブブロック・タイプおよびLargerT1値に依存してもよく、ここでLargerT1値とは、前のサブブロックにおける1よりも大きい係数レベル値の数である。一例において、「サブブロック」という用語は、残差サンプルの(またはブロックのTQCへの)細分化を示す。たとえば、4×4のサブブロック・サイズに対して、8×8のサイズを有する残差サンプルは4つの4×4サブブロックに分割される。同様に、8×4のサブブロック・サイズに対して、32×8のサイズを有する残差サンプルは8つの8×4サブブロックに分割される。サブブロックは符号化順によって特定され、ここでサブブロック0は第1の符号化サブブロックを示す。一例において、第1の符号化サブブロックは、ブロックの右下に位置するサブブロックである。別の例において、第1の符号化サブブロックは、ブロックの中央に位置するサブブロックである。   As shown in Table (3), the six context models for encoding the first luminance frequency of the flag may depend on the sub-block type and the LargeT1 value, where the LargerT1 value is The number of coefficient level values greater than 1 in each sub-block. In one example, the term “sub-block” refers to the subdivision of the residual sample (or block to TQC). For example, for a 4 × 4 sub-block size, a residual sample having a size of 8 × 8 is divided into four 4 × 4 sub-blocks. Similarly, for an 8 × 4 sub-block size, a residual sample having a size of 32 × 8 is divided into eight 8 × 4 sub-blocks. The sub-block is identified by the coding order, where sub-block 0 indicates the first coding sub-block. In one example, the first encoding sub-block is a sub-block located at the lower right of the block. In another example, the first encoding sub-block is a sub-block located at the center of the block.

ブロック1312において、電子デバイス1421は、コンテキストモデルのサブセットを用いて有意性マップを符号化する。   At block 1312, the electronic device 1421 encodes the significance map using the subset of context models.

段落0120に記載されるとおり、第1の周波数成分(またはスキャン位置)に等しくない周波数成分(またはスキャン位置)を有するコンテキストモデルは、ロスレス符号化モードにおいて用いられなくてもよい。このことは、ロスレス符号化モードに対する計算複雑度およびメモリを低減させるという利益を有する。コンテキストモデルの第1のサブセットは、有意性マップ処理のために用いられてもよい。コンテキストモデルの第2のサブセットは、たとえばGreater_than_1符号化および/またはGreater_than_2符号化などのレベル符号化のために用いられてもよい。第1のサブセットは第2のサブセットと異なっていてもよい。   As described in paragraph 0120, a context model having a frequency component (or scan position) that is not equal to the first frequency component (or scan position) may not be used in the lossless coding mode. This has the benefit of reducing computational complexity and memory for the lossless coding mode. A first subset of the context model may be used for significance map processing. The second subset of the context model may be used for level encoding, such as Greeter_than_1 encoding and / or Greeter_than_2 encoding, for example. The first subset may be different from the second subset.

上述の原理の少なくともいくつかを適用する例において、有意性マップ処理に用いられるコンテキストモデルの第1のサブセットは、ただ1つのコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、有意性マップ処理に用いられるコンテキストモデルの第1のサブセットは、色情報(輝度/色差)に基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用するさらに別の例において、有意性マップ処理に用いられるコンテキストモデルの第1のサブセットは、たとえばブロック内のイントラフレームまたはインターフレーム予測の使用などの予測タイプに基づいて、たとえばいくつかのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、有意性マップ処理に用いられるコンテキストモデルの第1のサブセットは、ブロック・サイズに基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、有意性マップ処理に用いられるコンテキストモデルの第1のサブセットは、サブブロック・タイプに基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。   In examples applying at least some of the principles described above, the first subset of context models used for significance map processing may include only one context model. In another example applying at least some of the principles described above, the first subset of context models used for significance map processing is based on color information (luminance / color difference), for example two or three context models May include more than one context model. In yet another example applying at least some of the principles described above, the first subset of context models used for significance map processing is based on a prediction type such as, for example, the use of intra-frame or inter-frame prediction within a block. Thus, it may include more than one context model, for example some context models. In another example applying at least some of the principles described above, the first subset of context models used for significance map processing is based on block size, for example two, such as two or three context models The above context model may be included. In another example applying at least some of the principles described above, the first subset of context models used for significance map processing is based on sub-block types, eg 2 or 3 context models, 2 It may contain more than one context model.

上述の原理の少なくともいくつかを適用する例において、レベル符号化に用いられるコンテキストモデルの第2のサブセットは、ただ1つのコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、レベル符号化に用いられるコンテキストモデルの第2のサブセットは、色情報(輝度/色差)に基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用するさらに別の例において、レベル符号化に用いられるコンテキストモデルの第2のサブセットは、たとえばブロック内のイントラフレームまたはインターフレーム予測の使用などのブロック予測タイプに基づいて、たとえばいくつかのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、レベル符号化に用いられるコンテキストモデルの第1のサブセットは、ブロック・サイズに基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。上述の原理の少なくともいくつかを適用する別の例において、レベル符号化処理に用いられるコンテキストモデルの第1のサブセットは、サブブロック・タイプに基づいて、たとえば2つまたは3つのコンテキストモデルなど、2つ以上のコンテキストモデルを含んでもよい。   In an example applying at least some of the above principles, the second subset of context models used for level encoding may include only one context model. In another example applying at least some of the principles described above, the second subset of context models used for level encoding is based on color information (luminance / color difference), for example two or three context models, etc. More than one context model may be included. In yet another example applying at least some of the principles described above, the second subset of context models used for level encoding is based on block prediction types, such as the use of intraframe or interframe prediction within a block, for example. Thus, it may include more than one context model, for example some context models. In another example applying at least some of the principles described above, the first subset of context models used for level encoding is based on block size, for example two or more, such as two or three context models The context model may be included. In another example applying at least some of the principles described above, the first subset of context models used in the level encoding process is based on sub-block types, eg 2 or 3 context models, 2 It may contain more than one context model.

図19は、復号側の電子デバイスにおけるロスレス符号化のための方法のさらに別の構成を示す流れ図である。   FIG. 19 is a flowchart showing still another configuration of the method for lossless encoding in the decoding-side electronic device.

ブロック1511において、電子デバイス1422は、CABACのコンテキストモデルのサブセットのみにアクセスする。ブロック1512において、電子デバイス1422はコンテキストモデルのサブセットを用いて、ビットストリームから2値シンボルを復元する。ブロック1513において、電子デバイス1422は復号の結果を用いて、ビデオデータを復元する。   At block 1511, the electronic device 1422 accesses only a subset of the CABAC context model. At block 1512, the electronic device 1422 uses the subset of context models to recover binary symbols from the bitstream. In block 1513, the electronic device 1422 restores the video data using the decoding result.

前述において、電子デバイス1421によって実現され得る構成は図13、図16および図18に示される。これらの構成すべてによってエンコーダを構成することによって、公知のCABACロスレス符号化モードに比べて符号化性能が改善される。しかしながら、これらの構成すべてよりも少ない任意の組み合わせ、たとえばこれらの構成の1つまたはこれらの構成のいずれか2つなどによってエンコーダを構成することも可能かつ実際的であり、こうした構成によっても、公知のCABACロスレス符号化モードに比べて符号化性能が改善される。   In the foregoing, configurations that can be realized by the electronic device 1421 are shown in FIGS. 13, 16 and 18. By configuring the encoder by all these configurations, the encoding performance is improved as compared with the known CABAC lossless encoding mode. However, it is also possible and practical to configure an encoder with any combination less than all of these configurations, such as one of these configurations or any two of these configurations, and such configurations are also known. Compared with the CABAC lossless coding mode, the coding performance is improved.

前述において、電子デバイス1422によって実現され得る構成は図14、図17および図19に示される。これらの構成すべてによってデコーダを構成することによって、公知のCABACロスレス符号化モードに比べて符号化性能が改善される。しかしながら、これらの構成すべてよりも少ない任意の組み合わせ、たとえばこれらの構成の1つまたはこれらの構成のいずれか2つなどによってデコーダを構成することも可能かつ実際的であり、こうした構成によっても、公知のCABACロスレス符号化モードに比べて符号化性能が改善される。   In the foregoing, configurations that can be implemented by the electronic device 1422 are shown in FIGS. By configuring the decoder by all these configurations, the encoding performance is improved as compared with the known CABAC lossless encoding mode. However, it is also possible and practical to configure the decoder with any combination less than all of these configurations, such as one of these configurations or any two of these configurations, and such configurations are also known. Compared with the CABAC lossless coding mode, the coding performance is improved.

一例において、プロセッサと、そのプロセッサと電子通信を行うメモリとを含む電子デバイスが提供される。メモリには、動作を行うためにプロセッサによって実行可能な命令が記憶される。   In one example, an electronic device is provided that includes a processor and a memory in electronic communication with the processor. The memory stores instructions that can be executed by the processor to perform operations.

一例において、1つの動作は、ロスレス符号化のために残差サンプルを表すブロックを得るステップを含んでもよい。別の動作は有意性マップを生成するステップを含んでもよく、この生成するステップは、ブロックの最終スキャン位置に対応する有意性マップ・フィールドに、ブロックの最終スキャン位置のレベルに対応する値を入力するステップを含む。別の動作は、その値を有する有意性マップを含むシンタックス要素の列を生成するステップを含んでもよい。別の動作は、生成されたシンタックス要素の列を表すビットストリームをデコーダに送信するステップを含んでもよい。   In one example, one operation may include obtaining a block representing residual samples for lossless coding. Another operation may include generating a significance map, which includes entering a value corresponding to the level of the block's final scan position in the significance map field corresponding to the block's final scan position. Including the steps of: Another operation may include generating a sequence of syntax elements that includes a significance map having that value. Another operation may include sending a bitstream representing a sequence of generated syntax elements to a decoder.

一例において、シンタックス要素の列は、コンテキスト適応型2値算術符号化(CABAC)の最終位置符号化ステップを行うことなく生成される。   In one example, the sequence of syntax elements is generated without performing a final position encoding step of context adaptive binary arithmetic coding (CABAC).

一例において、別の動作は、複数の2値化表を用いて実行適応型2値化を行うステップを含んでもよく、ここでシンタックス要素の列のAbsolute−3部分の値は、複数の2値化表に対する入力値として用いられる。別の動作は、適応型2値化の結果を符号化するステップを含んでもよい。複数の2値化表は、CAVLCのVLC表であってもよい。   In one example, another operation may include performing execution-adaptive binarization using a plurality of binarization tables, wherein the value of the Absolute-3 portion of the syntax element column is a plurality of 2 Used as an input value for the value table. Another operation may include encoding the result of adaptive binarization. The plurality of binarization tables may be CAVLC VLC tables.

一例において、適応型2値化の結果を符号化するステップは、付加的な動作を含んでもよい。付加的な動作は、CABACバイパス符号化モードを使用するステップを含んでもよい。   In one example, encoding the result of adaptive binarization may include additional operations. Additional operations may include using the CABAC bypass coding mode.

一例において、複数の2値化表を用いた入力値の適応型2値化は、付加的な動作を含んでもよい。付加的な動作は、入力値の1つがプリセット閾値よりも大きいかどうかを判定するステップを含んでもよい。付加的な動作は、前記入力値がプリセット閾値よりも大きいと判定するステップに応答して、表アップデートを行うステップを含んでもよい。   In one example, adaptive binarization of input values using a plurality of binarization tables may include additional operations. Additional operations may include determining whether one of the input values is greater than a preset threshold. Additional operations may include performing a table update in response to determining that the input value is greater than a preset threshold.

一例において、別の動作は、CABACのコンテキストモデルのサブセットのみにアクセスするステップを含んでもよい。別の動作は、コンテキストモデルのサブセットを用いて有意性マップを符号化するステップを含んでもよい。サブセットは、第1の周波数に等しくない周波数成分を有するCABACのコンテキストモデルを含んでもよい。   In one example, another operation may include accessing only a subset of the CABAC context model. Another operation may include encoding a significance map using a subset of the context model. The subset may include a CABAC context model having a frequency component that is not equal to the first frequency.

一例において、プロセッサと、そのプロセッサと電子通信を行うメモリとを含む電子デバイスが提供される。メモリには、動作を行うためにプロセッサによって実行可能な命令が記憶される。   In one example, an electronic device is provided that includes a processor and a memory in electronic communication with the processor. The memory stores instructions that can be executed by the processor to perform operations.

一例において、1つの動作は、ロスレス符号化のために残差サンプルを表すブロックを得るステップを含んでもよい。別の動作は、ブロックを表すためのシンタックス要素の列を生成するステップを含んでもよい。別の動作は、複数の2値化表を用いて適応型2値化を行うステップを含んでもよく、ここでシンタックス要素の列のAbsolute−3部分の値は、複数の2値化表に対する入力値として用いられる。別の動作は、適応型2値化の結果を符号化するステップを含んでもよい。別の動作は、この符号化をデコーダに送信するステップを含んでもよい。   In one example, one operation may include obtaining a block representing residual samples for lossless coding. Another operation may include generating a sequence of syntax elements to represent the block. Another operation may include performing adaptive binarization using a plurality of binarization tables, wherein the value of the Absolute-3 portion of the syntax element column is for a plurality of binarization tables. Used as input value. Another operation may include encoding the result of adaptive binarization. Another operation may include sending this encoding to a decoder.

一例において、複数の2値化表は、CAVLCのVLC表である。   In one example, the multiple binarization tables are CAVLC VLC tables.

一例において、適応型2値化の結果を符号化するステップは、付加的な動作を含んでもよい。付加的な動作は、コンテキスト適応型2値算術符号化(CABAC)バイパス符号化モードを使用するステップを含んでもよい。   In one example, encoding the result of adaptive binarization may include additional operations. Additional operations may include using a context adaptive binary arithmetic coding (CABAC) bypass coding mode.

一例において、複数の2値化表を用いた入力値の適応型2値化は、付加的な動作を含んでもよい。付加的な動作は、入力値の1つがプリセット閾値よりも大きいかどうかを判定するステップを含んでもよい。付加的な動作は、前記入力値がプリセット閾値よりも大きいと判定するステップに応答して、表アップデートを行うステップを含んでもよい。   In one example, adaptive binarization of input values using a plurality of binarization tables may include additional operations. Additional operations may include determining whether one of the input values is greater than a preset threshold. Additional operations may include performing a table update in response to determining that the input value is greater than a preset threshold.

一例において、別の動作は有意性マップを生成するステップを含んでもよく、この生成するステップは、ブロックの最終スキャン位置に対応する有意性マップ・フィールドに、ブロックの最終スキャン位置のレベルに対応する値を入力するステップを含む。別の動作は、生成された有意性マップを用いてシンタックス要素の列を生成するステップを含んでもよい。   In one example, another operation may include generating a significance map, the generating step corresponding to the level of the block's final scan position in the significance map field corresponding to the block's final scan position. Including the step of entering a value. Another operation may include generating a sequence of syntax elements using the generated significance map.

一例において、シンタックス要素の列は、CABACの最終位置符号化ステップを行うことなく生成される。   In one example, the sequence of syntax elements is generated without performing a CABAC final position encoding step.

一例において、方法が提供される。この方法はデコーダを用いて実行されてもよい。この方法の1つの動作は、どのコンテキストモデルが周波数成分に関連するかに基づいて、コンテキスト適応型2値算術符号化(CABAC)のコンテキストモデルをフィルタするステップを含んでもよい。この方法の別の動作は、ビットストリームを得るステップを含んでもよい。この方法の別の動作は、ビットストリームから2値シンボルを復元するステップを含んでもよい。この方法の別の動作は、フィルタされたコンテキストモデルを用いて2値シンボルを復号するステップを含んでもよい。この方法の別の動作は、復号の結果を用いてビデオデータを復元するステップを含んでもよい。   In one example, a method is provided. This method may be performed using a decoder. One operation of the method may include filtering a context adaptive binary arithmetic coding (CABAC) context model based on which context model is associated with a frequency component. Another operation of the method may include obtaining a bitstream. Another operation of the method may include recovering a binary symbol from the bitstream. Another operation of the method may include decoding binary symbols using a filtered context model. Another operation of the method may include restoring video data using the decoding result.

一例において、別の動作は、ビットストリームから、残差サンプルを表すブロックの最終スキャン位置に対応する値が入力された有意性マップを有するシンタックス要素の列を復元するステップを含んでもよい。別の動作は、有意性マップを用い、かつ有意性マップの前記値を用いてブロックのレベルを復号するステップを含んでもよい。   In one example, another operation may include restoring from the bitstream a sequence of syntax elements having a significance map that is populated with a value corresponding to the last scan position of the block representing the residual sample. Another operation may include using a significance map and decoding the level of the block using the value of the significance map.

一例において、ブロックのレベルの復号は、CABACの最終位置復号ステップを行うことなく実行され得る。   In one example, block level decoding may be performed without performing a CABAC final position decoding step.

一例において、別の動作は、復元された2値シンボルをバイパス復号するステップを含んでもよい。別の動作は、バイパス復号の結果を適応的にデバイナライズするステップを含んでもよい。別の動作は、デバイナリゼーションの結果を用いて残差情報を表すブロックを復元するステップを含んでもよい。   In one example, another operation may include bypass decoding the recovered binary symbol. Another operation may include debinarizing the result of bypass decoding adaptively. Another operation may include restoring a block representing residual information using the result of the debinarization.

一例において、別の動作は、適応型デバイナリゼーションのためにCAVLCの複数のVLC表を用いるステップを含んでもよい。   In one example, another operation may include using CAVLC multiple VLC tables for adaptive devinarization.

一例において、バイパス復号は、CABACバイパス復号モードを使用するステップを含んでもよい。   In one example, bypass decoding may include using a CABAC bypass decoding mode.

図21は、復号側の電子デバイスにおいて高スループット・モード条件が満たされるかどうかを判定するための方法の一構成を示す流れ図である。   FIG. 21 is a flowchart illustrating one configuration of a method for determining whether a high throughput mode condition is satisfied in a decoding-side electronic device.

ブロック2611において、電子デバイス422はビットストリームを得る。ブロック2612において、電子デバイス422はレベル値のブロックを得る。一例において、ブロックはTQCのブロックを含む。   At block 2611, the electronic device 422 obtains a bitstream. At block 2612, the electronic device 422 obtains a block of level values. In one example, the block includes a TQC block.

ブロック2613において、電子デバイス422は、0に等しくないレベル値の数を定める。菱形部2614において、電子デバイス422は、その数がプリセット閾値よりも大きいかどうかを判定する。一例において、プリセット閾値は8であってもよく、これは4×4ブロックの値の数の半分である。Nレベル値を有するブロック・サイズを伴う例において、閾値はNの50%に相当してもよい。一例において、電子デバイス422は、電子デバイス421からシグナリングを受信する。電子デバイス421によって送信されるシグナリングは、プリセット閾値を指定するか、またはプリセット閾値を定めるために電子デバイス421によって用いられ得る情報を含んでいてもよい。   At block 2613, the electronic device 422 determines the number of level values that are not equal to zero. In diamond portion 2614, electronic device 422 determines whether the number is greater than a preset threshold. In one example, the preset threshold may be 8, which is half the number of values in a 4 × 4 block. In an example with a block size having an N level value, the threshold may correspond to 50% of N. In one example, the electronic device 422 receives signaling from the electronic device 421. The signaling sent by the electronic device 421 may include information that may be used by the electronic device 421 to specify a preset threshold or to define a preset threshold.

菱形部2614において、もしその数がプリセット閾値以下であれば、ブロック2615において電子デバイス422は、第1の2値化法によって、0に等しくないレベル値を復号する。菱形部2614において、もしその数がプリセット閾値よりも大きければ、ブロック2616において電子デバイス422は、第1の2値化法とは異なる第2の2値化法によって、0に等しくないレベル値を復号する。一例において、第2の2値化法は、たとえば前述のHTBモードなどの高スループット・デバイナリゼーション・モードを含んでもよい。一例において、第1の2値化法は、従来のCABACの2値化を含んでもよい。   At diamond 2614, if the number is less than or equal to the preset threshold, at block 2615, electronic device 422 decodes a level value not equal to 0 by a first binarization method. In diamond 2614, if the number is greater than the preset threshold, then in block 2616, electronic device 422 determines a level value not equal to 0 by a second binarization method different from the first binarization method. Decrypt. In one example, the second binarization method may include a high throughput devinarization mode, such as the HTB mode described above. In one example, the first binarization method may include conventional CABAC binarization.

図22は、復号側の電子デバイスにおいて高スループット・モード条件が満たされるかどうかを判定するための方法の別の構成を示す流れ図である。   FIG. 22 is a flowchart illustrating another configuration of a method for determining whether a high-throughput mode condition is satisfied in a decoding-side electronic device.

ブロック2711において、電子デバイス422はビットストリームを得る。ブロック2712において、電子デバイス422はレベル値のブロックを得る。一例において、ブロックはTQCのブロックを含む。   At block 2711, the electronic device 422 obtains a bitstream. At block 2712, the electronic device 422 obtains a block of level values. In one example, the block includes a TQC block.

ブロック2713において、電子デバイス422は、第1のプリセット閾値よりも大きい絶対値を有するレベル値の数を定める。一例において、第1のプリセット閾値は1または2であってもよいが、他の例においては他の第1のプリセット閾値が用いられ得る。菱形部2714において、電子デバイス422は、その数が第2のプリセット閾値よりも大きいかどうかを判定する。一例において、第2のプリセット閾値は8であってもよく、これは4×4ブロックの値の数の半分である。Nレベル値を有するブロック・サイズを伴う例において、第2のプリセット閾値はNの50%に相当してもよい。   At block 2713, the electronic device 422 determines the number of level values that have an absolute value greater than the first preset threshold. In one example, the first preset threshold may be 1 or 2, but in other examples other first preset thresholds may be used. In diamond portion 2714, electronic device 422 determines whether the number is greater than a second preset threshold. In one example, the second preset threshold may be 8, which is half the number of values in a 4 × 4 block. In an example with a block size having an N level value, the second preset threshold may correspond to 50% of N.

一例において、電子デバイス422は、電子デバイス421からシグナリングを受信する。電子デバイス421によって送信されるシグナリングは、第1のプリセット閾値および/もしくは第2のプリセット閾値を指定するか、または第1のプリセット閾値および/もしくは第2のプリセット閾値を定めるために電子デバイス421によって用いられ得る情報を含んでいてもよい。   In one example, the electronic device 422 receives signaling from the electronic device 421. The signaling sent by the electronic device 421 may specify a first preset threshold and / or a second preset threshold, or may be sent by the electronic device 421 to define the first preset threshold and / or the second preset threshold. It may contain information that can be used.

菱形部2714において、もしその数が第2のプリセット閾値以下であれば、ブロック2715において電子デバイス422は、第1の2値化法によって、0に等しくないレベル値を復号する。菱形部2714において、もしその数がプリセット閾値よりも大きければ、ブロック2716において電子デバイス422は、第1の2値化法とは異なる第2の2値化法によって、0に等しくないレベル値を復号する。一例において、第2の2値化法は、たとえば前述のHTBモードなどの高スループット・デバイナリゼーション・モードを含んでもよい。一例において、第1の2値化法は、公知のCABAC復号の2値化を含んでもよい。   In diamond 2714, if the number is less than or equal to the second preset threshold, in block 2715, electronic device 422 decodes the level value not equal to 0 using the first binarization method. In diamond 2714, if the number is greater than the preset threshold, then in block 2716, electronic device 422 determines a level value not equal to 0 by a second binarization method different from the first binarization method. Decrypt. In one example, the second binarization method may include a high throughput devinarization mode, such as the HTB mode described above. In one example, the first binarization method may include binarization of known CABAC decoding.

図23は、エンコーダおよびデコーダの例を示すブロック図である。   FIG. 23 is a block diagram illustrating an example of an encoder and a decoder.

システム2400は、デコーダ2412によって復号される符号化ブロックを生成するためのエンコーダ2411を含む。エンコーダ2411およびデコーダ2412は、ネットワークを通じて通信してもよい。   System 2400 includes an encoder 2411 for generating encoded blocks that are decoded by a decoder 2412. The encoder 2411 and the decoder 2412 may communicate through a network.

デコーダ2412は、高スループット有意性マップ処理を用いて復号するように構成された電子デバイス2422を含む。電子デバイス2422はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図24〜27に示される動作を行うために実行可能な命令を記憶する。   The decoder 2412 includes an electronic device 2422 configured to decode using high throughput significance map processing. The electronic device 2422 may include a processor and memory in electronic communication with the processor, which stores instructions that are executable to perform the operations shown in FIGS.

エンコーダ2411は電子デバイス2421を含み、電子デバイス2421はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図24〜27に示される構成の記載およびそれらの図面に対応する説明から通常の当業者が理解するとおりの動作を行うためにプロセッサによって実行可能な命令を記憶する。   The encoder 2411 includes an electronic device 2421, which may include a processor and a memory in electronic communication with the processor, the memory corresponding to the description of the configurations shown in FIGS. The instructions that are executable by the processor to perform operations as understood by those of ordinary skill in the art from the description to be stored.

図24は、復号側の電子デバイスにおける高スループット有意性マップ復号のための方法の一構成を示す流れ図である。   FIG. 24 is a flowchart illustrating one configuration of a method for high-throughput significance map decoding in the decoding-side electronic device.

ブロック2801において、電子デバイス2422はビットストリームを得る。ブロック2802において、電子デバイス2422はレベル値のブロックを得る。一例において、ブロックはTQCのブロックを含む。ブロック2803において、電子デバイス2422はブロックのレベル値、たとえばブロックの第1のレベル値またはブロックの次のレベル値などを得る。   At block 2801, the electronic device 2422 obtains a bitstream. In block 2802, the electronic device 2422 obtains a block of level values. In one example, the block includes a TQC block. In block 2803, the electronic device 2422 obtains a block level value, such as a block first level value or a block next level value.

菱形部2804において、電子デバイス2422は、得られたレベル値がブロックの最終レベル値であるかどうかを判定する。菱形部2804において、もし得られたレベル値が最終レベル値でなければ、電子デバイス2422は菱形部2814に進む。菱形部2804において、もし得られたレベル値が最終レベル値であれば、ブロック2805において電子デバイス2422は、レベル値の大きさを復号する(この動作は、各レベル値に対する正負情報および絶対値の両方を定めるステップを含み得る)。   In diamond 2804, electronic device 2422 determines whether the obtained level value is the final level value of the block. In diamond 2804, if the obtained level value is not the final level value, electronic device 2422 proceeds to diamond 2814. In diamond 2804, if the obtained level value is the final level value, in block 2805, the electronic device 2422 decodes the magnitude of the level value (this operation includes positive / negative information and absolute value for each level value). Including steps to define both).

再び菱形部2814を参照すると、電子デバイス2422は第1の復号法を用いて、得られたレベル値が0でないかどうかを判定する。菱形部2814において、もし得られたレベル値が0でなければ、電子デバイス2422はブロック2815に進む。そうでなければ、電子デバイス2422はブロック2803に戻る。ブロック2815において、電子デバイス2422はカウンタをインクリメントする。   Referring to the diamond portion 2814 again, the electronic device 2422 uses the first decoding method to determine whether the obtained level value is not zero. In diamond 2814, if the obtained level value is not 0, electronic device 2422 proceeds to block 2815. Otherwise, electronic device 2422 returns to block 2803. At block 2815, the electronic device 2422 increments the counter.

菱形部2816において、電子デバイス2422は、カウンタの現カウントがプリセット閾値よりも大きいかどうかを判定する。一例において、プリセット閾値は、図21を参照して説明したプリセット閾値を含んでもよい。菱形部2816において、もしカウンタの現カウントがプリセット閾値よりも大きければ、電子デバイス2422はブロック2817に進む。そうでなければ、電子デバイス2422はブロック2803に戻る。   In diamond portion 2816, electronic device 2422 determines whether the current count of the counter is greater than a preset threshold. In one example, the preset threshold value may include the preset threshold value described with reference to FIG. At diamond 2816, if the current count of the counter is greater than the preset threshold, electronic device 2422 proceeds to block 2817. Otherwise, electronic device 2422 returns to block 2803.

ブロック2817において、電子デバイス2422はブロックの次のレベル値を得る。菱形部2818において、電子デバイス2422は、得られたレベル値がブロックの最終レベル値であるかどうかを判定する。菱形部2818において、もし得られたレベル値が最終レベル値でなければ、電子デバイス2422はブロック2819に進む。そうでなければ、ブロック2820において、電子デバイス2422はレベル値の大きさを復号する。   In block 2817, the electronic device 2422 obtains the next level value of the block. In diamond 2818, electronic device 2422 determines whether the obtained level value is the final level value of the block. In diamond 2818, if the obtained level value is not the final level value, electronic device 2422 proceeds to block 2819. Otherwise, at block 2820, the electronic device 2422 decodes the magnitude of the level value.

ブロック2819において、電子デバイス2422は、第1の復号法とは異なる第2の復号法を用いて、得られたレベル値が0でないかどうかを判定する。一例において、第2の復号法は、高スループット復号法またはバイパス復号法などを含む。一例において、第1の復号法はCABACのレギュラー復号モードを含む。   At block 2819, the electronic device 2422 uses a second decoding method that is different from the first decoding method to determine whether the resulting level value is non-zero. In one example, the second decoding method includes a high-throughput decoding method or a bypass decoding method. In one example, the first decoding method includes a CABAC regular decoding mode.

上記に従うと、有意性マップは、たとえば有意性マップ・フィールドごとなど、要素ごとに復号されてもよい。プリセット閾値に達したとき、電子デバイス2422は残りの有意性マップ部分の復号を変更してもよい。残りの有意性マップ部分に対して、高スループットまたはバイパス有意性マップ復号モードが用いられてもよい。したがって、従来のCABAC有意性マップ復号よりも復号性能が改善され得る。   In accordance with the above, the significance map may be decoded element by element, eg, by significance map field. When the preset threshold is reached, the electronic device 2422 may change the decoding of the remaining significance map portions. A high throughput or bypass significance map decoding mode may be used for the remaining significance map portions. Therefore, decoding performance can be improved over conventional CABAC significance map decoding.

図25は、復号側の電子デバイスにおける高スループット有意性マップ復号のための方法の別の構成を示す流れ図である。   FIG. 25 is a flowchart illustrating another configuration of a method for high-throughput significance map decoding in the decoding-side electronic device.

図25に示される方法において、図示されるとおり、処理2801〜2805(図24)に類似の処理2901〜2905が行われてもよい。菱形部2914において、電子デバイス2422は第1の復号法を用いて、得られたレベル値の絶対値が第1の閾値よりも大きいかどうかを判定する。一例において、第1の閾値は1または2であってもよいが、他の例においては他の第1の閾値が用いられ得る。菱形部2914において、もし得られたレベル値の絶対値が第1の閾値よりも大きければ、電子デバイス2422はブロック2915に進む。そうでなければ、電子デバイス2422はブロック2903に戻る。ブロック2915において、電子デバイス2422はカウンタをインクリメントする。   In the method shown in FIG. 25, processes 2901-2905 similar to processes 2801-2805 (FIG. 24) may be performed as shown. In the diamond portion 2914, the electronic device 2422 uses the first decoding method to determine whether the absolute value of the obtained level value is greater than the first threshold value. In one example, the first threshold may be 1 or 2, but in other examples other first thresholds may be used. In diamond 2914, if the absolute value of the obtained level value is greater than the first threshold, electronic device 2422 proceeds to block 2915. Otherwise, electronic device 2422 returns to block 2903. At block 2915, the electronic device 2422 increments the counter.

菱形部2916において、電子デバイス2422は、カウンタの現カウントが第2のプリセット閾値よりも大きいかどうかを判定する。一例において、第2のプリセット閾値は8であってもよく、これは4×4ブロックの値の数の半分である。Nレベル値を有するブロック・サイズを伴う例において、第2のプリセット閾値はNの50%に相当してもよい。菱形部2916において、もしカウンタの現カウントが第2の閾値よりも大きければ、電子デバイス2422はブロック2917に進む。そうでなければ、電子デバイス2422はブロック2903に戻る。   In diamond portion 2916, electronic device 2422 determines whether the current count of the counter is greater than a second preset threshold. In one example, the second preset threshold may be 8, which is half the number of values in a 4 × 4 block. In an example with a block size having an N level value, the second preset threshold may correspond to 50% of N. In diamond 2916, if the current count of the counter is greater than the second threshold, electronic device 2422 proceeds to block 2917. Otherwise, electronic device 2422 returns to block 2903.

ブロック2917において、電子デバイス2422はブロックの次のレベル値を得る。菱形部2918において、電子デバイス2422は、得られたレベル値がブロックの最終レベル値であるかどうかを判定する。菱形部2918において、もし得られたレベル値が最終レベル値でなければ、電子デバイス2422はブロック2919に進む。そうでなければ、ブロック2920において、電子デバイス2422はレベル値の大きさを復号する。   In block 2917, the electronic device 2422 obtains the next level value of the block. In diamond portion 2918, electronic device 2422 determines whether the obtained level value is the final level value of the block. In diamond 2918, if the obtained level value is not the final level value, electronic device 2422 proceeds to block 2919. Otherwise, at block 2920, the electronic device 2422 decodes the magnitude of the level value.

ブロック2919において、電子デバイス2422は、第1の復号法とは異なる第2の復号法を用いて、得られたレベル値の絶対値が第1の閾値よりも大きいかどうかを判定する。一例において、第2の復号法は、高スループット復号法またはバイパス復号法などを含む。一例において、第1の復号法はCABACのレギュラー復号モードを含む。   In block 2919, the electronic device 2422 uses a second decoding method different from the first decoding method to determine whether the absolute value of the obtained level value is greater than the first threshold value. In one example, the second decoding method includes a high-throughput decoding method or a bypass decoding method. In one example, the first decoding method includes a CABAC regular decoding mode.

上記に従うと、有意性マップは、たとえば有意性マップ・フィールドごとなど、要素ごとに復号されてもよい。プリセット閾値に達したとき、電子デバイス2422は残りの有意性マップ部分の復号を変更してもよい。残りの有意性マップ部分に対して、高スループットまたはバイパス有意性マップ復号モードが用いられてもよい。したがって、従来のCABAC有意性マップ復号よりも復号性能が改善され得る。   In accordance with the above, the significance map may be decoded element by element, eg, by significance map field. When the preset threshold is reached, the electronic device 2422 may change the decoding of the remaining significance map portions. A high throughput or bypass significance map decoding mode may be used for the remaining significance map portions. Therefore, decoding performance can be improved over conventional CABAC significance map decoding.

図26は、復号側の電子デバイスにおける復号バイパス機能を伴う高スループット有意性マップ復号のための方法の一構成を示す流れ図である。   FIG. 26 is a flowchart illustrating one configuration of a method for high-throughput significance map decoding with a decoding bypass function in the decoding-side electronic device.

図26に示される方法において、図示されるとおり、処理2801〜2804および2814〜2816(図24)に類似の処理3001〜3004および3014〜3016が行われてもよい。ブロック3005において、電子デバイス2422は、たとえば2値化法などの第3の復号法を用いて、レベル値の大きさを復元する。ブロック3020において、電子デバイス2422は、第3の復号法を用いてレベル値の第1の部分の大きさを復元し、かつたとえば異なる2値化法などの第4の復号法を用いてレベル値の第2の部分の大きさを復元する。   In the method shown in FIG. 26, processes 3001 to 3004 and 3014 to 3016 similar to processes 2801 to 2804 and 2814 to 2816 (FIG. 24) may be performed as illustrated. At block 3005, the electronic device 2422 restores the magnitude of the level value using a third decoding method such as a binarization method. At block 3020, the electronic device 2422 restores the magnitude of the first portion of the level value using a third decoding method, and uses a fourth decoding method such as a different binarization method to obtain the level value. The size of the second part of is restored.

一例において、レベル値の第1の部分は、第1の復号法によって処理されたレベル値を含む。レベル値の第2の部分は、第1の復号法によって処理されなかったレベル値を含む。   In one example, the first part of the level value includes the level value processed by the first decoding method. The second part of the level value includes the level value that has not been processed by the first decoding method.

図26に示される構成と類似した、復号側の電子デバイスにおける復号バイパス機能を伴う高スループット有意性マップ復号のための方法の他の構成も可能かつ実際的であることは明らかなはずである。たとえば、別の構成において、電子デバイス2422は菱形部2914(図25)と同様に、第1の復号法を用いて、得られたレベル値の絶対値が第1のプリセット閾値よりも大きいかを判定する。加えて、電子デバイス2422は菱形部2916(図25)と同様に、カウンタが第2のプリセット閾値よりも大きいかどうかを判定する。   It should be apparent that other configurations of the method for high throughput significance map decoding with decoding bypass functionality in the decoding-side electronic device similar to the configuration shown in FIG. 26 are possible and practical. For example, in another configuration, the electronic device 2422 uses the first decoding method to determine whether the absolute value of the obtained level value is greater than the first preset threshold, similar to the diamond portion 2914 (FIG. 25). judge. In addition, the electronic device 2422 determines whether the counter is greater than the second preset threshold, similar to the diamond portion 2916 (FIG. 25).

上記に従うと、有意性マップは、たとえば有意性マップ・フィールドごとなど、要素ごとに復号されてもよい。プリセット閾値に達したとき、電子デバイス2422は有意性マップを復号するステップを停止してもよい(有意性マップの残りの要素は復号されない)。その後、復号された要素に対応するレベル値は、2値化法(例、0の値を送り得る2値化法)を用いて処理され、一方で残りの要素は、異なる2値化法(例、0の値を送り得ない2値化法)を用いて処理される。したがって、従来のCABAC有意性マップ復号よりも復号性能が改善され得る。   In accordance with the above, the significance map may be decoded element by element, eg, by significance map field. When the preset threshold is reached, the electronic device 2422 may stop decoding the significance map (the remaining elements of the significance map are not decoded). The level values corresponding to the decoded elements are then processed using a binarization method (eg, a binarization method that can send a value of 0), while the remaining elements are processed by different binarization methods ( For example, a binarization method that cannot send a value of 0). Therefore, decoding performance can be improved over conventional CABAC significance map decoding.

図27は、復号側の電子デバイスにおける復号法切替え機能を伴う高スループット有意性マップ復号のための方法の一構成を示す流れ図である。   FIG. 27 is a flowchart showing one configuration of a method for high-throughput significance map decoding with a decoding method switching function in the decoding-side electronic device.

図27に示される方法において、図示されるとおり、処理2801〜2804および2814〜2819(図24)に類似の処理3801〜3804および3814〜3819が行われてもよい。ブロック3805において、電子デバイス2422は、第3の復号法(図26の第3の復号法)を用いて、レベル値の大きさを復元する。ブロック3820において、電子デバイス2422は、第3の復号法を用いてレベル値の第1の部分の大きさを復元し、かつ第4の復号法(図26の第4の復号法)を用いてレベル値の第2の部分の大きさを復元する。一例において、レベル値の第1の部分はブロック3803で得られるレベル値を含むのに対し、レベル値の第2の部分はブロック3817で得られるレベル値を含む。   In the method shown in FIG. 27, processes 3801 to 3804 and 3814 to 3819 similar to processes 2801 to 2804 and 2814 to 2819 (FIG. 24) may be performed as shown. In block 3805, the electronic device 2422 restores the magnitude of the level value using the third decoding method (third decoding method of FIG. 26). At block 3820, the electronic device 2422 restores the magnitude of the first portion of the level value using the third decoding method and uses the fourth decoding method (fourth decoding method of FIG. 26). Restore the size of the second part of the level value. In one example, the first portion of the level value includes the level value obtained at block 3803, while the second portion of the level value includes the level value obtained at block 3817.

図27に示される構成と類似した、復号側の電子デバイスにおける復号バイパス機能を伴う高スループット有意性マップ復号のための方法の他の構成も可能かつ実際的であることは明らかなはずである。たとえば、別の構成において、電子デバイス2422は菱形部2914(図25)と同様に、第1の復号法を用いて、得られたレベル値の絶対値が第1のプリセット閾値よりも大きいかを判定する。加えて、電子デバイス2422は菱形部2916(図25)と同様に、カウンタが第2のプリセット閾値よりも大きいかどうかを判定する。   It should be apparent that other configurations of the method for high throughput significance map decoding with a decoding bypass function in the decoding-side electronic device similar to the configuration shown in FIG. 27 are possible and practical. For example, in another configuration, the electronic device 2422 uses the first decoding method to determine whether the absolute value of the obtained level value is greater than the first preset threshold, similar to the diamond portion 2914 (FIG. 25). judge. In addition, the electronic device 2422 determines whether the counter is greater than the second preset threshold, similar to the diamond portion 2916 (FIG. 25).

一例においては、プロセッサと、そのプロセッサと電子通信を行うメモリとを含む第1の電子デバイスが提供される。メモリには、動作を実行するためにプロセッサによって実行可能な命令が記憶される。   In one example, a first electronic device is provided that includes a processor and a memory in electronic communication with the processor. The memory stores instructions that can be executed by the processor to perform operations.

一例において、1つの動作は、ビットストリームを受信するステップを含んでもよい。別の動作は、受信したビットストリームに基づくレベル値のブロックを得るステップを含んでもよい。別の動作は、閾値に従ってレベル値の一部分を特定するステップを含んでもよい。別の動作は、その部分を特定した後に、高スループット有意性マップ処理モードを用いてレベル値の残りの任意の値を処理するステップを含んでもよい。別の動作は、その処理に基づいてビデオデータを復元するステップを含んでもよい。   In one example, one operation may include receiving a bitstream. Another operation may include obtaining a block of level values based on the received bitstream. Another operation may include identifying a portion of the level value according to a threshold value. Another operation may include processing any remaining values of the level value using the high throughput significance map processing mode after identifying the portion. Another operation may include restoring video data based on the processing.

一例においては、プロセッサと、そのプロセッサと電子通信を行うメモリとを含む第2の電子デバイスが提供される。メモリには、動作を実行するためにプロセッサによって実行可能な命令が記憶される。1つの動作は、第1の電子デバイスにシグナリングを送信するステップを含んでもよく、ここでシグナリングは閾値を特定する。   In one example, a second electronic device is provided that includes a processor and a memory in electronic communication with the processor. The memory stores instructions that can be executed by the processor to perform operations. One operation may include sending signaling to the first electronic device, where the signaling specifies a threshold value.

上記に従うと、有意性マップは、たとえば有意性マップ・フィールドごとなど、要素ごとに復号されてもよい。プリセット閾値に達したとき、電子デバイス2422は有意性マップを復号するステップを停止してもよい(有意性マップの残りの要素は復号されない)。その後、復号された要素に対応するレベル値は、2値化法(例、0の値を送り得る2値化法)を用いて処理され、一方で残りの要素は、異なる2値化法(例、0の値を送り得ない2値化法)を用いて処理される。したがって、従来のCABAC有意性マップ復号よりも復号性能が改善され得る。   In accordance with the above, the significance map may be decoded element by element, eg, by significance map field. When the preset threshold is reached, the electronic device 2422 may stop decoding the significance map (the remaining elements of the significance map are not decoded). The level values corresponding to the decoded elements are then processed using a binarization method (eg, a binarization method that can send a value of 0), while the remaining elements are processed by different binarization methods ( For example, a binarization method that cannot send a value of 0). Therefore, decoding performance can be improved over conventional CABAC significance map decoding.

「HEVCにおけるCABACに対する異なるパラメータ選択技術を伴うロスレス符号化」   “Lossless coding with different parameter selection techniques for CABAC in HEVC”

ロスレス符号化モードにおけるHEVCにおいてCABAC符号化を使用するとき、符号化/復号は計算が複雑である。この計算複雑度の理由の1つは、シンタックス要素「Absolute−3」の符号化である。公知のCABAC符号化においては、シンタックス要素を符号化するために、指数ゴロム−ライス符号化法が用いられる。   When using CABAC coding in HEVC in lossless coding mode, encoding / decoding is computationally complex. One reason for this computational complexity is the encoding of the syntax element “Absolute-3”. In known CABAC encoding, an exponential Golomb-Rice encoding method is used to encode syntax elements.

背景として、指数ゴロム−ライス(Exponential−Golomb−Rice:G−R)符号化法は、図28に示されるライスパラメータ・アップデート表を使用する。次の段落でより詳細に説明するとおり、CABACの公知のロスレス符号化モードにおいてシンタックス要素「Absolute−3」(すなわち図2の表の最終行)を符号化するためにG−R符号化法が適用される。   As a background, the exponential Golomb-Rice (GR) coding method uses the Rice parameter update table shown in FIG. As described in more detail in the next paragraph, the GR encoding method is used to encode the syntax element “Absolute-3” (ie, the last row of the table of FIG. 2) in CABAC's known lossless encoding mode. Applies.

ライスパラメータは、シンボルからビンへの変換を制御する。例として示すために、図28の表およびG−R符号化を用いてシンボル0、11、4...を変換することを考える。ここで「0」(第1のシンボル)は、サブブロックの最初のシンボルである。第1のシンボルがサブブロックの最初のシンボルであるため、ライスパラメータは第1のシンボルに対して0に初期化される。第1のシンボル「0」は、現ライスパラメータの0を用いて符号化される。一例において、RPのライスパラメータによってシンボルを符号化する処理は、Quotient=floor((symbol−1)/RP)の値を算出するステップと、1に等しいビンのQuotient列の後に0に等しいビンを含む出力を生成するステップとからなる。ここでQuotientは整数であり、floor()は整数と分数成分とを含む値を整数成分にマッピングする演算である。例示のために、シンボル「5」をライスパラメータ3によって符号化すると、結果としてQuotient値1および出力ビン「01」が得られる。同様に、シンボル「100」をライスパラメータ33によって符号化すると、結果としてQuotient値3および出力ビン「0001」が得られる。代替例において、RPのライスパラメータによってシンボルを符号化する処理は、Quotient=floor((symbol−1)/RP)の値を算出するステップと、0に等しいビンのQuotient列の後に1に等しいビンを含む出力を生成するステップとからなる。さらに別の例において、RPのライスパラメータによってシンボルを符号化する処理は、ルックアップ表のセットから、シンボルとビンの列とのマッピングを定めるRP番目のルックアップ表を選択するステップからなる。図28の表に従うルックアップの結果が0であるとき、ライスパラメータは次のシンボルに対してアップデートを行わない。よって第2のシンボル「11」は、現ライスパラメータ0を用いて符号化される。第2のシンボル「11」およびライスパラメータ「0」に対するルックアップの結果(「2」)が現ライスパラメータ値(すなわち0)と異なるとき、ライスパラメータは0から2にアップデートされる。次いで、第3のシンボル「4」が現ライスパラメータ2によって符号化される。ルックアップの結果が現ライスパラメータと異なる値ではないとき、次のシンボルに対してライスパラメータ2が用いられる。   Rice parameters control the conversion from symbol to bin. For purposes of illustration, symbols 0, 11, 4,..., Using the table of FIG. . . Think about converting. Here, “0” (first symbol) is the first symbol of the sub-block. Since the first symbol is the first symbol of the sub-block, the Rice parameter is initialized to 0 for the first symbol. The first symbol “0” is encoded using 0 of the current Rice parameter. In one example, the process of encoding a symbol with the RP's Rice parameter includes the steps of calculating the value of Quuient = floor ((symbol-1) / RP), and a bin string equal to 0 after a Quotient sequence of bins equal to 1. Generating an output including. Here, quotient is an integer, and floor () is an operation for mapping a value including an integer and a fractional component to the integer component. For illustration, encoding the symbol “5” with Rice parameter 3 results in a quotient value of 1 and an output bin of “01”. Similarly, encoding the symbol “100” with the Rice parameter 33 results in a quotient value of 3 and an output bin “0001”. In an alternative example, the process of encoding a symbol with the RP's Rice parameter comprises the steps of calculating the value of Quuent = floor ((symbol-1) / RP) and a bin equal to 1 after a quaint column of bins equal to 0. Generating an output including. In yet another example, the process of encoding a symbol with the RP's Rice parameter comprises selecting an RP-th lookup table that defines a mapping between symbols and bin columns from a set of lookup tables. When the result of the lookup according to the table of FIG. 28 is 0, the Rice parameter does not update the next symbol. Therefore, the second symbol “11” is encoded using the current Rice parameter 0. When the result of the lookup for the second symbol “11” and the rice parameter “0” (“2”) is different from the current rice parameter value (ie, 0), the rice parameter is updated from 0 to 2. The third symbol “4” is then encoded with the current Rice parameter 2. When the result of the lookup is not a different value from the current Rice parameter, Rice parameter 2 is used for the next symbol.

公知のCABACに従って「Absolute−3」値をG−R符号化することは計算が複雑であるため、符号化/復号はかなりの量の処理リソースを消費し得るか、および/または完了するためにかなりの時間をとり得る。以下の本開示は、この問題および他の問題を解決するものである。   Encoding / decoding may consume a significant amount of processing resources and / or be completed, as the GR encoding of “Absolute-3” values according to known CABAC is computationally complex It can take a considerable amount of time. The present disclosure below addresses this and other problems.

図29は、エンコーダおよびデコーダの例を示すブロック図である。   FIG. 29 is a block diagram illustrating an example of an encoder and a decoder.

システム2900は、デコーダ2912によって復号される符号化ブロックを生成するためのエンコーダ2911を含む。エンコーダ2911およびデコーダ2912は、ネットワークを通じて通信してもよい。   System 2900 includes an encoder 2911 for generating encoded blocks that are decoded by a decoder 2912. The encoder 2911 and the decoder 2912 may communicate through a network.

エンコーダ2911は、HEVCにおけるCABACに対する異なるパラメータ選択を伴うロスレス符号化を用いて符号化するように構成された電子デバイス2921を含む。電子デバイス2921はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図30に示される動作を行うためにプロセッサによって実行可能な命令を記憶する。   The encoder 2911 includes an electronic device 2921 configured to encode using lossless coding with different parameter selections for CABAC in HEVC. Electronic device 2921 may include a processor and memory in electronic communication with the processor, which stores instructions executable by the processor to perform the operations shown in FIG.

デコーダ2912は、HEVCにおけるCABACに対する異なるパラメータ選択を伴うロスレス符号化を用いて復号するように構成された電子デバイス2922を含む。電子デバイス2922はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図31に示される動作を行うために実行可能な命令を記憶する。   The decoder 2912 includes an electronic device 2922 configured to decode using lossless coding with different parameter selections for CABAC in HEVC. Electronic device 2922 may include a processor and memory in electronic communication with the processor, which stores instructions executable to perform the operations shown in FIG.

図30は、電子デバイスにおける異なるパラメータ選択を伴うロスレス符号化のための方法の一構成を示す流れ図である。   FIG. 30 is a flow diagram illustrating one configuration of a method for lossless encoding with different parameter selections in an electronic device.

ブロック3011において、電子デバイス2921は、たとえばCABACに基づくエンコーダなど、算術に基づくエンコーダを用いて符号化されるデータのブロックを得る。菱形部3012において、電子デバイス2921は、ブロックがロスレス符号化を用いて符号化されるかどうかを判定する。もしブロックがロスレス符号化を用いて符号化されるものでなければ、ブロック3013において電子デバイス2921は、第1のAbsolute−3符号化技術を用いてデータのブロックを符号化する。   At block 3011, the electronic device 2921 obtains a block of data that is encoded using an arithmetic-based encoder, such as an encoder based on CABAC. In diamond 3012, electronic device 2921 determines whether the block is encoded using lossless encoding. If the block is not encoded using lossless encoding, at block 3013, the electronic device 2921 encodes the block of data using the first Absolute-3 encoding technique.

もしブロックがロスレス符号化を用いて符号化されるものであれば、ブロック3014において電子デバイス2921は、第2の異なるAbsolute−3符号化技術を用いてデータのブロックを符号化する。ブロック3015において、電子デバイス2921は、生成されたビットストリームをネットワークを通じて送信するか、および/または生成されたビットストリームをメモリデバイスに記憶する。   If the block is to be encoded using lossless encoding, at block 3014, the electronic device 2921 encodes the block of data using a second, different Absolute-3 encoding technique. At block 3015, the electronic device 2921 transmits the generated bitstream over the network and / or stores the generated bitstream in the memory device.

一例において、第1のAbsolute−3符号化技術はCABAC符号化のR−G符号化技術を含む。すなわち、各サブブロック符号化段階においてライスパラメータは0に初期化し、図28に示される表の5つのライスパラメータが考慮される。一例において、第2の異なるAbsolute−3符号化技術は各サブブロック符号化段階において0に初期化せず、すなわち別様に初期化されるか、および/または、たとえば縮小されたライスパラメータ・アップデート表など、異なるライスパラメータ・アップデート表を用いる。   In one example, the first Absolute-3 encoding technique includes the CABAC encoded RG encoding technique. That is, the Rice parameter is initialized to 0 at each sub-block encoding stage, and the five Rice parameters in the table shown in FIG. 28 are considered. In one example, the second different Absolute-3 encoding technique does not initialize to 0 in each sub-block encoding stage, ie is initialized differently and / or, for example, reduced Rice parameter update Use different rice parameter update tables, such as tables.

一例において、異なる初期化は、各サブブロックではなく各ブロックにおいてライスパラメータを0に初期化するステップを含んでもよい。一例において、異なる初期化は、前のサブブロックにおいて用いられた最終ライスパラメータを、現サブブロックの初期ライスパラメータとして用いるステップを含んでもよい。   In one example, the different initializations may include initializing Rice parameters to 0 in each block rather than in each sub-block. In one example, the different initializations may include using the final rice parameters used in the previous sub-block as the initial rice parameters for the current sub-block.

一例において、異なる初期化は、残差サンプルの統計に基づいて初期化するステップを含んでもよい。一例において、異なる初期化は、ブロック・タイプ、ブロック・サイズ、もしくは色情報(輝度/色差)など、またはその任意の組み合わせに基づく、予め定義されたライスパラメータ値にて初期化するステップを含んでもよい。ブロック・タイプは、ブロックのブロック・サイズ、ブロックの予測情報(イントラ/インター)、およびブロックの色情報(輝度/色差)に基づいてブロックを表すための値である。一例において、異なる初期化は、現ブロック・タイプがたとえば「2」および/または「5」などの特定の予め定義された値(単数または複数)に等しいときに、予め定義された値「1」にてライスパラメータを初期化するステップを含んでもよい。   In one example, the different initializations may include initializing based on residual sample statistics. In one example, the different initializations may include initializing with predefined Rice parameter values based on block type, block size, color information (luminance / color difference), etc., or any combination thereof. Good. The block type is a value for representing a block on the basis of the block size of the block, block prediction information (intra / inter), and block color information (luminance / color difference). In one example, the different initialization is a predefined value “1” when the current block type is equal to a particular predefined value or values such as “2” and / or “5”, for example. A step of initializing the rice parameters.

一例において、異なるライスパラメータ・アップデート表は、第1のAbsolute−3符号化技術に対して用いられるライスパラメータ・アップデート表よりも少ないライスパラメータを含む。一例において、異なるライスパラメータ・アップデート表は、最初の2つの場合(ライスパラメータが「0」および「1」に等しい)のみを含む。こうしたライスパラメータ・アップデート表の例示は、図37に含まれる。   In one example, the different Rice parameter update table includes fewer Rice parameters than the Rice parameter update table used for the first Absolute-3 encoding technique. In one example, the different Rice parameter update tables include only the first two cases (Rice parameters equal to “0” and “1”). An example of such a rice parameter update table is included in FIG.

一例において、もし第2の異なるAbsolute−3符号化技術が用いられれば、電子デバイス2921は、たとえば第2の異なるAbsolute−3符号化技術に関連するフラグなど、対応するインジケータを1の値に設定してもよい(この動作はもちろん、設計の優先度によって、前記フラグのデフォルト値を変更するステップ、または前記フラグをデフォルト値のままにするステップを含んでもよい)。   In one example, if a second different Absolute-3 encoding technique is used, the electronic device 2921 sets the corresponding indicator to a value of 1, for example, a flag associated with the second different Absolute-3 encoding technique. (This operation may of course include changing the default value of the flag or leaving the flag at the default value, depending on design priority).

図31は、復号側の電子デバイスにおける異なるパラメータ選択を伴うロスレス符号化のための方法の一構成を示す流れ図である。   FIG. 31 is a flow diagram illustrating one configuration of a method for lossless encoding with different parameter selection in the decoding-side electronic device.

ブロック3110において、電子デバイス2922はビットストリームを得る。ブロック3111において、電子デバイス2922は、得られたビットストリームから2値シンボルを復元する。   At block 3110, the electronic device 2922 obtains a bitstream. In block 3111, the electronic device 2922 restores a binary symbol from the obtained bitstream.

菱形部3112において、電子デバイス2922は、2値シンボルがロスレス復号を用いて復号されるかどうかを判定する。一例において、この判定は、受信したビットストリームに対応する、たとえばスライスヘッダなどのヘッダをチェックするステップを含んでもよい。ヘッダをチェックするステップはさらに、第2の異なるAbsolute−3符号化技術に関連するフラグの値に対して、得られたビットストリームに対応するスライスヘッダをチェックするステップを含んでもよい。別の例において、この判定は、たとえばブロック・タイプ、または係数レベルからTQCへの変換を制御する量子化パラメータなど、ブロックに関連する、前に復号されたシンボルをチェックするステップを含んでもよい。もし菱形部3112において条件が満たされなければ、ブロック3113において電子デバイス2922は、第1のAbsolute−3符号化技術を用いてTQCのブロックを得る。   At diamond 3112, electronic device 2922 determines whether the binary symbol is decoded using lossless decoding. In one example, this determination may include checking a header, such as a slice header, corresponding to the received bitstream. Checking the header may further include checking the slice header corresponding to the resulting bitstream for the value of a flag associated with a second different Absolute-3 encoding technique. In another example, this determination may include checking a previously decoded symbol associated with the block, such as a block type or a quantization parameter that controls the conversion from coefficient level to TQC. If the condition is not met at diamond 3112, at block 3113, electronic device 2922 obtains a block of TQC using the first Absolute-3 encoding technique.

もし菱形部3112において条件が満たされれば、ブロック3114において電子デバイス2921は、第2の異なるAbsolute−3符号化技術を用いて残差サンプルを得る。ブロック3115において電子デバイス2922は、得られたTQCのブロックもしくは得られた残差サンプルをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   If the condition is satisfied at diamond 3112, at block 3114, electronic device 2921 obtains residual samples using a second, different Absolute-3 encoding technique. In block 3115, the electronic device 2922 stores the obtained block of TQC or the obtained residual sample in a memory device and / or recovers the video data.

「HEVCにおけるCABACに対する高スループット符号化」   "High Throughput Coding for CABAC in HEVC"

HEVCにおいてCABAC符号化を使用するとき、たとえばビン/画素の総数、バイパス・ビン/画素の数、およびレギュラー(またはコンテキスト)符号化ビン/画素の数などであるがそれに限定されない異なる要素に依存して、スループット性能が変わり得る。したがって、これらの要素に依存して、符号化はかなりの量の処理リソースを消費し得るか、および/またはかなりの時間をとり得る。以下の本開示は、この問題および他の問題を解決するものである。   When using CABAC encoding in HEVC, it depends on different factors such as, but not limited to, the total number of bins / pixels, the number of bypass bins / pixels, and the number of regular (or context) encoding bins / pixels. Throughput performance can vary. Thus, depending on these factors, encoding can consume a significant amount of processing resources and / or can take a significant amount of time. The present disclosure below addresses this and other problems.

背景として、公知のCABACに従うと、シンタックス要素の最大25レベルコードフラグがコンテキスト符号化される。残りのレベルコードフラグは、バイパス符号化される。予め定義された(かつ固定された)数のGreater_than_1フラグ、すなわち8つのGreater_than_1フラグがコンテキスト符号化される。予め定義された(かつ固定された)数、すなわち1つのGreater_than_2フラグがコンテキスト符号化される。有意性マップ・フラグのすべて、すなわち最大16がコンテキスト符号化される(ブロックの最終位置情報に依存して、シンタックス要素は16未満の有意性マップ・フラグを有し得る。したがって、所与のサブセットブロックに対して最大25のコンテキスト符号化ビンが必要とされる(25ビン/16画素=1.56ビン/画素)。上記の例は、4×4サブブロックを用いる場合である。   As background, according to the known CABAC, up to 25 level code flags of syntax elements are context encoded. The remaining level code flags are bypass encoded. A predefined (and fixed) number of Greeter_than_1 flags, i.e. 8 Greeter_than_1 flags, are context encoded. A predefined (and fixed) number, ie one Greeter_than_2 flag, is context encoded. All of the significance map flags, i.e. up to 16, are context encoded (depending on the final position information of the block, the syntax element may have a significance map flag of less than 16. Thus, a given A maximum of 25 context coding bins are required for the subset block (25 bins / 16 pixels = 1.56 bins / pixel) The above example is for using 4 × 4 sub-blocks.

図34は、電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。   FIG. 34 is a flowchart illustrating one configuration of a method for high-throughput encoding for CABAC in HEVC in an electronic device.

ブロック3411において、電子デバイス3321は、たとえばCABACに基づくエンコーダなど、算術に基づくエンコーダを用いて符号化されるデータのブロックを得る。ブロック3412において、電子デバイス3321は、たとえばCABACシンタックス要素のGreater_than_1およびGreater_than_2フラグなど、シンタックス要素の第1の量のレベルコードフラグをコンテキスト符号化する。第1の量は第1の予め定義された数を含み、その数はたとえば9、すなわち8のGreater_than_1フラグおよび1のGreater_than_2フラグなどである。   At block 3411, the electronic device 3321 obtains a block of data to be encoded using an arithmetic-based encoder, such as an encoder based on CABAC. At block 3412, the electronic device 3321 context encodes a first amount of level code flags in the syntax element, such as, for example, the CABAC syntax element Greator_tan_1 and Greator_than_2 flags. The first quantity includes a first predefined number, such as 9, for example, 8 Greater_than_1 flag and 1 Greater_than_2 flag.

ブロック3413において、電子デバイス3321は、シンタックス要素の有意性マップにおける、実際に符号化されたビンの数を特定する。ブロック3414において、電子デバイス3321は、たとえばCABACにおける16など、第2の予め定義された数と、特定された数との差を定める。ブロック3415において、電子デバイス3321は第2の量のレベルコードフラグをコンテキスト符号化し、ここで第2の量は、定められた差を含む。ブロック3416において、電子デバイス3321は生成されたビットストリームをネットワークを通じて送信するか、および/または生成されたビットストリームをメモリデバイスに記憶する。   At block 3413, the electronic device 3321 identifies the number of actually encoded bins in the significance map of the syntax element. At block 3414, the electronic device 3321 determines the difference between the second predefined number, eg, 16 in CABAC, and the specified number. At block 3415, the electronic device 3321 context encodes a second quantity of level code flags, where the second quantity includes a determined difference. At block 3416, the electronic device 3321 transmits the generated bitstream over the network and / or stores the generated bitstream in a memory device.

一例において、もし図34に示される構成が用いられれば、電子デバイス3321は、たとえばフラグなどの対応するインジケータを1の値に設定してもよい(この動作はもちろん、設計の優先度によって、フラグのデフォルト値を変更するステップ、またはフラグをデフォルト値のままにするステップを含んでもよい)。一例において、インジケータは、コンテキスト符号化された付加的なGreater_than_1および/またはGreater_than_2フラグの数を特定してもよい。   In one example, if the configuration shown in FIG. 34 is used, the electronic device 3321 may set a corresponding indicator, such as a flag, to a value of 1 (this operation, of course, depending on the design priority, May include changing the default value of, or leaving the flag at the default value). In one example, the indicator may specify the number of additional Greater_than_1 and / or Greater_than_2 flags that are context encoded.

上述の構成に従って生成されたシンタックス要素の例を図36に示す。この例において、シンタックス要素例の有意性マップにおいて実際に符号化されたビンの数は12である。定められる16と12との差は4である。コンテキスト符号化されるレベルコードフラグの第1の量は9(8のGreater_than_1フラグおよび1のGreater_than_2フラグ)である。コンテキスト符号化されるレベルコードフラグの第2の量は4である。この特定の例において、これら4つはすべてGreater_than_1フラグであるが、他の例におけるこれら4つは、1つもしくはそれ以上のGreater_than_1フラグおよび1つもしくはそれ以上のGreater_than_2フラグ、または4つのGreater_than_2フラグを含んでもよい。残りのレベルコードフラグは、バイパス符号化される。   An example of syntax elements generated according to the above configuration is shown in FIG. In this example, the number of bins actually encoded in the significance map of the example syntax element is twelve. The defined difference between 16 and 12 is 4. The first amount of level code flags that are context encoded is 9 (8 Greater_than_1 flags and 1 Greater_than_2 flag). The second amount of level code flags that are context encoded is four. In this particular example, these four are all Greater_than_1 flags, but in the other examples these four have one or more Greater_than_1 flags and one or more Greater_than_2 flags, or four Greater_than_2 flags. May be included. The remaining level code flags are bypass encoded.

図35は、復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。   FIG. 35 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in the electronic device on the decoding side.

ブロック3510において、電子デバイス3322はビットストリームを得る。ブロック3511において、電子デバイス3322は、得られたビットストリームから2値シンボルを復元する。   At block 3510, the electronic device 3322 obtains a bitstream. In block 3511, the electronic device 3322 restores a binary symbol from the obtained bitstream.

ブロック3512において、電子デバイス3322は、たとえばCABACシンタックス要素のGreater_than_1およびGreater_than_2フラグなど、シンタックス要素の第1の量のレベルコードフラグをコンテキスト復号し、ここで第1の量は第1の予め定義された数に等しく、その数はたとえば9、すなわち8のGreater_than_1フラグおよび1のGreater_than_2フラグなどである。菱形部3513において、電子デバイス3322は、シンタックス要素の付加的なレベルコードフラグがコンテキスト符号化されているかどうかを判定する。一例において、この判定は、受信したビットストリームに対応する、たとえばスライスヘッダなどのヘッダをチェックするステップを含んでもよい。ヘッダをチェックするステップはさらに、たとえばフラグなどのインジケータの値に対して、得られたビットストリームに対応するスライスヘッダをチェックするステップを含んでもよい。もし電子デバイス3322が菱形部3513において、付加的なレベルコードフラグがコンテキスト符号化されていないと判定すれば、ブロック3514において電子デバイス3322は、シンタックス要素の残りのレベルコードフラグをバイパス復号する。   At block 3512, the electronic device 3322 context decodes a first quantity level code flag of the syntax element, eg, the CABAC syntax element Greator_tan_1 and Greator_tan_2 flags, where the first quantity is a first pre-defined The number is, for example, nine, ie, 8 Greater_than_1 flag, 1 Greeter_than_2 flag, etc. In diamond portion 3513, electronic device 3322 determines whether the additional level code flag of the syntax element is context encoded. In one example, this determination may include checking a header, such as a slice header, corresponding to the received bitstream. Checking the header may further include checking the slice header corresponding to the resulting bitstream for the value of an indicator such as a flag. If electronic device 3322 determines in diamond 3513 that the additional level code flag is not context encoded, then in block 3514, electronic device 3322 bypass decodes the remaining level code flags of the syntax element.

もし電子デバイス3322が菱形部3513において、付加的なレベルコードフラグがコンテキスト符号化されていると判定すれば、ブロック3515において電子デバイス3322は、シンタックス要素の第2の量のレベルコードフラグをコンテキスト復号する。一例において、電子デバイス3322は、スライスヘッダからの情報に基づいて、コンテキスト符号化されている付加的なGreater_than_1および/またはGreater_than_2フラグの数を特定してもよい。ブロック3514において電子デバイス3322は、あらゆる残りのレベルコードフラグをバイパス復号する。ブロック3516において、電子デバイス3322は、得られたTQCのブロックもしくは得られた残差サンプルをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   If electronic device 3322 determines in diamond 3513 that the additional level code flag is context encoded, then in block 3515, electronic device 3322 uses the second amount of syntax element level code flag in the context. Decrypt. In one example, the electronic device 3322 may determine the number of additional Greater_than_1 and / or Greater_than_2 flags that are context encoded based on information from the slice header. At block 3514, the electronic device 3322 bypass decodes any remaining level code flags. At block 3516, the electronic device 3322 stores the obtained block of TQC or the obtained residual sample in a memory device and / or restores the video data.

図38は、復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。   FIG. 38 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in the decoding-side electronic device.

ブロック3850において、電子デバイス3322はビットストリームを得る。ブロック3851において、電子デバイス3322は、得られたビットストリームからレベル値のブロックを得る。   At block 3850, the electronic device 3322 obtains a bitstream. At block 3851, the electronic device 3322 obtains a block of level values from the resulting bitstream.

ブロック3853において、電子デバイス3322は、ブロックの最終有意係数の位置を定める。ブロック3854において、電子デバイス3322は、得られたブロックからの有意係数をコンテキスト復号し、定められた位置の関数としてコンテキスト復号するためのシンボルの最大数を定める。   In block 3853, the electronic device 3322 determines the location of the final significant coefficient of the block. At block 3854, the electronic device 3322 context decodes significant coefficients from the resulting block to determine a maximum number of symbols for context decoding as a function of the determined position.

ブロック3855において、電子デバイス3322は、たとえばカウンタを0に設定するなどしてカウンタをリセットする。菱形部3856において、電子デバイス3322は、復号されるべきレベルコードフラグが残っているかどうかを判定する。もし菱形部3856においてレベルコードフラグが残っていなければ、ブロック3857において、電子デバイス3322は、得られたTQCのブロックもしくは得られた残差サンプルをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   At block 3855, the electronic device 3322 resets the counter, eg, by setting the counter to zero. In diamond 3856, electronic device 3322 determines whether there are any remaining level code flags to be decoded. If no level code flag remains in diamond 3856, at block 3857 the electronic device 3322 stores the resulting block of TQC or the resulting residual sample in a memory device and / or stores the video data. Restore.

もしレベルコードフラグが残っていれば(菱形部3856)、菱形部3858において電子デバイス3322は、カウンタが閾値よりも大きいかどうかを判定する。一例において、閾値は定められた最大値に関連していてもよい。一例において、閾値は定められた最大値と、ブロックの有意性マップ・フラグの数との差に対応してもよい。菱形部3858において、もしカウンタが閾値よりも大きければ、ブロック3859において、電子デバイス3322はレベルコードフラグをバイパス復号する。菱形部3858において、もしカウンタが閾値以下であれば、ブロック3860において、電子デバイス3322はレベルコードフラグをコンテキスト復号する。ブロック3861において、電子デバイス3322はカウンタをインクリメントする。   If the level code flag remains (diamond portion 3856), the electronic device 3322 determines in the diamond portion 3858 whether the counter is greater than the threshold value. In one example, the threshold may be associated with a defined maximum value. In one example, the threshold value may correspond to a difference between a defined maximum value and the number of significance map flags for the block. At diamond 3858, if the counter is greater than the threshold, at block 3859, electronic device 3322 bypass decodes the level code flag. At diamond 3858, if the counter is less than or equal to the threshold, at block 3860, electronic device 3322 context decodes the level code flag. At block 3861, the electronic device 3322 increments the counter.

図39は、復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。   FIG. 39 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in the decoding-side electronic device.

ブロック3950において、電子デバイス3322はビットストリームを得る。ブロック3951において、電子デバイス3322は、得られたビットストリームからレベル値のブロックを得る。   At block 3950, the electronic device 3322 obtains a bitstream. At block 3951, the electronic device 3322 obtains a block of level values from the resulting bitstream.

ブロック3953において、電子デバイス3322は、最終有意係数の位置を定める。ブロック3954において、電子デバイス3322は、得られたブロックからの有意係数をコンテキスト復号し、定められた位置およびサブブロック位置の両方の関数としてコンテキスト復号するためのシンボルの最大数を定める。処理3955〜3961は、処理3855〜3861に対応し得る。   In block 3953, the electronic device 3322 determines the location of the final significant coefficient. At block 3954, the electronic device 3322 context decodes significant coefficients from the resulting block to determine a maximum number of symbols for context decoding as a function of both the determined position and sub-block position. Processes 3955 to 3961 can correspond to processes 3855 to 3861.

図40は、復号側の電子デバイスにおけるHEVCにおけるCABACに対する高スループット符号化のための方法の一構成を示す流れ図である。   FIG. 40 is a flowchart showing one configuration of a method for high-throughput encoding for CABAC in HEVC in the decoding-side electronic device.

ブロック4050において、電子デバイス3322はビットストリームを得る。ブロック4051において、電子デバイス3322は、得られたビットストリームからレベル値のブロックを得る。   At block 4050, the electronic device 3322 obtains a bitstream. In block 4051, the electronic device 3322 obtains a block of level values from the resulting bitstream.

ブロック4053において、電子デバイス3322は、最終有意係数の位置を定める。ブロック4054において、電子デバイス3322は、得られたブロックからの有意係数をコンテキスト復号し、たとえばブロックの有意係数の数など、ブロックの特性の関数としてコンテキスト復号するためのシンボルの最大数を定める。処理4055〜4061は、処理3855〜3861に対応し得る。   In block 4053, the electronic device 3322 determines the location of the final significant coefficient. At block 4054, the electronic device 3322 context decodes significant coefficients from the resulting block and determines a maximum number of symbols for context decoding as a function of block characteristics, eg, the number of significant coefficients of the block. Processing 4055 to 4061 may correspond to processing 3855 to 3861.

一例において、システムが提供される。このシステムは、ビットストリームからレベル値のブロックを得ることと、ブロックのレベルコードフラグをコンテキスト復号することと、ブロックの次のレベルコードフラグが存在するかどうかをチェックすることと、もし次のレベルコードフラグが存在すれば、コンテキスト符号化されたレベルコードフラグのカウントが閾値よりも大きいかどうかを判定することと、カウントが閾値以下であると判定することに応答して、次のレベルコードフラグをバイパス復号することと、カウントが閾値よりも大きいと判定することに応答して、次のレベルコードフラグをコンテキスト復号することと、復号されたレベルコードフラグを用いてTQCのブロックまたは残差サンプルを復元することと、復元されたブロックをメモリデバイスに記憶するか、および/またはビデオデータを復元することとを行うように構成された、電子デバイスを含み得る。   In one example, a system is provided. The system obtains a block of level values from the bitstream, context decodes the block's level code flag, checks if the block's next level code flag exists, and if the next level If the code flag is present, in response to determining whether the count of the context encoded level code flag is greater than the threshold and determining that the count is less than or equal to the threshold, the next level code flag In response to determining that the count is greater than the threshold, context decoding the next level code flag, and using the decoded level code flag, a block or residual sample of TQC And restore the restored block to the memory device Or, and / or configured to perform the method comprising: restoring the video data may include an electronic device.

電子デバイスは、次のレベルコードフラグをコンテキスト符号化することに応答してカウントをインクリメントするように構成されてもよい。電子デバイスは、ブロックのすべてのレベルコードフラグが復号されるまで、チェックすることと、判定することと、復号することと、インクリメントすることとを繰り返すように構成されてもよい。電子デバイスは、第1のレベルコードフラグをコンテキスト符号化することに応答してカウントをインクリメントするように構成されてもよい。   The electronic device may be configured to increment the count in response to context encoding the next level code flag. The electronic device may be configured to repeat checking, determining, decoding, and incrementing until all level code flags of the block are decoded. The electronic device may be configured to increment the count in response to context encoding the first level code flag.

電子デバイスは、ブロックの最終有意係数の位置を定めることと、ブロックの特性に少なくとも部分的に基づいてコンテキスト復号するためのシンボルの最大数を定めることとを行うように構成されてもよい。電子デバイスは、この最大数決定の結果に従って閾値を設定するように構成されてもよい。   The electronic device may be configured to determine a location of the final significant coefficient of the block and to determine a maximum number of symbols for context decoding based at least in part on the characteristics of the block. The electronic device may be configured to set the threshold according to the result of this maximum number determination.

電子デバイスは、ブロックの最終有意係数の位置を定めることと、定められた位置に少なくとも部分的に基づいてコンテキスト復号するためのシンボルの最大数を定めることとを行うように構成されてもよい。電子デバイスは、定められた位置に少なくとも部分的に基づき、かつサブブロック位置に少なくとも部分的に基づいてコンテキスト復号するためのシンボルの最大数を定めるように構成されてもよい。   The electronic device may be configured to determine a position of the final significant coefficient of the block and to determine a maximum number of symbols for context decoding based at least in part on the determined position. The electronic device may be configured to determine a maximum number of symbols for context decoding based at least in part on the defined location and at least in part on the sub-block location.

電子デバイスは、ブロックに関連するシンタックス要素の第1の量のレベルコードフラグをコンテキスト復号することであって、第1の量は第1の予め定義された数に等しい、コンテキスト復号することと、シンタックス要素の有意性マップにおける、実際に符号化されたビンの数を特定することと、第2の予め定義された数と、特定された数との差を定めることと、シンタックス要素の第2の量のレベルコードフラグをコンテキスト復号することであって、第2の量は定められた差を含む、コンテキスト復号することとを行うように構成されてもよい。一例において、第1の予め定義された数は9を含んでもよい。一例において、第2の予め定義された数は16を含んでもよい。一例において、第1の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、8つの「greater_than_1」フラグおよび1つの「greater_than_2」フラグを含む。一例において、第2の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、「greater_than_1」フラグのみを含む。一例において、第2の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、「greater_than_2」フラグのみを含む。一例において、第2の量のコンテキスト符号化されるフラグに対応するレベルコードフラグは、第3の予め定義された数の「greater_than_2」フラグと、動的な数の「greater_than_1」フラグとを含み、ここで動的な数は、第2の量と第3の予め定義された数との差を含む。   The electronic device context decodes a first quantity level code flag of a syntax element associated with the block, the first quantity being equal to a first predefined number; Identifying the number of actually encoded bins in the significance map of the syntax element, defining a difference between the second predefined number and the identified number, and a syntax element The second amount of level code flags may be context decoded, the second amount including a defined difference and context decoded. In one example, the first predefined number may include nine. In one example, the second predefined number may include 16. In one example, the level code flag corresponding to the first amount of context-encoded level code flag includes eight “greater_than_1” flags and one “greater_than_2” flag. In one example, the level code flag corresponding to the second amount of context-encoded level code flag includes only the “greater_than_1” flag. In one example, the level code flag corresponding to the second amount of context-encoded level code flag includes only the “greater_than_2” flag. In one example, the level code flag corresponding to the second amount of context-encoded flag includes a third predefined number of “glater_than_2” flags and a dynamic number of “glater_than_1” flags; Here, the dynamic number includes the difference between the second quantity and a third predefined number.

一例において、システムが提供される。このシステムはエンコーダの第1の電子デバイスを含んでもよく、この第1の電子デバイスは、算術に基づくエンコーダを用いて符号化されるデータのブロックを得ることと、データのブロックがロスレス符号化を用いて符号化されるかどうかを判定することと、データのブロックがロスレス符号化を用いて符号化されないと判定することに応答して、第1のAbsolute−3符号化技術を用いてデータのブロックを符号化することと、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、第2のAbsolute−3符号化技術を用いてデータのブロックを符号化することであって、ここで第2のAbsolute−3符号化技術は第1のAbsolute−3符号化技術とは異なる、符号化することと、この符号化をメモリデバイスに記憶させることとを行うように構成される。   In one example, a system is provided. The system may include a first electronic device of an encoder that obtains a block of data to be encoded using an arithmetic-based encoder and that the block of data performs lossless encoding. In response to determining whether the block of data is not encoded using lossless encoding, and using the first Absolute-3 encoding technique in response to determining whether the block of data is not encoded using lossless encoding. In response to encoding the block and determining that the block of data is encoded using lossless encoding, the block of data is encoded using the second Absolute-3 encoding technique. That is, the second Absolute-3 encoding technique is different from the first Absolute-3 encoding technique. Configured to perform a that stores this coding in a memory device.

このシステムはさらに、デコーダの第2の電子デバイスを含んでもよく、この第2の電子デバイスは、受信された2値シンボルがロスレス復号を用いて復号されるかどうかを判定することと、2値シンボルがロスレス復号を用いて復号されないと判定することに応答して、第1のAbsolute−3符号化技術を用いてTQCのブロックを得ることと、2値シンボルがロスレス復号を用いて復号されると判定することに応答して、第2のAbsolute−3符号化技術を用いて残差サンプルを得ることとを行うように構成される。   The system may further include a second electronic device of the decoder, the second electronic device determining whether the received binary symbol is decoded using lossless decoding and binary. In response to determining that the symbol is not decoded using lossless decoding, obtaining a block of TQC using the first Absolute-3 coding technique and decoding the binary symbol using lossless decoding And obtaining a residual sample using a second Absolute-3 encoding technique.

第1の電子デバイスは、データのブロックがロスレス符号化を用いて符号化されないと判定することに応答して、サブブロックの初期値に対してライスパラメータを0に初期化することと、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、サブブロックの初期値に対して前のサブブロックの最終値からのライスパラメータを用いることとを行うように構成されてもよい。   In response to determining that the block of data is not encoded using lossless encoding, the first electronic device initializes the Rice parameter to 0 for the initial value of the sub-block; In response to determining that the block is encoded using lossless encoding, the initial value of the subblock is configured to use the Rice parameter from the final value of the previous subblock. May be.

第1の電子デバイスは、データのブロックがロスレス符号化を用いて符号化されないと判定することに応答して、サブブロックの初期値に対してライスパラメータを0に初期化することと、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、サブブロックの初期値に対してライスパラメータを0に初期化することをバイパスすることとを行うように構成されてもよい。   In response to determining that the block of data is not encoded using lossless encoding, the first electronic device initializes the Rice parameter to 0 for the initial value of the sub-block; In response to determining that the block is encoded using lossless encoding, the initial value of the sub-block is configured to bypass initializing the Rice parameter to 0 Also good.

第1の電子デバイスは、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、ブロック・タイプ、ブロック・サイズ、および色情報(輝度/色差)を含む群から選択される少なくとも1つに基づく予め定義された値にてライスパラメータを初期化するように構成されてもよい。   In response to determining that the block of data is encoded using lossless encoding, the first electronic device is out of the group including block type, block size, and color information (luminance / color difference). It may be configured to initialize the rice parameters with predefined values based on at least one selected.

第1の電子デバイスは、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、現ブロック・タイプが2または5に等しいときにライスパラメータを1に初期化するように構成されてもよい。   In response to determining that the block of data is encoded using lossless encoding, the first electronic device initializes the Rice parameter to 1 when the current block type is equal to 2 or 5 It may be configured as follows.

第1の電子デバイスは、データのブロックがロスレス符号化を用いて符号化されないと判定することに応答して、サブブロックの初期値に対してライスパラメータを0に初期化することと、データのブロックがロスレス符号化を用いて符号化されると判定することに応答して、サブブロックの初期値に対してライスパラメータを0に初期化することをバイパスすることとを行うように構成されてもよい。   In response to determining that the block of data is not encoded using lossless encoding, the first electronic device initializes the Rice parameter to 0 for the initial value of the sub-block; In response to determining that the block is encoded using lossless encoding, the initial value of the sub-block is configured to bypass initializing the Rice parameter to 0 Also good.

第1の電子デバイスは、2値シンボルがロスレス復号を用いて復号されないと判定することに応答して、第1のライスパラメータ・アップデート表を使用することと、2値シンボルがロスレス復号を用いて復号されると判定することに応答して、第1のライスパラメータ・アップデート表とは異なる第2のライスパラメータ・アップデート表を使用することとを行うように構成されてもよい。   In response to determining that the binary symbol is not decoded using lossless decoding, the first electronic device uses the first Rice parameter update table and the binary symbol uses lossless decoding. In response to determining that it is decrypted, a second Rice parameter update table may be used that is different from the first Rice parameter update table.

第2のライスパラメータ・アップデート表は、第1のライスパラメータ・アップデート表の短縮版を含んでもよい。一例においては、第2のライスパラメータ・アップデート表のみが、現ライスパラメータが2、3または4にアップデートまたは初期化された後にアップデートを防ぐように構成される。   The second rice parameter update table may include a shortened version of the first rice parameter update table. In one example, only the second rice parameter update table is configured to prevent an update after the current rice parameter is updated or initialized to 2, 3 or 4.

一例において、システムが提供される。このシステムはエンコーダの第1の電子デバイスを含んでもよく、この第1の電子デバイスは、算術に基づくエンコーダを用いて符号化されるデータのブロックを得ることと、シンタックス要素の第1の量のレベルコードフラグをコンテキスト符号化することであって、ここで第1の量は第1の予め定義された数に等しい、コンテキスト符号化することと、シンタックス要素の有意性マップにおける、実際に符号化されたビンの数を特定することと、第2の予め定義された数と特定された数との差を定めることと、シンタックス要素の第2の量のレベルコードフラグをコンテキスト符号化することであって、ここで第2の量は定められた差を含む、コンテキスト符号化することと、コンテキスト符号化によって生成されたビットストリームをメモリデバイスに記憶させることとを行うように構成される。   In one example, a system is provided. The system may include a first electronic device of an encoder that obtains a block of data to be encoded using an arithmetic-based encoder and a first quantity of syntax elements. Context encoding of the level code flag, wherein the first quantity is equal to the first pre-defined number, and in the context encoding and syntax element significance maps, Identifying the number of encoded bins, determining a difference between a second predefined number and the identified number, and context encoding a second amount of level code flags in the syntax element Where the second quantity includes a defined difference, the context encoding, and the bitstream generated by the context encoding. Configured to perform the be stored in memory devices.

算術に基づくエンコーダは、CABACエンコーダを含んでもよい。第1の予め定義された数は9を含んでもよい。第2の予め定義された数は16を含んでもよい。第1の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、8つの「greate_than_1」フラグおよび1つの「greate_than_2」フラグを含んでもよい。第2の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、「greate_than_1」フラグのみを含んでもよい。第2の量のコンテキスト符号化されるレベルコードフラグに対応するレベルコードフラグは、「greate_than_2」フラグのみを含んでもよい。第2の量のコンテキスト符号化されるフラグに対応するレベルコードフラグは、第3の予め定義された数の「greate_than_2」フラグと、動的な数の「greate_than_1」フラグとを含んでもよく、ここで動的な数は、第2の量と第3の予め定義された数との差を含む。   The arithmetic based encoder may include a CABAC encoder. The first predefined number may include nine. The second predefined number may include 16. The level code flag corresponding to the first amount of context encoded level code flags may include eight “create_than_1” flags and one “create_than_2” flag. The level code flag corresponding to the second amount of context-encoded level code flag may include only the “create_than_1” flag. The level code flag corresponding to the second amount of context-encoded level code flag may include only the “create_than — 2” flag. The level code flags corresponding to the second amount of context-encoded flags may include a third predefined number of “grate_than_2” flags and a dynamic number of “grate_than_1” flags, where The dynamic number includes the difference between the second quantity and the third predefined number.

「HEVCにおけるCABACに対する変換スキップブロックに対する高スループット残差符号化」   “High Throughput Residual Coding for Transform Skip Blocks for CABAC in HEVC”

図41は、エンコーダおよびデコーダの例を示すブロック図である。   FIG. 41 is a block diagram illustrating an example of an encoder and a decoder.

システム4100は、デコーダ4112によって復号される符号化ブロックを生成するためのエンコーダ4111を含む。エンコーダ4111およびデコーダ4112は、ネットワークを通じて通信してもよい。   System 4100 includes an encoder 4111 for generating encoded blocks that are decoded by a decoder 4112. The encoder 4111 and the decoder 4112 may communicate through a network.

エンコーダ4111は、高スループット残差符号化モードを用いて符号化するように構成された電子デバイス4121を含む。電子デバイス4121はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図42に示される動作を行うためにプロセッサによって実行可能な命令を記憶する。   The encoder 4111 includes an electronic device 4121 configured to encode using a high throughput residual encoding mode. Electronic device 4121 may include a processor and memory in electronic communication with the processor, which stores instructions executable by the processor to perform the operations shown in FIG.

デコーダ4112は、高スループット残差符号化モードを用いて復号するように構成された電子デバイス4122を含む。電子デバイス4122はプロセッサと、そのプロセッサと電子通信を行うメモリとを含んでもよく、このメモリは、図43に示される動作を行うために実行可能な命令を記憶する。   The decoder 4112 includes an electronic device 4122 configured to decode using a high throughput residual encoding mode. Electronic device 4122 may include a processor and memory in electronic communication with the processor, which stores instructions that are executable to perform the operations shown in FIG.

図42は、高スループット残差符号化のための方法の一構成を示す流れ図である。   FIG. 42 is a flow diagram illustrating one configuration of a method for high throughput residual coding.

ブロック4211において、電子デバイス4121は、たとえばCABACに基づくエンコーダなど、算術に基づくエンコーダを用いて符号化されるデータのブロックを得る。菱形部4212において、電子デバイス4121は、ブロックが高スループット残差符号化を用いて符号化されるかどうかを判定する。もしブロックが高スループット残差符号化を用いて符号化されるものでなければ、ブロック4213において電子デバイス4121は、第1の符号化技術を用いてデータのブロックを符号化する。一例において、第1の符号化技術は、たとえば図30のブロック3013を参照して説明された符号化技術などのAbsolute−3符号化技術を含んでもよい。   At block 4211, the electronic device 4121 obtains a block of data that is encoded using an arithmetic-based encoder, such as a CABAC-based encoder. At diamond 4212, the electronic device 4121 determines whether the block is encoded using high throughput residual encoding. If the block is not encoded using high-throughput residual encoding, at block 4213 the electronic device 4121 encodes the block of data using the first encoding technique. In one example, the first encoding technique may include an Absolute-3 encoding technique, such as the encoding technique described with reference to block 3013 of FIG.

もしブロックが高スループット残差符号化を用いて符号化されるものであれば、ブロック4214において電子デバイス4121は、第1の符号化技術とは異なる第2の符号化技術を用いてデータのブロックを符号化する。ブロック4215において、電子デバイス4121は、生成されたビットストリームをネットワークを通じて送信するか、および/または生成されたビットストリームをメモリデバイスに記憶する。   If the block is to be encoded using high-throughput residual encoding, in block 4214 the electronic device 4121 may block the data using a second encoding technique that is different from the first encoding technique. Is encoded. At block 4215, the electronic device 4121 transmits the generated bitstream over the network and / or stores the generated bitstream in the memory device.

一例において、第2の符号化技術は、第1の符号化技術の符号化段階のサブセットのみを含む。一例において、第1の符号化技術はGreater_than_1符号化段階およびGreater_than_2符号化段階を含み、第2の符号化技術はGreater_than_1符号化段階およびGreater_than_2符号化段階の少なくとも一方を含まない。   In one example, the second encoding technique includes only a subset of the encoding stages of the first encoding technique. In one example, the first encoding technique includes a Greater_than_1 encoding stage and a Greator_than_2 encoding stage, and the second encoding technique does not include at least one of the Greeter_than_1 encoding stage and the Greater_than_2 encoding stage.

一例において、第1の符号化技術は有意性マップ符号化の後にAbsolute−3符号化を含むが、第2の符号化技術は有意性マップ符号化の後にAbsolute−3符号化を含まない。第2の符号化技術の例において、有意性マップ符号化の後に、Absolute−1またはAbsolute−2の値が符号化される。一例においては、もしGreater_than_1符号化段階およびGreater_than_2符号化段階の両方がスキップされればAbsolute−1値が符号化され、もしGreater_than_2符号化段階はスキップされてGreater_than_1符号化段階はスキップされなければAbsolute−2値が符号化される。一例においては、Absolute−1またはAbsolute−2符号化の後に正負符号化が行われてもよいが、他の例においてはAbsolute−1またはAbsolute−2符号化の前に正負符号化が行われてもよい。   In one example, the first encoding technique includes Absolute-3 encoding after significance map encoding, while the second encoding technique does not include Absolute-3 encoding after significance map encoding. In an example of the second encoding technique, the value of Absolute-1 or Absolute-2 is encoded after significance map encoding. In one example, if both the Greeter_than_1 and Greeter_tan_2 encoding steps are skipped, the Absolute-1 value is encoded, and if the Greeter_than_2 encoding step is skipped and the Greeter_than_1 encoding step is not skipped, Absolute- Binary is encoded. In one example, positive / negative encoding may be performed after Absolute-1 or Absolute-2 encoding, while in other examples, positive / negative encoding is performed before Absolute-1 or Absolute-2 encoding. Also good.

一例において、Absolute−1またはAbsolute−2値符号化は、本明細書に記載される任意のゴロム−ライス(G−R)コードを用いる。たとえば、Absolute−1またはAbsolute−2値符号化は、図30を参照して説明されたG−R符号化技術を用いてもよい。一例において、Absolute−1またはAbsolute−2値符号化は、第1の符号化技術に対して用いられたのと同じG−R符号化を用いる。   In one example, Absolute-1 or Absolute-2 value encoding uses any Golomb-Rice (GR) code described herein. For example, absolute-1 or absolute-2 value encoding may use the GR encoding technique described with reference to FIG. In one example, Absolute-1 or Absolute-2 binary encoding uses the same GR encoding used for the first encoding technique.

一例において、Absolute−1またはAbsolute−2値符号化に対して用いられるG−R符号化技術は、ブロック・タイプ、ブロック・サイズ、もしくは色情報(輝度/色差)など、またはその任意の組み合わせに基づく、予め定義されたライスパラメータ値にて初期化するステップを用いて含んでもよい。一例において、予め定義されたライスパラメータは、テクスチャ(輝度/色差)に依存してもよい。たとえば、予め定義されたライスパラメータ値は、輝度ブロックに対して2であってもよく、色差ブロックに対して1であってもよい。一例においては、Absolute−1またはAbsolute−2符号化およびAbsolute−3符号化に対して、同じG−R符号化が用いられる。   In one example, the G-R encoding technique used for Absolute-1 or Absolute-2 binary encoding may be block type, block size, or color information (luminance / color difference), etc., or any combination thereof. The step of initializing with pre-defined Rice parameter values may be included. In one example, the predefined rice parameters may depend on the texture (brightness / color difference). For example, the predefined Rice parameter value may be 2 for the luminance block or 1 for the color difference block. In one example, the same G-R encoding is used for Absolute-1 or Absolute-2 encoding and Absolute-3 encoding.

一例において、電子デバイス4121は、復号側に初期化情報を明示的にシグナリングしてもよい。初期化情報は、ビットストリームまたは現ブロックに対する、すなわちブロックごとの態様のライスパラメータ初期化値を含んでもよい。もし初期化情報があるブロックに対する2つ以上のライスパラメータ初期化値を含んでいれば、初期化情報はさらに第1の値または第2の値を用いるための基準を示してもよく、すなわちそれらの値は2および1であってもよく、条件は輝度ブロックに対して2、および/または色差ブロックに対して1であってもよい。一例において、付加的な情報は付加的なシンタックス要素を含んでもよい。   In one example, the electronic device 4121 may explicitly signal initialization information to the decoding side. The initialization information may include a rice parameter initialization value for the bitstream or the current block, i.e. per block. If the initialization information includes more than one Rice parameter initialization value for a block, the initialization information may further indicate criteria for using the first value or the second value, i.e., The value of may be 2 and 1, and the condition may be 2 for the luminance block and / or 1 for the chrominance block. In one example, the additional information may include additional syntax elements.

一例において、菱形部4212は、データのブロックのTransform_skip_flagまたはTrans_quant_Bypass_flagが設定されているかどうかを判定するステップを含んでもよい。一例において、もしTransform_skip_flagまたはTrans_quant_Bypass_flagが1に等しければ、そのデータのブロックに対して高スループット残差符号化が用いられる(反対に、もしTransform_skip_flagおよびTrans_quant_Bypass_flagのどちらも設定されていなければ、そのデータのブロックに対して高スループット残差符号化は用いられない)。   In one example, the diamond portion 4212 may include a step of determining whether a Transform_skip_flag or a Trans_quant_Bypass_flag of a block of data is set. In one example, if Transform_skip_flag or Trans_quant_Bypass_flag is equal to 1, then high-throughput residual encoding is used for that block of data (conversely, if Transform_skip_flag and Trans_quant_block data are both set to Transform_skip_flag and Trans_quant_data For high throughput residual coding).

背景として、Transform_skip_flagは、対応するブロックが変換されたか否かを示す。公知の方式においては、対応するブロックが変換されたときにTransform_skip_flagは0に等しい。Transform_skip_flagが1に等しいとき、対応するブロックは変換されておらず、すなわち残差データは残差サンプルを表す。   As a background, Transform_skip_flag indicates whether or not the corresponding block has been converted. In the known scheme, Transform_skip_flag is equal to 0 when the corresponding block is transformed. When Transform_skip_flag is equal to 1, the corresponding block has not been transformed, ie the residual data represents a residual sample.

背景として、Trans_quant_Bypass_flagは、対応するブロックが変換および量子化されているか否かを示す。Trans_quant_Bypass_flagが1に等しいとき、対応するブロックは変換および量子化されておらず、すなわち残差データは残差サンプルを表す。加えて、変換はレギュラー符号化モードでは用いられるがロスレス符号化モードでは用いられないため、符号化がロスレス符号化モードによるものであるときに、Trans_quant_Bypass_flagは1に等しい   As a background, Trans_quant_Bypass_flag indicates whether the corresponding block has been transformed and quantized. When Trans_quant_Bypass_flag is equal to 1, the corresponding block has not been transformed and quantized, ie the residual data represents a residual sample. In addition, Trans_quant_Bypass_flag is equal to 1 when the encoding is in lossless coding mode because the transform is used in regular coding mode but not in lossless coding mode

当然のことながら、一例においては、符号化されるデータのブロックに対して、たとえばGreater_than_1および/またはGreater_than_2などの少なくとも1つのレベル符号化段階が選択的にスキップされてもよい。一例においては、少なくとも1つのレベル符号化段階がスキップされるか否かを判定するために、データのブロックのTransform_skip_flagをチェックするステップが用いられる。一例において、もしデータのブロックがロスレス符号化モードを用いて符号化されるものであれば、少なくとも1つのレベル符号化段階がスキップされてもよい。当然のことながら、少なくとも1つのレベル符号化段階がスキップされるとき、スループットの増加が実現され得る。   Of course, in one example, at least one level encoding step, such as Greeter_than_1 and / or Greeter_than_2, may be selectively skipped for blocks of data to be encoded. In one example, checking Transform_skip_flag of a block of data is used to determine whether at least one level encoding step is skipped. In one example, at least one level encoding step may be skipped if a block of data is encoded using a lossless encoding mode. Of course, an increase in throughput can be realized when at least one level encoding stage is skipped.

一例において、第2の異なる符号化技術が用いられるとき、電子デバイス4121は、たとえば第2の異なる符号化技術に関連するフラグなどの対応するインジケータを1の値に設定してもよい(この動作はもちろん、設計の優先度によって、前記フラグのデフォルト値を変更するステップ、または前記フラグをデフォルト値のままにするステップを含んでもよい)。しかしいくつかの例においては、復号側がブロックに対するTransform_skip_flagおよび/またはTrans_quant_Bypass_flagをチェックして、もしTransform_skip_flagおよびTrans_quant_Bypass_flagのいずれか一方が1に等しければ、そのブロックに対して符号化側が第2の符号化技術を用いたことを推測し得るため、こうした明示的シグナリングは必要ない。   In one example, when a second different encoding technique is used, the electronic device 4121 may set a corresponding indicator, such as a flag associated with the second different encoding technique, to a value of 1 (this behavior). Of course, it may include changing the default value of the flag or leaving the flag at the default value depending on the priority of the design). However, in some examples, the decoding side checks the Transform_skip_flag and / or Trans_quant_Bypass_flag for the block and if either of the coding is equal to 1 if one of the coding is Transform_skip_flag and Trans_quant_Bypass_flag. Such explicit signaling is not necessary.

図43は、復号側における高スループット残差符号化のための方法の一構成を示す流れ図である。   FIG. 43 is a flowchart showing one configuration of a method for high-throughput residual coding on the decoding side.

ブロック4310において、電子デバイス4122はビットストリームを得る。ブロック4311において、電子デバイス4122は、得られたビットストリームから2値シンボルを復元する。   At block 4310, the electronic device 4122 obtains a bitstream. In block 4311, the electronic device 4122 restores a binary symbol from the obtained bitstream.

菱形部4312において、電子デバイス4122は、2値シンボルが高スループット残差符号化を用いて復号されるかどうかを判定する。一例において、菱形部4312は、復元された2値シンボルが変換係数を表すかどうかを判定するステップ、たとえば復元された2値シンボルに関連するTransform_skip_flagが設定されているかどうかを判定するステップ、Trans_quant_bypass_flagが設定されているかどうかを判定するステップ、および/またはビットストリームがロスレス符号化モードを用いて符号化されたかどうかを判定するステップなどを含む。もし菱形部4312において条件が満たされなければ、ブロック4313において電子デバイス4122は、第1の符号化技術を用いてTQCのブロックを得る。   At diamond 4312, the electronic device 4122 determines whether the binary symbol is decoded using high-throughput residual coding. In one example, the diamond portion 4312 determines whether the reconstructed binary symbol represents a transform coefficient, for example, determines whether Transform_skip_flag related to the reconstructed binary symbol is set, Trans_quant_bypass_flag is Determining whether it is set, and / or determining whether the bitstream has been encoded using a lossless encoding mode, and the like. If the condition is not satisfied at diamond 4312, at block 4313, electronic device 4122 obtains a block of TQC using the first encoding technique.

もし菱形部4312において条件が満たされれば、ブロック4314において電子デバイス4122は、第2の異なる符号化技術を用いて残差サンプルを得る。ブロック4315において電子デバイス4122は、得られたTQCのブロックもしくは得られた残差サンプルをメモリデバイスに記憶するか、および/またはビデオデータを復元する。   If the condition is satisfied at diamond 4312, electronic device 4122 at block 4314 obtains a residual sample using a second different encoding technique. In block 4315, the electronic device 4122 stores the obtained block of TQC or the obtained residual sample in a memory device and / or recovers the video data.

一例においては、第1および第2の符号化技術のうち、第1の符号化技術のみがAbsolute−3符号化技術を含む。一例において、第2の符号化技術はAbsolute−1またはAbsolute−2符号化技術を含む。   In one example, of the first and second encoding techniques, only the first encoding technique includes the Absolute-3 encoding technique. In one example, the second encoding technique includes an Absolute-1 or Absolute-2 encoding technique.

一例において、第1の符号化技術はGreater_than_1フラグおよびGreater_than_2フラグの符号化、すなわちGR1符号化段階およびGR2符号化段階を含み、第2の符号化技術は任意のGreater_than_1フラグおよび/またはGreater_than_2フラグを符号化せず、すなわちGR1符号化段階を含まないか、および/またはGR2符号化段階を含まない。   In one example, the first encoding technique includes encoding the Greeter_than_1 and Greeter_than_2 flags, i.e., the GR1 encoding stage and the GR2 encoding stage, and the second encoding technique encodes any Greeter_than_1 flag and / or Greeter_than_2 flag. Ie, it does not include the GR1 encoding stage and / or does not include the GR2 encoding stage.

一例において、第1の符号化技術はAbsolute−3値を符号化するためのゴロム−ライス(G−R)符号化法を含み、第2の符号化技術はAbsolute−1またはAbsolute−2値を符号化するためのG−R符号化法を含む。一例において、G−R符号化法は、ブロック・タイプ、ブロック・サイズ、および色情報(輝度/色差)を含む群から選択される少なくとも1つに基づく予め定義された値にてライスパラメータを初期化するステップを含む。一例において、予め定義されたライスパラメータはテクスチャ(輝度/色差)に依存してもよい。たとえば、予め定義されたライスパラメータ値は、輝度ブロックに対して2であり、色差ブロックに対して1である。一例においては、Absolute−1またはAbsolute−2符号化およびAbsolute−3符号化に対して、同じG−R符号化が用いられる。   In one example, the first encoding technique includes a Golomb-Rice (GR) encoding method for encoding an Absolute-3 value, and the second encoding technique uses an Absolute-1 or Absolute-2 value. Includes a G-R encoding method for encoding. In one example, the GR encoding method initially initializes the Rice parameter with a predefined value based on at least one selected from the group including block type, block size, and color information (luminance / color difference). Including the step of: In one example, the predefined rice parameters may depend on the texture (brightness / color difference). For example, the predefined Rice parameter value is 2 for the luminance block and 1 for the chrominance block. In one example, the same G-R encoding is used for Absolute-1 or Absolute-2 encoding and Absolute-3 encoding.

一例において、システムは、ビットストリームを得ることと、得られたビットストリームから2値シンボルを復元することと、その2値シンボルが高スループット残差符号化モードを用いて復号されるかどうかを判定することと、2値シンボルが高スループット残差符号化モードを用いて復号されないと判定することに応答して、第1の符号化技術を用いて変換および量子化された係数(TQC)のブロックを得ることと、2値シンボルが高スループット残差符号化モードを用いて復号されると判定することに応答して、第2の異なる符号化技術を用いて残差サンプルを得ることと、得られたTQCのブロックもしくは得られた残差サンプル、または得られたTQCのブロックもしくは得られた残差サンプルを表すビデオデータをメモリデバイスに記憶することとを行うように構成された、デコーダの第1の電子デバイスを含む。   In one example, the system obtains a bitstream, recovers a binary symbol from the obtained bitstream, and determines whether the binary symbol is decoded using a high-throughput residual coding mode. And a block of coefficients (TQC) transformed and quantized using the first coding technique in response to determining that the binary symbols are not decoded using the high throughput residual coding mode. And obtaining a residual sample using a second different coding technique in response to determining that the binary symbol is decoded using a high-throughput residual coding mode; The video data representing the obtained TQC block or the obtained residual sample, or the obtained TQC block or the obtained residual sample are stored in a memory device. Configured to perform the storing the scan, including a first electronic device of the decoder.

一例においては、第1および第2の符号化技術のうち、第1の符号化技術のみがAbsolute−3符号化を含む。一例において、第2の符号化技術はAbsolute−1またはAbsolute−2符号化を含む。   In one example, of the first and second encoding techniques, only the first encoding technique includes Absolute-3 encoding. In one example, the second encoding technique includes Absolute-1 or Absolute-2 encoding.

一例において、第1の電子デバイスは、復元された2値シンボルが変換係数を表すかどうかを判定することと、復元された2値シンボルが変換係数を表さないと判定することに応答して、第2の異なる符号化技術を用いることとを行うように構成される。一例において、第1の電子デバイスは、復元された2値シンボルに関連する変換スキップフラグまたは変換量子化バイパスフラグが設定されているかどうかを判定することと、変換スキップフラグまたは変換量子化バイパスフラグが設定されていると判定することに応答して、第2の異なる符号化技術を用いることとを行うように構成される。一例において、第1の電子デバイスは、復元された2値シンボルに関連する変換スキップフラグまたは変換量子化バイパスフラグが設定されているかどうかを判定することと、変換スキップフラグまたは変換量子化バイパスフラグが設定されていると判定することに応答して、第2の異なる符号化技術を用いることとを行うように構成される。一例において、ビットストリームがロスレス符号化モードを用いて符号化されたかどうかを判定し、ビットストリームがロスレス符号化モードを用いて符号化されたと判定することに応答して、第2の異なる符号化技術を用いる。   In one example, the first electronic device is responsive to determining whether the recovered binary symbol represents a transform coefficient and determining that the recovered binary symbol does not represent a transform coefficient. And using a second different encoding technique. In one example, the first electronic device determines whether a conversion skip flag or a transform quantization bypass flag associated with the recovered binary symbol is set, and the conversion skip flag or the transform quantization bypass flag is set. In response to determining that it is set, the second different encoding technique is used. In one example, the first electronic device determines whether a conversion skip flag or a transform quantization bypass flag associated with the recovered binary symbol is set, and the conversion skip flag or the transform quantization bypass flag is set. In response to determining that it is set, the second different encoding technique is used. In one example, in response to determining whether the bitstream was encoded using the lossless encoding mode and determining that the bitstream was encoded using the lossless encoding mode, the second different encoding Use technology.

一例において、第1の符号化技術はGreater_than_1フラグおよびGreater_than_2フラグを符号化することを含み、第2の符号化技術は任意のGreater_than_1フラグおよび/またはGreater_than_2フラグを符号化しない。   In one example, the first encoding technique includes encoding the Greater_than_1 flag and the Greator_than_2 flag, and the second encoding technique does not encode any of the Greater_than_1 flag and / or the Greater_than_2 flag.

一例において、ビットストリームはコンテキスト適応型2値算術符号化(CABAC)に基づくエンコーダから生じる。   In one example, the bitstream originates from an encoder based on context adaptive binary arithmetic coding (CABAC).

一例において、第1の符号化技術はAbsolute−3値を符号化するためのゴロム−ライス(G−R)符号化法を含み、第2の符号化技術はAbsolute−1またはAbsolute−2値を符号化するためのG−R符号化法を含む。   In one example, the first encoding technique includes a Golomb-Rice (GR) encoding method for encoding an Absolute-3 value, and the second encoding technique uses an Absolute-1 or Absolute-2 value. Includes a G-R encoding method for encoding.

一例において、C−R符号化法は、ブロック・タイプ、ブロック・サイズ、および色情報(輝度/色差)を含む群から選択される少なくとも1つに基づく予め定義された値にてライスパラメータを初期化するステップを含む。一例において、電子デバイス4121は、ビットストリームの初期化情報に基づいて、ビットストリームまたはブロックに対する予め定義された値を定めてもよい。初期化情報は、ビットストリームまたは現ブロックに対する、すなわちブロックごとの態様のライスパラメータ初期化値を含んでもよい。もし初期化情報があるブロックに対する2つ以上のライスパラメータ初期化値を含んでいれば、初期化情報はさらに第1の値または第2の値を用いるための基準を示してもよく、すなわちそれらの値は2および1であってもよく、条件は輝度ブロックに対して2、および/または色差ブロックに対して1であってもよい。一例において、付加的な情報は付加的なシンタックス要素を含んでもよい。   In one example, the CR encoding method initially initializes the Rice parameter with a predefined value based on at least one selected from the group including block type, block size, and color information (luminance / color difference). Including the step of: In one example, the electronic device 4121 may determine a predefined value for the bitstream or block based on the initialization information of the bitstream. The initialization information may include a rice parameter initialization value for the bitstream or the current block, i.e. per block. If the initialization information includes more than one Rice parameter initialization value for a block, the initialization information may further indicate criteria for using the first value or the second value, i.e., The value of may be 2 and 1, and the condition may be 2 for the luminance block and / or 1 for the chrominance block. In one example, the additional information may include additional syntax elements.

一例において、電子デバイス4121は、現ブロックの非ゼロ係数の数を定めることに応答して、予め定義された値を定めてもよい。たとえば電子デバイス4121は、もし非ゼロ係数の数が閾値よりも大きければ第1の予め定義された値を用い、もし非ゼロ係数の数が閾値以下であれば第1の予め定義された値とは異なる第2の予め定義された値を用いてもよい。   In one example, the electronic device 4121 may determine a predefined value in response to determining the number of non-zero coefficients for the current block. For example, the electronic device 4121 uses the first predefined value if the number of non-zero coefficients is greater than a threshold, and if the number of non-zero coefficients is less than or equal to the threshold, May use a different second predefined value.

上述のシステムおよび装置は、本明細書に記載される動作の一部またはすべてを実行するために、専用のプロセッサシステム、マイクロコントローラ、プログラマブル論理デバイス、マイクロプロセッサ、またはその任意の組み合わせを用いてもよい。上述の動作のいくつかはソフトウェアにおいて実現されてもよく、他の動作はハードウェアにおいて実現されてもよい。本明細書に記載される動作、処理および/または方法の1つまたはそれ以上は、例示される図面を参照して本明細書に記載されるものと実質的に類似の装置、デバイスおよび/またはシステムによって実行されてもよい。   The systems and apparatus described above may use a dedicated processor system, microcontroller, programmable logic device, microprocessor, or any combination thereof to perform some or all of the operations described herein. Good. Some of the operations described above may be implemented in software, and other operations may be implemented in hardware. One or more of the operations, processes and / or methods described herein may be performed by apparatus, devices and / or devices substantially similar to those described herein with reference to the illustrated drawings. It may be executed by the system.

処理デバイスは、メモリに記憶される命令または「コード」を実行してもよい。メモリはデータも記憶し得る。処理デバイスは、アナログプロセッサ、デジタルプロセッサ、マイクロプロセッサ、マルチコアプロセッサ、プロセッサ配列、またはネットワークプロセッサなどを含んでもよいが、それに限定されなくてもよい。処理デバイスは、集積化された制御システムまたはシステムマネージャの一部であってもよいし、ワイヤレス送信を介してローカルまたはリモートにネットワークシステムとインタフェースするように構成されたポータブル電子デバイスとして提供されてもよい。   The processing device may execute instructions or “code” stored in the memory. The memory can also store data. The processing device may include, but is not limited to, an analog processor, digital processor, microprocessor, multi-core processor, processor array, or network processor. The processing device may be part of an integrated control system or system manager, or may be provided as a portable electronic device configured to interface with a network system locally or remotely via wireless transmission. Good.

プロセッサメモリは処理デバイスとともに集積化されてもよく、たとえば集積回路マイクロプロセッサなどの中に配されたRAMまたはフラッシュメモリなどであってもよい。他の例において、メモリはたとえば外部ディスクドライブ、記憶装置配列、またはポータブルフラッシュキーフォブなどの独立のデバイスを含んでもよい。メモリおよび処理デバイスは、たとえばI/Oポートまたはネットワーク接続などによってともに動作可能に結合されるか、または互いに通信してもよく、処理デバイスはメモリに記憶されたファイルを読取ってもよい。関連するメモリは、許可設定による意図的な「リードオンリ(read only)」(ROM)であってもよいし、そうでなくてもよい。メモリの他の例は、固体半導体デバイスにおいて実現され得るWORM、EPROM、EEPROM、またはフラッシュなどを含んでもよいが、それに限定されなくてもよい。他のメモリは、たとえば従来の回転ディスクドライブなど、動く部分を含んでもよい。こうしたメモリはすべて「機械読取り可能」であってもよく、処理デバイスによって読取り可能であってもよい。   The processor memory may be integrated with the processing device, such as RAM or flash memory disposed in an integrated circuit microprocessor or the like. In other examples, the memory may include an independent device such as an external disk drive, a storage array, or a portable flash key fob. The memory and processing device may be operatively coupled together, such as by an I / O port or network connection, or may communicate with each other and the processing device may read a file stored in the memory. The associated memory may or may not be an intentional “read only” (ROM) with permission settings. Other examples of memory may include, but are not limited to, WORM, EPROM, EEPROM, flash, etc. that may be implemented in a solid state semiconductor device. Other memories may include moving parts, such as a conventional rotating disk drive. All of these memories may be “machine readable” or readable by a processing device.

動作命令またはコマンドは、記憶されたコンピュータソフトウェア(「コンピュータプログラム」または「コード」としても公知である)の有形の形において実現または具現化されてもよい。プログラムまたはコードは、デジタルメモリに記憶されてもよく、かつ処理デバイスによって読取られてもよい。「コンピュータ読取り可能記憶媒体」(または代替的に「機械読取り可能記憶媒体」)は、そのメモリがコンピュータプログラムまたはその他のデータの性質のデジタル情報を少なくとも一時的に記憶でき得る限り、かつ記憶された情報が適切な処理デバイスによって「読取られ」得る限り、前述のタイプのメモリおよび将来の新技術のすべてを含み得る。「コンピュータ読取り可能」という用語は、完全なメインフレーム、ミニコンピュータ、デスクトップまたはラップトップコンピュータを暗示する「コンピュータ」の歴史的用法に限定されなくてもよい。むしろ「コンピュータ読取り可能」は、プロセッサ、処理デバイスまたは任意のコンピュータシステムによって読取り可能であり得る記憶媒体を含んでもよい。こうした媒体は、コンピュータまたはプロセッサによってローカルおよび/またはリモートにアクセス可能であり得るあらゆる利用可能な媒体であってもよく、揮発性および不揮発性媒体、ならびに取り外し可能および取り外し不可能な媒体、またはその任意の組み合わせを含んでもよい。   The operating instructions or commands may be implemented or embodied in the tangible form of stored computer software (also known as “computer programs” or “codes”). The program or code may be stored in digital memory and read by a processing device. "Computer-readable storage medium" (or alternatively "machine-readable storage medium") is stored as long as the memory can at least temporarily store digital information of the nature of a computer program or other data As long as the information can be “read” by a suitable processing device, it may include all of the aforementioned types of memory and future new technologies. The term “computer readable” may not be limited to the historical usage of “computer”, which implies a complete mainframe, minicomputer, desktop or laptop computer. Rather, “computer readable” may include storage media that may be readable by a processor, processing device or any computer system. Such a medium may be any available medium that may be locally and / or remotely accessible by a computer or processor, volatile and non-volatile media, removable and non-removable media, or any May be included.

コンピュータ読取り可能記憶媒体に記憶されるプログラムは、コンピュータプログラム製品を含み得る。たとえば、記憶媒体はコンピュータプログラムを記憶または運搬するための便利な手段として用いられ得る。簡便にする目的のために、さまざまな相互接続または結合された機能ブロックまたは図面として動作が説明されることがある。しかし、これらの機能ブロックまたは図面が同等に集約されて、不明瞭な境界を有する単一の論理デバイス、プログラムまたは動作にされる場合があり得る。   The program stored on the computer readable storage medium may include a computer program product. For example, a storage medium can be used as a convenient means for storing or carrying a computer program. For purposes of simplicity, operation may be described as various interconnected or coupled functional blocks or drawings. However, these functional blocks or drawings may be equally aggregated into a single logical device, program, or operation with unclear boundaries.

本明細書に教示される概念は、多くの他のやり方で特定の適用に適合され得ることを当業者は認識するだろう。特に、示される実施例は、本開示を読むことで明らかになる多くの代替的実施の1つに過ぎないことを当業者は認識するだろう。   Those skilled in the art will recognize that the concepts taught herein can be adapted to a particular application in many other ways. In particular, those skilled in the art will recognize that the illustrated embodiment is only one of many alternative implementations that will become apparent upon reading this disclosure.

本明細書のいくつかの場所で、「1つ(an)」、「1つ(one)」、「別」または「いくつか」の例(単数または複数)に言及していることがあるが、この言及は、こうした言及の各々が同じ例(単数または複数)に対するものであること、またはその特徴が単一の例にのみ適用されることを必ずしも意味するものではない。   At some places in this specification, reference may be made to examples of “an”, “one”, “another”, or “some”. This reference does not necessarily mean that each such reference is to the same example (s) or that its features apply only to a single example.

Claims (16)

システムであって、
デコーダの第1の電子デバイスを含み、前記第1の電子デバイスは、
ビットストリームを得ることと、
前記得られたビットストリームから2値シンボルを復元することと、
前記2値シンボルが高スループット残差符号化モードを用いて復号されるかどうかを判定することと、
前記2値シンボルが前記高スループット残差符号化モードを用いて復号されないと判定することに応答して、第1の符号化技術を用いて変換および量子化された係数(TQC)のブロックを得ることと、
前記2値シンボルが前記高スループット残差符号化モードを用いて復号されると判定することに応答して、第2の異なる符号化技術を用いて残差サンプルを得ることと、
前記得られたTQCのブロックもしくは前記得られた残差サンプル、または前記得られたTQCのブロックもしくは前記得られた残差サンプルを表すビデオデータをメモリデバイスに記憶することと
を行うように構成され、
前記第1および第2の符号化技術のうち、前記第1の符号化技術のみがAbsolute−3符号化を含み、
前記第2の符号化技術はAbsolute−1またはAbsolute−2符号化を含み、もしGreater_than_1符号化段階およびGreater_than_2符号化段階の両方がスキップされればAbsolute−1値が符号化され、もしGreater_than_2符号化段階はスキップされてGreater_than_1符号化段階はスキップされなければAbsolute−2値が符号化される、システム。
A system,
A first electronic device of a decoder, the first electronic device comprising:
Getting a bitstream,
Reconstructing binary symbols from the resulting bitstream;
Determining whether the binary symbol is decoded using a high throughput residual coding mode;
Responsive to determining that the binary symbols are not decoded using the high-throughput residual coding mode, a block of coefficients (TQC) transformed and quantized using a first coding technique is obtained. And
Responsive to determining that the binary symbol is decoded using the high throughput residual encoding mode, obtaining a residual sample using a second different encoding technique;
Storing the obtained TQC block or the obtained residual sample, or video data representing the obtained TQC block or the obtained residual sample in a memory device. And
Of the first and second encoding techniques, only the first encoding technique includes Absolute-3 encoding,
The second encoding technique includes either Absolute-1 or Absolute-2 encoding, and if both the Greeter_than_1 encoding step and the Greeter_than_2 encoding step are skipped, the Absolute-1 value is encoded, and if the Greeter_than_2 encoding is performed. A system in which the stages are skipped and the Absolute_than_1 encoding stage is encoded unless an Absolute-2 value is encoded .
前記第1の電子デバイスはさらに、
前記復元された2値シンボルが変換係数を表すかどうかを判定することと、
前記復元された2値シンボルが前記変換係数を表さないと判定することに応答して、前記第2の異なる符号化技術を用いることと
を行うように構成される、請求項1に記載のシステム。
The first electronic device further includes
Determining whether the restored binary symbol represents a transform coefficient;
The method of claim 1, configured to perform the second different encoding technique in response to determining that the restored binary symbol does not represent the transform coefficient. system.
前記第1の電子デバイスはさらに、
前記復元された2値シンボルに関連する変換スキップフラグまたは変換量子化バイパスフラグが設定されているかどうかを判定することと、
前記変換スキップフラグまたは前記変換量子化バイパスフラグが設定されていると判定することに応答して、前記第2の異なる符号化技術を用いることと
を行うように構成される、請求項2に記載のシステム。
The first electronic device further includes
Determining whether a transform skip flag or transform quantization bypass flag associated with the restored binary symbol is set;
In response to determining that the conversion skip flag or the transformed and quantized bypass flag is set, configured to perform a using said second different coding techniques, according to claim 2 System.
前記第1の電子デバイスはさらに、
前記ビットストリームがロスレス符号化モードを用いて符号化されたかどうかを判定することと、
前記ビットストリームが前記ロスレス符号化モードを用いて符号化されたと判定することに応答して、前記第2の異なる符号化技術を用いることと
を行うように構成される、請求項2に記載のシステム。
The first electronic device further includes
Determining whether the bitstream was encoded using a lossless encoding mode;
In response to determining that the bit stream is encoded using the lossless coding mode, is configured to perform a using said second different coding techniques, according to claim 2 system.
前記第1の符号化技術はGreater_than_1フラグおよびGreater_than_2フラグを符号化することを含み、前記第2の符号化技術は任意のGreater_than_1フラグおよび/またはGreater_than_2フラグを符号化しない、請求項1に記載のシステム。   2. The system of claim 1, wherein the first encoding technique includes encoding a Greeter_than_1 flag and a Greeter_than_2 flag, and wherein the second encoding technique does not encode any Greeter_than_1 flag and / or Greeter_than_2 flag. . 前記ビットストリームは、コンテキスト適応型2値算術符号化(CABAC)に基づくエンコーダから生じる、請求項1に記載のシステム。   The system of claim 1, wherein the bitstream originates from an encoder based on context adaptive binary arithmetic coding (CABAC). 前記第1の符号化技術はAbsolute−3値を符号化するためのゴロム−ライス(G−R)符号化法を含み、前記第2の符号化技術はAbsolute−1またはAbsolute−2値を符号化するための前記G−R符号化法を含む、請求項1に記載のシステム。   The first encoding technique includes a Golomb-Rice (GR) encoding method for encoding an Absolute-3 value, and the second encoding technique encodes an Absolute-1 or Absolute-2 value. The system of claim 1, comprising the G-R encoding method for converting. 前記G−R符号化法は、ブロック・タイプ、ブロック・サイズ、および色情報(輝度/色差)を含む群から選択される少なくとも1つに基づく予め定義された値にてライスパラメータを初期化するステップを含む、請求項7に記載のシステム。 The GR encoding method initializes the rice parameters with a predefined value based on at least one selected from the group comprising block type, block size, and color information (luminance / color difference). The system of claim 7 , comprising steps. ビットストリームを得るステップと、
前記得られたビットストリームから2値シンボルを復元するステップと、
前記2値シンボルが高スループット残差符号化モードを用いて復号されるかどうかを判定するステップと、
前記2値シンボルが前記高スループット残差符号化モードを用いて復号されないと判定するステップに応答して、第1の符号化技術を用いて変換および量子化された係数(TQC)のブロックを得るステップと、
前記2値シンボルが前記高スループット残差符号化モードを用いて復号されると判定するステップに応答して、第2の異なる符号化技術を用いて残差サンプルを得るステップと、
前記得られたTQCのブロックもしくは前記得られた残差サンプル、または前記得られたTQCのブロックもしくは前記得られた残差サンプルを表すビデオデータをメモリデバイスに記憶するステップと
を含み、
前記第1および第2の符号化技術のうち、前記第1の符号化技術のみがAbsolute−3符号化を含み、
前記第2の符号化技術はAbsolute−1またはAbsolute−2符号化を含み、もしGreater_than_1符号化段階およびGreater_than_2符号化段階の両方がスキップされればAbsolute−1値が符号化され、もしGreater_than_2符号化段階はスキップされてGreater_than_1符号化段階はスキップされなければAbsolute−2値が符号化される、方法。
Obtaining a bitstream;
Reconstructing binary symbols from the obtained bitstream;
Determining whether the binary symbols are decoded using a high throughput residual coding mode;
Responsive to determining that the binary symbols are not decoded using the high-throughput residual coding mode, a block of coefficients (TQC) transformed and quantized using a first coding technique is obtained. Steps,
Responsive to determining that the binary symbol is decoded using the high throughput residual encoding mode, obtaining a residual sample using a second different encoding technique;
See containing and storing the video data representing the block or the resulting residue sample of the resulting TQC blocks or the resulting residue sample or the resulting TQC, the memory device,
Of the first and second encoding techniques, only the first encoding technique includes Absolute-3 encoding,
The second encoding technique includes either Absolute-1 or Absolute-2 encoding, and if both the Greeter_than_1 encoding step and the Greeter_than_2 encoding step are skipped, the Absolute-1 value is encoded, and if the Greeter_than_2 encoding is performed. The method wherein the stage is skipped and the Absolute_than_1 encoding stage is encoded unless an Absolute-2 value is encoded .
前記復元された2値シンボルが変換係数を表すかどうかを判定するステップと、
前記復元された2値シンボルが前記変換係数を表さないと判定するステップに応答して、前記第2の異なる符号化技術を用いるステップと
をさらに含む、請求項9に記載の方法。
Determining whether the restored binary symbol represents a transform coefficient;
10. The method of claim 9 , further comprising: using the second different encoding technique in response to determining that the restored binary symbol does not represent the transform coefficient.
前記復元された2値シンボルに関連する変換スキップフラグまたは変換量子化バイパスフラグが設定されているかどうかを判定するステップと、
前記変換スキップフラグまたは前記変換量子化バイパスフラグが設定されていると判定するステップに応答して、前記第2の異なる符号化技術を用いるステップと
をさらに含む、請求項10に記載の方法。
Determining whether a transform skip flag or transform quantization bypass flag associated with the restored binary symbol is set;
11. The method of claim 10 , further comprising: using the second different encoding technique in response to determining that the transform skip flag or the transform quantization bypass flag is set.
前記ビットストリームがロスレス符号化モードを用いて符号化されたかどうかを判定するステップと、
前記ビットストリームが前記ロスレス符号化モードを用いて符号化されたと判定するステップに応答して、前記第2の異なる符号化技術を用いるステップと
をさらに含む、請求項10に記載の方法。
Determining whether the bitstream has been encoded using a lossless encoding mode;
11. The method of claim 10 , further comprising: using the second different encoding technique in response to determining that the bitstream has been encoded using the lossless encoding mode.
前記第1の符号化技術はGreater_than_1フラグおよびGreater_than_2フラグを符号化することを含み、前記第2の符号化技術は任意のGreater_than_1フラグおよび/またはGreater_than_2フラグを符号化しない、請求項9に記載の方法。 The method of claim 9 , wherein the first encoding technique includes encoding a Greeter_than_1 flag and a Greator_than_2 flag, and wherein the second encoding technique does not encode any of the Greater_than_1 flag and / or the Greater_than_2 flag. . 前記ビットストリームは、コンテキスト適応型2値算術符号化(CABAC)に基づくエンコーダから生じる、請求項9に記載の方法。 The method of claim 9 , wherein the bitstream originates from an encoder based on context adaptive binary arithmetic coding (CABAC). 前記第1の符号化技術はAbsolute−3値を符号化するためのゴロム−ライス(G−R)符号化法を含み、前記第2の符号化技術はAbsolute−1またはAbsolute−2値を符号化するための前記G−R符号化法を含む、請求項9に記載の方法。 The first encoding technique includes a Golomb-Rice (GR) encoding method for encoding an Absolute-3 value, and the second encoding technique encodes an Absolute-1 or Absolute-2 value. The method according to claim 9 , comprising the G-R encoding method for converting. 前記G−R符号化法は、ブロック・タイプ、ブロック・サイズ、および色情報(輝度/色差)を含む群から選択される少なくとも1つに基づく予め定義された値にてライスパラメータを初期化するステップを含む、請求項15に記載の方法。 The GR encoding method initializes the rice parameters with a predefined value based on at least one selected from the group comprising block type, block size, and color information (luminance / color difference). The method of claim 15 , comprising steps.
JP2015545979A 2013-04-05 2014-04-04 High throughput residual coding for transform skip blocks for CABAC in HEVC Active JP6130515B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/857,366 2013-04-05
US13/857,366 US9860527B2 (en) 2012-01-19 2013-04-05 High throughput residual coding for a transform skipped block for CABAC in HEVC
PCT/JP2014/001968 WO2014162749A1 (en) 2013-04-05 2014-04-04 High throughput residual coding for a transform skipped block for cabac in hevc

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017079549A Division JP6426227B2 (en) 2013-04-05 2017-04-13 High Throughput Residual Coding for Transform Skip Block for CABAC in HEVC

Publications (2)

Publication Number Publication Date
JP2016514911A JP2016514911A (en) 2016-05-23
JP6130515B2 true JP6130515B2 (en) 2017-05-17

Family

ID=51658057

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015545979A Active JP6130515B2 (en) 2013-04-05 2014-04-04 High throughput residual coding for transform skip blocks for CABAC in HEVC
JP2017079549A Active JP6426227B2 (en) 2013-04-05 2017-04-13 High Throughput Residual Coding for Transform Skip Block for CABAC in HEVC

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017079549A Active JP6426227B2 (en) 2013-04-05 2017-04-13 High Throughput Residual Coding for Transform Skip Block for CABAC in HEVC

Country Status (2)

Country Link
JP (2) JP6130515B2 (en)
WO (1) WO2014162749A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
FR3058019A1 (en) * 2016-10-21 2018-04-27 Orange METHOD FOR ENCODING AND DECODING IMAGE PARAMETERS, DEVICE FOR ENCODING AND DECODING IMAGE PARAMETERS AND CORRESPONDING COMPUTER PROGRAMS

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743116B2 (en) * 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC

Also Published As

Publication number Publication date
JP2017143572A (en) 2017-08-17
JP6426227B2 (en) 2018-11-21
JP2016514911A (en) 2016-05-23
WO2014162749A1 (en) 2014-10-09

Similar Documents

Publication Publication Date Title
CN104054342B (en) Method and apparatus for high throughput coding of CABAC in HEVC
US11706451B2 (en) Golomb-Rice/EG coding technique for CABAC in HEVC
US8581753B2 (en) Lossless coding technique for CABAC in HEVC
US10701362B2 (en) High throughput significance map processing for CABAC in HEVC
US9654139B2 (en) High throughput binarization (HTB) method for CABAC in HEVC
JP6139774B2 (en) Modified coding for transform skipped blocks for CABAC in HEVC
US8552890B2 (en) Lossless coding with different parameter selection technique for CABAC in HEVC
US9860527B2 (en) High throughput residual coding for a transform skipped block for CABAC in HEVC
JP6426227B2 (en) High Throughput Residual Coding for Transform Skip Block for CABAC in HEVC

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

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: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170413

R150 Certificate of patent or registration of utility model

Ref document number: 6130515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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