(57)【要約】  本願では、符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体が開示されている。方法は、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得し、現在符号化単位の勾配が第１閾値より小さい場合、現在符号化単位に含まれる各サブ符号化単位の勾配を取得し、該各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する、ことを含む。従来技術に対して、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要があるので、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
2021502786.tif 000002
【特許請求の範囲】
【請求項１】
符号化単位分割決定方法であって、
コンピューティングデバイスが、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定するステップと、
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記コンピューティングデバイスが、前記現在符号化単位の勾配を取得するステップと、
前記現在符号化単位の勾配が第１閾値より小さい場合、前記コンピューティングデバイスが、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得するステップと、
前記コンピューティングデバイスが、前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定するステップと、
を含むことを特徴とする方法。
【請求項２】
前記コンピューティングデバイスが、前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定するステップは、
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記コンピューティングデバイスが、前記各サブ符号化単位のうち、勾配が第３閾値以下であるサブ符号化単位の第１数量を決定するステップであって、前記第１閾値が前記第２閾値より大きい、ステップと、
前記第１数量が第４閾値以上である場合、前記コンピューティングデバイスが、前記現在符号化単位を分割すると決定するステップと、
前記第１数量が第４閾値より小さい場合、前記コンピューティングデバイスが、前記現在符号化単位を分割しないと決定するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピューティングデバイスが、前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定するステップは、
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記コンピューティングデバイスが、前記各サブ符号化単位の勾配のうち、ゼロ以外の最小勾配に対する最大勾配の比率が第５閾値以上であるか否かを決定するステップと、
前記比率が前記第５閾値以上である場合、前記コンピューティングデバイスが、前記現在符号化単位を分割すると決定するステップと、
前記比率が前記第５閾値より小さい場合、前記コンピューティングデバイスが、前記現在符号化単位を分割しないと決定するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記コンピューティングデバイスが、前記現在符号化単位の勾配を取得するステップは、
前記コンピューティングデバイスが、前記現在符号化単位に含まれる各最小符号化単位の勾配を算出し、前記各最小符号化単位の勾配の和を前記現在符号化単位の勾配とするステップ、
を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記コンピューティングデバイスが、前記現在符号化単位の隣接ブロックの第２数量を取得するステップであって、前記隣接ブロックのサイズが前記現在符号化単位のサイズと同じである、ステップと、
前記コンピューティングデバイスが、前記第２数量に基づいて、前記第１閾値を設定するステップと、
をさらに含むことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記コンピューティングデバイスが、前記第２数量に基づいて、前記第１閾値を設定するステップは、
前記第２数量が第６閾値より小さい場合、前記コンピューティングデバイスが、前記第１閾値を所定値に設定するステップと、
前記第２数量が前記第６閾値に等しい場合、前記コンピューティングデバイスが、前記隣接ブロックの属する符号化単位のサイズと、前記現在符号化単位のサイズとに基づいて、前記第１閾値を設定するステップと、
を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記コンピューティングデバイスが、前記隣接ブロックの属する符号化単位のサイズと、前記現在符号化単位のサイズとに基づいて、前記第１閾値を設定するステップは、
前記コンピューティングデバイスが、前記隣接ブロックのうち、その属する符号化単位のサイズが前記現在符号化単位のサイズ以上であるターゲット隣接ブロックが存在するか否かを決定するステップと、
前記ターゲット隣接ブロックが存在する場合、前記コンピューティングデバイスが、前記ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、前記第１閾値を設定するステップと、
前記ターゲット隣接ブロックが存在しない場合、前記コンピューティングデバイスが、前記第１閾値をゼロに設定するステップと、
を含むことを特徴とする請求項６に記載の方法。
【請求項８】
符号化単位分割決定装置であって、
現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する第１決定モジュールと、
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記現在符号化単位の勾配を取得する第１取得モジュールと、
前記現在符号化単位の勾配が第１閾値より小さい場合、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得する第２取得モジュールと、
前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定する第２決定モジュールと、
を含むことを特徴とする装置。
【請求項９】
前記第２決定モジュールは、
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位のうち、勾配が第３閾値以下であるサブ符号化単位の第１数量を決定し、前記第１閾値が前記第２閾値より大きい数量決定モジュールと、
前記第１数量が第４閾値以上である場合、前記現在符号化単位を分割すると決定する第３決定モジュールと、
前記第１数量が前記第４閾値より小さい場合、前記現在符号化単位を分割しないと決定する第４決定モジュールと、
を含むことを特徴とする請求項８に記載の装置。
【請求項１０】
前記第２決定モジュールは、
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位の勾配のうち、ゼロ以外の最小勾配に対する最大勾配の比率が第５閾値以上であるか否かを決定する第５決定モジュールと、
前記比率が前記第５閾値以上である場合、前記現在符号化単位を分割すると決定する第６決定モジュールと、
前記比率が前記第５閾値より小さい場合、前記現在符号化単位を分割しないと決定する第７決定モジュールと、
を含むことを特徴とする請求項８に記載の装置。
【請求項１１】
前記第１取得モジュールは、具体的に、前記現在符号化単位に含まれる各最小符号化単位の勾配を算出し、前記各最小符号化単位の勾配の和を前記現在符号化単位の勾配とする、
ことを特徴とする請求項８に記載の装置。
【請求項１２】
前記現在符号化単位の隣接ブロックの第２数量を取得し、前記隣接ブロックのサイズが前記現在符号化単位のサイズと同じである数量取得モジュールと、
前記第２数量に基づいて、前記第１閾値を設定する閾値設定モジュールと、
をさらに含むことを特徴とする請求項８乃至１１のいずれか１項に記載の装置。
【請求項１３】
前記閾値設定モジュールは、
前記第２数量が第６閾値より小さい場合、前記第１閾値を所定値に設定する第１設定モジュールと、
前記第２数量が前記第６閾値に等しい場合、前記隣接ブロックの属する符号化単位のサイズと、前記現在符号化単位のサイズとに基づいて、前記第１閾値を設定する第２設定モジュールと、を含み、
前記第２設定モジュールは、
前記隣接ブロックのうち、その属する符号化単位のサイズが前記現在符号化単位のサイズ以上であるターゲット隣接ブロックが存在するか否かを決定する第８決定モジュールと、
前記ターゲット隣接ブロックが存在する場合、前記ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、前記第１閾値を設定する第３設定モジュールと、
前記ターゲット隣接ブロックが存在しない場合、前記第１閾値をゼロに設定する第４設定モジュールと、を含む、
ことを特徴とする請求項１２に記載の装置。
【請求項１４】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサで実行されるコンピュータプログラムと、を備えるコンピューティングデバイスであって、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項１乃至７のいずれか１項に記載の符号化単位分割決定方法の各ステップを実現する、ことを特徴とするコンピューティングデバイス。
【請求項１５】
コンピュータプログラムを記憶した読み取り可能な記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項１乃至７のいずれか１項に記載の符号化単位分割決定方法の各ステップを実現させる、ことを特徴とする読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年１２月１４日に中国特許庁に提出された、出願番号が２０１７１１３３９８２７．５であり、発明の名称が「符号化単位分割決定方法及び装置、端末機器及び読み取り可能な記憶媒体」である中国特許出願の優先権を主張し、その全ての内容は参照することにより本願に組み込まれる。
【０００２】
本願は、ビデオ符号化の技術分野に関し、特に、符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体に関する。
【背景技術】
【０００３】
現在、インターネット及びハードウェアデバイスの発展に伴い、ビデオの解像度がますます大きくなる。２０１３年に、ＩＴＵ  ＶＣＥＧ及びＩＳＯ  ＭＰＥＧが共同で設立したビデオ符号化共同作業部会は、次世代ビデオ符号化標準である高効率ビデオ符号化（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）を研究・策定した。Ｈ．２６４／ＡＶＣと比較して、視覚的な品質がほぼ同じである場合で、ＨＥＶＣは、ビットレートが半分以上節約される。ＨＥＶＣがより高い圧縮性能を有する主因の１つは、ＨＥＶＣがより大きな符号化ブロック構造及び柔軟なサブブロック分割方式を提供することである。ＨＥＶＣでは、最大符号化単位（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ）が小さな符号化単位（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）に再帰的に分割されることが可能であり、符号化ツリー単位（ＣＴＵ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）の構造が形成される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、符号化ツリー単位の構造が用いられるため、サイズが最小符号化単位より大きい符号化単位のいずれに対してもさらなる分割を行って、分割されたサブ符号化単位の予測モードを選択する必要がある。このような分割方式は、膨大な演算の負担をもたらすことになり、演算の複雑さが高い。
【０００５】
本願は、従来技術の符号化単位の分割方式に存在する演算の負担が大きくて、演算の複雑さが高いという技術的課題を解決するための符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体を提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本願の第１側面では、符号化単位分割決定方法が提供されている。この方法は、
【０００７】
コンピューティングデバイスが、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定するステップと、
【０００８】
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記コンピューティングデバイスが、前記現在符号化単位の勾配を取得するステップと、
【０００９】
前記現在符号化単位の勾配が第１閾値より小さい場合、前記コンピューティングデバイスが、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得するステップと、
【００１０】
前記コンピューティングデバイスが、前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定するステップと、を含む。
【００１１】
上記の目的を達成するために、本願の第２側面では、符号化単位分割決定装置が提供されている。この装置は、
【００１２】
現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する第１決定モジュールと、
【００１３】
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記現在符号化単位の勾配を取得する第１取得モジュールと、
【００１４】
前記現在符号化単位の勾配が第１閾値より小さい場合、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得する第２取得モジュールと、
【００１５】
前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定する第２決定モジュールと、を含む。
【００１６】
上記の目的を達成するために、本願の第３側面では、メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサで実行されるコンピュータプログラムと、を備えるコンピューティングデバイスが提供されている。前記プロセッサは、前記コンピュータプログラムを実行すると、本願の実施例の第１側面で提供された符号化単位分割決定方法の各ステップを実現する。
【００１７】
上記の目的を達成するために、本願の第４側面では、コンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体が提供されている。前記コンピュータプログラムは、プロセッサによって実行されると、本願の第１側面で提供された符号化単位分割決定方法の各ステップを実現させる。
【発明の効果】
【００１８】
本願では、コンピューティングデバイスが、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定するステップと、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得するステップと、現在符号化単位の勾配が第１閾値より小さい場合、該現在符号化単位に含まれる各サブ符号化単位の勾配を取得するステップと、該各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定するステップと、を含む符号化単位分割決定方法が提供されている。従来技術に対して、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要がある。これにより、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【図面の簡単な説明】
【００１９】
本願の実施例又は従来技術の構成をより明確に説明するために、以下、実施例又は従来技術の説明に必要な図面を簡単的に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているにすぎず、当業者にとって、創造的な労働をせずに、これらの図面から他の図面を得ることもできる。
【図１】本願の実施例における符号化単位分割決定方法の手順の模式図である。
【図１ａ】本願の実施例における６４ｘ６４の現在符号化単位のサブ符号化単位の模式図である。
【図２】図１に示された実施例におけるステップ１０４の詳細ステップの手順の模式図である。
【図３】図１に示された実施例におけるステップ１０４の詳細ステップの手順の模式図である。
【図４】本願の実施例における符号化単位分割決定方法の他の手順の模式図である。
【図５】本願の実施例における第１閾値の設定方法の手順の模式図である。
【図６】本願の実施例における現在符号化単位の隣接ブロックの模式図である。
【図７】本願の実施例における現在符号化単位を分割する手順の模式図である。
【図８】本願の実施例における符号化決定装置のプログラムモジュールの構成の模式図である。
【図９】図８に示された実施例における第２決定モジュールの詳細のプログラムモジュールの構成の模式図である。
【図１０】図８に示された実施例における第２決定モジュールの詳細のプログラムモジュールの構成である。
【図１１】本願の実施例における符号化決定装置のプログラムモジュールの他の構成の模式図である。
【図１２】本願の実施例における追加プログラムモジュールの構成の模式図である。
【図１３】本願の実施例におけるコンピューティングデバイスの構成の模式図である。
【発明を実施するための形態】
【００２０】
本願発明の目的、特徴、メリットをより明白で分かりやすくするために、以下、本願の実施例における図面を参照して、本願の実施例における構成を明確かつ完全に説明する。明らかに、説明される実施例は、本願の実施例の全部ではなく、本願の実施例の一部にすぎない。当業者が創造的な労働をせずに本願の実施例から得るすべての他の実施例は、本願の保護範囲に属する。
【００２１】
従来技術では、符号化単位の分割方式に、演算の負担が大きくて、演算の複雑さが高いという技術的課題が存在する。上記の課題を解決するために、本願では、符号化単位分割決定方法が提供されている。従来技術に対して、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要がある。これにより、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【００２２】
図１を参照されたいが、図１は、本願の実施例における符号化単位分割決定方法の手順の模式図である。この方法は、以下のステップを含む。
【００２３】
ステップ１０１で、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する。
【００２４】
ＨＥＶＣでは、マクロブロック（ＭＢ：Ｍａｃｒｏｂｌｏｃｋ）の概念が拡張され、マクロブロックが符号化単位、予測単位（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）、及び変換単位（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）に分けられ、符号化単位がＨＥＶＣにおける符号化の基本単位であり、ビデオ画像の１つのフレームが若干の最大符号化単位に分割される。Ｈ．２６４／ＡＶＣのマクロブロックの１６ｘ１６の固定サイズに比べると、ＨＥＶＣの主なレベルの定義では、最大符号化単位のサイズが６４ｘ６４であり、最大符号化単位がさらに再帰的により小さな符号化単位に分割されることが可能であり、最小符号化単位のサイズが８ｘ８であり、符号化単位の他のサイズが３２ｘ３２、１６ｘ１６であってもよい。ここから分かるように、ＨＥＶＣでは、より柔軟な符号化単位の分割方式及びより大きな符号化単位が提供される。これは、異なるテクスチャの領域における符号化の特性への適応に有利である。
【００２５】
ここで、上記符号化単位分割決定方法は、符号化単位分割決定装置（以下、決定装置と略称される）により実現される。この決定装置は、プログラムモジュールであってもよい。このプログラムモジュールは、メモリに記憶され、プロセッサによってメモリから呼び出されて実行される。また、この決定装置の属するコンピューティングデバイスは、サーバであってもよい。
【００２６】
説明すべきものとして、本願の実施例における符号化単位分割決定方法は、フレーム内予測に適用可能である。フレーム内予測は、ビデオフレーム内の画素間の空間相関性を利用して、空間領域の冗長性を除去する符号化技術である。ここで、ＨＥＶＣで提供されたフレーム内予測モードは、３５種類もあり、３３種類の方向性予測モードと２種類の非方向性予測モードとを含む。非方向性予測モードは、モード０（ＤＣモード）及びモード１（平面モード）であり、３３種類の方向性予測モードは、モード２〜３５である。フレーム内予測符号化過程では、本願の実施例における符号化単位分割決定方法によれば、現在符号化単位を分割するか否かを効果的に決定できる。
【００２７】
好ましくは、上記符号化単位分割決定方法は、フレーム内予測符号化過程に適用可能である。現在符号化単位の最適フレーム内予測モード、及び該最適フレーム内予測モードに対応する符号化コスト値を決定した後、上記方法によって、該現在符号化単位をさらに分割する必要があるか否かを決定する。具体的には、
【００２８】
決定装置は、該現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する。ここで、最小符号化単位のサイズは、８ｘ８である。また、該現在符号化単位のサイズが最小符号化単位のサイズに等しい場合は、現在符号化単位が既に最小符号化単位となっており、さらなる分割が不可であることを表し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合は、現在符号化単位をさらに分割する必要があるか否かをさらに判断する必要があることを表す。
【００２９】
ここで、符号化コスト値とは、指定のフレーム内予測モードでの符号化に必要なビット数を指す。このため、異なるフレーム内予測モードの場合、その符号化コスト値も異なる。
【００３０】
ステップ１０２で、前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得する。
【００３１】
ステップ１０３で、前記現在符号化単位の勾配が第１閾値より小さい場合、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得する。
【００３２】
ステップ１０４で、前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定する。
【００３３】
本願の実施例では、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、決定装置は、現在符号化単位の勾配を取得する。
【００３４】
ここで、現在符号化単位の勾配が大きいほど、現在符号化単位の画像内容が滑らかでないことを表し、分割が必要である可能性が大きくなり、現在符号化単位の勾配が小さいほど、現在符号化単位の画像内容が滑らかであることを表し、分割が必要である可能性が小さくなる。このため、現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、分割が必要であるか否かを初歩的に決定するために、該現在符号化単位の勾配を第１閾値と比較する。該現在符号化単位の勾配が第１閾値より小さい場合、分割が必要であるか否かをさらに決定するために、該現在符号化単位に含まれる各サブ符号化単位の勾配を取得する。現在符号化単位の勾配が第１閾値以上である場合、現在符号化単位を分割する必要があると決定する。
【００３５】
ここで、該第１閾値は、予め設定されたものであってもよいし、算出されたものであってもよい。後続の実施例で詳しく説明するが、ここで説明を省略する。
【００３６】
説明すべきものとして、ステップ１０３では、現在符号化単位を分割していない。上記のサブ符号化単位は、現在符号化単位のサイズに応じて仮定された単位にすぎない。ここで、サブ符号化単位の数は、４つである。例えば、該現在符号化単位が６４ｘ６４である場合は、該現在符号化単位を４つの３２ｘ３２のサブ符号化単位に分割可能であることを表すことができるが、この際に現在符号化単位を本当に分割していない。図１ａを参照されたいが、図１ａは、本願の実施例における６４ｘ６４の現在符号化単位のサブ符号化単位の模式図である。４つの３２ｘ３２のブロックがサブ符号化単位である。
【００３７】
ここで、勾配とは、画素の輝度値の、水平、垂直、左下、右下などの方向に沿った方向微分を指す。サブ符号化単位の勾配は、従来の勾配アルゴリズムを採用してもよく、例えば、Ｓｏｂｅｌアルゴリズムを採用してもよいし、他の方法を採用してもよい。該他の方法は、サブ符号化単位における全部又は一部の画素点の水平一次元勾配と垂直一次元勾配との和を算出して、この和をサブ符号化単位の勾配とするか、又は、サブ符号化単位における全部又は一部の画素点の多角度勾配の和を算出して、この和を該サブ符号化単位の勾配とする、ことを含んでもよい。
【００３８】
ここで、決定装置は、各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する。理解できるように、従来技術では、サイズが最小符号化単位より大きい現在符号化単位のいずれに対しても分割を行うが、本願の実施例では、現在符号化単位の勾配が第１閾値より小さい場合、各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かをさらに決定でき、分割が必要であると決定された現在符号化単位に対して、分割を行うが、分割が不要であると決定された現在符号化単位に対して、分割を行わない。このため、分割が不要な現在符号化単位が必ず一部存在し、効果的に符号化単位の分割による演算量を縮減させて、演算の複雑さを低減させることができる。例えば、従来技術では、サイズが最小符号化単位より大きい符号化単位に対して、このような符号化単位の数が１００である場合、分割の回数が１００であるが、本願の実施例では、サイズが最小符号化単位より大きい符号化単位に対して、このような符号化単位の数が１００である場合、符号化単位に含まれるサブ符号化単位の勾配に基づいて、そのうちの６０個に分割が必要であり、４０個に分割が不要であると決定したため、６０回のみ分割するだけでよく、分割の回数が減少し、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【００３９】
本願の実施例では、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得し、現在符号化単位の勾配が第１閾値より小さい場合、該現在符号化単位に含まれる各サブ符号化単位の勾配を取得し、該各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する。従来技術に対して、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要がある。これにより、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【００４０】
本願の実施例では、各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する方式が複数ある。以下、そのうちの２つの方式を紹介する。１つは、図２を参照されたい。図２は、図１に示された実施例におけるステップ１０４の詳細ステップの手順の模式図である。該ステップ１０４は、
【００４１】
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位のうち、勾配が第３閾値以下であるサブ符号化単位の第１数量を決定し、ステップ２０２又はステップ２０３を実行するステップ２０１と、
【００４２】
前記第１数量が第４閾値以上である場合、前記現在符号化単位を分割すると決定するステップ２０２と、
【００４３】
前記第１数量が前記第４閾値より小さい場合、前記現在符号化単位を分割しないと決定するステップ２０３と、を含む。
【００４４】
本願の実施例では、第１閾値及び第２閾値が設定されており、ここで、第１閾値が第２閾値より大きい。この第１閾値は、現在符号化単位の勾配との比較に用いられる。また、現在符号化単位の勾配が第１閾値より小さい場合、現在符号化単位に含まれる各サブ符号化単位の勾配の和を第２閾値と比較することにより、現在符号化単位を分割する必要があるか否かを決定する。説明すべきものとして、同一の符号化単位の場合、該符号化単位の勾配は、該符号化単位の各サブ符号化単位の勾配の和に等しい。
【００４５】
ここで、現在符号化単位の勾配が第１閾値より小さくて、かつ各サブ符号化単位の勾配の和が第２閾値より大きい場合、決定装置は、各サブ符号化単位のうち、勾配が第３閾値以下であるサブ符号化単位の第１数量を決定する。
【００４６】
さらに、本願の実施例では、各サブ符号化単位の勾配の和が第２閾値以下である場合、現在符号化単位を分割する必要がないと決定できる。
【００４７】
説明すべきものとして、各サブ符号化単位の勾配の和が小さいほど、現在符号化単位の画像内容が滑らかであることを表し、現在符号化単位をさらに分割する可能性が小さくなり、各サブ符号化単位の勾配の和が大きいほど、現在符号化単位の画像内容が滑らかでないことを表し、現在符号化単位をさらに分割する可能性が大きくなる。このため、本願の実施例では、第１閾値及び第２閾値を設定することにより、分割が必要であるか否かの判断を３つの場合に分けることができる。１つは、現在符号化単位の勾配が第１閾値以上である場合であり、現在符号化単位の画像内容が滑らかでないことを表す。この場合、現在符号化単位を分割すると決定する。もう１つは、各サブ符号化単位の勾配の和が第２閾値より小さい場合であり、現在符号化単位の画像内容が滑らかであることを表す。この場合、現在符号化単位を分割しないと決定する。最後の１つは、現在符号化単位の勾配が第１閾値より小さくて、かつ各サブ符号化単位の勾配の和が第２閾値より大きい場合である。これは、各サブ符号化単位の勾配に大きな差分があり得る場合に対して設けられたものである。このため、上記第１数量に基づいて、現在符号化単位を分割する必要があるか否かをさらに決定する必要がある。
【００４８】
理解できるように、通常、サブ符号化単位の数が４であることを考慮したので、第４閾値は、１、２、又は３に設定されてもよく、１であるのが好ましい。４つのサブ符号化単位の勾配の和が、第１閾値より小さくて、かつ第２閾値より大きい場合、第１数量が第４閾値以上であるとき、勾配の差分が大きなサブ符号化単位が存在することを表し、かつ、現在符号化単位の画像内容の滑らかさが均一でなく、滑らかな領域もあるし、滑らかでない領域もあることを表し、ビットレートの低減を可能にするために、現在符号化単位を分割すると決定する。第１数量が第４閾値より小さいとき、勾配の差分が大きなサブ符号化単位が存在しないことを表すため、現在符号化単位を分割しないと決定する。
【００４９】
ここで、上記第３閾値は、小さな値であってもよい。例えば、この値は、ゼロに近づくか、ゼロに等しい。
【００５０】
説明すべきものとして、各サブ符号化単位の勾配の和が、第１閾値より小さくて、かつ第２閾値より大きいという条件を満たす場合にのみ、第１数量に基づいて、現在符号化単位をさらに分割する必要があるか否かを決定する。この条件を満たす場合、勾配が第３閾値以下であるサブ符号化単位の第１数量は、４であることが不可能である（第１数量が４であるとき、４つのサブ符号化単位の勾配がいずれも小さいことを表し、このとき、実際に分割が不要であり、かつ、４つのサブ符号化単位の勾配の和が第１閾値より大きいことは不可能である）ので、現在符号化単位を分割する必要があると誤って決定した場合があり得ない。
【００５１】
本願の実施例では、現在符号化単位の勾配が第１閾値より小さくて、かつ各サブ符号化単位の勾配の和が第２閾値より大きい場合、現在符号化単位の各サブ符号化単位の勾配を使用して、該現在符号化単位を分割する必要があるか否かをさらに決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択される最適フレーム内予測モード（これは、現在符号化単位を複数のサブ符号化単位に分割した後、各サブ符号化単位の最適フレーム内予測モードは、異なる可能性があり、現在符号化単位の最適フレーム内予測モードと異なる可能性もあるからである）への影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。
【００５２】
ここで、各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する他の方式は、図３を参照されたい。図３は、図１に示された実施例におけるステップ１０４の詳細ステップの手順の模式図である。該ステップ１０４は、
【００５３】
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位の勾配のうち、ゼロ以外の最小勾配に対する最大勾配の比率が第５閾値以上であるか否かを決定し、ステップ３０２を実行するか、ステップ３０３を実行するステップ３０１と、
【００５４】
前記比率が前記第５閾値以上である場合、前記現在符号化単位を分割すると決定するステップ３０２と、
【００５５】
前記比率が前記第５閾値より小さい場合、前記現在符号化単位を分割しないと決定するステップ３０３と、を含む。
【００５６】
本願の実施例では、現在符号化単位の勾配が第１閾値より小さくて、かつ各サブ符号化単位の勾配の和が第２閾値より大きい場合、現在符号化単位をさらに分割する必要があるか否かを決定するために、他の方式によって、勾配の差分が大きなサブ符号化単位が存在するか否かを決定してもよい。具体的には、決定装置は、各サブ符号化単位の勾配のうち、ゼロ以外の最小勾配に対する最大勾配の比率が第５閾値以上であるか否かを決定する。ここで、該比率が該第５閾値以上である場合は、該最大勾配のサブ符号化単位と該ゼロ以外の最小勾配のサブ符号化単位との勾配の差分が大きいことを表し、ビットレートを低減させるために、該現在符号化単位を分割すると決定し、該比率が該第５閾値より小さい場合は、最大勾配のサブ符号化単位とゼロ以外の最小勾配のサブ符号化単位との勾配の差分が小さいことを表し、現在符号化単位を分割する必要がないと決定する。
【００５７】
本願の実施例では、現在符号化単位の勾配が第１閾値より小さくて、かつ各サブ符号化単位の勾配の和が第２閾値より大きい場合、現在符号化単位の各サブ符号化単位の勾配を使用して、該現在符号化単位を分割する必要があるか否かをさらに決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択されるフレーム内予測モードへの影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。
【００５８】
図１に示された実施例に基づき、図４を参照されたい。図４は、本願の実施例における符号化単位分割決定方法の他の手順の模式図である。この手順は、
【００５９】
現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定するステップ４０１と、
【００６０】
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記現在符号化単位に含まれる各最小符号化単位の勾配を算出し、前記各最小符号化単位の勾配の和を前記現在符号化単位の勾配とし、ステップ４０３又はステップ４０４を実行するステップ４０２と、
【００６１】
前記現在符号化単位の勾配が第１閾値以上である場合、前記現在符号化単位を分割すると決定するステップ４０３と、
【００６２】
前記現在符号化単位の勾配が前記第１閾値より小さい場合、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得するステップ４０４と、
【００６３】
前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定するステップ４０５と、を含む。
【００６４】
説明すべきものとして、ステップ４０１は、図１に示された実施例におけるステップ１０１で説明された内容と類似し、ここで説明を省略する。また、ステップ４０５は、図１のステップ１０４の、図２及び図３における詳細ステップの内容を参照すればよいが、ここで説明を省略する。
【００６５】
本願の実施例では、現在符号化単位のサイズが最小符号化単位のサイズより大きいと決定された場合、決定装置は、現在符号化単位に含まれる各最小符号化単位の勾配を算出し、各最小符号化単位の勾配の和を現在符号化単位の勾配とする。例えば、現在符号化単位が１６ｘ１６であり、現在符号化単位に４つの８ｘ８の最小符号化単位が含まれ、この４つの最小符号化単位の勾配がそれぞれａ、ｂ、ｃ、ｄである場合、現在符号化単位の勾配は、ａ＋ｂ＋ｃ＋ｄとなる。
【００６６】
さらに、決定装置は、該現在符号化単位の勾配が第１閾値以上であるか否かを判断し、該現在符号化単位の勾配が第１閾値以上である場合、該現在符号化単位を分割する必要があると決定する。該現在符号化単位の勾配が第１閾値より小さい場合、決定装置は、さらに、現在符号化単位の各サブ符号化単位の勾配に基づいて、現在符号化単位を分割する必要があるか否かを決定する。
【００６７】
理解できるように、本願の実施例では、まず、現在符号化単位の勾配に基づいて、現在符号化単位を分割する必要があるか否かを初歩的に決定し、そして、分割が不要であると初歩的に決定した場合、分割判断の正確さをさらに高めるために、各サブ符号化単位の勾配に基づいて、決定を再度行う。これにより、演算の負担及び複雑さを低減させることが可能になるだけでなく、より合理的な分割が実現可能になる。
【００６８】
説明すべきものとして、上記第１閾値は、現在符号化単位の隣接ブロックに関連するものであってもよい。図５を参照されたいが、図５は、本願の実施例における第１閾値の設定方法の手順の模式図である。この方法は、以下のステップを含む。
【００６９】
ステップ５０１で、前記現在符号化単位の隣接ブロックの第２数量を取得し、前記隣接ブロックのサイズが前記現在符号化単位のサイズと同じである。
【００７０】
ここで、上記第２数量が取得された後、第２数量に基づいて、第１閾値を設定する。具体的には、ステップ５０２を実行するか、ステップ５０３を実行する。
【００７１】
ステップ５０２で、前記第２数量が第６閾値より小さい場合、前記第１閾値を所定値に設定する。
【００７２】
ステップ５０３で、前記第２数量が前記第６閾値に等しい場合、前記隣接ブロックのうち、その属する符号化単位のサイズが前記現在符号化単位のサイズ以上であるターゲット隣接ブロックが存在するか否かを決定する。
【００７３】
ステップ５０４で、前記ターゲット隣接ブロックが存在する場合、前記ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、前記第１閾値を設定する。
【００７４】
ステップ５０５で、前記ターゲット隣接ブロックが存在しない場合、前記第１閾値をゼロに設定する。
【００７５】
ここで、該第１閾値の設定は、第１閾値の使用前に決定され、即ち、現在符号化単位の勾配が第１閾値以上であるか否かを判断する前に設定されてもよい。また、異なる現在符号化単位のいずれに対しても、該現在符号化単位に対応する第１閾値を設定する。
【００７６】
ここで、現在符号化単位の隣接ブロックは、現在符号化単位の左上ブロック、上ブロック、右上ブロック、及び左ブロックである。図６を参照されたいが、図６は、本願の実施例における現在符号化単位の隣接ブロックの模式図である。ここで、ｃｕｒｒは現在符号化単位を表し、ａｂｏｖｅｌｅｆｔは左上ブロックを表し、ａｂｏｖｅは上ブロックを表し、ａｂｏｖｅｒｉｇｈｔは右上ブロックを表し、ｌｅｆｔは左ブロックを表す。
【００７７】
ここで、現在符号化単位の隣接ブロックのサイズは、現在符号化単位のサイズと同じである。例えば、現在符号化単位が３２ｘ３２である場合、現在符号化単位の周囲に３２ｘ３２で隣接ブロックを決定する。説明すべきものとして、隣接ブロックは、１つの符号化単位であってもよいし、複数の符号化単位で構成されたものであってもよいし、１つの符号化単位の一部に属してもよい。例えば、現在符号化単位が３２ｘ３２である場合、その左上ブロックが１つの６４ｘ６４の符号化単位の一部に属し、その上ブロックが４つの１６ｘ１６の符号化単位であり、その右上ブロックが１つの３２ｘ３２の符号化単位である。
【００７８】
理解できるように、一部の現在符号化単位は、その４つの隣接ブロックが決定可能であるが、一部の現在符号化単位は、その位置が特別であるため、決定された隣接ブロックの数が４より少ない可能性がある。このため、まず、現在符号化単位の隣接ブロックの第２数量を取得する。
【００７９】
さらに、該第２数量が第６閾値より小さいか否かを判断する。例えば、この値は、４であってもよい。該第２数量が第６閾値より小さい場合、第１閾値を所定値に設定する。この所定値は、固定の閾値である。理解できるように、該第１閾値が所定値である場合、第２閾値は、他の所定値であってもよい。また、第１閾値が第２閾値より大きいように保持する。
【００８０】
第２数量が第６閾値に等しい場合、隣接ブロックの属する符号化単位のサイズと、現在符号化単位のサイズとに基づいて、第１閾値を設定する。具体的には、決定装置は、各隣接ブロックの属する符号化単位のサイズを決定し、隣接ブロックのうち、その属する符号化単位のサイズが現在符号化単位のサイズ以上であるターゲット隣接ブロックが存在するか否かを決定し、該ターゲット隣接ブロックが存在する場合、該ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、上記第１閾値を設定する。例えば、現在符号化単位Ｐが３２ｘ３２である場合、その左上ブロックが１つの６４ｘ６４の符号化単位Ａの一部に属し、その上ブロックが４つの１６ｘ１６の符号化単位Ｂであり、その右上ブロックが１つの３２ｘ３２の符号化単位Ｃであり、その左ブロックが１６個の８ｘ８の符号化単位Ｄであるので、符号化単位Ａのサイズが現在符号化単位Ｐのサイズより大きく、符号化単位Ｃのサイズが符号化単位Ｐのサイズに等しい。符号化単位Ａの勾配と、符号化単位Ｃの勾配とに基づいて、上記第１閾値を設定する。例えば、符号化単位Ａ及び符号化単位Ｃの勾配の平均値を算出し、該平均値と所定係数との積を上記第１閾値として設定する。また、このように第１閾値が設定された後、該第１閾値と所定間隔値との差を算出し、この差がゼロより大きい場合、この差を第２閾値とし、この差がゼロより小さい場合、第２閾値をゼロに設定してもよい。
【００８１】
ここで、ターゲット隣接ブロックが存在しない場合、第１閾値をゼロに設定し、かつ、このような場合で、第２閾値もゼロに設定する。
【００８２】
説明すべきものとして、第１閾値は、現在符号化単位の勾配との比較に用いられる。隣接ブロックに基づき第１閾値を設定する際に、まず、隣接ブロックのうち、その属する符号化単位のサイズが現在符号化単位のサイズ以上であるターゲット隣接ブロックを決定してから、ターゲット隣接ブロックの属する符号化単位の勾配の平均値に基づいて、第１閾値を設定する必要がある。該第１閾値は、分割が不要な符号化単位の勾配の最大値を表す。このため、ターゲット隣接ブロックが存在する場合は、現在符号化単位の周囲に、さらに分割されていない、サイズがより大きな符号化単位が存在することを表す。サイズがより大きな符号化単位が分割されていない前提で、現在符号化単位をさらに分割する必要がない可能性がある。このため、現在符号化単位の勾配が第１閾値以上である場合は、現在符号化単位の勾配が、分割が不要な符号化単位の勾配の最大値以上であることを表し、該現在符号化単位をさらに分割する必要があると直接に決定できる。現在符号化単位の勾配が第１閾値より小さい場合、該現在符号化単位をさらに分割する必要がない確率が大きいと決定できる。このため、ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、第１閾値を設定することにより、現在符号化単位を分割するか否かの判断の正確さを効果的に高めることができる。また、ターゲット隣接ブロックが存在しない場合は、現在符号化単位の周囲のすべての符号化単位が、サイズが現在符号化単位のサイズより小さい符号化単位であることを表す。この場合、分割するか否かの判断の正確さを確保するために、第１閾値をゼロに設定する。これにより、現在符号化単位の勾配が必ず該第１閾値（ゼロ）以上であり、現在符号化単位を分割する必要が必ずある。
【００８３】
本願の実施例では、現在符号化単位の勾配と、現在符号化単位の各サブ符号化単位の勾配との両方に基づいて、現在符号化単位を分割する必要があるか否かを決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択されるフレーム内予測モードへの影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。また、現在符号化単位の隣接ブロックに基づき第１閾値を設定することにより、該第１閾値と現在符号化単位の勾配とを使用して、現在符号化単位を分割する必要があるか否かを決定する。これにより、判断の正確さを効果的に高めることができ、現在符号化単位の分割がより合理的になる。
【００８４】
本願の実施例では、現在符号化単位を分割する必要がないと決定された場合、該現在符号化単位の最適フレーム内予測モードを出力することにより、該最適フレーム内予測モードで該現在符号化単位を符号化し、現在符号化単位を分割する必要があると決定された場合、分割処理を実行する。図７を参照されたいが、図７は、本願の実施例における現在符号化単位を分割する手順の模式図である。この手順は、
【００８５】
前記現在符号化単位を複数のサブ符号化単位に分割するステップ７０１と、
【００８６】
複数の前記サブ符号化単位のそれぞれに対して最適フレーム内予測モードを選択し、複数の前記サブ符号化単位の符号化コスト値を算出し、ステップ７０３又はステップ７０４を実行するステップ７０２と、
【００８７】
複数の前記サブ符号化単位の符号化コスト値の和が前記現在符号化単位の符号化コスト値以上である場合、前記現在符号化単位の分割を取り消し、前記現在符号化単位の最適フレーム内予測モード及び符号化コスト値を出力するステップ７０３と、
【００８８】
複数の前記サブ符号化単位の符号化コスト値の和が前記現在符号化単位の符号化コスト値より小さい場合、複数の前記サブ符号化単位の符号化コスト値と、選択された最適フレーム内予測モードとを出力するステップ７０４と、を含む。
【００８９】
理解できるように、図７に示された実施例で説明された内容は、図２、図３、及び図４に適用可能である。
【００９０】
本願の実施例では、現在符号化単位を分割すると決定された場合、決定装置は、現在符号化単位を複数のサブ符号化単位に分割する。例えば、サイズが６４ｘ６４である符号化単位は、４つの３２ｘ３２のサブ符号化単位に分割されてもよい。
【００９１】
さらに、各サブ符号化単位のそれぞれに対して最適フレーム内予測モードを選択し、該最適フレーム内予測モードに対応する符号化コスト値を算出する。ここで、サブ符号化単位の最適フレーム内予測モードの選択及び符号化コスト値の算出は、実際の適用に複数の実現方式がある。例えば、サブ符号化単位の、すべてのフレーム内予測モードでの符号化コスト値をそれぞれ算出し、符号化コスト値が最小となる予測モードを、該サブ符号化単位の最適フレーム内予測モードとする。即ち、サブ符号化単位の最適予測モードは、複数の予測モードのうち、符号化コストが最小となる予測モードである。実際の適用では、具体的なニーズに応じて、最適フレーム内予測モードの選択方法を選択してもよいが、ここで説明を省略する。
【００９２】
ここで、上記複数のサブ符号化単位の符号化コスト値の和を算出し、この和が現在符号化単位の符号化コスト値以上である場合は、現在符号化単位の各サブ符号化単位の符号化よりも、現在符号化単位の符号化に必要なコストが小さいことを表し、現在符号化単位の分割を取り消し、現在符号化単位の最適フレーム内予測モードを出力する。これにより、現在符号化単位の最適フレーム内予測モードで符号化することが可能になる。説明すべきものとして、現在符号化単位の符号化コスト値も、現在符号化単位の最適フレーム内予測モードの選択過程において算出されたものである。
【００９３】
ここで、複数のサブ符号化単位の符号化コスト値の和が現在符号化単位の符号化コスト値より小さい場合は、ここの分割により符号化コストを節約できることを表し、該複数のサブ符号化単位の符号化コスト値と、対応の最適フレーム内予測モードとを出力する。
【００９４】
理解できるように、本願の実施例では、分割された複数のサブ符号化単位の符号化コスト値の和が現在符号化単位の符号化コスト値より小さい場合は、現在符号化単位の分割が合理的であることを表す。この場合、現在符号化単位の最適フレーム予測モード及び符号化コスト値を廃棄し、各サブ符号化単位を走査し、走査中のサブ符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定し、走査中のサブ符号化単位のサイズが最小符号化単位のサイズより大きい場合、走査中のサブ符号化単位を上記現在符号化単位と見なして、図１に示された実施例におけるステップ１０１に戻る。走査中のサブ符号化単位のサイズが最小符号化単位のサイズに等しい場合は、引き続いて分割する必要がないことを表し、現在符号化単位の符号化を実現するために、各サブ符号化単位の最適フレーム内予測モードで各サブ符号化単位を符号化してもよい。分割された複数のサブ符号化単位の符号化コスト値の和が現在符号化単位の符号化コスト値以上である場合は、現在符号化単位の分割が合理的でないことを表す。この場合、現在符号化単位の分割を取り消し、依然として現在符号化単位の最適フレーム内予測モードで該現在符号化単位を符号化する。上記の方式によれば、分割により最適な単位構造及び最適なフレーム内予測モードを取得して、ビットレートを効果的に低減させることが可能になる。
【００９５】
本願の実施例では、現在符号化単位を分割すると決定された場合、分割された各サブ符号化単位の符号化コスト値の和を現在符号化単位の符号化コスト値と比較し、符号化コスト値が最小となる方式を選択して出力することにより、符号化単位のより合理的な分割を実現して、符号化コストを節約することが可能になる。
【００９６】
図８を参照されたいが、図８は、本願の実施例における符号化単位分割決定装置のプログラムモジュールの構成の模式図である。この装置は、
【００９７】
現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する第１決定モジュール１８０１と、
【００９８】
前記現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、前記現在符号化単位の勾配を取得する第１取得モジュール８０２と、
【００９９】
前記現在符号化単位の勾配が第１閾値より小さい場合、前記現在符号化単位に含まれる各サブ符号化単位の勾配を取得する第２取得モジュール８０３と、
【０１００】
前記各サブ符号化単位の勾配に基づいて、前記現在符号化単位を分割するか否かを決定する第２決定モジュール８０４と、を含む。
【０１０１】
ＨＥＶＣでは、マクロブロック（ＭＢ：Ｍａｃｒｏｂｌｏｃｋ）の概念が拡張され、マクロブロックが符号化単位、予測単位（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）、及び変換単位（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）に分けられ、符号化単位がＨＥＶＣにおける符号化の基本単位であり、ビデオ画像の１つのフレームが若干の最大符号化単位に分割される。Ｈ．２６４／ＡＶＣのマクロブロックの１６ｘ１６の固定サイズに比べると、ＨＥＶＣの主なレベルの定義では、最大符号化単位のサイズが６４ｘ６４であり、最大符号化単位がさらに再帰的により小さな符号化単位に分割されることが可能であり、最小符号化単位のサイズが８ｘ８であり、符号化単位の他のサイズが３２ｘ３２、１６ｘ１６であってもよい。ここから分かるように、ＨＥＶＣでは、より柔軟な符号化単位の分割方式及びより大きな符号化単位が提供される。これは、異なるテクスチャの領域における符号化の特性への適応に有利である。
【０１０２】
説明すべきものとして、本願の実施例における符号化単位分割決定装置は、フレーム内予測に適用可能である。フレーム内予測は、ビデオフレーム内の画素間の空間相関性を利用して、空間領域の冗長性を除去する符号化技術である。ここで、ＨＥＶＣで提供されたフレーム内予測モードは、３５種類もあり、３３種類の方向性予測モードと２種類の非方向性予測モードとを含む。非方向性予測モードは、モード０（ＤＣモード）及びモード１（平面モード）であり、３３種類の方向性予測モードは、モード２〜３５である。
【０１０３】
本願の実施例では、現在符号化単位に対して最適フレーム内予測モードを選択し、該現在符号化単位の符号化コストを算出する必要がある。該現在符号化単位がさらに分割可能であるか否かを決定するために、決定装置は、該現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定する。ここで、最小符号化単位のサイズは、８ｘ８である。また、現在符号化単位のサイズが最小符号化単位のサイズに等しい場合は、現在符号化単位が既に最小符号化単位となっており、さらなる分割が不可であることを表し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合は、現在符号化単位をさらに分割する必要があるか否かをさらに判断する必要があることを表す。
【０１０４】
説明すべきものとして、サブ符号化単位の勾配は、従来の勾配アルゴリズムを採用してもよく、例えば、Ｓｏｂｅｌアルゴリズムを採用してもよいし、他の方法を採用してもよい。例えば、サブ符号化単位における全部又は一部の画素点の水平一次元勾配と垂直一次元勾配との和を算出するか、サブ符号化単位における全部又は一部の画素点の多角度勾配の和を算出する。
【０１０５】
本願の実施例では、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得し、現在符号化単位の勾配が第１閾値より小さい場合、該現在符号化単位に含まれる各サブ符号化単位の勾配を取得し、該各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する。従来技術に対して、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要がある。これにより、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【０１０６】
図９を参照されたいが、図９は、図８に示された実施例における第２決定モジュール８０４の詳細のプログラムモジュールの構成の模式図である。該第２決定モジュール８０４は、
【０１０７】
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位のうち、勾配が第３閾値以下であるサブ符号化単位の第１数量を決定し、前記第１閾値が前記第２閾値より大きい数量決定モジュール９０１と、
【０１０８】
前記第１数量が第４閾値以上である場合、前記現在符号化単位を分割すると決定する第３決定モジュール９０２と、
【０１０９】
前記第１数量が前記第４閾値より小さい場合、前記現在符号化単位を分割しないと決定する第４決定モジュール９０３と、を含む。
【０１１０】
理解できるように、上記のモジュールに関する内容は、具体的に、図２に示された実施例を参照すればよいが、ここで説明を省略する。
【０１１１】
本願の実施例では、現在符号化単位の各サブ符号化単位の勾配を使用して、該現在符号化単位を分割する必要があるか否かをさらに決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択されるフレーム内予測モードへの影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。
【０１１２】
図１０を参照されたいが、図１０は、図８に示された実施例における第２決定モジュール８０４の詳細のプログラムモジュールの構成の模式図である。該第２決定モジュール８０４は、
【０１１３】
前記各サブ符号化単位の勾配の和が第２閾値より大きい場合、前記各サブ符号化単位の勾配のうち、ゼロ以外の最小勾配に対する最大勾配の比率が第５閾値以上であるか否かを決定する第５決定モジュール１００１と、
【０１１４】
前記比率が前記第５閾値以上である場合、前記現在符号化単位を分割すると決定する第６決定モジュール１００２と、
【０１１５】
前記比率が前記第５閾値より小さい場合、前記現在符号化単位を分割しないと決定する第７決定モジュール１００３と、を含む。
【０１１６】
理解できるように、上記のモジュールに関する内容は、具体的に、図３を参照すればよいが、ここで説明を省略する。
【０１１７】
本願の実施例では、現在符号化単位の各サブ符号化単位の勾配を使用して、該現在符号化単位を分割する必要があるか否かをさらに決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択されるフレーム内予測モードへの影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。
【０１１８】
図１１を参照されたいが、図１１は、本願の実施例における符号化単位分割決定装置のプログラムモジュールの構成の模式図である。この装置は、図８に示されたような実施例における第１決定モジュール８０１と、第１取得モジュール８０２と、第２取得モジュール８０３と、第２決定モジュール８０４と、を含み、図８に示された実施例で説明された内容と類似し、ここで説明を省略する。
【０１１９】
ここで、第１取得モジュール８０２は、具体的に、前記現在符号化単位に含まれる各最小符号化単位の勾配を算出し、前記各最小符号化単位の勾配の和を前記現在符号化単位の勾配とする。
【０１２０】
本願の実施例では、前記コンピュータ命令は、
【０１２１】
前記現在符号化単位の隣接ブロックの第２数量を取得し、前記隣接ブロックのサイズが前記現在符号化単位のサイズと同じである数量取得モジュール１１０１と、
【０１２２】
前記第２数量に基づいて、前記第３閾値を設定する閾値設定モジュール１１０２と、をさらに含む。
【０１２３】
ここで、閾値設定モジュール１１０２は、第１設定モジュール１１０３と、第２設定モジュール１１０４と、を含む。
【０１２４】
第１設定モジュール１１０３は、前記第２数量が第６閾値より小さい場合、前記第１閾値を所定値に設定する。
【０１２５】
第２設定モジュール１１０４は、前記第２数量が前記第６閾値に等しい場合、前記隣接ブロックの属する符号化単位のサイズと、前記現在符号化単位のサイズとに基づいて、前記第１閾値を設定する。
【０１２６】
ここで、第２設定モジュール１１０４は、第８決定モジュール１１０５と、第３設定モジュール１１０６と、第４設定モジュール１１０７と、を含む。
【０１２７】
第８決定モジュール１１０５は、前記隣接ブロックのうち、その属する符号化単位のサイズが前記現在符号化単位のサイズ以上であるターゲット隣接ブロックが存在するか否かを決定する。
【０１２８】
第３設定モジュール１１０６は、前記ターゲット隣接ブロックが存在する場合、前記ターゲット隣接ブロックの属する符号化単位の勾配に基づいて、前記第１閾値を設定する。
【０１２９】
第４設定モジュール１１０７は、前記ターゲット隣接ブロックが存在しない場合、前記第１閾値をゼロに設定する。
【０１３０】
理解できるように、上記のモジュールに関する内容は、具体的に、図５に示された実施例を参照すればよいが、ここで説明を省略する。
【０１３１】
本願の実施例では、現在符号化単位の勾配と、現在符号化単位の各サブ符号化単位の勾配との両方に基づいて、現在符号化単位を分割する必要があるか否かを決定することにより、符号化単位の分割による演算の負担を軽減させて、演算の複雑さを低減させることが可能になるだけでなく、各サブ符号化単位の勾配の差分による符号化単位の構造及び選択されるフレーム内予測モードへの影響が十分に考慮されるため、符号化をより良く実現して、ビットレートをさらに低減させることが可能になる。また、現在符号化単位の隣接ブロックに基づき第１閾値を設定することにより、該第１閾値と現在符号化単位の勾配とを使用して、現在符号化単位を分割する必要があるか否かを決定する。これにより、判断の正確さを効果的に高めることができ、現在符号化単位の分割がより合理的になる。
【０１３２】
図１２を参照されたいが、図１２は、本願の実施例における追加プログラムモジュールの構成の模式図である。この追加プログラムモジュールは、現在符号化単位を分割すると決定された場合、現在符号化単位の分割を実現する。この追加プログラムモジュールは、
【０１３３】
前記現在符号化単位を複数のサブ符号化単位に分割する分割モジュール１２０１と、
【０１３４】
複数の前記サブ符号化単位のそれぞれに対して最適フレーム内予測モードを選択し、複数の前記サブ符号化単位の符号化コスト値を算出する選択算出モジュール１２０２と、
【０１３５】
複数の前記サブ符号化単位の符号化コスト値の和が前記現在符号化単位の符号化コスト値以上である場合、前記現在符号化単位の分割を取り消し、前記現在符号化単位の最適フレーム内予測モードを出力する取り消し出力モジュール１２０３と、
【０１３６】
複数の前記サブ符号化単位の符号化コスト値の和が前記現在符号化単位の符号化コスト値より小さい場合、複数の前記サブ符号化単位の符号化コスト値と、選択された最適フレーム内予測モードとを出力する出力モジュール１２０４と、を含む。
【０１３７】
本願の実施例では、現在符号化単位を分割すると決定された場合、分割された各サブ符号化単位の符号化コスト値の和を現在符号化単位の符号化コスト値と比較し、符号化コスト値が最小となる方式を選択して出力することにより、符号化単位のより合理的な分割を実現して、符号化コストを節約することが可能になる。
【０１３８】
また、本願の実施例では、メモリと、プロセッサと、メモリに記憶され、プロセッサで実行されるコンピュータプログラムと、を備えるコンピューティングデバイスであって、プロセッサは、コンピュータプログラムを実行すると、図１〜図５のいずれか１つ又は図７に示された実施例における符号化単位分割決定方法の各ステップを実現する、ことを特徴とするコンピューティングデバイスが提供されている。
【０１３９】
また、本願の実施例では、コンピュータプログラムを記憶した読み取り可能な記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、図１〜図５のいずれか１つ又は図７に示された実施例における符号化単位分割決定方法の各ステップを実現させる、ことを特徴とする読み取り可能な記憶媒体が提供されている。
【０１４０】
理解できるように、本願の実施例では、上記の符号化単位分割決定装置は、コンピューティングデバイスであり、該コンピューティングデバイスは、具体的に、サーバであってもよい。本願の実施例における構成をより良く理解するために、図１３を参照されたい。図１３は、本願の実施例におけるコンピューティングデバイス１３０の構成の模式図である。このコンピューティングデバイス１３０は、プロセッサ１３０１と、メモリ１３０２と、送受信器１３０３と、を備える。メモリ１３０２は、読み取り専用メモリ及びランダムアクセスメモリを含んでもよく、処理命令及びデータをプロセッサ１３０１に提供する。メモリ１３０２の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を含んでもよい。
【０１４１】
いくつかの実施形態では、メモリ１３０２には、実行可能モジュール又はデータ構造、若しくはこれらのサブセット、若しくはこれらの拡張セットが記憶される。
【０１４２】
本願の実施例では、メモリ１３０２に記憶された処理命令（この処理命令は、オペレーティングシステムに記憶されてもよい）を呼び出すことにより、現在符号化単位の最適フレーム内予測モードを決定した後、現在符号化単位のサイズが最小符号化単位のサイズより大きいか否かを決定し、該現在符号化単位のサイズが最小符号化単位のサイズより大きい場合、現在符号化単位の勾配を取得し、現在符号化単位の勾配が第１閾値より小さい場合、該現在符号化単位に含まれる各サブ符号化単位の勾配を取得し、該各サブ符号化単位の勾配に基づいて、現在符号化単位を分割するか否かを決定する、ことを実行する。
【０１４３】
従来技術における符号化単位のいずれに対しても分割を行う方式に比べると、本願の実施例で提供されたコンピューティングデバイスは、サイズが最小符号化単位より大きい現在符号化単位の場合、現在符号化単位の勾配と、現在符号化単位に含まれる各サブ符号化単位の勾配とに基づいて、現在符号化単位をさらに分割するか否かを決定する必要がある。これにより、分割が不要な符号化単位が決定され、符号化単位の分割による演算量の縮減及び演算の複雑さの低減が可能になる。
【０１４４】
ここで、プロセッサ１３０１は、コンピューティングデバイス１３０の処理を制御する。プロセッサ１３０１は、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と呼ばれてもよい。メモリ１３０２は、読み取り専用メモリ及びランダムアクセスメモリを含んでもよく、命令及びデータをプロセッサ１３０１に提供する。メモリ１３０２の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を含んでもよい。具体的な適用では、コンピューティングデバイス１３０の各コンポーネントは、バスシステム１３０４を介して結合される。ここで、バスシステム１３０４は、データバスに加えて、電源バス、制御バス、及び状態信号バスなどを含んでもよい。明確に説明するために、図中で、各種のバスは、いずれもバスシステム１３０４と示されている。
【０１４５】
本願の実施例に掲示された上記方法は、プロセッサ１３０１に適用されるか、プロセッサ１３０１により実現されてもよい。プロセッサ１３０１は、信号処理の機能を持つ集積回路チップであってもよい。実現過程では、上記方法の各ステップは、プロセッサ１３０１におけるハードウェア集積論理回路又はソフトウェアの形の命令によって完了してもよい。上記のプロセッサ９１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであってもよく、本願の実施例に開示された各方法、ステップ、及び論理ブロック図を実現又は実行できる。汎用プロセッサは、マイクロプロセッサであってもよく、或いは、該プロセッサは、任意の通常のプロセッサなどであってもよい。本願の実施例に関連して開示された方法のステップは、直接にハードウェア復号化プロセッサとして具現化されて実行・完了されるか、又は、復号化プロセッサにおけるハードウェアとソフトウェアモジュールとの組み合わせによって実行・完了されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラマブル読み取り専用メモリ、又は電気的に消去可能なプログラマブルメモリ、レジスタなどの、本技術分野の成熟した記憶媒体に位置してもよい。該記憶媒体は、メモリ１３０２に位置し、プロセッサ１３０１は、メモリ１３０２における情報を読み取り、そのハードウェアも使用して、上記方法のステップを完了する。
【０１４６】
上記のコンピューティングデバイス１３０は、図１〜図７に示された実施例の説明を参照して理解してもよいが、ここでは、これ以上の説明を省略する。
【０１４７】
理解すべきものとして、本願で提供されたいくつかの実施例に掲示された装置及び方法は、他の方式によって実現されてもよい。例えば、上記に説明された装置の実施例は、模式的なものにすぎない。例えば、前記モジュールの分割は、論理的な機能の分割にすぎず、実際に実現する際に別の分割方式であってもよい。例えば、複数のモジュール又はコンポーネントを組み合わせたり、他のシステムに組み入れたりしてもよいし、一部の特徴を無視したり、実行しなかったりしてもよい。また、示され又は説明された互いの結合、又は直接結合、又は通信接続は、若干のインタフェースを介するものであってもよく、装置又はモジュールの間接結合又は通信接続は、電気的、機械的、又は他の形式であってもよい。
【０１４８】
上記に分離した部品として説明されたモジュールは、物理的に分離したものであってもなくてもよい。モジュールとして示された部品は、物理的なモジュールであってもなくてもよく、即ち、１つの場所に位置してもよいし、ネットワーク上の複数のモジュールに分散されてもよい。実際の必要に応じて、その中の一部又は全部のモジュールを選択して、本実施例の構成の目的を達成してもよい。
【０１４９】
また、本願の各実施例における各機能モジュールは、１つの処理モジュールに統合されてもよく、各モジュールが物理的に単独で存在してもよく、２つ以上のモジュールが１つのモジュールに統合されてもよい。上記統合されたモジュールは、ハードウェアの形で実現されてもよいし、ソフトウェア機能モジュールの形で実現されてもよい。
【０１５０】
前記統合されたモジュールは、ソフトウェア機能モジュールの形で実現されて、スタンドアロン製品として販売又は使用される場合、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。このような理解に基づき、本願の構成の本質的な部分、若しくは従来技術に寄与する部分、若しくは該構成の全部又は一部は、ソフトウェア製品の形で具現化されることができ、該コンピュータソフトウェア製品が、記憶媒体に記憶され、コンピュータ機器（パーソナルコンピュータ、サーバ、又はネットワーク機器などであってもよい）に、本願の各実施例における方法の全部又は一部のステップを実行させるための若干の命令を含む。前述した記憶媒体は、Ｕディスク、モバイルハードディスク、読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶できる様々な媒体を含む。
【０１５１】
説明すべきものとして、簡単に説明するために、前述した各方法実施例がいずれも一連の動作の組み合わせとして説明されているが、当業者であれば、本願発明が、説明された動作順序によって制限されないことが分かるはずである。なぜなら、本願発明によれば、いくつかのステップは、他の順序で又は同時に実行され得るからである。次に、当業者であれば、明細書に説明された実施例がいずれも好ましい実施例に属し、これらに係る動作及びモジュールが必ずしも本願に必須のものではないということも分かるはずである。
【０１５２】
上記の実施例において、各実施例の説明にそれぞれの重点があり、ある実施例で詳述されていない部分は、他の実施例の関連説明を参照すればよい。
【０１５３】
上記は、本願で提供された符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体の説明である。当業者にとっては、本願の実施例の思想を踏まえると、具体的な実施形態及び適用範囲の両方に変更があり得る。要するに、本明細書の内容は、本願に対する制限として理解されるべきではない。
【符号の説明】
【０１５４】
８０１  第１決定モジュール
８０２  第１取得モジュール
８０３  第２取得モジュール
８０４  第２決定モジュール
９０１  数量決定モジュール
９０２  第３決定モジュール
９０３  第４決定モジュール
１００１  第５決定モジュール
１００２  第６決定モジュール
１００３  第７決定モジュール
１１０１  数量取得モジュール
１１０２  閾値設定モジュール
１１０３  第１設定モジュール
１１０４  第２設定モジュール
１１０５  第８決定モジュール
１１０６  第３設定モジュール
１１０７  第４設定モジュール
１２０１  分割モジュール
１２０２  選択算出モジュール
１２０３  取り消し出力モジュール
１２０４  出力モジュール
１３０  端末機器
１３０１  プロセッサ
１３０２  メモリ
１３０３  送受信器
１３０４  バスシステム
【図１】
2021502786.tif 000003
【図１ａ】
2021502786.tif 000004
【図２】
2021502786.tif 000005
【図３】
2021502786.tif 000006
【図４】
2021502786.tif 000007
【図５】
2021502786.tif 000008
【図６】
2021502786.tif 000009
【図７】
2021502786.tif 000010
【図８】
2021502786.tif 000011
【図９】
2021502786.tif 000012
【図１０】
2021502786.tif 000013
【図１１】
2021502786.tif 000014
【図１２】
2021502786.tif 000015
【図１３】
2021502786.tif 000016
【国際調査報告】
2021502786.tif 000017
2021502786.tif 000018
2021502786.tif 000019
2021502786.tif 000020