(57)【特許請求の範囲】
【請求項１】
フレーム内予測モードをエンコードするためのエンコーディング方法であって、
現フレーム内エンコーディングブロックのフレーム内予測モードを、予め設定された予測モードの組から取得するステップであり、前記フレーム内予測モードは、現フレーム内エンコーディングブロックがピクセルエンコードされるときに採用される予測モードである、取得ステップと、ここで、前記現フレーム内エンコーディングブロックは、異なるサイズの複数のフレーム内エンコーディングブロックの一つであり、前記異なるサイズは、４ｘ４、８ｘ８、１６ｘ１６、３２ｘ３２、および６４ｘ６４を含み、前記予め設定された予測モードの組の各予測モードは、前記現フレーム内エンコーディングブロックの前記サイズにかかわらない前記現フレーム内エンコーディングブロックのための予測モードの候補であり、
前記現フレーム内エンコーディングブロックの参照予測モードを取得するステップであり、前記参照予測モードは、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、３５の予測モードからなる同じ予測モードの組を使用し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された前記予測モードの組と同一の予測モードの組から選択される、取得ステップと、
前記参照予測モードと前記フレーム内予測モードに従って、第１のフラグビットをコードストリームに書き込むステップであり、前記第１のフラグビットは、前記フレーム内予測モードが前記参照予測モードの１つと同一か否かを示すために使用される、書き込みステップと、
前記エンコーディングブロックのフレーム内予測モードが、すべての前記参照予測モードと異なるとき、前記フレーム内予測モードの値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップと、を備えるエンコーディング方法。
【請求項２】
請求項１に記載のエンコーディング方法であって、前記予測モードの組は３５種類の予測モードを含み、前記フレーム内予測モードの値の範囲は０乃至３４であり、そして、前記参照予測モードの値の範囲は０乃至３４である、エンコーディング方法。
【請求項３】
請求項２に記載のエンコーディング方法であって、前記現フレーム内エンコーディングブロックの参照予測モードを取得する前記ステップは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って第１の参照予測モードと第２の参照予測モードを取得するステップを含む、エンコーディング方法。
【請求項４】
請求項３に記載のエンコーディング方法であって、前記、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って第１の参照予測モードと第２の参照予測モードを取得するステップは、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが異なるならば、前記上のブロックと前記左のブロックのフレーム内予測モードを、前記現フレーム内エンコーディングブロックの前記第１の参照予測モードおよび前記第２の参照予測モードとして採用するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが同じならば、前記現フレーム内エンコーディングブロックの前記上のブロックまたは前記左のブロックのフレーム内予測モードを前記第１の参照予測モードとして採用し、前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組内の予測モードの中から予測モードを選択するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックが利用可能でない隣接ブロックであるならば、前記第１の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記上のブロックの予測モードを採用し、前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するステップ、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、前記第１の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記左のブロックの予測モードを採用し、前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するステップ、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能でない隣接ブロックであるならば、前記第１の参照予測モード及び前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から２つの予測コードを選択するステップ、を含む、エンコーディング方法。
【請求項５】
請求項４に記載のエンコーディング方法であって、前記、前記フレーム内予測モードの値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップは、
もし、前記フレーム内予測モードの値が、１つだけの参照予測モードの値より大きいならば、前記フレーム内予測モードの値から１を引いた結果を、前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの値が、２つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの値から２を引いた結果を、前記予測モードエンコーディング値として採用するステップと、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むステップであり、もし、前記予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、前記モードエンコードされたビットは「１１１１１」であり、第３のフラグビットが前記コードストリームにさらに書き込まれ、前記第３のフラグビットは前記予め設定された組における前記予測モードエンコーディング値の値を示すために使用される、書き込みステップと、を含む、エンコーディング方法。
【請求項６】
請求項２に記載のエンコーディング方法であって、前記現フレーム内エンコーディングブロックの参照予測モードを取得する前記ステップは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、または、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードと予め設定された第３の参照予測モードとに従って、３つの参照予測モードを取得するステップを含む、エンコーディング方法。
【請求項７】
請求項６に記載のエンコーディング方法であって、前記、前記フレーム内予測モードの前記値と前記参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするステップは、
もし、前記フレーム内予測モードの前記値が、前記３つの参照予測モードの１つだけの値より大きいならば、前記フレーム内予測モードの前記値から１を引いた結果を前記予測モードエンコーディング値として採用し、もし、前記フレーム内予測モードの前記値が、前記３つの参照予測モードの２つの値よりも大きいならば、前記フレーム内予測モードの前記値から２を引いた結果を前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの前記値が、前記３つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの前記値から３を引いた結果を前記予測モードエンコーディング値として採用するステップと、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むステップと、を含む、エンコーディング方法。
【請求項８】
フレーム内予測モードのデコーディングをするためのデコーディング方法であって、
コードストリームから第１のフラグビットを取得し、前記第１のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードと同じか否かを示すために使用され、前記第１のフラグビットが、前記現フレーム内デコーディングブロックの前記フレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従って前記コードストリームからモードエンコードされたビットを取得するステップであり、前記フレーム内予測モードは、前記フレーム内デコーディングブロックがピクセルデコードされるときに採用される予測モードである、取得ステップと、ここで、現フレーム内デコーディングブロックは、異なるサイズの複数のフレーム内デコーディングブロックの一つであり、前記異なるサイズは、４ｘ４、８ｘ８、１６ｘ１６、３２ｘ３２、および６４ｘ６４を含み、予め設定された予測モードの組の各予測モードは、前記現フレーム内デコーディングブロックの前記サイズにかかわらない前記現フレーム内デコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、３５の予測モードからなる同じ予測モードの組を使用し、前記モードエンコードされたビットに従って予測モードエンコーディング値を取得するステップと、
前記フレーム内予測ブロックの参照予測モードを取得するステップであり、前記参照予測モードは、前記現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、取得ステップと、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得するステップと、を含むデコーディング方法。
【請求項９】
請求項８に記載のデコーディング方法であって、前記固定ビット数は５である、デコーディング方法。
【請求項１０】
請求項９に記載のデコーディング方法であって、前記モードエンコードされたビットに従って予測モードエンコーディング値を取得する前記ステップは、
前記エンコードされたビットが「１１１１１」でないときは、前記予測モードエンコーディング値は前記エンコードされたビットに等しいと判断するステップと、
前記エンコードされたビットが「１１１１１」であるときは、前記コードストリームから第３のフラグビットを取得し、前記第３のフラグビットに従って、前記予め設定された組から前記予測モードエンコーディング値を取得するステップと、を含む、デコーディング方法。
【請求項１１】
請求項１０に記載のデコーディング方法であって、前記フレーム内予測ブロックの参照予測モードを取得するステップは、２つの参照予測モードを取得する前記ステップを含み、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得する前記ステップは、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値に等しいと判断するステップと、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの１つだけの値以上であるならば、前記予測モードエンコーディング値に１を加えた結果が前記フレーム内予測モードであると判断するステップと、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの値以上であるならば、前記予測モードエンコーディング値に２を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、を含む、デコーディング方法。
【請求項１２】
請求項９に記載のデコーディング方法であって、前記フレーム内予測ブロックの参照予測モードを取得する前記ステップは、３つの参照予測モードを取得するステップを含み、
前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得する前記ステップは、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値と等しいと判断するステップと、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードのただ１つの値以上ならば、前記予測モードエンコーディング値に１を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの２つだけの値以上ならば、前記予測モードエンコーディング値に２を加えた結果が前記フレーム内予測モードの前記値であると判断するステップと、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの値以上ならば、前記予測モードエンコーディング値に３を加えた結果の結果が前記フレーム内予測モードの前記値であると判断するステップと、を含む、デコーディング方法。
【請求項１３】
エンコーディング装置であって、
予め設定された予測モードの組から、現フレーム内エンコーディングブロックのフレーム内予測モードを取得し、前記現フレーム内エンコーディングブロックの参照予測モードを取得するように構成された予測モジュールであり、前記参照予測モードは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードであり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、予測モジュールと、ここで、前記現フレーム内エンコーディングブロックは、異なるサイズの複数のフレーム内エンコーディングブロックの一つであり、前記異なるサイズは、４ｘ４、８ｘ８、１６ｘ１６、３２ｘ３２、および６４ｘ６４を含み、前記予め設定された予測モードの組の各予測モードは、前記現フレーム内エンコーディングブロックの前記サイズにかかわらない前記現フレーム内エンコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、３５の予測モードからなる同じ予測モードの組を使用し、
前記参照予測モードと前記フレーム内予測モードとに従って第１のフラグビットをコードストリームに書き込むように構成されたフラグモジュールであり、前記第１のフラグビットは、前記フレーム内予測モードが前記参照予測モードの中の１つと同じか否かを示すために使用される、フラグモジュールと、
前記エンコーディングブロックの前記フレーム内予測モードが、すべての前記参照予測モードと異なるとき、前記フレーム内予測モードの前記値と前記参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得し、前記予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュールと、を備えるエンコーディング装置。
【請求項１４】
請求項１３に記載のエンコーディング装置であって、前記予測モードの組は３５種類の予測モードを含み、前記フレーム内予測モードの値の範囲は０乃至３４であり、前記参照予測モードの値の範囲は０乃至３４である、エンコーディング装置。
【請求項１５】
請求項１４に記載のエンコーディング装置であって、前記予測モジュールは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、第１の参照予測モードと第２の参照予測モードを取得するように構成された、エンコーディング装置。
【請求項１６】
請求項１５に記載のエンコーディング装置であって、前記予測モジュールは、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが異なるならば、前記上のブロックと前記左のブロックのフレーム内予測モードを、前記現フレーム内エンコーディングブロックの前記第１の参照予測モードおよび前記第２の参照予測モードとして採用するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能な隣接ブロックであり、前記現フレーム内エンコーディングブロックの前記上のブロックと前記左のブロックのフレーム内予測モードが同じならば、前記現フレーム内エンコーディングブロックの前記上のブロックまたは前記左のブロックのフレーム内予測モードを前記第１の参照予測モードとして採用し、前記予め設定されたバックアップ参照モードの組から前記第２の参照予測モードを取得するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックが利用可能でない隣接ブロックであるならば、前記第１の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記上のブロックの予測モードを採用し、前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するか、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、前記第１の参照予測モードとして、前記現フレーム内エンコーディングブロックの前記左のブロックの予測モードを採用し、前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から予測モードを選択するか、または、
もし、前記現フレーム内エンコーディングブロックの上のブロックと左のブロックとが共に、利用可能でない隣接ブロックであるならば、前記第１の参照予測モード及び前記第２の参照予測モードとして、前記予め設定されたバックアップ参照モードの組から２つの予測コードを再選択する、ように構成された、エンコーディング装置。
【請求項１７】
請求項１６に記載のエンコーディング装置であって、前記予測モードエンコーディングモジュールは、
もし、前記フレーム内予測モードの値が、１つだけの参照予測モードの値より大きいならば、前記フレーム内予測モードの値から１を引いた結果を、前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの値が、２つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの値から２を引いた結果を、前記予測モードエンコーディング値として採用し、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込み、もし、前記予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、前記モードエンコードされたビットは「１１１１１」であり、第３のフラグビットが前記コードストリームにさらに書き込まれ、前記第３のフラグビットは前記予め設定された組における前記予測モードエンコーディング値の値を示すために使用される、ように構成された、エンコーディング装置。
【請求項１８】
請求項１４に記載のエンコーディング装置であって、前記予測モジュールは、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って、または、前記現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードと予め設定された第３の参照予測モードとに従って、３つの参照予測モードを取得するように構成された、エンコーディング装置。
【請求項１９】
請求項１８に記載のエンコーディング装置であって、前記予測モードエンコーディングモジュールは、
もし、前記フレーム内予測モードの値が、前記３つの参照予測モードの１つだけの値より大きいならば、前記フレーム内予測モードの前記値から１を引いた結果を前記予測モードエンコーディング値として採用し、もし、前記フレーム内予測モードの前記値が、前記３つの参照予測モードの２つの値よりも大きいならば、前記フレーム内予測モードの前記値から２を引いた結果を前記予測モードエンコーディング値として採用し、そして、もし、前記フレーム内予測モードの前記値が、前記３つの参照予測モードの値よりも大きいならば、前記フレーム内予測モードの前記値から３を引いた結果を前記予測モードエンコーディング値として採用し、
モードエンコードされたビットを得るために、固定ビット数を使って前記予測モードエンコーディング値をエンコードし、前記モードエンコードされたビットを前記コードストリームに書き込むように構成された、エンコーディング装置。
【請求項２０】
デコーディング装置であって、
第１のフラグビットをコードストリームから取得するコードストリーム読み込みモジュールであり、前記第１のフラグビットは、現フレーム内エンコーディングブロックのフレーム内予測モードが参照予測モードと同じか否かを示すために使用され、そして、前記第１のフラグビットが、前記現フレーム内デコーディングブロックの前記フレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従って前記コードストリームからモードエンコードされたビットを取得し、前記フレーム内予測モードは、前記フレーム内デコーディングブロックがピクセルデコードされるときに採用される予測モードである、コードストリーム読み込みモジュールと、ここで、前記現フレーム内デコーディングブロックは、異なるサイズの複数のフレーム内デコーディングブロックの一つであり、前記異なるサイズは、４ｘ４、８ｘ８、１６ｘ１６、３２ｘ３２、および６４ｘ６４を含み、予め設定された予測モードの組の各予測モードは、前記現フレーム内デコーディングブロックの前記サイズにかかわらない前記現フレーム内デコーディングブロックのための予測モードの候補であり、前記異なるサイズの現フレーム内エンコーディングブロックは、すべて、３５の予測モードからなる同じ予測モードの組を使用し、
前記フレーム内予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュールであり、前記参照予測モードは、前記現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、であり、前記予め設定されたバックアップ参照モードの組内のすべての予測モードは、前記予測モードの組に属し、前記現フレーム内エンコーディングブロックの前記利用可能な隣接ブロックの前記フレーム内予測モードは、現フレーム内エンコーディングブロックの前記フレーム内予測モードを取得するところの前記予め設定された予測モードの組と同一の前記予測モードの組から選択される、参照予測モード取得モジュールと、
前記モードエンコードされたビットに従って予測モードエンコーディング値を取得し、前記予測モードエンコーディング値と前記参照予測モードの値との間の大小関係に従って、前記現フレーム内デコーディングブロックの前記フレーム内予測モードを取得し、前記フレーム内予測モードに従って前記現フレーム内デコーディングブロックをデコードするデコーディングモジュールと、を備えるデコーディング装置。
【請求項２１】
請求項２０に記載のデコーディング装置であって、前記固定ビット数は５である、デコーディング装置。
【請求項２２】
請求項２１に記載のデコーディング装置であって、前記デコーディングモジュールは、
前記エンコードされたビットが「１１１１１」でないときは、前記予測モードエンコーディング値は前記エンコードされたビットに等しいと判断し、そして、
前記エンコードされたビットが「１１１１１」であるときは、前記コードストリームから第３のフラグビットを取得し、前記第３のフラグビットに従って、前記予め設定された組から前記予測モードエンコーディング値を取得するように構成された、デコーディング装置。
【請求項２３】
請求項２２に記載のデコーディング装置であって、前記参照予測モード取得モジュールは、２つの参照予測モードを取得し、そして、
前記デコーディングモジュールは、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値に等しいと判断し、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの１つだけの値以上であるならば、前記予測モードエンコーディング値に１を加えた結果が前記フレーム内予測モードであると判断し、
もし、前記予測モードエンコーディング値が、前記２つの参照予測モードの値以上であるならば、前記予測モードエンコーディング値に２を加えた結果が前記フレーム内予測モードの前記値であると判断するように構成された、デコーディング装置。
【請求項２４】
請求項２２に記載のデコーディング装置であって、前記参照予測モード取得モジュールは、３つの参照予測モードを取得し、そして、
前記デコーディングモジュールは、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの値より小さいならば、前記フレーム内予測モードの値は、前記予測モードエンコーディング値と等しいと判断し、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードのただ１つの値以上ならば、前記予測モードエンコーディング値に１を加えた結果が前記フレーム内予測モードの前記値であると判断し、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの２つだけの値以上ならば、前記予測モードエンコーディング値に２を加えた結果が前記フレーム内予測モードの前記値であると判断し、
もし、前記予測モードエンコーディング値が、前記３つの参照予測モードの値以上ならば、前記予測モードエンコーディング値に３を加えた結果の結果が前記フレーム内予測モードの前記値であると判断するように構成された、デコーディング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオイメージのエンコーディングおよびデコーディングのための方法および装置に関する。
【背景技術】
【０００２】
ビデオイメージのエンコーディングとビデオイメージのデコーディングと、その両方の期間中、イメージブロックを分割することによって得られる予測ユニットが予測される必要がある。予測期間中、利用可能な予測モードは、通常、予測ブロックに対して、予測ブロックのサイズに応じて予め決められており、その結果、ビデオのエンコーディング期間中、異なるサイズの予測ブロックに対して、異なる数の利用可能な予測モードがある。表１に示されるように、予測ブロックのサイズが４×４のときは、フレーム内（intra-frame）予測モード（CurrMode）は、予測モード０〜１７から選択され、予測ブロックのサイズが８×８、１６×１６、３２×３２のときは、現フレーム内予測モードは予測モード０〜３５から選択され、そして、６４×６４の予測ブロックに対しては、フレーム内予測モードは、予測モード０〜３だけから選択されることができる。
【表１】
0005969608.tif 000002
【０００３】
エンコーディング処理において、予測ブロックの現フレーム内予測モードが決定された後、さらに、現フレーム内予測モード番号のためのエンコーディングスキーム（例えば、エンコーディングのために５ビットまたは４ビットを使用）が、予測ブロックのサイズに応じて決定される必要がある。デコーディング処理において、コードストリーム中の現フレーム内予測モード番号の情報によって占有されるビットの数を決定するための特定のロジックが定義されている。これは、エンコーディングおよびデコーディングの効率に影響する。
【発明の概要】
【０００４】
本発明はエンコーディング方法を提供する。エンコーディング方法は、予め設定された予測モードの組の中から現フレーム内エンコーディングブロックのフレーム内予測モードを取得するステップであり、フレーム内予測モードは、現フレーム内エンコーディングブロックがピクセルエンコードされる（pixel-encoded）ときに採用される予測モードである、取得ステップと、現フレーム内エンコーディングブロックの参照予測モードを取得する取得ステップであり、参照予測モードは、現フレーム内エンコーディングブロックの利用可能な隣接ブロック（available  adjacent  blocks）のフレーム内予測モード、または、予め設定されたバックアップ参照モードの組内の予測モード、である、取得ステップと、参照予測モードとフレーム内予測モードに応じて第１のフラグビットをコードストリームに書き込むステップであり、第１のフラグビットはフレーム内予測モードが参照予測モードの中の１つと同じか否かを示すために使用される、書き込みステップと、そして、エンコーディングブロックのフレーム内予測モードが、すべての参照予測モードと異なるとき、フレーム内予測モードの値と参照予測モードとの間の大小関係に応じて予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするステップと、を含む。
【０００５】
本発明はまた、デコーディング方法も提供する。デコーディング方法は、コードストリームから第１のフラグビットを取得するステップであり、第１のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードの中の１つと同じか否かを示すために使用される、取得ステップと、第１のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードがすべての参照予測モードと異なることを示すときは、固定ビット数に従って、コードストリームからモードエンコードされた（mode  encoded）ビットを取得するステップであり、フレーム内予測モードは、フレーム内デコーディングブロックがピクセルデコードされる（pixel-decoded）ときに採用される予測モードである、取得ステップと、モードエンコードされたビットに従って予測モードエンコーディング値を取得するステップと、フレーム内デコーディングブロックの参照予測モードを取得するステップであり、参照予測モードは、現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードである、取得ステップと、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレーム内デコーディングブロックのフレーム内予測モードを取得するステップと、を含む。
【０００６】
本発明はさらに、本発明において提供されるエンコーディング方法を使用するエンコーディング装置を提供する。エンコーディング装置は、予め設定された予測モードの組から、現フレーム内エンコーディングブロックのフレーム内予測モードを取得し、現フレーム内エンコーディングブロックの参照予測モードを取得するように構成された予測モジュールであり、参照予測モードは、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードであり、予め設定されたバックアップ参照モードの組内のすべての予測モードは、予測モードの組に属する、予測モジュールと、参照予測モードとフレーム内予測モードとに従って第１のフラグビットをコードストリームに書き込むように構成されたフラグモジュールであり、第１のフラグビットは、フレーム内予測モードが、参照予測モードの中の１つと同じか否かを示すために使用される、フラグモジュールと、エンコーディングブロックのフレーム内予測モードが、すべての参照予測モードと異なるとき、フレーム内予測モードの値と参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュールと、を含む。
【０００７】
本発明はさらに、本発明のデコーディング方法を使用したデコーディング装置を提供する。デコーディング装置は、第１のフラグビットをコードストリームから取得するコードストリーム読み込みモジュールであり、第１のフラグビットは、現フレーム内エンコーディングブロックのフレーム内予測モードが参照予測モードと同じか否かを示すために使用され、そして、第１のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従ってコードストリームからモードエンコードされたビットを取得し、フレーム内予測モードは、フレーム内デコーディングブロックがピクセルデコードされたときに採用された予測モードである、コードストリーム読み込みモジュールと、フレーム内予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュールであり、参照予測モードは、現フレーム内デコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードか、である、参照予測モード取得モジュールと、モードエンコードされたビットに従って予測モードエンコーディング値を取得し、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレーム内デコーディングブロックのフレーム内予測モードを取得し、フレーム内予測モードに従って現フレーム内デコーディングブロックをデコードするデコーディングモジュールと、を含む。
【０００８】
本発明によって提供されるエンコーディング方法を使用することにより、エンコーディング及びデコーディングシステムの判定ロジックは節約されることができる。そして、それによって、エンコーディングとデコーディングの効率は改善される。
【図面の簡単な説明】
【０００９】
本発明の実施例における技術的解決策をより明確に示すために、以下に、実施例または従来技術を説明するために必要な添付図を簡単に説明する。明らかに、以下の説明における添付図は、本発明のいくつかの実施例を示すに過ぎず、当業者は、これらの添付図から、創造的努力を要せずに、他の図をまだまだ導出し得る。
【図１】本発明の一実施例に応じたエンコーディング方法の概略図
【図２】イメージブロックと、それに隣接するブロックとの位置関係の概略図
【図３】本発明の一実施例に応じたデコーディング方法の概略図
【図４】本発明の一実施例に応じたエンコーディング装置の概略図
【図５】本発明の一実施例に応じたデコーディング装置の概略図
【発明を実施するための形態】
【００１０】
以下では、本発明の実施例における技術的解決策が、本発明における添付図を参照しながら、明確および完全に説明される。明らかに、説明される実施例は、本発明のすべての実施例というよりも、単なる一部に過ぎない。本発明の実施例に基づいて、当業者が創造的努力を要せずに得ることのできるすべての他の実施例は、本発明の保護範囲に含まれる。
【００１１】
図１を参照して、本発明の一実施例は、いかなる現フレーム内エンコーディングブロックをもエンコーディングするための方法を提供する。この方法は、以下のステップを含む。
【００１２】
ステップ１０１：予め設定された予測モードの組の中から現フレーム内エンコーディングブロックのフレーム内予測モードを取得する。
【００１３】
本発明の実施例では、異なるサイズの現フレーム内エンコーディングブロックのフレーム内予測モードは、同じ予測モードの組から由来する。
【００１４】
エンコーディング端では、フレーム内予測モードは、イメージブロックがピクセルエンコードされるときに採用される予測モードである。もし、フレーム内予測モードが、デコーディング端で、イメージブロックがピクセルデコードされるときに採用される予測モードならば、デコーディング予測モードとも呼ばれ得る。
【００１５】
ステップ１０２：現フレーム内エンコーディングブロックの参照予測モードを取得する。
【００１６】
参照予測モードは、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードか、または、予め設定されたバックアップ参照モードの組内の予測モードであり、予め設定されたバックアップ参照モードの組内のすべての予測モードは、予測モードの組に属する。
【００１７】
ステップ１０３：参照予測モードに従ってフレーム内予測モードをエンコードし、第１のフラグビットをコードストリームに書き込む。ここで、第１のフラグビットは、フレーム内予測モードが参照予測モードのうちの１つと同じか否かを示すために使用される。
【００１８】
ステップ１０４：フレーム内予測モードが、参照予測モードのすべてと異なるとき、フレーム内予測モードの値と、参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードする。
【００１９】
本発明の実施例において、もし、現フレーム内エンコーディングブロックが、隣接するブロックのフレーム内予測モードに従って２つの参照予測モード（第１の参照予測モードと第２の参照予測モード）を取得したならば、フレーム内予測モードの値と参照予測モードの値との間の大小関係に従って予測モードエンコーディング値を取得して予測モードエンコーディング値のエンコーディングをすることは、以下のステップを含む。
【００２０】
ステップ１０４ａ：もし、フレーム内予測モードの値が、たった１つの参照予測モードの値よりも大きいならば、予測モードエンコーディング値は、フレーム内予測モードの値引く１に等しく、もし、フレーム内予測モードの値が、２つの参照予測モードの値よりも大きいならば、フレーム内予測モードから２を引いた結果を予測モードエンコーディング値として採用する。
【００２１】
ステップ１０４ｂ：固定ビット数を使って予測モードエンコーディング値をエンコードしてモードエンコードされたビット（mode  encoded  bits）を得て、モードエンコードされたビットをコードストリームに書き込む。ここで、もし、予測モードエンコーディング値のバイナリコード長が、固定ビット数よりも大きいならば、モードエンコードされたビットのすべては１であり、第３のフラグビットがコードストリームに書き込まれる。ここで第３のフラグビットは、予め設定された組内の予測モードエンコーディング値の値を示すために使用される。
【００２２】
本発明の実施例において、現フレーム内のエンコーディングブロック（すなわち、フレーム内エンコーディング予測ブロック）のサイズにかかわらず、フレーム内予測モードは、画一的なフレーム内予測モードの中から選択される。具体的には、ＨＥＶＣ規格は、利用可能な隣接ブロックのエンコードされたピクセル値に従って現フレーム内エンコーディングブロックの予測ピクセル値を得るための３５種類の予測モードを与える。エンコーディング中、３５種類の予測モードは、フレーム内エンコーディングブロックの利用可能な隣接ブロックに従って予測を実行するために逐次選択される。３５種類の予測モードの結果は比較され、予測ピクセル値と実際のイメージピクセル値との差が最も小さい予測モードが、フレーム内予測モードとして選択される。フレーム内予測モードの値の範囲は０から３４、すなわち、０以上３４以下である。現フレーム内エンコーディングブロックとその利用可能な隣接ブロックとは同じ予測モードの組に従って予測されるので、参照予測モードの値の範囲もまた、０から３４である。もちろん、別のオプションの実施例においては、予測モードの組における予測モードの種類および数は、技術の発展に従って調整され得る。そして、予測モードの組における予測モードの数は、必要に応じて調整され得る。
【００２３】
本発明の実施例において、参照予測モードは、現フレームエンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードである。利用可能な隣接ブロックは、以下の条件を満たす必要がある。１．現フレーム内エンコーディングブロックと同じ筋（stripe）の中に入っていること。２．すでにエンコードされていること（デコーディング処理の場合、利用可能な隣接ブロックは、デコードされている必要がある）。例えば、現在、業界内で一般に採用されているエンコーディングおよびデコーディング順序は、上から下、および、左から右、である。したがって、もし、現フレーム内エンコーディングブロックと同じ筋の中に入っているならば、現フレーム内エンコーディングブロックの左のブロックと上のブロックは、現フレーム内エンコーディングブロックの利用可能な隣接ブロックとして選択され得る。上記の条件を満たさない、現フレーム内エンコーディングブロックの隣接ブロックは、利用可能でない隣接ブロックである。現フレーム内エンコーディングブロックと比較して左のブロックおよび上のブロックの位置については、図２が参照され得る。
【００２４】
参照予測モードの取得については、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードが、エンコーディング順序に従って現フレーム内エンコーディングブロックの参照予測モードとして採られうる。例えば、現在、業界で画一的に採用されているエンコーディングおよびデコーディング順序は、左から右、および、上から下である。したがって、もし、現フレーム内エンコーディングブロックの上のブロックと左のブロックが利用可能であれば、左のブロックと右のブロックの予測モードは現フレーム内エンコーディングブロックの参照予測モードとして採られる。もし、２つのうち１つが利用可能でないならば、予め設定されたバックアップ参照モードの組の中から、例えば、ＨＥＶＣ規格の中で規定されているＤＣ予測モードまたは平面予測モード（この２つは、ＨＥＶＣビデオエンコーディングおよびデコーディング標準で規定されている。特定の予測方法は本発明とは関係しない。そして、この明細書の中では説明されないであろう。）等の予測モードが、参照予測モードとして選択される。もし、現フレーム内エンコーディングブロックの上のブロックと左のブロックの両方が利用可能でないなら、参照予測モードはまた、予め設定されたバックアップ参照モードの組の中から選択され得る。もし、２つの参照予測モードが同一ならば、予め設定されたルールに従って、参照予測モードのうちの１つは、バックアップ参照モードの組内の１つの予測モードによって置換され得る。例えば、現フレーム内エンコーディングブロックの上のブロックと左のブロックのフレーム内予測モードの値がどちらも３４であることが想定される。そしてその時、現フレーム内エンコーディングブロックの参照予測モードの１つは３４であり、そして、バックアップ参照モードの組から、より小さい値、例えば０または３、が他の参照予測モードとして選択される。この点で、バックアップ参照モードの組内の予測モードは、「隣接ブロックが利用可能でない」状態や「複数の隣接ブロックのフレーム内予測モードが同じ」状態に対応する必要があるので、バックアップ参照モードの組内の予測モードは、さらに分割され得る。例えば、バックアップ参照モードの組は第１の参照の組と第２の参照の組に分割される。現ブロックの隣接ブロックが利用可能でないために特定の数の参照予測モードが提供できないとき、１つの予測モード（ＤＣ予測モードや平面予測モード等）が第１の参照の組の中から選択され得る。現ブロックの隣接ブロックのフレーム内予測モードが同じであるために特定の数の参照予測モードが提供できないとき、１つの予測モード（例えば、値が０または３の予測モード）が第２の参照の組の中から選択される。もちろん、必要であれば、参照モードの組は、もっと多くの状況に対応するために、もっと多くの組に分割され得る。そして、参照モードの組の中の予測モードは、第１の参照の組および第２の参照の組に同時に所属し得、同時に、別のタイプの参照の組に所属し得る。
【００２５】
ステップ１０４ａにおいて、仮にフレーム内予測モードの値がＣｕｒｒＭｏｄｅであるとすると、２つの参照予測モードの値は、それぞれ、第１の参照予測モードＭｏｄｅＡと第２の参照予測モードＭｏｄｅＢである。ＭｏｄｅＡとＭｏｄｅＢの値はデフォルトの順序の中で設定され得る。例えば、ＭｏｄｅＡは、左のブロックの参照予測モードに設定され得る。そしてＭｏｄｅＢは、上のブロックの参照予測モードであり得る。
【００２６】
もし、ＣｕｒｒＭｏｄｅ＝ＭｏｄｅＡまたはＣｕｒｒＭｏｄｅ＝ＭｏｄｅＢならば、それは、フレーム内予測モードが、参照予測モードの１つと等しいことを意味するが、第１のフラグビット（長さはおそらく１ビット）および第２のフラグビットがコードストリームに書き込まれる。第１のフラグビットは、現予測ユニットのフレーム内予測モードが参照予測モードの中の１つと同じか否かを示す。例えば、０は、フレーム内予測モードは、参照予測モードの中の１つと同じであることを示す。そして、１は、フレーム内予測モードは、参照予測モードのすべてと異なることを示す。第２のフラグビットは、フレーム内予測モードと等しい参照予測モードを示すために使用される。例えば、０は、ＣｕｒｒＭｏｄｅがＭｏｄｅＡと等しいことを示し、１は、ＣｕｒｒＭｏｄｅがＭｏｄｅＢに等しいことを示す。
【００２７】
もし、フレーム内予測モードが、２つの参照予測モードのいずれにも等しくないならば、フレーム内予測モードの予測モードエンコーディング値は、フレーム内予測モードの値と、参照予測モードの値との間の大小関係に従って得られる。ここで、もし、フレーム内予測モードの値が、参照予測モードの１つだけの値よりも大きいならば、予測モードエンコーディング値は、フレーム内予測モードの値引く１に等しく、そして、もし、第１の参照予測モードと第２の参照予測モードのどちらの値もフレーム内予測モードの値よりも小さいならば、予測モードエンコーディング値は、フレーム内予測モードの値引く２に等しい。フレーム予測モードと参照予測モードの両方の値は３４なので、予測モードエンコーディング値の値の範囲は０から３２である。明らかに、予測モードエンコーディング値の値の範囲が０から３１であるとき、予測モードエンコーディング値は、５ビットバイナリコードによって直接示すことができる。一方、３２のバイナリコードは６ビット必要である。したがって、予測モードエンコーディング値が３１および３２のとき、対応するモードエンコードされたビットは、いずれも１１１１１である。そしてその時、区別をするために、第３のフラグビットに対応する値がコードストリームに書き込まれる。例えば、予測モードエンコーディング値は３１のとき、対応するモードエンコードされたビットは１１１１１であり、第３のフラグビットは０である。そして、予測モードエンコーディング値が３２のとき、対応するモードエンコードされたビットは１１１１１であり、第３のフラグビットは１である。もちろん、設定はまた、予測モードエンコーディング値が３１のとき、対応するモードエンコードされたビットは１１１１１で、第３のフラグビットは１、予測モードエンコーディング値が３２のとき、対応するモードエンコードされたビットは１１１１１で、第３のフラグビットは０であり得る。
【００２８】
例えば、現フレーム内予測モードが１２のとき、複数のフレーム内予測モードの最も可能性の高い値はそれぞれ１０および２０であることが想定される。１２−１＝１１。仮に固定ビット数が５であるとすると、フレーム内予測モードのエンコーディングの結果は、１１の５ビットバイナリコードの０１０１１である。もし、最も可能性の高いモードがそれぞれ１３および２０であるならば、フレーム内予測モードのエンコーディングの結果は、１２の５ビットバイナリコードの０１１００である。もし、最も可能性の高いモードがそれぞれ８および１０であるならば、フレーム内予測モードのエンコーディングの結果は、１０（１２−２）の５ビットバイナリコードの０１０１０である。
【００２９】
本発明の実施例において、異なるサイズの予測ブロックに対して同じ予測モードの組が設定されるため、フレーム内予測モードの値のエンコーディングの間、ほとんどの場合、５ビットだけの固定ビット数を使うことにより、予測モードエンコーディング値がエンコードされ得る。加えて、フレーム内予測モードをエンコードするための固定ビット数を決定するための追加の判定ロジックを設定することは不要である。それによって、システムリソースが節約される。
【００３０】
別の任意の実施例において、同様に、予測モードの組内の予測モードの数が３５であることが想定される。モードエンコードされたビットの値の範囲は０から３１までだけであるという問題を解決するために、３つの参照予測モードが現フレーム内エンコーディングブロックに対して設定され得る。例えば、利用可能な隣接ブロックの上のブロック、左のブロック、および、左上のブロックの予測モードが、参照予測モードとして採用されるか、または、利用可能な左のブロックと上のブロックのフレーム内予測モードが使用されるという前提で、予め定義された予測モードが第３の参照予測モードとして設定されるか、である。同様に、利用可能な隣接ブロックのフレーム内予測モードが同一であるとき、参照予測モードは参照モードの組から補充される。予測モードエンコーディング値を取得する処理において、予測モードエンコーディング値が得られるように、フレーム内予測モードよりも小さい参照予測モードの数に従って、フレーム内予測モードの値から１を引く演算が実行される。３つの参照予測モードがあり、フレーム内予測モードの値の範囲と３つの参照予測モードの値の範囲とは、いずれも０から３４であるため、予測モードエンコーディング値の値の範囲は０から３１である。つまり、本発明の実施例において、ステップ１０２において、現フレーム内エンコーディングブロックの参照予測モードを取得するステップは、現フレーム内エンコーディングブロックの３つの参照予測モードを取得するステップを含み、ステップ１０４において、フレーム内予測モードが参照予測モードのすべてと異なるとき、予測モードエンコーディング値を、フレーム内予測モードの値と参照予測モードの値との間の大小関係にしたがって取得し、予測モードエンコーディング値をエンコードするステップは、以下のステップを含む。
【００３１】
ステップ１０４ａ’：もし、フレーム内予測モードの値が、ただ１つの参照予測モードの値よりも大きいならば、フレーム内予測モードの値から１を引いた結果を予測モードエンコーディング値として採用する。もし、フレーム内予測モードの値が、２つの参照予測モードの値よりも大きいならば、フレーム内予測モードの値から２を引いた結果を予測モードエンコーディング値として採用する。そして、もし、フレーム内予測モードの値が、３つの参照予測モードの値よりも大きいならば、フレーム内予測モードの値から３を引いた結果を予測モードエンコーディング値として採用する。
【００３２】
ステップ１０４ｂ’：モードエンコードされたビットを得るために、固定ビット数を使って、予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込む。
【００３３】
図３を参照して、本発明の一実施例は、デコーディング方法をさらに提供する。該方法は、以下のステップを含む。
【００３４】
ステップ３０１：コードストリームから最初のフラグビットを取得する。最初のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードが、参照予測モードと同じか否かを示し、最初のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードと異なることを示すとき、固定ビット数に従って、コードストリームの中からモードエンコードされたビットを取得する。
【００３５】
ステップ３０２：モードエンコードされたビットに従って予測モードエンコード値を取得する。
【００３６】
ステップ３０３：フレーム内予測ブロックの参照予測モードを取得する。
【００３７】
ステップ３０４：予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレーム内デコーディングブロックのフレーム内予測モードを取得する。
【００３８】
本発明の実施例において、エンコーディング端に対応して、異なるサイズの現フレーム内デコーディングブロックのフレーム内モードは、同じ予測モードの組から由来する。もちろん、エンコーディング端の予測モードの組は、デコーディング端の予測モードの組と同じか、または、対応する。
【００３９】
デコーディング端では、参照予測モードの取得は、エンコーディング端に対応し、そして、現フレーム内デコーディングブロックの利用可能な隣接ブロックのデコーディング予測モードを、現フレーム内エンコーディングブロックの参照予測モードとして採用するだけでよい。
【００４０】
エンコーディング端と同様に、本発明の実施例において、現フレーム内デコーディングブロックの利用可能な隣接ブロックは、以下の条件を満たす必要がある。１．現フレーム内デコーディングブロックと同じ筋（stripe）の中に入っていること。２．すでにデコードされていること。
【００４１】
もし、予測モードエンコーディング値が、すべての参照予測モードの値以上であるならば、予測モードエンコーディング値に２を加えた結果が現フレーム内デコーディングブロックのフレーム内予測モードの値である、と決定される。もし、予測モードエンコーディング値が、２つの参照予測モードのうちの１つだけの値以上であるならば、予測モードエンコーディング値に１を加えた結果が現フレーム内デコーディングブロックのフレーム内予測モードの値である、と決定される。そして、もし、予測モードエンコーディング値が、すべての参照予測モードの値未満であるならば、予測モードエンコーディング値が現フレーム内デコーディングブロックのフレーム内予測モードの値として採用される。
【００４２】
本発明の実施例において、最初のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードが、参照予測モードの１つと同じであるとき、第２のフラグビットがコードストリームからさらに取得される。第２のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードと等しい参照予測モードを示すために使用される。
【００４３】
同様に、エンコードビットが「１１１１１」ではないとき、予測モードエンコーディング値はエンコードビットに等しい。そして、エンコードビットが「１１１１１」であるとき、第３のフラグビットがコードストリームから取得される。そして、第３のフラグビットに従って、予測モードエンコーディング値が予め設定された組から取得される。
【００４４】
エンコードビットが取得されるとき、本発明の一実施例において、エンコードビットが「１１１１１」ではないとき、予測モードエンコーディング値は、エンコードビットに等しい。そして、エンコードビットが「１１１１１」であるとき、第３のフラグビットがコードストリームから取得される。そして、予測モードエンコーディング値が、第３のフラグビットに従って、予め設定された組から取得される。それに対応して、フレーム内予測ブロックの参照予測モードを取得するステップは、２つの参照予測モードを取得するステップを含み、そして、予測モードエンコーディング値と参照予測モードの値との間の大小関係に従って、現フレーム内デコーディングブロックのフレーム内予測モードを取得するステップは、もし予測モードエンコーディング値が２つの参照予測モードの値よりも小さいならば、フレーム内予測モードの値は、予測モードエンコーディング値と等しい、と決定される。もし、予測モードエンコーディング値が、２つの参照予測モードの値のうちの１つ以上であるならば、予測モードエンコーディング値に１を加えた結果が、フレーム内予測モードの値であると決定される。そして、もし、予測モードエンコーディング値が、２つの参照予測モードの値以上であるならば、予測モードエンコーディング値に２を加えた結果がフレーム内予測モードであると決定される。
【００４５】
本発明の別の実施例において、３つの参照予測モードは直接取得される。そして、もし、予測モードエンコーディング値が、３つの参照予測モードの値未満であるならば、フレーム内予測モードの値は、予測モードエンコーディング値に等しい。もし、予測モードエンコーディング値が、３つの参照予測モードの１つだけの値以上であるならば、予測モードエンコーディング値に１を加えた結果がフレーム内予測モードの値である。もし、予測モードエンコーディング値が３つの参照予測モードの２つだけの値以上であるならば、予測モードエンコーディング値に２を加えた結果が、フレーム内予測モードの値である。そして、もし、予測モードエンコーディング値が３つの参照予測モードの値以上であるならば、予測モードエンコーディング値に３を加えた結果の結果が、フレーム内予測モードの値である。
【００４６】
フレーム内予測モードが取得された後、現フレーム内デコーディングブロックがフレーム内予測モードに従ってデコードされ得る。
【００４７】
本発明の実施例において提供されるエンコーディング方法およびデコーディング方法に対応して、本発明の実施例はさらに、対応するエンコーディング装置およびデコーディング装置を提供する。
【００４８】
図４を参照して、本発明の一実施例において提供されるエンコーディング装置は、予め設定された予測モードの組から現フレーム内エンコーディングブロックのフレーム内予測モードを取得し、現フレーム内エンコーディングブロックの利用可能な隣接ブロックのフレーム内予測モードに従って現フレーム内エンコーディングブロックの参照予測モードを取得するように構成された予測モジュール４０１と、参照予測モードとフレーム内予測モードとに従って第１のフラグビットをコードストリームに書き込むように構成されたフラグモジュール４０２であり、第１のフラグビットは、フレーム内予測モードが、参照予測モードの１つと同じであるか否かを示すために使用される、フラグモジュール４０２と、エンコーディングブロックのフレーム内予測モードが、参照予測モードのすべてと異なっているとき、フレーム内予測モードの値と参照予測モードの値との間の大小関係に従って、予測モードエンコーディング値を取得し、予測モードエンコーディング値をエンコードするように構成された予測モードエンコーディングモジュール４０３と、を含む。
【００４９】
予測モジュール４０１、フラグモジュール４０２、および、予測モードエンコーディングモジュール４０３の具体的な動作結果は、本発明の実施例において提供されるエンコーディング方法におけるものと同様である。
【００５０】
例えば、予測モードの組内の予測モードの数は、それでも３５であると想定される。
【００５１】
本発明の一実施例において、予測モジュール４０１は、具体的に、現フレーム内エンコーディングブロックの利用可能な隣接ブロックに従って、第１の参照予測モードと第２の参照予測モードとを取得するように構成されている。
【００５２】
もし、現フレーム内エンコーディングブロックの上のブロックと左のブロックが、両方とも利用可能な隣接ブロックであり、現フレーム内エンコーディングブロックの上のブロックと左のブロックのフレーム内予測モードが異なるなら、上のブロックと左のブロックのフレーム内予測モードが、現フレーム内エンコーディングブロックの第１の参照予測モードおよび第２の参照予測モードとして採られる。そして、もし、利用可能な隣接ブロックに従って、現フレーム内エンコーディングブロックに対して十分な参照予測モードが取得できないなら、数を揃えるために、予め設定された参照モードが参照予測モードとして採用され得る。具体的には、
もし、現フレーム内エンコーディングブロックの上のブロックと左のブロックが利用可能な隣接ブロックであり、現フレーム内エンコーディングブロックの上のブロックと左のブロックのフレーム内予測モードが同一であるならば、現フレーム内エンコーディングブロックの上のブロックまたは左のブロックのフレーム内予測モードが第１の参照予測モードとして採られ、予め設定された予測モードが第２の参照予測モードとして予測モードの組から選択されるか、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能な隣接ブロックであり、一方、左のブロックは利用可能でない隣接ブロックであるならば、現フレーム内エンコーディングブロックの上のブロックの予測モードが第１の参照予測モードとして採られ、予め設定されたバックアップ参照モードの組から１つの予測モードが、第２の参照予測モードとして選択されるか、または、
もし、現フレーム内エンコーディングブロックの上のブロックが利用可能でない隣接ブロックであり、一方、左のブロックが利用可能な隣接ブロックであるならば、現フレーム内エンコーディングブロックの左のブロックの予測モードが第１の参照モードとして採用され、予め設定されたバックアップ参照モードの組の中から１つの予測モードが第２の参照予測モードとして選択されるか、または、
もし、現フレーム内エンコーディングブロックの上のブロックと左のブロックの両方が、利用可能でない隣接ブロックであるならば、２つの予測モードは、予め設定されたバックアップ参照モードの組の中から、第１の参照予測モードおよび第２の参照予測モードとして、再選択される。
【００５３】
予測モードエンコーディングモジュール４０３は、具体的には、もし、フレーム内予測モードの値が参照予測モードのただ１つの値より大きいならば、フレーム内予測モードから１を引いた結果を予測モードエンコーディング値として採用し、もし、フレーム内予測モードの値が、２つの参照予測モードの値より大きいならば、フレーム内予測モードから２を引いた結果を予測モードエンコーディング値として採用し、モードエンコードされたビットを得るために、固定ビット数を使用して予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込む。ここで、もし、予測モードエンコーディング値のバイナリコード長が固定ビット数よりも大きいならば、モードエンコードされたビットは「１１１１１」であり、第３のフラグビットがさらにコードストリームに書き込まれる。ここで、第３のフラグビットは予め設定された組内の予測モードエンコーディング値の値を示すために使用されるように構成される。
【００５４】
本発明の他の実施例において、予測モジュール４０１は、具体的には、現フレーム内エンコーディングブロックの利用可能な隣接ブロックに従って３つの参照予測モードを取得するように構成される。
【００５５】
本発明の他の実施例において、予測モードエンコーディングモジュール４０３は、具体的には、
もし、フレーム内予測モードの値が、３つの参照予測モードのうちの１つだけの値より大きいならば、フレーム内予測モードの値から１を引いた結果を予測モードエンコーディング値として採用し、もし、フレーム内予測モードの値が、３つの参照予測モードのうちの２つの値より大きいならば、フレーム内予測モードの値から２を引いた結果を予測モードエンコーディング値として採用し、そして、もし、フレーム内予測モードの値が、３つの参照予測モードの値より大きいならば、予測モードエンコーディング値はフレーム内予測モードの値引く３に等しいと判断し、そして、
モードエンコードされたビットを得るために、固定ビット数を使用して予測モードエンコーディング値をエンコードし、モードエンコードされたビットをコードストリームに書き込むように構成される。
【００５６】
図５を参照して、図５は、本発明の一実施例に従ったデコーディング装置の概略図である。本発明の実施例におけるデコーディング装置は、
第１のフラグビットをコードストリームから取得し、第１のフラグビットは、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードと同じであるか否かを示すために使用され、第１のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードが参照予測モードとは異なることを示すときは、固定ビット数に従ってコードストリームからモードエンコードされたビットを取得し、フレーム内予測モードは、フレーム内デコーディングブロックがピクセルデコードされたときに採用された予測モードであるように構成されたコードストリーム読込みモジュール５０１と、
フレーム内予測ブロックの参照予測モードを取得するように構成された参照予測モード取得モジュール５０２と、
モードエンコードされたビットに従って予測モードエンコーディング値を取得し、予測モードエンコーディング値と、参照予測モードの値との間の大小関係に従って、現フレーム内デコーディングブロックのフレーム内予測モードを取得し、フレーム内予測モードに従って、現フレーム内デコーディングブロックをデコードするように構成されたデコーディングモジュール５０３と、を含む。
【００５７】
コードストリーム読込みモジュール５０１、参照予測モード取得モジュール５０２、および、デコーディングモジュール５０３の具体的な動作方法は、本発明の実施例において提供されるデコーディング方法と同じである。
【００５８】
具体的には、固定ビット数は５である。
【００５９】
本発明の一実施例において、第１のフラグビットが、現フレーム内デコーディングブロックのフレーム内予測モードは参照予測モードとは異なることを示すとき、コードストリーム読込みモジュール５０１は以下のステップを実行する：もし、エンコードされたビットが「１１１１１」でないなら、予測モードエンコーディング値はエンコードビットに等しいと判断し、そして、もし、エンコードされたビットが「１１１１１」であるなら、コードストリームから１ビットを取得し、該ビットに従って予め設定された組から予測モードエンコーディング値を取得する。それに対応して、参照予測モード取得モジュール５０２は２つの参照予測モードを取得する。そして、デコーディングモジュール５０３は以下のステップを実行する：もし、予測モードエンコーディング値が２つの参照予測モードの値より小さいならば、フレーム内予測モードの値は予測モードエンコーディング値に等しいと判断し、もし、予測モードエンコーディング値が、２つの参照予測モードの１つだけの値以上であるならば、予測モードエンコーディング値に１を加えた結果がフレーム内予測モードの値であると判断し、そして、もし、予測モードエンコーディング値が２つの参照予測モードの値以上であるならば、予測モードエンコーディング値に２を加えた結果がフレーム内予測モードの値であると判断する。
【００６０】
本発明の他の実施例において、参照予測モード取得モジュール５０２は、３つの参照予測モードを取得する。そして、それに対応して、デコーディングモジュール５０３は以下のステップを実行する：もし、予測モードエンコーディング値が３つの参照予測モードの値より小さいならば、フレーム内予測モードの値は、予測モードエンコーディング値と等しいと判断し、もし、予測モードエンコーディング値が、３つの参照予測モードのうちの１つだけの値以上であるならば、予測モードエンコーディング値に１を加えた結果がフレーム内予測モードの値であると判断し、もし、予測モードエンコーディング値が、３つの参照予測モードのうちの２つだけの値以上であるならば、予測モードエンコーディング値に２を加えた結果がフレーム内予測モードの値であると判断し、そして、もし、予測モードエンコーディング値が、３つの参照予測モードの値以上であるならば、予測モードエンコーディング値に３を加えた結果の結果がフレーム内予測モードの値であると判断する。
【００６１】
上述の説明は、本発明の単なる特定の実施例に過ぎず、本発明の保護範囲を制限することを意図するものではない。本発明において開示された技術的範囲において、当業者によって容易に想到し得るいかなるバリエーションまたは置き換えは、本発明の保護範囲内に入る。したがって、本発明の保護範囲は、クレームの保護範囲次第である。
【図１】
0005969608.tif 000003
【図２】
0005969608.tif 000004
【図３】
0005969608.tif 000005
【図４】
0005969608.tif 000006
【図５】
0005969608.tif 000007