JP2014060666A - 動画像符号化装置、動画像符号化方法およびプログラム - Google Patents

動画像符号化装置、動画像符号化方法およびプログラム Download PDF

Info

Publication number
JP2014060666A
JP2014060666A JP2012205826A JP2012205826A JP2014060666A JP 2014060666 A JP2014060666 A JP 2014060666A JP 2012205826 A JP2012205826 A JP 2012205826A JP 2012205826 A JP2012205826 A JP 2012205826A JP 2014060666 A JP2014060666 A JP 2014060666A
Authority
JP
Japan
Prior art keywords
intra
macroblock
determination unit
encoding
moving image
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
Application number
JP2012205826A
Other languages
English (en)
Other versions
JP5995622B2 (ja
Inventor
Takuya Hiraoka
拓也 平岡
Akira Okamoto
彰 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2012205826A priority Critical patent/JP5995622B2/ja
Priority to US14/023,659 priority patent/US9749624B2/en
Publication of JP2014060666A publication Critical patent/JP2014060666A/ja
Application granted granted Critical
Publication of JP5995622B2 publication Critical patent/JP5995622B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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)

Abstract

【課題】1フレーム当たりの符号量のばらつきを抑制するとともに、画質の劣化の少ない動画像符号化処理を実現する。
【解決手段】動画像符号化装置1000は、残ピクチャ数取得部1と、アクティビティ算出部2と、イントラMB決定部3と、符号化部5と、を備える。残ピクチャ数取得部1は、現フレーム画像の時系列上の位置を検出し、マクロブロックライン(MBL)ごとに、イントラリフレッシュ処理のリセットタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する。アクティビティ算出部2は、マクロブロック(MB)ごとに、アクティビティ値を算出する。イントラMB決定部3は、アクティビティ算出部2により算出されたアクティビティ値に基づき、イントラMBに設定するMBを決定する。符号化部5は、イントラMBに設定されたMBをイントラ符号化処理により符号化する。
【選択図】図1

Description

本発明は、動画像(映像)を符号化し、動画像(映像)圧縮処理を行う技術に関する。特に、イントラ符号化処理とインター符号化処理とを用いて動画像(映像)を符号化する技術に関する。
MPEG2やH.264などの動画像符号化技術においては、イントラ符号化処理とインター符号化処理とが用いられる。イントラ符号化処理は、参照フレームを利用せずに、符号化対象のフレーム内で符号化処理が完結する。インター符号化処理は、参照フレームを利用することで符号化対象のフレームに対する符号化が行われる。
Iピクチャに含まれる全てのマクロブロックは、イントラ符号化処理により符号化される。PピクチャおよびBピクチャに含まれるマクロブロックは、インター符号化処理により符号化される。Iピクチャの発生符号量は、全てのマクロブロックがイントラ符号化されるため、PピクチャあるいはBピクチャの発生符号量よりも大きい。H.264においては、イントラ予測技術が利用されるが、やはり、PピクチャあるいはBピクチャと比較すると発生符号量が大きい。
低遅延の再生あるいは伝送が求められるシステムにおいては、Iピクチャにおける発生符号量の上昇が問題となる。また、Iピクチャの出現周期で発生符号量が振動するという問題がある。発生符号量が振動すると、一時的にバッファのサイズが多く必要となり、非効率である。
また、処理対象のデータに、フレーム内の全てのマクロブロックがイントラ符号化処理されるIピクチャが存在する場合、Iピクチャの処理で遅延が発生する可能性がある。このため、Iピクチャを含むデータを処理するシステムにより、低遅延なシステムを実現することは困難である。そこで、非特許文献1に示すような、「イントラリフレッシュ」(イントラスライスでの画像のリフレッシュ方法)と呼ばれる符号化方法が提案されている。
非特許文献1に開示されているイントラリフレッシュ符号化処理では、フレーム内の全てのマクロブロックがイントラ符号化されるIピクチャは利用されない。非特許文献1のイントラリフレッシュ符号化処理では、イントラマクロブロックがスライス単位で配置される。フレーム内のあるスライス内の全てのマクロブロックを、予測を用いずに直接DCTを行うイントラマクロブロックとして符号化する。このようなスライスを「イントラスライス」と呼ぶ。イントラリフレッシュ符号化処理では、イントラスライスを適用する場所をフレームごとに順次ずらし、一定周期でイントラスライスの位置が画面全体を巡回するように処理を行う。つまり、イントラリフレッシュ符号化処理では、一定周期でイントラスライスの位置が画面全体を巡回する(画面がリフレッシュされる)。Iピクチャに比べ、イントラスライスに要する発生符号量は少ないため、イントラリフレッシュ処理を採用したシステムでは、バッファサイズを減少させ、遅延を減らすことができる。
非特許文献1で示すように、イントラリフレッシュ処理を用いることで、イントラブロックをGOP内に分散させることができる。
しかし、上記イントラリフレッシュ処理では、スライス内の全てのマクロブロックをイントラ符号化処理し、かつ、フレームごとにイントラスライスの位置を1列ずつずらしていく処理が実行されるので、復号画像(映像)の画質が劣化することがある。具体的には、画像を連続再生したとき、復号画像(映像)において、イントラスライス部分が走査線のように(横帯状に)見えてしまうという問題がある。
この問題を解決するために、例えば、特許文献1に開示されている技術では、イントラマクロブロックをマクロブロック単位で分散させるようにしている。
特開2004−215252号公報 特許庁、資料室、平成24年8月13日検索、インターネット<URL:http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/nle/nle-7-1.html>
しかしながら、特許文献1の技術では、イントラマクロブロックが複雑な画像である場合、イントラマクロブロックの符号量が増加する傾向にある。イントラマクロブロックの符号量を抑制するためには、イントラマクロブロックを粗く量子化することが考えられるが、イントラマクロブロックを粗く量子化した場合、イントラマクロブロックの画質と、イントラマクロブロックの周囲に位置するインターマクロブロックの画質とに差が生じる。その結果、特許文献1の技術を採用した場合、復号画像(映像)上において、イントラマクロブロックの位置が目立つという問題、すなわち、復号画像(映像)の画質が劣化するという問題がある。
そこで、本発明は、上記課題に鑑み、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行う動画像符号化装置、動画像符号化方法およびプログラムを実現することを目的とする。
上記課題を解決するために、第1の発明は、動画像信号を符号化する動画像符号化装置であって、リセットタイミング決定部と、アクティビティ算出部と、イントラMB決定部と、符号化部と、を備える。
リセットタイミング決定部は、動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセット(開始)するタイミングを決定する。
アクティビティ算出部は、動画像信号から、現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出する。
イントラMB決定部は、アクティビティ算出部により算出されたアクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定する。
符号化部は、イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する。
そして、リセットタイミング決定部は、マクロブロックラインごとに、イントラリフレッシュ処理がリセット(開始)されるタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する。
この動画像符号化装置では、マクロブロックラインごとに、イントラリフレッシュ処理がリセット(開始)されるタイミングがずれるように、イントラリフレッシュ処理のリセット(開始)タイミングが決定されるので、1フレームにおいて、符号化量の多いイントラマクロブロックが数多く設定されることがなく、1フレームあたりの符号化量が極端に大きくなることを適切に抑制することができる。その結果、この動画像符号化装置では、1フレームにおいて、荒く量子化する必要が生じるマクロブロックが発生しにくい。つまり、この動画像符号化装置では、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行うことができる。
なお、マクロブロックラインごとに、「イントラリフレッシュ処理がリセットされる」ことで、当該マクロブロックラインに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
第2の発明は、第1の発明であって、リセットタイミング決定部は、マクロブロックラインごとに、所定の周期により、イントラリフレッシュ処理が繰り返し実行されるように、イントラリフレッシュ処理を実行するタイミングを決定する。
この動画像符号化装置では、マクロブロックラインごとに所定の周期によりイントラリフレッシュ処理が繰り返されるので、特定のフレームの符号化量が多くなることを適切に抑制することができる。
第3の発明は、第2の発明であって、リセットタイミング決定部は、マクロブロックラインごとに、同一の周期により、イントラリフレッシュ処理が繰り返し実行されるように、イントラリフレッシュ処理を実行するタイミングを決定する。
この動画像符号化装置では、マクロブロックラインごとに同一の周期によりイントラリフレッシュ処理が繰り返されるので、ブロックライン間において、最初に生じた遅延時間(位相差)を保ったまま、イントラリフレッシュ処理が実行される。したがって、この動画像符号化装置では、特定のフレームの符号化量が多くなることをより適切に抑制することができる。
第4の発明は、第1から第3のいずれかの発明であって、アクティビティ算出部は、アクティビティ値を、アダマール変換を用いて算出する。
この動画像符号化装置では、アダマール変換を用いて、アクティビティ値を算出するので、整数演算のみでアクティビティ値を算出することができるとともに、アダマール変換後の周波数成分を取得することで、複雑度(アクティビティ値)を精度良く取得することができる。
第5の発明は、第1から第4のいずれかの発明であって、イントラMB決定部は、処理対象のマクロブロックラインにおいて、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する。
この動画像符号化装置では、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定されるので、効率良く符号化することができる。アクティビティ値の小さいマクロブロックの符号化量は少ないため、上記処理を行うことで、1フレームにおける符号量の増大を適切に抑制することができる。その結果、この動画像符号化装置では、特定のフレームの符号化量が多くなることを適切に抑制することができる。
第6の発明は、第1から第5のいずれかの発明であって、インター/イントラ判定部をさらに備える。
インター/イントラ判定部は、現フレーム画像と、符号化部により現フレーム画像より前のフレーム画像を動き補償して取得される動き補償フレーム画像とに基づいて、現フレーム画像において、イントラMB決定部によりイントラマクロブロックに設定されていないマクロブロックについて、イントラマクロブロックに設定するか否かを判定する。
符号化部は、イントラMB決定部およびインター/イントラ判定部により、イントラマクロブロックに設定されたマクロブロックについて、イントラ符号化処理を行う。
これにより、イントラMB決定部によりイントラマクロブロックに設定されていないマクロブロックについて、H.264等で採用されている符号化コストを算出し、算出された符号化コストに基づいて、当該マクロブロックについて、画質、符号量の両面から最適な符号化モードが選択されインター符号化処理またはイントラ符号化処理が実行される。したがって、この動画像符号化装置では、イントラMB決定部によりイントラマクロブロックに設定されていないマクロブロックについても、高画質を確保しつつ符号化量の増大を抑制した符号化処理を行うことができる。
第7の発明は、第6の発明であって、イントラMB決定部は、現フレーム画像において、イントラマクロブロックに設定されたマクロブロックについて、次のフレーム以降の処理において、イントラマクロブロックに設定されないように当該マクロブロックについて、イントラマクロブロック設定済みフラグを設定し、インター/イントラ判定部によりイントラマクロブロックに設定されたマクロブロックについてもイントラマクロブロック設定済みフラグを設定する。また、イントラMB決定部は、現フレーム画像において、イントラマクロブロック設定済みフラグが設定されていないマクロブロックから、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する。
これにより、この動画像符号化装置では、1周期内のイントラリフレッシュ処理において、一度イントラマクロブロックに設定されたマクロブロックについては、イントラマクロブロックに設定されることがない。したがって、特定のマクロブロックが何度もイントラマクロブロックに設定されることで、発生する復号画像上の画質の劣化が生じにくい。
第8の発明は、第1から第7のいずれかの発明であって、リセットタイミング決定部は、マクロブロックラインのライン番号を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つのグループにおけるマクロブロックラインごとのイントラリフレッシュ処理がリセット(開始)されるまでの遅延時間(位相差)が略均等となるため、イントラマクロブロックに設定されるマクロブロックを適切に分散させることができる。その結果、この動画像符号化装置では、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行うことができる。
第9の発明は、第1から第8のいずれかの発明であって、イントラ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周期内に全てのマクロブロックがイントラマクロブロックに設定されることが保証される。したがって、この動画像符号化装置では、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行うことができる。
第10の発明は、動画像信号を符号化する動画像符号化方法であって、イントラリフレッシュ処理開始タイミング決定ステップと、アクティビティ算出ステップと、イントラMB決定ステップと、符号化ステップと、を備える。
イントラリフレッシュ処理開始タイミング決定ステップは、動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセット(開始)するタイミングを決定する。
アクティビティ算出ステップは、動画像信号から、現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出する。
イントラMB決定ステップは、アクティビティ算出ステップにより算出されたアクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定する。
符号化ステップは、イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する。
そして、イントラリフレッシュ処理開始タイミング決定ステップは、マクロブロックラインごとに、イントラリフレッシュ処理がリセット(開始)されるタイミングがずれるように、イントラリフレッシュ処理をリセット(開始)するタイミングを決定する。
これにより、第1の発明と同様の効果を奏する動画像符号化方法を実現することができる。
第11の発明は、動画像信号を符号化する動画像符号化方法をコンピュータに実行させるためのプログラムである。動画像符号化方法は、イントラリフレッシュ処理開始タイミング決定ステップと、アクティビティ算出ステップと、イントラMB決定ステップと、符号化ステップと、を備える。
イントラリフレッシュ処理開始タイミング決定ステップは、動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理を開始するタイミングを決定する。
アクティビティ算出ステップは、動画像信号から、現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出する。
イントラMB決定ステップは、アクティビティ算出ステップにより算出されたアクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定する。
符号化ステップは、イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する。
そして、イントラリフレッシュ処理開始タイミング決定ステップは、マクロブロックラインごとに、イントラリフレッシュ処理がリセット(開始)されるタイミングがずれるように、イントラリフレッシュ処理をリセット(開始)するタイミングを決定する。
これにより、第1の発明と同様の効果を奏する動画像符号化方法をコンピュータに実行させるプログラムを実現することができる。
第12の発明は、動画像信号を符号化する集積回路であって、リセットタイミング決定部と、アクティビティ算出部と、イントラMB決定部と、符号化部と、を備える。
リセットタイミング決定部は、動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセット(開始)するタイミングを決定する。
アクティビティ算出部は、動画像信号から、現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出する。
イントラMB決定部は、アクティビティ算出部により算出されたアクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定する。
符号化部は、イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する。
そして、リセットタイミング決定部は、マクロブロックラインごとに、イントラリフレッシュ処理がリセット(開始)されるタイミングがずれるように、イントラリフレッシュ処理がリセット(開始)されるタイミングを決定する。
これにより、第1の発明と同様の効果を奏する集積回路を実現することができる。
本発明によれば、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制するとともに、復号画像(映像)の画質の劣化の少ない動画像符号化処理を行う動画像符号化装置、動画像符号化方法およびプログラムを実現することができる。
第1実施形態に係る動画像符号化装置1000の概略構成図。 動画像符号化装置1000に入力される動画像信号Dinの一例を示す図。 1つグループが4つのMBLからなる場合のMBLごとのイントラリフレッシュ処理についてのタイミングチャート図。 h=0〜3のときのイントラリフレッシュ処理と、残ピクチャ数remainPicとの関係を模式的に示すタイミングチャート図。 1MBLが16個のマクロブロックからなり、イントラリフレッシュ処理の周期が4フレームの場合について、イントラリフレッシュ処理を説明するための図。 1MBLが16個のマクロブロックからなり、イントラリフレッシュ処理の周期が4フレームの場合について、イントラリフレッシュ処理を説明するための図。 1MBLが16個のマクロブロックからなり、イントラリフレッシュ処理の周期が4フレームの場合について、イントラリフレッシュ処理を説明するための図。 1MBLが16個のマクロブロックからなり、イントラリフレッシュ処理の周期が4フレームの場合について、イントラリフレッシュ処理を説明するための図。 イントラリフレッシュ方法のフローチャート。 動画像符号化装置1000により符号化したデータ(動画像符号化信号)のビットレートと、MBLごとにイントラリフレッシュ処理の開始時刻をずらさずに(遅延させずに)イントラリフレッシュ処理を実行して取得した符号化データ(動画像符号化信号)のビットレートとの比較結果を示す図。
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
<1.1:動画像符号化装置の構成>
図1は、第1実施形態に係る動画像符号化装置1000の概略構成図である。
動画像符号化装置1000は、図1に示すように、入力動画像信号Dinから処理対象の画像(ピクチャ)の時間軸上の位置を検出する残ピクチャ数取得部1(リセットタイミング決定部)と、入力動画像信号Dinを入力とし、処理対象の画像(ピクチャ)においてマクロブロックごとにアクティビティ値を算出するアクティビティ算出部2と、を備える。
また、動画像符号化装置1000は、処理対象の画像(ピクチャ)において、どのマクロブロックをイントラマクロブロックとするかを決定するイントラMB決定部3と、処理対象の画像(ピクチャ)において、マクロブロックごとに、インター符号化すべきか、それとも、イントラ符号化すべきかを決定するインター/イントラ判定部4と、を備える。
さらに、動画像符号化装置1000は、イントラMB決定部3およびインター/イントラ判定部の処理結果に基づいて、入力動画像信号Dinを符号化する符号化部5を備える。
残ピクチャ数取得部1は、複数のフレーム画像(ピクチャ)を形成することができる動画像信号Dinと、イントラリフレッシュ周期に関する情報とを入力とする。残ピクチャ数取得部1は、動画像信号Dinから、処理対象のフレーム(ピクチャ)の時間軸上の位置を特定し、マクロブロックラインごとに設定される残ピクチャ数を、イントラリフレッシュ周期に基づいて、取得する(詳細については後述。)。なお、イントラリフレッシュ周期に関する情報は、設定部(不図示)から入力される情報であり、例えば、フレーム数(ピクチャ数)を用いて設定される。例えば、イントラリフレッシュ周期が「30」(30フレーム)とは、イントラリフレッシュ処理が実行される周期が、30フレームに相当する時間であることを意味する。
残ピクチャ数取得部1は、取得した残ピクチャ数(remainPic)に関する情報をイントラMB決定部3に出力する。
アクティビティ算出部2は、動画像信号Dinを入力とし、処理対象のフレーム画像(ピクチャ)の各マクロブロックのアクティビティ値ACTを算出する(詳細については、後述。)。そして、アクティビティ算出部2は、マクロブロックごとに算出したアクティビティ値ACTに関する情報をイントラMB決定部3に出力する。
イントラMB決定部3は、残ピクチャ数取得部1から出力される残ピクチャ数remainPicに関する情報と、アクティビティ算出部2により算出された各マクロブロックのアクティビティ値ACTに関する情報と、を入力とする。さらに、イントラMB決定部3は、インター/イントラ判定部4から出力されるマクロブロックごとのインター/イントラ判定結果に関する情報(詳細については後述。)を入力とする。そして、イントラMB決定部3は、残ピクチャ数remainPicに関する情報に基づいて、マクロブロックごとに、当該マクロブロックをイントラマクロブロックに設定するか否かについて、決定する。イントラMB決定部3は、マクロブロックごとに決定した、イントラマクロブロックに設定するか否かの情報(DET_IntraMB)をインター/イントラ判定部4および符号化部5に出力する。
インター/イントラ判定部4は、動画像信号Dinと、イントラMB決定部3から出力されるマクロブロックごとに決定されたイントラマクロブロックの設定情報(DET_IntraMB)と、符号化部5から出力される動き補償後の動画像信号ME_out(処理対象ピクチャ(現フレーム画像)の1フレーム前のフレーム画像を動きベクトルにより動き補償して生成される動画像信号)と、を入力とする。インター/イントラ判定部4は、イントラマクロブロックの設定情報(DET_IntraMB)から、イントラマクロブロックに設定されていないマクロブロックを検出する。インター/イントラ判定部4は、当該マクロブロック(イントラMB決定部3によりイントラマクロブロックに設定されなかったマクロブロック)を、動き補償後の動画像信号ME_outに基づいて符号化コストを算出し、算出した符号化コストに基づいて、当該マクロブロックを、イントラマクロブロックに設定するか否かを決定する。インター/イントラ判定部4は、マクロブロックごとに決定した、イントラマクロブロックに設定するか否かの情報(DET2_IntraMB)をイントラMB決定部3および符号化部5に出力する。
符号化部5は、動画像信号Dinと、イントラMB決定部3から出力されるマクロブロックごとに決定されたイントラマクロブロックの設定情報(DET_IntraMB)と、インター/イントラ判定部4から出力されるマクロブロックごとに決定されたイントラマクロブロックの設定情報(DET2_IntraMB)と、を入力とする。符号化部5は、イントラMB決定部3によるイントラマクロブロックの設定情報(DET_IntraMB)およびインター/イントラ判定部4によるイントラマクロブロックの設定情報(DET2_IntraMB)に基づいて、動画像信号Dinにより形成される各フレーム画像(各ピクチャ)の各マクロブロックに対して、イントラ符号化処理またはインター符号化処理を行う。そして、符号化処理後の信号を、動画像符号化信号Doutとして出力する。また、符号化部5は、現フレームの動画像信号と(現在処理対象となっているフレームの)1フレーム前のフレームの動画像信号とから導出した動きベクトルにより動き補償して取得した現フレーム処理用の動画像信号ME_outをインター/イントラ判定部4に出力する。
<1.2:動画像符号化装置の動作>
以上のように構成された動画像符号化装置1000は動作について、以下、説明する。
図2は、動画像符号化装置1000に入力される動画像信号Dinの一例を示す図である。図2に示す動画像信号Dinは、30fpsの信号であり、例えば、固定ビットレート(CBR(Constant Bit Rate))制御を行うために、Bピクチャを用いない動画像信号であるものとする。具体的には、動画像信号Dinは、最初のフレーム(ピクチャ)のみIピクチャであり、それ以降のフレーム(ピクチャ)は、全てPピクチャから構成されている。つまり、動画像信号Dinは、最初の30フレームのみ、図2(a)に示すピクチャ構成となっており、それ以降は、30フレームごとに、図2(b)に示すピクチャ構成となっている。ピクチャ番号を単位時間(図2の場合、単位時間は1秒であり、単位時間あたりのフレーム(ピクチャ)数は、「30」である。)において、時系列に順番に振るものとすると、最初の30フレームにおいて、ピクチャ番号0のピクチャのみがIピクチャであり、ピクチャ番号1〜29のピクチャはPピクチャである。さらに、それ以降については、30フレームごとに、ピクチャ番号0〜29のピクチャ(全てのピクチャ)はPピクチャである。
なお、以下では、動画像信号Dinは、フレームレートが30fpsであり、最初のフレームのみがIピクチャであり、それ以降のフレームは全てPピクチャであるものとして、説明する。また、以下では、イントラリフレッシュ処理の周期を30フレーム(30フレームに相当する時間)として説明する。
動画像信号Dinは、残ピクチャ数取得部1、アクティビティ算出部2、インター/イントラ判定部4、および、符号化部5に入力される。
残ピクチャ数取得部1では、入力された動画像信号Dinから、処理対象フレーム(ピクチャ)の単位時間内における時間軸方向の位置が検出される。そして、残ピクチャ数取得部1では、イントラリフレッシュ周期(本実施形態では30フレーム)に基づいて、イントラリフレッシュ処理がリセットされるまでの時間に相当する残ピクチャ数が算出される。
動画像符号化装置1000では、N個(Nは2以上の自然数)のマクロブロックライン(以下、「MBL」という。)を1つのグループとし、同一グループ内において、MBLごとに、イントラリフレッシュ処理がリセットされるまでの時間(遅延させる時間)が異なる。これについて、図3を用いて説明する。
図3は、N=4の場合、つまり、1つのグループが4つのMBLからなる場合のMBLごとのイントラリフレッシュ処理がリセットされるまでの遅延時間を模式的に示すタイミングチャート図である。図3において、横軸は時間軸であり、hはマクロブロックラインの行の位置を示している。図3(a)〜(h)は、時間軸を一致させて描いている。なお、図3は、N=4の場合を示しているが、Nは他の自然数であってもよい。以下では、説明便宜のため、N=4の場合について、説明する。
図3に示すように、同一グループ内において、各MBLのイントラリフレッシュ処理の開始時刻(リセット時刻)はお互いに異なっている。具体的には、図3に示すように、以下のように遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)が設定される。なお、遅延時間(次のイントラリフレッシュ処理のリセットまでの時間)は、フレーム数で設定されるものとする。なお、以下では、説明便宜のために、h=0〜7(8ライン分)を例に説明する。
(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」で示した部分に相当する処理)が実行される。
上記と同様に、時刻t2において、h=0,4のMBLのイントラリフレッシュ処理は、リセットされ、期間t2〜t3において、h=0,4のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh2」で示した部分に相当する処理)が実行される。
さらに、時刻t3において、h=0,4のMBLのイントラリフレッシュ処理は、リセットされ、期間t3〜t4において、h=0,4のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh3」で示した部分に相当する処理)が実行される。以降、上記同様の処理が繰り返される。
なお、図3は、図2で示した動画像信号を入力とする場合について図示しており、開始時刻t0において、最初のフレームが入力される。最初のフレームは、Iピクチャであるので、開始時刻t0において、1フレームの全マクロブロックがイントラマクロブロックとして符号化される。その後、時刻t0に処理対象となったフレームの次のフレームが処理対象となる時刻から時刻t1まで、h=0、4のMBLのイントラリフレッシュ処理は実行されないことになる。
(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」で示した部分に相当する処理)が実行される。
上記と同様に、時刻t1から期間d1だけ遅れた時刻において、h=1,5のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t1+d1)から時刻(t2+d1)までの期間において、h=1,5のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh2」で示した部分に相当する処理)が実行される。
さらに、時刻t2から期間d1だけ遅れた時刻において、h=1,5のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t2+d1)から時刻(t3+d1)までの期間において、h=1,5のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh3」で示した部分に相当する処理)が実行される。そして、上記同様の処理が繰り返される。
なお、開始時刻t0において、Iフレームが入力されるので、開始時刻t0において、1フレームの全マクロブロックがイントラマクロブロックとして符号化される。その後、時刻t0+d1(時刻t0から期間d1が経過した時刻)まで、h=1、5のMBLのイントラリフレッシュ処理は実行されないことになる。
(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」で示した部分に相当する処理)が実行される。
上記と同様に、時刻t1から期間d2だけ遅れた時刻において、h=2,6のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t1+d2)から時刻(t2+d2)までの期間において、h=2,6のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh2」で示した部分に相当する処理)が実行される。
さらに、時刻t2から期間d2だけ遅れた時刻において、h=2,6のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t2+d2)から時刻(t3+d2)までの期間において、h=2,6のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh3」で示した部分に相当する処理)が実行される。そして、上記同様の処理が繰り返される。
なお、開始時刻t0において、Iフレームが入力されるので、開始時刻t0において、1フレームの全マクロブロックがイントラマクロブロックとして符号化される。その後、時刻t0+d2(時刻t0から期間d2が経過した時刻)まで、h=2、6のMBLのイントラリフレッシュ処理は実行されないことになる。
(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」で示した部分に相当する処理)が実行される。
上記と同様に、時刻t1から期間d3だけ遅れた時刻において、h=3,7のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t1+d3)から時刻(t2+d3)までの期間において、h=3,7のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh2」で示した部分に相当する処理)が実行される。
さらに、時刻t2から期間d3だけ遅れた時刻において、h=3,7のMBLのイントラリフレッシュ処理は、リセットされ、時刻(t2+d3)から時刻(t3+d3)までの期間において、h=3,7のMBLに対して、1周期分のイントラリフレッシュ処理(図3の「IntraRefresh3」で示した部分に相当する処理)が実行される。そして、上記同様の処理が繰り返される。
なお、開始時刻t0において、Iフレームが入力されるので、開始時刻t0において、1フレームの全マクロブロックがイントラマクロブロックとして符号化される。その後、時刻t0+d3(時刻t0から期間d3が経過した時刻)まで、h=3、7のMBLのイントラリフレッシュ処理は実行されないことになる。
なお、遅延時間d1、d2、d3は、例えば、
d2=2×d1
d3=3×d1
となるように設定する。なお、遅延時間d1、d2、d3の関係は、上記に限定されない。
また、動画像符号化装置1000では、イントラリフレッシュ処理の周期T1(本実施形態では、T1は30フレームに相当する期間。)において、すべてのマクロブロックがイントラマクロブロックとなるように制御を行う(詳細については、後述。)。
残ピクチャ数取得部1では、イントラリフレッシュ処理のリセット時刻(MBLのすべてのマクロブロックをイントラマクロブロック候補に設定(リセット)する時刻)までの遅延時間を残ピクチャ数として取得される。具体的には、残ピクチャ数取得部1は、下記数式により、MBLごとのイントラリフレッシュ処理のリセット時刻(次の1周期分のイントラリフレッシュ処理が開始される時刻)までの遅延時間を残ピクチャ数として取得する。
remainPic[mod(h,N)]
=IntraRefreshCycle/N×mod(h,N)
mod(h,x):法xによる剰余を取得する関数。
IntraRefreshCycle:イントラリフレッシュ処理の周期(フレーム数)
N:1グループ内のMBL数
なお、本実施形態では、N=4、IntraRefreshCycle=30であるので、
remainPic[mod(h,4)]
=30/4×mod(h,4)
となる。
なお、整数演算を行うため、アクティビティ算出部2では、切り捨て処理を行い、
remainPic[mod(h,4)]=7×mod(h,4)
により、各MBLのイントラリフレッシュ処理のリセット時刻(次のイントラリフレッシュ処理の開始時刻)までの遅延時間を示す残ピクチャ数remainPic[mod(h,4)]を取得する。
つまり、上記数式に相当する処理により、アクティビティ算出部2では、例えば、h=0〜3のときのイントラリフレッシュ処理のリセット時刻(次のイントラリフレッシュ処理の開始時刻)までの遅延時間を示す残ピクチャ数remainPicが、以下の通り、取得される。
(a)h=0のとき、
remainPic[mod(0,4)]=remainPic[0]=0
つまり、上記は、h=0のMBLについて、0フレーム後(現フレーム)から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=0のMBLについて、0フレーム後(現フレーム)において、リセットされ、h=0のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
(b)h=1のとき、
remainPic[mod(1,4)]=remainPic[1]=7
つまり、上記は、h=1のMBLについて、7フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=1のMBLについて、7フレーム後において、リセットされ、h=1のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
(c)h=2のとき、
remainPic[mod(2,4)]=remainPic[2]=14
つまり、上記は、h=2のMBLについて、14フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=2のMBLについて、14フレーム後において、リセットされ、h=2のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
(d)h=3のとき、
remainPic[mod(3,4)]=remainPic[3]=21
つまり、上記は、h=3のMBLについて、21フレーム後から、イントラリフレッシュ処理が開始されることを示している。つまり、この場合、h=3のMBLについて、21フレーム後において、リセットされ、h=3のMBLに含まれる全てのマクロブロックがイントラマクロブロックの候補に設定される。
なお、残ピクチャ数取得部1では、その後、次のフレーム以降の処理に進むと、残ピクチャ数remainPic[0]〜[3]は、それぞれ、1ずつデクリメントされていく。そして、残ピクチャ数取得部1では、残ピクチャ数remainPic[0]〜[3]に関する情報が保持されるとともに、残ピクチャ数remainPic[0]〜[3]に関する情報は、イントラMB決定部3に出力される。
図4は、h=0〜3のときのイントラリフレッシュ処理と、残ピクチャ数remainPicとの関係を模式的に示すタイミングチャート図である。図4の横軸は時間軸であり、図4(a)〜(d)は、時間軸を一致させて描いている。また、図4は、図3と同様に、図2で示した動画像信号を入力とする場合についての図である。
図4から分かるように、h=0のMBLでは、0フレーム後(現フレーム)から、イントラリフレッシュ処理が開始されており、その後、周期30フレームで、イントラリフレッシュ処理が繰り返される。なお、最初に、Pピクチャのフレームに対して、イントラリフレッシュ処理が開始されるのは、30フレーム後である。
h=1のMBLでは、7フレーム後において、最初に、Pピクチャのフレームに対して、イントラリフレッシュ処理(イントラリフレッシュ処理IntraRefresh1)が開始されており、その後、周期30フレームで、イントラリフレッシュ処理が繰り返される。
h=2のMBLでは、14フレーム後において、最初に、Pピクチャのフレームに対して、イントラリフレッシュ処理(イントラリフレッシュ処理IntraRefresh1)が開始されており、その後、周期30フレームで、イントラリフレッシュ処理が繰り返される。
h=3のMBLでは、21フレーム後において、最初に、Pピクチャのフレームに対して、イントラリフレッシュ処理(イントラリフレッシュ処理IntraRefresh1)が開始されており、その後、周期30フレームで、イントラリフレッシュ処理が繰り返される。
アクティビティ算出部2では、動画像信号Dinから、マクロブロックごとのアクティビティ値を算出する。アクティビティ値は、マクロブロック内の画像の複雑さを示す数値である。アクティビティ算出部2では、マクロブロック内の各画素の画素値に対して、例えば、アダマール変換を行い、周波数成分を抽出し、抽出した周波数成分により、マクロブロック内の画像の複雑さであるアクティビティ値を取得する。具体的には、アクティビティ算出部2は、マクロブロックが8画素×8画素からなる場合、マクロブロック内の各行(8つの行)に対して、1×8アダマール変換行列[1 −1 1 −1 1 −1 1 −1]を適用することで、周波数成分を抽出し、各行について、抽出した周波数成分を加算することで(各行について抽出した成分の絶対値をとった後、加算することで)、アクティビティ値を算出する。つまり、8画素×8画素のマクロブロックの各画素の画素値をAij(i:整数、1≦i≦8、j:整数、1≦j≦8)とすると、アクティビティ値ACTは、下記(数式1)により算出される。なお、Aijは、i行j列目の画素値を表すものとする。
上記(数式1)による演算により、水平方向の高周波成分が整数演算処理のみで抽出することができるため、アクティビティ算出部2において、高速に、マクロブロックごとのアクティビティ値を算出することができる。
なお、M画素×N画素のマクロブロックの場合は、マクロブロックの各画素の画素値をAij(i:整数、1≦i≦M、j:整数、1≦j≦N)とすると、アクティビティ値ACTを、下記(数式2)により算出すればよい。また、アクティビティ値ACTが所定の範囲となるように、所定の係数による調整処理や、正規化処理を行うようにしてもよい。
なお、アクティビティ値を算出する方法は、マクロブロック内の画像の複雑さを抽出することができる方法であれば、上記以外の方法であってもよい。また、画素値として、マクロブロック内の画素の輝度値や、各色成分の画素値を用いることができる。
アクティビティ算出部2により算出されたアクティビティ値に関する情報(ACT)は、イントラMB決定部3に出力される。
イントラMB決定部3は、残ピクチャ数取得部1から出力される残ピクチャ数remainPic[0]〜[3]に基づいて、MBLごとに、以下の(1)〜(3)の処理により、イントラマクロブロックに設定するマクロブロックを決定する。
(1)イントラMB決定部3は、アクティビティ値が小さい順に、k個のマクロブロックをイントラマクロブロックに設定する。なお、kは、以下の数式により算出される。
k=(remainMB+remainPic[mod(h,4)]−1)/remainPic[mod(h,4)]
なお、イントラMB決定部3は、remainPic[mod(h,4)]が「0」である場合、remainPic[mod(h,4)]の値を「30」(イントラリフレッシュ処理の周期(フレーム数))に設定する。
また、remainMBは、MBLにおいて、未だイントラマクロブロックに設定されていないマクロブロックの数である。したがって、remainMBの初期値(イントラリフレッシュ処理が開始されたときの値)は、MBLに含まれるマクロブロック数であり、1回目のイントラリフレッシュ処理が終了し、2回目のイントラリフレッシュ処理が開始されるときに、remainMBの値は、再度、MBLに含まれるマクロブロック数に設定される。
(2)イントラMB決定部3は、イントラマクロブロックに設定されたマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次フレーム以降の処理で、イントラマクロブロックに設定されないようにする。また、イントラMB決定部3は、インター/イントラ判定部により、イントラマクロブロックに設定されたマクロブロックについてもイントラリフレッシュ処理済みフラグを立て、次フレーム以降の処理で、イントラマクロブロックに設定されないようにする。
(3)イントラMB決定部3は、イントラマクロブロックに設定されたマクロブロック数を、残マクロブロック数を示す変数remainMBから減算し、減算した結果をremainMBとして保持する。
イントラMB決定部3は、イントラリフレッシュ処理が開始されているMBLについて、上記(1)〜(3)の処理を繰り返すことで、1つのイントラリフレッシュ処理中に、すべてのマクロブロックをイントラマクロブロックに設定する。
ここで、図5A、図5B、図5Cおよび図5Dを用いて、イントラMB決定部3の処理について説明する。
図5A〜図5Dは、1MBLが16個のマクロブロックからなり、イントラリフレッシュ処理の周期が4フレームの場合について、イントラリフレッシュ処理を説明するための図である。
図5Aは1フレーム目(第1フレーム)の処理の状況を、図5Bは2フレーム目(第2フレーム)の処理の状況を、図5Cは3フレーム目(第3フレーム)の処理の状況を、図5Dは4フレーム目の処理の状況を、それぞれ、模式的に示している。具体的には、図5A〜図5Dは、図3の時刻t1から時刻t2までの処理に対応する処理についての状況を模式的に示している。
また、h=0のMBLのイントラリフレッシュ処理がリセットされるまでの時間(次のイントラリフレッシュ処理が開始されるまでの時間)を0フレーム、h=1のMBLのイントラリフレッシュ処理がリセットされるまでの時間(次のイントラリフレッシュ処理が開始されるまでの時間)を1フレーム、h=2のMBLのイントラリフレッシュ処理がリセットされるまでの時間(次のイントラリフレッシュ処理が開始されるまでの時間)を2フレーム、h=3のMBLのイントラリフレッシュ処理がリセットされるまでの時間(次のイントラリフレッシュ処理が開始されるまでの時間)を3フレーム、とする。また、イントラリフレッシュ処理の周期は、4フレームに相当する時間であるものとする。
≪1フレーム目の処理(図5A)≫
図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が整数となるように演算を行っている。
k=(remainMB+remainPic[mod(0,4)]−1)/remainPic[mod(0,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図5Aでは、h=0のMBLにおいて、ハッチングを付した2つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=0のMBLにおいて、1.1〜1.4の4個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した2個のマクロブロックとの合計6個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。図5A〜図5Dでは、イントラリフレッシュ処理済みフラグを立てられたマクロブロックを黒で塗りつぶしている。
h=1のMBLにおいて、remainPic[mod(h,4)]が「1」であり、未だイントラマクロブロックに設定されていないマクロブロック数は、「4」(remainMB=4)である。イントラMB決定部3は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(1,4)]−1)/remainPic[mod(1,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図5Aでは、h=1のMBLにおいて、イントラMB決定部3は、4.1〜4.4の4個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立てる。
h=2のMBLにおいて、remainPic[mod(h,4)]が「2」であり、未だイントラマクロブロックに設定されていないマクロブロック数は、「8」(remainMB=8)である。イントラMB決定部3は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(2,4)]−1)/remainPic[mod(2,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図5Aでは、h=2のMBLにおいて、ハッチングを付した1つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=2のMBLにおいて、3.1〜3.4の4個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した1個のマクロブロックとの合計5個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。
h=3のMBLにおいて、remainPic[mod(h,4)]が「3」であり、未だイントラマクロブロックに設定されていないマクロブロック数は、「12」(remainMB=12)である。イントラMB決定部3は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(3,4)]−1)/remainPic[mod(3,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図5Aでは、h=3のMBLにおいて、ハッチングを付した2つのマクロブロックがインター/イントラ判定部4によりイントラマクロブロックに設定されたマクロブロックである。したがって、イントラMB決定部3は、h=3のMBLにおいて、2.1〜2.4の4個のマクロブロックと、インター/イントラ判定部によりイントラマクロブロックに設定されたハッチングを付した2個のマクロブロックとの合計6個のマクロブロックについて、イントラリフレッシュ処理済みフラグを立て、次のフレーム以降の処理で、イントラマクロブロックに設定されないようにする。
≪2フレーム目の処理(図5B)≫
図5Bの2フレーム目の処理では、h=0のMBLにおいて、
remainPic[mod(h,4)]=3
remainMB=10
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(0,4)]−1)/remainPic[mod(0,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図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では、
remainPic[mod(h,4)]=0
であるので、イントラリフレッシュ処理がリセットされ、
remainPic[mod(h,4)]=4
に設定される。
また、h=1のMBLの全マクロブロックがイントラマクロブロックの候補に設定される。つまり、
remainMB=16
に設定される。
イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(1,4)]−1)/remainPic[mod(1,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図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において、
remainPic[mod(h,4)]=2
remainMB=6
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(3,4)]−1)/remainPic[mod(3,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図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個となる。
≪3フレーム目の処理(図5C)≫
図5Cの3フレーム目の処理では、h=0のMBLにおいて、
remainPic[mod(h,4)]=2
remainMB=5
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(0,4)]−1)/remainPic[mod(0,4)]
=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に出力される。
インター/イントラ判定部4では、イントラMB決定部3から出力されるDET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックを除外した残りのマクロブロックについて、それぞれ、符号化コストを算出し、イントラマクロブロックに設定するか否かの判定を行う。そして、インター/イントラ判定部4は、イントラマクロブロックに設定したマクロブロックについての情報をDET2_IntraMBとして、イントラMB決定部3および符号化部5に出力する。
イントラMB決定部3では、DET2_IntraMBに基づいて、イントラマクロブロックに設定されたマクロブロックについても、次のフレーム以降で、イントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
図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についての処理と同様の処理が実行される。
図5Cの3フレーム目の処理において、h=2のMBLでは、1フレーム目のh=0についての処理と同様の処理が実行される。
図5Cの3フレーム目の処理において、h=3のMBLでは、2フレーム目のh=2の処理と同様の処理が実行される。
≪4フレーム目の処理(図5D)≫
図5Dの4フレーム目の処理では、h=0のMBLにおいて、
remainPic[mod(h,4)]=1
remainMB=1
であるので、イントラMB決定部は、当該MBLにおいて、イントラマクロブロックに設定するマクロブロック数kを、下記の通り、算出する。
k=(remainMB+remainPic[mod(0,4)]−1)/remainPic[mod(0,4)]
=INT((1+1−1)/1)=1
つまり、イントラMB決定部3は、アクティビティ値が小さい方から1個のマクロブロックをイントラマクロブロックに設定する。図5(c)では、「4.1」と示したマクロブロックがイントラマクロブロックに設定される。イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報は、DET_IntraMBとして、インター/イントラ判定部4および符号化部5に出力される。
これにより、イントラリフレッシュ処理の周期である4フレームにおいて、h=0のMBLのすべてのマクロブロックがイントラマクロブロックに設定されることになる。
図5Dの4フレーム目の処理において、h=1のMBLでは、3フレーム目のh=0についての処理と同様の処理が実行される。
図5Dの4フレーム目の処理において、h=2のMBLでは、2フレーム目のh=0についての処理と同様の処理が実行される。
図5Dの4フレーム目の処理において、h=3のMBLでは、1フレーム目のh=0についての処理と同様の処理が実行される。
上記の処理が繰り返されることにより、h=0のMBLに対するイントラリフレッシュ処理と、h=1のMBLに対するイントラリフレッシュ処理と、h=2のMBLに対するイントラリフレッシュ処理と、h=3のMBLに対するイントラリフレッシュ処理と、が所定の時間(上記では1フレーム)ずつ遅延して実行されることになる。これにより、特定のフレームで、イントラマクロブロックの数が多くなることを効果的に抑制することができる。
以上のような処理が、イントラMB決定部3で実行され、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報DET_IntraMBが、インター/イントラ判定部4および符号化部5に出力される。
インター/イントラ判定部4では、図5を用いて説明したように、イントラMB決定部3によりイントラマクロブロックに設定されたマクロブロックの情報DET_IntraMBに基づいて、イントラMB決定部3によりイントラマクロブロックに設定されなかったマクロブロックについて、判定処理が実行される。具体的には、インター/イントラ判定部4は、イントラMB決定部3によりイントラマクロブロックに設定されなかったマクロブロックについて、符号化部5から出力される動き補償後の動画像信号ME_outに基づいて符号化コストを算出し、算出した符号化コストに基づいて、当該マクロブロックを、イントラマクロブロックに設定するか否かを決定する。そして、インター/イントラ判定部4は、マクロブロックごとに決定した、イントラマクロブロックに設定するか否かの情報(DET2_IntraMB)をイントラMB決定部3および符号化部5に出力する。なお、符号化コストの算出については、例えば、H.264等で採用されている符号化コストの算出方法により実行すればよい。
符号化部5では、イントラMB決定部3によるイントラマクロブロックの設定情報(DET_IntraMB)およびインター/イントラ判定部4によるイントラマクロブロックの設定情報(DET2_IntraMB)に基づいて、動画像信号Dinにより形成される各フレーム画像(各ピクチャ)の各マクロブロックに対して、イントラ符号化処理またはインター符号化処理が実行される。具体的には、符号化部5は、イントラマクロブロックの設定情報DET_IntraMBまたはDET2_IntraMBによりイントラマクロブロックに設定されているマクロブロックについては、イントラ符号化処理を行い、それ以外のマクロブロックについては、インター符号化処理を行う。
符号化部5により符号化処理が実行された後の信号は、動画像符号化信号Doutとして符号化部5から出力される。
以上のように、動画像符号化装置1000では、複数のMBLを1つのグループとし、そのグループ内のMBLごとに、イントラリフレッシュ処理の開始タイミング(リセットタイミング)および処理タイミングがそれぞれ一致しないように遅延させながら、イントラリフレッシュ処理が実行される。また、動画像符号化装置1000では、アクティビティ値が小さいマクロブロックから順番にイントラマクロブロックに設定されてイントラリフレッシュ処理が実行され、かつ、イントラリフレッシュ処理の1周期内に必ずすべてのマクロブロックがイントラマクロブロックに設定されるように制御される。したがって、動画像符号化装置1000では、特定のフレームにイントラマクロブロックが集中し、符号量が増加することや、特定のフレームにおいて、アクティビティ値の大きいマクロブロックが数多く設定され、符号量が増加することを、効果的に抑制することができる。その結果、特定のフレームにおいて、イントラマクロブロックを粗く量子化する必要性も生じにくい。つまり、動画像符号化装置1000では、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制した動画像符号化処理を実行することができるので、動画像符号化装置1000により符号化された動画像符号化信号を復号して取得される復号画像(映像)の画質は、良質なものとなる。
図7は、(1)動画像符号化装置1000により符号化したデータ(動画像符号化信号)のビットレート、つまり、MBLごとにイントラリフレッシュ処理の開始時刻(リセットタイミング)をずらして(遅延させて)イントラリフレッシュ処理を実行して取得したデータ(動画像符号化信号)のビットレート(白の菱形で示したデータ)と、(2)MBLごとにイントラリフレッシュ処理の開始時刻(リセットタイミング)をずらさずに(遅延させずに)イントラリフレッシュ処理を実行して取得した符号化データ(動画像符号化信号)のビットレート(黒の正方形で示したデータ)との比較結果を示す図である。図7において、横軸は時間軸であり、フレーム番号で時間を示している。また、図7において、縦軸は、ビットレートであり、単位はMbpsである。なお、入力動画像信号は、フレームサイズが1920画素×1080画素であり、フレームレートが30fpsであり、イントラリフレッシュ処理の周期が30フレームである。また、入力動画像信号により形成される映像は、全体的に複雑な映像であり、前半は動きが少なく、後半は画面がパンするため動きのある映像である。
図7から分かるように、映像の後半においては、(1)動画像符号化装置1000により符号化したデータ(動画像符号化信号)のビットレート(遅延ありのイントラリフレッシュ処理によるデータ)と、(2)MBLごとにイントラリフレッシュ処理の開始時刻をずらさずに(遅延させずに)イントラリフレッシュ処理を実行して取得した符号化データ(動画像符号化信号)のビットレート(遅延なしのイントラリフレッシュ処理によるデータ)との差異は、あまりない。
一方、映像の前半、特に、40フレーム目あたりから160フレームあたりにおいて、(1)動画像符号化装置1000により符号化したデータ(動画像符号化信号)のビットレート(遅延ありのイントラリフレッシュ処理によるデータ)のばらつきは、小さく、(2)MBLごとにイントラリフレッシュ処理の開始時刻をずらさずに(遅延させずに)イントラリフレッシュ処理を実行して取得した符号化データ(動画像符号化信号)のビットレート(遅延なしのイントラリフレッシュ処理によるデータ)に比べて、効率良く符号化されていることが分かる。また、遅延なしのイントラリフレッシュ処理によるデータでは、イントラリフレッシュ処理の周期である30フレームごとに、ビットレート値のピークが存在するが、動画像符号化装置1000により符号化したデータ(動画像符号化信号)のビットレート(遅延ありのイントラリフレッシュ処理によるデータ)では、イントラリフレッシュ処理の周期である30フレームごとに、ビットレート値のピークは存在せず、フレームごとのビットレートの変動が少ないことが分かる。
このように、動画像符号化装置1000では、イントラリフレッシュ処理をMBLごとに遅延させて(タイミングをずらして)行うので、フレームごとのビットレートの変動を適切に抑制することができることが分かる。特に、動きの少ない複雑な映像において、その効果が高い。
<1.3:イントラリフレッシュ方法>
次に、本実施形態のイントラリフレッシュ方法について、図6のフローチャートを用いて説明する。なお、下記処理は、動画像符号化装置1000により実行されるものであってもよいし、CPU、ROM、RAMを用いて実行されるものであってもよい。
(S1):
ステップS1にて、MBLのライン番号hごとに(MBLごとに)、イントラリフレッシュ処理の開始ピクチャを決定する。具体的には、下記数式により、MBLごとのイントラリフレッシュ処理の開始時刻(イントラリフレッシュ処理がリセットされる時刻)までの遅延時間を残ピクチャ数として取得する。
remainPic[mod(h,N)]
=IntraRefreshCycle/N×mod(h,N)
mod(h,x):法xによる剰余を取得する関数。
IntraRefreshCycle:イントラリフレッシュ処理の周期(フレーム数)
N:1グループ内のMBL数
h:MBLのライン番号
なお、整数演算を行うため、上記数式に相当する処理において、切り捨て処理または四捨五入処理を行うようにするのが好ましい。
(S2):
ステップS2にて、MBLのライン番号hごとに(MBLごとに)設定されたイントラリフレッシュ処理の開始時刻(リセットタイミング)までの遅延時間を示す残ピクチャ数を監視し、残ピクチャ数が「0」である場合は、処理をステップS3に進める。一方、残ピクチャ数が「0」でない場合は、処理をステップS4に進める。
(S4):
ステップS2において、残ピクチャ数が「0」である場合、ステップS4では、残ピクチャ数remainPic[mod(h,N)]をイントラリフレッシュ処理の周期に相当するフレーム数に設定する。
(S4):
ステップS4にて、イントラリフレッシュ処理が実行される。具体的には、上記で図3、図4、図5A〜図5Dを用いて説明したのと同様に、MBLごとに、イントラリフレッシュ処理済みフラグの立っていないマクロブロックの中で、アクティビティ値の小さい方からk個のマクロブロックをイントラマクロブロックに設定する。なお、kは、以下の数式により算出される。
k=(remainMB+remainPic[mod(h,N)]−1)/remainPic[mod(h,N)]
イントラマクロブロックに設定されたk個のマクロブロックについては、次フレーム以降でイントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
さらに、上記処理でイントラマクロブロックに設定されなかったマクロブロックについて、H.264等で採用されている符号化コスト計算を行い、イントラマクロブロックに設定されたマクロブロックについても、次フレーム以降でイントラマクロブロックに設定されないように、イントラリフレッシュ処理済みフラグを立てる。
以上の処理を1フレームに対して行う。
(S5):
ステップS5にて、残ピクチャ数remainPic[mod(h,N)]を1だけデクリメントする。
(S6):
ステップS6にて、イントラリフレッシュ処理をすべきデータがあるか否かの判定を行う。イントラリフレッシュ処理をすべきデータがある場合、処理をステップS2に戻し、ステップS2以降の処理を続ける。一方、イントラリフレッシュ処理をすべきデータがない場合、処理を終了させる。
以上のように、本実施形態のイントラリフレッシュ方法では、複数のMBLを1つのグループとし、そのグループ内のMBLごとに、イントラリフレッシュ処理の開始タイミング(リセットタイミング)および処理タイミングがそれぞれ一致しないように遅延させながら、イントラリフレッシュ処理が実行される。また、本実施形態のイントラリフレッシュ方法では、アクティビティ値が小さいマクロブロックから順番にイントラマクロブロックに設定されてイントラリフレッシュ処理が実行され、かつ、イントラリフレッシュ処理の1周期内に必ずすべてのマクロブロックがイントラマクロブロックに設定されるように制御される。したがって、本実施形態のイントラリフレッシュ方法では、特定のフレームにイントラマクロブロックが集中し、符号量が増加することや、特定のフレームにおいて、アクティビティ値の大きいマクロブロックが数多く設定され、符号量が増加することを、効果的に抑制することができる。その結果、本実施形態のイントラリフレッシュ方法を用いることで、1フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制した動画像符号化処理を実行することができる。
[他の実施形態]
上記実施形態では、イントラリフレッシュ処理の周期が30フレームである場合について説明したが、これに限定されることはなく、イントラリフレッシュ処理の周期は他の値でもよい。また、動画像符号化装置において、イントラリフレッシュ処理の周期は、外部から設定(変更)できるようにしてもよい。
また、上記実施形態では、残ピクチャ数により、各MBLのイントラリフレッシュ処理の開始タイミングを決定していたが、これに限定されることはなく、現フレーム(現ピクチャ)の時系列における位置についての情報から、各MBLのイントラリフレッシュ処理の開始タイミングを決定するようにしてもよい。例えば、残ピクチャ数の代わりにピクチャ番号(フレーム番号)により、各MBLのイントラリフレッシュ処理の開始タイミング(リセットタイミング)を決定するようにしてもよい。
また、上記実施形態の動画像符号化装置の一部または全部は、集積回路(例えば、LSI、システムLSI等)として実現されるものであってもよい。
上記実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る動画像符号化装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリを挙げることができる。
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
1000 動画像符号化装置
1 残ピクチャ数取得部(リセットタイミング決定部)
2 アクティビティ算出部
3 イントラMB決定部
4 インター/イントラ判定部
5 符号化部

Claims (12)

  1. 動画像信号を符号化する動画像符号化装置であって、
    前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセットするタイミングを決定するリセットタイミング決定部と、
    前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出部と、
    前記アクティビティ算出部により算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定部と、
    前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化部と、
    を備え、
    前記リセットタイミング決定部は、前記マクロブロックラインごとに、前記イントラリフレッシュ処理がリセットされるタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する、
    動画像符号化装置。
  2. 前記リセットタイミング決定部は、所定の周期により、前記イントラリフレッシュ処理が繰り返し実行されるように、前記イントラリフレッシュ処理を実行するタイミングを決定する、
    請求項1に記載の動画像符号化装置。
  3. 前記リセットタイミング決定部は、前記マクロブロックラインごとに、同一の周期により、前記イントラリフレッシュ処理が繰り返し実行されるように、前記イントラリフレッシュ処理を実行するタイミングを決定する、
    請求項2に記載の動画像符号化装置。
  4. 前記アクティビティ算出部は、前記アクティビティ値を、アダマール変換を用いて算出する、
    請求項1から3のいずれかに記載の動画像符号化装置。
  5. 前記イントラMB決定部は、処理対象の前記マクロブロックラインにおいて、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する、
    請求項1から4のいずれかに記載の動画像符号化装置。
  6. 前記現フレーム画像と、前記符号化部により現フレーム画像より前のフレーム画像を動き補償して取得される動き補償フレーム画像とに基づいて、前記現フレーム画像において、前記イントラMB決定部によりイントラマクロブロックに設定されていないマクロブロックについて、イントラマクロブロックに設定するか否かを判定するインター/イントラ判定部をさらに備え、
    前記符号化部は、前記イントラMB決定部および前記インター/イントラ判定部により、イントラマクロブロックに設定されたマクロブロックについて、イントラ符号化処理を行う、
    請求項1から5のいずれかに記載の動画像符号化装置。
  7. イントラMB決定部は、
    前記現フレーム画像において、イントラマクロブロックに設定されたマクロブロックについて、次のフレーム以降の処理において、イントラマクロブロックに設定されないように当該マクロブロックについて、イントラマクロブロック設定済みフラグを設定し、前記インター/イントラ判定部によりイントラマクロブロックに設定されたマクロブロックについてもイントラマクロブロック設定済みフラグを設定し、
    前記現フレーム画像において、前記イントラマクロブロック設定済みフラグが設定されていないマクロブロックから、小さいアクティビティ値を有するマクロブロックから順番に、イントラマクロブロックに設定する、
    請求項6に記載の動画像符号化装置。
  8. 前記リセットタイミング決定部は、
    マクロブロックラインのライン番号を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のいずれかに記載の動画像符号化装置。
  9. 前記イントラ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のいずれかに記載の動画像符号化装置。
  10. 動画像信号を符号化する動画像符号化方法であって、
    前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセットするタイミングを決定するイントラリフレッシュ処理開始タイミング決定ステップと、
    前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出ステップと、
    前記アクティビティ算出ステップにより算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定ステップと、
    前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化ステップと、
    を備え、
    前記イントラリフレッシュ処理開始タイミング決定ステップは、前記マクロブロックラインごとに、前記イントラリフレッシュ処理がリセットされるタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する、
    動画像符号化方法。
  11. 動画像信号を符号化する動画像符号化方法をコンピュータに実行させるためのプログラムであって、
    前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセットするタイミングを決定するイントラリフレッシュ処理開始タイミング決定ステップと、
    前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出ステップと、
    前記アクティビティ算出部により算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定ステップと、
    前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化ステップと、
    を備え、
    前記イントラリフレッシュ処理開始タイミング決定ステップは、前記マクロブロックラインごとに、前記イントラリフレッシュ処理がリセットされるタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する、
    動画像符号化方法をコンピュータに実行させるためのプログラム。
  12. 動画像信号を符号化する集積回路であって、
    前記動画像信号から、処理対象のフレーム画像である現フレーム画像の時系列上の位置を検出し、前記現フレーム画像上の1列のマクロブロックからなるマクロブロックラインごとに、イントラリフレッシュ処理をリセットするタイミングを決定するリセットタイミング決定部と、
    前記動画像信号から、前記現フレーム画像のマクロブロックごとに、画像の複雑度を示すアクティビティ値を算出するアクティビティ算出部と、
    前記アクティビティ算出部により算出された前記アクティビティ値に基づいて、イントラマクロブロックに設定するマクロブロックを決定するイントラMB決定部と、
    前記イントラMB決定部によりイントラマクロブロックに設定されたマクロブロックをイントラ符号化処理により符号化する符号化部と、
    を備え、
    前記リセットタイミング決定部は、前記マクロブロックラインごとに、前記イントラリフレッシュ処理がリセットされるタイミングがずれるように、イントラリフレッシュ処理のリセットタイミングを決定する、
    集積回路。
JP2012205826A 2012-09-19 2012-09-19 動画像符号化装置、動画像符号化方法およびプログラム Active JP5995622B2 (ja)

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 true JP2014060666A (ja) 2014-04-03
JP5995622B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10390076B2 (en) 2016-03-29 2019-08-20 Mitsubishi Electric Corporation Image receiving/reproducing device, image generating/transmitting device, display system, image receiving/reproducing method, image generating/transmitting method, and computer readable medium
US10674172B2 (en) 2016-04-19 2020-06-02 Mitsubishi Electric Corporation Image processing apparatus, image processing method, and computer-readable recording medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015106747A (ja) * 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US11102488B2 (en) * 2019-05-31 2021-08-24 Ati Technologies Ulc Multi-scale metric-based encoding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0759085A (ja) * 1993-06-30 1995-03-03 Samsung Electron Co Ltd 強制イントラフレーム符号化方法
JP2006094081A (ja) * 2004-09-24 2006-04-06 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2011166512A (ja) * 2010-02-10 2011-08-25 Mega Chips Corp 画像符号化装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020203B1 (en) 2001-12-21 2006-03-28 Polycom, Inc. Dynamic intra-coded macroblock refresh interval for video error concealment
JP5441734B2 (ja) 2010-01-28 2014-03-12 株式会社メガチップス 画像符号化装置
JP5570846B2 (ja) 2010-03-04 2014-08-13 株式会社メガチップス 画像符号化装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0759085A (ja) * 1993-06-30 1995-03-03 Samsung Electron Co Ltd 強制イントラフレーム符号化方法
JP2006094081A (ja) * 2004-09-24 2006-04-06 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2011166512A (ja) * 2010-02-10 2011-08-25 Mega Chips Corp 画像符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10390076B2 (en) 2016-03-29 2019-08-20 Mitsubishi Electric Corporation Image receiving/reproducing device, image generating/transmitting device, display system, image receiving/reproducing method, image generating/transmitting method, and computer readable medium
US10674172B2 (en) 2016-04-19 2020-06-02 Mitsubishi Electric Corporation Image processing apparatus, image processing method, and computer-readable recording medium

Also Published As

Publication number Publication date
US20140079120A1 (en) 2014-03-20
JP5995622B2 (ja) 2016-09-21
US9749624B2 (en) 2017-08-29

Similar Documents

Publication Publication Date Title
RU2733206C1 (ru) Устройство кодирования изображений, способ кодирования изображений, устройство декодирования изображений, способ декодирования изображений и носитель хранения данных
JP5302769B2 (ja) スキャン変換装置及び画像符号化装置及びそれらの制御方法
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
JP4682102B2 (ja) 画像符号化装置及び画像符号化方法
US20070147498A1 (en) Coding device, coding method, program of coding method, and recording medium recorded with program of coding method
JP2006140758A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP6143866B2 (ja) 画像符号化装置、画像復号装置及びそれらのプログラム
JP6149707B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
WO2009139123A1 (ja) 画像処理装置およびそれを搭載した撮像装置
JP5995622B2 (ja) 動画像符号化装置、動画像符号化方法およびプログラム
JP4774315B2 (ja) 画像復号化装置及び画像復号化方法
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP2010098352A (ja) 画像情報符号化装置
WO2012081193A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2010183162A (ja) 動画像符号化装置
TWI736528B (zh) 多媒體編解碼器、包括其之應用處理器、及操作該應用處理器之方法
JP5694674B2 (ja) 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
JP2005167655A (ja) 変換符号化方法および変換復号化方法
JP2015076765A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム
JP5582020B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4911625B2 (ja) 画像処理装置、およびそれを搭載した撮像装置
JP2009218965A (ja) 画像処理装置、それを搭載した撮像装置、および画像再生装置
JP2009232217A (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