JP5995622B2 - 動画像符号化装置、動画像符号化方法およびプログラム - Google Patents
動画像符号化装置、動画像符号化方法およびプログラム Download PDFInfo
- Publication number
- JP5995622B2 JP5995622B2 JP2012205826A JP2012205826A JP5995622B2 JP 5995622 B2 JP5995622 B2 JP 5995622B2 JP 2012205826 A JP2012205826 A JP 2012205826A JP 2012205826 A JP2012205826 A JP 2012205826A JP 5995622 B2 JP5995622 B2 JP 5995622B2
- Authority
- JP
- Japan
- Prior art keywords
- intra
- macroblock
- determination unit
- refresh process
- encoding
- 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
Links
- 238000000034 method Methods 0.000 title claims description 321
- 238000012545 processing Methods 0.000 claims description 129
- 230000000694 effects Effects 0.000 claims description 127
- 238000004364 calculation method Methods 0.000 claims description 34
- 230000033001 locomotion Effects 0.000 claims description 12
- 230000000717 retained effect Effects 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 230000003111 delayed effect Effects 0.000 description 21
- 230000012447 hatching Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
=INT(IntraRefreshCycle/N)×mod(h,N)
mod(h,x):法xによる剰余を取得する関数
IntraRefreshCycle:イントラリフレッシュ処理の周期(フレーム数)
N:1グループ内のMBL数
h:MBLのライン番号
により算出し、フレームごとの処理が終了する度に、変数remainPic[mod(h,N)]を1だけデクリメントし、デクリメントした変数remainPic[mod(h,N)]を保持する。
イントラMB決定部は、変数remainPic[mod(h,N)]が「0」になったときを、マクロブロックライン番号がhのマクロブロックラインについて、イントラリフレッシュ処理のリセットタイミング(開始タイミング)とする。
第9の発明は、第1から第8のいずれかの発明であって、イントラMB決定部は、マクロブロックラインのライン番号をhとし、N個のマクロブロックラインを1組のグループに設定し、マクロブロックラインにおいて、イントラリフレッシュ処理の1周期内において、未だイントラマクロブロックに設定されていないマクロブロックの数をremainMBとし、マクロブロックラインにおいて、1回のイントラリフレッシュ処理が終了するまでの残りのフレーム数をremainPicとしたとき、
N:1グループ内のMBL数
h:MBLのライン番号
により算出された数kにより、マクロブロックラインにおいて、アクティビティ値が小さい方からk個のマクロブロックをイントラマクロブロックに設定する。
これにより、この動画像符号化装置では、残りのフレーム数において、設定されるイントラマクロブロック数をバランスよく配分することができるとともに、イントラリフレッシュ処理の1周期内に全てのマクロブロックがイントラマクロブロックに設定されることが保証される。したがって、この動画像符号化装置では、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行うことができる。
第1実施形態について、図面を参照しながら、以下、説明する。
図1は、第1実施形態に係る動画像符号化装置1000の概略構成図である。
以上のように構成された動画像符号化装置1000の動作について、以下、説明する。
(1)h=0,4のMBLのイントラリフレッシュ処理では、遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)が「0」フレームに設定される。
h=0,4のMBLのイントラリフレッシュ処理は、図3の時刻t0、t1、t2、t3およびt4において、リセットされる。つまり、時刻t0、t1、t2、t3およびt4において、h=0,4のMBLに含まれるすべてのマクロブロックがイントラマクロブロックの候補となる。そして、例えば、期間t1〜t2において、h=0,4のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh1」で示した部分に相当する処理)が実行される。
(2)h=1,5のMBLのイントラリフレッシュ処理では、遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)が、図3に示す時間d1に相当するフレーム数に設定される。
h=1、5のMBLのイントラリフレッシュ処理は、h=0、4のMBLのイントラリフレッシュ処理の開始時刻(リセット時刻)t0〜t4から、それぞれ、期間d1だけ遅れた時刻において、リセットされる。つまり、時刻t0〜t4から、それぞれ、期間d1だけ遅れた時刻において、h=1、5のMBLに含まれるすべてのマクロブロックがイントラマクロブロックの候補となる。そして、時刻t0から期間d1だけ遅れた時刻(t0+d1)から時刻t1から期間d1だけ遅れた時刻(t1+d1)までの期間において、h=1、5のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh1」で示した部分に相当する処理)が実行される。
(3)h=2,6のMBLのイントラリフレッシュ処理では、遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)が、図3に示す時間d2に相当するフレーム数に設定される。
h=2、6のMBLのイントラリフレッシュ処理は、h=0、4のMBLのイントラリフレッシュ処理の開始時刻(リセット時刻)t0〜t4から、それぞれ、期間d2だけ遅れた時刻において、リセットされる。つまり、時刻t0〜t4から、それぞれ、期間d2だけ遅れた時刻において、h=2、6のMBLに含まれるすべてのマクロブロックがイントラマクロブロックの候補となる。そして、時刻t0から期間d2だけ遅れた時刻(t0+d2)から時刻t1から期間d2だけ遅れた時刻(t1+d2)までの期間において、h=2、6のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh1」で示した部分に相当する処理)が実行される。
(4)h=3,7のMBLのイントラリフレッシュ処理では、遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)が、図3に示す時間d3に相当するフレーム数に設定される。
h=3、7のMBLのイントラリフレッシュ処理は、h=0、4のMBLのイントラリフレッシュ処理の開始時刻(リセット時刻)t0〜t4から、それぞれ、期間d3だけ遅れた時刻において、リセットされる。つまり、時刻t0〜t4から、それぞれ、期間d3だけ遅れた時刻において、h=3、7のMBLに含まれるすべてのマクロブロックがイントラマクロブロックの候補となる。そして、時刻t0から期間d3だけ遅れた時刻(t0+d3)から時刻t1から期間d3だけ遅れた時刻(t1+d3)までの期間において、h=3、7のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh1」で示した部分に相当する処理)が実行される。
なお、遅延時間d1、d2、d3は、例えば、
d2=2×d1
d3=3×d1
となるように設定する。なお、遅延時間d1、d2、d3の関係は、上記に限定されない。
また、動画像符号化装置1000では、イントラリフレッシュ処理の周期T1(本実施形態では、T1は30フレームに相当する期間。)において、すべてのマクロブロックがイントラマクロブロックとなるように制御を行う(詳細については、後述。)。
=IntraRefreshCycle/N×mod(h,N)
mod(h,x):法xによる剰余を取得する関数。
N:1グループ内のMBL数
なお、本実施形態では、N=4、IntraRefreshCycle=30であるので、
=30/4×mod(h,4)
となる。
なお、整数演算を行うため、アクティビティ算出部2では、切り捨て処理を行い、
により、各MBLのイントラリフレッシュ処理のリセット時刻(次のイントラリフレッシュ処理の開始時刻)までの遅延時間を示す残ピクチャ数remainPic[mod(h,4)]を取得する。
つまり、上記数式に相当する処理により、アクティビティ算出部2では、例えば、h=0〜3のときのイントラリフレッシュ処理のリセット時刻(次のイントラリフレッシュ処理の開始時刻)までの遅延時間を示す残ピクチャ数remainPicが、以下の通り、取得される。
remainPic[mod(0,4)]=remainPic[0]=0
つまり、上記は、h=0のMBLについて、0フレーム後(現フレーム)から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=0のMBLについて、0フレーム後(現フレーム)において、リセットされ、h=0のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
remainPic[mod(1,4)]=remainPic[1]=7
つまり、上記は、h=1のMBLについて、7フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=1のMBLについて、7フレーム後において、リセットされ、h=1のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
remainPic[mod(2,4)]=remainPic[2]=14
つまり、上記は、h=2のMBLについて、14フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=2のMBLについて、14フレーム後において、リセットされ、h=2のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
remainPic[mod(3,4)]=remainPic[3]=21
つまり、上記は、h=3のMBLについて、21フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=3のMBLについて、21フレーム後において、リセットされ、h=3のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
(1)イントラMB決定部3は、アクティビティ値が小さい順に、k個のマクロブロックをイントラマクロブロックに設定する。なお、kは、以下の数式により算出される。
なお、イントラMB決定部3は、remainPic[mod(h,4)]が「0」である場合、remainPic[mod(h,4)]の値を「30」(イントラリフレッシュ処理の周期(フレーム数))に設定する。
(2)イントラMB決定部3は、イントラマクロブロックに設定されたマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次フレーム以降の処理で、イントラマクロブロックに設定されないようにする。また、イントラMB決定部3は、インター/イントラ判定部により、イントラマクロブロックに設定されたマクロブロックについてもイントラリフレッシュ処理済みフラグを立て、次フレーム以降の処理で、イントラマクロブロックに設定されないようにする。
(3)イントラMB決定部3は、イントラマクロブロックに設定されたマクロブロック数を、残マクロブロック数を示す変数remainMBから減算し、減算した結果をremainMBとして保持する。
イントラMB決定部3は、イントラリフレッシュ処理が開始されているMBLについて、上記(1)〜(3)の処理を繰り返すことで、1つのイントラリフレッシュ処理中に、すべてのマクロブロックをイントラマクロブロックに設定する。
図5Aの1フレーム目の処理では、h=0のMBLにおいて、remainPic[mod(h,4)]が「0」であるので、h=0のMBLにおいて、イントラリフレッシュ処理がリセットされ、h=0のMBLの全マクロブロック(16個のマクロブロック)がイントラマクロブロックの候補となる。また、remainPic[mod(h,4)]=4(イントラリフレッシュ処理の周期(フレーム数))は設定されている。そして、イントラMB決定部3は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。なお、以下では、切り捨て処理により、kが整数となるように演算を行っている。
=INT((16+4−1)/4)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Aでは、「1.1」と示したマクロブロックが最小のアクティビティ値を有しており、「1.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「1.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「1.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、グレー部分のマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
=INT((4+1−1)/1)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Aでは、「4.1」と示したマクロブロックが最小のアクティビティ値を有しており、「4.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「4.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「4.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、グレー部分のマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
=INT((8+2−1)/2)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Aでは、「3.1」と示したマクロブロックが最小のアクティビティ値を有しており、「3.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「3.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「3.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、グレー部分のマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
=INT((12+3−1)/3)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Aでは、「2.1」と示したマクロブロックが最小のアクティビティ値を有しており、「2.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「2.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「2.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、グレー部分のマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
図5Bの2フレーム目の処理では、h=0のMBLにおいて、
remainMB=10
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
=INT((10+3−1)/3)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Bでは、「2.1」と示したマクロブロックが最小のアクティビティ値を有しており、「2.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「2.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「2.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、イントラMB決定部3は、グレー部分のマクロブロックをイントラマクロブロックに設定する。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
図5Bでは、h=0のMBLにおいて、ハッチングを付した1つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=0のMBLにおいて、2.1〜2.4の4個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した1個のマクロブロックとの合計5個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。これにより、h=0のMBLについて、イントラマクロブロックに設定されていないマクロブロック数remainMBは、
remainMB=10−5=5
により、5個となる。
図5Bの2フレーム目の処理において、h=1のMBLでは、
であるので、イントラリフレッシュ処理がリセットされ、
に設定される。
また、h=1のMBLの全マクロブロックがイントラマクロブロックの候補に設定される。つまり、
remainMB=16
に設定される。
イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
=INT((16+4−1)/4)=4
つまり、イントラMB決定部3は、アクティビティ値が小さい方から4個のマクロブロックをイントラマクロブロックに設定する。図5Bでは、「1.1」と示したマクロブロックが最小のアクティビティ値を有しており、「1.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「1.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しており、「1.4」と示したマクロブロックが4番目に小さいアクティビティ値を有しているものとする。したがって、イントラMB決定部3は、グレー部分のマクロブロックをイントラマクロブロックに設定する。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
図5Bでは、h=1のMBLにおいて、ハッチングを付した2つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=1のMBLにおいて、1.1〜1.4の4個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した2個のマクロブロックとの合計6個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。これにより、h=1のMBLについて、イントラマクロブロックに設定されていないマクロブロック数remainMBは、
remainMB=16−6=6
により、6個となる。
図5Bの2フレーム目の処理では、h=3のMBLにおいて、
remainMB=6
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
=INT((6+2−1)/2)=3
つまり、イントラMB決定部3は、アクティビティ値が小さい方から3個のマクロブロックをイントラマクロブロックに設定する。図5Bでは、「3.1」と示したマクロブロックが最小のアクティビティ値を有しており、「3.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「3.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しているものとする。したがって、イントラMB決定部3は、グレー部分のマクロブロックをイントラマクロブロックに設定する。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
図5Bでは、h=3のMBLにおいて、ハッチングを付した1つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=3のMBLにおいて、3.1〜3.3の3個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した1個のマクロブロックとの合計4個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。これにより、h=3のMBLについて、イントラマクロブロックに設定されていないマクロブロック数remainMBは、
remainMB=6−4=2
により、2個となる。
図5Cの3フレーム目の処理では、h=0のMBLにおいて、
remainMB=5
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
=INT((5+2−1)/2)=3
つまり、イントラMB決定部3は、アクティビティ値が小さい方から3個のマクロブロックをイントラマクロブロックに設定する。図5Cでは、「3.1」と示したマクロブロックが最小のアクティビティ値を有しており、「3.2」と示したマクロブロックが2番目に小さいアクティビティ値を有しており、「3.3」と示したマクロブロックが3番目に小さいアクティビティ値を有しているものとする。したがって、イントラMB決定部3は、グレー部分のマクロブロックをイントラマクロブロックに設定する。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
図5Cでは、ハッチングを付した1つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、3.1〜3.3の3個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した1個のマクロブロックとの合計4個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。これにより、h=0のMBLについて、イントラマクロブロックに設定されていないマクロブロック数remainMBは、
remainMB=5−4=1
により、1個となる。
図5Cの3フレーム目の処理において、h=1のMBLでは、2フレーム目のh=0についての処理と同様の処理が実行される。
図5Dの4フレーム目の処理では、h=0のMBLにおいて、
remainMB=1
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
=INT((1+1−1)/1)=1
つまり、イントラMB決定部3は、アクティビティ値が小さい方から1個のマクロブロックをイントラマクロブロックに設定する。図5(c)では、「4.1」と示したマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
次に、本実施形態のイントラリフレッシュ方法について、図6のフローチャートを用いて説明する。なお、下記処理は、動画像符号化装置1000により実行されるものであってもよいし、CPU、ROM、RAMを用いて実行されるものであってもよい。
ステップS1にて、MBLのライン番号hごとに(MBLごとに)、イントラリフレッシュ処理の開始ピクチャを決定する。具体的には、下記数式により、MBLごとのイントラリフレッシュ処理の開始時刻(イントラリフレッシュ処理がリセットされる時刻)までの遅延時間を残ピクチャ数として取得する。
=IntraRefreshCycle/N×mod(h,N)
mod(h,x):法xによる剰余を取得する関数。
N:1グループ内のMBL数
h:MBLのライン番号
ステップS2にて、MBLのライン番号hごとに(MBLごとに)設定されたイントラリフレッシュ処理の開始時刻(リセットタイミング)までの遅延時間を示す残ピクチャ数を監視し、残ピクチャ数が「0」である場合は、処理をステップS3に進める。一方、残ピクチャ数が「0」でない場合は、処理をステップS4に進める。
ステップS2において、残ピクチャ数が「0」である場合、ステップS3では、残ピクチャ数remainPic[mod(h,N)]をイントラリフレッシュ処理の周期に相当するフレーム数に設定する。
ステップS4にて、イントラリフレッシュ処理が実行される。具体的には、上記で図3、図4、図5A〜図5Dを用いて説明したのと同様に、MBLごとに、イントラリフレッシュ処理済みフラグの立っていないマクロブロックの中で、アクティビティ値の小さい方からk個のマクロブロックをイントラマクロブロックに設定する。なお、kは、以下の数式により算出される。
イントラマクロブロックに設定されたk個のマクロブロックについては、次フレーム以降でイントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
ステップS5にて、残ピクチャ数remainPic[mod(h,N)]を1だけデクリメントする。
ステップS6にて、イントラリフレッシュ処理をすべきデータがあるか否かの判定を行う。イントラリフレッシュ処理をすべきデータがある場合、処理をステップS2に戻し、ステップS2以降の処理を続ける。一方、イントラリフレッシュ処理をすべきデータがない場合、処理を終了させる。
上記実施形態では、イントラリフレッシュ処理の周期が30フレームである場合について説明したが、これに限定されることはなく、イントラリフレッシュ処理の周期は他の値でもよい。また、動画像符号化装置において、イントラリフレッシュ処理の周期は、外部から設定(変更)できるようにしてもよい。
1 残ピクチャ数取得部(リセットタイミング決定部)
2 アクティビティ算出部
3 イントラMB決定部
4 インター/イントラ判定部
5 符号化部
Claims (12)
- 動画像信号を符号化する動画像符号化装置であって、
前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理を開始するタイミングを決定するリセットタイミング決定部と、
前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出部と、
前記アクティビティ算出部により算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定部と、
前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化部と、
を備え、
前記リセットタイミング決定部は、
前記現フレーム画像に含まれる1つの前記マクロブロックラインである第1マクロブロックラインに対して、第1時刻から、前記イントラリフレッシュ処理が開始され、かつ、
前記現フレーム画像上において、前記第1マクロブロックラインと隣接する前記マクロブロックラインである第2マクロブロックラインに対して、前記第1時刻とは異なる第2時刻から、前記イントラリフレッシュ処理が開始されるように、前記マクロブロックラインごとに、イントラリフレッシュ処理の開始のタイミングであって、前記マクロブロックラインに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定されるタイミングであるリセットタイミングを決定し、
マクロブロックラインごとに実行される前記イントラリフレッシュ処理は、
前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に含まれるN個(N:自然数、N≧2)のフレームに対して実行され、かつ、前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に、前記イントラリフレッシュ処理の処理対象となっているマクロブロックラインに含まれる全てのマクロブロックが、それぞれ最低1回、イントラ符号化処理される、
動画像符号化装置。 - 前記リセットタイミング決定部は、所定の周期により、前記イントラリフレッシュ処理が繰り返し実行されるように、前記イントラリフレッシュ処理を実行するタイミングを決定する、
請求項1に記載の動画像符号化装置。 - 前記リセットタイミング決定部は、前記マクロブロックラインごとに、同一の周期により、前記イントラリフレッシュ処理が繰り返し実行されるように、前記イントラリフレッシュ処理を実行するタイミングを決定する、
請求項2に記載の動画像符号化装置。 - 前記アクティビティ算出部は、前記アクティビティ値を、アダマール変換を用いて算出する、
請求項1から3のいずれかに記載の動画像符号化装置。 - 前記イントラMB決定部は、処理対象の前記マクロブロックラインにおいて、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する、
請求項1から4のいずれかに記載の動画像符号化装置。 - 前記現フレーム画像と、前記符号化部により現フレーム画像より前のフレーム画像を動き補償して取得される動き補償フレーム画像とに基づいて、前記現フレーム画像において、前記イントラMB決定部によりイントラマクロブロックに設定されていないマクロブロックについて、イントラマクロブロックに設定するか否かを判定するインター/イントラ判定部をさらに備え、
前記符号化部は、前記イントラMB決定部および前記インター/イントラ判定部により、イントラマクロブロックに設定されたマクロブロックについて、イントラ符号化処理を行う、
請求項1から5のいずれかに記載の動画像符号化装置。 - イントラMB決定部は、
前記現フレーム画像において、イントラマクロブロックに設定されたマクロブロックについて、次のフレーム以降の処理において、イントラマクロブロックに設定されないように当該マクロブロックについて、イントラマクロブロック設定済みフラグを設定し、前記インター/イントラ判定部によりイントラマクロブロックに設定されたマクロブロックについてもイントラマクロブロック設定済みフラグを設定し、
前記現フレーム画像において、前記イントラマクロブロック設定済みフラグが設定されていないマクロブロックから、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する、
請求項6に記載の動画像符号化装置。 - 前記リセットタイミング決定部は、
マクロブロックラインのライン番号をhとし、N個のマクロブロックラインを1組のグループに設定し、イントラリフレッシュ処理の周期のフレーム数をIntraRefreshCycleとしたとき、マクロブロックライン番号がhのマクロブロックラインのイントラリフレッシュ処理がリセットされるまでの残りのフレーム数を、
remainPic[mod(h,N)]
=INT(IntraRefreshCycle/N)×mod(h,N)
mod(h,x):法xによる剰余を取得する関数
IntraRefreshCycle:イントラリフレッシュ処理の周期(フレーム数)
N:1グループ内のMBL数
h:MBLのライン番号
INT(x):xを超えない最大の整数を取得する関数
により算出し、フレームごとの処理が終了する度に、前記変数remainPic[mod(h,N)]を1だけデクリメントし、デクリメントした前記変数remainPic[mod(h,N)]を保持し、
前記イントラMB決定部は、前記変数remainPic[mod(h,N)]が「0」になったときを、マクロブロックライン番号がhのマクロブロックラインについてのイントラリフレッシュ処理のリセットタイミングとする、
請求項1から7のいずれかに記載の動画像符号化装置。 - 前記イントラMB決定部は、
マクロブロックラインのライン番号をhとし、N個のマクロブロックラインを1組のグループに設定し、マクロブロックラインにおいて、イントラリフレッシュ処理の1周期内において、未だイントラマクロブロックに設定されていないマクロブロックの数をremainMBとし、マクロブロックラインにおいて、1回のイントラリフレッシュ処理が終了するまでの残りのフレーム数をremainPicとしたとき、
k=INT((remainMB+remainPic−1)/remainPic)
N:1グループ内のMBL数
h:MBLのライン番号
INT(x):xを超えない最大の整数を取得する関数
により算出された数kにより、マクロブロックラインにおいて、アクティビティ値が小さい方からk個のマクロブロックをイントラマクロブロックに設定する、
請求項1から8のいずれかに記載の動画像符号化装置。 - 動画像信号を符号化する動画像符号化方法であって、
前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理を開始するタイミングを決定するイントラリフレッシュ処理開始タイミング決定ステップと、
前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出ステップと、
前記アクティビティ算出ステップにより算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定ステップと、
前記イントラMB決定ステップによりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化ステップと、
を備え、
前記イントラリフレッシュ処理開始タイミング決定ステップは、
前記現フレーム画像に含まれる1つの前記マクロブロックラインである第1マクロブロックラインに対して、第1時刻から、前記イントラリフレッシュ処理が開始され、かつ、
前記現フレーム画像上において、前記第1マクロブロックラインと隣接する前記マクロブロックラインである第2マクロブロックラインに対して、前記第1時刻とは異なる第2時刻から、前記イントラリフレッシュ処理が開始されるように、前記マクロブロックラインごとに、イントラリフレッシュ処理の開始のタイミングであって、前記マクロブロックラインに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定されるタイミングであるリセットタイミングを決定し、
マクロブロックラインごとに実行される前記イントラリフレッシュ処理は、
前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に含まれるN個(N:自然数、N≧2)のフレームに対して実行され、かつ、前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に、前記イントラリフレッシュ処理の処理対象となっているマクロブロックラインに含まれる全てのマクロブロックが、それぞれ最低1回、イントラ符号化処理される、
動画像符号化方法。 - 動画像信号を符号化する動画像符号化方法をコンピュータに実行させるためのプログラムであって、
前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理を開始するタイミングを決定するイントラリフレッシュ処理開始タイミング決定ステップと、
前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出ステップと、
前記アクティビティ算出ステップにより算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定ステップと、
前記イントラMB決定ステップによりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化ステップと、
を備え、
前記イントラリフレッシュ処理開始タイミング決定ステップは、
前記現フレーム画像に含まれる1つの前記マクロブロックラインである第1マクロブロックラインに対して、第1時刻から、前記イントラリフレッシュ処理が開始され、かつ、
前記現フレーム画像上において、前記第1マクロブロックラインと隣接する前記マクロブロックラインである第2マクロブロックラインに対して、前記第1時刻とは異なる第2時刻から、前記イントラリフレッシュ処理が開始されるように、前記マクロブロックラインごとに、イントラリフレッシュ処理の開始のタイミングであって、前記マクロブロックラインに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定されるタイミングであるリセットタイミングを決定し、
マクロブロックラインごとに実行される前記イントラリフレッシュ処理は、
前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に含まれるN個(N:自然数、N≧2)のフレームに対して実行され、かつ、前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に、前記イントラリフレッシュ処理の処理対象となっているマクロブロックラインに含まれる全てのマクロブロックが、それぞれ最低1回、イントラ符号化処理される、
動画像符号化方法をコンピュータに実行させるためのプログラム。 - 動画像信号を符号化する集積回路であって、
前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理を開始するタイミングを決定するリセットタイミング決定部と、
前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出部と、
前記アクティビティ算出部により算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定部と、
前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化部と、
を備え、
前記リセットタイミング決定部は、
前記現フレーム画像に含まれる1つの前記マクロブロックラインである第1マクロブロックラインに対して、第1時刻から、前記イントラリフレッシュ処理が開始され、かつ、
前記現フレーム画像上において、前記第1マクロブロックラインと隣接する前記マクロブロックラインである第2マクロブロックラインに対して、前記第1時刻とは異なる第2時刻から、前記イントラリフレッシュ処理が開始されるように、前記マクロブロックラインごとに、イントラリフレッシュ処理の開始のタイミングであって、前記マクロブロックラインに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定されるタイミングであるリセットタイミングを決定し、
マクロブロックラインごとに実行される前記イントラリフレッシュ処理は、
前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に含まれるN個(N:自然数、N≧2)のフレームに対して実行され、かつ、前記イントラリフレッシュ処理の開始時刻から終了時刻までの期間に、前記イントラリフレッシュ処理の処理対象となっているマクロブロックラインに含まれる全てのマクロブロックが、それぞれ最低1回、イントラ符号化処理される、
集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012205826A JP5995622B2 (ja) | 2012-09-19 | 2012-09-19 | 動画像符号化装置、動画像符号化方法およびプログラム |
US14/023,659 US9749624B2 (en) | 2012-09-19 | 2013-09-11 | Moving image coding apparatus and moving image coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012205826A JP5995622B2 (ja) | 2012-09-19 | 2012-09-19 | 動画像符号化装置、動画像符号化方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014060666A JP2014060666A (ja) | 2014-04-03 |
JP5995622B2 true JP5995622B2 (ja) | 2016-09-21 |
Family
ID=50274432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012205826A Active JP5995622B2 (ja) | 2012-09-19 | 2012-09-19 | 動画像符号化装置、動画像符号化方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9749624B2 (ja) |
JP (1) | JP5995622B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015106747A (ja) * | 2013-11-28 | 2015-06-08 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
CN108886633B (zh) | 2016-03-29 | 2021-06-22 | 三菱电机株式会社 | 图像接收再现方法和装置以及图像生成发送方法和装置 |
CN109076233A (zh) | 2016-04-19 | 2018-12-21 | 三菱电机株式会社 | 图像处理装置、图像处理方法和图像处理程序 |
WO2020032049A1 (ja) * | 2018-08-06 | 2020-02-13 | シャープ株式会社 | 動画像復号装置、および動画像符号化装置 |
US11102488B2 (en) * | 2019-05-31 | 2021-08-24 | Ati Technologies Ulc | Multi-scale metric-based encoding |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0166725B1 (ko) * | 1993-06-30 | 1999-03-20 | 김광호 | 강제인트라-프레임부호화방법 |
US7020203B1 (en) | 2001-12-21 | 2006-03-28 | Polycom, Inc. | Dynamic intra-coded macroblock refresh interval for video error concealment |
JP4529615B2 (ja) * | 2004-09-24 | 2010-08-25 | ソニー株式会社 | 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体 |
JP5152190B2 (ja) * | 2007-10-04 | 2013-02-27 | 富士通株式会社 | 符号化装置、符号化方法、符号化プログラムおよび符号化回路 |
JP5441734B2 (ja) | 2010-01-28 | 2014-03-12 | 株式会社メガチップス | 画像符号化装置 |
JP5667364B2 (ja) | 2010-02-10 | 2015-02-12 | 株式会社メガチップス | 画像符号化装置 |
JP5570846B2 (ja) | 2010-03-04 | 2014-08-13 | 株式会社メガチップス | 画像符号化装置 |
-
2012
- 2012-09-19 JP JP2012205826A patent/JP5995622B2/ja active Active
-
2013
- 2013-09-11 US US14/023,659 patent/US9749624B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014060666A (ja) | 2014-04-03 |
US9749624B2 (en) | 2017-08-29 |
US20140079120A1 (en) | 2014-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2733206C1 (ru) | Устройство кодирования изображений, способ кодирования изображений, устройство декодирования изображений, способ декодирования изображений и носитель хранения данных | |
JP5302769B2 (ja) | スキャン変換装置及び画像符号化装置及びそれらの制御方法 | |
JP5215951B2 (ja) | 符号化装置及びその制御方法、コンピュータプログラム | |
JP4682102B2 (ja) | 画像符号化装置及び画像符号化方法 | |
JP6143866B2 (ja) | 画像符号化装置、画像復号装置及びそれらのプログラム | |
US20070147498A1 (en) | Coding device, coding method, program of coding method, and recording medium recorded with program of coding method | |
JP2006140758A (ja) | 動画像符号化方法、動画像符号化装置および動画像符号化プログラム | |
JP2007235291A (ja) | 適応量子化装置及び適応量子化プログラム | |
JP5995622B2 (ja) | 動画像符号化装置、動画像符号化方法およびプログラム | |
JP6149707B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置 | |
WO2009139123A1 (ja) | 画像処理装置およびそれを搭載した撮像装置 | |
JP4774315B2 (ja) | 画像復号化装置及び画像復号化方法 | |
JP5116704B2 (ja) | 画像符号化装置及び画像符号化方法 | |
JP2008182527A (ja) | 画像符号化装置及び方法、並びに撮像システム | |
JP2010098352A (ja) | 画像情報符号化装置 | |
CN105357538A (zh) | 自适应环路滤波方法和装置 | |
WO2012081193A1 (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム | |
JP2010183162A (ja) | 動画像符号化装置 | |
JP5694674B2 (ja) | 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法 | |
JP5582020B2 (ja) | 動画像復号装置、動画像復号方法及び動画像復号プログラム | |
JP4911625B2 (ja) | 画像処理装置、およびそれを搭載した撮像装置 | |
JP2009218965A (ja) | 画像処理装置、それを搭載した撮像装置、および画像再生装置 | |
JP2015076765A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム | |
WO2017082304A1 (ja) | 情報圧縮装置、情報圧縮方法、記録媒体、及び、符号化装置 | |
JP5582019B2 (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150806 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160606 |
|
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: 20160809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5995622 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |