JP2015185979A - Moving image encoding device and moving image encoder - Google Patents
Moving image encoding device and moving image encoder Download PDFInfo
- Publication number
- JP2015185979A JP2015185979A JP2014059639A JP2014059639A JP2015185979A JP 2015185979 A JP2015185979 A JP 2015185979A JP 2014059639 A JP2014059639 A JP 2014059639A JP 2014059639 A JP2014059639 A JP 2014059639A JP 2015185979 A JP2015185979 A JP 2015185979A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- area
- lsi
- region
- unit
- 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.)
- Granted
Links
Images
Abstract
Description
本件は、動画像符号化装置及び動画像符号化器に関する。 The present invention relates to a moving image encoding device and a moving image encoder.
動画像の圧縮符号化方式として、フレーム間予測(ピクチャ間予測)を利用して情報量圧縮を行う技術が一般化している。このような技術は、例えばMoving Picture Experts Group-2(MPEG−2),MPEG−4,H.264/Advanced Video Coding(H.264/AVC)等で使用されている。最新の動画圧縮の規格としてはH.265/High Efficiency Video Coding(H.265/HEVC)が規格化された。H.265/HEVCは、次世代のテレビとして予定されているUltra High Definition Television(UHDTV:超高精細テレビ)に利用される事が想定されている。UHDTVでは4K2K(例えば4,096×2,160画素または3,840×2,160画素)や8K4K(例えば8,192×4,096画素)といった超高精細画像が取り扱われる。 As a compression encoding method for moving images, a technique for compressing an information amount using inter-frame prediction (inter-picture prediction) has been generalized. Such a technique is used in, for example, Moving Picture Experts Group-2 (MPEG-2), MPEG-4, H.264 / Advanced Video Coding (H.264 / AVC), and the like. H.265 / High Efficiency Video Coding (H.265 / HEVC) has been standardized as the latest video compression standard. H. H.265 / HEVC is expected to be used for Ultra High Definition Television (UHDTV), which is planned as the next-generation television. UHDTV handles ultra-high-definition images such as 4K2K (for example, 4,096 × 2,160 pixels or 3,840 × 2,160 pixels) and 8K4K (for example, 8,192 × 4,096 pixels).
このような超高精細画像を符号化するためには、1チップの動画像符号化器(以下、符号化LSIという)とメモリを使用して符号化するよりも、複数チップの符号化LSIとメモリを使用して並列に符号化する方が処理性能向上の観点から望ましい。複数の符号化LSIとメモリを使用して並列に符号化する場合、動画像の一画像であるピクチャ(又はフレーム)をスライスと呼ばれる複数の領域に分割し、各符号化LSIが担当のスライスを符号化することが知られている(例えば特許文献1〜4参照)。
In order to encode such an ultra-high-definition image, a multi-chip encoding LSI can be used rather than encoding using a one-chip moving image encoder (hereinafter referred to as an encoding LSI) and a memory. Encoding in parallel using a memory is desirable from the viewpoint of improving processing performance. When encoding in parallel using a plurality of encoding LSIs and memories, a picture (or frame), which is one image of a moving image, is divided into a plurality of areas called slices, and each encoding LSI is responsible for the slice that it is responsible for. It is known to encode (see, for example,
ところで、フレーム間予測を行う符号化LSIでは、Macroblock(MB:マクロブロック)やCoding Tree Unit(CTU:コーディングツリーユニット)と呼ばれる符号化単位領域に対し、過去の参照画像(ローカルデコード画像)の中から似ている領域を探索する動きベクトル検出が行われる。この場合、各符号化LSIが担当するスライスよりも広い範囲の領域がメモリに格納されることが望ましい。したがって、スライスの境界付近では、該スライスに隣接する過去の参照画像の隣接スライスの内、該スライスに隣接する一部の領域が該スライスとともに該符号化LSIが使用するメモリに格納されることが望ましい。 By the way, in an encoding LSI that performs inter-frame prediction, an encoding unit area called Macroblock (MB: Macroblock) or Coding Tree Unit (CTU: Coding Tree Unit) is included in past reference images (local decoded images). Motion vector detection for searching for similar regions is performed. In this case, it is desirable that an area in a wider range than the slice that each coding LSI is responsible is stored in the memory. Therefore, in the vicinity of the slice boundary, a part of the area adjacent to the slice among the adjacent slices of the past reference image adjacent to the slice may be stored in the memory used by the encoding LSI together with the slice. desirable.
各符号化LSIでピクチャ単位の同期を取りながらスライスの先頭に位置する符号化単位領域からスライスの最後に位置する符号化単位領域まで順にそれぞれのスライスを符号化していく場合、先頭に位置する符号化単位領域から順に符号化処理が完了していく。各スライスに対する符号化処理が完了することにより各スライスを含むピクチャの符号化処理が完了すると、次のピクチャにおける各スライスを符号化するために符号化処理が完了した上述した一部の領域が転送される。 When encoding each slice sequentially from the coding unit area located at the head of the slice to the coding unit area located at the end of the slice while synchronizing each picture by each coding LSI, the code located at the head The encoding process is completed in order from the encoding unit area. When the encoding process for each slice is completed by completing the encoding process for each slice, the above-described part of the area where the encoding process is completed is transferred to encode each slice in the next picture. Is done.
ここで、次のピクチャにおける各スライスの後の方に位置する符号化単位領域は、転送された一部の領域を動きベクトル検出のために使用するまでには十分な時間があるため転送時間を確保し易い。一方、次のピクチャにおける各スライスの前の方に位置する符号化単位領域は、転送された一部の領域を動きベクトル検出のために使用するまでには十分な時間があるとはいえず、転送時間を確保し難い。すなわち、前ピクチャの一部の領域が転送されて来なければ、現ピクチャにおける各スライスの前の方に位置する符号化単位領域の符号化を開始することができず、動画像の符号化においてピクチャ間で無駄なアイドル期間(待機期間)が発生し、符号化処理が遅れるという課題がある。 Here, since the coding unit area located at the back of each slice in the next picture has sufficient time to use a part of the transferred area for motion vector detection, the transfer time is reduced. Easy to secure. On the other hand, the coding unit area located in front of each slice in the next picture does not have enough time to use the transferred partial area for motion vector detection. It is difficult to secure the transfer time. That is, if a partial area of the previous picture is not transferred, encoding of the encoding unit area located in front of each slice in the current picture cannot be started. There is a problem in that a useless idle period (standby period) occurs between pictures and the encoding process is delayed.
そこで、1つの側面では、本件は、符号化処理の遅れを圧縮可能な動画像符号化装置及び動画像符号化器を提供することを目的とする。 Therefore, in one aspect, an object of the present invention is to provide a moving image encoding device and a moving image encoder capable of compressing a delay in encoding processing.
本明細書に開示の動画像符号化装置は、動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置である。 A moving image encoding device disclosed in the present specification is a moving image encoding device including a plurality of moving image encoders that respectively encode a plurality of regions obtained by dividing one image of a moving image, and the moving image At least one of the encoders encodes a first area that does not search for a partial area of an encoded area transferred from another video encoder, and then searches for a second area that searches for the partial area. A moving image encoding apparatus that performs encoding.
本明細書に開示の動画像符号化器は、動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段を有する動画像符号化器である。 The moving image encoder disclosed in the present specification is a moving image encoder that encodes one of regions obtained by dividing one image of a moving image, and is a code transferred from another moving image encoder. It is a moving image encoder which has an encoding means to encode the 1st area | region which does not search the partial area | region of a complete | finished area | region, and then encodes the 2nd area | region which searches the said partial area | region.
本明細書に開示の動画像符号化装置及び動画像符号化器によれば、符号化処理の遅れを圧縮することができる。 According to the moving image encoding device and the moving image encoder disclosed in this specification, it is possible to compress the delay of the encoding process.
以下、本件を実施するための形態について図面を参照して説明する。 Hereinafter, an embodiment for carrying out this case will be described with reference to the drawings.
(第1実施形態)
図1は、動画像符号化装置1のブロック図の一例である。図2は、領域を説明するための図である。
動画像符号化装置1は、図1に示すように、複数の符号化LSI100と各符号化LSI100に対応する複数のメモリ200を含んでいる。メモリ200は、例えばSynchronous Dynamic Random Access Memory(SDRAM)によって実現される。尚、各符号化LSI100は基本的に同様の構成を有するため、以下の説明では符号化LSI100の内、識別子としてLSI#1が割り当てられた符号化LSI100及び対応するメモリ200について説明する。
(First embodiment)
FIG. 1 is an example of a block diagram of the moving
As shown in FIG. 1, the moving
メモリ200には、ピクチャ210を水平に分割することにより生成された領域220と領域220に隣接する隣接領域230,240の一部領域231,241が参照領域として記憶される。一部領域231,241はそれぞれ垂直方向に128画素を有する。例えば、図2に示すように、1つのピクチャ210を水平に4等分に分割することにより、領域220と隣接領域230,240と隣接領域240にさらに隣接する隣接領域250が生成される。ピクチャ210の大きさが8K4K(8ビット/画素,4:2:0フォーマット)である場合、ピクチャ210を4等分することで、領域220及び隣接領域230,240,250の各大きさは8K1K(8,192×1,024画素)となる。したがって、メモリ200に領域220が記憶される場合、図2に示すように、隣接領域230,240の内、領域220と隣接する部分を含む隣接領域230,240の一部領域231,241も記憶される。LSI#1が割り当てられた符号化LSI100が担当するカレント(現時刻)ピクチャの領域220を符号化する場合、メモリ200に記憶された参照領域として参照ピクチャの領域220及び一部領域231,241が動きベクトル検出のために使用されて、カレントピクチャの領域220が符号化される。
In the
図1に示すように、符号化LSI100は、動画像符号化部110、チップ間データ転送部120及びメモリ制御部130を含んでいる。尚、符号化LSI100は後述する全体制御部140も含んでいるが、図1では省略されている。チップ間データ転送部120は、例えばDirect Memory Access Controller(DMAC:ダイレクトメモリアクセス制御部)及びPCI express(PCIe)コントローラを含んでいる。例えば、メモリ200に記憶された垂直方向に128画素を有する一部領域221,222(図2参照)は、DMACで読み出されPCIe経由で転送される。より詳しくは、一部領域221は、LSI#0が割り当てられた符号化LSI100に転送される。一部領域222は、LSI#2が割り当てられた符号化LSI100に転送される。
As shown in FIG. 1, the encoding
次に、図3を参照して、上述した符号化LSI100の詳細について説明する。
Next, details of the above-described
図3は、符号化LSI100のブロック図の一例である。
符号化LSI100は、上述したとおり、動画像符号化部110、チップ間データ転送部120、メモリ制御部130及び全体制御部140を含んでいる。
動画像符号化部110は、コーデック部111、画像入力部112及びストリーム出力部113を含んでいる。
FIG. 3 is an example of a block diagram of the encoding
As described above, the encoding
The moving
画像入力部112には、画像入力デバイスから領域220が入力される。画像入力部112は、入力された領域220をメモリ制御部130に出力する。コーデック部111は、メモリ制御部130から取得したカレントピクチャの領域220と参照領域として参照ピクチャの領域220及び一部領域231,241を利用して、カレントピクチャの領域220を符号化する。コーデック部111は、符号化したカレントピクチャの領域220に応じたストリーム(ビットストリーム)をメモリ制御部130に出力する。また、符号化したカレントピクチャの領域220の一部領域221,222をチップ間データ転送部120に出力する。ストリーム出力部113は、メモリ制御部130からストリームを取得し、取得したストリームを出力する。
The
チップ間データ転送部120は、コーデック部111から出力された一部領域221,222を別の符号化LSI100に転送する。より詳しくは、チップ間データ転送部120は、LSI#0が割り当てられた符号化LSI100に一部領域221を転送する。また、チップ間データ転送部120は、LSI#2が割り当てられた符号化LSI100に一部領域222を転送する。さらに、チップ間データ転送部120は、別の符号化LSI100から転送された一部領域231,241を受信して、メモリ制御部130に出力する。
The inter-chip
メモリ制御部130は、動画像符号化部110及びチップ間データ転送部120とメモリ200との各種データの入出力を制御する。より詳しくは、メモリ制御部130は、画像入力部112から出力されたカレントピクチャの領域220、コーデック部111から出力されたストリーム及びチップ間データ転送部120から出力された一部領域231,241をメモリ200に格納する。また、メモリ制御部130は、メモリ200からストリームを取得してストリーム出力部113に出力し、メモリ200からカレントピクチャの領域220、参照領域として参照ピクチャの領域220及び一部領域231,241を取得して、コーデック部111に出力する。
The
全体制御部140は、符号化LSI100の動作全体を制御する。より詳しくは、全体制御部140は、コーデック部111、画像入力部112、ストリーム出力部113及びチップ間データ転送部120の動作を制御する。これにより、各部(各モジュール)の動作モードの設定や同期制御などが行われる。
The
次に、図4を参照して、上述したコーデック部111の詳細について説明する。
Next, the details of the
図4は、コーデック部111のブロック図の一例である。
コーデック部111は、前処理部10、画像符号化部20、可変長符号化部30、データ転送部40、コーデック制御部50、バッファ60及びキャッシュ70を含んでいる。
FIG. 4 is an example of a block diagram of the
The
前処理部10は、例えば、イントラ予測部11及び縮小動きベクトル探索部(縮小ME)12を有し、データ転送部40に接続されている。イントラ予測部11は、例えば、カレントピクチャの領域220をメモリ200からメモリ制御部130及びデータ転送部40を介して受ける。そして、イントラ予測部11は、カレントピクチャの領域220を用いて、フレーム内予測のモードおよびコスト(差分絶対値和等)を符号化単位領域毎に算出する。すなわち、イントラ予測部11は、フレーム内予測におけるコストを符号化単位領域毎に算出する。
The preprocessing
イントラ予測部11で算出されたフレーム内予測のモードおよびコストは、例えば、データ転送部40及びメモリ制御部130を介してメモリ200に記憶され、画像符号化部20で使用される。なお、イントラ予測部11は、フレーム内予測のモードおよびコストを、メモリ200を介さずに、画像符号化部20に出力してもよい。例えば、イントラ予測部11は、フレーム内予測のモードおよびコストを、データ転送部40を介して画像符号化部20に出力してもよい。この際、フレーム内予測のモードおよびコストは、画像符号化部20で使用されるまでイントラ予測部11内に保持されてもよいし、画像符号化部20で使用されるまで画像符号化部20内に保持されてもよい。
The intra-frame prediction mode and cost calculated by the
縮小動きベクトル探索部12は、例えば、フレーム間予測における階層的動きベクトル探索処理の前段探索処理を実施する。例えば、縮小動きベクトル探索部12は、領域220を縮小した縮小領域をメモリ200からメモリ制御部130及びデータ転送部40を介して受ける。そして、縮小動きベクトル探索部12は、縮小領域を用いて、粗い精度の動きベクトルおよびコストを符号化単位領域毎に算出する。すなわち、縮小動きベクトル探索部12は、フレーム間予測におけるコストを符号化単位領域毎に算出する。
For example, the reduced motion
縮小動きベクトル探索部12で算出された動きベクトルおよびコストは、例えば、データ転送部40を介してメモリ200に記憶され、画像符号化部20で使用される。なお、縮小動きベクトル探索部12は、動きベクトルおよびコストを、メモリ200を介さずに、画像符号化部20に出力してもよい。例えば、縮小動きベクトル探索部12は、動きベクトルおよびコストを、データ転送部40を介して画像符号化部20に出力してもよい。この際、動きベクトルおよびコストは、画像符号化部20で使用されるまで縮小動きベクトル探索部12内に保持されてもよいし、画像符号化部20で使用されるまで画像符号化部20内に保持されてもよい。
The motion vector and cost calculated by the reduced motion
画像符号化部20は、等倍動きベクトル探索部(等倍ME)21、予測画生成部22、差分算出部(DIFF)23、直交変換部(T)24、量子化部(Q)25、逆量子化部(IQ)26、逆直交変換部(IT)27、動き補償部(MC)28およびループフィルタ部(LF)29を含んでいる。
The
等倍動きベクトル探索部21は、例えば、カレントピクチャの領域220および参照領域として参照ピクチャの領域220及び一部領域231,241をメモリ200からメモリ制御部130及びデータ転送部40を介して読み出し、各符号化単位領域の動きベクトルを探索する。
For example, the same-size motion
予測画生成部22は、フレーム内予測用の予測画像やフレーム間予測用の予測画像を生成する。例えば、予測画生成部22は、処理対象の符号化単位領域の隣接画素をバッファ60からデータ転送部40を介して読み出し、フレーム内予測用の予測画像を生成する。また、例えば、予測画生成部22は、参照領域として参照ピクチャのデータをメモリ200等からデータ転送部40を介して読み出し、フレーム間予測用の予測画像を生成する。なお、例えば、符号化単位領域の処理に必要な参照領域として参照ピクチャのデータがキャッシュ70に記憶されているときには、キャッシュ70から読み出される。
The prediction
差分算出部23は、カレントピクチャの符号化単位領域データをメモリ200からメモリ制御部130及びデータ転送部40を介して受け、予測画像を予測画生成部22から受ける。そして、差分算出部23は、カレントピクチャの符号化単位領域データと予測画像との差分を算出し、差分画像として出力する。直交変換部24は、差分算出部23から出力された差分画像を直交変換し出力する。
The
量子化部25は、直交変換部24から出力された変換後の差分画像を量子化し、量子化後データを生成する。そして、量子化部25は、量子化後データを、逆量子化部26および可変長符号化部30に出力する。
The
逆量子化部26は、量子化部25から出力された量子化後データを逆量子化し出力する。逆直交変換部27は、逆量子化部26から出力されたデータを逆直交変換する。動き補償部28は、逆直交変換部27から出力された逆変換後のデータと予測画生成部22から受けた予測画像とを加算して、復号画像をループフィルタ部29に出力する。
The
ループフィルタ部29は、動き補償部28から出力された復号画像に対して、デブロッキングフィルタ処理等のループフィルタ処理を実施する。例えば、ループフィルタ部29は、処理対象の符号化単位領域の隣接画素をバッファ60からデータ転送部40を介して読み出し、ループフィルタ処理を実施する。これにより、ローカルデコード画像が生成される。ローカルデコード画像は、例えば、データ転送部40及びメモリ制御部130を介してメモリ200等に記憶される。
The
可変長符号化部30は、MPEG、H.264、H.265に準拠した可変長符号化処理を実行する。例えば、可変長符号化部30は、画像符号化部20により生成された符号化データを受信して、符号化データを可変長符号化しストリームを生成する。ストリームは、データ転送部40及びメモリ制御部130を介してメモリ200に格納される。
The variable
データ転送部40は、前処理部10、画像符号化部20及び可変長符号化部30とバッファ60、キャッシュ70、チップ間データ転送部120及びメモリ制御部130とのデータ転送を実行する。
コーデック制御部50は、コーデック部111内の各モジュール(回路)の動作モードの設定や、同期制御など、コーデック部111内全体の動作を制御する。
The
The
バッファ60は、フレーム内予測用の隣接画素やデブロッキングフィルタ処理用の隣接画素等のデータを一時的に記憶する。例えば、バッファ60は、フレーム内予測用の隣接画素等のデータを一時的に記憶する。また、バッファ60は、デブロッキングフィルタ処理用の隣接画素等のデータを一時的に記憶する。
キャッシュ70は、例えば、参照領域を読み出すときに使用されるキャッシュメモリである。キャッシュ70は、例えば、処理中の符号化単位領域で参照される可能性の高い領域を自動的にプリフェッチする。
The
The
次に、図5乃至図7を参照して、符号化LSI100の動作について説明する。尚、LSI#0〜#3が割り当てられたいずれの符号化LSI100も基本的に同様に動作するため、以下の説明では、LSI#1が割り当てられた符号化LSI100の動作について説明する。
Next, the operation of the encoding
図5は、第1実施形態に係る全体制御部140の動作の一例を示すフローチャートである。図6は、第1実施形態に係る各符号化LSI100が担当する領域と領域分割の一例を説明するための図である。図7は、第1実施形態に係るLSI#1が割り当てられた符号化LSI100が担当する領域220とその前後の隣接領域230,240を説明するための図である。図6において、各符号化LSI100が担当する領域220及び隣接領域230〜250(図2参照)は、それぞれ2つのスライスに分割されている。各符号化LSI100が担当する領域の先頭から128画素ライン分が一方のスライスであり、残りの896画素ライン分が他方のスライスである。
FIG. 5 is a flowchart illustrating an example of the operation of the
ここで、図5に示すように、全体制御部140はコーデック部111に対し領域Bの符号化処理を実行させる(ステップS101)。これにより、コーデック部111は領域Bを符号化する。ここで、領域Bは、図6及び図7に示すように、LSI#1が割り当てられた符号化LSI100が担当する領域220の内、上述した一部領域231を探索しない領域、かつ、一部領域241から探索されない領域に該当する。すなわち、図6及び図7において、スライス#2が割り当てられた領域Aに相当する一部領域221では、符号化単位領域の動きベクトルを探索する際に、スライス#1が割り当てられた隣接領域230の一部領域231を探索する。また、スライス#4が割り当てられた一部領域241は、符号化単位領域の動きベクトルを探索する際に、領域Cに相当する領域220の一部領域222を探索する。したがって、コーデック部111は、まず、スライス#2及びスライス#3が割り当てられた領域220の内、一部領域221,222を除いた領域Bについて符号化処理を実行する。
Here, as illustrated in FIG. 5, the
次いで、全体制御部140は、下隣接LSIからの領域Aが転送済であるか否かを判断する(ステップS102)。すなわち、LSI#2が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域241が転送されているか否かを判断する。全体制御部140は、下隣接LSIからの領域Aが転送済であると判断した場合(ステップS102:YES)、コーデック部111に対し領域Cの符号化処理を実行させる(ステップS103)。これにより、コーデック部111は領域C、すなわち一部領域222を符号化する。尚、全体制御部140は、下隣接LSIからの領域Aが転送済でないと判断した場合、転送待ちを確認するが(ステップS102:NO)、過去の一部領域241の転送開始指示から一部領域222が一部領域241の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
Next, the
ステップS103の処理が完了すると、次いで、全体制御部140は、下隣接LSIへ領域Cを転送させる指示を出力する(ステップS104)。すなわち、LSI#2が割り当てられた符号化LSI100へ符号化した一部領域222を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域222はカレントより先の時刻で行われる一部領域241(領域A)の符号化の際に使用される。
When the process of step S103 is completed, the
次いで、全体制御部140は、上隣接LSIからの領域Cが転送済みであるか否かを判断する(ステップS105)。すなわち、LSI#0が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域231が転送されているか否かを判断する。全体制御部140は、上隣接LSIからの領域Cが転送済であると判断した場合(ステップS105:YES)、コーデック部111に対し領域Aの符号化処理を実行させる(ステップS106)。これにより、コーデック部111は領域A、すなわち一部領域221を符号化する。尚、上記同様、全体制御部140は、上隣接LSIからの領域Cが転送済でないと判断した場合、転送の完了を待機するが(ステップS105:NO)、過去の一部領域231の転送開始指示から一部領域221が一部領域231の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
Next, the
ステップS106の処理が完了すると、次いで、全体制御部140は、上隣接LSIへ領域Aを転送させる指示を出力する(ステップS107)。すなわち、LSI#0が割り当てられた符号化LSI100へ符号化した一部領域221を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域221はカレントより先の時刻で行われる一部領域231(領域C)の符号化の際に使用される。
When the process of step S106 is completed, the
図8は、第1実施形態におけるチップ間データ転送部120の動作の一例を示すフローチャートである。このフローチャートは、符号化処理と並行して行われる処理である。データ転送処理は、コーデック部111の動作に合わせてチップ間データ転送部120で行われる。
図8に示すように、チップ間データ転送部120は、全体制御部140から領域Cの転送指示があるか否かを判断する(ステップS201)。チップ間データ転送部120は、上述したステップS104の処理に従って、全体制御部140から領域Cの転送指示があったと判断した場合(ステップS201:YES)、領域Cのローカルデコード画を下隣接LSIへ転送する(ステップS202)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域222(図2,図7参照)をコーデック部111又はメモリ200から取得してLSI#2が割り当てられた符号化LSI100に転送する。当該一部領域222は、カレントに対し時系列的に次の隣接領域240の一部領域241を符号化する際に動きベクトルの探索領域の一部として使用される。
FIG. 8 is a flowchart showing an example of the operation of the inter-chip
As shown in FIG. 8, the inter-chip
次いで、チップ間データ転送部120は、全体制御部140から領域Aの転送指示があるか否かを判断する(ステップS203)。チップ間データ転送部120は、上述したステップS107の処理に従って、全体制御部140から領域Aの転送指示があったと判断した場合(ステップS203:YES)、領域Aのローカルデコード画を上隣接LSIへ転送する(ステップS204)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域221(図2,図7参照)をコーデック部111又はメモリ200から取得してLSI#0が割り当てられた符号化LSI100に転送する。当該一部領域221は、カレントに対し時系列的に次の隣接領域230の一部領域231を符号化する際に動きベクトルの探索領域の一部として使用される。
Next, the inter-chip
次に、図9及び図10を参照して、第1実施形態に係る動画像符号化装置1の動作タイミングについて説明する。
Next, with reference to FIG. 9 and FIG. 10, the operation timing of the
図9は、各符号化LSI100の動作タイミングを説明するための図である。図10は、ピクチャ#1の所定時刻におけるメモリ状態を説明するための図である。
まず、図9に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、上述したフローチャートで説明したように、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
FIG. 9 is a diagram for explaining the operation timing of each encoding
First, as shown in FIG. 9, as time t elapses, the encoding process of the picture 210 to which the
ここで、LSI#1が割り当てられた符号化LSI100において、ピクチャ#0のピクチャ210の符号化処理が完了すると、ピクチャ#1のピクチャ210における領域Bの符号化が開始される。領域Bは、スライスの境界を表すスライス境界で始まるため、ピクチャ210内の上隣接情報(領域Bの上側に隣接する領域Aの符号化情報)を使用する必要がなく、上領域の符号化が完了していなくても符号化可能である。この場合、メモリ200における第1のメモリ状態は、図10(a)に示すようになる。すなわち、符号化単位領域CURは、ピクチャ#0の一部領域221(領域Aに相当するスライス#2)を含む領域220(領域B及びCに相当するスライス#3)における探索範囲SRの中から動きベクトルを探索するが、図9にも示すように、ピクチャ#0における領域Aの符号化処理が完了した後、引き続き、ピクチャ#1における領域Bの符号化処理が行われるため、一部領域221は別の符号化LSI100(LSI#0又はLSI#2)から転送される領域でない。したがって、一部領域221に関する転送時間は発生しない。
Here, when the encoding process of the picture 210 of the
次に、図9に示すように、ピクチャ#1における領域Bの符号化処理が完了すると、ピクチャ#1における領域Cの符号化処理が開始されるが、領域Cの符号化処理が行われる場合、メモリ200における第2のメモリ状態は、図10(b)に示すようになる。この場合、領域Cの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域240における一部領域241(領域Aに相当するスライス#4)を含むが、図9に示すように、LSI#2の符号化LSI100が担当するピクチャ#0の領域Aは符号化が完了している。また、LSI#2の符号化LSI100からLSI#1の符号化LSI100に一部領域241(領域A)を転送する場合、ピクチャ#1の領域Cの符号化処理が開始されるまで、少なくともピクチャ#1の領域Bの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Cの符号化処理が開始されるまで、一部領域241の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Cの符号化処理遅延が回避される。例えば、各符号化LSI100が8K4Kの4分の1の領域(8K1K)をスライスとして担当し、動き探索のために使用するオーバーラップ領域、すなわち、チップ(符号化LSI)間の転送領域が隣接の256画素の場合、符号化処理時間は(1/60)×(512/1024)により8.3ミリ秒(1フレーム期間である60分の1秒の符号化領域面積比1024分の512の期間)となる。
Next, as illustrated in FIG. 9, when the encoding process of the area B in the
次に、図9に示すように、ピクチャ#1における領域Cの符号化処理が完了すると、ピクチャ#1における領域Aの符号化処理が開始されるが、領域Aの符号化処理が行われる場合、メモリ200における第3のメモリ状態は、図10(c)に示すようになる。この場合、領域Aの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域230における一部領域231(スライス#1における領域Cに相当する部分)を含むが、図9に示すように、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cは符号化が完了している。また、LSI#0の符号化LSI100からLSI#1の符号化LSI100に一部領域231(領域C)を転送する場合、ピクチャ#1の領域Aの符号化処理が開始されるまで、少なくともピクチャ#0の領域A、ピクチャ#1の領域B及び領域Cの符号化処理が完了するまでの時間(約1フレーム期間として約16.7秒程度)が存在する。このため、ピクチャ#1の領域Aの符号化処理が開始されるまで、一部領域231の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Aの符号化処理遅延も回避される。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
Next, as illustrated in FIG. 9, when the encoding process of the area C in the
The contents described above also apply to the encoding
次に、図11を参照して、上述した第1実施形態における動作タイミングに対する第1の比較例を説明する。 Next, a first comparative example with respect to the operation timing in the above-described first embodiment will be described with reference to FIG.
図11は、第1の比較例に係る各符号化LSI100の動作タイミングを説明するための図である。
図11に示す第1の比較例における各符号化LSI100では、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域A,領域B,領域Cの順で符号化処理が行われる。この場合、LSI#1が割り当てられた符号化LSI100において、ピクチャ#1の領域Cを符号化する場合、動きベクトル探索のために、LSI#2が割り当てられた符号化LSI100からピクチャ#0の領域Aを転送してもらう必要ある。ところが、LSI#1の符号化LSI100がピクチャ#1の領域Cを符号化するまでには、少なくともピクチャ#0の領域B及び領域C並びにピクチャ#1の領域A及び領域Bを符号化するだけの時間があるため、十分な転送時間が確保されている。
FIG. 11 is a diagram for explaining the operation timing of each encoding
In each encoding
一方、LSI#1が割り当てられた符号化LSI100において、ピクチャ#1の領域Aを符号化する場合、動きベクトル探索のために、LSI#0が割り当てられた符号化LSI100からピクチャ#0の領域Cを転送してもらう必要ある。ところが、LSI#1の符号化LSI100がピクチャ#1の領域Aを符号化するまでには、ピクチャ#0からピクチャ#1に切り替えるだけの時間しかない。このため、転送時間が十分に確保されておらず、LSI#1の符号化LSI100がピクチャ#1の領域Aの符号化を開始するまでに、LSI#0が割り当てられた符号化LSI100からピクチャ#0の領域Cの転送が間に合わなくなる。すなわち、ピクチャ#0の領域Cの転送が完了するまで、LSI#1の符号化LSI100がピクチャ#1の領域Aの符号化を開始することができず、符号化処理の遅延が発生する。
On the other hand, when coding
例えば、上記同様、各符号化LSI100が8K4Kの4分の1の領域(8K1K)をスライスとして担当し、転送領域が隣接の256画素の場合、データ転送サイズは約2.52メガビット(8,192×256×8ビット×1.5)。このとき、チップ間のデータ転送スピードを4Gbpsとすると、転送に費やす時間や約6.3ミリ秒である。仮に転送領域の256画素の符号化処理の進行に合わせて、符号化処理の開始と同時に転送を開始したとしても、符号化処理時間は(1/60)×(256/1024)により4.2ミリ秒(1フレーム期間である60分の1秒の符号化領域面積比1024分の256の期間)となり、符号化処理時間をオーバーし、約2.1ミリ秒の無駄なアイドル期間(待機期間)が発生する。
For example, as described above, when each encoding
次に、図12を参照して、上述した第1実施形態における動作タイミングに対する第2の比較例を説明する。 Next, a second comparative example with respect to the operation timing in the first embodiment will be described with reference to FIG.
図12は、第2の比較例に係る各符号化LSI100の動作タイミングを説明するための図である。
上述した第1の比較例の問題を回避するために、例えば、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cが、直下のスライスを担当するLSI、すなわちLSI#1の符号化LSI100に転送完了してから、当該符号化LSI100による符号化処理が行われるように、各符号化LSI100をパイプライン的に処理することも考えられる。この場合、ピクチャ#0とピクチャ#1とのピクチャ間で無駄な時間が発生することは抑えられるが、LSI#0の符号化LSI100がピクチャ#0の領域Aの符号化を開始してからLSI#3の符号化LSI100がピクチャ#1の領域Cの符号化を完了するまでを考慮すると、第1の比較例に比べて符号化に係る総時間が延びてしまい、符号化時間が全体として遅延する。また、第2の比較例の場合、ピクチャ間で符号化LSI100の同期を取っていないため、ピクチャ単位の符号量割り当てにおいて、前ピクチャの符号化処理が全て完了する前に、次ピクチャの符号量割り当て処理を行う必要があり、レート制御が難しくなる。
FIG. 12 is a diagram for explaining the operation timing of each encoding
In order to avoid the problem of the first comparative example described above, for example, the region C of
このように第1の比較例ではピクチャ間に無駄な時間が発生し、第2の比較例では、ピクチャ210に対する符号化遅延が発生したり、レート制御が難しくなったりするが、第1実施形態では、領域220及び隣接領域230〜250内において符号化していく領域の順序を変更し、入力された過去のピクチャの隣接領域230の一部領域231を探索しない、領域220から一部領域221を除いた領域を符号化してから、一部領域231を探索する領域220の一部領域221を符号化する。これにより、ピクチャ間で無駄なアイドル期間が生じることはなく、データ転送のオーバーヘッドによる性能低下が解消する。したがって、複数の符号化LSI100による処理性能の向上を引き出すことができる。
As described above, in the first comparative example, useless time is generated between pictures, and in the second comparative example, encoding delay for the picture 210 occurs and rate control becomes difficult. In the
そして、無駄なアイドル期間を補償するために周波数を上げる必要はなく、消費電力を低く保つことが可能である。転送される各領域の処理完了から使用開始までに十分な時間を確保できるようになるため、チップ間の転送スピードも下げることができ、より低コストのインタフェースを使用することができる。また、第2の比較例で説明した各符号化LSI100をパイプライン的に処理することもないため、パイプラインに基づく遅延も発生せず、ピクチャ処理で同期をとることができるため、レート制御も容易になる。
Further, it is not necessary to increase the frequency in order to compensate for a useless idle period, and power consumption can be kept low. Since sufficient time can be secured from the completion of processing of each area to be transferred to the start of use, the transfer speed between chips can be reduced, and a lower cost interface can be used. Further, since each encoding
さらに、第1実施形態では、領域Aを1つのスライス、領域B及び領域Cを1つのスライスとし、ピクチャ210内のデータ依存関係をスライスで分断しておくことにより、領域B及び領域Cを領域Aより先に符号化処理することが可能となっている。領域Aを1つのスライスとすることで、その上の領域(別の符号化LSIが担当する領域)との依存関係を切ることができ、符号化LSI100間で符号化に要する符号化情報を転送する必要がなくなる。
Further, in the first embodiment, the region A is set as one slice, the region B and the region C are set as one slice, and the data dependency in the picture 210 is divided by the slice, so that the region B and the region C are divided into regions. It is possible to perform the encoding process before A. By making the region A into one slice, the dependency relationship with the region above it (the region handled by another encoding LSI) can be cut off, and the encoding information required for encoding is transferred between the encoding
尚、第1実施形態では、ピクチャ210を横方向(水平方向)に分割した領域を例に説明したが、図19に示すように、領域をさらに縦方向(垂直方向)に分割したタイルを利用してもよい。タイルを利用した場合、領域B及び領域Cを1つのタイルとする第1領域の先頭部及び領域Aを1つのタイルとする第2領域の先頭部は、いずれもタイルの境界を表すタイル境界であることが要求される。 In the first embodiment, the area obtained by dividing the picture 210 in the horizontal direction (horizontal direction) has been described as an example. However, as shown in FIG. 19, tiles obtained by dividing the area in the vertical direction (vertical direction) are used. May be. When tiles are used, the first part of the first area where the area B and the area C are one tile and the beginning part of the second area where the area A is one tile are both tile boundaries representing the tile boundary. It is required to be.
(第2実施形態)
次に、図13乃至図18を参照して、第2実施形態について説明する。第2実施形態では、各符号化LSI100が担当する領域は、スライス先頭から始まっていない点で第1実施形態と相違する。
まず、図13乃至図15を参照して、符号化LSI100の動作について説明する。
(Second Embodiment)
Next, a second embodiment will be described with reference to FIGS. The second embodiment is different from the first embodiment in that the area handled by each encoding
First, the operation of the encoding
図13は、第2実施形態に係る全体制御部140の動作の一例を示すフローチャートである。図14は、第2実施形態に係る各符号化LSI100が担当する領域と領域分割の一例を説明するための図である。図15は、第2実施形態に係るLSI#1が割り当てられた符号化LSI100が担当する領域220(スライス#1)の一部とその前の隣接領域230(スライス#0)の一部を説明するための図である。図14に示すように、各符号化LSI100は、スライス境界から、垂直に探索範囲SR分の128画素上方にずれた8K1Kを担当する。尚、LSI#0が割り当てられた符号化LSI100については、スライス#0の上部896画素ライン分と、スライス#3の下部128画素ラインを担当する。図15において、領域Aはスライス#0の下部128画素ライン分の領域である。領域Bはスライス#1の上部768画素ライン分の領域である。領域Cは、スライス#1の領域B下方128画素ライン分の領域である。
FIG. 13 is a flowchart illustrating an example of the operation of the
ここで、図13に示すように、全体制御部140はコーデック部111に対し領域Bの符号化処理を実行させる(ステップS301)。これにより、コーデック部111は領域Bを符号化する。この領域Bは、図15に示すように、スライス境界で始まるため、上隣接情報を使用する必要がなく、領域Bの上の領域Aの符号化が終わっていなくても符号化可能である。
Here, as illustrated in FIG. 13, the
次いで、全体制御部140は、下隣接LSIからの領域Aが転送済であるか否かを判断する(ステップS302)。すなわち、LSI#2が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域223(図15参照)が転送されているか否かを判断する。全体制御部140は、下隣接LSIからの領域Aが転送済であると判断した場合(ステップS302:YES)、コーデック部111に対し領域Cの符号化処理を実行させる(ステップS303)。これにより、コーデック部111は領域C、すなわち一部領域224を符号化する。尚、全体制御部140は、下隣接LSIからの領域Aが転送済でないと判断した場合、転送待ちを確認するが(ステップS302:NO)、過去の一部領域223の転送開始指示から一部領域224が一部領域223の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
Next, the
ステップS303の処理が完了すると、次いで、全体制御部140は、下隣接LSIへスライス内符号化情報転送指示をチップ間データ転送部120に出力する(ステップS304)。スライス内符号化情報転送指示は、スライス内の符号化に要する後述の符号化情報を転送させる指示である。次いで、全体制御部140は、下隣接LSIへ領域Cの転送指示をチップ間データ転送部120に出力する(ステップS305)。これらの処理により、チップ間データ転送部120は、スライス内の符号化情報と領域Cに相当する一部領域224をLSI#2が割り当てられた符号化LSI100に転送する。LSI#2の符号化LSI100は、スライス内の符号化情報と領域Cを利用して、自身が担当する領域Aを符号化する。
When the process of step S303 is completed, the
次いで、全体制御部140は、上隣接LSIからのスライス内の符号化情報が転送済であるか否かを判断する(ステップS306)。すなわち、LSI#0が割り当てられた符号化LSI100からスライス内の符号化情報が転送済であるか否かを判断する。後続する領域Aの符号化にあたっては、領域Aの先頭部がスライス境界から始まる領域でない非スライス境界であるため、領域Aの上の領域を担当するLSI#0の符号化LSI100から、スライス内の符号化情報を引き継いで符号化することが求められる。このため、領域Aの符号化処理を開始する前にLSI#0の符号化LSI100(上隣接LSI)の領域Cの符号化処理が完了していることを確認し、スライス内の符号化情報を転送してもらうことが求められる。
Next, the
転送してもらう符号化情報としては、イントラ符号化に使用する上隣接画素や予測モード、インター符号化を行うための上隣接の予測ベクトルや符号化モードが必要である。デブロッキングフィルタを掛けるためには、上隣接の4画素ライン、また、フィルタパラメータを算出するための符号化モード、上隣接ベクトル、量子化値、直交変換係数の有無情報などが必要である。また、エントロピー符号化のためには、エントロピー符号化の上隣接符号化情報、コンテキストモデルの転送も必要となる。なお、これらの符号化情報は画像符号化部20、可変長符号化部30から出力され、バッファ60に一旦格納され、チップ間データ転送部120を介して隣接する符号化LSI100へ転送される。これらの符号化情報が隣接する下位の符号化LSI100に送られ、下位の符号化LSI100の画像符号化部20、可変長符号化部30に取り込まれることにより、領域を継続して符号化することができる。これらの符号化情報は、各符号化LSI100が担当する領域境界に隣接する数画素ライン、あるいは、隣接する1ブロックライン内の符号化情報であるため、探索領域のための参照領域と比べると、データ量は小さく、転送にかかる時間は無視できる。
As encoded information to be transferred, an upper adjacent pixel and prediction mode used for intra encoding, and an upper adjacent prediction vector and encoding mode for performing inter encoding are necessary. In order to apply the deblocking filter, the upper adjacent four pixel lines, the encoding mode for calculating the filter parameter, the upper adjacent vector, the quantized value, the presence / absence information of the orthogonal transformation coefficient, and the like are necessary. In addition, for entropy coding, it is necessary to transfer entropy coding and adjacent coding information and context model. The encoded information is output from the
全体制御部140は、上隣接LSIからのスライス内の符号化情報が転送済であると判断した場合(ステップS306:YES)、上隣接LSIからの領域Cが転送済みであるか否かを判断する(ステップS307)。すなわち、LSI#0が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域232(図15参照)が転送されているか否かを判断する。全体制御部140は、上隣接LSIからの領域Cが転送済であると判断した場合(ステップS307:YES)、コーデック部111に対し領域Aの符号化処理を実行させる(ステップS308)。これにより、コーデック部111は領域A、すなわち一部領域233(図15参照)を符号化する。尚、上記同様、全体制御部140は、上隣接LSIからの領域Cが転送済でないと判断した場合、転送の完了を待機するが(ステップS307:NO)、過去の一部領域232の転送開始指示から一部領域233が一部領域232の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
When determining that the encoded information in the slice from the upper adjacent LSI has been transferred (step S306: YES), the
ステップS308の処理が完了すると、次いで、全体制御部140は、上隣接LSIへ領域Aを転送させる指示を出力する(ステップS309)。すなわち、LSI#0が割り当てられた符号化LSI100へ符号化した一部領域233を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域233はカレントより先の時刻で行われる一部領域232(領域C)の符号化の際に使用される。
When the process of step S308 is completed, the
図16は、第2実施形態におけるチップ間データ転送部120の動作の一例を示すフローチャートである。このフローチャートも、符号化処理と並行して行われる処理である。データ転送処理は、コーデック部111の動作に合わせてチップ間データ転送部120で行われる。
図16に示すように、チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったか否かを判断する(ステップS401)。チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったと判断した場合(ステップS401:YES)、スライス内の符号化情報を下隣接LSIへ転送する(ステップS402)。すなわち、LSI#2の符号化LSI100にスライス内の符号化情報が転送される。
FIG. 16 is a flowchart illustrating an example of the operation of the inter-chip
As illustrated in FIG. 16, the inter-chip
次いで、チップ間データ転送部120は、全体制御部140から領域Cの転送指示があるか否かを判断する(ステップS403)。チップ間データ転送部120は、上述したステップS305の処理に従って、全体制御部140から領域Cの転送指示があったと判断した場合(ステップS403:YES)、領域Cのローカルデコード画を下隣接LSIへ転送する(ステップS404)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域224(図15参照)をコーデック部111又はメモリ200から取得してLSI#2が割り当てられた符号化LSI100に転送する。当該一部領域224は、カレントに対し時系列的に次の一部領域223を符号化する際に動きベクトルの探索領域の一部として使用される。
Next, the inter-chip
次いで、チップ間データ転送部120は、全体制御部140から領域Aの転送指示があるか否かを判断する(ステップS405)。チップ間データ転送部120は、上述したステップS309の処理に従って、全体制御部140から領域Aの転送指示があったと判断した場合(ステップS405:YES)、領域Aのローカルデコード画を上隣接LSIへ転送する(ステップS406)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域233(図15参照)をコーデック部111又はメモリ200から取得してLSI#0が割り当てられた符号化LSI100に転送する。当該一部領域233は、カレントに対し時系列的に次の一部領域232を符号化する際に動きベクトルの探索領域の一部として使用される。
Next, the chip-to-chip
次に、図17及び図18を参照して、第2実施形態に係る動画像符号化装置1の動作タイミングについて説明する。
Next, with reference to FIG.17 and FIG.18, the operation | movement timing of the moving
図17は、各符号化LSI100の動作タイミングを説明するための図である。図18は、ピクチャ#1の所定時刻におけるメモリ状態を説明するための図である。
まず、図17に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、図13を参照して説明したフローチャートで説明したように、第2実施形態においても、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
FIG. 17 is a diagram for explaining the operation timing of each encoding
First, as shown in FIG. 17, as time t elapses, the encoding process of the picture 210 to which the
ここで、LSI#1が割り当てられた符号化LSI100において、ピクチャ#0のピクチャ210の符号化処理が完了すると、ピクチャ#1のピクチャ210における領域Bの符号化が開始される。領域Bは、スライスの境界を表すスライス境界で始まるため、ピクチャ210内の上隣接情報を使用する必要がなく、上領域の符号化が完了していなくても符号化可能である。この場合、メモリ200における第1のメモリ状態は、図18(a)に示すようになる。すなわち、符号化単位領域CURは、既に符号化したピクチャ#0の一部領域223(領域Aに相当するスライス#0)を含む領域220の一部(領域Bの一部)における探索範囲SRの中から動きベクトルを探索するが、図17にも示すように、ピクチャ#0における領域Aの符号化処理が完了した後、引き続き、ピクチャ#1における領域Bの符号化処理が行われるため、一部領域233は別の符号化LSI100(LSI#0又はLSI#2)から転送される領域でない。したがって、一部領域233に関する転送時間は発生しない。
Here, when the encoding process of the picture 210 of the
次に、図17に示すように、ピクチャ#1における領域Bの符号化処理が完了すると、ピクチャ#1における領域Cの符号化処理が開始されるが、領域Cの符号化処理が行われる場合、メモリ200における第2のメモリ状態は、図18(b)に示すようになる。この場合、領域Cの符号化単位領域CURの探索範囲SRは、ピクチャ#0の領域220における一部領域223(LSI#0から転送される領域Aに相当するスライス#1)を含むが、図17に示すように、LSI#2の符号化LSI100が担当するピクチャ#0の領域Aは符号化が完了している。また、LSI#2の符号化LSI100からLSI#1の符号化LSI100に一部領域223(領域A)を転送する場合、ピクチャ#1の領域Cの符号化処理が開始されるまで、少なくともピクチャ#1の領域Bの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Cの符号化処理が開始されるまで、一部領域223の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Cの符号化処理遅延が回避される。
Next, as illustrated in FIG. 17, when the encoding process of the area B in the
次に、図17に示すように、ピクチャ#1における領域Cの符号化処理が完了すると、スライス内の符号化情報を利用したピクチャ#1における領域Aの符号化処理が開始されるが、領域Aの符号化処理が行われる場合、メモリ200における第3のメモリ状態は、図18(c)に示すようになる。この場合、領域Aの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域230における一部領域232(LSI#0から転送されるスライス#0における領域Cに相当する部分)を含むが、図17に示すように、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cは符号化が完了している。また、LSI#0の符号化LSI100からLSI#1の符号化LSI100に一部領域232(領域C)を転送する場合、ピクチャ#1の領域Aの符号化処理が開始されるまで、少なくともピクチャ#0の領域A、ピクチャ#1の領域B及び領域Cの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Aの符号化処理が開始されるまで、一部領域232の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Aの符号化処理遅延も回避される。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
Next, as illustrated in FIG. 17, when the encoding process of the area C in the
The contents described above also apply to the encoding
以上説明したように、第2実施形態でも、領域220及び隣接領域230〜250内において符号化していく領域の順序を変更し、入力された過去の隣接領域230の一部領域232を探索しない、領域220から一部領域223を除いた領域を符号化してから、一部領域232を探索する領域220の一部領域233を符号化する。これにより、ピクチャ間で無駄なアイドル期間が生じることはなく、データ転送のオーバーヘッドによる性能低下が解消する。また、第2実施形態では、第1実施形態と比べて分割が少ないため、符号化効率が上がる。特に、第2実施形態では、領域Aの符号化処理開始時には、上領域を担当するLSI#0の符号化LSI100が担当する領域B及び領域Cの符号化処理完了を待ち、かつ、領域を継続して符号化処理を行うための符号化情報を受け取ることが求められる。LSI#0の符号化LSI100からのスライス内の符号化情報を受け取ることにより、連続したスライスとして符号化処理が可能となる。
As described above, even in the second embodiment, the order of the regions to be encoded in the
尚、第2実施形態でも、ピクチャ210を横方向に分割した領域を例に説明したが、図19を参照して説明したように、領域をさらに縦方向に分割したタイルを利用してもよい。タイルを利用した場合、領域B及び領域Cを1つのタイルとする第1領域の先頭部がタイル境界であることが要求される。この場合においても、スライスを利用して説明した符号化情報が要求される。 In the second embodiment, the area obtained by dividing the picture 210 in the horizontal direction has been described as an example. However, as described with reference to FIG. 19, tiles obtained by further dividing the area in the vertical direction may be used. . When tiles are used, it is required that the leading portion of the first area having the areas B and C as one tile is a tile boundary. Even in this case, the encoding information described using the slice is required.
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、符号化LSI100の数は、ピクチャ210の分割数に応じて定めればよい。
The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to the specific embodiments according to the present invention, and various modifications are possible within the scope of the gist of the present invention described in the claims.・ Change is possible. For example, the number of
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置。
(付記2)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記1に記載の動画像符号化装置。
(付記3)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記1に記載の動画像符号化装置。
(付記4)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記3に記載の動画像符号化装置。
(付記5)動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段を有する動画像符号化器。
(付記6)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記5に記載の動画像符号化器。
(付記7)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記5に記載の動画像符号化器。
(付記8)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記7に記載の動画像符号化器。
In addition, the following additional notes are disclosed regarding the above description.
(Additional remark 1) It is a moving image encoder which contains the several moving image encoder which each encodes the several area | region which divided | segmented one image of a moving image, Comprising: At least 1 of the said moving image encoder is, A moving image characterized by encoding a first area that does not search for a partial area of an encoded area transferred from another moving image encoder and then encoding a second area for searching for the partial area. Image encoding device.
(Supplementary note 2) The moving picture encoding apparatus according to
(Supplementary Note 3) The leading portion of the first region is a slice boundary or a tile boundary, the leading portion of the second region is a non-boundary that is not the slice boundary or the tile boundary, and the moving image encoder is Receiving from the other moving image encoder information required to encode the second region continuously from the first region encoded by the other moving image encoder. The moving image encoding apparatus according to
(Supplementary note 4) The information includes at least one of an upper adjacent pixel of the second region boundary, a prediction mode, a prediction vector, a quantization value, a coding mode, and a context used for entropy coding. 4. The moving image encoding apparatus according to 3.
(Supplementary Note 5) A moving image encoder that encodes one of regions obtained by dividing one image of a moving image, and searches for a partial region of the encoded region transferred from another moving image encoder A moving image encoder comprising: encoding means for encoding a second area in which the partial area is searched after encoding the first area not to be encoded.
(Additional remark 6) The moving image encoder of Additional remark 5 characterized by the head part of the said 1st area | region and the head part of the said 2nd area | region being both a slice boundary or a tile boundary.
(Supplementary note 7) The head of the first area is a slice boundary or a tile boundary, the head of the second area is a non-boundary that is not the slice boundary or the tile boundary, and the moving image encoder is Receiving from the other moving image encoder information required to encode the second region continuously from the first region encoded by the other moving image encoder. The moving image encoder according to appendix 5.
(Supplementary note 8) The information includes at least one of an upper adjacent pixel of the second region boundary, a prediction mode, a prediction vector, a quantization value, a coding mode, and a context used for entropy coding. 8. The moving image encoder according to 7.
1 動画像符号化装置
20 画像符号化部(符号化手段)
100 符号化LSI(動画像符号化器、他の動画像符号化器)
200 メモリ
DESCRIPTION OF
100 Encoding LSI (video encoder, other video encoder)
200 memory
Claims (4)
前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置。 A moving image encoding apparatus including a plurality of moving image encoders that respectively encode a plurality of regions obtained by dividing one image of a moving image,
At least one of the moving image encoders encodes a first region that does not search for a partial region of an encoded region transferred from another moving image encoder, and then searches for the partial region. 2. A moving picture coding apparatus characterized by coding two regions.
前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする請求項1に記載の動画像符号化装置。 The leading portion of the first region is a slice boundary or a tile boundary, and the leading portion of the second region is a non-boundary that is not the slice boundary or the tile boundary,
The moving image encoder receives from the other moving image encoder information necessary for encoding the second region continuously from the first region encoded by the other moving image encoder. The video encoding apparatus according to claim 1, wherein the video encoding apparatus receives the video.
他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段
を有する動画像符号化器。 A moving image encoder that encodes one of regions obtained by dividing one image of a moving image,
A moving image having encoding means for encoding a first area that does not search a partial area of an encoded area transferred from another moving image encoder and then encoding a second area that searches for the partial area Image encoder.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014059639A JP6206280B2 (en) | 2014-03-24 | 2014-03-24 | Moving picture encoding apparatus and moving picture encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014059639A JP6206280B2 (en) | 2014-03-24 | 2014-03-24 | Moving picture encoding apparatus and moving picture encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015185979A true JP2015185979A (en) | 2015-10-22 |
JP6206280B2 JP6206280B2 (en) | 2017-10-04 |
Family
ID=54352095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014059639A Expired - Fee Related JP6206280B2 (en) | 2014-03-24 | 2014-03-24 | Moving picture encoding apparatus and moving picture encoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6206280B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017094298A1 (en) * | 2015-12-04 | 2017-06-08 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
WO2020022101A1 (en) * | 2018-07-27 | 2020-01-30 | ソニーセミコンダクタソリューションズ株式会社 | Image processing device and image processing method |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06351000A (en) * | 1993-06-07 | 1994-12-22 | Matsushita Electric Ind Co Ltd | Picture signal encoder and picture signal decoder |
JPH08205142A (en) * | 1994-12-28 | 1996-08-09 | Daewoo Electron Co Ltd | Apparatus for coding into and decoding digital video signal |
JPH09294262A (en) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | Image coder |
WO2005125215A1 (en) * | 2004-06-18 | 2005-12-29 | Fujitsu Limited | Image data encoding device and encoding method |
JP2006295721A (en) * | 2005-04-13 | 2006-10-26 | Pioneer Electronic Corp | Image encoding apparatus and image encoding method |
JP2006345157A (en) * | 2005-06-08 | 2006-12-21 | Sony Corp | Coding equipment, decoding equipment, coding method, decoding method and these programs |
JP2009027693A (en) * | 2007-06-18 | 2009-02-05 | Canon Inc | Moving image compression coding equipment |
JP2009296169A (en) * | 2008-06-03 | 2009-12-17 | Fujitsu Ltd | Moving image decoding device, and encoding device |
WO2010029850A1 (en) * | 2008-09-09 | 2010-03-18 | 日本電気株式会社 | Image coding device, image decoding device, image coding method, image decoding method, and program |
US20100074337A1 (en) * | 2008-09-24 | 2010-03-25 | International Business Machines Corporation | Macro-Block Video Stream Encoding |
JP2011217082A (en) * | 2010-03-31 | 2011-10-27 | Jvc Kenwood Corp | Image encoder, image encoding method, image encoding program, image decoder, image decoding method and image decoding program |
JP2012023765A (en) * | 2007-11-28 | 2012-02-02 | Panasonic Corp | Image encoding method and image encoder |
JP2012175424A (en) * | 2011-02-22 | 2012-09-10 | Panasonic Corp | Encoding processing apparatus and encoding processing method |
US20120263225A1 (en) * | 2011-04-15 | 2012-10-18 | Media Excel Korea Co. Ltd. | Apparatus and method for encoding moving picture |
JP2014027462A (en) * | 2012-07-26 | 2014-02-06 | Canon Inc | Image encoder, image encoding system, image encoding method, program, image decoder, image decoding system, image decoding method and program |
-
2014
- 2014-03-24 JP JP2014059639A patent/JP6206280B2/en not_active Expired - Fee Related
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06351000A (en) * | 1993-06-07 | 1994-12-22 | Matsushita Electric Ind Co Ltd | Picture signal encoder and picture signal decoder |
JPH08205142A (en) * | 1994-12-28 | 1996-08-09 | Daewoo Electron Co Ltd | Apparatus for coding into and decoding digital video signal |
JPH09294262A (en) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | Image coder |
WO2005125215A1 (en) * | 2004-06-18 | 2005-12-29 | Fujitsu Limited | Image data encoding device and encoding method |
JP2006295721A (en) * | 2005-04-13 | 2006-10-26 | Pioneer Electronic Corp | Image encoding apparatus and image encoding method |
JP2006345157A (en) * | 2005-06-08 | 2006-12-21 | Sony Corp | Coding equipment, decoding equipment, coding method, decoding method and these programs |
JP2009027693A (en) * | 2007-06-18 | 2009-02-05 | Canon Inc | Moving image compression coding equipment |
JP2012023765A (en) * | 2007-11-28 | 2012-02-02 | Panasonic Corp | Image encoding method and image encoder |
JP2009296169A (en) * | 2008-06-03 | 2009-12-17 | Fujitsu Ltd | Moving image decoding device, and encoding device |
WO2010029850A1 (en) * | 2008-09-09 | 2010-03-18 | 日本電気株式会社 | Image coding device, image decoding device, image coding method, image decoding method, and program |
US20100074337A1 (en) * | 2008-09-24 | 2010-03-25 | International Business Machines Corporation | Macro-Block Video Stream Encoding |
JP2011217082A (en) * | 2010-03-31 | 2011-10-27 | Jvc Kenwood Corp | Image encoder, image encoding method, image encoding program, image decoder, image decoding method and image decoding program |
JP2012175424A (en) * | 2011-02-22 | 2012-09-10 | Panasonic Corp | Encoding processing apparatus and encoding processing method |
US20120263225A1 (en) * | 2011-04-15 | 2012-10-18 | Media Excel Korea Co. Ltd. | Apparatus and method for encoding moving picture |
JP2014027462A (en) * | 2012-07-26 | 2014-02-06 | Canon Inc | Image encoder, image encoding system, image encoding method, program, image decoder, image decoding system, image decoding method and program |
Non-Patent Citations (1)
Title |
---|
西原 康介 他2名: "組込みマルチコアプロセッサ向けH.264ビデオデコーダ開発", マルチメディア,分散,協調とモバイル(DICOMO2007)シンポジウム 論文集, vol. 第2007巻, 第1号, JPN6017029192, 4 July 2007 (2007-07-04), JP, pages 1800 - 1805, ISSN: 0003613818 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017094298A1 (en) * | 2015-12-04 | 2017-06-08 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
US10743023B2 (en) | 2015-12-04 | 2020-08-11 | Sony Corporation | Image processing apparatus and image processing method |
WO2020022101A1 (en) * | 2018-07-27 | 2020-01-30 | ソニーセミコンダクタソリューションズ株式会社 | Image processing device and image processing method |
JP7350744B2 (en) | 2018-07-27 | 2023-09-26 | ソニーセミコンダクタソリューションズ株式会社 | Image processing device |
Also Published As
Publication number | Publication date |
---|---|
JP6206280B2 (en) | 2017-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10212441B2 (en) | Method and apparatus for processing video | |
JP6258333B2 (en) | Virtual reference decoder parameters in video coding | |
TWI543621B (en) | Systems and method for low-delay video buffering in video coding | |
TWI499275B (en) | Method and system for frame buffer compression and memory resource reduction for 3d video | |
US10757431B2 (en) | Method and apparatus for processing video | |
CN104429081B (en) | Stream transmission based on clean arbitrary access (CRA) picture adapts to | |
US20180035123A1 (en) | Encoding and Decoding of Inter Pictures in a Video | |
JP2015533053A5 (en) | ||
CN104488267A (en) | Tiles and wavefront parallel processing | |
US9392278B2 (en) | Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel | |
US9693065B2 (en) | Encoding apparatus, encoding method and program | |
US11122284B2 (en) | Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program | |
CN105245896A (en) | HEVC (High Efficiency Video Coding) parallel motion compensation method and device | |
JPWO2009063646A1 (en) | Image decoding apparatus and image decoding method | |
JP6569665B2 (en) | Image decoding apparatus, image decoding method, and integrated circuit | |
JP2007088922A (en) | Encoding apparatus and encoding method | |
JP6206280B2 (en) | Moving picture encoding apparatus and moving picture encoder | |
EP2814254A1 (en) | Combined parallel and pipelined video encoder | |
Salah et al. | Hevc implementation for iot applications | |
US10904560B2 (en) | Method and device for encoding a plurality of image frames | |
WO2016209132A1 (en) | Method and system for encoding an input video stream into a compressed output video stream with parallel encoding | |
KR100955828B1 (en) | Reference Frame Selection Method for Motion Estimation of High Performance Multimedia Codec |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161206 |
|
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: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6206280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |