JP2022116923A - Moving image encoding device and moving image encoding method - Google Patents
Moving image encoding device and moving image encoding method Download PDFInfo
- Publication number
- JP2022116923A JP2022116923A JP2021013351A JP2021013351A JP2022116923A JP 2022116923 A JP2022116923 A JP 2022116923A JP 2021013351 A JP2021013351 A JP 2021013351A JP 2021013351 A JP2021013351 A JP 2021013351A JP 2022116923 A JP2022116923 A JP 2022116923A
- Authority
- JP
- Japan
- Prior art keywords
- image
- encoding
- color difference
- amount
- buffer
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、動画像符号化装置および動画像符号化方法に関する。 The present invention relates to a video encoding device and video encoding method.
動画像を圧縮して符号化する動画像符号化に関する技術が用いられている。動画像符号化に関する国際標準規格としては、H.264/AVC(Advanced Video Coding)、H.265/HEVC(High Efficiency Video Coding)といった規格が策定されている。上述した符号化方式では、デコーダが持つ符号化データを一時的に蓄積するためのバッファ量が規定されている。エンコーダには、符号化の際にデコーダのバッファが破綻しないようにストリームを生成することが求められている。そこで、エンコーダは、デコーダのバッファを仮想的に再現した仮想バッファを用いて、デコーダのバッファの破綻を回避することを回避したストリームを生成している。 2. Description of the Related Art Techniques related to moving image encoding for compressing and encoding moving images are used. International standards for video coding include H.264/AVC (Advanced Video Coding) and H.265/HEVC (High Efficiency Video Coding). In the encoding method described above, the buffer capacity for temporarily storing encoded data held by the decoder is specified. An encoder is required to generate a stream so that the decoder's buffer does not collapse during encoding. Therefore, the encoder uses a virtual buffer that virtually reproduces the buffer of the decoder to generate a stream that avoids the collapse of the buffer of the decoder.
図1は、仮想バッファにおける符号データの占有の度合いの一例を示すグラフである。図1におけるMAXは仮想バッファの占有量の最大値を示す、MINは仮想バッファの占有量の最小値を示す。図1のグラフで、時刻T0、T1、T2、T3で、1ピクチャ分の符号データが仮想バッファから読み出されることで、バッファ占有量が減少する。仮想バッファの占用量が最大値MAXを超えた場合、オーバーフローが発生し、仮想バッファは破綻する。仮想バッファの占用量が最小値MINを下回った場合、アンダーフローが発生し、仮想バッファは破綻する。 FIG. 1 is a graph showing an example of the degree of occupancy of code data in a virtual buffer. MAX in FIG. 1 indicates the maximum value of the virtual buffer occupancy, and MIN indicates the minimum value of the virtual buffer occupancy. In the graph of FIG. 1, at times T0, T1, T2, and T3, the coded data for one picture is read from the virtual buffer, thereby reducing the buffer occupancy. If the virtual buffer occupancy exceeds the maximum value MAX, an overflow occurs and the virtual buffer fails. If the virtual buffer occupancy falls below the minimum value MIN, an underflow will occur and the virtual buffer will collapse.
図1の時刻Tnにおいて、アンダーフローが発生している。符号化が行われる際には、目標符号量が設定され、仮想バッファが破綻しないような発生符号量が調整される。しかしながら、絵柄が複雑な映像でシーンチェンジが高い頻度で発生する場合等においては、アンダーフローが生じやすくなる。アンダーフローが生じると、デコーダへの符号データの供給が間に合わなくなることに起因して、画像をデコードできなくなる。 At time Tn in FIG. 1, an underflow occurs. When encoding is performed, a target code amount is set, and the generated code amount is adjusted so as not to cause the virtual buffer to collapse. However, underflow is more likely to occur in cases such as when scene changes occur frequently in video with complex patterns. When an underflow occurs, the image cannot be decoded because the coded data cannot be supplied to the decoder in time.
以上のような仮想バッファの破綻が生じることを抑制するために、仮想バッファの占有量を監視し、アンダーフローが発生することを抑制するエンコーダが実装されている。関連する技術として、特許文献1の技術が提案されている。特許文献1の技術では、DCT係数のうち全交流(AC)成分をゼロでマスクし、直流(DC)成分のみを残している。また、JCCR(Joint Coding of Chrominance Residuals)に関する技術が非特許文献1で提案されている。JCCRは、色差成分のデータサイズの削減において、次世代の国際標準化規格のH.266/VVC(Versatile Video Coding)で策定されている。JCCRを用いることにより、色差成分UとVとのうちの片方のみを符号化することができる。
In order to prevent the virtual buffer from failing as described above, an encoder is implemented that monitors the occupancy of the virtual buffer and suppresses the occurrence of underflow. As a related technique, the technique of
バッファの破綻を回避するために、輝度や色差の高域成分をカットして、符号化するデータ量を削減することが考えられる。しかしながら、輝度や色差の高域成分をカットすると、オブジェクトの輪郭の色が滲む等の画質の劣化を生じる。一方、画質の劣化を回避するために符号化するデータ量の削減を行わない場合、バッファ破綻を生じる可能性が高くなる。 In order to avoid buffer failure, it is conceivable to reduce the amount of data to be encoded by cutting high-frequency components of luminance and color difference. However, when high-frequency components of luminance and color difference are cut, the image quality deteriorates, such as blurring of the color of the outline of the object. On the other hand, if the amount of data to be encoded is not reduced in order to avoid deterioration of image quality, the possibility of buffer failure increases.
そこで、本発明は、バッファ破綻の回避を行うとともに画質の劣化を抑制することを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to avoid buffer failure and suppress deterioration of image quality.
上記目的を達成するために、本発明の動画像符号化装置は、1つの輝度成分と2つの色差成分とからなる画像により構成される動画像を符号化する動画像符号化装置であって、デコーダのバッファモデルの使用量が所定量を下回っているかに応じて、前記2つの色差成分の両方を符号化して出力するか、または前記2つの色差成分のうち何れか一方のみを符号化して出力するかを制御する制御手段、を備えることを特徴とする。 In order to achieve the above object, a moving picture coding apparatus of the present invention is a moving picture coding apparatus for coding a moving picture composed of an image consisting of one luminance component and two color difference components, encoding and outputting both of the two chrominance components, or encoding and outputting only one of the two chrominance components, depending on whether the amount of usage of the buffer model of the decoder is below a predetermined amount; and a control means for controlling whether to
本発明によれば、バッファ破綻の回避を行うとともに画質の劣化を抑制することができる。 ADVANTAGE OF THE INVENTION According to this invention, while avoiding buffer failure, deterioration of an image quality can be suppressed.
以下、本発明の各実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施形態に記載されている構成によって限定されることはない。 Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. However, the configurations described in each embodiment below are merely examples, and the scope of the present invention is not limited by the configurations described in each embodiment.
<第1実施形態>
図2は、デジタルカメラ200の構成の一例を示す図である。図2の構成は、各実施形態で共通である。デジタルカメラ200は、本実施形態に係る動画像符号化装置(画像符号化回路)を有する電子機器の一例である。電子機器は、デジタルカメラ等の撮像装置には限定されず、例えば、スマートフォンやパーソナルコンピュータ等に適用可能である。図2のデジタルカメラ200は、レンズ201、撮像部202、現像処理部203、画像符号化回路204および制御部206を含む。また、デジタルカメラ200は、表示部や操作部、電源部等のデジタルカメラの一般的な構成を有している。
<First Embodiment>
FIG. 2 is a diagram showing an example of the configuration of the
レンズ201は、被写体の光学像を撮像部202の撮像面に形成する撮像光学系を構成するレンズである。撮像部202は、撮像面に形成された光学像を、複数の画素を含む撮像素子により光電変換し、画像を表す電気信号(画像信号)を生成する。撮像部202は、生成した画像信号をA/D変換し、画像データとして現像処理部203に供給する。現像処理部203は、ノイズ除去や色補間(デモザイク)、欠陥画素補正、ホワイトバランス調整、手振れ補正、周辺光量補正、ガンマ補正、色調補正、拡大縮小、YUV形式への色変換等のうち予め定められた画像処理を画像データに施す。現像処理部203は、被写体検出やレンズ201のオートフォーカス制御や、自動露出制御に用いる評価値の生成等の一般的なデジタルカメラが行う各種の処理を実行できる。現像処理部203は、画像処理後に、YUV形式に変換した画像データを画像符号化回路204に供給する。
A
画像符号化回路204は、YUV形式の画像データを予め定められた方式で符号化し、データ量を削減した符号化データを生成する。画像符号化回路204は、例えばASICやFPGAなどのハードウェア回路により実現される。画像符号化回路204は、動画像符号化装置に対応する。画像符号化回路204は、符号化データを格納する記録ファイルを生成し、半導体メモリカード等の記録メディア205に記録する(出力する)。制御部206は、1つ以上のCPUやRAM、ROMを有する。例えば、ROMには、プログラムや各種の設定値、GUIデータ等が格納される。CPUは、ROMからプログラムを読み出して、メモリのワークエリアに展開して、展開されたプログラムを実行する。これにより、CPUは、各部の動作を制御する。
The
次に、画像符号化回路204について説明する。フレームバッファ207は、現像処理部203から送られてきたYUV形式の画像データを格納する。格納された画像データは、ブロック分割部208に送られる。フレームバッファ207は、デブロッキングフィルタ部218から送られてくるローカルデコード画像を格納する。格納されたローカルデコード画像は、予測部209および補償部217に送られる。フレームバッファ207は、DRAM等で構成されているものとする。ブロック分割部208は、必要とするブロックサイズの画素データを、フレームバッファ207に格納された画像データから切り出して読み出し、内部の一時記録メモリに保存する。ブロック分割部208は、一時記録メモリ内に記録したブロック画素データを、予測部209に送る。一時記録メモリはSRAM等で構成されているものとする。
Next, the
予測部209は、ブロック分割部208から送られてきたブロックサイズの画素データに対して、予測に基づき生成される予測画素データとの差分を取り、差分データを直交変換部210に送るとともに、予測情報を補償部217に送る。本実施形態の予測としては、ブロック周辺の画素値に基づく画面内予測、またはカレントフレーム(符号化対象フレーム)とは異なる時刻のフレームに基づく画面間予測が適用される。予測部209は、H.266/VVCで規定された予測を用いて画面内予測および画面間予測を行うとともに、H.266/VVCで規定された予測情報を補償部217に送る。予測部209が行う予測は、H.266/VVCには限定されない。また、予測部209は、画面内予測を行う場合には、ブロック周辺のローカルデコード画素をフレームバッファ207から読み出す。予測部209は、画面間予測を行う場合には、カレントフレームとは異なる時刻のフレームのローカルデコード画素をフレームバッファ207から読み出す。
The
直交変換部210は、上記の差分データに対して直交変換(例えば、離散コサイン変換)を適用して変換係数を生成し、変換係数を量子化部211に出力する。量子化部211は、量子化制御部212が出力するブロックごとの量子化ステップサイズ(または量子化パラメータ)に従い、変換係数を量子化する。量子化部211は、量子化した変換係数を、符号化データ作成のために可変長符号化部214に出力するとともに、ローカルデコード画像作成のために逆量子化部215にも出力する。
The
量子化制御部212は、可変長符号化部214から送られてくる直前に処理したブロックの発生符号量と、符号量制御部213が設定した目標符号量からブロックごとの量子化ステップサイズを決定し、量子化部211に出力する。符号量制御部213は、デコーダのバッファを仮想化した仮想バッファ(バッファモデル)に基づいて目標符号量を算出し、量子化制御部212に設定する。符号量制御部213は、制御手段に対応する。画像符号化回路204のうち符号量制御部213以外の他の要素も制御手段に対応する場合もある。また、符号量制御部213は、画像を符号化するごとに仮想バッファへの符号データの入出力をシミュレートしながら符号量の制御を行う。そして、符号量制御部213は、仮想バッファの破綻を予測した場合、補償部217とストリーム生成部219とに破綻回避命令を送る。
The
ここで、仮想バッファへの符号データの入出力とバッファ占有量との関係について説明する。図3は、仮想バッファのバッファ占有量(バッファの使用量)を例示するグラフである。図3(A)は、画像(画像#0~#5)ごとの符号データサイズを棒グラフで示している。図3(A)の各画像の棒グラフは、輝度成分(Y)と2つの色差成分(U/V)とで分割されている。棒グラフで示したサイズのデータが、実際に仮想バッファに入力され、またデコード時間に基づき仮想バッファから出力される。量子化制御部212は、破綻回避処理を行う際に、JCCRを適用して色差成分Vを破棄する。このため、色差成分Vの分だけ仮想バッファへの入出力のデータサイズが小さくなる。量子化制御部212は、破綻回避処理を行う際に、JCCRを適用して色差成分Uを破棄してもよい。この場合、色差成分Uの分だけ仮想バッファへの入出力のデータサイズが小さくなる。
Here, the relationship between the input/output of code data to/from the virtual buffer and the buffer occupancy will be described. FIG. 3 is a graph illustrating buffer occupancy (buffer usage) of virtual buffers. FIG. 3A shows a bar graph of the encoded data size for each image (
図3(B)は、破綻回避処理を行わない場合の仮想バッファの入出力関係を示している。符号化処理時において、符号量制御部213は、図3(B)のグラフで示すような仮想バッファへの符号データの入出力をシミュレートしながら符号量の制御を行う。仮想バッファには、画像#0から#2までの符号データが入力される。このため、画像#0から画像#2の符号データの分だけ仮想バッファのバッファ占有量が増大する。仮想バッファへの画像#2の入力が終了したタイミングで、画像#0のデコード時刻T0として、仮想バッファから画像#0の符号データが出力される。このため、仮想バッファから、画像#0の分だけ符号データの占有量が減少する。
FIG. 3B shows the input/output relationship of the virtual buffer when the corruption prevention process is not performed. During the encoding process, the code
デコード時刻T0から、画像#1のデコード時刻T1までの時間で、画像#3の符号データが仮想バッファに入力される。ここで、仮想バッファへの符号データの入力速度は固定速度であるとする。この場合、画像#3の符号データは、画像#1のデコード時刻T1の時点では途中までしか入力されない。デコード時刻T1となる時点で、仮想バッファから画像#1の符号データが出力される。このため、画像#1の分だけ仮想バッファの占有量が減少する。その後、画像#2のデコード時刻T2までの時間で、画像#3の符号データの残り、および画像#4の符号データの一部が仮想バッファに入力される。
During the time from decode time T0 to decode time T1 of
デコード時刻T2となる時点で、仮想バッファから画像#2の符号データが出力される。このため、画像#2の分だけ仮想バッファの占有量が減少する。その後、画像#3のデコード時刻T3までの時間で、画像#4の符号データの一部が仮想バッファに入力される。デコード時刻T3となる時点で、仮想バッファから画像#3の符号データが出力される。このため、画像#3の分だけ仮想バッファの占有量が減少する。その後、画像#4のデコード時刻T4までの時間で、画像#4の符号データの残り、および画像#5の符号データの一部が仮想バッファに入力される。
At the decoding time T2, the coded data of
デコード時刻T4となる時点で、仮想バッファから画像#4の符号データが出力される。このため、画像#4の分だけ仮想バッファの占有量が減少する。その後、画像#5のデコード時刻T5までの時間で、画像#5の符号データの一部が仮想バッファに入力される。デコード時刻T5となる時点で、仮想バッファは画像#5の符号データから出力されるが、この時点では画像#5の符号データが全て仮想バッファに入力されていない。従って、デコードを実施することができないことに起因して、仮想バッファのアンダーフローが生じる。これにより、仮想バッファが破綻する。
At decode time T4, the coded data of
図3(C)は、破綻回避ラインと仮想バッファの入出力との関係を示している。図3(C)の例は、画像#3の符号化時における、仮想バッファへの符号データの入出力をシミュレートした結果として、バッファ占有量が破綻回避ラインを下回ることが検知される。破綻回避ラインは、仮想バッファの占有量や当該占有量の遷移に基づき、仮想バッファに破綻が生じると予測されるデータ量(所定量)である。当該所定量は、任意に設定可能である。画像#3のデコード時刻T3までの内容については、図3(B)と同様であるため、説明を省略する。デコード時刻T3となる時点で、仮想バッファから画像#3の符号データが出力され、画像#3の分だけ仮想バッファの占有量が減少する。符号量制御部213は、デコード時刻T3の時点で、バッファ占有量が破綻回避ラインを下回っているため、仮想バッファの破綻を予測する。
FIG. 3C shows the relationship between the corruption avoidance line and the input/output of the virtual buffer. In the example of FIG. 3C, it is detected that the buffer occupancy falls below the corruption avoidance line as a result of simulating input/output of coded data to the virtual buffer during encoding of
図3(D)以降の説明では、画像#3の符号化処理で仮想バッファの破綻が予測された後、画像#4、画像#5、および後の時間の画像については、JCCRによる破綻回避処理として色差成分Vの符号データが破棄されるものとする。ここで、本実施形態の画像符号化回路204は、ブロック分割部208が分割したブロックごとに符号化処理を行う。このため、画像符号化回路204は、画像内の途中のブロックでバッファ破綻を予測した場合に、次のブロックからJCCRによる破綻回避を適用できる。つまり、画像符号化回路204は、ブロックごとに、バッファ破綻が生じるかを予測した結果に応じて、JCCRによる破綻回避処理を適用するかを切り替える。
In the description after FIG. 3D, after the virtual buffer corruption is predicted in the encoding process of
図3(D)に、画像#4および画像#5のそれぞれで色差成分Vを破棄した場合の仮想バッファの入出力関係の変化を示す。図3(D)は、画像#4の符号データが仮想バッファに入力され始めるタイミングから切り出したグラフである。また、画像#4、および画像#5の仮想バッファからの入出力を表す線分は太線で示される。図3(D)において、仮想バッファから出力される符号データの内訳を、ブロック31およびブロック32を用いて示している。ブロック31は画像#4の符号データのサイズを、ブロック32は画像#5の符号データのサイズを示している。各画像において、Y/U/Vがそれぞれ異なる態様で示されている。この点については、図3(A)の棒グラフと同じである。
FIG. 3D shows changes in the input/output relationship of the virtual buffer when the color difference component V is discarded for each of the
線分33は、ブロック31の中のV成分のサイズを示しており、JCCRによる破綻回避処理により画像#4の色差成分Vが破棄される場合、線分33の分だけ仮想バッファから出力される符号データが小さくなる。また、ブロック31の内のV成分のデータサイズは、ブロック34および線分35でも示される。JCCRによる破綻回避処理により、画像#4の色差成分Vを破棄される場合、線分35の分だけ仮想バッファに入力される符号データのデータ量が小さくなる。同様に、線分36は、ブロック32の中のV成分のサイズを示しており、JCCRによる破綻回避処理により、画像#5の色差成分Vが破棄される場合、線分36の分だけ仮想バッファから出力される符号データのデータ量が小さくなる。また、ブロック32のうちのV成分のデータサイズはブロック37および線分38でも示される。JCCRによる破綻回避処理により、画像#5の色差成分Vが破棄される場合、線分38の分だけ仮想バッファに入力される符号データが小さくなる。
A
図3(E)は、上述したJCCRによる破綻回避処理を行う場合の変化を加味した際の仮想バッファの入出力関係を示している。画像#3のデコード時刻T3までは、上述した図3(B)と同様であるため、説明を省略する。デコード時刻T3となる時点で、仮想バッファから画像#3の符号データが出力され、画像#3の分だけ仮想バッファの占有量が減少することで、バッファ占有量が破綻回避ラインを下回る。このため、JCCRによる破綻回避処理が実施される。画像#4のデコード時刻T4までの時間で、画像#4の符号データの残り、および画像#5の符号データの一部が仮想バッファに入力される。デコード時刻T4となる時点で、仮想バッファから画像#4の符号データが出力される。このとき、画像#4の分だけ仮想バッファの占有量が減少する。その後、画像#5のデコード時刻T5までの時間で、画像#5の符号データの残りと、その後の画像の符号データの一部が仮想バッファに入力される。
FIG. 3(E) shows the input/output relationship of the virtual buffer when considering the change in the case of performing the above-described JCCR-based corruption avoidance processing. The process up to decoding time T3 of
デコード時刻T5となる時点で、仮想バッファから画像#5の符号データが出力される。図3(B)の例では符号データが全て揃っていないことに起因して仮想バッファが破綻していたのに対して、図3(E)の例では符号データが全て揃っているため、正常にデコード処理を行うことができる。破綻回避処理の解除タイミングとしては、仮想バッファから符号データが出力された後に、仮想バッファのバッファ占有量が破綻回避ラインよりも上回っている場合であってもよい。また、破綻回避処理の解除タイミングとしては、別途の解除ラインが設定された状態で、仮想バッファのバッファ占有量が解除ラインを上回っている場合であってもよい。
At decode time T5, the coded data of
図2の可変長符号化部214は、量子化された変換係数に対してジグザグスキャンやオルタネートスキャン等を行い、変換係数を可変長符号化し、生成した符号化データをストリーム生成部219に送る。また、可変長符号化部214は、ブロックごとの発生符号量を算出して、算出したブロックごとの発生符号量を量子化制御部212および符号量制御部213に出力する。逆量子化部215は、量子化部211が出力する変換係数を逆量子化し、ローカルデコード用の変換係数を生成する。そして、逆量子化部215は、生成した変換係数を逆直交変換部216に出力する。逆直交変換部216は、変換係数に直交変換部210が適用した直交変換の逆変換(逆離散コサイン変換)を適用して差分画像を生成する。そして、逆直交変換部216は、生成した差分画像を補償部217に出力する。
The variable-
補償部217は、フレームバッファ207に格納された復号済みのローカルデコード画像を読み出し、予測部209から送られた予測情報に従い予測画像を生成し、逆直交変換部216から送られた差分画像と加算し、補償済み画像を生成する。補償済み画像はデブロッキングフィルタ部218に送られる。また、補償部217は、色差成分VについてはJCCRを適用した補償処理と、JCCRを適用しない補償処理との2つの処理のうちのいずれか一方を行う。補償部217は、符号量制御部213から破綻回避命令を受けた場合には、JCCRを適用した補償処理を行い、破綻回避命令を受けていない場合には、JCCRを適用しない補償処理を行う。
The
補償部217は、JCCRを適用する補償処理を行う場合は、ローカルデコード画像の色差成分Vを用いた予測画像と、逆直交変換部216から受けた色差成分Uについての差分画像とを加算する。これにより、補償部217は、色差成分Vの補償済み画像を生成する。補償部217は、JCCRを適用しない補償処理を行う場合は、ローカルデコード画像の色差成分Vを用いた予測画像と、逆直交変換部216から受けた色差成分Vについての差分画像とを加算する。これにより、補償部217は、色差成分Vの補償済み画像を生成する。
The
デブロッキングフィルタ部218は、補償部217から受けた補償済み画像に対してデブロッキングフィルタを適用してローカルデコード画像を生成し、フレームバッファ207に送る。デブロッキングフィルタは、対象ブロックの境界における不連続な歪みを平滑化するためのフィルタである。ストリーム生成部219は、可変長符号化部214から送られた符号化データに、復号のために必要なパラメータを付加し、記録ストリームを生成する。生成された記録ストリームは、記録メディア205に書き込まれる。また、ストリーム生成部219は、符号量制御部213から破綻回避命令が送られたか否かに基づき、色差成分Vの符号化データを記録ストリームに含めるか否かを選択する。また、ストリーム生成部219は、符号量制御部213から破綻回避命令が送られたか否かに基づき、色差成分Vをストリームに含めたか否かのフラグ情報を記録ストリームに付加する。
The
次に、第1実施形態の画像符号化回路204が実行する符号化処理の流れについて説明する。図4は、第1実施形態の符号化処理の流れの一例を示すフローチャートである。S401で、符号量制御部213は、仮想バッファからカレントフレームの符号データを出力する際の、初期位置となるバッファ占有量を算出する。S402で、符号量制御部213は、バッファ占有量が破綻回避ラインを下回っているか判定する。カレントフレームの符号化開始時であれば、初期位置は、S401で算出された初期位置であるし、符号化中であればブロックの符号化処理ごとに更新されるバッファ位置になる。
Next, the flow of encoding processing executed by the
符号量制御部213は、バッファ占有量が破綻回避ラインを下回っていないと判定した場合(S402でNo)、フローをS403に進める。S403で、画像符号化回路204は、カレントブロックに対して通常の符号化処理を行う。このとき、画像符号化回路204は、カレントフレームの輝度成分(Y)および2つの色差成分(U/V)の両方を符号化し、記録する。符号量制御部213は、バッファ占有量が破綻回避ラインを下回っていると判定した場合(S402でYes)、フローをS404に進める。S404で、画像符号化回路204は、JCCRを適用した符号化処理を行う。このとき、画像符号化回路204は、カレントフレームの輝度成分(Y)、および2つの色差成分(U/V)のうち一方の色差成分(U)を符号化し、記録するともに、他方の色差成分(V)を破棄する。
When the code
S405で、画像符号化回路204は、カレントブロックの符号データのサイズに基づいて仮想バッファの占有量を更新する。S406で、画像符号化回路204は、カレントフレーム内の全てのブロックについての処理を完了したかを判定する。画像符号化回路204は、全てのブロックについての処理が完了していないと判定した場合(S406でNo)、フローをS402に戻す。画像符号化回路204は、全てのブロックについての処理が完了していると判定した場合(S406でYes)、フローをS407に進める。画像符号化回路204は、全てのフレームの処理を完了したかを判定する。画像符号化回路204は、全てのフレームの処理を完了していないと判定した場合(S407でNo)、フローをS401に戻す。一方、画像符号化回路204は、全てのフレームの処理を完了したと判定した場合(S407でYes)、図4のフローチャートを終了させる。
In S405, the
以上説明したように、本実施形態によれば、画像符号化回路204は、仮想バッファの破綻を回避する際、仮想バッファのバッファ占有量に応じて、JCCRを適用して色差成分のデータを削減するかを制御する。これにより、色差成分の交流成分が削除されるによる色滲みなどの問題を解消し、画質劣化を抑制できるとともに、仮想バッファの破綻の発生を抑制することができる。
As described above, according to the present embodiment, the
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、画像符号化回路204は、バッファ占有量が破綻回避ラインを下回っている場合、一律でJCCRによる破綻回避処理を行うかを制御している。第2実施形態では、画像符号化回路204は、所定条件を満たした場合に、JCCRによる破綻回避処理を行うか、従来の破綻回避処理を行うかを制御する。例えば、画像の特徴や、目標とするビットレート等の要因によっては、JCCRによる破綻回避処理ではデータ削減量が小さいことに起因して、仮想バッファの破綻を回避できないケースがある。このようなケースの場合、第2実施形態が適用されると効果的である。
<Second embodiment>
Next, a second embodiment will be described. In the first embodiment, the
従来の破綻回避処理としては、例えば、周波数変換係数に対して、高周波成分(所定周波成分より高い周波成分)を削除して符号データサイズを大幅に削減する手法が適用され得る。高周波成分を削除した場合に削減される符号データサイズは、JCCRを適用した処理を行った場合に削減される符号データサイズよりも大きい。また、JCCRによる破綻回避処理を行わないケースとしては、モノクロやセピア調といった色味が少ない画像等において、色差成分の符号データが輝度成分の符号データに対して小さすぎる場合等がある。このような場合、JCCRによる破綻回避処理が行われたとしても、データ削減量が大幅に低下し、データの削減効果が低くなる。 As a conventional corruption avoidance process, for example, a method of deleting high-frequency components (frequency components higher than a predetermined frequency component) from frequency transform coefficients to significantly reduce the code data size can be applied. The code data size that is reduced when high frequency components are deleted is larger than the code data size that is reduced when JCCR is applied. Further, as a case where the JCCR-based corruption avoidance processing is not performed, there is a case where the coded data of the color difference component is too small for the coded data of the luminance component in an image such as monochrome or sepia tone which has little color. In such a case, even if the bankruptcy avoidance process by JCCR is performed, the amount of data reduction will be greatly reduced, and the data reduction effect will be low.
そこで、第2実施形態の画像符号化回路204は、バッファ占有量が破綻回避ラインを下回っている場合でも、所定条件を満たしているかに応じて、JCCRによる破綻回避処理を行うかを制御する。当該所定条件としては、カレントフレーム(画像)の符号データの2つの色差成分のうちの1つの色差成分のデータサイズが輝度成分のデータサイズよりも小さすぎることを条件とすることができる。例えば、画像符号化回路204は、バッファ占有量が破綻回避ラインを下回っており、且つ以下の式(1)を満たしている場合に、JCCRを適用する。一方、画像符号化回路204は、バッファ占有量が破綻回避ラインを下回っていたとしても、以下の式(1)を満たしていない場合、JCCRによるデータの削減効果が低くなるため、JCCRを適用しない。
Therefore, the
以下の式(1)における係数αは、プリセットされた値であってもよいし、設定レジスタに設定された値であってもよい。また、以下の式(1)の色差データサイズは、カレントフレームの符号データの2つの色差成分のうちの一方の色差成分のデータサイズであってもよいし、両方の色差成分のデータサイズであってもよい。
「輝度データサイズ×α<色差データサイズ」・・・(1)
A coefficient α in the following equation (1) may be a preset value or a value set in a setting register. The chrominance data size in the following equation (1) may be the data size of one of the two chrominance components of the code data of the current frame, or the data size of both of the chrominance components. may
“Luminance data size×α<color difference data size” (1)
上述した所定条件としては、動画符号化の所定の参照関係を適用できる。この場合、動画符号化の所定の参照関係において、下位に位置する画像を符号化するときに、JCCRは適用されない。図5は、動画像符号化における画像間の参照関係の一例を示す図である。画像間の参照関係としては、図5(A)に示されるI/P/Bピクチャを組み合わせた参照関係や、図5(B)に示される複数のBピクチャで階層的に構成された参照関係等がある。 As the predetermined condition described above, a predetermined reference relationship for video encoding can be applied. In this case, JCCR is not applied when encoding an image positioned at a lower level in a predetermined reference relationship for video encoding. FIG. 5 is a diagram showing an example of a reference relationship between images in video encoding. Reference relationships between images include reference relationships combining I/P/B pictures shown in FIG. etc.
図5(A)においては、I/Pピクチャが上位の階層に、Bピクチャが下位の階層に、それぞれ位置する。図5(B)においては、Tid0およびTid1が上位の階層に、Tid2およびTid3が下位の階層に、それぞれ位置する。上位の階層に属するピクチャは目標符号量を小さく設定することが一般的であり、画質への要求も高くはないため、従来の破綻回避処理でデータを大幅に削減したとしても、画質への影響は小さいと考えられる。そこで、第2実施形態の画像符号化回路204は、所定の条件を動画符号化の所定の参照関係において、所定階層よりも下位の階層に位置する画像を符号化するかという条件を設定することができる。この場合、画像符号化回路204は、動画符号化の所定の参照関係において、所定階層と同じか、それよりも上位の階層に位置する1以上の画像を符号化するときに、JCCRによる破綻回避処理を行わず、符号データサイズを大幅に削減する処理を行う。当該処理としては、例えば、高周波成分を削除する手法が適用される。一方、画像符号化回路204は、所定階層よりも下位の階層に位置する1以上の画像を符号化する場合に、JCCRによる破綻回避処理を行う。
In FIG. 5A, the I/P pictures are located in the upper hierarchy, and the B pictures are located in the lower hierarchy. In FIG. 5B, Tid0 and Tid1 are located in the upper hierarchy, and Tid2 and Tid3 are located in the lower hierarchy. It is common to set a small target code amount for pictures belonging to higher layers, and the demand for image quality is not high. is considered to be small. Therefore, the
また、第2実施形態の画像符号化回路204は、所定条件を、色差フォーマットがYUV420であるか否かという条件としてもよい。YUV420は、動画フォーマットの1つの方式であり、水平および垂直の2×2ピクセルのうち、Cb信号を2ピクセルから上1ピクセル取り、Cr信号を下2ピクセルから1ピクセル取る方式である。YUV420は、2つの色差成分のうち一方または両方の色差成分のデータサイズが輝度成分のデータサイズの4分の1であるため、JCCRによるデータ削減効果が低い。従って、画像符号化回路204は、所定条件として、色差フォーマットがYUV420である場合、JCCRによる破綻回避処理を行わない。一方、画像符号化回路204は、色差フォーマットがYUV420ではない場合、JCCRによる破綻回避処理を行う。
In the
図6は、第2実施形態の符号化処理の流れの一例を示すフローチャートである。S401~S407の各処理は、図4と同様であるため、説明を省略する。符号量制御部213は、S401でYesと判定した場合、フローをS601に進める。S601で、符号量制御部213は、上述した所定条件を満たすかを判定する。符号量制御部213は、所定条件を満たすと判定した場合(S601でYes)、フローをS404に進める。一方、符号量制御部213は、所定条件を満たさないと判定した場合(S601でNo)、フローをS403に進める。符号量制御部213は、上述した式(1)を満たしている場合、動画符号化の所定の参照関係において上位の階層に位置する画像を符号化する場合、または色差フォーマットがYUV420である場合、S601でYesと判定する。
FIG. 6 is a flowchart showing an example of the flow of encoding processing according to the second embodiment. Since each process of S401 to S407 is the same as that of FIG. 4, description thereof is omitted. If the code
以上のように、第2実施形態では、JCCRによる破綻回避処理ではデータ削減効果が低く、十分なバッファ回復が望めないようなケースにおいて、従来の破綻回避処理が行われる。これにより、第1実施形態の効果を得つつ、仮想バッファの破綻が回避されることが抑制される。 As described above, in the second embodiment, the conventional corruption avoidance process is performed in a case where the JCCR corruption avoidance process has a low data reduction effect and sufficient buffer recovery cannot be expected. As a result, the effects of the first embodiment can be obtained, and the avoidance of virtual buffer failure is suppressed.
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態の画像符号化回路204は、JCCRによる破綻回避処理を実施したとしても、仮想バッファが回復しない場合、さらに強力な破綻回避処理を行う。図3(E)を用いて説明したように、第1実施形態の画像符号化回路204は、破綻回避ラインを下回ると、JCCRによる破綻回避処理を行う。この点、JCCRによる破綻回避処理を行ったとしても、バッファ占有量がさらに減少してしまう場合がある。そこで、第3実施形態の画像符号化回路204は、第1実施形態の破綻回避ラインよりも厳しい緊急破綻回避ライン(破綻回避ラインに対応する所定量を小さくした他の所定量)を設定する。そして、第3実施形態の画像符号化回路204は、バッファ占有量が緊急破綻回避ラインを下回った場合、他の破綻回避処理を適用し、削減するデータ量を大きくする。
<Third embodiment>
Next, a third embodiment will be described. The
他の破綻回避処理としては、例えば、周波数変換係数に対して、高周波成分を削除するといった従来の手法を適用できる。これにより、JCCRを適用するデータ削減処理より高いデータ削減効果を得ることができる。また、他の破綻回避処理として、量子化制御部212による量子化パラメータ設定の際に、最大の量子化パラメータを用いることで、データの削減量を大きくすることも考えられる。この場合も、JCCRを適用するデータ削減処理より高いデータ削減効果を得ることができる。以下、他の破綻回避処理として、最大の量子化パラメータを用いる場合について説明する。
As other corruption avoidance processing, for example, a conventional method of deleting high frequency components from frequency transform coefficients can be applied. As a result, it is possible to obtain a higher data reduction effect than the data reduction processing that applies JCCR. Further, as another corruption avoidance process, it is conceivable to use the maximum quantization parameter when setting the quantization parameter by the
図7は、第3実施形態の符号化処理の流れの一例を示すフローチャートである。S401~S407の各処理は、図4と同様であるため、説明を省略する。符号量制御部213は、S401でYesと判定した場合、フローをS701に進める。S701で、符号量制御部213は、バッファ占有量が緊急破綻回避ラインを下回っているかを判定する。
FIG. 7 is a flowchart showing an example of the flow of encoding processing according to the third embodiment. Since each process of S401 to S407 is the same as that of FIG. 4, description thereof is omitted. If the code
符号量制御部213は、バッファ占有量が緊急破綻回避ラインを下回っていない場合(S701でNo)、フローをS702に進める。S702で、量子化制御部212は、通常制御による量子化パラメータ設定を量子化部211に行う。このとき、量子化制御部212は、少なくとも最大値よりも低い通常の設定値を量子化部211に設定する。符号量制御部213は、バッファ占有量が緊急破綻回避ラインを下回っている場合(S701でYes)、フローをS703に進める。S703で、量子化制御部212は、最大の量子化パラメータ設定(最大値)を量子化部211に設定する。
If the buffer occupancy is not below the emergency bankruptcy avoidance line (No in S701), the code
以上のように、第3実施形態では、JCCRによる破綻回避処理だけでは仮想バッファの回復が間に合わない場合において、より強力な破綻回避処理が行われる。これにより、バッファ占有量が大きく減少するような場合でも、仮想バッファの破綻を回避することができる。 As described above, in the third embodiment, a stronger corruption avoidance process is performed when the recovery of the virtual buffer cannot be kept up with the JCCR corruption avoidance process alone. As a result, it is possible to avoid virtual buffer failure even when the buffer occupancy decreases significantly.
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 Although preferred embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications and changes are possible within the scope of the gist thereof. The present invention supplies a program that implements one or more functions of each of the above-described embodiments to a system or device via a network or a storage medium, and one or more processors of the computer of the system or device executes the program. It can also be realized by reading and executing processing. The invention can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.
200 デジタルカメラ
204 画像符号化回路
207 フレームバッファ
208 ブロック分割部
212 量子化制御部
200
Claims (11)
デコーダのバッファモデルの使用量が所定量を下回っているかに応じて、前記2つの色差成分の両方を符号化して出力するか、または前記2つの色差成分のうち何れか一方のみを符号化して出力するかを制御する制御手段、を備えることを特徴とする動画像符号化装置。 A moving image encoding device for encoding a moving image composed of an image consisting of one luminance component and two color difference components,
encoding and outputting both of the two chrominance components, or encoding and outputting only one of the two chrominance components, depending on whether the amount of usage of the buffer model of the decoder is below a predetermined amount; A moving picture coding apparatus, comprising: control means for controlling whether to
デコーダのバッファモデルの使用量が所定量を下回っているかに応じて、前記2つの色差成分の両方を符号化して出力するか、または前記2つの色差成分のうち何れか一方のみを符号化して出力するかを制御する工程、
を備えることを特徴とする動画像符号化方法。 A moving image encoding method for encoding a moving image composed of an image consisting of one luminance component and two color difference components,
encoding and outputting both of the two chrominance components, or encoding and outputting only one of the two chrominance components, depending on whether the amount of usage of the buffer model of the decoder is below a predetermined amount; controlling whether to
A video encoding method, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021013351A JP2022116923A (en) | 2021-01-29 | 2021-01-29 | Moving image encoding device and moving image encoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021013351A JP2022116923A (en) | 2021-01-29 | 2021-01-29 | Moving image encoding device and moving image encoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022116923A true JP2022116923A (en) | 2022-08-10 |
Family
ID=82749703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021013351A Pending JP2022116923A (en) | 2021-01-29 | 2021-01-29 | Moving image encoding device and moving image encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022116923A (en) |
-
2021
- 2021-01-29 JP JP2021013351A patent/JP2022116923A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4372197B2 (en) | Image encoding apparatus and image decoding apparatus | |
JP5470405B2 (en) | Image coding apparatus and method | |
JP7401666B2 (en) | Cross component adaptive loop filter | |
JP2006114979A (en) | Image coding apparatus and method thereof | |
JP4643437B2 (en) | Information processing device | |
JP6253406B2 (en) | Image encoding apparatus, imaging apparatus, image encoding method, and program | |
JP2022116923A (en) | Moving image encoding device and moving image encoding method | |
JP4492777B2 (en) | Video encoding device | |
US12028521B2 (en) | Encoder, method, and non-transitory computer-readable storage medium | |
JP7468882B2 (en) | Filtering Method | |
JP6942504B2 (en) | Coding device, imaging device, coding method, and program | |
JP2015019319A (en) | Encoding apparatus, encoding method, and program | |
TW202418806A (en) | Image encoding device, image decoding device, image encoding method, image decoding method, and program | |
JP2019097030A (en) | Image coding apparatus, imaging apparatus, image coding method, and program | |
JP2006166103A (en) | Moving picture encoder, method thereof, program thereof, and storage medium thereof |