JP6412530B2 - Histogram partitioning-based local adaptive filter for video encoding and decoding - Google Patents

Histogram partitioning-based local adaptive filter for video encoding and decoding Download PDF

Info

Publication number
JP6412530B2
JP6412530B2 JP2016175993A JP2016175993A JP6412530B2 JP 6412530 B2 JP6412530 B2 JP 6412530B2 JP 2016175993 A JP2016175993 A JP 2016175993A JP 2016175993 A JP2016175993 A JP 2016175993A JP 6412530 B2 JP6412530 B2 JP 6412530B2
Authority
JP
Japan
Prior art keywords
histogram
pixels
different
values
video encoder
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
JP2016175993A
Other languages
Japanese (ja)
Other versions
JP2017028714A (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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to JP2016175993A priority Critical patent/JP6412530B2/en
Publication of JP2017028714A publication Critical patent/JP2017028714A/en
Application granted granted Critical
Publication of JP6412530B2 publication Critical patent/JP6412530B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本願は、ビデオ圧縮に関する。   This application relates to video compression.

非可逆ビデオ符号化では、複数の変換係数の量子化により、複数の復元された画像の質が劣化する。量子化ステップが大きくなると、画像の質の損失が増大する。   In lossy video encoding, the quality of multiple restored images degrades due to quantization of multiple transform coefficients. As the quantization step increases, the loss of image quality increases.

復元された画像の質を改善し、ビデオ圧縮利得を改善するために、適応フィルタが、アウトループビデオ処理ツールとして、または、画像の質の損失を部分的に補償するコアビデオ符号化パイプラインにおける複数のインループモジュールの一部として、適用されてもよい。   To improve the quality of the restored image and improve the video compression gain, the adaptive filter is used as an out-loop video processing tool or in the core video coding pipeline that partially compensates for image quality loss It may be applied as part of a plurality of in-loop modules.

いくつかの実施形態が、以下の複数の図に関して説明される。
複数のヒストグラム分割方法が適用される場合におけるフィルタリング決定のための符号化フローの一例を示す。 対応するデコーダのフローを示す。 一実施形態に係るシステムの説明である。 一実施形態の正面図である。
Some embodiments are described with reference to the following figures.
An example of the encoding flow for the filtering decision in the case where a plurality of histogram division methods are applied is shown. The flow of the corresponding decoder is shown. It is description of the system which concerns on one Embodiment. It is a front view of one embodiment.

グローバルウィーナーフィルタはいくつかのローカル画素情報に対する適応を失う可能性があることを考慮すると、適応的に選択された複数の画素に対してウィーナーフィルタをローカルに適用し、フィルタリングのための複数の画素の選択の助けとなるヒストグラム分割スキームを用いることができる。しかし、ウィーナーフィルタは、ヒストグラムビン内における一定の質の損失を処理する能力が欠如している可能性がある。そこで、オフセットを有する、変更が加えられたウィーナーフィルタが、ヒストグラムの複数のビンを適応的にフィルタリングするために用いられてもよい。   Considering that the global Wiener filter may lose its adaptation to some local pixel information, apply the Wiener filter locally to multiple adaptively selected pixels and filter multiple pixels for filtering A histogram partitioning scheme can be used to help select However, the Wiener filter may lack the ability to handle certain quality losses within the histogram bin. Thus, a modified Wiener filter with an offset may be used to adaptively filter multiple bins of the histogram.

ビデオコーデックシステムで復元された画像の質は、複数の復元された画素を、ヒストグラム分割によって複数の異なるヒストグラムビンに分類し、次に、複数の異なるビンに対して複数の異なるフィルタを適用することにより、改良され得る。ヒストグラム分割は、ヒストグラムをM個のビンに均等に分割する、または複数のヒストグラム特性に基づいて、ヒストグラムをN個のビンに適応的に分割することにより、実行されてもよい。例えば、画素値範囲が0−255の場合、ヒストグラムをM個のビンに均等に分割することは、各ビンが256/M画素値の間隔を有することを意味する。ここで、M及びNは、予め定められ、固定された正の整数値またはエンコーダ側で適応的に生成された値であってもよく、符号化されたビットストリームを介してデコーダに送信されてもよい。複数のヒストグラム特性は、画素値の複数の分配を伴う。ヒストグラム分割及び/または区画化の複数の方法を紹介する文書が多数公開されている。   The quality of the restored image in the video codec system is to classify the restored pixels into different histogram bins by histogram partitioning and then apply different filters to different bins Can be improved. The histogram division may be performed by dividing the histogram evenly into M bins or adaptively dividing the histogram into N bins based on a plurality of histogram characteristics. For example, if the pixel value range is 0-255, dividing the histogram evenly into M bins means that each bin has an interval of 256 / M pixel values. Here, M and N may be positive integer values that are predetermined and fixed, or values that are adaptively generated on the encoder side, and are transmitted to the decoder via the encoded bitstream. Also good. Multiple histogram characteristics involve multiple distributions of pixel values. Many documents have been published that introduce multiple methods of histogram segmentation and / or partitioning.

ビデオコーデックシステムで復元された画像の質は、複数の利用可能なヒストグラム分割スキームを適用し、エンコーダ側でレート歪み最適化(RDO)基準に基づいてフィルタリングのための最良の分割スキームを決定し、次に決定結果を示すフラグをデコーダに送信することにより、改良され得る。ビデオコーデックシステムで復元された画像の質は、RDO基準に基づいて分割されたヒストグラムの複数のビンに複数のフィルタを適応的に適用し、次に符号化されたビットストリームを介して、フィルタリングされるべきヒストグラムの複数のビンを示す複数のフラグを送信することにより、改良され得る。   The quality of the image restored by the video codec system applies multiple available histogram partitioning schemes to determine the best partitioning scheme for filtering based on rate distortion optimization (RDO) criteria at the encoder side, It can then be improved by sending a flag indicating the decision result to the decoder. The quality of the image restored by the video codec system is filtered through adaptively applying multiple filters to multiple bins of the histogram divided based on RDO criteria, and then through the encoded bitstream This can be improved by sending multiple flags indicating multiple bins of the histogram to be.

適応ウィーナーフィルタが、ヒストグラムビンのためのオフセットとともに適用されてもよい。複数のウィーナーフィルタ係数及びヒストグラムビンのためのオフセット値は、エンコーダ側で適応的に生成され、次に複数の係数及びオフセット値は、符号化されたビットストリームを介してデコーダに送信されてもよい。オフセットを有するウィーナーフィルタは、ヒストグラムビン内の複数の復元された画素P(x,y)に適用され、ビンについてフィルタリングされた画素値P'(x,y)を得る。次に、複数のウィーナーフィルタ係数及びオフセット値は、図1に示されるように、エンコーダ側でフィルタリングされた画素値P'(x,y)及び元の入力画素値Q(x,y)間の合計絶対差(SSD)を最小化し、次に複数の係数及びオフセット値が、符号化されたビットストリームを介してデコーダに送信されることにより、計算されてもよい。いくつかの実施形態では、オフセット値は、強制的にゼロにされてもよく、複数のウィーナーフィルタ係数のみがエンコーダ側で生成され、次にデコーダに送信される必要がある。   An adaptive Wiener filter may be applied with an offset for the histogram bin. The offset values for the multiple Wiener filter coefficients and histogram bins are adaptively generated at the encoder side, and the multiple coefficients and offset values may then be sent to the decoder via the encoded bitstream. . A Wiener filter with an offset is applied to a plurality of reconstructed pixels P (x, y) in the histogram bin to obtain a filtered pixel value P ′ (x, y) for the bin. Next, as shown in FIG. 1, a plurality of Wiener filter coefficients and offset values are obtained between the pixel value P ′ (x, y) filtered on the encoder side and the original input pixel value Q (x, y). The total absolute difference (SSD) may be minimized and then multiple coefficients and offset values may be calculated by being sent to the decoder via the encoded bitstream. In some embodiments, the offset value may be forced to zero and only a plurality of Wiener filter coefficients need be generated at the encoder side and then transmitted to the decoder.

いくつかの実施形態では、ウィーナーフィルタを適用することなく、オフセット値のみがヒストグラムビンに適用される。この場合、オフセット値のみが、エンコーダ側でヒストグラムビンについて生成され、次にデコーダに送信される必要がある。   In some embodiments, only the offset value is applied to the histogram bin without applying a Wiener filter. In this case, only the offset value needs to be generated for the histogram bin at the encoder side and then sent to the decoder.

いくつかの実施形態では、複数のウィーナーフィルタ係数のいくつかは、送信帯域幅をセーブするべく強制的にゼロとされてもよく、これらの複数の係数は、デコーダに送信されなくてもよい。   In some embodiments, some of the plurality of Wiener filter coefficients may be forced to zero to save transmission bandwidth, and the plurality of coefficients may not be transmitted to the decoder.

ビデオコーデックシステムで復元された画像の質は、グローバルフィルタリングまたはエンコーダ側におけるRDO基準に基づくヒストグラム分割ベースのローカルフィルタリングを適応的に選択し、次に選択結果を示すフラグをデコーダに送信することにより、改良され得る。グローバルフィルタリングは、実際には、ヒストグラム分割ベースのローカルフィルタリングの特別な場合である。ヒストグラム全体が単一ビン(分割なし)とみなされる場合、ローカルフィルタリングは、実際には、画像内の複数の画素の全てに対するグローバルフィルタリングである。図1では、この場合に「分割しない」ために、1のヒストグラム分割方法が設定可能である。   The quality of the image restored by the video codec system is selected by adaptively selecting global filtering or local filtering based on histogram division based on RDO criteria at the encoder side, and then sending a flag indicating the selection result to the decoder, It can be improved. Global filtering is actually a special case of histogram partitioning based local filtering. When the entire histogram is considered a single bin (no splitting), local filtering is actually a global filtering for all of the pixels in the image. In FIG. 1, in order to “not divide” in this case, one histogram division method can be set.

ビデオコーデックシステムで復元された画像の質は、フィルタリングされるべき(又はされるべきでない)フレームを、エンコーダ側でRDO基準に基づいて適応的に決定し、次に決定結果を示すフラグをデコーダに送信することにより、改良され得る。   The quality of the image restored in the video codec system is determined adaptively on the encoder side based on the RDO criterion on the frame to be filtered (or not to be filtered), and then a flag indicating the determination result is sent to the decoder. It can be improved by transmitting.

ビデオコーデックでは、適応ウィーナーフィルタは、2つの入力画像又は画像領域間の違い、及びデコーダ側に送信される必要がある複数のフィルタ係数を最小化することを目的とする。Q(x,y)は、位置(x,y)におけるエンコーダ入力画素の値を意味し、P(x,y)は、位置(x,y)における復元されたフィルタリング前の画素の値を意味するものとする。オフセットを有する適応ウィーナーフィルタリングは、式(1)に示すように、P(x,y)に対して実行され、フィルタリングの後の画素値P'(x,y)を得る。

Figure 0006412530
(1) ここで、Cm,nは、複数の適応フィルタリング係数を意味し、オフセットは、対応するヒストグラムの複数のビンに加算されたオフセット値を意味する。M0,M1,N0,N1は、ウィーナーフィルタタップの数を制御する複数のパラメータである。以下のリストの複数の変数M0,M1,N0,N1で複数の異なる設定をすることにより、フィルタは、対称フィルタまたは非対称フィルタ、1−Dフィルタまたは2−Dフィルタであってもよい。複数のパラメータM0,M1,N0,N1は、予め定められた複数の固定値に設定されてもよい。これらの複数の固定値は、エンコーダ及びデコーダの両方が複数の同一の値を用いることができるように、ビデオ符号化規格の仕様において提示され得る。代わりに、M0,M1,N0,N1は、いくつかの予め定められた候補値を有してもよい。次に、エンコーダは、RDO基準に基づいて最良の候補を選択し、次に、用いられる候補を示すフラグをデコーダに送信することができる。 In video codecs, the adaptive Wiener filter aims to minimize the difference between two input images or image regions and the multiple filter coefficients that need to be transmitted to the decoder side. Q (x, y) means the value of the encoder input pixel at the position (x, y), and P (x, y) means the restored pixel value before filtering at the position (x, y). It shall be. Adaptive Wiener filtering with an offset is performed on P (x, y) as shown in equation (1) to obtain the pixel value P ′ (x, y) after filtering.
Figure 0006412530
(1) Here, Cm, n means a plurality of adaptive filtering coefficients, and offset means an offset value added to a plurality of bins of the corresponding histogram. M0, M1, N0, and N1 are a plurality of parameters that control the number of Wiener filter taps. By making a plurality of different settings with a plurality of variables M0, M1, N0, N1 in the following list, the filter may be a symmetric filter or an asymmetric filter, a 1-D filter or a 2-D filter. The plurality of parameters M0, M1, N0, and N1 may be set to a plurality of predetermined fixed values. These multiple fixed values may be presented in the specification of the video coding standard so that both the encoder and decoder can use multiple identical values. Alternatively, M0, M1, N0, N1 may have a number of predefined candidate values. The encoder can then select the best candidate based on the RDO criteria and then send a flag to the decoder indicating the candidate used.

複数の係数Cm,n及びオフセット値Offsetは、エンコーダ側で適応的に生成されてもよく、次に、復号のために、複数のビットストリームに符号化されてもよい。Cm,n及びOffset値を生成する1つの方法は、Q(x,y)及びP'(x,y)間における複数の歪みの二乗の合計を最小化することである。   The plurality of coefficients Cm, n and the offset value Offset may be adaptively generated at the encoder side, and then may be encoded into a plurality of bit streams for decoding. One way to generate Cm, n and Offset values is to minimize the sum of squares of multiple distortions between Q (x, y) and P ′ (x, y).

複数のフィルタタップの微分を、以下に示す。簡単な説明のために、2DフィルタタップCmnを1DフィルタタップCiにマッピングし、2D画素インデックス(x,y)を1D画素インデックス(i)にマッピングすることができるものとする。入力画素Q(k)と、サイズL+1かつ重量Ciで、フィルタサポート{S}で復元されたマッピングされた画素P(k)からなるウィーナーフィルタの出力P'(k)とを考える。適応(ウィーナー)フィルタ関数は、以下の通りである。

Figure 0006412530
[2] 入力画素Q(i)及びウィーナーフィルタリングされた画素P'(i)の中の残留信号は、以下の通り定義される。
Figure 0006412530
[3] ウィーナーフィルタは、平均二乗誤差を複数のフィルタタップ{Ci}で最小化することにより最適となる。
Figure 0006412530
[4] ここで、E[]は、一連の複数の画像、画像又は画像内部のいくつかの領域からの複数の画素であり得る関心の複数の画素に対する残留信号の二乗の予測値である。
Figure 0006412530
[5] E[errork2]の最小値を導くために、導関数がCiに関してとられる。複数のフィルタタップは、導関数をゼロと等しくすることにより、導かれることができる。
Figure 0006412530
[6] 自己相関関数P(k)は、以下の式[7]で示され、P(k)及びQ(k)の中の相互相関関数は、以下の式[8]で示される。
Figure 0006412530
[7]
Figure 0006412530
[8] 式[5]は、行列形式で書き直すことができる。
Figure 0006412530
[9] このように、ウィーナーフィルタタップセット{C}は、行列形式で導かれることができる。
Figure 0006412530
[10] ここで、RPP−1は、式[9]の自己相関行列の逆行列である。Ciは、取得後、Cmnに再びマッピングされることができる。次に、オフセットは、次式により計算されることができ、ここで、Nはヒストグラムビン内の複数の画素の数である。
Figure 0006412530
The differentiation of the plurality of filter taps is shown below. For the sake of simplicity, it is assumed that the 2D filter tap Cmn can be mapped to the 1D filter tap Ci and the 2D pixel index (x, y) can be mapped to the 1D pixel index (i). Consider an input pixel Q (k) and a Wiener filter output P ′ (k) of size L + 1 and weight Ci and consisting of mapped pixels P (k) reconstructed with filter support {S}. The adaptive (Wiener) filter function is:
Figure 0006412530
[2] The residual signal in the input pixel Q (i) and the Wiener filtered pixel P ′ (i) is defined as follows.
Figure 0006412530
[3] The Wiener filter is optimized by minimizing the mean square error with a plurality of filter taps {Ci}.
Figure 0006412530
[4] where E [] is the predicted value of the square of the residual signal for a plurality of pixels of interest, which may be a series of images, images or pixels from several regions within the image.
Figure 0006412530
[5] To derive the minimum value of E [error2], the derivative is taken with respect to Ci. Multiple filter taps can be derived by making the derivative equal to zero.
Figure 0006412530
[6] The autocorrelation function P (k) is expressed by the following formula [7], and the cross-correlation function in P (k) and Q (k) is expressed by the following formula [8].
Figure 0006412530
[7]
Figure 0006412530
[8] Equation [5] can be rewritten in matrix form.
Figure 0006412530
[9] Thus, the Wiener filter tap set {C} can be derived in matrix form.
Figure 0006412530
[10] Here, RPP-1 is an inverse matrix of the autocorrelation matrix of Equation [9]. Ci can be re-mapped to Cmn after acquisition. The offset can then be calculated by the following equation, where N is the number of pixels in the histogram bin.
Figure 0006412530

式[7]及び[10]の複数の自己相関関数は、ビデオデコーダ側で集められることができるが、式[8]及び[10]の相互相関は、入力{x}がビデオエンコーダ側のみで得られるという要件により、ビデオエンコーダ側で導かれなければならない。このように、式[10]で導かれた複数のフィルタタップを、ビデオエンコーダからビデオデコーダに送信する必要がある。   The autocorrelation functions of equations [7] and [10] can be collected at the video decoder side, but the cross-correlation of equations [8] and [10] Due to the requirement to be obtained, it must be guided on the video encoder side. As described above, it is necessary to transmit the plurality of filter taps derived from the equation [10] from the video encoder to the video decoder.

ビデオデコーダは、相互相関関数及び復号された非ブロック化されたデータ{y}を自ら受信することにより、複数のフィルタタップを導くことができるため、いくつかの場合には、導かれた複数のフィルタタップの代わりに、相互相関関数を送信すれば十分である。   The video decoder can derive multiple filter taps by itself receiving the cross-correlation function and the decoded unblocked data {y}, so in some cases the derived multiple Instead of a filter tap, it is sufficient to send a cross-correlation function.

いくつかの場合には、画像境界に近い複数の画素を省略することによって符号化効率をさらに改善するために、より正確な統計情報が得られる場合がある。式[10]の右側は、この省略の表現である。   In some cases, more accurate statistical information may be obtained to further improve coding efficiency by omitting multiple pixels near the image boundary. The right side of Equation [10] is an abbreviation for this.

複数のフィルタタップは、それぞれ、輝度あたり及び彩度チャネルあたり、導かれることができる。よりよい符号化効率は、彩度画素のみにより導かれた複数のフィルタタップに基づいて、彩度画像に対して達成される。いくつかのシナリオは、Cb及びCrのチャネルの両方に共有される1の彩度テーブルを用い、または、Cb及びCrのそれぞれに対する2の個別のテーブルを用いることができる。   Multiple filter taps can be derived per luminance and per saturation channel, respectively. Better encoding efficiency is achieved for chroma images based on multiple filter taps derived by chroma pixels only. Some scenarios can use one saturation table shared by both Cb and Cr channels, or two separate tables for Cb and Cr, respectively.

このアプローチは、スケーラブルであり、かつ、複数の非ブロック化された画像を含み、適応フィルタリングされた画像に加え、動き予測のフェーズでリファレンス画像として機能するように、拡張されることができる。これにより、非ブロック化された画像は、常にビデオデコーダ側でアクセス可能であるため、追加の情報がビデオエンコーダ側から送信されることなく、動き予測の正確性を改善するために、複数のリファレンス画像の量が倍増する。   This approach is scalable and includes multiple unblocked images and can be extended to function as a reference image in the motion prediction phase in addition to the adaptive filtered image. This ensures that the deblocked image is always accessible on the video decoder side, so that no additional information is sent from the video encoder side, and multiple references can be used to improve the accuracy of motion estimation. Double the amount of images.

図4は、図2の遅延モジュールが、非ブロック化フィルタの後、適応フィルタの前に配置されることを示す。遅延のモジュールにより、複数の適応フィルタタップの生成が、バッファリストの複数のリファレンス画像に対する現在の入力画像に基づく各画像時間あたりで、再計算されることができる。このように、ビデオエンコーダは、各リファレンス画像に対する複数のフィルタタップを更新する。同様に、図5は、図3における遅延モジュールの再位置を示す。   FIG. 4 shows that the delay module of FIG. 2 is placed after the deblocking filter and before the adaptive filter. With the delay module, the generation of multiple adaptive filter taps can be recalculated for each image time based on the current input image for multiple reference images in the buffer list. In this way, the video encoder updates a plurality of filter taps for each reference image. Similarly, FIG. 5 shows the relocation of the delay module in FIG.

図6は、入力ビデオ及び動き補償画像の中の最小平均二乗誤差の解決を得るために、動き補償画像の出力に追加された統計的特徴コレクタ及び適応フィルタの複数のモジュールを示す。これにより、いくつかの場合には、よりよい符号化効率が向上する。動き補償モジュール後のこの適応フィルタは、図2−5に示されるように、動き予測モジュール前の適応フィルタから独立している。このように、この適応フィルタは、図2−5の先頭でアドオンとして機能することもできる。   FIG. 6 shows the statistical feature collector and adaptive filter modules added to the output of the motion compensated image to obtain a minimum mean square error solution in the input video and motion compensated image. This improves better coding efficiency in some cases. This adaptive filter after the motion compensation module is independent of the adaptive filter before the motion prediction module, as shown in FIGS. 2-5. Thus, this adaptive filter can also function as an add-on at the top of FIG. 2-5.

いくつかのシナリオでは、適応フィルタの符号化効率は、非ブロック化フィルタのみを適用する場合よりも良い。つまり、適応フィルタを適用して、コア符号化ループから非ブロック化フィルタを取り除くことができる。   In some scenarios, the coding efficiency of the adaptive filter is better than applying only the deblocking filter. That is, an adaptive filter can be applied to remove the deblocking filter from the core coding loop.

グローバルウィーナーフィルタで画像をフィルタリングする場合、複数のフィルタ係数は、画像内の全ての画素により、学習する。この場合、フィルタリングにより、いくつかの画素の複数の歪みは減少するが、他の複数の画素の複数の歪みは増加する。このため、画像内の複数の画素の一部にウィーナーフィルタリングを実行するだけで、より多くの符号化利得が得られる。   When filtering an image with a global Wiener filter, a plurality of filter coefficients are learned by all the pixels in the image. In this case, the filtering reduces the distortions of some pixels, but increases the distortions of other pixels. Therefore, more coding gain can be obtained simply by performing Wiener filtering on some of the plurality of pixels in the image.

1つの方法は、ヒストグラム分割により、複数の画素を複数のグループに分類し、次に、適応的に(RDO基準に応じて)各ヒストグラムビンに対してウィーナーフィルタリングを実行することである。ヒストグラム分割は、複数の画素値を複数のビンに分割し、ここで、1のビンは、その値がそのビンにあてはまる複数の画素のグループである。ヒストグラムは、(統一的な又は非統一的な複数の方法を含む任意の種類のヒストグラム分割方法で)N個のビンに分割されると仮定する。次に、エンコーダは、フィルタリングする複数のビンを決定し、複数のフィルタリングパラメータ、すなわち、フィルタリングされた複数のビンとなり得る複数のビンに対する複数の係数Cm,n及びOffsetを生成し、次に、関連情報をデコーダに送信することができる。   One method is to classify the pixels into groups by histogram partitioning and then perform Wiener filtering adaptively (depending on the RDO criteria) for each histogram bin. Histogram division divides a plurality of pixel values into a plurality of bins, where one bin is a group of pixels whose values apply to that bin. Assume that the histogram is divided into N bins (with any kind of histogram division method including multiple methods, either uniform or non-uniform). Next, the encoder determines a plurality of bins to filter and generates a plurality of filtering parameters, i.e., a plurality of coefficients Cm, n and Offset for the plurality of bins that can be filtered bins. Information can be sent to the decoder.

複数のヒストグラム分割方法を適用する場合、エンコーダは、現在の画像をフィルタするために用いられるRDO基準を決定し、次に決定結果をデコーダに送信することができる。エンコーダは、マルチタスク符号化(1の分割方法に対して1のパス)を行い、各パスに対するレート歪み(RD)コストを計算することができる。次に、最小RDコストのパスが、最後の符号化のために用いられる。   When applying multiple histogram partitioning methods, the encoder can determine the RDO criteria used to filter the current image and then send the determination results to the decoder. The encoder can perform multi-task coding (one pass for one split method) and calculate the rate distortion (RD) cost for each pass. The path with the lowest RD cost is then used for the last encoding.

図1を参照すると、位置(x,y)における復元されたフィルタリング前の画素値P(x,y)は、ヒストグラム分割方法12a−kに与えられてもよい。この場合、複数のヒストグラム分割方法が適用され、それぞれが値に対して動作する。これにより、複数の適応フィルタ決定14a−14kに提供される複数の出力が生成される。位置(x,y)におけるエンコーダ入力画素値Q(x,y)も、複数の適応フィルタ決定14a−kに適用される。これらの複数の入力に基づいて、複数の適応フィルタ決定は、次に所望の結果を生成するヒストグラム分割方法決定16に、値を出力する。適応フィルタ決定は、オフセットを有する適応ウィーナーフィルタを含む。   Referring to FIG. 1, the restored unfiltered pixel value P (x, y) at position (x, y) may be provided to the histogram partitioning method 12a-k. In this case, a plurality of histogram division methods are applied, each operating on a value. This produces a plurality of outputs that are provided to a plurality of adaptive filter decisions 14a-14k. The encoder input pixel value Q (x, y) at position (x, y) is also applied to the plurality of adaptive filter decisions 14a-k. Based on these multiple inputs, the multiple adaptive filter decisions output values to a histogram partitioning method decision 16 that in turn produces the desired result. The adaptive filter decision includes an adaptive Wiener filter with an offset.

エンコーダ側と対照的にデコーダに関する図2を参照すると、値P(x,y)は、受信された方法によるヒストグラム分割ブロック18に適用される。複数のヒストグラム分割方法が定義される場合、デコーダは、エンコーダに選択された分割方法を示すフラグを、エンコーダから受信する。方法フラグを受信した後、デコーダは、P(x,y)に対して、受信された方法によりヒストグラム分割を行うことができる。その出力は、フィルタリングの後の画素値P'(x,y)を出力するために、受信された複数のフィルタパラメータを有する、ヒストグラムの複数のビンに対する適応フィルタ20に提供される。   Referring to FIG. 2 for the decoder as opposed to the encoder side, the value P (x, y) is applied to the histogram partitioning block 18 according to the received method. When a plurality of histogram division methods are defined, the decoder receives from the encoder a flag indicating the division method selected by the encoder. After receiving the method flag, the decoder can perform histogram division on P (x, y) according to the received method. The output is provided to an adaptive filter 20 for a plurality of histogram bins having a plurality of received filter parameters to output a filtered pixel value P ′ (x, y).

図3は、システム700の実施形態を示す。複数の実施形態では、システム700は、メディアシステムであってもよいが、システム700は、この内容に限定されない。例えば、システム700は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレットまたはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイスなどに組み込まれてもよい。   FIG. 3 illustrates an embodiment of the system 700. In embodiments, the system 700 may be a media system, but the system 700 is not limited to this. For example, the system 700 can be a personal computer (PC), laptop computer, ultra laptop computer, tablet, touchpad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), mobile phone, mobile phone / PDA. May be incorporated into a combination, television, smart device (eg, smart phone, smart tablet or smart TV), mobile internet device (MID), messaging device, data communication device, and the like.

複数の実施形態では、システム700は、ディスプレイ720に連結されるプラットフォーム702を備える。プラットフォーム702は、コンテンツサービスデバイス730またはコンテンツ配信デバイス740または他の同様の複数のコンテンツソースのようなコンテンツデバイスからコンテンツを受信してもよい。1つまたは複数のナビゲーション機能を備えるナビゲーションコントローラ750は、例えば、プラットフォーム702及び/またはディスプレイ720と情報をやりとりするために用いられてもよい。これらの複数のコンポーネントのそれぞれは、以下により詳細に説明される。   In embodiments, the system 700 includes a platform 702 that is coupled to a display 720. Platform 702 may receive content from a content device, such as content service device 730 or content distribution device 740 or other similar content source. A navigation controller 750 with one or more navigation functions may be used to interact with the platform 702 and / or the display 720, for example. Each of these multiple components is described in more detail below.

複数の実施形態では、プラットフォーム702は、チップセット705、プロセッサ710、メモリ712、ストレージ714、グラフィクスサブシステム715、複数のアプリケーション716、全地球測位システム(GPS)721、カメラ723及び/または無線718の任意の組み合わせを備えてもよい。チップセット705は、プロセッサ710、メモリ712、ストレージ714、グラフィクスサブシステム715、複数のアプリケーション716及び/または無線718の中の相互通信を提供してもよい。例えば、チップセット705は、ストレージ714との相互通信を提供可能なストレージアダプタ(不図示)を含んでもよい。   In embodiments, platform 702 includes chipset 705, processor 710, memory 712, storage 714, graphics subsystem 715, multiple applications 716, global positioning system (GPS) 721, camera 723, and / or wireless 718. Any combination may be provided. Chipset 705 may provide intercommunication within processor 710, memory 712, storage 714, graphics subsystem 715, multiple applications 716 and / or wireless 718. For example, the chipset 705 may include a storage adapter (not shown) that can provide mutual communication with the storage 714.

さらに、プラットフォーム702は、オペレーティングシステム770を含んでもよい。プロセッサへのインターフェース772は、オペレーティングシステム及びプロセッサ710のインターフェースであってもよい。   Further, platform 702 may include an operating system 770. The interface 772 to the processor may be an operating system and processor 710 interface.

ファームウェア790は、ブートシーケンスのような機能を実装するために提供されてもよい。ファームウェアがプラットフォーム702外から更新されることを可能にする更新モジュールが、提供されてもよい。例えば、更新モジュールは、複数の更新が必要な場合の決定を容易にするべく、更新の試みが真正なものであるか否かを決定し、ファームウェア790の最新の更新を特定するコードを含んでもよい。   Firmware 790 may be provided to implement functions such as a boot sequence. An update module that allows firmware to be updated from outside the platform 702 may be provided. For example, the update module may include code that determines whether the update attempt is authentic and identifies the latest update of firmware 790 to facilitate determination when multiple updates are required. Good.

いくつかの実施形態では、プラットフォーム702は、外部電源により電源供給されてもよい。いくつかの場合には、プラットフォーム702は、外部電源に適応しない複数の実施形態では、または、バッテリ供給電力又は外部供給電力のいずれかを許容する複数の実施形態では、電源として機能する内部バッテリ780をさらに含んでもよい。   In some embodiments, platform 702 may be powered by an external power source. In some cases, the platform 702 may be an internal battery 780 that functions as a power source in embodiments that do not adapt to an external power source, or in embodiments that allow either battery supplied power or external supplied power. May further be included.

図1及び2に示される複数のシーケンスは、少しの例を説明するために、ストレージ714内に、もしくはプロセッサ710またはグラフィクスサブシステム715内のメモリ内にこれらを組み込むことにより、ソフトウェア及びファームウェアの実施形態のかたちで実装されてもよい。一実施形態では、グラフィクスサブシステム715は、グラフィクスプロセッシングユニットを含んでもよく、プロセッサ710は、中央処理装置であってもよい。   The sequences shown in FIGS. 1 and 2 are implemented in software and firmware by incorporating them in storage 714 or in memory in processor 710 or graphics subsystem 715 to illustrate a few examples. It may be implemented in the form of a form. In one embodiment, graphics subsystem 715 may include a graphics processing unit and processor 710 may be a central processing unit.

プロセッサ710は、複合命令セットコンピュータ(CISC)または縮小命令セットコンピュータ(RISC)の複数のプロセッサ、複数のプロセッサ、マルチコアもしくは任意の他のマイクロプロセッサまたは中央処理装置(CPU)と互換性を有するx86命令セットとして実装されてもよい。複数の実施形態では、プロセッサ710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどを備えてもよい。   The processor 710 is an x86 instruction compatible with multiple processors, multiple processors, multi-core or any other microprocessor or central processing unit (CPU) of a complex instruction set computer (CISC) or reduced instruction set computer (RISC). It may be implemented as a set. In embodiments, the processor 710 may comprise a dual core processor, a dual core mobile processor, and the like.

メモリ712は、限定されるものではないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)またはスタティックRAM(SRAM)のような揮発性メモリデバイスとして実装されてもよい。   The memory 712 may be implemented as a volatile memory device such as, but not limited to, random access memory (RAM), dynamic random access memory (DRAM), or static RAM (SRAM).

ストレージ714は、限定されるものではないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、外付けストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM (シンクロナスDRAM)及び/またはネットワークアクセス可能ストレージデバイスのような不揮発性記憶デバイスとして実装されてもよい。複数の実施形態では、例えば、複数のハードドライブが含まれる場合には、ストレージ714は、重要なデジタルメディアのために記憶性能が強化された保護を向上させる技術を備えてもよい。   Storage 714 includes, but is not limited to, a magnetic disk drive, optical disk drive, tape drive, internal storage device, external storage device, flash memory, battery backup SDRAM (synchronous DRAM) and / or network accessible storage device May be implemented as a non-volatile storage device. In embodiments, for example, when multiple hard drives are included, the storage 714 may include technology that improves protection with enhanced storage performance for critical digital media.

グラフィクスサブシステム715は、表示のためのスチルまたはビデオのような複数の画像の処理を実行してもよい。グラフィクスサブシステム715は、例えば、グラフィクスプロセッシングユニット(GPU)またはビジュアルプロセッシングユニット(VPU)であってもよい。アナログまたはデジタルインターフェースは、グラフィクスサブシステム715及びディスプレイ720を通信可能に連結するために用いられてもよい。例えば、インターフェースは、高解像度マルチメディアインターフェース、DisplayPort、ワイヤレスHDMI(登録商標)及び/またはワイヤレスHDに準拠する複数の技術のいずれかであってもよい。グラフィクスサブシステム715は、プロセッサ710またはチップセット705に集積されることができる。グラフィクスサブシステム715は、チップセット705と通信可能に連結されるスタンドアロンのカードとされることができる。   Graphics subsystem 715 may perform processing of multiple images, such as a still or video for display. The graphics subsystem 715 may be, for example, a graphics processing unit (GPU) or a visual processing unit (VPU). An analog or digital interface may be used to communicatively couple graphics subsystem 715 and display 720. For example, the interface may be any of a plurality of technologies that are compliant with a high resolution multimedia interface, DisplayPort, Wireless HDMI, and / or Wireless HD. Graphics subsystem 715 can be integrated into processor 710 or chipset 705. The graphics subsystem 715 can be a stand-alone card that is communicatively coupled to the chipset 705.

本明細書に記載された複数のグラフィクス及び/またはビデオ処理技術は、様々な複数のハードウェアキテクチャのかたちで実装されてもよい。例えば、グラフィクス及び/またはビデオ機能性は、チップセット内に集積されてもよい。代わりに、個別のグラフィクス及び/またはビデオプロセッサが、用いられてもよい。さらに他の実施形態として、グラフィクス及び/またはビデオ複数の機能は、マルチコアプロセッサを含む汎用プロセッサによって実装されてもよい。さらなる実施形態では、複数の機能は、家庭用電子機器のかたちで実装されてもよい。   The multiple graphics and / or video processing techniques described herein may be implemented in a variety of multiple hardware architectures. For example, graphics and / or video functionality may be integrated within the chipset. Alternatively, separate graphics and / or video processors may be used. As yet another embodiment, the graphics and / or video functions may be implemented by a general purpose processor including a multi-core processor. In further embodiments, multiple functions may be implemented in the form of consumer electronics.

無線718は、様々な適した複数の無線通信技術を用いて、複数の信号の送受信が可能な1つまたは複数の無線を含んでもよい。そのような複数の技術は、1つまたは複数の無線ネットワークを介した複数の通信を伴ってもよい。例示的な複数の無線ネットワークは、(限定されるものではないが)複数のワイヤレスローカルエリアネットワーク(WLAN)、複数のワイヤレスパーソナルエリアネットワーク(WPAN)、複数のワイヤレスメトロポリタンエリアネットワーク(WMAN)、複数のセルラーネットワーク及び複数の衛星ネットワークを含む。そのような複数のネットワークを介した通信では、無線718は、任意のバージョンの1つまたは複数の適用し得る規格に従って、動作してもよい。   Radio 718 may include one or more radios capable of transmitting and receiving signals using a variety of suitable wireless communication technologies. Such multiple techniques may involve multiple communications over one or more wireless networks. Exemplary wireless networks include (but are not limited to) multiple wireless local area networks (WLAN), multiple wireless personal area networks (WPAN), multiple wireless metropolitan area networks (WMAN), multiple Includes a cellular network and multiple satellite networks. For communication over such multiple networks, the radio 718 may operate according to any version of one or more applicable standards.

複数の実施形態では、ディスプレイ720は、任意のテレビ型モニタまたはディスプレイを備えてもよい。ディスプレイ720は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ型デバイス及び/またはテレビを備えてもよい。ディスプレイ720は、デジタル及び/またはアナログであってもよい。複数の実施形態では、ディスプレイ720は、ホログラフィックディスプレイであってもよい。また、ディスプレイ720は、視覚的なビデオを受信し得る透明な面であってもよい。そのような複数のビデオは、様々な形の情報、複数の画像及び/または複数のオブジェクトを伝送してもよい。例えば、そのような複数のビデオは、モバイル拡張現実(MAR)アプリケーションのための視覚的オーバーレイであってもよい。1つまたは複数のソフトウェアアプリケーション716の制御下で、プラットフォーム702は、ディスプレイ720上にユーザインターフェース722を表示してもよい。   In embodiments, the display 720 may comprise any television type monitor or display. Display 720 may comprise, for example, a computer display screen, touch screen display, video monitor, television type device, and / or television. Display 720 may be digital and / or analog. In embodiments, the display 720 may be a holographic display. The display 720 may also be a transparent surface that can receive visual video. Such multiple videos may carry various forms of information, multiple images and / or multiple objects. For example, such multiple videos may be visual overlays for mobile augmented reality (MAR) applications. Under the control of one or more software applications 716, platform 702 may display user interface 722 on display 720.

複数の実施形態では、コンテンツサービスデバイス730は、任意の国内、国際及び/または独立したサービスにより設けられ、そのため、例えば、インターネットを介してプラットフォーム702にアクセス可能であってもよい。コンテンツサービスデバイス730は、プラットフォーム702及び/またはディスプレイ720と連結されてもよい。プラットフォーム702及び/またはコンテンツサービスデバイス730は、ネットワーク760との間でメディア情報の通信(例えば、送信及び/または受信)を行うために、ネットワーク760と連結されてもよい。コンテンツ配信デバイス740も、プラットフォーム702及び/またはディスプレイ720と連結されてもよい。   In embodiments, the content service device 730 may be provided by any national, international, and / or independent service, and thus may be accessible to the platform 702 via, for example, the Internet. Content service device 730 may be coupled to platform 702 and / or display 720. Platform 702 and / or content service device 730 may be coupled to network 760 to communicate (eg, send and / or receive) media information with network 760. Content distribution device 740 may also be coupled to platform 702 and / or display 720.

複数の実施形態では、コンテンツサービスデバイス730は、デジタル情報及び/またはコンテンツを伝達可能なケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイスまたは電化製品、ならびに、ネットワーク760を介してまたは直接、複数のコンテンツプロバイダとプラットフォーム702及びディスプレイ720との間で、一方向または双方向にコンテンツを通信可能な任意の他の同様のデバイスを備えてもよい。コンテンツは、システム700の複数のコンポーネント及びコンテンツプロバイダのいずれか1つとの間で、ネットワーク760を介して一方向及び/または双方向通信を行ってもよいことが理解されよう。コンテンツの複数の例は、例えば、ビデオ、音楽、医療及びゲーム情報などを含む任意のメディア情報を含んでもよい。   In embodiments, the content service device 730 may be a cable television box, personal computer, network, telephone, internet-enabled device or appliance capable of transmitting digital information and / or content, and via a network 760 or directly. Any other similar device capable of communicating content in one or both directions between multiple content providers and the platform 702 and display 720 may be provided. It will be appreciated that the content may be unidirectional and / or bi-directionally communicated over the network 760 with any one of multiple components of the system 700 and content providers. Examples of content may include any media information including, for example, video, music, medical and game information, and the like.

コンテンツサービスデバイス730は、メディア情報、デジタル情報及び/または他のコンテンツを含むケーブルテレビプログラムなどのコンテンツを受信する。複数のコンテンツプロバイダの複数の例は、任意のケーブルまたは衛星テレビまたはラジオまたはインターネットの複数のコンテンツプロバイダを含んでもよい。提供された複数の例は、本発明の複数の実施形態を限定することを意味するものではない。   The content service device 730 receives content such as cable television programs that include media information, digital information, and / or other content. Examples of multiple content providers may include any cable or satellite television or radio or Internet multiple content providers. The provided examples are not meant to limit the embodiments of the present invention.

複数の実施形態では、プラットフォーム702は、1つまたは複数のナビゲーション機能を有するナビゲーションコントローラ750から複数の制御信号を受信してもよい。コントローラ750の複数のナビゲーション機能は、例えば、ユーザインターフェース722と情報をやりとりするために用いられてもよい。複数の実施形態では、ナビゲーションコントローラ750は、ユーザによる空間的(例えば、連続的かつ多次元)データのコンピュータへの入力を可能にするコンピュータハードウェアコンポーネント(具体的には、ヒューマンインターフェースデバイス)であり得るポインティングデバイスであってもよい。複数のグラフィカルユーザインタフェース(GUI)ならびに複数のテレビ及び複数のモニタのような多数のシステムにより、ユーザは、複数の身体的ジェスチャを用いて、コンピュータまたはテレビに対し、データを制御及び提供することができる。   In embodiments, the platform 702 may receive a plurality of control signals from a navigation controller 750 having one or more navigation functions. The plurality of navigation functions of the controller 750 may be used to interact with the user interface 722, for example. In embodiments, the navigation controller 750 is a computer hardware component (specifically, a human interface device) that allows a user to input spatial (eg, continuous and multi-dimensional) data to a computer. It may be a pointing device to obtain. Multiple systems, such as multiple graphical user interfaces (GUIs) and multiple televisions and multiple monitors, allow users to control and provide data to a computer or television using multiple physical gestures. it can.

コントローラ750の複数のナビゲーション機能の複数の動きは、ポインタ、カーソル、焦点リングまたはディスプレイ上に表示される他の複数の視覚的インジケータの複数の動きにより、ディスプレイ(例えば、ディスプレイ720)上に反映されてもよい。例えば、複数のソフトウェアアプリケーション716の制御下で、ナビゲーションコントローラ750上に位置する複数のナビゲーション機能は、例えば、ユーザインターフェース722上に表示される仮想的な複数のナビゲーション機能にマッピングされてもよい。複数の実施形態では、コントローラ750は、別個のコンポーネントではなく、プラットフォーム702及び/またはディスプレイ720に一体化されてもよい。複数の実施形態は、しかしながら、本明細書に示されまたは記載された複数の要素に、またはその内容の中で限定されるものではない。   The movements of the navigation functions of the controller 750 are reflected on a display (eg, display 720) by movements of a pointer, cursor, focus ring or other visual indicators displayed on the display. May be. For example, a plurality of navigation functions located on the navigation controller 750 under the control of a plurality of software applications 716 may be mapped to a plurality of virtual navigation functions displayed on the user interface 722, for example. In embodiments, the controller 750 may be integrated into the platform 702 and / or the display 720 rather than a separate component. Embodiments, however, are not limited to or within the elements shown or described herein.

複数の実施形態では、複数のドライバ(不図示)は、例えば、可能な場合には、複数のユーザが、初期起動後、ボタンをタッチすることにより、テレビのようにプラットフォーム702の電源を即座にオン及びオフすることを可能とする技術を備えてもよい。プログラムロジックによれば、プラットフォーム702は、プラットフォームが「オフ」にされる場合に、複数の媒体アダプタまたは他のコンテンツサービスデバイス730もしくはコンテンツ配信デバイス740に対して、コンテンツをストリーミングしてもよい。さらに、チップセット705は、例えば、5.1サラウンドサウンドオーディオ及び/または高解像度7.1サラウンドサウンドオーディオに対するハードウェア及び/またはソフトウェアサポートを備えてもよい。複数のドライバは、複数の集積グラフィクスプラットフォームのためのグラフィクスドライバを含んでもよい。複数の実施形態では、グラフィクスドライバは、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレスグラフィクスカードを備えてもよい。   In embodiments, a plurality of drivers (not shown) can power the platform 702 immediately like a television, for example by touching a button after initial activation by multiple users, if possible. A technique that enables turning on and off may be provided. According to the program logic, the platform 702 may stream content to multiple media adapters or other content service devices 730 or content distribution devices 740 when the platform is turned “off”. Further, chipset 705 may comprise hardware and / or software support for 5.1 surround sound audio and / or high resolution 7.1 surround sound audio, for example. The plurality of drivers may include graphics drivers for a plurality of integrated graphics platforms. In embodiments, the graphics driver may comprise a peripheral component interconnect (PCI) express graphics card.

様々な実施形態において、システム700に示される複数のコンポーネントの中のいずれか1つまたは複数は、一体化されてもよい。例えば、プラットフォーム702及びコンテンツサービスデバイス730は、一体化されてもよく、または、プラットフォーム702及びコンテンツ配信デバイス740は、一体化されてもよく、または、例えば、プラットフォーム702、コンテンツサービスデバイス730及びコンテンツ配信デバイス740は、一体化されてもよい。様々な実施形態において、プラットフォーム702及びディスプレイ720は、一体化されたユニットであってもよい。例えば、ディスプレイ720及びコンテンツサービスデバイス730は、一体化されてもよく、または、ディスプレイ720及びコンテンツ配信デバイス740は、一体化されてもよい。これらの複数の例は、本発明を限定することを意味するものではない。   In various embodiments, any one or more of the components shown in system 700 may be integrated. For example, platform 702 and content service device 730 may be integrated, or platform 702 and content distribution device 740 may be integrated, or, for example, platform 702, content service device 730, and content distribution. Device 740 may be integrated. In various embodiments, platform 702 and display 720 may be an integrated unit. For example, the display 720 and the content service device 730 may be integrated, or the display 720 and the content distribution device 740 may be integrated. These examples are not meant to limit the invention.

様々な実施形態において、システム700は、無線システム、有線システムまたは両方の組み合わせとして実装されてもよい。無線システムとして実装される場合、システム700は、1つまたは複数のアンテナ、送信機、受信機、トランシーバ、増幅器、フィルタ、制御ロジックなどのような無線共有媒体経由の通信に適した複数のコンポーネント及び複数のインターフェースを含んでもよい。無線共有媒体の例は、RFスペクトルなどのような無線スペクトルの一部を含んでもよい。有線システムとして実装される場合、システム700は、複数の入出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体に接続する複数の物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなどのような有線通信媒体経由の通信に適した複数のコンポーネント及び複数のインターフェースを含んでもよい。有線通信媒体の複数の例は、ワイヤ、ケーブル、複数の金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバなどを含んでもよい。   In various embodiments, system 700 may be implemented as a wireless system, a wired system, or a combination of both. When implemented as a wireless system, system 700 includes a plurality of components suitable for communication over a wireless shared medium, such as one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic, and the like. Multiple interfaces may be included. An example of a wireless shared medium may include a portion of the radio spectrum, such as the RF spectrum. When implemented as a wired system, the system 700 includes a plurality of input / output (I / O) adapters, a plurality of physical connectors for connecting the I / O adapters to corresponding wired communication media, a network interface card (NIC), and a disk controller. A plurality of components and a plurality of interfaces suitable for communication via a wired communication medium such as a video controller, an audio controller, and the like. Examples of wired communication media may include wires, cables, multiple metal leads, printed circuit boards (PCBs), backplanes, switch fabrics, semiconductor materials, twisted pair wires, coaxial cables, optical fibers, and the like.

プラットフォーム702は、情報を通信するために、1つまたは複数の論理チャネルまたは物理チャネルを確立してもよい。情報は、メディア情報及び制御情報を含んでもよい。メディア情報は、ユーザ向けコンテンツを表す任意のデータを指してもよい。コンテンツの複数の例は、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール(「eメール」)メッセージ、ボイスメールメッセージ、複数の英数字記号、グラフィクス、画像、ビデオ、テキストなどからのデータを含んでもよい。音声会話からのデータは、例えば、発話情報、複数の沈黙時間、バックグラウンドノイズ、コンフォートノイズ、複数のトーンなどであってもよい。制御情報は、自動化システム向けの複数のコマンド、命令または制御語を表す任意のデータを指してもよい。例えば、制御情報は、システムを介してメディア情報をルーティングし、または予め定められた態様でのメディア情報の処理をノードに命令するために用いられてもよい。複数の実施形態は、しかしながら、図3に示されまたは記載された複数の要素に、またはその内容の中で限定されるものではない。   Platform 702 may establish one or more logical or physical channels to communicate information. The information may include media information and control information. The media information may refer to arbitrary data representing content for the user. Examples of content include data from, for example, voice conversations, video conferencing, streaming video, email (“email”) messages, voicemail messages, multiple alphanumeric symbols, graphics, images, video, text, etc. May be included. The data from the voice conversation may be, for example, utterance information, a plurality of silence times, background noise, comfort noise, a plurality of tones, and the like. Control information may refer to any data representing multiple commands, instructions or control words for an automated system. For example, the control information may be used to route media information through the system or to instruct a node to process media information in a predetermined manner. Embodiments, however, are not limited to or within the elements shown or described in FIG.

上述のように、システム700は、様々な複数の物理的スタイルまたは複数のフォームファクタで具現化されてもよい。図4は、システム700が具現化され得る小さいフォームファクタのデバイス800の複数の実施形態を示す。複数の実施形態では、例えば、デバイス800は、複数の無線機能を有するモバイルコンピューティングデバイスとして実装されてもよい。モバイルコンピューティングデバイスは、処理システム及び、例えば、1つまたは複数のバッテリなどのモバイル電源または電力供給を有する任意のデバイスを指してもよい。   As described above, the system 700 may be embodied in various physical styles or form factors. FIG. 4 illustrates multiple embodiments of a small form factor device 800 in which the system 700 may be implemented. In embodiments, for example, device 800 may be implemented as a mobile computing device having multiple wireless functions. A mobile computing device may refer to a processing system and any device that has a mobile power source or power supply, such as, for example, one or more batteries.

上述のように、モバイルコンピューティングデバイスの複数の例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレットまたはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイスなどを含んでもよい。   As mentioned above, several examples of mobile computing devices include personal computers (PCs), laptop computers, ultra laptop computers, tablets, touchpads, portable computers, handheld computers, palmtop computers, personal digital assistants (PDAs) ), Cell phones, cell phone / PDA combinations, televisions, smart devices (eg, smart phones, smart tablets or smart TVs), mobile internet devices (MID), messaging devices, data communication devices, and the like.

モバイルコンピューティングデバイスの複数の例は、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、複数の靴コンピュータ、複数の衣服コンピュータ及び他の複数のウェアラブルコンピュータのような、人に装着されるよう構成される複数のコンピュータを、さらに含んでもよい。複数の実施形態では、例えば、モバイルコンピューティングデバイスは、複数のコンピュータアプリケーション、複数の音声通信及び/または複数のデータ通信を実行可能なスマートフォンとして実装されてもよい。いくつかの実施形態は、例として、スマートフォンとして実装されるモバイルコンピューティングデバイスにより説明されてもよいが、複数の他の実施形態は、なお他の複数のワイヤレスモバイルコンピューティングデバイスを用いて実装されてもよいことが理解されよう。複数の実施形態は、この内容に限定されない。   Examples of mobile computing devices are people such as wrist computers, finger computers, ring computers, eyeglass computers, belt clip computers, armband computers, multiple shoe computers, multiple garment computers, and other multiple wearable computers. A plurality of computers configured to be attached to the computer may further be included. In embodiments, for example, a mobile computing device may be implemented as a smartphone capable of executing multiple computer applications, multiple voice communications, and / or multiple data communications. Some embodiments may be described by way of example with a mobile computing device implemented as a smartphone, although other embodiments are implemented with still other wireless wireless computing devices. It will be appreciated that it may be. The plurality of embodiments are not limited to this content.

