JP2016025541A - 動画像符号化装置、動画像符号化方法、及びプログラム - Google Patents
動画像符号化装置、動画像符号化方法、及びプログラム Download PDFInfo
- Publication number
- JP2016025541A JP2016025541A JP2014149391A JP2014149391A JP2016025541A JP 2016025541 A JP2016025541 A JP 2016025541A JP 2014149391 A JP2014149391 A JP 2014149391A JP 2014149391 A JP2014149391 A JP 2014149391A JP 2016025541 A JP2016025541 A JP 2016025541A
- Authority
- JP
- Japan
- Prior art keywords
- image
- area
- region
- storage unit
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】動きベクトルの探索精度を高めること。
【解決手段】第1の記憶部10が記憶する動画像に含まれる複数の画像のうち、符号化の際に第1の記憶部10から読み出された画像の画像領域を記憶する第2の記憶部21と、画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域BAに関する情報22aを記憶する第3の記憶部22と、符号化の対象とする複数の画像領域について、対応する起点領域BAの全体と第2の記憶部21が記憶している画像領域APとが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値Th1を超えない範囲で起点領域BAを拡大し、拡大後の重複しない範囲を第1の記憶部10から読み出す対象とする演算部23と、を有する、動画像符号化装置20が提供される。
【選択図】図1
【解決手段】第1の記憶部10が記憶する動画像に含まれる複数の画像のうち、符号化の際に第1の記憶部10から読み出された画像の画像領域を記憶する第2の記憶部21と、画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域BAに関する情報22aを記憶する第3の記憶部22と、符号化の対象とする複数の画像領域について、対応する起点領域BAの全体と第2の記憶部21が記憶している画像領域APとが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値Th1を超えない範囲で起点領域BAを拡大し、拡大後の重複しない範囲を第1の記憶部10から読み出す対象とする演算部23と、を有する、動画像符号化装置20が提供される。
【選択図】図1
Description
本発明は、動画像符号化装置、動画像符号化方法、及びプログラムに関する。
動画像の符号化には、例えば、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)により勧告されたH.264と呼ばれる符号化方式が広く利用されている。国際標準化機構(ISO)及び国際電気標準会議(IEC)では、同じ技術がMPEG−4 AVC(MPEG-4 Part 10 Advanced Video Coding)と呼ばれている。これらの呼称はまとめてH.264/AVCと表記されることがある。
H.264/AVC方式の符号化には、異なる動画フレームを参照して現在の動画フレームを予測するフレーム間予測又はインター予測と呼ばれる技術が利用される。時間的に前の動画フレームを参照して現在の動画フレームを予測する方法は前方向予測(Forward Prediction)と呼ばれる。また、時間的に後の動画フレームを参照して現在の動画フレームを予測する方法は後方向予測(Backward Prediction)と呼ばれる。
また、H.264/AVC方式では、時間的に前又は後にある複数の動画フレームを参照して現在の動画フレームを予測する双方向予測(Bi-directive Prediction)と呼ばれる技術も採用されている。H.264/AVC方式の次世代規格であるH.265/HEVC(High Efficiency Video Coding)方式も動画像の符号化に利用され始めている。H.265/HEVC方式でもフレーム間予測の技術が採用されている。
フレーム間予測を行う際、複数の画素を含む画素ブロックを単位として、他の動画フレームから、符号化対象の画素ブロックに類似する画素ブロック(参照ブロック)を探索して動きベクトルを検出するME(Motion Estimation)が実行される。画素ブロックのサイズは、MEの精度や方式の規定による上限がある。そのため、動画フレームの画素数が増えると探索範囲が広くなり、MEの処理負荷は増大する。
上記の事情に鑑み、動画フレームの画像を縮小した画素数の少ない縮小画像を利用してMEを実行し、縮小画像から得た動きベクトルを利用して元の動画フレームにおける探索範囲を制限する方法(以下、提案方法)が提案されている。この提案方法によれば、探索範囲の画素数が抑制されるため、MEの処理負荷が低減される。
動画フレームの高画素化は、MEにおける処理負荷の増大だけでなく、動画フレームのデータ量の増大にも関係する。読み出し速度の大きいメモリは単位容量当たりのコストが高く、一方で読み出し速度の小さいメモリは単位容量当たりのコストが低い。そのため、データ量の大きな動画フレームを読み出し速度の大きなメモリに全て格納しようとすると、MEを実行する装置にかかるコストが増大する。一方、読み出し速度の小さいメモリに動画フレームを格納しておくと、参照ブロックを読み出す際に長い時間がかかり、MEの処理速度が低下する。
そのため、本発明者は、動画フレーム全体は読み出し速度の小さい大容量のメモリに格納しておき、MEの処理に利用する探索範囲のデータを読み出し速度の大きい小容量のメモリに格納して利用する方法(以下、検討方法)について検討を行った。メモリからデータを読み出す速度は、単位時間当たりに読み出せるデータ量(以下、帯域)で表現できる。この検討方法の場合、読み出し速度の小さい大容量のメモリからデータを読み出す際の帯域が検討の対象となる。
上述した提案方法を上記検討方法に適用する場合、元の大きさの動画フレームについて参照画像を探索する際に探索範囲のデータが読み出し速度の小さい大容量のメモリから読み出されることになる。上記の提案方法の場合、「帯域」について一切考察されておらず、利用可能な帯域が有効に活用されないことがある。なお、ここでは上記提案方法を例示したが、縮小画像を利用して探索範囲を制限する方法以外の方法を適用する場合でも、利用可能な帯域をMEの際に有効活用できれば予測精度の高い符号化の実現が期待できる。
そこで、1つの側面によれば、本発明の目的は、動きベクトルの探索精度を高めることが可能な動画像符号化装置、動画像符号化方法、及びプログラムを提供することにある。
本開示の1つの側面によれば、第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第1の記憶部から読み出された画像の画像領域を記憶する第2の記憶部と、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を記憶する第3の記憶部と、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第1の記憶部から読み出す対象とする演算部と、を有する、動画像符号化装置が提供される。
また、本開示の他の1つの側面によれば、コンピュータが、第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を取得し、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第1の記憶部から読み出す対象とする動画像符号化方法が提供される。
また、本開示の他の1つの側面によれば、コンピュータに、第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を取得し、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第1の記憶部から読み出す対象とする処理を実行させる、プログラムが提供される。
本発明によれば、動きベクトルの探索精度を高めることが可能になる。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る動画像符号化装置の一例を示した図である。なお、図1に例示した動画像符号化装置20は、第1実施形態に係る動画像符号化装置の一例である。
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る動画像符号化装置の一例を示した図である。なお、図1に例示した動画像符号化装置20は、第1実施形態に係る動画像符号化装置の一例である。
図1に示すように、動画像符号化装置20は、第1の記憶部10に接続されている。また、動画像符号化装置20は、第2の記憶部21、第3の記憶部22、及び演算部23を有する。
なお、第1の記憶部10、第2の記憶部21、第3の記憶部22は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部23は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部23は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部23は、例えば、第1の記憶部10、第2の記憶部21、第3の記憶部22、又は他のメモリに記憶されたプログラムを実行する。
第1の記憶部10は、動画像に含まれる複数の画像を記憶する。第2の記憶部21は、符号化の際に第1の記憶部10から読み出された画像の画像領域を記憶する。
図1の例では、画像P1、P2、P3、…が第1の記憶部10により記憶されている。図1の例は、画像P1に含まれる画像領域を符号化する処理を示しており、この例では第2の記憶部21に画像領域AP(格納済み画像領域)が格納されている。
図1の例では、画像P1、P2、P3、…が第1の記憶部10により記憶されている。図1の例は、画像P1に含まれる画像領域を符号化する処理を示しており、この例では第2の記憶部21に画像領域AP(格納済み画像領域)が格納されている。
第3の記憶部22は、画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域BAに関する情報22aを記憶する。
図1(A)の例は、画像P1の画像領域A11、A21、…、A24、A31、…、A34、A41を符号化(フレーム間予測符号化)する処理を示している。この場合、図1(B)に示すように、画像P1の画像領域A11、A21、…、A24、A31、…、A34、A41の符号化には、他の画像(例えば、画像P2、P3)に含まれる画像領域が参照領域として利用される。例えば、画像領域A11の符号化に用いる参照領域は、画像領域A11に類似する画像領域である。
図1(A)の例は、画像P1の画像領域A11、A21、…、A24、A31、…、A34、A41を符号化(フレーム間予測符号化)する処理を示している。この場合、図1(B)に示すように、画像P1の画像領域A11、A21、…、A24、A31、…、A34、A41の符号化には、他の画像(例えば、画像P2、P3)に含まれる画像領域が参照領域として利用される。例えば、画像領域A11の符号化に用いる参照領域は、画像領域A11に類似する画像領域である。
符号化方式の規定に従って参照可能な全ての画像領域から参照領域を探索する処理を避け、図1の例では、参照領域の探索範囲を絞り込むために、探索範囲を特定する際の基準となる起点領域BAが利用される。なお、画像領域A11、A21、…、A24、A31、…、A34、A41に対応する起点領域BAをそれぞれ起点領域BA11、BA21、…、BA24、BA31、…、BA34、BA41と表記する。
起点領域BAは、例えば、動画像に含まれる画像P1、P2、P3、…をそれぞれ縮小した縮小画像の動き検出により得られた動きベクトルを用いて決めることができる。例えば、縮小画像から得られた動きベクトルを利用して画像P1、P2、P3、…で特定される画像領域を起点領域BAとして利用することができる。
起点領域BAに関する情報22aとしては、例えば、起点領域BAを特定する動きベクトルVを利用することができる。また、縮小画像を利用した動き検出の際に得られる符号化コストSCを起点領域BAに関する情報22aとして利用することもできる。符号化コストSCとしては、例えば、画素毎の差分絶対値和であるSAD(Sum of Absolute Difference)などを適用することができる。
なお、図1の例では、起点領域BA11、BA21、…、BA24、BA31、…、BA34、BA41を特定するための動きベクトルVを動きベクトルV11、V21、…、V24、V31、…、V34、V41と表記している。また、動きベクトルV11、V21、…、V24、V31、…、V34、V41の検出時に得られた符号化コストSCを符号化コストSC11、SC21、…、SC24、SC31、…、SC34、SC41と表記する。
演算部23は、符号化の対象とする複数の画像領域について、対応する起点領域BAの全体と第2の記憶部21が記憶している画像領域APとが重複しない領域を特定する。例えば、演算部23は、動きベクトルVを用いて起点領域BAを特定する。図1(C)の例では、動きベクトルV11、V21、…に基づいて起点領域BA11、BA21、…が特定されている。なお、図1の中では、スペースの都合上、起点領域BA31、BA33、BA34、BA41の記載を省略している。
起点領域BA11、BA21、…を特定した演算部23は、起点領域BA11、BA21、…と画像領域APとが重複しない領域を特定する。図1(C)の例では、ハッチングを施した領域が、当該重複しない領域として特定される。
上記重複しない領域を特定した演算部23は、当該重複しない領域の大きさに基づく指標を計算する。指標としては、例えば、当該重複しない領域の画像データを読み出す際のデータ量、当該重複しない領域の面積、或いは、当該重複しない領域を第1の記憶部10から読み出す際に利用される伝送帯域などが適用されうる。なお、この伝送帯域は、例えば、符号化の単位となる画像領域の集合について第1の記憶部10から一度に読み出すデータ量に基づき評価できる。
演算部23は、上記重複しない領域の大きさに基づく指標が、設定された第1の閾値Th1を超えない範囲で起点領域BAを拡大する。第1の閾値Th1は、例えば、第1の記憶部10から画像データを読み出す際に利用可能な伝送帯域に基づいて設定される。
起点領域BAは、例えば、新たな起点領域BAを追加することで拡大することができる。図1(C)の例では、符号化コストSCが最大(SC32)の画像領域A32に隣接する、符号化コストSCが最小(SC34)の動きベクトルV34が特定され、画像領域A32を基準に動きベクトルV34で特定される起点領域BA32aが追加されている。
演算部23は、拡大後の重複しない範囲を第1の記憶部10から読み出す対象とする。図1(C)の例では、起点領域BA32aを追加後に、画像領域APと重複しない範囲が特定され、当該重複しない範囲が読み出し対象とされる。このように読み出し対象を設定することで、第1の記憶部10から画像データを読み出す際に利用可能な帯域に余裕がある場合に、起点領域BAの拡大により探索範囲を拡大することができる。その結果、画像P1、P2、P3、…を利用した動き検出の際に、動きベクトルの探索精度をより高めることができる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
<2.第2実施形態>
次に、第2実施形態について説明する。
[2−1.ハードウェア]
図2を参照しながら、第2実施形態に係る動画像符号化装置の一例として後述する動画像符号化装置110の機能を実現することが可能な情報処理装置100のハードウェアについて説明する。図2は、第2実施形態に係る動画像符号化装置の機能を実現可能な情報処理装置のハードウェアの一例を示した図である。
図2を参照しながら、第2実施形態に係る動画像符号化装置の一例として後述する動画像符号化装置110の機能を実現することが可能な情報処理装置100のハードウェアについて説明する。図2は、第2実施形態に係る動画像符号化装置の機能を実現可能な情報処理装置のハードウェアの一例を示した図である。
動画像符号化装置110が有する機能は、図2に例示した情報処理装置100のハードウェア資源を用いて実現することが可能である。つまり、動画像符号化装置110が有する機能は、コンピュータプログラムを用いて図2に示すハードウェアを制御することにより実現される。
図2に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタやカメラなどが用いられる。また、外部接続機器930として、外付けHDDや、一又は複数のRAMを搭載したメモリボードなどを用いることも可能である。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、情報処理装置100のハードウェアについて説明した。
次に、図3を参照しながら、第2実施形態に係る動画符号化装置の機能を集積回路(例えば、LSI)により実現する場合のハードウェアについて説明する。図3は、第2実施形態に係る動画像符号化装置の機能を実現可能なハードウェアの一例を示した図である。
次に、図3を参照しながら、第2実施形態に係る動画符号化装置の機能を集積回路(例えば、LSI)により実現する場合のハードウェアについて説明する。図3は、第2実施形態に係る動画像符号化装置の機能を実現可能なハードウェアの一例を示した図である。
図3に示したハードウェアはトランスコーダLSIである。また、図3に示した符号SICの部分はシリコンであり、符号PKGの部分はパッケージである。後述する動画符号化装置110の機能は、H.264/MPEG-2 Transcoder/Encoderにより実現される。また、1Gbit FCRAM (Fast Cycle Random Access Memory)は後述する外部メモリ150に相当する。
なお、1Gbit FCRAMは、動画像符号化装置110だけでなく、Audio Transcoder/Encoderなど他の装置とも共有して使用されることがある。また、複数のシリコンを1つのパッケージに含めたハードウェアを適用することも可能である。また、シリコンと同じパッケージに含まれるメモリではなく、コンピュータのメインメモリなどに使用されるDDR3 SDRAMなどを外部メモリ150として利用してもよい。一方、H.264/MPEG-2 Transcoder/Encoderとして機能するCPU Coreが有するキャッシュメモリ(例えば、L3 Cache)などは、内部メモリとして利用される。
以上、ハードウェアについて説明した。
[2−2.動画像符号化装置110の機能]
次に、動画像符号化装置110の機能について説明する。
[2−2.動画像符号化装置110の機能]
次に、動画像符号化装置110の機能について説明する。
(2−2−1.階層型ME)
図4を参照しながら、階層型MEについて説明する。図4は、第2実施形態に係る動画像符号化方法の一例を示した図である。ここで言う階層型MEとは、符号化対象の動画フレーム(以下、原画像)を縮小した縮小画像でME(以下、縮小ME)を実行し、縮小MEで得られた動きベクトルを用いて原画像で実行するME(以下、等倍ME)の探索範囲を決める探索方法である。
図4を参照しながら、階層型MEについて説明する。図4は、第2実施形態に係る動画像符号化方法の一例を示した図である。ここで言う階層型MEとは、符号化対象の動画フレーム(以下、原画像)を縮小した縮小画像でME(以下、縮小ME)を実行し、縮小MEで得られた動きベクトルを用いて原画像で実行するME(以下、等倍ME)の探索範囲を決める探索方法である。
符号化対象の原画像をOPorg、参照される原画像をOPref、原画像OPorgの縮小画像をSPorg、原画像OPrefの縮小画像をSPrefと表記する。図4の例では、縮小画像SPorgに被写体Vhが含まれており、被写体Vhの一部を含む画素ブロックBLSOが符号化対象の画素ブロックに設定されている。つまり、画素ブロックBLSOは、原画像OPorgにおける符号化対象の画素ブロックBLOOに対応する画素ブロックである。
図4の例において、動画像符号化装置110は、縮小画像SPrefを参照し、画素ブロックBLSOに類似する画素ブロックを探索する。例えば、動画像符号化装置110は、縮小画像SPrefの中で探索範囲ASを設定し、探索範囲AS内で画素ブロックBLSOに対する符号化コスト(例えば、SADなど)が最小となる画素ブロックBLSRを探索する。なお、以下では、縮小MEにより特定された画素ブロック(図4の例ではBLSR)を探索起点と呼ぶ場合がある。
動画像符号化装置110は、探索起点となる画素ブロックBLSRに対応する原画像OPrefの画素ブロックBLORを特定し、画素ブロックBLORを基準に探索範囲AOを設定する。探索範囲AOは、例えば、画素ブロックBLORの周囲に予め設定された画素分のマージン(例えば、8画素など)を追加した範囲に設定される。動画像符号化装置110は、探索範囲AOの中で等倍MEを実行し、原画像OPorgの画素ブロックBLOOに対する符号化コストが最小となる画素ブロックBLORを特定する。
上記のように、動画像符号化装置110は、縮小MEで求めた探索起点を基準に等倍MEで用いる探索範囲AOを設定し、等倍MEを実行して探索範囲AOの中から画素ブロックBLORを特定する。上記階層型MEによれば、等倍MEでの探索範囲が制限されることでMEの処理負荷が低減されると共に、原画像を用いて等倍MEが実行されることで縮小MEよりも精度の高い動きベクトルMVの検出が可能になる。以下では、上記の階層型MEを例に、第2実施形態に係る動画像符号化装置110の機能について説明する。
(2−2−2.要素)
次に、図5を参照しながら、動画像符号化装置110が有する機能について、さらに説明する。なお、図5は、第2実施形態に係る動画像符号化装置が有する機能の一例を示したブロック図である。
次に、図5を参照しながら、動画像符号化装置110が有する機能について、さらに説明する。なお、図5は、第2実施形態に係る動画像符号化装置が有する機能の一例を示したブロック図である。
図5に示すように、動画像符号化装置110は、縮小ME部111、参照画像管理部112、原画像管理部113、等倍ME部114、動き補償部115、フレーム内予測部116、予測画像選択部117を有する。さらに、動画像符号化装置110は、誤差画像生成部118、直交変換・量子化部119、逆量子化・逆変換部120、デブロッキングフィルタ121、及びエントロピー符号化部122を有する。
なお、縮小ME部111、等倍ME部114、動き補償部115、フレーム内予測部116、予測画像選択部117、及び誤差画像生成部118の機能は、上述したCPU902などを用いて実現できる。また、直交変換・量子化部119、逆量子化・逆変換部120、デブロッキングフィルタ121、及びエントロピー符号化部122の機能は、上述したCPU902などを用いて実現できる。また、参照画像管理部112、原画像管理部113の機能は、上述したCPU902及び上述したRAM906を用いて実現できる。
動画像符号化装置110は、メモリインターフェース130を介して外部メモリ150に接続されている。メモリインターフェース130は、例えば、上述したホストバス908、ブリッジ910、インターフェース914などである。また、外部メモリ150は、例えば、記憶部920などである。なお、ここでは説明の都合上、動画像符号化装置110が有する読み出し速度の速いメモリをRAM906とし、外部メモリ150を、RAM906に比べて読み出し速度が遅く大容量の記憶部920としている。但し、第2実施形態に係る技術の適用範囲はこれに限定されない。
外部メモリ150には、例えば、動画像に含まれる複数の原画像P3、及び原画像P3の縮小画像P1が格納されている。なお、縮小ME部111が原画像P3から縮小画像P1を逐一生成する仕組みにしてもよい。縮小ME部111は、メモリインターフェース130を介して外部メモリ150から縮小画像P1を読み出して縮小MEを実行する。縮小MEにより得られた探索起点の情報Q1(例えば、動きベクトル、符号化コストなど)は、参照画像管理部112に入力される。
参照画像管理部112は、縮小ME部111から入力された情報Q1に基づき、等倍MEに利用する探索範囲を特定し、探索範囲の画像データとして新たに外部メモリ150から読み出す画像データのデータ量を計算する。参照画像管理部112は、新たに読み出す画像データのデータ量が、予め設定された閾値(以下、目標帯域)より小さい場合、探索範囲が拡大されるように探索起点を追加する。
目標帯域は、外部メモリ150から画像データを読み出す際に占有する帯域として許容される帯域に基づいて設定される。例えば、符号化の単位として設定された画素ブロックを符号化する際に、探索範囲の画像データとして一度に読み出される画像データのデータ量の上限を予め設定しておき、上限の値が目標帯域に設定される。なお、参照画像管理部112の機能については後段において詳述する。
参照画像管理部112は、探索範囲として特定された参照画像P2の画像データを外部メモリ150から読み出す。そして、参照画像管理部112は、外部メモリ150から読み出した参照画像P2の画像データを保持する。また、参照画像管理部112は、参照画像P2の画像データ及び探索起点の情報Q2を等倍ME部114に入力する。
原画像管理部113は、符号化の対象となる原画像P3を外部メモリ150から読み出す。そして、原画像管理部113は、外部メモリ150から読み出した原画像P3を保持する。また、原画像管理部113は、原画像P3を等倍ME部114、誤差画像生成部118、フレーム内予測部116に入力する。
等倍ME部114は、参照画像管理部112から入力された情報Q2に基づいて等倍MEを実行する。そして、等倍ME部114は、等倍MEにより特定した動きベクトルを動き補償部115に入力する。動き補償部115は、等倍ME部114から入力された動きベクトルを利用してMC(Motion Compensation)を実行する。そして、動き補償部115は、MCにより生成したフレーム間予測画像P4を予測画像選択部117に入力する。
フレーム内予測部116は、原画像管理部113から入力された原画像についてフレーム内予測符号化を実行する。フレーム内予測符号化は、1枚の画像内で符号化対象の画素を、その画素の周囲にある画素から予測して符号化する方法である。フレーム内予測部116は、フレーム内予測符号化により生成したフレーム内予測画像P5を予測画像選択部117に入力する。
予測画像選択部117は、フレーム間予測画像P4又はフレーム内予測画像P5を選択する。例えば、予測画像選択部117は、符号化対象の画像がIピクチャ又はこれに相当する画像である場合、フレーム内予測画像P5を選択する。一方、予測画像選択部117は、符号化対象の画像がPピクチャ、Bピクチャ又はこれらに相当する画像である場合、フレーム間予測画像P4を選択する。そして、予測画像選択部117は、選択した画像を誤差画像生成部118、逆量子化・逆変換部120に入力する。
誤差画像生成部118は、原画像管理部113から入力された画像と、予測画像選択部117から入力された画像との差分である誤差画像を生成する。そして、誤差画像生成部118は、生成した誤差画像を直交変換・量子化部119に入力する。直交変換・量子化部119は、誤差画像生成部118から入力された誤差画像に対し、直交変換を施して周波数領域の信号に変換し、変換後の信号を量子化して量子化信号を生成する。
直交変換・量子化部119は、生成した量子化信号を逆量子化・逆変換部120、エントロピー符号化部122に入力する。逆量子化・逆変換部120は、直交変換・量子化部119から入力された量子化信号を逆量子化し、逆量子化した信号に対して逆変換を施して誤差画像を復元した再構成画像を生成する。そして、逆量子化・逆変換部120は、再構成画像をフレーム内予測部116、デブロッキングフィルタ121に入力する。
デブロッキングフィルタ121は、再構成画像に対し、整数変換のブロック境界を平滑化してブロックノイズの発生を抑制する処理を実行する。そして、デブロッキングフィルタ121は、処理後の再構成画像を参照画像P7として外部メモリ150に格納する。エントロピー符号化部122は、直交変換・量子化部119から入力された量子化信号をエントロピー符号化する。そして、エントロピー符号化部122は、エントロピー符号化により生成された符号化ストリームQ3を外部メモリ150に格納する。
(2−2−3.参照画像管理部112の機能)
ここで、図6を参照しながら、参照画像管理部112の機能について、さらに説明する。図6は、第2実施形態に係る参照画像管理部が有する機能の一例を示したブロック図である。
ここで、図6を参照しながら、参照画像管理部112の機能について、さらに説明する。図6は、第2実施形態に係る参照画像管理部が有する機能の一例を示したブロック図である。
図6に示すように、参照画像管理部112は、縮小ME結果記憶部1121、使用帯域計算部1122、サブ矩形抽出部1123、隣接探索起点決定部1124、及び参照画像記憶部1125を含む。
縮小ME結果記憶部1121は、縮小ME部111による縮小MEの結果として得られた動きベクトル及び符号化コストの情報を記憶する。使用帯域計算部1122は、縮小ME結果記憶部1121が記憶している動きベクトルから探索起点となる画素ブロックを特定する。また、使用帯域計算部1122は、等倍MEの実行時に外部メモリ150から探索起点として新たに読み出される画像データのデータ量を特定する。そして、使用帯域計算部1122は、特定したデータ量から使用帯域を計算する。
使用帯域計算部1122により計算された使用帯域の情報は、縮小ME結果記憶部1121に格納される。サブ矩形抽出部1123は、使用帯域計算部1122により計算された使用帯域と、予め設定された目標帯域とを比較する。使用帯域が目標帯域より小さい場合、サブ矩形抽出部1123は、縮小ME結果記憶部1121に格納された符号化コストに基づいて探索起点の追加時に参照する画素ブロック(以下、サブ矩形)を抽出する。サブ矩形抽出部1123は、サブ矩形の情報を隣接探索起点決定部1124に入力する。
隣接探索起点決定部1124は、サブ矩形抽出部1123が抽出したサブ矩形に隣接する他のサブ矩形(以下、隣接サブ矩形)を抽出する。また、隣接探索起点決定部1124は、符号化コストに基づいて隣接サブ矩形の中から、探索起点の追加時に参照する隣接サブ矩形を特定する。そして、隣接探索起点決定部1124は、追加する探索起点として、特定した隣接サブ矩形の動きベクトルを用いてサブ矩形を基準に特定される探索起点を決定する。
隣接探索起点決定部1124により決定された探索起点の情報は、縮小ME結果記憶部1121に格納される。探索起点が追加されると、使用帯域計算部1122により使用帯域が再び計算され、サブ矩形抽出部1123により使用帯域と目標帯域とが比較され、比較結果に応じて隣接探索起点決定部1124により探索起点が追加される。このように、使用帯域が目標帯域より小さくなる範囲内で探索起点の追加処理が実行される。
参照画像記憶部1125は、最終的に縮小ME結果記憶部1121に格納された探索起点のうち、既に参照画像記憶部1125に格納されている画素ブロックの画像データを除いた部分の画像データを外部メモリ150から読み出して記憶する。なお、参照画像記憶部1125に画像データが格納される期間は、記憶容量などに応じて任意に設定することができるが、例えば、1つの動画フレームについて処理が終了するまでの期間などに設定される。
以上、動画像符号化装置110の機能について説明した。
[2−3.動画像符号化装置110の動作]
次に、図7及び図8を参照しながら、動画像符号化装置110の動作について説明する。但し、動画像符号化装置110が実行する動作のうち参照画像管理部112の機能に関する処理の流れについて主に説明する。なお、図7は、第2実施形態に係る動画像符号化装置が実行する処理の流れを示した第1のフロー図である。図8は、第2実施形態に係る動画像符号化装置が実行する処理の流れを示した第2のフロー図である。
[2−3.動画像符号化装置110の動作]
次に、図7及び図8を参照しながら、動画像符号化装置110の動作について説明する。但し、動画像符号化装置110が実行する動作のうち参照画像管理部112の機能に関する処理の流れについて主に説明する。なお、図7は、第2実施形態に係る動画像符号化装置が実行する処理の流れを示した第1のフロー図である。図8は、第2実施形態に係る動画像符号化装置が実行する処理の流れを示した第2のフロー図である。
また、説明の中で、図9〜図12を参照する。図9は、第2実施形態に係る動画像符号化処理の中で縮小ME部から参照画像管理部に入力される情報の一例を示した図である。図10は、第2実施形態に係る動画像符号化処理のうち参照範囲の計算に関する処理について説明するための図である。図11は、第2実施形態に係る動画像符号化処理のうち使用帯域の計算に関する処理について説明するための図である。図12は、第2実施形態に係る動画像符号化処理のうち探索起点の追加に関する処理について説明するための図である。
(S101)縮小ME結果記憶部1121は、縮小ME部111から入力された情報(縮小ME結果)を記憶する。縮小ME部111から入力される情報としては、例えば、図9に示すように、符号化対象の画素ブロックを分割する際の分割方法の情報、符号化コストの情報、動きベクトルの情報などがある。
図9の例では、符号化の単位とする画素ブロックをA11、A21、…、A24、A31、…、A34、A41のサブ矩形に分割する分割方法が示されている。符号化の単位は、例えば、MB(Macro Block)やCTU(Coding Tree Unit)などに設定される。一例として、符号化の単位をCTUに設定した場合、サブ矩形は、CU(Coding Unit)になる。符号化コストは、例えば、SADなどである。
上記の符号化コストは縮小MEの際に得られたものである。また、図9には動きベクトルV11、V21、…、V24、V31、…、V34、V41が記載されているが、いずれも縮小MEで得られた動きベクトルである。動きベクトルV11、V21、…、V24、V31、…、V34、V41は、それぞれサブ矩形A11、A21、…、A24、A31、…、A34、A41に対応する。
(S102)使用帯域計算部1122は、縮小ME結果記憶部1121が記憶している縮小ME結果に基づいて使用帯域を計算する。
例えば、使用帯域計算部1122は、図10に示すような方法で使用帯域を計算する。使用帯域計算部1122は、縮小ME結果のうち動きベクトルV11、V21、…、V24、V31、…、V34、V41を用いて探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41を特定する。探索起点RA11、RA21、…は、それぞれ動きベクトルV11、V21、…により特定される画素ブロックである。
例えば、使用帯域計算部1122は、図10に示すような方法で使用帯域を計算する。使用帯域計算部1122は、縮小ME結果のうち動きベクトルV11、V21、…、V24、V31、…、V34、V41を用いて探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41を特定する。探索起点RA11、RA21、…は、それぞれ動きベクトルV11、V21、…により特定される画素ブロックである。
また、使用帯域計算部1122は、参照画像記憶部1125に既に格納済みの参照画像領域(既存の参照画像領域)を特定する。そして、使用帯域計算部1122は、探索起点RA11、RA21、…と、既存の参照画像領域とが重複しない範囲を特定する。図10の例では、探索起点RA21が原画像OPref2に含まれる。この場合、使用帯域計算部1122は、参照画像領域として過去に外部メモリ150から読み出され、参照画像記憶部1125に格納済みの原画像OPref2の領域を特定する。
図10の例では、探索起点RA11の一部が既存の参照画像領域と重複しているため、使用帯域計算部1122は、その重複部分を除いた部分を重複しない範囲として特定する。同様に、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41について、既存の参照画像領域と重複しない範囲を特定する。使用帯域計算部1122により特定された「重複しない範囲」が、等倍MEの際に新たに外部メモリ150から画像データを読み出す範囲となる。
図10に例示した探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41の場合、図11でハッチングを施して表示した範囲が、新たに外部メモリ150から読み出される範囲となる。使用帯域計算部1122は、上記の重複しない範囲のデータ量に基づく指標(例えば、該当範囲の面積)を計算する。
なお、面積が大きいほどデータ量は大きくなるため、該当範囲の面積は、重複しない範囲のデータ量に対応する。また、等倍MEの際に符号化単位毎に外部メモリ150から上記重複しない範囲の画像データが一度に読み出されるとし、単位時間当たりに処理される符号化単位の量がある程度決まっているとすれば、符号化単位当たりのデータ量は、使用帯域に対応する。つまり、等倍MEの際に外部メモリ150から画像データを読み出す際に占有される使用帯域は、上記重複しない範囲の面積により評価できる。
上記の理由により、使用帯域計算部1122は、上記重複しない範囲(例えば、図11のハッチングを施した範囲)の面積を使用帯域として計算する。
(S103)サブ矩形抽出部1123は、インデックスNを1に設定する。
(S103)サブ矩形抽出部1123は、インデックスNを1に設定する。
(S104)サブ矩形抽出部1123は、処理対象として、符号化コストがN番目に大きいサブ矩形を選択する。図12(A)の例において、符号化コストが1番目に大きいサブ矩形は、符号化コストが80のサブ矩形A32である。この場合、サブ矩形抽出部1123は、符号化対象としてサブ矩形A32を選択する。
(S105)隣接探索起点決定部1124は、S104で処理対象として選択されたサブ矩形を基準に隣接サブ矩形を抽出する。図12(A)の例において、サブ矩形A32に隣接するサブ矩形は、サブ矩形A11、A23、A31、A33、A34、A41である。この場合、隣接探索起点決定部1124は、隣接サブ矩形として、サブ矩形A11、A23、A31、A33、A34、A41を抽出する。
(S106)隣接探索起点決定部1124は、S105で抽出した隣接サブ矩形を符号化コストが小さい順にソートする。図12の例では、符号化コストが小さい順に、サブ矩形A34、A23、A41、A33、A11、A31と並べられることになる。
(S107)隣接探索起点決定部1124は、S106でソートした隣接サブ矩形の中から符号化コストが最小の隣接サブ矩形を選択する。図12の例では、(B)にハッチングを施して表現したサブ矩形A34が最小コストの隣接サブ矩形として選択される。S107の処理が完了すると、処理は、図8のS108へと進む。
(S108)隣接探索起点決定部1124は、S107で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S107の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S109)隣接探索起点決定部1124は、S108で特定した探索起点を追加する。例えば、図12(C)に示すように、S108の処理で探索起点A32nが特定された場合、隣接探索起点決定部1124は、探索起点A32nを処理対象に加える。この場合、サブ矩形A34に対応する探索起点は探索起点A32、A32nとなる。
(S110)使用帯域計算部1122は、S109で追加した探索起点を考慮して使用帯域を再計算する。例えば、S109の処理で探索起点A32nが加えられた場合、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、RA32、RA32n、…、RA34、RA41を対象に、図11に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部1122は、図12(D)に示すように、新たに追加した探索起点A32nについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点A32nの追加前に計算した使用帯域に加算してもよい。
(S111)使用帯域計算部1122は、S110で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ150の読み出し速度に基づいて予め設定された帯域である。S110で計算した使用帯域が目標帯域以下である場合、処理はS113へと進む。一方、S110で計算した使用帯域が目標帯域以下でない場合、処理はS112へと進む。
(S112)使用帯域計算部1122は、S109で追加された探索起点を削除する。例えば、探索起点A32nが追加されていた場合には、探索起点A32nが削除される。S112の処理が完了すると、処理はS113へと進む。
(S113)隣接探索起点決定部1124は、S104で選択したサブ矩形について、S105で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はS114へと進む。一方、未選択の隣接サブ矩形がない場合、処理はS115へと進む。
(S114)隣接探索起点決定部1124は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図12の例において、サブ矩形A34の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形A23である。この場合、隣接探索起点決定部1124は、隣接サブ矩形としてサブ矩形A23を選択する。S114の処理が完了すると、処理はS108へと進む。
(S115)サブ矩形抽出部1123は、インデックスNを1増加させる。
(S116)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS117へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S116)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS117へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S117)縮小ME結果記憶部1121は、縮小ME結果に対応する探索起点の情報を等倍ME部114に出力する。S117の処理が完了すると、図7及び図8に示した一連の処理は終了する。
以上、動画像符号化装置110の動作について説明した。上記のように、使用帯域が目標帯域より小さい場合、探索起点を追加することで、等倍MEの際に動きベクトルを探索する範囲を拡げることが可能になり、動きベクトルの探索精度が向上する。また、符号化コストが最大のサブ矩形から順に、最小コストの隣接サブ矩形の動きベクトルに基づく探索起点を追加することで、動きベクトルの探索精度を高めることができる。
[2−4.変形例]
次に、第2実施形態の変形例について説明する。
(2−4−1.変形例#1)
図13を参照しながら、第2実施形態の一変形例(変形例#1)について説明する。変形例#1は、1つのサブ矩形について追加する探索起点を最小コストの隣接サブ矩形に対応する探索起点に限定する変形例である。なお、図13は、第2実施形態の一変形例(変形例#1)に係る動画像符号化装置が実行する処理の流れを示したフロー図である。
次に、第2実施形態の変形例について説明する。
(2−4−1.変形例#1)
図13を参照しながら、第2実施形態の一変形例(変形例#1)について説明する。変形例#1は、1つのサブ矩形について追加する探索起点を最小コストの隣接サブ矩形に対応する探索起点に限定する変形例である。なお、図13は、第2実施形態の一変形例(変形例#1)に係る動画像符号化装置が実行する処理の流れを示したフロー図である。
図7及び図8に示した処理と変形例#1に係る処理との違いは、図8に示したS108〜S117の部分にある。つまり、図7に示したS101〜S107の処理は、変形例#1においても同じである。そのため、図8に示した処理に対応する変形例#1に係る処理だけを図13に示した。従って、変形例#1に係る動画像符号化装置110は、図7に示したS107の処理が完了した後、図13に示した処理を実行する。
図13を参照する。
(S201)隣接探索起点決定部1124は、S107で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S107の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S201)隣接探索起点決定部1124は、S107で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S107の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S202)隣接探索起点決定部1124は、S201で特定した探索起点を追加する。例えば、図12(C)に示すように、S201の処理で探索起点A32nが特定された場合、隣接探索起点決定部1124は、探索起点A32nを処理対象に加える。この場合、サブ矩形A34に対応する探索起点は探索起点A32、A32nとなる。
(S203)使用帯域計算部1122は、S202で追加した探索起点を考慮して使用帯域を再計算する。例えば、S202の処理で探索起点A32nが加えられた場合、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、RA32、RA32n、…、RA34、RA41を対象に、図11に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部1122は、図12(D)に示すように、新たに追加した探索起点A32nについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点A32nの追加前に計算した使用帯域に加算してもよい。
(S204)使用帯域計算部1122は、S203で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ150の読み出し速度に基づいて予め設定された帯域である。S203で計算した使用帯域が目標帯域以下である場合、処理はS206へと進む。一方、S203で計算した使用帯域が目標帯域以下でない場合、処理はS205へと進む。
(S205)使用帯域計算部1122は、S202で追加された探索起点を削除する。例えば、探索起点A32nが追加されていた場合には、探索起点A32nが削除される。S205の処理が完了すると、処理はS206へと進む。
(S206)サブ矩形抽出部1123は、インデックスNを1増加させる。
(S207)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS208へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S207)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS208へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S208)縮小ME結果記憶部1121は、縮小ME結果に対応する探索起点の情報を等倍ME部114に出力する。S208の処理が完了すると、図13(及び図7)に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#1)について説明した。変形例#1によれば、隣接サブ矩形の選択及び使用帯域の計算などにかかる処理負荷を低減することができ、探索起点の決定にかかる処理を高速化できる。
(2−4−2.変形例#2)
次に、図14及び図15を参照しながら、第2実施形態の一変形例(変形例#2)について説明する。変形例#2は、サブ矩形と隣接サブ矩形との間で符号化コストの差を求め、その差が閾値以上となる隣接サブ矩形を利用するものである。
次に、図14及び図15を参照しながら、第2実施形態の一変形例(変形例#2)について説明する。変形例#2は、サブ矩形と隣接サブ矩形との間で符号化コストの差を求め、その差が閾値以上となる隣接サブ矩形を利用するものである。
なお、図14は、第2実施形態の一変形例(変形例#2)に係る動画像符号化装置が実行する処理の流れを示した第1のフロー図である。また、図15は、第2実施形態の一変形例(変形例#2)に係る動画像符号化装置が実行する処理の流れを示した第2のフロー図である。
図7及び図8に示した処理と変形例#2に係る処理との違いは、図8に示したS108〜S117の部分にある。つまり、図7に示したS101〜S107の処理は、変形例#2においても同じである。そのため、図8に示した処理に対応する変形例#2に係る処理だけを図14及び図15に示した。従って、変形例#2に係る動画像符号化装置110は、図7に示したS107の処理が完了した後、図14及び図15に示した処理を実行する。
図14を参照する。
(S221)隣接探索起点決定部1124は、S107で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S107の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S221)隣接探索起点決定部1124は、S107で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S107の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S222)隣接探索起点決定部1124は、S221で特定した探索起点を追加する。例えば、図12(C)に示すように、S221の処理で探索起点A32nが特定された場合、隣接探索起点決定部1124は、探索起点A32nを処理対象に加える。この場合、サブ矩形A34に対応する探索起点は探索起点A32、A32nとなる。
(S223)使用帯域計算部1122は、S222で追加した探索起点を考慮して使用帯域を再計算する。例えば、S222の処理で探索起点A32nが加えられた場合、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、RA32、RA32n、…、RA34、RA41を対象に、図11に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部1122は、図12(D)に示すように、新たに追加した探索起点A32nについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点A32nの追加前に計算した使用帯域に加算してもよい。
(S224)使用帯域計算部1122は、S223で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ150の読み出し速度に基づいて予め設定された帯域である。S223で計算した使用帯域が目標帯域以下である場合、処理は図15のS226へと進む。一方、S223で計算した使用帯域が目標帯域以下でない場合、処理はS225へと進む。
(S225)使用帯域計算部1122は、S222で追加された探索起点を削除する。例えば、探索起点A32nが追加されていた場合には、探索起点A32nが削除される。S225の処理が完了すると、処理は図15のS226へと進む。
(S226)隣接探索起点決定部1124は、S104で選択したサブ矩形について、S105で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はS227へと進む。一方、未選択の隣接サブ矩形がない場合、処理はS230へと進む。
(S227)隣接探索起点決定部1124は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図12の例において、サブ矩形A34の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形A23である。この場合、隣接探索起点決定部1124は、隣接サブ矩形としてサブ矩形A23を選択する。
(S228)隣接探索起点決定部1124は、サブ矩形の符号化コストと、S227で選択した隣接サブ矩形の符号化コストとの差を計算する。なお、符号化コストの差が大きいほど、隣接サブ矩形の符号化コストが小さいことになる。
(S229)隣接探索起点決定部1124は、S228で計算した符号化コストの差が予め設定された閾値以上であるか否かを判定する。この閾値は任意に設定可能である。符号化コストの差が閾値以上である場合、処理はS230へと進む。一方、符号化コストの差が閾値以上でない場合、処理は図14のS221へと進む。
(S230)サブ矩形抽出部1123は、インデックスNを1増加させる。
(S231)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS232へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S231)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS232へと進む。一方、Nが10より大きくない場合、処理は図7のS104へと進む。
(S232)縮小ME結果記憶部1121は、縮小ME結果に対応する探索起点の情報を等倍ME部114に出力する。S232の処理が完了すると、図14及び図15(及び図7)に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#2)について説明した。変形例#2によれば、隣接サブ矩形のうち、サブ矩形より十分に符号化コストの小さい隣接サブ矩形の動きベクトルが探索起点の追加に利用される。そのため、ある程度高い精度で動きベクトルを検出できる探索起点に限って追加されることになる。その結果、等倍MEにおける処理負荷の増大を抑制しつつ、より効果的に動きベクトルの探索精度を高めることができる。
(2−4−3.変形例#3)
次に、図16及び図17を参照しながら、第2実施形態の一変形例(変形例#3)について説明する。変形例#3は、符号化コストが閾値以上となるサブ矩形に限り隣接サブ矩形の動きベクトルに基づく探索起点を追加するものである。
次に、図16及び図17を参照しながら、第2実施形態の一変形例(変形例#3)について説明する。変形例#3は、符号化コストが閾値以上となるサブ矩形に限り隣接サブ矩形の動きベクトルに基づく探索起点を追加するものである。
なお、図16は、第2実施形態の一変形例(変形例#3)に係る動画像符号化装置が実行する処理の流れを示した第1のフロー図である。また、図17は、第2実施形態の一変形例(変形例#3)に係る動画像符号化装置が実行する処理の流れを示した第2のフロー図である。
(S301)縮小ME結果記憶部1121は、縮小ME部111から入力された情報(縮小ME結果)を記憶する。縮小ME部111から入力される情報としては、例えば、図9に示すように、符号化対象の画素ブロックを分割する際の分割方法の情報、符号化コストの情報、動きベクトルの情報などがある。
図9の例では、符号化の単位とする画素ブロックをA11、A21、…、A24、A31、…、A34、A41のサブ矩形に分割する分割方法が示されている。符号化の単位は、例えば、MBやCTUなどに設定される。一例として、符号化の単位をCTUに設定した場合、サブ矩形は、CUになる。符号化コストは、例えば、SADなどである。
上記の符号化コストは縮小MEの際に得られたものである。また、図9には動きベクトルV11、V21、…、V24、V31、…、V34、V41が記載されているが、いずれも縮小MEで得られた動きベクトルである。動きベクトルV11、V21、…、V24、V31、…、V34、V41は、それぞれサブ矩形A11、A21、…、A24、A31、…、A34、A41に対応する。
(S302)使用帯域計算部1122は、縮小ME結果記憶部1121が記憶している縮小ME結果に基づいて使用帯域を計算する。
例えば、使用帯域計算部1122は、図10に示すような方法で使用帯域を計算する。使用帯域計算部1122は、縮小ME結果のうち動きベクトルV11、V21、…、V24、V31、…、V34、V41を用いて探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41を特定する。探索起点RA11、RA21、…は、それぞれ動きベクトルV11、V21、…により特定される画素ブロックである。
例えば、使用帯域計算部1122は、図10に示すような方法で使用帯域を計算する。使用帯域計算部1122は、縮小ME結果のうち動きベクトルV11、V21、…、V24、V31、…、V34、V41を用いて探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41を特定する。探索起点RA11、RA21、…は、それぞれ動きベクトルV11、V21、…により特定される画素ブロックである。
また、使用帯域計算部1122は、参照画像記憶部1125に既に格納済みの参照画像領域(既存の参照画像領域)を特定する。そして、使用帯域計算部1122は、探索起点RA11、RA21、…と、既存の参照画像領域とが重複しない範囲を特定する。図10の例では、探索起点RA21が原画像OPref2に含まれる。この場合、使用帯域計算部1122は、参照画像領域として過去に外部メモリ150から読み出され、参照画像記憶部1125に格納済みの原画像OPref2の領域を特定する。
図10の例では、探索起点RA11の一部が既存の参照画像領域と重複しているため、使用帯域計算部1122は、その重複部分を除いた部分を重複しない範囲として特定する。同様に、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41について、既存の参照画像領域と重複しない範囲を特定する。使用帯域計算部1122により特定された「重複しない範囲」が、等倍MEの際に新たに外部メモリ150から画像データを読み出す範囲となる。
図10に例示した探索起点RA11、RA21、…、RA24、RA31、…、RA34、RA41の場合、図11でハッチングを施して表示した範囲が、新たに外部メモリ150から読み出される範囲となる。使用帯域計算部1122は、上記の重複しない範囲のデータ量に基づく指標(例えば、該当範囲の面積)を計算する。
なお、面積が大きいほどデータ量は大きくなるため、該当範囲の面積は、重複しない範囲のデータ量に対応する。また、等倍MEの際に符号化単位毎に外部メモリ150から上記重複しない範囲の画像データが一度に読み出されるとし、単位時間当たりに処理される符号化単位の量がある程度決まっているとすれば、符号化単位当たりのデータ量は、使用帯域に対応する。つまり、等倍MEの際に外部メモリ150から画像データを読み出す際に占有される使用帯域は、上記重複しない範囲の面積により評価できる。
上記の理由により、使用帯域計算部1122は、上記重複しない範囲(例えば、図11のハッチングを施した範囲)の面積を使用帯域として計算する。
(S303)サブ矩形抽出部1123は、インデックスNを1に設定する。
(S303)サブ矩形抽出部1123は、インデックスNを1に設定する。
(S304)サブ矩形抽出部1123は、処理対象として、符号化コストがN番目に大きいサブ矩形を選択する。図12(A)の例において、符号化コストが1番目に大きいサブ矩形は、符号化コストが80のサブ矩形A32である。この場合、サブ矩形抽出部1123は、符号化対象としてサブ矩形A32を選択する。
(S305)サブ矩形抽出部1123は、S304で選択したサブ矩形の符号化コストが予め設定された閾値以上であるか否かを判定する。この閾値は任意に設定可能である。サブ矩形の符号化コストが閾値以上である場合、処理はS306へと進む。一方、サブ矩形の符号化コストが閾値以上でない場合、処理は図17のS318へと進む。
(S306)隣接探索起点決定部1124は、S304で処理対象として選択されたサブ矩形を基準に隣接サブ矩形を抽出する。図12(A)の例において、サブ矩形A32に隣接するサブ矩形は、サブ矩形A11、A23、A31、A33、A34、A41である。この場合、隣接探索起点決定部1124は、隣接サブ矩形として、サブ矩形A11、A23、A31、A33、A34、A41を抽出する。
(S307)隣接探索起点決定部1124は、S306で抽出した隣接サブ矩形を符号化コストが小さい順にソートする。図12の例では、符号化コストが小さい順に、サブ矩形A34、A23、A41、A33、A11、A31と並べられることになる。
(S308)隣接探索起点決定部1124は、S307でソートした隣接サブ矩形の中から符号化コストが最小の隣接サブ矩形を選択する。図12の例では、(B)にハッチングを施して表現したサブ矩形A34が最小コストの隣接サブ矩形として選択される。S308の処理が完了すると、処理は、図17のS309へと進む。
(S309)隣接探索起点決定部1124は、S308で選択された隣接サブ矩形に対応する動きベクトルを縮小ME結果から抽出する。そして、隣接探索起点決定部1124は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部1124は、図12(C)に示すように、サブ矩形A32を基準とし、S308の処理で隣接サブ矩形として選択したサブ矩形A34の動きベクトルV34が指し示す探索起点RA32nを特定する。
(S310)隣接探索起点決定部1124は、S309で特定した探索起点を追加する。例えば、図12(C)に示すように、S309の処理で探索起点A32nが特定された場合、隣接探索起点決定部1124は、探索起点A32nを処理対象に加える。この場合、サブ矩形A34に対応する探索起点は探索起点A32、A32nとなる。
(S311)使用帯域計算部1122は、S310で追加した探索起点を考慮して使用帯域を再計算する。例えば、S310の処理で探索起点A32nが加えられた場合、使用帯域計算部1122は、探索起点RA11、RA21、…、RA24、RA31、RA32、RA32n、…、RA34、RA41を対象に、図11に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部1122は、図12(D)に示すように、新たに追加した探索起点A32nについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点A32nの追加前に計算した使用帯域に加算してもよい。
(S312)使用帯域計算部1122は、S311で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ150の読み出し速度に基づいて予め設定された帯域である。S311で計算した使用帯域が目標帯域以下である場合、処理はS314へと進む。一方、S311で計算した使用帯域が目標帯域以下でない場合、処理はS313へと進む。
(S313)使用帯域計算部1122は、S310で追加された探索起点を削除する。例えば、探索起点A32nが追加されていた場合には、探索起点A32nが削除される。S313の処理が完了すると、処理はS314へと進む。
(S314)隣接探索起点決定部1124は、S304で選択したサブ矩形について、S306で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はS315へと進む。一方、未選択の隣接サブ矩形がない場合、処理はS316へと進む。
(S315)隣接探索起点決定部1124は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図12の例において、サブ矩形A34の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形A23である。この場合、隣接探索起点決定部1124は、隣接サブ矩形としてサブ矩形A23を選択する。S315の処理が完了すると、処理はS309へと進む。
(S316)サブ矩形抽出部1123は、インデックスNを1増加させる。
(S317)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS318へと進む。一方、Nが10より大きくない場合、処理は図16のS304へと進む。
(S317)サブ矩形抽出部1123は、Nがサブ矩形数より大きいか否かを判定する。図9〜図12の例において、サブ矩形数は10である。この場合、サブ矩形抽出部1123は、Nが10より大きいか否かを判定する。Nがサブ矩形数より大きい場合、処理はS318へと進む。一方、Nが10より大きくない場合、処理は図16のS304へと進む。
(S318)縮小ME結果記憶部1121は、縮小ME結果に対応する探索起点の情報を等倍ME部114に出力する。S318の処理が完了すると、図16及び図17に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#3)について説明した。変形例#3によれば、サブ矩形のうち十分に符号化コストの大きいサブ矩形について探索起点の追加が行われる。つまり、探索起点を追加することにより等倍MEで動きベクトルの探索精度の向上効果が大きいと期待できるサブ矩形について探索起点の追加が行われる。その結果、探索起点の追加による等倍MEの処理負荷の増大を抑制しつつ、より効果的に動きベクトルの探索精度を高めることができる。
以上、第2実施形態の変形例について説明した。なお、上記の変形例#1〜#3は互いに組み合わせることも可能である。例えば、図13に示した処理、又は図14及び図15に示した処理を図17に示した処理と置き換えるなどの変形が可能であり、こうした組み合わせの変形についても第2実施形態に係る技術的範囲に属する。
以上説明したように、第2実施形態に係る技術を適用すれば、外部メモリ150から画像データを読み出す際の利用帯域を有効に活用し、等倍MEにおける動きベクトルの探索範囲を拡大して探索精度を高めることが可能になる。
以上、第2実施形態について説明した。
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を記憶する第2の記憶部と、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を記憶する第3の記憶部と、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする演算部と、
を有する、動画像符号化装置。
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を記憶する第3の記憶部と、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする演算部と、
を有する、動画像符号化装置。
(付記2) 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
(付記3) 前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第1の閾値を超えない場合、更に前記起点領域を拡大する
付記2に記載の動画像符号化装置。
付記2に記載の動画像符号化装置。
(付記4) 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で、前記第1の画像領域との間で前記符号化コストの差が、設定された第2の閾値より大きい画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で、前記第1の画像領域との間で前記符号化コストの差が、設定された第2の閾値より大きい画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
(付記5) 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第3の閾値より大きい画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第3の閾値より大きい画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
(付記6) コンピュータが、
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
動画像符号化方法。
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
動画像符号化方法。
(付記7) コンピュータに、
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
処理を実行させる、プログラム。
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
処理を実行させる、プログラム。
(付記8) 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが小さい順に画像領域を第2の画像領域として順次特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが小さい順に画像領域を第2の画像領域として順次特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記1に記載の動画像符号化装置。
(付記9) 前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域の大きさにかかわらず前記起点領域の拡大を抑止する
付記2に記載の動画像符号化装置。
付記2に記載の動画像符号化装置。
(付記10) 付記7に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
(付記11) 前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
(付記11) 前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
(付記12) 前記コンピュータが、
前記起点領域を追加した後、追加後の前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第1の閾値を超えない場合、更に前記起点領域を拡大する
付記11に記載の動画像符号化方法。
前記起点領域を追加した後、追加後の前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第1の閾値を超えない場合、更に前記起点領域を拡大する
付記11に記載の動画像符号化方法。
(付記13) 前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で、前記第1の画像領域との間で前記符号化コストの差が、設定された第2の閾値より大きい画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で、前記第1の画像領域との間で前記符号化コストの差が、設定された第2の閾値より大きい画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
(付記14) 前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第3の閾値より大きい画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第3の閾値より大きい画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記6に記載の動画像符号化方法。
10 第1の記憶部
20 動画像符号化装置
21 第2の記憶部
22 第3の記憶部
22a 起点領域に関する情報
23 演算部
AP、A11、A21、A22、A23、A24、A31、A32、A33、A34、A41 画像領域
BA、BA11、BA21、BA22、BA23、BA24、BA31、BA32、BA32a、BA33、BA34、BA41 起点領域
P1、P2、P3 画像
Th1 第1の閾値
SC、SC11、SC21、SC22、SC23、SC24、SC31、SC32、SC33、SC34、SC41 符号化コスト
V、V11、V21、V22、V23、V24、V31、V32、V33、V34、V41 動きベクトル
20 動画像符号化装置
21 第2の記憶部
22 第3の記憶部
22a 起点領域に関する情報
23 演算部
AP、A11、A21、A22、A23、A24、A31、A32、A33、A34、A41 画像領域
BA、BA11、BA21、BA22、BA23、BA24、BA31、BA32、BA32a、BA33、BA34、BA41 起点領域
P1、P2、P3 画像
Th1 第1の閾値
SC、SC11、SC21、SC22、SC23、SC24、SC31、SC32、SC33、SC34、SC41 符号化コスト
V、V11、V21、V22、V23、V24、V31、V32、V33、V34、V41 動きベクトル
Claims (7)
- 第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を記憶する第2の記憶部と、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を記憶する第3の記憶部と、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする演算部と、
を有する、動画像符号化装置。 - 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項1に記載の動画像符号化装置。 - 前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第1の閾値を超えない場合、更に前記起点領域を拡大する
請求項2に記載の動画像符号化装置。 - 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で、前記第1の画像領域との間で前記符号化コストの差が、設定された第2の閾値より大きい画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項1に記載の動画像符号化装置。 - 前記第3の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第3の閾値より大きい画像領域を第1の画像領域として特定し、当該第1の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第2の画像領域として特定し、前記第1の画像領域を基準として前記第2の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項1に記載の動画像符号化装置。 - コンピュータが、
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
動画像符号化方法。 - コンピュータに、
第1の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第1の記憶部から読み出された画像の画像領域を第2の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第2の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第1の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第1の記憶部から読み出す対象とする
処理を実行させる、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014149391A JP2016025541A (ja) | 2014-07-23 | 2014-07-23 | 動画像符号化装置、動画像符号化方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014149391A JP2016025541A (ja) | 2014-07-23 | 2014-07-23 | 動画像符号化装置、動画像符号化方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016025541A true JP2016025541A (ja) | 2016-02-08 |
Family
ID=55271943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014149391A Withdrawn JP2016025541A (ja) | 2014-07-23 | 2014-07-23 | 動画像符号化装置、動画像符号化方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016025541A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017183844A (ja) * | 2016-03-28 | 2017-10-05 | 富士通株式会社 | 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム |
WO2019199045A1 (ko) * | 2018-04-11 | 2019-10-17 | 엘지전자 주식회사 | 제한된 참조 영역이 설정된 인터 예측을 이용한 영상 코딩 방법 및 그 장치 |
-
2014
- 2014-07-23 JP JP2014149391A patent/JP2016025541A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017183844A (ja) * | 2016-03-28 | 2017-10-05 | 富士通株式会社 | 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム |
WO2019199045A1 (ko) * | 2018-04-11 | 2019-10-17 | 엘지전자 주식회사 | 제한된 참조 영역이 설정된 인터 예측을 이용한 영상 코딩 방법 및 그 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10455229B2 (en) | Prediction mode selection method, apparatus and device | |
US9307241B2 (en) | Video encoding method and a video encoding apparatus using the same | |
JP2016508327A (ja) | 高効率な次世代ビデオコーディングのためのフレーム階層応答型量子化を使用する、コンテンツ適応ビットレートおよび品質管理 | |
JP2009055542A (ja) | 動画像符号化装置および動画像符号化方法 | |
KR20160061613A (ko) | 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템 | |
JP5613319B2 (ja) | 映像符号化装置、映像符号化方法および映像符号化プログラム | |
US20230239464A1 (en) | Video processing method with partial picture replacement | |
WO2020159982A1 (en) | Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions | |
KR100580194B1 (ko) | 비트 정밀도를 낮춘 부화소 움직임 추정방법 및 장치 | |
JP4922101B2 (ja) | 情報処理装置およびインター予測モード判定方法 | |
JP2022523697A (ja) | 適応的な数の領域を伴う幾何学的分割におけるインター予測 | |
CN112449182A (zh) | 视频编码方法、装置、设备及存储介质 | |
US11395002B2 (en) | Prediction direction selection method and apparatus in image encoding, and storage medium | |
US10694178B2 (en) | Video processing device for encoding frames constituting hierarchical structure | |
JP2013172350A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2016025541A (ja) | 動画像符号化装置、動画像符号化方法、及びプログラム | |
KR20170007665A (ko) | 스킵 모드 정보를 이용한 레이트 조절 인코딩 방법 및 그에 따른 인코딩 장치 | |
US9300975B2 (en) | Concurrent access shared buffer in a video encoder | |
KR20190042234A (ko) | 영상 부호화 장치 및 인코더 | |
JP2005348008A (ja) | 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20150358630A1 (en) | Combined Parallel and Pipelined Video Encoder | |
JP5698629B2 (ja) | 画像処理装置、フィルタ処理方法及びプログラム | |
KR20140110950A (ko) | 동화상 부호화 방법, 장치 및 프로그램 | |
WO2022206199A1 (zh) | 在视频解码装置中进行图像处理的方法、装置及系统 | |
JP2008263549A (ja) | 動画像符号化装置および動画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170406 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171225 |