(57)【要約】      （修正有）【課題】動画像の圧縮率を向上する装置及び方法を提供する。【解決手段】動画像圧縮装置１は、動画像を取得する動画像取得部１３１と、基準フレーム画像及び特定用フレーム画像のそれぞれに、入力された動画像に基づいて動画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させる伝搬制御部１３２と、複数の処理層から選択した後段処理層、及び前段処理層の両方の処理層において共通に活性化している、一以上の特定用出力と一以上の基準出力とを抽出する抽出部１３３と、一以上の特定用特徴点を検出し、かつ一以上の基準特徴点を検出する特徴点検出部１３７と、一以上の特定用特徴点と一以上の基準特徴点とを比較することにより、フレーム画像間で被写体が移動するベクトルを推定するベクトル推定部１３９と、ベクトル推定部が推定した結果に基づいて、動画像を圧縮した圧縮動画像を生成する圧縮部１４０と、を有する。【選択図】図３
2019097066.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置で生成された動画像を取得する動画像取得部と、
前記動画像に含まれるフレーム画像である基準フレーム画像及び前記動画像に含まれる前記基準フレーム画像以外のフレーム画像である特定用フレーム画像のそれぞれに、入力された動画像に基づいて当該動画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させる伝搬制御部と、
前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記特定用フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の特定用出力と前記基準フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の基準出力とを抽出する抽出部と、
前記一以上の特定用出力に基づいて一以上の特定用特徴点を検出し、かつ前記一以上の基準出力に基づいて一以上の基準特徴点を検出する特徴点検出部と、
前記一以上の特定用特徴点と前記一以上の基準特徴点とを比較することにより、前記フレーム画像間で被写体が移動するベクトルを推定するベクトル推定部と、
前記ベクトル推定部が推定した結果に基づいて、前記動画像を圧縮した圧縮動画像を生成する圧縮部と、
を有する動画像圧縮装置。
【請求項２】
前記抽出部は、
前記特定用フレーム画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段特定用出力、及び前記基準フレーム画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する後段抽出部と、
前記一以上の後段特定用出力及び前記一以上の後段基準出力を活性化させる要因となった前記前段処理層から出力された複数の前段特定用出力、及び前記前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する前段抽出部と、
を有する、
請求項１に記載の動画像圧縮装置。
【請求項３】
前記前段抽出部は、前記複数の前段特定用出力及び前記複数の前段基準出力のうち、活性化している大きさに基づいて、前記一以上の前段特定用出力及び前記一以上の前段基準出力を抽出する、
請求項２に記載の動画像圧縮装置。
【請求項４】
前記機械学習モデルは、畳み込みニューラルネットワークを含み、
前記後段処理層は、出力層、全結合層、正規化層、プーリング層、及び畳み込み層のうちのいずれかの層である、
請求項２又は３に記載の動画像圧縮装置。
【請求項５】
前記前段処理層は、全結合層、正規化層、プーリング層、畳み込み層及び入力層のうちのいずれかの層である、
請求項４に記載の動画像圧縮装置。
【請求項６】
前記抽出部は、前記複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択した場合において、前記最後尾層において共通に活性化している前記一以上の特定用出力及び前記一以上の基準出力がない場合、前記最後尾層より前の処理層において共通に活性化している前記一以上の特定用出力及び前記一以上の基準出力を抽出する、
請求項１又は５に記載の動画像圧縮装置。
【請求項７】
前記特徴点検出部が特定した前記一以上の特定用特徴点及び前記一以上の基準特徴点から、相互の対応関係に基づいて一部の特定用特徴点及び一部の基準特徴点を選択する選択部をさらに有し、
前記ベクトル推定部は、前記一部の特定用特徴点と前記一部の基準特徴点とを比較することにより、前記被写体が移動するベクトルを推定する、
請求項１から６のいずれか一項に記載の動画像圧縮装置。
【請求項８】
前記選択部は、前記ベクトル推定部が、前記被写体に含まれる前記一部の特定用特徴点それぞれが移動するベクトルを推定した場合において、一の特定用特徴点と当該一の特定用特徴点の周囲にある特定用特徴点との移動するベクトルが所定の範囲を超える場合に、前記一の特定用特徴点及び前記一の特定用特徴点に対応する基準特徴点を、前記一部の特定用特徴点及び前記一部の基準特徴点から除去する、
請求項７に記載の動画像圧縮装置。
【請求項９】
前記ベクトル推定部は、前記特定用フレーム画像における前記一部の特定用特徴点の位置と、前記基準フレーム画像における前記一部の基準特徴点の位置との関係に基づいて、前記ベクトルを推定する、
請求項８に記載の動画像圧縮装置。
【請求項１０】
前記複数の処理層のうち、前記後段処理層として用いる処理層を選択する指示を受け付ける指示受付部をさらに有し、
前記抽出部は、前記指示受付部が受け付けた前記指示が示す前記処理層を、前記後段処理層として使用する、
請求項１から９のいずれか一項に記載の動画像圧縮装置。
【請求項１１】
前記抽出部は、前記複数の処理層のうち一つの層を前記後段処理層として選択して前記一以上の特定用出力及び前記一以上の基準出力を抽出した後に、前記前段処理層として選択した処理層を前記後段処理層として選択して、別の前記一以上の特定用出力及び前記一以上の基準出力を抽出する、
請求項１から１０のいずれか一項に記載の動画像圧縮装置。
【請求項１２】
撮像装置で生成された動画像を取得するステップと、
前記動画像に含まれるフレーム画像である基準フレーム画像及び前記動画像に含まれる前記基準フレーム画像以外のフレーム画像である特定用フレーム画像のそれぞれに、入力された動画像に基づいて当該動画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させるステップと、
前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記特定用フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の特定用出力と前記基準フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の基準出力とを抽出するステップと、
前記一以上の特定用出力に基づいて一以上の特定用特徴点を検出し、かつ前記一以上の基準出力に基づいて一以上の基準特徴点を検出するステップと、
前記一以上の特定用特徴点と前記一以上の基準特徴点とを比較することにより、前記フレーム画像間で被写体が移動するベクトルを推定するステップと、
前記被写体が移動するベクトルを推定するステップにおいて推定した結果に基づいて、前記動画像を圧縮した圧縮動画像を生成するステップと、
を有する動画像圧縮方法。
【請求項１３】
前記抽出するステップは、
前記特定用フレーム画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段特定用出力、及び前記基準フレーム画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する前段抽出ステップと、
前記一以上の後段特定用出力及び前記一以上の後段基準出力を活性化させる要因となった前記前段処理層から出力された複数の前段特定用出力、及び前記前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する後段抽出ステップと、
を有する、請求項１２に記載の動画像圧縮方法。
【請求項１４】
前記前段抽出ステップを実行した後に、前記一以上の前段特定用出力及び前記一以上の前段基準出力を、前記複数の後段特定用出力及び前記複数の後段基準出力として、前記後段抽出ステップを実行する、
請求項１３に記載の動画像圧縮方法。
【請求項１５】
前記複数の処理層のそれぞれに対して、前記後段抽出ステップ及び前記前段抽出ステップを実行する、
請求項１３又は１４に記載の動画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習モデルを用いて動画像を圧縮する動画像圧縮装置及び動画像圧縮方法に関する。
【背景技術】
【０００２】
動画像に写っている被写体の動きを予測することにより、動画像を圧縮する装置が知られている。特許文献１には、変形を考慮した被写体の動きを予測することにより、動画像を圧縮する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０８０１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＭＰＥＧ（Moving Picture Experts Group）をはじめとする国際標準化された動画像圧縮符号化方法は、動画像のフレームを所定の単位で分割した矩形ブロックの単位で被写体の動きを予測して動き補償を行っている。この場合、被写体が変形すると予測誤差が大きくなり、動画像の圧縮率が低下してしまうという問題が生じる。予測誤差は、基準となるフレーム画像に動き予測を適用した画像と、動き補償の対象であるフレーム画像との差分である。従来の技術を用いることにより、ブロックごとに算出された幾何変換（例えば、アフィン変換及び共一次変換等）のパラメータに基づいて、変形を考慮したブロックの動きを予測することができる。しかし、一般的に被写体の変形は不規則であるため、幾何変換を用いた動き補償では近似にしかならない。また、異なるフレーム画像に写っている異なる被写体を、対応する被写体であると誤検出する可能性がある。その結果、予測誤差が大きくなり、動画像の圧縮率が低下してしまう。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、動画像の圧縮率を向上させることができる動画像圧縮装置及び動画像圧縮方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る動画像圧縮装置は、撮像装置で生成された動画像を取得する動画像取得部と、前記動画像に含まれるフレーム画像である基準フレーム画像及び前記動画像に含まれる前記基準フレーム画像以外のフレーム画像である特定用フレーム画像のそれぞれに、入力された動画像に基づいて当該動画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させる伝搬制御部と、前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記特定用フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の特定用出力と前記基準フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の基準出力とを抽出する抽出部と、前記一以上の特定用出力に基づいて一以上の特定用特徴点を検出し、かつ前記一以上の基準出力に基づいて一以上の基準特徴点を検出する特徴点検出部と、前記一以上の特定用特徴点と前記一以上の基準特徴点とを比較することにより、前記フレーム画像間で被写体が移動するベクトルを推定するベクトル推定部と、前記ベクトル推定部が推定した結果に基づいて、前記動画像を圧縮した圧縮動画像を生成する圧縮部と、を有する。
【０００７】
前記抽出部は、前記特定用フレーム画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段特定用出力、及び前記基準フレーム画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する後段抽出部と、前記一以上の後段特定用出力及び前記一以上の後段基準出力を活性化させる要因となった前記前段処理層から出力された複数の前段特定用出力、及び前記前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する前段抽出部と、を有してもよい。
【０００８】
前記前段抽出部は、前記複数の前段特定用出力及び前記複数の前段基準出力のうち、活性化している大きさに基づいて、前記一以上の前段特定用出力及び前記一以上の前段基準出力を抽出してもよい。
【０００９】
前記機械学習モデルは、畳み込みニューラルネットワークを含み、前記後段処理層は、出力層、全結合層、正規化層、プーリング層、及び畳み込み層のうちのいずれかの層であってもよい。
前記前段処理層は、全結合層、正規化層、プーリング層、畳み込み層及び入力層のうちのいずれかの層であってもよい。
【００１０】
前記抽出部は、前記複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択した場合において、前記最後尾層において共通に活性化している前記一以上の特定用出力及び前記一以上の基準出力がない場合、前記最後尾層より前の処理層において共通に活性化している前記一以上の特定用出力及び前記一以上の基準出力を抽出してもよい。
【００１１】
前記動画像圧縮装置は、前記特徴点検出部が特定した前記一以上の特定用特徴点及び前記一以上の基準特徴点から、相互の対応関係に基づいて一部の特定用特徴点及び一部の基準特徴点を選択する選択部をさらに有し、前記ベクトル推定部は、前記一部の特定用特徴点と前記一部の基準特徴点とを比較することにより、前記被写体が移動するベクトルを推定してもよい。
【００１２】
前記選択部は、前記ベクトル推定部が、前記被写体に含まれる前記一部の特定用特徴点それぞれが移動するベクトルを推定した場合において、一の特定用特徴点と当該一の特定用特徴点の周囲にある特定用特徴点との移動するベクトルが所定の範囲を超える場合に、前記一の特定用特徴点及び前記一の特定用特徴点に対応する基準特徴点を、前記一部の特定用特徴点及び前記一部の基準特徴点から除去してもよい。
【００１３】
前記ベクトル推定部は、前記特定用フレーム画像における前記一部の特定用特徴点の位置と、前記基準フレーム画像における前記一部の基準特徴点の位置との関係に基づいて、前記ベクトルを推定してもよい。
【００１４】
前記動画像圧縮装置は、前記複数の処理層のうち、前記後段処理層として用いる処理層を選択する指示を受け付ける指示受付部をさらに有し、前記抽出部は、前記指示受付部が受け付けた前記指示が示す前記処理層を、前記後段処理層として使用してもよい。
【００１５】
前記抽出部は、前記複数の処理層のうち一つの層を前記後段処理層として選択して前記一以上の特定用出力及び前記一以上の基準出力を抽出した後に、前記前段処理層として選択した処理層を前記後段処理層として選択して、別の前記一以上の特定用出力及び前記一以上の基準出力を抽出してもよい。
【００１６】
本発明の第２の態様に係る動画像圧縮方法は、撮像装置で生成された動画像を取得するステップと、前記動画像に含まれるフレーム画像である基準フレーム画像及び前記動画像に含まれる前記基準フレーム画像以外のフレーム画像である特定用フレーム画像のそれぞれに、入力された動画像に基づいて当該動画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させるステップと、前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記特定用フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の特定用出力と前記基準フレーム画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の基準出力とを抽出するステップと、前記一以上の特定用出力に基づいて一以上の特定用特徴点を検出し、かつ前記一以上の基準出力に基づいて一以上の基準特徴点を検出するステップと、前記一以上の特定用特徴点と前記一以上の基準特徴点とを比較することにより、前記フレーム画像間で被写体が移動するベクトルを推定するステップと、前記被写体が移動するベクトルを推定するステップにおいて推定した結果に基づいて、前記動画像を圧縮した圧縮動画像を生成するステップと、を有する。
【００１７】
前記抽出するステップは、前記特定用フレーム画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段特定用出力、及び前記基準フレーム画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する前段抽出ステップと、前記一以上の後段特定用出力及び前記一以上の後段基準出力を活性化させる要因となった前記前段処理層から出力された複数の前段特定用出力、及び前記前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する後段抽出ステップと、を有してもよい。
【００１８】
前記動画像圧縮方法は、前記前段抽出ステップを実行した後に、前記一以上の前段特定用出力及び前記一以上の前段基準出力を、前記複数の後段特定用出力及び前記複数の後段基準出力として、前記後段抽出ステップを実行してもよい。
【００１９】
前記動画像圧縮方法は、前記複数の処理層のそれぞれに対して、前記後段抽出ステップ及び前記前段抽出ステップを実行してもよい。
【発明の効果】
【００２０】
本発明によれば、動画像の圧縮率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】動画像を圧縮する処理の概要を説明するための図である。
【図２】機械学習モデルの構成の一例を示す図である。
【図３】動画像圧縮装置の構成を示す図である。
【図４】抽出部が行う抽出処理について説明するための図である。
【図５】抽出部が行う抽出処理について説明するための図である。
【図６】抽出部が行う抽出処理について説明するための図である。
【図７】抽出部が行う抽出処理について説明するための図である。
【図８】抽出部が行う抽出処理について説明するための図である。
【図９】抽出部が行う抽出処理について説明するための図である。
【図１０】動画像圧縮装置が行う処理の流れを示すフローチャートである。
【図１１】抽出部が行う処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】
［動画像圧縮装置１の概要］
図１は、動画像を圧縮する処理の概要を説明するための図である。動画像圧縮装置１は、例えばＰＣ（Personal Computer）である。動画像圧縮装置１は、機械学習モデルＭを用いて基準フレーム画像に基づいて、特定用フレーム画像に写っている被写体が移動するベクトルを推定することにより、動画像を圧縮する装置である。基準フレーム画像は、動画像に含まれる複数のフレーム画像から選択された一のフレーム画像である。特定用フレーム画像は、基準フレーム画像以外のフレーム画像であって、基準フレーム画像の前後にある一以上のフレーム画像である。ベクトルは、基準フレーム画像に基づいて、被写体が移動する向き及び移動量を示す動きベクトルである。
【００２３】
動画像圧縮装置１は、撮像装置で生成された動画像を取得する（図１の（１））。撮像装置は、動画像を撮像することができるカメラ又はスマートフォン等である。図１に示す動画像Ａは、被写体Ｔとする人が左側から右側に走る様子を写した画像である。図１に示す動画像Ａに含まれる１フレーム目のフレーム画像Ａ１を基準フレーム画像とし、２フレーム目から５フレーム目までのフレーム画像Ａ２、Ａ３、Ａ４、Ａ５を特定用フレーム画像とする。
【００２４】
動画像圧縮装置１は、取得した動画像Ａを機械学習モデルＭに入力し、当該機械学習モデルＭに含まれる複数の処理層を伝搬させる（図１の（２））。機械学習モデルＭは、入力された動画像に基づいて当該動画像に含まれる被写体の種別を出力するように学習されたモデルである。具体的には、機械学習モデルＭは、入力された動画像に基づいて、当該動画像のフレーム画像それぞれに写っている被写体の種別をフレーム画像ごとに出力する。
【００２５】
図２は、機械学習モデルＭの構成の一例を示す図である。機械学習モデルＭは、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）を含む。この場合において、機械学習モデルＭは、入力層Ｍ１、第１の畳み込み層Ｍ２、第２の畳み込み層Ｍ３、第１のプーリング層Ｍ４、正規化層Ｍ５、第３の畳み込み層Ｍ６、第２のプーリング層Ｍ７、第１の全結合層Ｍ８、第２の全結合層Ｍ９、及び出力層Ｍ１０を有する。本明細書においては、隣接する２つの処理層のうち、特定用フレーム画像及び基準フレーム画像が伝搬する際の上流側の処理層を前段処理層と称し、下流側の処理層を後段処理層と称する。
【００２６】
後段処理層となり得る処理層は、第１の畳み込み層Ｍ２、第２の畳み込み層Ｍ３、第１のプーリング層Ｍ４、正規化層Ｍ５、第３の畳み込み層Ｍ６、第２のプーリング層Ｍ７、第１の全結合層Ｍ８、第２の全結合層Ｍ９、及び出力層Ｍ１０のうちのいずれかの層である。また、前段処理層となり得る処理層は、入力層Ｍ１、第１の畳み込み層Ｍ２、第２の畳み込み層Ｍ３、第１のプーリング層Ｍ４、正規化層Ｍ５、第３の畳み込み層Ｍ６、第２のプーリング層Ｍ７、第１の全結合層Ｍ８、及び第２の全結合層Ｍ９のうちのいずれかの層である。動画像圧縮装置１は、取得した動画像を機械学習モデルＭに入力し、入力層Ｍ１から出力層Ｍ１０までの各処理層を順伝搬させる、すなわち、推論させることにより、動画像に写っている被写体Ｔの種別を出力させる。
【００２７】
図１に戻り、動画像圧縮装置１は、機械学習モデルＭが被写体Ｔの種別（例えば、人間、男性又は女性等）を出力するに至った各処理層における計算結果、すなわち、深層学習による抽象度の高い特徴量を用いて、特定用フレーム画像及び基準フレーム画像に共通する特徴点を検出する（図１の（３））。動画像圧縮装置１は、動画像Ａに含まれる複数のフレーム画像のうち、少なくとも種別が同一である被写体が連続して写っているフレーム画像群を、特定用フレーム画像及び基準フレーム画像として選択する。ここで、動画像圧縮装置１は、共通する特徴点の検出を、各フレーム画像を順伝搬させた順序とは逆の順序で行う。このようにすることで、動画像圧縮装置１は、抽象度が高い特徴量に基づく特徴点を検出することができる。
【００２８】
動画像圧縮装置１は、共通する特徴点（例えば、顔、体、手足等に含まれる特徴点）を検出することにより、特定用フレーム画像に写っている被写体Ｔに含まれる特徴点及び基準フレーム画像に写っている被写体Ｔに含まれる特徴点に対応関係があることを検出する。対応関係は、特徴点が示す特定用フレーム画像に含まれる画素と、特徴点が示す基準フレーム画像に含まれる画素とが一致又は近似した関係である。
【００２９】
動画像圧縮装置１は、検出した対応関係にある特定用フレーム画像及び基準フレーム画像それぞれの特徴点を比較することにより、フレーム画像間における被写体Ｔの動きベクトルを推定する（図１の（４））。そして、動画像圧縮装置１は、推定した被写体Ｔの動きベクトルに基づいて特定フレーム画像に対する動き補償を行うことにより、動画像Ａを圧縮する（図１の（５））。このようにすることで、動画像圧縮装置１は、動画像の圧縮率を向上させることができる。
以下、動画像圧縮装置１の詳細について説明する。
【００３０】
［動画像圧縮装置１の構成］
図３は、動画像圧縮装置１の構成を示す図である。動画像圧縮装置１は、操作部１１、記憶部１２、及び制御部１３を有する。
【００３１】
操作部１１は、ユーザの操作を受け付ける入力デバイスである。
記憶部１２は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びハードディスク等の記憶媒体である。記憶部１２は、制御部１３が実行する各種のプログラムを記憶する。記憶部１２は、動画像を記憶する。
【００３２】
制御部１３は、例えばＣＰＵ（Central Processing Unit）である。制御部１３は、記憶部１２に記憶されているプログラムを実行することにより、動画像圧縮装置１に係る機能を制御する。制御部１３は、プログラムを実行することにより、動画像取得部１３１、伝搬制御部１３２、抽出部１３３、指示受付部１３６、特徴点検出部１３７、選択部１３８、ベクトル推定部１３９、及び圧縮部１４０として機能する。
動画像取得部１３１は、記憶部１２に記憶されている撮像装置で生成された動画像を取得する。動画像取得部１３１は、取得した動画像を、伝搬制御部１３２に入力する。
【００３３】
伝搬制御部１３２は、動画像取得部１３１から入力された動画像に含まれる特定用フレーム画像及び基準フレーム画像のそれぞれに、機械学習モデルＭに含まれる複数の処理層を伝搬させる。図２に示す例において、伝搬制御部１３２は、まず、動画像に含まれる複数のフレーム画像それぞれに、機械学習モデルＭに含まれる入力層Ｍ１から出力層Ｍ１０までの各処理層を、順に伝搬させる。そして、伝搬制御部１３２は、機械学習モデルＭから出力されたフレーム画像ごとの被写体の種別に基づいて、特定用フレーム画像及び基準フレーム画像を選択する。伝搬制御部１３２は、例えば、動画像に含まれる複数のフレーム画像のうち、種別が同一である被写体が連続して写っているフレーム画像群を、特定用フレーム画像及び基準フレーム画像として選択する。伝搬制御部１３２は、選択した特定用フレーム画像及び基準フレーム画像を示す情報を抽出部１３３に入力する。
【００３４】
抽出部１３３は、複数の処理層から選択した後段処理層、及び後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、特定用フレーム画像に基づいて後段処理層及び前段処理層から出力された一以上の特定用出力と基準フレーム画像に基づいて後段処理層及び前段処理層から出力された一以上の基準出力とを抽出する。抽出部１３３が行う抽出処理の詳細については後述するが、抽出部１３３は、後段処理層で共通に活性化している特定用出力の一部である後段特定用出力及び基準出力の一部である後段基準出力を抽出する後段抽出部１３４と、前段処理層で共通に活性化している特定用出力の一部である前段特定用出力及び基準出力の一部である前段基準出力を抽出する前段抽出部１３５とを有する。
【００３５】
抽出部１３３が抽出する特定用出力及び基準出力は、処理層に含まれる複数のユニットのうち、活性化しているユニットを示す情報である。ユニットは、フレーム画像に含まれる一以上の画素である。活性化の定義は、例えば、ユニットの出力値又はユニットの出力値と当該ユニットの結合の重みとの積が、所定の閾値を超えた場合でもよいし、出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。また、全結合層以外の処理層においては、例えば、チャンネルごとに出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。チャンネルは、フィルタ毎に畳み込み演算した出力である。
【００３６】
抽出部１３３は、複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択することが好ましい。しかし、最後尾層において共通に活性化している特定用出力及び基準出力がない場合がある。そこで、抽出部１３３は、複数の処理層のうち、最後尾層を後段処理層として選択した場合において、最後尾層において共通に活性化している一以上の特定用出力及び一以上の基準出力がない場合、最後尾層より前の処理層において共通に活性化している一以上の特定用出力及び一以上の基準出力を抽出してもよい。
【００３７】
例えば、抽出部１３３が、最後尾層である出力層Ｍ１０を後段処理層として選択した場合において、出力層Ｍ１０において共通に活性化している一以上の特定用出力及び一以上の基準出力がないとする。この場合において、抽出部１３３は、出力層Ｍ１０より前の各処理層に対して、共通に活性化している一以上の特定用出力及び一以上の基準出力を繰り返し探索する。抽出部１３３は、例えば、出力層Ｍ１０の直前の処理層である第２の全結合層Ｍ９において共通に活性化している一以上の特定用出力及び一以上の基準出力があった場合、第２の全結合層Ｍ９を後段処理層として選択する。そして、抽出部１３３は、後段処理層として選択した第２の全結合層Ｍ９において共通に活性化している一以上の特定用出力及び一以上の基準出力を抽出する。このようにすることで、抽出部１３３は、特定用フレーム画像と基準フレーム画像とで一致する領域が少ない場合であっても、それぞれに写る被写体を対応付けることができる。
【００３８】
抽出部１３３は、ユーザによって指定された処理層を後段処理層として選択してもよい。具体的には、指示受付部１３６が、操作部１１を介して、複数の処理層のうち、後段処理層として用いる処理層を選択する指示を受け付ける。そして、抽出部１３３は、指示受付部１３６が受け付けた指示が示す処理層を、後段処理層として使用する。抽出部１３３は、図２に示す例において、ユーザが第２の全結合層Ｍ９を選択した場合に、指示受付部１３６が受け付けた指示が示す第２の全結合層Ｍ９を、後段処理層として使用する。抽出部１３３は、抽出した特定用出力と基準出力とを特徴点検出部１３７に入力する。
【００３９】
特徴点検出部１３７は、一以上の特定用出力に基づいて一以上の特定用特徴点を検出し、かつ一以上の基準出力に基づいて一以上の基準特徴点を検出する。具体的には、特徴点検出部１３７は、まず、一以上の特定用出力及び一以上の基準出力に基づいて、対応する特徴点を探索する。そして、特徴点検出部１３７は、対応関係にある一以上の特定用出力に基づく一以上の特定用特徴点と、一以上の基準出力に基づく一以上の基準特徴点とを検出する。特徴点検出部１３７は、検出した特定用特徴点及び基準特徴点を選択部１３８に入力する。
【００４０】
選択部１３８は、特徴点検出部１３７が特定した一以上の特定用特徴点及び一以上の基準特徴点から、相互の対応関係に基づいて一部の特定用特徴点及び一部の基準特徴点を選択する。具体的には、選択部１３８は、誤検出した対応関係を除去し、除去した後の対応関係に基づく一以上の特定用特徴点及び一以上の基準特徴点を選択する。対応関係の誤検出は、特定用特徴点及び基準特徴点の対応関係に矛盾が生じている状態であり、例えば幾何変換の変換式が算出できない場合である。選択部１３８は、例えば、ＲＡＮＳＡＣ（Random Sampling Consensus）法又は最小２乗メディアン（ＬＭｅｄＳ：Least Median of Square）法に基づいて絞り込みを行うことにより対応関係を除去する。
【００４１】
選択部１３８は、ベクトル推定部１３９が、被写体に含まれる一部の特定用特徴点それぞれが移動するベクトルを推定した場合において、一の特定用特徴点と当該一の特定用特徴点の周囲にある特定用特徴点との移動するベクトルが所定の範囲を超える場合に、一の特定用特徴点及び一の特定用特徴点に対応する基準特徴点を、一部の特定用特徴点及び一部の基準特徴点から除去してもよい。例えば、中央に位置する一の基準特徴点と対応関係にある一の特定用特徴点の動きベクトルが、当該一の基準特徴点の周囲にある複数の基準特徴点と対応関係にある複数の特定用特徴点それぞれの動きベクトルと一致又は近似していないとする。この場合において、選択部１３８は、一の特定用特徴点の動きベクトルが所定の範囲を超えていると判定し、一の特定用特徴点及び一の特定用特徴点に対応する基準特徴点を除去する。このようにすることで、選択部１３８は、対応関係の誤検出によって予測誤差が大きくなることを抑えることができる。
【００４２】
ベクトル推定部１３９は、一以上の特定用特徴点と一以上の基準特徴点とを比較することにより、フレーム画像間で被写体が移動するベクトルを推定する。具体的には、ベクトル推定部１３９は、選択部１３８が誤検出を除去した後の対応関係に基づく一部の特定用特徴点と一部の基準特徴点とを比較することにより、被写体が移動するベクトルを推定する。ベクトル推定部１３９は、例えば、隣接する複数の対応関係にある特定用特徴点及び基準特徴点に基づいて、特定用フレーム画像に写っている被写体に含まれる画素の座標から基準フレーム画像に写っている被写体に含まれる画素の座標への幾何変換を算出することにより被写体の動きベクトルを推定してもよい。動きベクトルの計算方法は、公知の技術を使用できる。
【００４３】
ベクトル推定部１３９は、特定用フレーム画像における一部の特定用特徴点の位置と、基準フレーム画像における一部の基準特徴点の位置との関係に基づいて、ベクトルを推定してもよい。例えば、動きベクトルを推定した複数の推定済み特定用特徴点と、動きベクトルを推定していない未推定特定用特徴点とがあるとする。また、複数の推定済み特定用特徴点と対応関係にある基準特徴点それぞれと、未推定特定用特徴点と対応関係にある基準特徴点とが基準フレーム画像において隣接しているとする。この場合において、ベクトル推定部１３９は、複数の推定済み特定用特徴点に隣接するように、未推定特定用特徴点の動きベクトルを推定する。このようにすることで、ベクトル推定部１３９は、対応関係の誤検出を未然に防ぎ、予測誤差が大きくなることを抑えることができる。ベクトル推定部１３９は、推定した動きベクトルを圧縮部１４０に入力する。
【００４４】
圧縮部１４０は、ベクトル推定部１３９が推定した結果に基づいて、動画像を圧縮した圧縮動画像を生成する。具体的には、圧縮部１４０は、まず、ベクトル推定部１３９から入力された動きベクトルを基準フレーム画像に適用させた予測画像と、動きベクトルの対象である特定フレーム画像との差分である差分画像を生成する。そして、圧縮部１４０は、基準フレーム画像、動きベクトル、及び差分画像に基づいて、圧縮動画像を生成する。圧縮部１４０は、生成した圧縮動画像を記憶部１２に記憶させる。
【００４５】
［抽出処理］
続いて、抽出部１３３が行う抽出処理について説明する。上述のとおり、抽出部１３３は、後段抽出部１３４及び前段抽出部１３５を有する。後段抽出部１３４は、特定用フレーム画像が複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより後段処理層から出力された複数の後段特定用出力、及び基準フレーム画像が前段処理層及び後段処理層の順に伝搬したことにより後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する。
【００４６】
前段抽出部１３５は、一以上の後段特定用出力及び一以上の後段基準出力を活性化させる要因となった前段処理層から出力された複数の前段特定用出力、及び前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する。
【００４７】
図４から図９は、抽出部１３３が行う抽出処理について説明するための図である。図４から図９においては、説明の便宜上、特定用フレーム画像が１つであるとして説明する。図４から図９は、前段処理層から後段処理層に伝搬させた状態を示している。図４から図９において、実線で示すユニットを結合する結合線は、結合するユニットから出力があったことを示し、破線で示す結合線は、結合するユニットから出力が無かったことを示す。また、結合線を示す線の太さは、結合するユニットからの出力の大きさを示す。
【００４８】
図４の場合において、後段処理層は、最後尾層（例えば、出力層又は全結合層等）又は抽出部１３３が選択した最後尾層より前の処理層（全結合層又はプーリング層等）であり、前段処理層は、後段処理層の直前の処理層（例えば、全結合層又はプーリング層等）である。図４においては、後段処理層が出力層Ｍ２０であり、前段処理層が全結合層Ｍ１９であるとして説明する。
【００４９】
図４（ａ）は、抽出前の状態であり、図４（ｂ）は抽出後の状態である。特定用フレーム画像において、出力層Ｍ２０は、ユニットＵ５、Ｕ８が活性化しており、全結合層Ｍ１９は、ユニットＵ２、Ｕ５、Ｕ６、Ｕ７、Ｕ８が活性化している。基準フレーム画像において、出力層Ｍ２０は、ユニットＵ３、Ｕ５が活性化しており、全結合層Ｍ１９は、ユニットＵ２、Ｕ４、Ｕ５、Ｕ８が活性化している。
【００５０】
この場合において、後段抽出部１３４は、後段処理層である出力層Ｍ２０から出力された後段特定用出力であるユニットＵ５、Ｕ８、及び出力層Ｍ２０から出力された後段基準出力であるユニットＵ３、Ｕ５を比較する。そして、後段抽出部１３４は、共通に活性化している後段特定用出力のユニットＵ５及び後段基準出力のユニットＵ５を抽出する。
【００５１】
続いて、前段抽出部１３５は、後段特定用出力のユニットＵ５を活性化させる要因となった前段処理層である全結合層Ｍ１９から出力された前段特定用出力であるユニットＵ２、Ｕ５、Ｕ６、及び後段基準出力のユニットＵ５を活性化させる要因となった全結合層Ｍ１９から出力された前段基準出力であるユニットＵ２、Ｕ５、Ｕ８を比較する。そして、前段抽出部１３５は、共通に活性化している前段特定用出力のユニットＵ２、Ｕ５、及び前段基準出力のユニットＵ２、Ｕ５を抽出する。
【００５２】
抽出部１３３は、出力層Ｍ２０から全結合層Ｍ１９までの出力を抽出すると、次の処理層に対する出力を抽出する。具体的には、抽出部１３３は、処理層ごとに、共通に活性化している特定用出力及び基準出力を抽出する処理を、伝搬制御部１３２が伝搬させた順序とは逆の順序で繰り返し行う。より具体的には、抽出部１３３は、複数の処理層のうち一つの層を後段処理層として選択して一以上の特定用出力及び一以上の基準出力を抽出した後に、前段処理層として選択した処理層を後段処理層として選択して、別の一以上の特定用出力及び一以上の基準出力を抽出する。このようにすることで、抽出部１３３は、特定用フレーム画像及び基準フレーム画像に対する比較の精度を高めることができる。
【００５３】
図５は、特定用フレーム画像に基づいて、前段処理層から後段処理層に伝搬させた状態を示している。図６は、基準フレーム画像に基づいて、前段処理層から後段処理層に伝搬させた状態を示している。図５及び図６の場合において、後段処理層は、全結合層Ｍ１８であり、前段処理層は、全結合層以外の処理層（例えば、プーリング層又は畳み込み層等）である。図５及び図６においては、前段処理層がプーリング層Ｍ１７であるとして説明する。また、図５及び図６において、前段処理層は、３つのチャンネルを有する。上段の第１チャンネルは、ユニットＵ１１、Ｕ１２、Ｕ１３、Ｕ１４、及びＵ１５を含む。中段の第２チャンネルは、ユニットＵ２１、Ｕ２２、Ｕ２３、Ｕ２４、及びＵ２５を含む。下段の第３チャンネルは、ユニットＵ３１、Ｕ３２、Ｕ３３、Ｕ３４、及びＵ３５を含む。
【００５４】
特定用フレーム画像において、プーリング層Ｍ１７は、第１チャンネルに含まれるユニットＵ１３及び第２チャンネルに含まれるユニットＵ２１、Ｕ２４が活性化している。基準フレーム画像において、全結合層Ｍ１８は、第２チャンネルに含まれるユニットＵ２２、Ｕ２４、Ｕ２５及び第３チャンネルに含まれるユニットＵ３２、Ｕ３３が活性化している。
【００５５】
前段抽出部１３５は、後段特定用出力のユニットＵ５を活性化させる要因となった前段処理層であるプーリング層Ｍ１７から出力された前段特定用出力、及び後段基準出力のユニットＵ５を活性化させる要因となったプーリング層Ｍ１７から出力された前段基準出力を比較する。前段抽出部１３５は、活性化しているユニットの有無を調べ、活性化している前段特定用出力の第１チャンネルに含まれるユニットＵ１３及び第２チャンネルに含まれるＵ２１、Ｕ２４と、前段基準出力の第２チャンネルに含まれるユニットＵ２２、Ｕ２４、Ｕ２５及び第３チャンネルに含まれるＵ３２、Ｕ３３とに着目する。
【００５６】
そして、前段抽出部１３５は、前段特定用出力と前段基準出力との両方において活性化しているユニットが存在しているチャンネルが第２チャンネルであることから、前段特定用出力の第２チャンネルに含まれるユニットＵ２１、Ｕ２４及び前段基準出力の第２チャンネルに含まれるユニットＵ２２、Ｕ２４、Ｕ２５を抽出する。
【００５７】
図７の場合において、後段処理層は、プーリング層Ｍ１６であり、前段処理層は、プーリング層以外の処理層（例えば、畳み込み層又は正規化層等）である。図７においては、前段処理層が畳み込み層Ｍ１５であるとして説明する。また、図７において、前段処理層は、チャンネルが１つであるとして説明する。特定用フレーム画像において、プーリング層Ｍ１６は、ユニットＵ５が活性化しており、畳み込み層Ｍ１５は、ユニットＵ３、Ｕ５が活性化している。基準フレーム画像において、プーリング層Ｍ１６は、ユニットＵ３が活性化しており、畳み込み層Ｍ１５は、ユニットＵ３、Ｕ４が活性化している。
【００５８】
ここで、抽出部１３３は、画像の圧縮を行うプーリング層においては、直前の処理層からプーリング層に結合している複数のユニットのうち、チャンネルごとに活性化している程度に基づいて出力を抽出する。具体的には、前段抽出部１３５は、複数の前段特定用出力及び複数の前段基準出力のうち、活性化している大きさに基づいて、一以上の前段特定用出力及び一以上の前段基準出力を抽出する。前段抽出部１３５は、例えば、複数の前段特定用出力及び複数の前段基準出力のうち、チャンネルごとに最も大きく活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する。
【００５９】
この場合において、後段抽出部１３４は、直前の抽出処理において前段処理層として選択したプーリング層Ｍ１６を選択して、プーリング層Ｍ１６から出力された後段特定用出力のユニットＵ５、及びプーリング層Ｍ１６から出力された後段基準出力のユニットＵ３を抽出する。そして、前段抽出部１３５は、後段特定用出力のユニットＵ３、Ｕ５及び後段基準出力のユニットＵ３、Ｕ４のうち、チャンネルごとに最も大きく活性化している前段特定用出力のユニットＵ５、及び前段基準出力のユニットＵ４を抽出する。このようにすることで、前段抽出部１３５は、画像の中で特徴となる領域を特定することができる。
【００６０】
図８の場合において、後段処理層は、畳み込み層Ｍ１４であり、前段処理層は、畳み込み層を含む他の処理層（例えば、正規化層又はプーリング層等）である。図８においては、前段処理層が正規化層Ｍ１３であるとして説明する。また、図８において、前段処理層は、チャンネルが１つであるとして説明する。特定用フレーム画像において、畳み込み層Ｍ１４は、ユニットＵ５が活性化しており、正規化層Ｍ１３は、ユニットＵ３、Ｕ５、Ｕ６が活性化している。基準フレーム画像において、畳み込み層Ｍ１４は、ユニットＵ３が活性化しており、正規化層Ｍ１３は、ユニットＵ３、Ｕ４、Ｕ５が活性化している。
【００６１】
この場合において、後段抽出部１３４は、直前の抽出処理において前段処理層として選択した畳み込み層Ｍ１４を選択して、畳み込み層Ｍ１４から出力された後段特定用出力のユニットＵ５、及び畳み込み層Ｍ１４から出力された後段基準出力のユニットＵ３を抽出する。
【００６２】
続いて、前段抽出部１３５は、後段特定用出力のユニットＵ５を活性化させる要因となった前段処理層である正規化層Ｍ１３から出力された前段特定用出力、及び後段基準出力のユニットＵ４を活性化させる要因となった前段処理層である正規化層Ｍ１３から出力された前段基準出力を比較する。ここで、前段抽出部１３５は、後段処理層が畳み込み層である場合、後段抽出部１３４が後段処理層から抽出したユニットに結合する前段処理層の複数のユニットのうち、前段特定用出力と前段基準出力とにおいて位置が相対的に同じであり、かつチャンネルが共通するユニットを抽出する。この場合、前段抽出部１３５は、前段特定用出力と前段基準出力とにおいて位置が相対的に同じであり、かつチャンネルが共通するユニットとして、前段特定用出力のユニットＵ５、Ｕ６、及び前段基準出力のユニットＵ３、Ｕ４を抽出する。
【００６３】
図９の場合において、後段処理層は、正規化層Ｍ１２であり、前段処理層は、正規化層以外の処理層（例えば、畳み込み層又はプーリング層等）である。図９においては、前段処理層がプーリング層Ｍ１１であるとして説明する。また、図９において、前段処理層は、チャンネルが１つであるとして説明する。特定用フレーム画像において、正規化層Ｍ１２は、ユニットＵ５が活性化している。基準フレーム画像において、正規化層Ｍ１２は、ユニットＵ３が活性化している。
【００６４】
ここで、抽出部１３３は、画像に対して前処理を行う正規化層においては、後段処理層において活性化しているユニットに結合している前段処理層に含まれる複数のユニットのうち、中心のユニットを抽出する。この場合において、後段抽出部１３４は、後段処理層として選択した正規化層Ｍ１２から出力された後段特定用出力のユニットＵ５、及び正規化層Ｍ１２から出力された後段基準出力のユニットＵ３を抽出する。
【００６５】
そして、前段抽出部１３５は、正規化層Ｍ５から出力された後段特定用出力のユニットＵ５に結合しているプーリング層Ｍ１１のユニットのうち、中心のユニットＵ５を抽出する。同様に、前段抽出部１３５は、正規化層Ｍ１２から出力された後段基準出力のユニットＵ３に結合しているプーリング層Ｍ１１のユニットのうち、中心のユニットＵ３を抽出する。
【００６６】
抽出部１３３は、上述の抽出処理を入力層まで繰り返し行うことが好ましい。しかし、抽出部１３３は、抽出処理を最初の処理層まで行わずに、途中の処理層（例えば、プーリング層又は正規化層等）で終了してもよい。このように、抽出部１３３は、伝搬制御部１３２が伝搬させた順序とは逆の順序で抽出処理を行うことにより、抽象度が高い出力を抽出することができる。
【００６７】
［動画像圧縮装置１の処理］
続いて、動画像圧縮装置１が行う処理の流れを説明する。図１０は、動画像圧縮装置１が行う処理の流れを示すフローチャートである。本フローチャートは、動画像圧縮装置１が、記憶部１２に動画像が格納され、ユーザによる動画像を圧縮する処理を実行する操作を受け付けたことを契機として開始する。
【００６８】
動画像取得部１３１は、記憶部１２に記憶されている動画像を取得する（Ｓ１）。動画像取得部１３１は、取得した動画像を伝搬制御部１３２に入力する。伝搬制御部１３２は、動画像取得部１３１から入力された動画像に含まれるフレーム画像である特定用フレーム画像及び基準フレーム画像のそれぞれに、機械学習モデルＭに含まれる入力層Ｍ１から出力層Ｍ１０までの複数の処理層を、入力層Ｍ１から順に伝搬させる（Ｓ２）。
【００６９】
抽出部１３３は、後段処理層及び前段処理層の両方の処理層において共通に活性化している一以上の特定用出力及び一以上の基準出力を抽出する処理を行う（Ｓ３）。図１１は、抽出部１３３が行う処理の流れを示すフローチャートである。抽出部１３３は、指示受付部１３６が、操作部１１を介して、複数の処理層のうち、後段処理層として用いる処理層を選択する指示を受け付けたか否かを判定する（Ｓ３１）。
【００７０】
抽出部１３３は、指示受付部１３６が指示を受け付けたと判定した場合、指示受付部１３６が受け付けた指示が示す処理層を、後段処理層として選択する（Ｓ３２）。抽出部１３３は、例えば、指示受付部１３６が第１の全結合層Ｍ８を示す指示を受け付けたと判定した場合、指示受付部１３６が受け付けた指示が示す第１の全結合層Ｍ８を、後段処理層として使用する。一方、抽出部１３３は、指示受付部１３６が指示を受け付けていないと判定した場合、最後尾層（例えば、出力層Ｍ１０）で共通に活性化している一以上の特定用出力及び一以上の基準出力があるか否かを判定する（Ｓ３３）。
【００７１】
抽出部１３３は、出力層Ｍ１０で共通に活性化している一以上の特定用出力及び一以上の基準出力があると判定した場合、最後尾層である出力層Ｍ１０を、後段処理層として使用する（Ｓ３４）。一方、抽出部１３３は、出力層Ｍ１０で共通に活性化している一以上の特定用出力及び一以上の基準出力がないと判定した場合、出力層Ｍ１０より前の各処理層に対して、共通に活性化している一以上の特定用出力及び一以上の基準出力を繰り返し探索する。そして、抽出部１３３は、共通に活性化している一以上の特定用出力及び一以上の基準出力がある処理層（例えば、第２の全結合層Ｍ９）を、後段処理層として使用する（Ｓ３５）。抽出部１３３は、選択した後段処理層、及び前段処理層の両方の処理層において共通に活性化している、特定用フレーム画像に基づいて後段処理層及び前段処理層から出力された一以上の特定用出力と基準フレーム画像に基づいて後段処理層及び前段処理層から出力された一以上の基準出力とを抽出する。
【００７２】
具体的には、まず、後段抽出部１３４は、選択した後段処理層から出力された複数の後段特定用出力、及び選択した後段処理層から出力された複数の後段基準出力から、共通に活性化している一以上の後段特定用出力及び一以上の後段基準出力を抽出する（Ｓ３６）。そして、前段抽出部１３５は、後段抽出部１３４が抽出した一以上の後段特定用出力及び一以上の後段基準出力を活性化させる要因となった前段処理層から出力された複数の前段特定用出力、及び前段処理層から出力された複数の前段基準出力のうち、共通に活性化している一以上の前段特定用出力及び一以上の前段基準出力を抽出する（Ｓ３７）。
【００７３】
続いて、抽出部１３３は、前段処理層より前に別の処理層があるか否かを判定する（Ｓ３８）。抽出部１３３は、前段処理層（例えば、第２のプーリング層Ｍ７）より前に別の処理層（例えば、第３の畳み込み層Ｍ６）があると判定した場合、第２のプーリング層Ｍ７を後段処理層として選択し（Ｓ３９）、処理をＳ３６に戻す。一方、抽出部１３３は、前段処理層（例えば、入力層Ｍ１）より前に別の処理層がないと判定した場合、抽出した一以上の特定用出力及び一以上の基準出力を特徴点検出部１３７に入力し、抽出処理を終了する。
【００７４】
図１０に戻り、特徴点検出部１３７は、一以上の特定用出力及び一以上の基準出力に基づいて、対応する特徴点を探索し、対応関係にある一以上の特定用出力に基づく一以上の特定用特徴点と、一以上の基準出力に基づく一以上の基準特徴点とを検出する（Ｓ４）。続いて、選択部１３８は、特徴点検出部１３７が検出した特定用特徴点及び基準特徴点に不適切な特徴点があるか否かを判定する（Ｓ５）。選択部１３８は、例えば、ＲＡＮＳＡＣ法に基づいて絞り込みを行う。
【００７５】
選択部１３８は、特定用特徴点及び基準特徴点に不適切な特徴点があると判定した場合、不適切な特徴点、すなわち、誤検出した対応関係にある特定用特徴点及び基準特徴点を除去し（Ｓ６）、除去した後の対応関係に基づく一部の特定用特徴点及び一部の基準特徴点を選択する。ベクトル推定部１３９は、選択部１３８が、特定用特徴点及び基準特徴点に不適切な特徴点がないと判定した場合、又は誤検出した対応関係を除去した後に、一以上の特定用特徴点と一以上の基準特徴点とを比較することにより、フレーム画像間で被写体が移動するベクトルを推定する（Ｓ７）。
【００７６】
そして、圧縮部１４０は、ベクトル推定部１３９が推定した結果に基づいて、動画像を圧縮した圧縮動画像を生成する（Ｓ８）。具体的には、圧縮部１４０は、差分画像を生成し、基準フレーム画像、動きベクトル、及び生成した差分画像に基づいて、圧縮動画像を生成する。圧縮部１４０は、生成した圧縮動画像を記憶部１２に記憶させる。
【００７７】
［実施形態における効果］
以上説明したとおり、動画像圧縮装置１は、取得した動画像に含まれる特定用フレーム画像及び基準フレーム画像のそれぞれに、機械学習モデルＭに含まれる複数の処理層を伝搬させる。動画像圧縮装置１は、伝搬させた順とは逆の順序で後段処理層及び前段処理層の両方の処理層において共通に活性化している一以上の特定用出力及び一以上の基準出力を、処理層ごとに抽出し、対応関係にある特定用特徴点及び基準特徴点をそれぞれ検出する。そして、動画像圧縮装置１は、誤検出した対応関係を除去した一以上の特定用特徴点と一以上の基準特徴点とを比較することにより、被写体の動きベクトルを推定し、推定した動きベクトルに基づいて、動画像を圧縮した圧縮動画像を生成する。
【００７８】
このようにすることで、動画像圧縮装置１は、畳み込みニューラルネットワークを含む機械学習モデルＭを使用し、深層学習による抽象度が高い特徴量を求めることにより、フレーム画像間における被写体の動きベクトルを推定することができる。その結果、動画像圧縮装置１は、動画像の圧縮率を向上させることができる。
【００７９】
動画像圧縮装置１は、フレーム画像間において検出した対応関係にある特徴点の変位を動きベクトルとして符号化することにより、任意の幾何変換を行うことができる。動画像圧縮装置１は、例えば、最近傍の特徴点の動きベクトルを用いて、ＭＰＥＧと同様に矩形領域の動き補償を行うことができる。また、動画像圧縮装置１は、例えば、周囲の３つ以上の特徴点の動きベクトルを用いて、矩形以外の形状（例えば、三角形等）の領域に対する動き補償を行うことができる。また、動画像圧縮装置１は、例えば、周囲の８つ以上の特徴点の動きベクトルを用いて任意の幾何変換を行うことにより、被写体の変形に対応して予測誤差を低減することができる。
【００８０】
ＭＰＥＧをはじめとする国際標準化された動画像圧縮符号化方法では、動き補償を行うのは矩形領域に限定されているため、矩形領域の中に動きの少ない領域（例えば背景）と、動きの多い領域（例えば前景）とが混在すると圧縮率が低下してしまう。これに対して、動画像圧縮装置１は、矩形以外の領域に対する動き補償を行うことができるため、動きの少ない領域と、動きの多い領域とを分離して、それぞれの領域に対して動き補償を行うことにより、圧縮率を向上することができる。
【００８１】
また、動画像圧縮装置１は、複数のフレーム画像間において共通の特徴点を有する移動物体の領域を抽出することにより、動画像に写っている移動物体の追尾をすることができる。これにより、動画像圧縮装置１は、例えば、サッカーの試合において、個々のサッカー選手を追尾することができる。
【００８２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【符号の説明】
【００８３】
１  動画像圧縮装置
１１  操作部
１２  記憶部
１３  制御部
１３１  動画像取得部
１３２  伝搬制御部
１３３  抽出部
１３４  後段抽出部
１３５  前段抽出部
１３６  指示受付部
１３７  特徴点検出部
１３８  選択部
１３９  ベクトル推定部
１４０  圧縮部
【図１】
2019097066.tif 000003
【図２】
2019097066.tif 000004
【図３】
2019097066.tif 000005
【図４】
2019097066.tif 000006
【図５】
2019097066.tif 000007
【図６】
2019097066.tif 000008
【図７】
2019097066.tif 000009
【図８】
2019097066.tif 000010
【図９】
2019097066.tif 000011
【図１０】
2019097066.tif 000012
【図１１】
2019097066.tif 000013