図4に示されるように、デバイス800は、ハウジング802、ディスプレイ804、入出力(I/O)デバイス806及びアンテナ808を備えてもよい。デバイス800は、複数のナビゲーション機能812をさらに備えてもよい。ディスプレイ804は、モバイルコンピューティングデバイスに適した情報を表示するために、任意の適したディスプレイユニットを備えてもよい。I/Oデバイス806は、モバイルコンピューティングデバイスに情報を入力するために、任意の適したI/Oデバイスを備えてもよい。I/Oデバイス806の複数の例は、英数字キーボード、テンキーパッド、タッチパッド、複数の入力キー、複数のボタン、複数のスイッチ、複数のロッカースイッチ、複数のマイク、複数のスピーカ、音声認識デバイス及びソフトウェアなどを含んでもよい。情報は、さらにマイクを用いて、デバイス800に入力されてもよい。そのような情報は、音声認識デバイスによりデジタル化されてもよい。複数の実施形態は、この内容に限定されない。   As shown in FIG. 4, the device 800 may include a housing 802, a display 804, an input / output (I / O) device 806 and an antenna 808. The device 800 may further include a plurality of navigation functions 812. Display 804 may comprise any suitable display unit for displaying information suitable for a mobile computing device. The I / O device 806 may comprise any suitable I / O device for entering information into the mobile computing device. Examples of the I / O device 806 include an alphanumeric keyboard, a numeric keypad, a touch pad, a plurality of input keys, a plurality of buttons, a plurality of switches, a plurality of rocker switches, a plurality of microphones, a plurality of speakers, and a voice recognition device. And software may be included. Information may also be input to device 800 using a microphone. Such information may be digitized by a voice recognition device. The plurality of embodiments are not limited to this content.

様々な複数の実施形態は、複数のハードウェア要素、複数のソフトウェア要素または両方の組み合わせを用いて実装されてもよい。複数のハードウェア要素の複数の例は、複数のプロセッサ、複数のマイクロプロセッサ、複数の回路、複数の回路要素(例えば、複数のトランジスタ、複数の抵抗、複数のキャパシタ、複数のインダクタなど)、複数の集積回路、複数の特定用途向け集積回路(ASIC)、複数のプログラム式論理デバイス(PLD)、複数のデジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、複数の論理ゲート、複数のレジスタ、半導体デバイス、複数のチップ、複数のマイクロチップ、複数のチップセットなどを含んでもよい。ソフトウェアの複数の例は、複数のソフトウェアコンポーネント、複数のプログラム、複数のアプリケーション、複数のコンピュータプログラム、複数のアプリケーションプログラム、複数のシステムプログラム、複数の機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、複数のソフトウェアモジュール、複数のルーチン、複数のサブルーチン、複数の機能、複数の方法、複数のプロシージャ、複数のソフトウェアインターフェース、複数のアプリケーション・プログラム・インターフェース(API)、複数の命令セット、演算コード、コンピュータコード、複数のコードセグメント、複数のコンピュータ・コード・セグメント、複数の単語、複数の値、複数の記号またはこれらの任意の組み合わせを含んでもよい。実施形態が複数のハードウェア要素及び/または複数のソフトウェア要素を用いて実装されるか否かの決定は、望ましい演算速度、複数の電力レベル、複数の耐熱性、処理サイクル予算、複数の入力データレート、複数の出力データレート、複数のメモリリソース、複数のデータバススピード及び他の設計または複数の性能制約のような任意の数の要因に従って変化してもよい。   Various embodiments may be implemented using multiple hardware elements, multiple software elements, or a combination of both. Examples of multiple hardware elements include multiple processors, multiple microprocessors, multiple circuits, multiple circuit elements (eg, multiple transistors, multiple resistors, multiple capacitors, multiple inductors, etc.), multiple Integrated circuits, multiple application specific integrated circuits (ASIC), multiple programmable logic devices (PLD), multiple digital signal processors (DSP), field programmable gate arrays (FPGA), multiple logic gates, multiple registers A semiconductor device, a plurality of chips, a plurality of microchips, a plurality of chip sets, and the like may be included. Examples of software include multiple software components, multiple programs, multiple applications, multiple computer programs, multiple application programs, multiple system programs, multiple machine programs, operating system software, middleware, firmware, multiple Software module, multiple routines, multiple subroutines, multiple functions, multiple methods, multiple procedures, multiple software interfaces, multiple application program interfaces (APIs), multiple instruction sets, operation codes, computer code, Multiple code segments, multiple computer code segments, multiple words, multiple values, multiple symbols, or any combination thereof It may include a. Determining whether an embodiment is implemented using multiple hardware elements and / or multiple software elements depends on desired computing speed, multiple power levels, multiple heat resistance, processing cycle budget, multiple input data It may vary according to any number of factors such as rate, multiple output data rates, multiple memory resources, multiple data bus speeds and other designs or multiple performance constraints.

少なくとも1つの実施形態の1つまたは複数の態様は、プロセッサ内の様々なロジックを表し、機械によって読み取られた場合に、本明細書に記載された複数の技術を実行するためのロジックを機械に作成させる、機械可読媒体に記憶された複数の表現命令によって実装されてもよい。「IPコア」として知られるそのような複数の表現は、有形の機械可読媒体に記憶され、様々な複数の顧客または実際にロジックまたはプロセッサを作成する複数の製造機械に読み込まれるべく、複数の製造設備に供給されてもよい。   One or more aspects of at least one embodiment represent various logic within a processor, and when read by a machine, the logic to perform the techniques described herein to the machine. It may be implemented by a plurality of representation instructions stored on a machine readable medium that is created. Such multiple representations, known as “IP cores”, are stored on a tangible machine-readable medium and can be read by a variety of manufacturing or multiple manufacturing machines to actually create logic or processors. It may be supplied to the facility.

様々な複数の実施形態は、複数のハードウェア要素、複数のソフトウェア要素または両方の組み合わせを用いて実装されてもよい。複数のハードウェア要素の複数の例は、複数のプロセッサ、複数のマイクロプロセッサ、複数の回路、複数の回路要素(例えば、複数のトランジスタ、複数の抵抗、複数のキャパシタ、複数のインダクタなど)、複数の集積回路、複数の特定用途向け集積回路(ASIC)、複数のプログラム式論理デバイス(PLD)、複数のデジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、複数の論理ゲート、複数のレジスタ、半導体デバイス、複数のチップ、複数のマイクロチップ、複数のチップセットなどを含んでもよい。ソフトウェアの複数の例は、複数のソフトウェアコンポーネント、複数のプログラム、複数のアプリケーション、複数のコンピュータプログラム、複数のアプリケーションプログラム、複数のシステムプログラム、複数の機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、複数のソフトウェアモジュール、複数のルーチン、複数のサブルーチン、複数の機能、複数の方法、複数のプロシージャ、複数のソフトウェアインターフェース、複数のアプリケーション・プログラム・インターフェース(API)、複数の命令セット、演算コード、コンピュータコード、複数のコードセグメント、複数のコンピュータ・コード・セグメント、複数の単語、複数の値、複数の記号またはこれらの任意の組み合わせを含んでもよい。実施形態が複数のハードウェア要素及び/または複数のソフトウェア要素を用いて実装されるか否かの決定は、望ましい演算速度、複数の電力レベル、複数の耐熱性、処理サイクル予算、複数の入力データレート、複数の出力データレート、複数のメモリリソース、複数のデータバススピード及び他の設計または複数の性能制約のような任意の数の要因に従って変化する。   Various embodiments may be implemented using multiple hardware elements, multiple software elements, or a combination of both. Examples of multiple hardware elements include multiple processors, multiple microprocessors, multiple circuits, multiple circuit elements (eg, multiple transistors, multiple resistors, multiple capacitors, multiple inductors, etc.), multiple Integrated circuits, multiple application specific integrated circuits (ASIC), multiple programmable logic devices (PLD), multiple digital signal processors (DSP), field programmable gate arrays (FPGA), multiple logic gates, multiple registers A semiconductor device, a plurality of chips, a plurality of microchips, a plurality of chip sets, and the like may be included. Examples of software include multiple software components, multiple programs, multiple applications, multiple computer programs, multiple application programs, multiple system programs, multiple machine programs, operating system software, middleware, firmware, multiple Software module, multiple routines, multiple subroutines, multiple functions, multiple methods, multiple procedures, multiple software interfaces, multiple application program interfaces (APIs), multiple instruction sets, operation codes, computer code, Multiple code segments, multiple computer code segments, multiple words, multiple values, multiple symbols, or any combination thereof It may include a. Determining whether an embodiment is implemented using multiple hardware elements and / or multiple software elements depends on desired computing speed, multiple power levels, multiple heat resistance, processing cycle budget, multiple input data It varies according to any number of factors such as rate, multiple output data rates, multiple memory resources, multiple data bus speeds and other designs or multiple performance constraints.

少なくとも1つの実施形態の1つまたは複数の態様は、プロセッサ内の様々なロジックを表し、機械によって読み取られた場合に、本明細書に記載された複数の技術を実行するためのロジックを機械に作成させる、機械可読媒体に記憶された複数の表現命令によって実装されてもよい。「IPコア」として知られるそのような複数の表現は、有形の機械可読媒体に記憶され、様々な複数の顧客または実際にロジックまたはプロセッサを作成する複数の製造機械に読み込まれるべく、複数の製造設備に供給されてもよい。   One or more aspects of at least one embodiment represent various logic within a processor, and when read by a machine, the logic to perform the techniques described herein to the machine. It may be implemented by a plurality of representation instructions stored on a machine readable medium that is created. Such multiple representations, known as “IP cores”, are stored on a tangible machine-readable medium and can be read by a variety of manufacturing or multiple manufacturing machines to actually create logic or processors. It may be supplied to the facility.

本明細書に記載された複数のグラフィクス処理技術は、様々な複数のハードウェアキテクチャのかたちで実装されてもよい。例えば、グラフィクス機能性は、チップセット内に集積されてもよい。代わりに、個別のグラフィクスプロセッサが、用いられてもよい。さらに他の実施形態として、複数のグラフィクス機能は、マルチコアプロセッサを含む汎用プロセッサによって実装されてもよい。   The multiple graphics processing techniques described herein may be implemented in various multiple hardware architectures. For example, graphics functionality may be integrated within a chipset. Alternatively, a separate graphics processor may be used. As yet another embodiment, the plurality of graphics functions may be implemented by a general-purpose processor including a multi-core processor.

以下の複数の節及び/または複数の例は、複数のさらなる実施形態に関する。例示的な一実施形態は、ビデオ符号化のために、オフセットを有するウィーナーフィルタを用いて、ヒストグラムの複数のビンを適応的にフィルタリングする方法であってもよい。他の例示的な実施形態は、複数のビンの複数の分割方法を用いてもよい。方法は、ヒストグラムを複数のビンに均等に分割する段階をさらに含んでもよい。方法は、ヒストグラムを複数のビンに適応的に分割する段階をさらに含んでもよい。方法は、エンコーダからデコーダに対して、複数のビンの数を送信する段階を含んでもよい。方法は、レート歪み最適化基準に基づいて、分割方法を特定する段階を含んでもよい。方法は、ある位置における入力画素の値と、その位置におけるフィルタリングの後の画素値との間で、複数の歪みの二乗の合計を最小化することにより、複数の適応フィルタ係数を生成する段階をさらに含んでもよい。   The following sections and / or examples relate to a plurality of further embodiments. One exemplary embodiment may be a method for adaptively filtering a plurality of bins of a histogram using a Wiener filter with an offset for video encoding. Other exemplary embodiments may use multiple bin splitting methods. The method may further include dividing the histogram evenly into a plurality of bins. The method may further include adaptively dividing the histogram into a plurality of bins. The method may include transmitting a plurality of bin numbers from the encoder to the decoder. The method may include identifying a partitioning method based on a rate distortion optimization criterion. The method includes generating a plurality of adaptive filter coefficients by minimizing a sum of squares of a plurality of distortions between a value of an input pixel at a position and a pixel value after filtering at the position. Further, it may be included.

他の例示的な実施形態は、ビデオ符号化のためにヒストグラムの複数のビンを適応的にフィルタリングする、オフセットを有するウィーナーフィルタを用いるために、コンピュータによって実行される複数の命令を記憶する段階を備える少なくとも1つまたは複数のコンピュータ可読媒体であってもよい。例示的な一実施形態は、複数のビンの複数の分割方法を用いるために、複数の命令をさらに記憶する段階であってもよい。媒体は、ヒストグラムを複数のビンに分割する複数の命令をさらに記憶してもよい。媒体は、ヒストグラムを複数のビンに適応的に分割する複数の命令をさらに記憶してもよい。媒体は、エンコーダからデコーダに対して、複数のビンの数を送信する複数の命令をさらに記憶してもよい。媒体は、レート歪み最適化基準に基づいて、分割方法を特定する複数の命令をさらに記憶してもよい。媒体は、位置における入力画素の値と、その位置におけるフィルタリングの後の画素値との間で、複数の歪みの二乗の合計を最小化することにより、複数の適応フィルタ係数を生成する複数の命令をさらに記憶してもよい。   Another exemplary embodiment includes storing instructions executed by a computer to use a Wiener filter with an offset that adaptively filters a plurality of bins of a histogram for video encoding. It may be at least one or more computer-readable media. One exemplary embodiment may be a step of further storing a plurality of instructions for using a plurality of bin splitting methods. The medium may further store a plurality of instructions for dividing the histogram into a plurality of bins. The medium may further store a plurality of instructions for adaptively dividing the histogram into a plurality of bins. The medium may further store a plurality of instructions for transmitting a plurality of bin numbers from the encoder to the decoder. The medium may further store a plurality of instructions that specify a division method based on a rate distortion optimization criterion. A plurality of instructions for generating a plurality of adaptive filter coefficients by minimizing a sum of squares of a plurality of distortions between a value of an input pixel at the position and a pixel value after filtering at the position; May be further stored.

他の例示的な実施形態は、オフセットを有するウィーナーフィルタと、フィルタを用いてヒストグラムの複数のビンを適応的にフィルタリングするために、フィルタに連結されるプロセッサとを備える装置であってもよい。装置は、複数のビン分割を用いてもよい。装置は、ヒストグラムを複数のビンに均等に分割してもよい。装置は、ヒストグラムを複数のビンに適応的に分割してもよい。装置は、エンコーダと、エンコーダに連結されるデコーダとを含んでもよく、プロセッサは、エンコーダからデコーダに対して、複数のビンの数を送信する。装置は、レート歪み最適化基準に基づいて、分割方法を特定するプロセッサをさらに含んでもよい。装置は、位置における入力画素の値と、その位置における後の画素値との間で、複数の歪みの二乗の合計を最小化することにより、複数の適応フィルタ係数を生成するプロセッサを含んでもよい。装置は、オペレーティングシステム、バッテリ及びファームウェアならびにファームウェアを更新するためのモジュールをさらに含んでもよい。   Another exemplary embodiment may be an apparatus comprising a Wiener filter having an offset and a processor coupled to the filter to adaptively filter a plurality of histogram bins using the filter. The apparatus may use multiple bin splits. The apparatus may evenly divide the histogram into a plurality of bins. The apparatus may adaptively divide the histogram into a plurality of bins. The apparatus may include an encoder and a decoder coupled to the encoder, and the processor transmits the number of bins from the encoder to the decoder. The apparatus may further include a processor that identifies a partitioning method based on a rate distortion optimization criterion. The apparatus may include a processor that generates a plurality of adaptive filter coefficients by minimizing a sum of squares of a plurality of distortions between a value of an input pixel at the position and a subsequent pixel value at the position. . The apparatus may further include an operating system, a battery and firmware and a module for updating the firmware.

本明細書に記載された複数のグラフィクス処理技術は、様々な複数のハードウェアキテクチャのかたちで実装されてもよい。例えば、グラフィクス機能性は、チップセット内に集積されてもよい。代わりに、個別のグラフィクスプロセッサが、用いられてもよい。さらに他の実施形態として、複数のグラフィクス機能は、マルチコアプロセッサを含む汎用プロセッサによって実装されてもよい。   The multiple graphics processing techniques described herein may be implemented in various multiple hardware architectures. For example, graphics functionality may be integrated within a chipset. Alternatively, a separate graphics processor may be used. As yet another embodiment, the plurality of graphics functions may be implemented by a general-purpose processor including a multi-core processor.

本明細書中で「一実施形態」または「実施形態」という語は、その実施形態に関連して説明された特定の機能、構造または特性が、本発明内に含まれる少なくとも1つの実装に含まれることを意味する。このように、「一実施形態」または「実施形態では」という用語の複数の出現は、必ずしも同一の実施形態を指すものではない。さらに、複数の特定の機能、複数の構造または複数の特性は、示された特定の実施形態以外の他の適した複数の形で設けられてもよく、全てのそのような複数の形は、本願の特許請求の範囲内に含まれてもよい。   As used herein, the term “one embodiment” or “an embodiment” includes a particular function, structure, or characteristic described in connection with that embodiment in at least one implementation included within the invention. Means that Thus, multiple appearances of the term “in one embodiment” or “in an embodiment” do not necessarily refer to the same embodiment. Further, the plurality of specific functions, the plurality of structures or the plurality of characteristics may be provided in other suitable forms other than the specific embodiment shown, and all such forms are It may be included within the scope of the claims of this application.

本発明は、限定的な数の実施形態に関して説明されたものであり、当業者であれば、そこから多数の修正及び変形が理解される。添付された特許請求の範囲は、本発明の真の趣旨および範囲に属する全ての複数の修正及び複数の変形を包含することが意図されている。
The present invention has been described with respect to a limited number of embodiments, and those skilled in the art will appreciate numerous modifications and variations therefrom. The appended claims are intended to cover all modifications and variations that fall within the true spirit and scope of the invention.

Claims (19)

