特許第5969608号(P5969608)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許5969608エンコーディングおよびデコーディングの方法および装置
<>
  • 特許5969608-エンコーディングおよびデコーディングの方法および装置 図000003
  • 特許5969608-エンコーディングおよびデコーディングの方法および装置 図000004
  • 特許5969608-エンコーディングおよびデコーディングの方法および装置 図000005
  • 特許5969608-エンコーディングおよびデコーディングの方法および装置 図000006
  • 特許5969608-エンコーディングおよびデコーディングの方法および装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5969608
(24)【登録日】2016年7月15日
(45)【発行日】2016年8月17日
(54)【発明の名称】エンコーディングおよびデコーディングの方法および装置
(51)【国際特許分類】
   H04N 19/11 20140101AFI20160804BHJP
   H04N 19/157 20140101ALI20160804BHJP
   H04N 19/176 20140101ALI20160804BHJP
【FI】
   H04N19/11
   H04N19/157
   H04N19/176
【請求項の数】24
【全頁数】22
(21)【出願番号】特願2014-525307(P2014-525307)
(86)(22)【出願日】2013年1月21日
(65)【公表番号】特表2014-527361(P2014-527361A)
(43)【公表日】2014年10月9日
(86)【国際出願番号】CN2013070778
(87)【国際公開番号】WO2013107419
(87)【国際公開日】20130725
【審査請求日】2014年2月13日
(31)【優先権主張番号】201210018036.3
(32)【優先日】2012年1月19日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】▲頼▼ 昌材
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特表2014−529250(JP,A)
【文献】 特表2014−528670(JP,A)
【文献】 特表2014−523697(JP,A)
【文献】 特表2014−517630(JP,A)
【文献】 国際公開第2012/172791(WO,A1)
【文献】 国際公開第2011/152635(WO,A2)
【文献】 国際公開第2011/021838(WO,A2)
【文献】 米国特許出願公開第2011/0243230(US,A1)
【文献】 Mei Guo et al.,Improved Intra Mode Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,4th Meeting: Daegu, Korea,2011年 1月,JCTVC-D166,pp.1-7
【文献】 Tzu-Der Chuang et al.,Luma Intra Prediction Mode Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F062_r2,pp.1-5
【文献】 Edouard FRANCOIS et al.,Modified Intra Mode Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino,2011年 7月,JCTVC-F269,pp.1-8
【文献】 Toru Kumakura et al.,Fixing the number of mpm candidates,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F340,pp.1-8
【文献】 Wei-Jung Chien et al.,Parsing friendly intra mode coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F459,pp.1-5
【文献】 Wei-Jung Chien et al.,Parsing friendly intra mode coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F459r2,pp.1-5
【文献】 Edouard FRANCOIS et al.,CE6b: Mode ranking for remaining mode coding with 2 or 3 MPMs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G242,pp.1-5
【文献】 Frank Bossen,On software complexity,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G757r1,pp.1-7
【文献】 Benjamin Bross et al.,WD5: Working Draft 5 of High-Efficiency Video Coding,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2012年 1月 9日,JCTVC-G1103_d3 (version 4),pp.i-v, 39-40, 69-70, 82-85
【文献】 Hui Li Tan et al.,Non CE6: Unification of the number of intra prediction modes,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 2月,JCTVC-H0166r2,pp.1-4
【文献】 C. Lai et al.,Non CE6: Unify the intra mode number for all PU size,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 2月,JCTVC-H0342_r1,pp.1-6
【文献】 Ehsan Maani and Ali Tabatabai,Intra mode coding using logical mode numbering,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 2月,JCTVC-H0407,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
フレーム内予測モードをエンコードするためのエンコーディング方法であって、
現フレーム内エンコーディングブロックのフレーム内予測モードを、予め設定された予測モードの組から取得するステップであり、前記フレーム内予測モードは、現フレーム内エンコーディングブロックがピクセルエンコードされるときに採用される予測モードである、取得ステップと、ここで、前記現フレーム内エンコーディングブロックは、異なるサイズの複数のフレーム内エンコーディングブロックの一つであり、前記異なるサイズは、4x4、8x8、16x16、32x32、および64x64を含み、前記予め設定された予測モードの組の各予測モードは、前記現フレーム内エンコーディングブロックの前記サイズにかかわらない前記現フレーム内エンコーディングブロックのための予測モードの候補であり、
前記現フレーム内エンコーディングブロックの参照予測モードを取得するステップであり、前記参照予測モードは、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、35の予測モードからなる同じ予測モードの組を使用し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された前記予測モードの組と同一の予測モードの組から選択される、取得ステップと、
前記参照予測モードと前記フレーム内予測モードに従って、第1のフラグビットをコードストリームに書き込むステップであり、前記第1のフラグビットは、前記フレーム内予測モードが前記参照予測モードの1つと同一か否かを示すために使用される、書き込みステップと、
前記エンコーディングブロックのフレーム内予測モードが、すべての前記参照予測モードと異なるとき、前記フレーム内予測モードの値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップと、を備えるエンコーディング方法。
【請求項2】
請求項1に記載のエンコーディング方法であって、前記予測モードの組は35種類の予測モードを含み、前記フレーム内予測モードの値の範囲は0乃至34であり、そして、前記参照予測モードの値の範囲は0乃至34である、エンコーディング方法。
【請求項3】
請求項2に記載のエンコーディング方法であって、前記現フレーム内エンコーディングブロックの参照予測モードを取得する前記ステップは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って第1の参照予測モードと第2の参照予測モードを取得するステップを含む、エンコーディング方法。
【請求項4】
請求項3に記載のエンコーディング方法であって、前記、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って第1の参照予測モードと第2の参照予測モードを取得するステップは、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが異なるならば、前記上のブロックと前記左のブロックのフレーム内予測モードを、前記現フレーム内エンコーディングブロックの前記第1の参照予測モードおよび前記第2の参照予測モードとして採用するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが同じならば、前記現フレーム内エンコーディングブロックの前記上のブロックまたは前記左のブロックのフレーム内予測モードを前記第1の参照予測モードとして採用し、前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組内の予測モードの中から予測モードを選択するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックが利用可能でない隣接ブロックであるならば、前記第1の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記上のブロックの予測モードを採用し、前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するステップ、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、前記第1の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記左のブロックの予測モードを採用し、前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能でない隣接ブロックであるならば、前記第1の参照予測モード及び前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から2つの予測コードを選択するステップ、を含む、エンコーディング方法。
【請求項5】
請求項4に記載のエンコーディング方法であって、前記、前記フレーム内予測モードの値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップは、
もし、前記フレーム内予測モードの値が、1つだけの参照予測モードの値より大きいならば、前記フレーム内予測モードの値から1を引いた結果を、前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの値が、2つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの値から2を引いた結果を、前記予測モードエンコーディング値として採用するステップと、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むステップであり、もし、前記予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、前記モードエンコードされたビットは「11111」であり、第3のフラグビットが前記コードストリームにさらに書き込まれ、前記第3のフラグビットは前記予め設定された組における前記予測モードエンコーディング値の値を示すために使用される、書き込みステップと、を含む、エンコーディング方法。
【請求項6】
請求項2に記載のエンコーディング方法であって、前記現フレーム内エンコーディングブロックの参照予測モードを取得する前記ステップは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、または、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードと予め設定された第3の参照予測モードとに従って、3つの参照予測モードを取得するステップを含む、エンコーディング方法。
【請求項7】
請求項6に記載のエンコーディング方法であって、前記、前記フレーム内予測モードの前記値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップは、
もし、前記フレーム内予測モードの前記値が、前記3つの参照予測モードの1つだけの値より大きいならば、前記フレーム内予測モードの前記値から1を引いた結果を前記予測モードエンコーディング値として採用し、もし、前記フレーム内予測モードの前記値が、前記3つの参照予測モードの2つの値よりも大きいならば、前記フレーム内予測モードの前記値から2を引いた結果を前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの前記値が、前記3つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの前記値から3を引いた結果を前記予測モードエンコーディング値として採用するステップと、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むステップと、を含む、エンコーディング方法。
【請求項8】
フレーム内予測モードのデコーディングをするためのデコーディング方法であって、
コードストリームから第1のフラグビットを取得し、前記第1のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードと同じか否かを示すために使用され、前記第1のフラグビットが、前記現フレーム内デコーディングブロックの前記フレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従って前記コードストリームからモードエンコードされたビットを取得するステップであり、前記フレーム内予測モードは、前記フレーム内デコーディングブロックがピクセルデコードされるときに採用される予測モードである、取得ステップと、ここで、現フレーム内デコーディングブロックは、異なるサイズの複数のフレーム内デコーディングブロックの一つであり、前記異なるサイズは、4x4、8x8、16x16、32x32、および64x64を含み、予め設定された予測モードの組の各予測モードは、前記現フレーム内デコーディングブロックの前記サイズにかかわらない前記現フレーム内デコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、35の予測モードからなる同じ予測モードの組を使用し、前記モードエンコードされたビットに従って予測モードエンコーディング値を取得するステップと、
前記フレーム内予測ブロックの参照予測モードを取得するステップであり、前記参照予測モードは、前記現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、取得ステップと、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得するステップと、を含むデコーディング方法。
【請求項9】
請求項8に記載のデコーディング方法であって、前記固定ビット数は5である、デコーディング方法。
【請求項10】
請求項9に記載のデコーディング方法であって、前記モードエンコードされたビットに従って予測モードエンコーディング値を取得する前記ステップは、
前記エンコードされたビットが「11111」でないときは、前記予測モードエンコーディング値は前記エンコードされたビットに等しいと判断するステップと、
前記エンコードされたビットが「11111」であるときは、前記コードストリームから第3のフラグビットを取得し、前記第3のフラグビットに従って、前記予め設定された組から前記予測モードエンコーディング値を取得するステップと、を含む、デコーディング方法。
【請求項11】
請求項10に記載のデコーディング方法であって、前記フレーム内予測ブロックの参照予測モードを取得するステップは、2つの参照予測モードを取得する前記ステップを含み、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得する前記ステップは、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値に等しいと判断するステップと、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの1つだけの値以上であるならば、前記予測モードエンコーディング値に1を加えた結果が前記フレーム内予測モードであると判断するステップと、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの値以上であるならば、前記予測モードエンコーディング値に2を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、を含む、デコーディング方法。
【請求項12】
請求項9に記載のデコーディング方法であって、前記フレーム内予測ブロックの参照予測モードを取得する前記ステップは、3つの参照予測モードを取得するステップを含み、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得する前記ステップは、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値と等しいと判断するステップと、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードのただ1つの値以上ならば、前記予測モードエンコーディング値に1を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの2つだけの値以上ならば、前記予測モードエンコーディング値に2を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの値以上ならば、前記予測モードエンコーディング値に3を加えた結果の結果が前記フレーム内予測モードの前記値であると判断するステップと、を含む、デコーディング方法。
【請求項13】
エンコーディング装置であって、
予め設定された予測モードの組から、現フレーム内エンコーディングブロックのフレーム内予測モードを取得し、前記現フレーム内エンコーディングブロックの参照予測モードを取得するように構成された予測モジュールであり、前記参照予測モードは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードであり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、予測モジュールと、ここで、前記現フレーム内エンコーディングブロックは、異なるサイズの複数のフレーム内エンコーディングブロックの一つであり、前記異なるサイズは、4x4、8x8、16x16、32x32、および64x64を含み、前記予め設定された予測モードの組の各予測モードは、前記現フレーム内エンコーディングブロックの前記サイズにかかわらない前記現フレーム内エンコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、35の予測モードからなる同じ予測モードの組を使用し、
前記参照予測モードと前記フレーム内予測モードとに従って第1のフラグビットをコードストリームに書き込むように構成されたフラグモジュールであり、前記第1のフラグビットは、前記フレーム内予測モードが前記参照予測モードの中の1つと同じか否かを示すために使用される、フラグモジュールと、
前記エンコーディングブロックの前記フレーム内予測モードが、すべての前記参照予測モードと異なるとき、前記フレーム内予測モードの前記値と前記参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュールと、を備えるエンコーディング装置。
【請求項14】
請求項13に記載のエンコーディング装置であって、前記予測モードの組は35種類の予測モードを含み、前記フレーム内予測モードの値の範囲は0乃至34であり、前記参照予測モードの値の範囲は0乃至34である、エンコーディング装置。
【請求項15】
請求項14に記載のエンコーディング装置であって、前記予測モジュールは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、第1の参照予測モードと第2の参照予測モードを取得するように構成された、エンコーディング装置。
【請求項16】
請求項15に記載のエンコーディング装置であって、前記予測モジュールは、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが異なるならば、前記上のブロックと前記左のブロックのフレーム内予測モードを、前記現フレーム内エンコーディングブロックの前記第1の参照予測モードおよび前記第2の参照予測モードとして採用するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが同じならば、前記現フレーム内エンコーディングブロックの前記上のブロックまたは前記左のブロックのフレーム内予測モードを前記第1の参照予測モードとして採用し、前記予め設定されたバックアップ参照モードの組から前記第2の参照予測モードを取得するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックが利用可能でない隣接ブロックであるならば、前記第1の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記上のブロックの予測モードを採用し、前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するか、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、前記第1の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記左のブロックの予測モードを採用し、前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能でない隣接ブロックであるならば、前記第1の参照予測モード及び前記第2の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から2つの予測コードを再選択する、ように構成された、エンコーディング装置。
【請求項17】
請求項16に記載のエンコーディング装置であって、前記予測モードエンコーディングモジュールは、
もし、前記フレーム内予測モードの値が、1つだけの参照予測モードの値より大きいならば、前記フレーム内予測モードの値から1を引いた結果を、前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの値が、2つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの値から2を引いた結果を、前記予測モードエンコーディング値として採用し、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込み、もし、前記予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、前記モードエンコードされたビットは「11111」であり、第3のフラグビットが前記コードストリームにさらに書き込まれ、前記第3のフラグビットは前記予め設定された組における前記予測モードエンコーディング値の値を示すために使用される、ように構成された、エンコーディング装置。
【請求項18】
請求項14に記載のエンコーディング装置であって、前記予測モジュールは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、または、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードと予め設定された第3の参照予測モードとに従って、3つの参照予測モードを取得するように構成された、エンコーディング装置。
【請求項19】
請求項18に記載のエンコーディング装置であって、前記予測モードエンコーディングモジュールは、
もし、前記フレーム内予測モードの値が、前記3つの参照予測モードの1つだけの値より大きいならば、前記フレーム内予測モードの前記値から1を引いた結果を前記予測モードエンコーディング値として採用し、もし、前記フレーム内予測モードの前記値が、前記3つの参照予測モードの2つの値よりも大きいならば、前記フレーム内予測モードの前記値から2を引いた結果を前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの前記値が、前記3つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの前記値から3を引いた結果を前記予測モードエンコーディング値として採用し、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むように構成された、エンコーディング装置。
【請求項20】
デコーディング装置であって、
第1のフラグビットをコードストリームから取得するコードストリーム読み込みモジュールであり、前記第1のフラグビットは、現フレーム内エンコーディングブロックのフレーム内予測モードが参照予測モードと同じか否かを示すために使用され、そして、前記第1のフラグビットが、前記現フレーム内デコーディングブロックの前記フレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従って前記コードストリームからモードエンコードされたビットを取得し、前記フレーム内予測モードは、前記フレーム内デコーディングブロックがピクセルデコードされるときに採用される予測モードである、コードストリーム読み込みモジュールと、ここで、前記現フレーム内デコーディングブロックは、異なるサイズの複数のフレーム内デコーディングブロックの一つであり、前記異なるサイズは、4x4、8x8、16x16、32x32、および64x64を含み、予め設定された予測モードの組の各予測モードは、前記現フレーム内デコーディングブロックの前記サイズにかかわらない前記現フレーム内デコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、35の予測モードからなる同じ予測モードの組を使用し、
前記フレーム内予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュールであり、前記参照予測モードは、前記現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、参照予測モード取得モジュールと、
前記モードエンコードされたビットに従って予測モードエンコーディング値を取得し、前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得し、前記フレーム内予測モードに従って前記現フレーム内デコーディングブロックをデコードするデコーディングモジュールと、を備えるデコーディング装置。
【請求項21】
請求項20に記載のデコーディング装置であって、前記固定ビット数は5である、デコーディング装置。
【請求項22】
請求項21に記載のデコーディング装置であって、前記デコーディングモジュールは、
前記エンコードされたビットが「11111」でないときは、前記予測モードエンコーディング値は前記エンコードされたビットに等しいと判断し、そして、
前記エンコードされたビットが「11111」であるときは、前記コードストリームから第3のフラグビットを取得し、前記第3のフラグビットに従って、前記予め設定された組から前記予測モードエンコーディング値を取得するように構成された、デコーディング装置。
【請求項23】
請求項22に記載のデコーディング装置であって、前記参照予測モード取得モジュールは、2つの参照予測モードを取得し、そして、
前記デコーディングモジュールは、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値に等しいと判断し、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの1つだけの値以上であるならば、前記予測モードエンコーディング値に1を加えた結果が前記フレーム内予測モードであると判断し、
もし、前記予測モードエンコーディング値が、前記2つの参照予測モードの値以上であるならば、前記予測モードエンコーディング値に2を加えた結果が前記フレーム内予測モードの前記値であると判断するように構成された、デコーディング装置。
【請求項24】
請求項22に記載のデコーディング装置であって、前記参照予測モード取得モジュールは、3つの参照予測モードを取得し、そして、
前記デコーディングモジュールは、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値と等しいと判断し、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードのただ1つの値以上ならば、前記予測モードエンコーディング値に1を加えた結果が前記フレーム内予測モードの前記値であると判断し、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの2つだけの値以上ならば、前記予測モードエンコーディング値に2を加えた結果が前記フレーム内予測モードの前記値であると判断し、
もし、前記予測モードエンコーディング値が、前記3つの参照予測モードの値以上ならば、前記予測モードエンコーディング値に3を加えた結果の結果が前記フレーム内予測モードの前記値であると判断するように構成された、デコーディング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオイメージのエンコーディングおよびデコーディングのための方法および装置に関する。
【背景技術】
【0002】
ビデオイメージのエンコーディングとビデオイメージのデコーディングと、その両方の期間中、イメージブロックを分割することによって得られる予測ユニットが予測される必要がある。予測期間中、利用可能な予測モードは、通常、予測ブロックに対して、予測ブロックのサイズに応じて予め決められており、その結果、ビデオのエンコーディング期間中、異なるサイズの予測ブロックに対して、異なる数の利用可能な予測モードがある。表1に示されるように、予測ブロックのサイズが4×4のときは、フレーム(intra-frame)予測モード(CurrMode)は、予測モード0〜17から選択され、予測ブロックのサイズが8×8、16×16、32×32のときは、現フレーム予測モードは予測モード0〜35から選択され、そして、64×64の予測ブロックに対しては、フレーム予測モードは、予測モード0〜3だけから選択されることができる。
【表1】
【0003】
エンコーディング処理において、予測ブロックの現フレーム予測モードが決定された後、さらに、現フレーム予測モード番号のためのエンコーディングスキーム(例えば、エンコーディングのために5ビットまたは4ビットを使用)が、予測ブロックのサイズに応じて決定される必要がある。デコーディング処理において、コードストリーム中の現フレーム予測モード番号の情報によって占有されるビットの数を決定するための特定のロジックが定義されている。これは、エンコーディングおよびデコーディングの効率に影響する。
【発明の概要】
【0004】
本発明はエンコーディング方法を提供する。エンコーディング方法は、予め設定された予測モードの組の中から現フレームエンコーディングブロックのフレーム予測モードを取得するステップであり、フレーム予測モードは、現フレームエンコーディングブロックがピクセルエンコードされる(pixel-encoded)ときに採用される予測モードである、取得ステップと、現フレームエンコーディングブロックの参照予測モードを取得する取得ステップであり、参照予測モードは、現フレームエンコーディングブロックの利用可能な隣接ブロック(available adjacent blocks)のフレーム予測モード、または、予め設定されたバックアップ参照モードの組の予測モード、である、取得ステップと、参照予測モードとフレーム予測モードに応じて第1のフラグビットをコードストリームに書き込むステップであり、第1のフラグビットはフレーム予測モードが参照予測モードの中の1つと同じか否かを示すために使用される、書き込みステップと、そして、エンコーディングブロックのフレーム予測モードが、すべての参照予測モードと異なるとき、フレーム予測モードの値と参照予測モードとの間の大小関係に応じて予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするステップと、を含む。
【0005】
本発明はまた、デコーディング方法も提供する。デコーディング方法は、コードストリームから第1のフラグビットを取得するステップであり、第1のフラグビットは、現フレームデコーディングブロックのフレーム予測モードが参照予測モードの中の1つと同じか否かを示すために使用される、取得ステップと、第1のフラグビットが、現フレームデコーディングブロックのフレーム予測モードがすべての参照予測モードと異なることを示すときは、固定ビット数に従って、コードストリームからモードエンコードされた(mode encoded)ビットを取得するステップであり、フレーム予測モードは、フレームデコーディングブロックがピクセルデコードされる(pixel-decoded)ときに採用される予測モードである、取得ステップと、モードエンコードされたビットに従って予測モードエンコーディング値を取得するステップと、フレームデコーディングブロックの参照予測モードを取得するステップであり、参照予測モードは、現フレームデコーディングブロックの利用可能な隣接ブロックのフレーム予測モードである、取得ステップと、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレームデコーディングブロックのフレーム予測モードを取得するステップと、を含む。
【0006】
本発明はさらに、本発明において提供されるエンコーディング方法を使用するエンコーディング装置を提供する。エンコーディング装置は、予め設定された予測モードの組から、現フレームエンコーディングブロックのフレーム予測モードを取得し、現フレームエンコーディングブロックの参照予測モードを取得するように構成された予測モジュールであり、参照予測モードは、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム予測モードか、または、予め設定されたバックアップ参照モードの組の予測モードであり、予め設定されたバックアップ参照モードの組のすべての予測モードは、予測モードの組に属する、予測モジュールと、参照予測モードとフレーム予測モードとに従って第1のフラグビットをコードストリームに書き込むように構成されたフラグモジュールであり、第1のフラグビットは、フレーム予測モードが、参照予測モードの中の1つと同じか否かを示すために使用される、フラグモジュールと、エンコーディングブロックのフレーム予測モードが、すべての参照予測モードと異なるとき、フレーム予測モードの値と参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュールと、を含む。
【0007】
本発明はさらに、本発明のデコーディング方法を使用したデコーディング装置を提供する。デコーディング装置は、第1のフラグビットをコードストリームから取得するコードストリーム読み込みモジュールであり、第1のフラグビットは、現フレームエンコーディングブロックのフレーム予測モードが参照予測モードと同じか否かを示すために使用され、そして、第1のフラグビットが、現フレームデコーディングブロックのフレーム予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従ってコードストリームからモードエンコードされたビットを取得し、フレーム予測モードは、フレームデコーディングブロックがピクセルデコードされたときに採用された予測モードである、コードストリーム読み込みモジュールと、フレーム予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュールであり、参照予測モードは、現フレームデコーディングブロックの利用可能な隣接ブロックのフレーム予測モードか、または、予め設定されたバックアップ参照モードの組の予測モードか、である、参照予測モード取得モジュールと、モードエンコードされたビットに従って予測モードエンコーディング値を取得し、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレームデコーディングブロックのフレーム予測モードを取得し、フレーム予測モードに従って現フレームデコーディングブロックをデコードするデコーディングモジュールと、を含む。
【0008】
本発明によって提供されるエンコーディング方法を使用することにより、エンコーディング及びデコーディングシステムの判定ロジックは節約されることができる。そして、それによって、エンコーディングとデコーディングの効率は改善される。
【図面の簡単な説明】
【0009】
本発明の実施例における技術的解決策をより明確に示すために、以下に、実施例または従来技術を説明するために必要な添付図を簡単に説明する。明らかに、以下の説明における添付図は、本発明のいくつかの実施例を示すに過ぎず、当業者は、これらの添付図から、創造的努力を要せずに、他の図をまだまだ導出し得る。
図1】本発明の一実施例に応じたエンコーディング方法の概略図
図2】イメージブロックと、それに隣接するブロックとの位置関係の概略図
図3】本発明の一実施例に応じたデコーディング方法の概略図
図4】本発明の一実施例に応じたエンコーディング装置の概略図
図5】本発明の一実施例に応じたデコーディング装置の概略図
【発明を実施するための形態】
【0010】
以下では、本発明の実施例における技術的解決策が、本発明における添付図を参照しながら、明確および完全に説明される。明らかに、説明される実施例は、本発明のすべての実施例というよりも、単なる一部に過ぎない。本発明の実施例に基づいて、当業者が創造的努力を要せずに得ることのできるすべての他の実施例は、本発明の保護範囲に含まれる。
【0011】
図1を参照して、本発明の一実施例は、いかなる現フレームエンコーディングブロックをもエンコーディングするための方法を提供する。この方法は、以下のステップを含む。
【0012】
ステップ101:予め設定された予測モードの組の中から現フレームエンコーディングブロックのフレーム予測モードを取得する。
【0013】
本発明の実施例では、異なるサイズの現フレームエンコーディングブロックのフレーム予測モードは、同じ予測モードの組から由来する。
【0014】
エンコーディング端では、フレーム予測モードは、イメージブロックがピクセルエンコードされるときに採用される予測モードである。もし、フレーム予測モードが、デコーディング端で、イメージブロックがピクセルデコードされるときに採用される予測モードならば、デコーディング予測モードとも呼ばれ得る。
【0015】
ステップ102:現フレームエンコーディングブロックの参照予測モードを取得する。
【0016】
参照予測モードは、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム予測モードか、または、予め設定されたバックアップ参照モードの組の予測モードであり、予め設定されたバックアップ参照モードの組のすべての予測モードは、予測モードの組に属する。
【0017】
ステップ103:参照予測モードに従ってフレーム予測モードをエンコードし、第1のフラグビットをコードストリームに書き込む。ここで、第1のフラグビットは、フレーム予測モードが参照予測モードのうちの1つと同じか否かを示すために使用される。
【0018】
ステップ104:フレーム予測モードが、参照予測モードのすべてと異なるとき、フレーム予測モードの値と、参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードする。
【0019】
本発明の実施例において、もし、現フレームエンコーディングブロックが、隣接するブロックのフレーム予測モードに従って2つの参照予測モード(第1の参照予測モードと第2の参照予測モード)を取得したならば、フレーム予測モードの値と参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得して予測モードエンコーディング値のエンコーディングをすることは、以下のステップを含む。
【0020】
ステップ104a:もし、フレーム予測モードの値が、たった1つの参照予測モードの値よりも大きいならば、予測モードエンコーディング値は、フレーム予測モードの値引く1に等しく、もし、フレーム予測モードの値が、2つの参照予測モードの値よりも大きいならば、フレーム予測モードから2を引いた結果を予測モードエンコーディング値として採用する。
【0021】
ステップ104b:固定ビット数を使って予測モードエンコーディング値をエンコードしてモードエンコードされたビット(mode encoded bits)を得て、モードエンコードされたビットをコードストリームに書き込む。ここで、もし、予測モードエンコーディング値のバイナリコード長が、固定ビット数よりも大きいならば、モードエンコードされたビットのすべては1であり、第3のフラグビットがコードストリームに書き込まれる。ここで第3のフラグビットは、予め設定された組の予測モードエンコーディング値の値を示すために使用される。
【0022】
本発明の実施例において、現フレームのエンコーディングブロック(すなわち、フレームエンコーディング予測ブロック)のサイズにかかわらず、フレーム予測モードは、画一的なフレーム予測モードの中から選択される。具体的には、HEVC規格は、利用可能な隣接ブロックのエンコードされたピクセル値に従って現フレームエンコーディングブロックの予測ピクセル値を得るための35種類の予測モードを与える。エンコーディング中、35種類の予測モードは、フレームエンコーディングブロックの利用可能な隣接ブロックに従って予測を実行するために逐次選択される。35種類の予測モードの結果は比較され、予測ピクセル値と実際のイメージピクセル値との差が最も小さい予測モードが、フレーム予測モードとして選択される。フレーム予測モードの値の範囲は0から34、すなわち、0以上34以下である。現フレームエンコーディングブロックとその利用可能な隣接ブロックとは同じ予測モードの組に従って予測されるので、参照予測モードの値の範囲もまた、0から34である。もちろん、別のオプションの実施例においては、予測モードの組における予測モードの種類および数は、技術の発展に従って調整され得る。そして、予測モードの組における予測モードの数は、必要に応じて調整され得る。
【0023】
本発明の実施例において、参照予測モードは、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム予測モードである。利用可能な隣接ブロックは、以下の条件を満たす必要がある。1.現フレームエンコーディングブロックと同じ筋(stripe)の中に入っていること。2.すでにエンコードされていること(デコーディング処理の場合、利用可能な隣接ブロックは、デコードされている必要がある)。例えば、現在、業界内で一般に採用されているエンコーディングおよびデコーディング順序は、上から下、および、左から右、である。したがって、もし、現フレームエンコーディングブロックと同じ筋の中に入っているならば、現フレームエンコーディングブロックの左のブロックと上のブロックは、現フレームエンコーディングブロックの利用可能な隣接ブロックとして選択され得る。上記の条件を満たさない、現フレームエンコーディングブロックの隣接ブロックは、利用可能でない隣接ブロックである。現フレームエンコーディングブロックと比較して左のブロックおよび上のブロックの位置については、図2が参照され得る。
【0024】
参照予測モードの取得については、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム予測モードが、エンコーディング順序に従って現フレームエンコーディングブロックの参照予測モードとして採られうる。例えば、現在、業界で画一的に採用されているエンコーディングおよびデコーディング順序は、左から右、および、上から下である。したがって、もし、現フレームエンコーディングブロックの上のブロックと左のブロックが利用可能であれば、左のブロックと右のブロックの予測モードは現フレームエンコーディングブロックの参照予測モードとして採られる。もし、2つのうち1つが利用可能でないならば、予め設定されたバックアップ参照モードの組の中から、例えば、HEVC規格の中で規定されているDC予測モードまたは平面予測モード(この2つは、HEVCビデオエンコーディングおよびデコーディング標準で規定されている。特定の予測方法は本発明とは関係しない。そして、この明細書の中では説明されないであろう。)等の予測モードが、参照予測モードとして選択される。もし、現フレームエンコーディングブロックの上のブロックと左のブロックの両方が利用可能でないなら、参照予測モードはまた、予め設定されたバックアップ参照モードの組の中から選択され得る。もし、2つの参照予測モードが同一ならば、予め設定されたルールに従って、参照予測モードのうちの1つは、バックアップ参照モードの組内の1つの予測モードによって置換され得る。例えば、現フレームエンコーディングブロックの上のブロックと左のブロックのフレーム予測モードの値がどちらも34であることが想定される。そしてその時、現フレームエンコーディングブロックの参照予測モードの1つは34であり、そして、バックアップ参照モードの組から、より小さい値、例えば0または3、が他の参照予測モードとして選択される。この点で、バックアップ参照モードの組の予測モードは、「隣接ブロックが利用可能でない」状態や「複数の隣接ブロックのフレーム予測モードが同じ」状態に対応する必要があるので、バックアップ参照モードの組内の予測モードは、さらに分割され得る。例えば、バックアップ参照モードの組は第1の参照の組と第2の参照の組に分割される。現ブロックの隣接ブロックが利用可能でないために特定の数の参照予測モードが提供できないとき、1つの予測モード(DC予測モードや平面予測モード等)が第1の参照の組の中から選択され得る。現ブロックの隣接ブロックのフレーム予測モードが同じであるために特定の数の参照予測モードが提供できないとき、1つの予測モード(例えば、値が0または3の予測モード)が第2の参照の組の中から選択される。もちろん、必要であれば、参照モードの組は、もっと多くの状況に対応するために、もっと多くの組に分割され得る。そして、参照モードの組の中の予測モードは、第1の参照の組および第2の参照の組に同時に所属し得、同時に、別のタイプの参照の組に所属し得る。
【0025】
ステップ104aにおいて、仮にフレーム予測モードの値がCurrModeであるとすると、2つの参照予測モードの値は、それぞれ、第1の参照予測モードModeAと第2の参照予測モードModeBである。ModeAとModeBの値はデフォルトの順序の中で設定され得る。例えば、ModeAは、左のブロックの参照予測モードに設定され得る。そしてModeBは、上のブロックの参照予測モードであり得る。
【0026】
もし、CurrMode=ModeAまたはCurrMode=ModeBならば、それは、フレーム予測モードが、参照予測モードの1つと等しいことを意味するが、第1のフラグビット(長さはおそらく1ビット)および第2のフラグビットがコードストリームに書き込まれる。第1のフラグビットは、現予測ユニットのフレーム予測モードが参照予測モードの中の1つと同じか否かを示す。例えば、0は、フレーム予測モードは、参照予測モードの中の1つと同じであることを示す。そして、1は、フレーム予測モードは、参照予測モードのすべてと異なることを示す。第2のフラグビットは、フレーム予測モードと等しい参照予測モードを示すために使用される。例えば、0は、CurrModeがModeAと等しいことを示し、1は、CurrModeがModeBに等しいことを示す。
【0027】
もし、フレーム予測モードが、2つの参照予測モードのいずれにも等しくないならば、フレーム予測モードの予測モードエンコーディング値は、フレーム予測モードの値と、参照予測モードの値との間の大小関係に従って得られる。ここで、もし、フレーム予測モードの値が、参照予測モードの1つだけの値よりも大きいならば、予測モードエンコーディング値は、フレーム予測モードの値引く1に等しく、そして、もし、第1の参照予測モードと第2の参照予測モードのどちらの値もフレーム予測モードの値よりも小さいならば、予測モードエンコーディング値は、フレーム予測モードの値引く2に等しい。フレーム予測モードと参照予測モードの両方の値は34なので、予測モードエンコーディング値の値の範囲は0から32である。明らかに、予測モードエンコーディング値の値の範囲が0から31であるとき、予測モードエンコーディング値は、5ビットバイナリコードによって直接示すことができる。一方、32のバイナリコードは6ビット必要である。したがって、予測モードエンコーディング値が31および32のとき、対応するモードエンコードされたビットは、いずれも11111である。そしてその時、区別をするために、第3のフラグビットに対応する値がコードストリームに書き込まれる。例えば、予測モードエンコーディング値は31のとき、対応するモードエンコードされたビットは11111であり、第3のフラグビットは0である。そして、予測モードエンコーディング値が32のとき、対応するモードエンコードされたビットは11111であり、第3のフラグビットは1である。もちろん、設定はまた、予測モードエンコーディング値が31のとき、対応するモードエンコードされたビットは11111で、第3のフラグビットは1、予測モードエンコーディング値が32のとき、対応するモードエンコードされたビットは11111で、第3のフラグビットは0であり得る。
【0028】
例えば、現フレーム予測モードが12のとき、複数のフレーム予測モードの最も可能性の高い値はそれぞれ10および20であることが想定される。12−1=11。仮に固定ビット数が5であるとすると、フレーム予測モードのエンコーディングの結果は、11の5ビットバイナリコードの01011である。もし、最も可能性の高いモードがそれぞれ13および20であるならば、フレーム予測モードのエンコーディングの結果は、12の5ビットバイナリコードの01100である。もし、最も可能性の高いモードがそれぞれ8および10であるならば、フレーム予測モードのエンコーディングの結果は、10(12−2)の5ビットバイナリコードの01010である。
【0029】
本発明の実施例において、異なるサイズの予測ブロックに対して同じ予測モードの組が設定されるため、フレーム予測モードの値のエンコーディングの間、ほとんどの場合、5ビットだけの固定ビット数を使うことにより、予測モードエンコーディング値がエンコードされ得る。加えて、フレーム予測モードをエンコードするための固定ビット数を決定するための追加の判定ロジックを設定することは不要である。それによって、システムリソースが節約される。
【0030】
別の任意の実施例において、同様に、予測モードの組内の予測モードの数が35であることが想定される。モードエンコードされたビットの値の範囲は0から31までだけであるという問題を解決するために、3つの参照予測モードが現フレームエンコーディングブロックに対して設定され得る。例えば、利用可能な隣接ブロックの上のブロック、左のブロック、および、左上のブロックの予測モードが、参照予測モードとして採用されるか、または、利用可能な左のブロックと上のブロックのフレーム予測モードが使用されるという前提で、予め定義された予測モードが第3の参照予測モードとして設定されるか、である。同様に、利用可能な隣接ブロックのフレーム予測モードが同一であるとき、参照予測モードは参照モードの組から補充される。予測モードエンコーディング値を取得する処理において、予測モードエンコーディング値が得られるように、フレーム予測モードよりも小さい参照予測モードの数に従って、フレーム予測モードの値から1を引く演算が実行される。3つの参照予測モードがあり、フレーム予測モードの値の範囲と3つの参照予測モードの値の範囲とは、いずれも0から34であるため、予測モードエンコーディング値の値の範囲は0から31である。つまり、本発明の実施例において、ステップ102において、現フレームエンコーディングブロックの参照予測モードを取得するステップは、現フレームエンコーディングブロックの3つの参照予測モードを取得するステップを含み、ステップ104において、フレーム予測モードが参照予測モードのすべてと異なるとき、予測モードエンコーディング値を、フレーム予測モードの値と参照予測モードの値との間の大小関係にしたがって取得し、予測モードエンコーディング値をエンコードするステップは、以下のステップを含む。
【0031】
ステップ104a’:もし、フレーム予測モードの値が、ただ1つの参照予測モードの値よりも大きいならば、フレーム予測モードの値から1を引いた結果を予測モードエンコーディング値として採用する。もし、フレーム予測モードの値が、2つの参照予測モードの値よりも大きいならば、フレーム予測モードの値から2を引いた結果を予測モードエンコーディング値として採用する。そして、もし、フレーム予測モードの値が、3つの参照予測モードの値よりも大きいならば、フレーム予測モードの値から3を引いた結果を予測モードエンコーディング値として採用する。
【0032】
ステップ104b’:モードエンコードされたビットを得るために、固定ビット数を使って、予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込む。
【0033】
図3を参照して、本発明の一実施例は、デコーディング方法をさらに提供する。該方法は、以下のステップを含む。
【0034】
ステップ301:コードストリームから最初のフラグビットを取得する。最初のフラグビットは、現フレームデコーディングブロックのフレーム予測モードが、参照予測モードと同じか否かを示し、最初のフラグビットが、現フレームデコーディングブロックのフレーム予測モードが参照予測モードと異なることを示すとき、固定ビット数に従って、コードストリームの中からモードエンコードされたビットを取得する。
【0035】
ステップ302:モードエンコードされたビットに従って予測モードエンコード値を取得する。
【0036】
ステップ303:フレーム予測ブロックの参照予測モードを取得する。
【0037】
ステップ304:予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレームデコーディングブロックのフレーム予測モードを取得する。
【0038】
本発明の実施例において、エンコーディング端に対応して、異なるサイズの現フレームデコーディングブロックのフレームモードは、同じ予測モードの組から由来する。もちろん、エンコーディング端の予測モードの組は、デコーディング端の予測モードの組と同じか、または、対応する。
【0039】
デコーディング端では、参照予測モードの取得は、エンコーディング端に対応し、そして、現フレームデコーディングブロックの利用可能な隣接ブロックのデコーディング予測モードを、現フレームエンコーディングブロックの参照予測モードとして採用するだけでよい。
【0040】
エンコーディング端と同様に、本発明の実施例において、現フレームデコーディングブロックの利用可能な隣接ブロックは、以下の条件を満たす必要がある。1.現フレームデコーディングブロックと同じ筋(stripe)の中に入っていること。2.すでにデコードされていること。
【0041】
もし、予測モードエンコーディング値が、すべての参照予測モードの値以上であるならば、予測モードエンコーディング値に2を加えた結果が現フレームデコーディングブロックのフレーム予測モードの値である、と決定される。もし、予測モードエンコーディング値が、2つの参照予測モードのうちの1つだけの値以上であるならば、予測モードエンコーディング値に1を加えた結果が現フレームデコーディングブロックのフレーム予測モードの値である、と決定される。そして、もし、予測モードエンコーディング値が、すべての参照予測モードの値未満であるならば、予測モードエンコーディング値が現フレームデコーディングブロックのフレーム予測モードの値として採用される。
【0042】
本発明の実施例において、最初のフラグビットが、現フレームデコーディングブロックのフレーム予測モードが、参照予測モードの1つと同じであるとき、第2のフラグビットがコードストリームからさらに取得される。第2のフラグビットは、現フレームデコーディングブロックのフレーム予測モードと等しい参照予測モードを示すために使用される。
【0043】
同様に、エンコードビットが「11111」ではないとき、予測モードエンコーディング値はエンコードビットに等しい。そして、エンコードビットが「11111」であるとき、第3のフラグビットがコードストリームから取得される。そして、第3のフラグビットに従って、予測モードエンコーディング値が予め設定された組から取得される。
【0044】
エンコードビットが取得されるとき、本発明の一実施例において、エンコードビットが「11111」ではないとき、予測モードエンコーディング値は、エンコードビットに等しい。そして、エンコードビットが「11111」であるとき、第3のフラグビットがコードストリームから取得される。そして、予測モードエンコーディング値が、第3のフラグビットに従って、予め設定された組から取得される。それに対応して、フレーム予測ブロックの参照予測モードを取得するステップは、2つの参照予測モードを取得するステップを含み、そして、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレームデコーディングブロックのフレーム予測モードを取得するステップは、もし予測モードエンコーディング値が2つの参照予測モードの値よりも小さいならば、フレーム予測モードの値は、予測モードエンコーディング値と等しい、と決定される。もし、予測モードエンコーディング値が、2つの参照予測モードの値のうちの1つ以上であるならば、予測モードエンコーディング値に1を加えた結果が、フレーム予測モードの値であると決定される。そして、もし、予測モードエンコーディング値が、2つの参照予測モードの値以上であるならば、予測モードエンコーディング値に2を加えた結果がフレーム予測モードであると決定される。
【0045】
本発明の別の実施例において、3つの参照予測モードは直接取得される。そして、もし、予測モードエンコーディング値が、3つの参照予測モードの値未満であるならば、フレーム予測モードの値は、予測モードエンコーディング値に等しい。もし、予測モードエンコーディング値が、3つの参照予測モードの1つだけの値以上であるならば、予測モードエンコーディング値に1を加えた結果がフレーム予測モードの値である。もし、予測モードエンコーディング値が3つの参照予測モードの2つだけの値以上であるならば、予測モードエンコーディング値に2を加えた結果が、フレーム予測モードの値である。そして、もし、予測モードエンコーディング値が3つの参照予測モードの値以上であるならば、予測モードエンコーディング値に3を加えた結果の結果が、フレーム予測モードの値である。
【0046】
フレーム予測モードが取得された後、現フレームデコーディングブロックがフレーム予測モードに従ってデコードされ得る。
【0047】
本発明の実施例において提供されるエンコーディング方法およびデコーディング方法に対応して、本発明の実施例はさらに、対応するエンコーディング装置およびデコーディング装置を提供する。
【0048】
図4を参照して、本発明の一実施例において提供されるエンコーディング装置は、予め設定された予測モードの組から現フレームエンコーディングブロックのフレーム予測モードを取得し、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム予測モードに従って現フレームエンコーディングブロックの参照予測モードを取得するように構成された予測モジュール401と、参照予測モードとフレーム予測モードとに従って第1のフラグビットをコードストリームに書き込むように構成されたフラグモジュール402であり、第1のフラグビットは、フレーム予測モードが、参照予測モードの1つと同じであるか否かを示すために使用される、フラグモジュール402と、エンコーディングブロックのフレーム予測モードが、参照予測モードのすべてと異なっているとき、フレーム予測モードの値と参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュール403と、を含む。
【0049】
予測モジュール401、フラグモジュール402、および、予測モードエンコーディングモジュール403の具体的な動作結果は、本発明の実施例において提供されるエンコーディング方法におけるものと同様である。
【0050】
例えば、予測モードの組内の予測モードの数は、それでも35であると想定される。
【0051】
本発明の一実施例において、予測モジュール401は、具体的に、現フレームエンコーディングブロックの利用可能な隣接ブロックに従って、第1の参照予測モードと第2の参照予測モードとを取得するように構成されている。
【0052】
もし、現フレームエンコーディングブロックの上のブロックと左のブロックが、両方とも利用可能な隣接ブロックであり、現フレームエンコーディングブロックの上のブロックと左のブロックのフレーム予測モードが異なるなら、上のブロックと左のブロックのフレーム予測モードが、現フレームエンコーディングブロックの第1の参照予測モードおよび第2の参照予測モードとして採られる。そして、もし、利用可能な隣接ブロックに従って、現フレームエンコーディングブロックに対して十分な参照予測モードが取得できないなら、数を揃えるために、予め設定された参照モードが参照予測モードとして採用され得る。具体的には、
もし、現フレームエンコーディングブロックの上のブロックと左のブロックが利用可能な隣接ブロックであり、現フレームエンコーディングブロックの上のブロックと左のブロックのフレーム予測モードが同一であるならば、現フレームエンコーディングブロックの上のブロックまたは左のブロックのフレーム予測モードが第1の参照予測モードとして採られ、予め設定された予測モードが第2の参照予測モードとして予測モードの組から選択されるか、または、
もし、現フレームエンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックは利用可能でない隣接ブロックであるならば、現フレームエンコーディングブロックの上のブロックの予測モードが第1の参照予測モードとして採られ、予め設定されたバックアップ参照モードの組から1つの予測モードが、第2の参照予測モードとして選択されるか、または、
もし、現フレームエンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、現フレームエンコーディングブロックの左のブロックの予測モードが第1の参照モードとして採用され、予め設定されたバックアップ参照モードの組の中から1つの予測モードが第2の参照予測モードとして選択されるか、または、
もし、現フレームエンコーディングブロックの上のブロックと左のブロックの両方が、利用可能でない隣接ブロックであるならば、2つの予測モードは、予め設定されたバックアップ参照モードの組の中から、第1の参照予測モードおよび第2の参照予測モードとして、再選択される。
【0053】
予測モードエンコーディングモジュール403は、具体的には、もし、フレーム予測モードの値が参照予測モードのただ1つの値より大きいならば、フレーム予測モードから1を引いた結果を予測モードエンコーディング値として採用し、もし、フレーム予測モードの値が、2つの参照予測モードの値より大きいならば、フレーム予測モードから2を引いた結果を予測モードエンコーディング値として採用し、モードエンコードされたビットを得るために、固定ビット数を使用して予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込む。ここで、もし、予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、モードエンコードされたビットは「11111」であり、第3のフラグビットがさらにコードストリームに書き込まれる。ここで、第3のフラグビットは予め設定された組内の予測モードエンコーディング値の値を示すために使用されるように構成される。
【0054】
本発明の他の実施例において、予測モジュール401は、具体的には、現フレームエンコーディングブロックの利用可能な隣接ブロックに従って3つの参照予測モードを取得するように構成される。
【0055】
本発明の他の実施例において、予測モードエンコーディングモジュール403は、具体的には、
もし、フレーム予測モードの値が、3つの参照予測モードのうちの1つだけの値より大きいならば、フレーム予測モードの値から1を引いた結果を予測モードエンコーディング値として採用し、もし、フレーム予測モードの値が、3つの参照予測モードのうちの2つの値より大きいならば、フレーム予測モードの値から2を引いた結果を予測モードエンコーディング値として採用し、そして、もし、フレーム予測モードの値が、3つの参照予測モードの値より大きいならば、予測モードエンコーディング値はフレーム予測モードの値引く3に等しいと判断し、そして、
モードエンコードされたビットを得るために、固定ビット数を使用して予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込むように構成される。
【0056】
図5を参照して、図5は、本発明の一実施例に従ったデコーディング装置の概略図である。本発明の実施例におけるデコーディング装置は、
第1のフラグビットをコードストリームから取得し、第1のフラグビットは、現フレームデコーディングブロックのフレーム予測モードが参照予測モードと同じであるか否かを示すために使用され、第1のフラグビットが、現フレームデコーディングブロックのフレーム予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従ってコードストリームからモードエンコードされたビットを取得し、フレーム予測モードは、フレームデコーディングブロックがピクセルデコードされたときに採用された予測モードであるように構成されたコードストリーム読込みモジュール501と、
フレーム予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュール502と、
モードエンコードされたビットに従って予測モードエンコーディング値を取得し、予測モードエンコーディング値と、参照予測モードの値との間の大小関係に従って、現フレームデコーディングブロックのフレーム予測モードを取得し、フレーム予測モードに従って、現フレームデコーディングブロックをデコードするように構成されたデコーディングモジュール503と、を含む。
【0057】
コードストリーム読込みモジュール501、参照予測モード取得モジュール502、および、デコーディングモジュール503の具体的な動作方法は、本発明の実施例において提供されるデコーディング方法と同じである。
【0058】
具体的には、固定ビット数は5である。
【0059】
本発明の一実施例において、第1のフラグビットが、現フレームデコーディングブロックのフレーム予測モードは参照予測モードとは異なることを示すとき、コードストリーム読込みモジュール501は以下のステップを実行する:もし、エンコードされたビットが「11111」でないなら、予測モードエンコーディング値はエンコードビットに等しいと判断し、そして、もし、エンコードされたビットが「11111」であるなら、コードストリームから1ビットを取得し、該ビットに従って予め設定された組から予測モードエンコーディング値を取得する。それに対応して、参照予測モード取得モジュール502は2つの参照予測モードを取得する。そして、デコーディングモジュール503は以下のステップを実行する:もし、予測モードエンコーディング値が2つの参照予測モードの値より小さいならば、フレーム予測モードの値は予測モードエンコーディング値に等しいと判断し、もし、予測モードエンコーディング値が、2つの参照予測モードの1つだけの値以上であるならば、予測モードエンコーディング値に1を加えた結果がフレーム予測モードの値であると判断し、そして、もし、予測モードエンコーディング値が2つの参照予測モードの値以上であるならば、予測モードエンコーディング値に2を加えた結果がフレーム予測モードの値であると判断する。
【0060】
本発明の他の実施例において、参照予測モード取得モジュール502は、3つの参照予測モードを取得する。そして、それに対応して、デコーディングモジュール503は以下のステップを実行する:もし、予測モードエンコーディング値が3つの参照予測モードの値より小さいならば、フレーム予測モードの値は、予測モードエンコーディング値と等しいと判断し、もし、予測モードエンコーディング値が、3つの参照予測モードのうちの1つだけの値以上であるならば、予測モードエンコーディング値に1を加えた結果がフレーム予測モードの値であると判断し、もし、予測モードエンコーディング値が、3つの参照予測モードのうちの2つだけの値以上であるならば、予測モードエンコーディング値に2を加えた結果がフレーム予測モードの値であると判断し、そして、もし、予測モードエンコーディング値が、3つの参照予測モードの値以上であるならば、予測モードエンコーディング値に3を加えた結果の結果がフレーム予測モードの値であると判断する。
【0061】
上述の説明は、本発明の単なる特定の実施例に過ぎず、本発明の保護範囲を制限することを意図するものではない。本発明において開示された技術的範囲において、当業者によって容易に想到し得るいかなるバリエーションまたは置き換えは、本発明の保護範囲内に入る。したがって、本発明の保護範囲は、クレームの保護範囲次第である。
図1
図2
図3
図4
図5