プロセッサが、ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類する段階と、
前記プロセッサが、前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、異なるオフセットを有するウィーナーフィルタを用いてフィルタリングする段階と、
前記プロセッサが、フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する段階と
を備える、方法。
Classifying a plurality of pixels input to and encoded by the video encoder into a plurality of different histogram bins using each of at least two different histogram partitioning methods;
The processor filtering the plurality of pixels classified into the plurality of different histogram bins for each of the plurality of different histogram partitioning methods using a Wiener filter having different offsets;
Wherein the processor, for each of the plurality of pixels which are filtered to derive a difference value between the pixel values after the filtering in the position of the value and its input pixel in position, the derived plurality of difference Adding all the values and generating an adaptive filter offset for a particular bin by dividing all the added values by the number of pixels in the histogram bin .
前記複数の異なるヒストグラム分割方法は、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む、請求項1に記載の方法。   The method according to claim 1, wherein the plurality of different histogram division methods include a method of dividing a plurality of pixels into histogram bins obtained by dividing a histogram based on a plurality of histogram characteristics. プロセッサが、ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類する段階と、
前記プロセッサが、前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、異なるオフセットを有するウィーナーフィルタを用いてフィルタリングする段階と、
前記プロセッサが、フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する段階と
を備える、方法。
At least two different plurality of methods including a method of dividing the plurality of pixels input to the video encoder and encoded by the video encoder into histogram bins obtained by dividing the histogram based on the plurality of histogram characteristics; Using each of the histogram partitioning methods to classify into a plurality of different histogram bins;
The processor filtering the plurality of pixels classified into the plurality of different histogram bins for each of the plurality of different histogram partitioning methods using a Wiener filter having different offsets;
Wherein the processor, for each of the plurality of pixels which are filtered to derive a difference value between the pixel values after the filtering in the position of the value and its input pixel in position, the derived plurality of difference Adding all the values and generating an adaptive filter offset for a particular bin by dividing all the added values by the number of pixels in the histogram bin .
前記プロセッサが、前記フィルタリングする段階においてフィルタリングされた前記複数の画素の値と、前記ビデオエンコーダに入力された前記複数の画素の値と、レート歪み最適化基準とに基づいて、前記複数の異なるヒストグラム分割方法から、一のヒストグラム分割方法を決定する段階と、
前記プロセッサが、前記決定する段階における決定結果を示すフラグを、前記ビデオエンコーダによってエンコードされた前記複数の画素をデコードするデコーダに送信する段階と
を備える、請求項1から3のいずれか一項に記載の方法。
The plurality of different histograms based on the values of the plurality of pixels filtered in the filtering step, the values of the plurality of pixels input to the video encoder, and a rate distortion optimization criterion. Determining a histogram division method from the division method;
4. The processor according to claim 1, further comprising: transmitting a flag indicating a determination result in the determining step to a decoder that decodes the plurality of pixels encoded by the video encoder. The method described.
前記ビデオエンコーダから前記デコーダに対して、前記複数の異なるヒストグラムビンの数を送信する段階を含む、請求項4に記載の方法。   5. The method of claim 4, comprising transmitting the plurality of different histogram bin numbers from the video encoder to the decoder. コンピュータが備えるプロセッサに、
ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類する手順と、
前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、異なるオフセットを有するウィーナーフィルタを用いてフィルタリングする手順と
フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する手順と
を実行させるための、プログラム。
The processor included in the computer
Classifying a plurality of pixels input to the video encoder and encoded by the video encoder into a plurality of different histogram bins using each of at least two different histogram division methods;
Filtering each of the plurality of pixels classified into the plurality of different histogram bins using a Wiener filter having a different offset for each of the plurality of different histogram partitioning methods ;
For each of the plurality of pixels which are filtered, by adding all the plurality of difference values to derive a difference value, derived between the pixel values after the filtering in the position of the value and its input pixel in position And a procedure for generating an adaptive filter offset for a specific bin by dividing the sum of all the values by the number of pixels in the histogram bin .
前記複数の異なるヒストグラム分割方法は、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む、請求項6に記載のプログラム。   The program according to claim 6, wherein the plurality of different histogram division methods include a method of dividing a plurality of pixels into histogram bins obtained by dividing a histogram based on a plurality of histogram characteristics. コンピュータが備えるプロセッサに、
ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類する手順と、
前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、異なるオフセットを有するウィーナーフィルタを用いてフィルタリングする手順と
フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する手順と
を実行させるためのプログラム。
The processor included in the computer
At least two different histogram division methods including a method of dividing a plurality of pixels input to a video encoder and encoded by the video encoder into histogram bins obtained by dividing a histogram based on a plurality of histogram characteristics To classify each into a plurality of different histogram bins,
Filtering each of the plurality of pixels classified into the plurality of different histogram bins using a Wiener filter having a different offset for each of the plurality of different histogram partitioning methods ;
For each of the plurality of pixels which are filtered, by adding all the plurality of difference values to derive a difference value, derived between the pixel values after the filtering in the position of the value and its input pixel in position And a procedure for generating an adaptive filter offset for a specific bin by dividing the sum of all the values by the number of pixels in the histogram bin .
前記プロセッサに、
前記フィルタリングする手順によってフィルタリングされた前記複数の画素の値と、前記ビデオエンコーダに入力された前記複数の画素の値と、レート歪み最適化基準とに基づいて、前記複数の異なるヒストグラム分割方法から、一のヒストグラム分割方法を決定する手順と、
前記決定する手順による決定結果を示すフラグを、前記ビデオエンコーダによってエンコードされた前記複数の画素をデコードするデコーダに送信する手順と
を実行させるための、請求項6から8のいずれか一項に記載のプログラム。
In the processor,
From the plurality of different histogram partitioning methods based on the values of the plurality of pixels filtered by the filtering procedure, the values of the plurality of pixels input to the video encoder, and a rate distortion optimization criterion. A procedure for determining one histogram division method;
9. A procedure for transmitting a flag indicating a determination result of the determining procedure to a decoder that decodes the plurality of pixels encoded by the video encoder. 10. Program.
前記プロセッサに、
前記ビデオエンコーダから前記デコーダに対して、前記複数の異なるヒストグラムビンの数を送信する手順を実行させるための、請求項9に記載のプログラム。
In the processor,
The program according to claim 9, wherein the program causes the video encoder to execute the procedure of transmitting the plurality of different histogram bin numbers.
請求項6から10のいずれか一項に記載のプログラムを記録したコンピュータ可読記録媒体。   The computer-readable recording medium which recorded the program as described in any one of Claims 6-10. 異なるオフセットを有するウィーナーフィルタと、
ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類し、前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、前記ウィーナーフィルタを用いてフィルタリングし、フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する、前記ウィーナーフィルタに連結されるプロセッサと
を備える、装置。
A Wiener filter with different offsets;
The plurality of pixels input to the video encoder and encoded by the video encoder are classified into a plurality of different histogram bins using each of at least two different histogram division methods, and the plurality of different histogram division methods for each, the plurality of pixels which are classified into the plurality of different histogram bins, using said Wiener filter filtering, for each of the plurality of pixels which are filtered, the position value and its input pixel in position Deriving a difference value from the pixel value after filtering in step, adding all the derived plurality of difference values, and dividing the added value by the number of pixels in the histogram bin. Generate an adaptive filter offset of And a processor coupled to the serial Wiener filter device.
前記複数の異なるヒストグラム分割方法は、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む、請求項12に記載の装置。   13. The apparatus of claim 12, wherein the plurality of different histogram partitioning methods includes a method of splitting a plurality of pixels into histogram bins obtained by dividing a histogram based on a plurality of histogram characteristics. 異なるオフセットを有するウィーナーフィルタと、
ビデオエンコーダに入力され、前記ビデオエンコーダによってエンコードされた複数の画素を、ヒストグラムを複数のヒストグラム特性に基づいて分割したヒストグラムビンに複数の画素を分割する方法を含む少なくとも2つの複数の異なるヒストグラム分割方法のそれぞれを用いて、複数の異なるヒストグラムビンに分類し、前記複数の異なるヒストグラム分割方法のそれぞれについて、前記複数の異なるヒストグラムビンに分類された前記複数の画素を、前記ウィーナーフィルタを用いてフィルタリングし、フィルタリングされた前記複数の画素のそれぞれについて、位置における入力画素の値とその位置における前記フィルタリングの後の画素値との間の差分値を導出し、導出した前記複数の差分値を全て加算し、全て加算した値を前記ヒストグラムビンにおける画素数で除算することによって、特定のビンの適応フィルタオフセットを生成する、前記ウィーナーフィルタに連結されるプロセッサと
を備える、装置。
A Wiener filter with different offsets;
At least two different histogram division methods including a method of dividing a plurality of pixels input to a video encoder and encoded by the video encoder into histogram bins obtained by dividing a histogram based on a plurality of histogram characteristics And classifying the plurality of pixels classified into the plurality of different histogram bins using the Wiener filter for each of the plurality of different histogram division methods. , for each of the plurality of pixels which are filtered to derive a difference value between the pixel values after the filtering in the position of the value and its input pixel in position, deriving above all of the plurality of difference values Add all values before adding By dividing the number of pixels in the histogram bins, and generates an adaptive filter offset of a particular bin, and a processor coupled to the Wiener filter, device.
前記プロセッサは、前記ウィーナーフィルタを用いてフィルタリングした前記複数の画素の値と、前記ビデオエンコーダに入力された前記複数の画素の値と、レート歪み最適化基準とに基づいて、前記複数の異なるヒストグラム分割方法から、一のヒストグラム分割方法を決定し、決定結果を示すフラグを、前記ビデオエンコーダによってエンコードされた前記複数の画素をデコードするデコーダに送信する、請求項12から14のいずれか一項に記載の装置。   The processor includes the plurality of different histograms based on the values of the plurality of pixels filtered using the Wiener filter, the values of the plurality of pixels input to the video encoder, and a rate distortion optimization criterion. 15. The method according to claim 12, wherein one histogram division method is determined from the division method, and a flag indicating a determination result is transmitted to a decoder that decodes the plurality of pixels encoded by the video encoder. The device described. 前記ビデオエンコーダと、前記デコーダとを含み、前記プロセッサは、前記ビデオエンコーダから前記デコーダに対して、複数のビンの数を送信する、請求項15に記載の装置。   The apparatus of claim 15, comprising the video encoder and the decoder, wherein the processor transmits a plurality of bin numbers from the video encoder to the decoder. オペレーティングシステムを含む、請求項12から16のいずれか1項に記載の装置。   The apparatus according to any one of claims 12 to 16, comprising an operating system. バッテリを含む、請求項12から17のいずれか1項に記載の装置。   18. A device according to any one of claims 12 to 17, comprising a battery. ファームウェアと、前記ファームウェアを更新するためのモジュールとを含む、請求項12から18のいずれか1項に記載の装置。   The apparatus according to any one of claims 12 to 18, comprising firmware and a module for updating the firmware.
JP2016175993A 2016-09-08 2016-09-08 Histogram partitioning-based local adaptive filter for video encoding and decoding Active JP6412530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016175993A JP6412530B2 (en) 2016-09-08 2016-09-08 Histogram partitioning-based local adaptive filter for video encoding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016175993A JP6412530B2 (en) 2016-09-08 2016-09-08 Histogram partitioning-based local adaptive filter for video encoding and decoding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015532266A Division JP6005292B2 (en) 2012-09-24 2012-09-24 Histogram partitioning-based local adaptive filter for video encoding and decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017106047A Division JP6379408B2 (en) 2017-05-29 2017-05-29 Histogram partitioning-based local adaptive filter for video encoding and decoding

Publications (2)

Publication Number Publication Date
JP2017028714A JP2017028714A (en) 2017-02-02
JP6412530B2 true JP6412530B2 (en) 2018-10-24

Family

ID=57946222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016175993A Active JP6412530B2 (en) 2016-09-08 2016-09-08 Histogram partitioning-based local adaptive filter for video encoding and decoding

Country Status (1)

Country Link
JP (1) JP6412530B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761268B2 (en) * 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
WO2011039931A1 (en) * 2009-09-30 2011-04-07 三菱電機株式会社 Image encoding device, image decoding device, image encoding method and image decoding method
JP5291134B2 (en) * 2011-03-09 2013-09-18 日本電信電話株式会社 Video encoding / decoding method, video encoding / decoding device and program thereof

Also Published As

Publication number Publication date
JP2017028714A (en) 2017-02-02

Similar Documents

Publication Publication Date Title
KR101717915B1 (en) Compression techniques for dynamically-generated graphics resources
JP5985053B2 (en) Region of interest based 3D video coding
JP6109956B2 (en) Utilize encoder hardware to pre-process video content
KR20140018157A (en) Media workload scheduler
EP2693754A1 (en) Transcoding video data
CN110072033B (en) Color compression using selective color transforms
US9681133B2 (en) Two bins per clock CABAC decoding
US10334245B2 (en) Adjustment of intra-frame encoding distortion metrics for video encoding
CN107113435B (en) Partition mode and transformation size determining method, device, system and medium
JP2016506165A (en) Interlayer motion data inheritance
JP6005847B2 (en) Adaptive filtering for scalable video coding
JP6005292B2 (en) Histogram partitioning-based local adaptive filter for video encoding and decoding
JP6412530B2 (en) Histogram partitioning-based local adaptive filter for video encoding and decoding
JP6379408B2 (en) Histogram partitioning-based local adaptive filter for video encoding and decoding
US10123011B2 (en) Histogram segmentation based local adaptive filter for video encoding and decoding
US10021387B2 (en) Performance and bandwidth efficient fractional motion estimation
JP6156808B2 (en) Apparatus, system, method, integrated circuit, and program for decoding compressed video data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180711

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180928

R150 Certificate of patent or registration of utility model

Ref document number: 6412530

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