(57)【特許請求の範囲】
【請求項１】
ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、ステップと、
前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップと、
前記最初の処理順序を前記ビットストリームに書き込むステップと
を含み、
前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成する前記ステップが、
前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、ステップと、
前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記コードブロック群をエンコードするステップと
を含み、
前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップよりも前に、
前記コードブロックの複数の候補処理順序を決定するステップと、
前記複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
を更に含むエンコーディング方法。
【請求項２】
ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定する前記ステップが、
前記複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、前記各処理順序に対応する前記全コーディングコストが、前記各処理順序にしたがって前記複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、
全ての処理順序に対応する前記全コーディングコストの最小全コーディングコストに対応する処理順序が前記最初の処理順序であることを決定するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記コードブロックの複数の候補処理順序を決定する前記ステップが、前記コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む、請求項1に記載の方法。
【請求項５】
前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
を含む、請求項4に記載の方法。
【請求項６】
前記最初の処理順序を前記ビットストリームに書き込む前記ステップが、
前記最初の処理順序にしたがって前記コードブロック群のインデックスを配置するステップと、
前記コードブロック群の配置された前記インデックスをエンコードして、エンコードされた前記インデックスを前記ビットストリームに書き込むステップと
を含むか、又は、
前記最初の処理順序にしたがって前記コードブロック群の座標を配置するステップと、
前記コードブロック群の配置された前記座標をエンコードして、エンコードされた前記座標を前記ビットストリームに書き込むステップと
を含む、請求項1に記載の方法。
【請求項７】
前記コードブロック群のコーディングコストは、
前記コードブロック群をエンコードするために費やされるビットの量、又は、
前記コードブロック群の歪み
のうちの少なくとも1つを含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、ステップと、
前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、ステップと、
前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記ビットストリームをデコードするステップと
を含み、
前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップよりも前に、
前記コードブロックの複数の候補処理順序を決定するステップと、
前記複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
を更に含むデコーディング方法。
【請求項９】
前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップと
を含む、請求項8に記載の方法。
【請求項１０】
前記コードブロックの複数の候補処理順序を決定する前記ステップが、前記コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む、請求項8に記載の方法。
【請求項１１】
前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
を含む、請求項10に記載の方法。
【請求項１２】
ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する前記ステップが、
前記ビットストリームをデコードして前記複数のコードブロック群の配置されたインデックスを得るステップと、
前記複数のコードブロック群の前記インデックスの配置順序にしたがって前記最初の処理順序を決定するステップと
を含むか、又は、
前記ビットストリームをデコードして前記複数のコードブロック群の配置された座標を得るステップと、
前記複数のコードブロック群の前記座標の配置順序にしたがって前記最初の処理順序を決定するステップと
を含む、請求項8に記載の方法。
【請求項１３】
ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するように構成された決定ユニットであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、決定ユニットと、
前記決定ユニットによって決定された前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するように構成されたエンコーディングユニットと
を備え、
前記エンコーディングユニットは、前記決定ユニットによって決定された前記最初の処理順序を前記ビットストリームに書き込むように更に構成され、
前記エンコーディングユニットが、
前記決定ユニットを使用することによる前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定し、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当し、
前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記コードブロック群をエンコードする
ように更に構成され、
前記決定ユニットが、
前記コードブロックの複数の候補処理順序を決定し、
前記複数の候補処理順序と複数の位置関係との間の対応関係を決定する
ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、エンコーダ。
【請求項１４】
前記決定ユニットが、
前記複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定し、前記各処理順序に対応する前記全コーディングコストが、前記各処理順序にしたがって前記複数のコードブロック群がエンコードされるときのコーディングコストの和であり、
全ての処理順序に対応する前記全コーディングコストの最小全コーディングコストに対応する処理順序が前記最初の処理順序であることを決定する
ように更に構成される、請求項13に記載のエンコーダ。
【請求項１５】
前記決定ユニットが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの処理順序を決定する
ように更に構成される、請求項13に記載のエンコーダ。
【請求項１６】
前記決定ユニットが、前記コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される、請求項13に記載のエンコーダ。
【請求項１７】
前記決定ユニットが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定する
ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、請求項16に記載のエンコーダ。
【請求項１８】
前記エンコーディングユニットが、
前記最初の処理順序にしたがって前記コードブロック群のインデックスを配置し、
前記コードブロック群の配置された前記インデックスをエンコードして、エンコードされた前記インデックスを前記ビットストリームに書き込む
ように更に構成されるか、又は、
前記最初の処理順序にしたがって前記コードブロック群の座標を配置し、
前記コードブロック群の配置された前記座標をエンコードして、エンコードされた前記座標を前記ビットストリームに書き込む
ように更に構成される、請求項13に記載のエンコーダ。
【請求項１９】
前記コードブロック群のコーディングコストは、
前記コードブロック群をエンコードするために前記エンコーディングユニットによって費やされるビットの量、又は、
前記コードブロック群の歪み
のうちの少なくとも1つを含む、請求項13から18のいずれか一項に記載のエンコーダ。
【請求項２０】
ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するように構成された取得ユニットであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、取得ユニットと、
前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成された決定ユニットであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、決定ユニットと、
前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記ビットストリームをデコードするように構成されたデコーディングユニットと
を備え、
前記決定ユニットが、
前記コードブロックの複数の候補処理順序を決定し、
前記複数の候補処理順序と複数の位置関係との間の対応関係を決定する
ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係であるデコーダ。
【請求項２１】
前記決定ユニットが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの処理順序を決定する
ように更に構成される、請求項20に記載のデコーダ。
【請求項２２】
前記決定ユニットが、前記コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される、請求項20に記載のデコーダ。
【請求項２３】
前記決定ユニットが、
前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定する
ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、請求項22に記載のデコーダ。
【請求項２４】
前記取得ユニットが、
前記デコーディングユニットを使用して、前記ビットストリームをデコードして前記複数のコードブロック群の配置されたインデックスを得、
前記決定ユニットを使用して、前記複数のコードブロック群の前記インデックスの配置順序にしたがって前記最初の処理順序を決定する
ように更に構成されるか、又は、
前記デコーディングユニットを使用して、前記ビットストリームをデコードして前記複数のコードブロック群の配置された座標を得、
前記決定ユニットを使用して、前記複数のコードブロック群の前記座標の配置順序にしたがって前記最初の処理順序を決定する
ように更に構成される、請求項20に記載のデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、2014年2月18日に中国特許庁に出願された「ENCODING AND DECODING METHODS AND APPARATUSES」と題される中国特許出願公開第201410054130.3号明細書の優先権を主張するものであり、参照により、上記中国出願の全体が本明細書に組み入れられる。
【０００２】
本発明は、画像処理の分野に関し、特に、エンコーディング方法及び装置並びにデコーディング方法及び装置に関する。
【背景技術】
【０００３】
ビデオ圧縮コーディング技術は、マルチメディアサービス、ブロードキャスト通信、ビデオ通信、保存等の分野で幅広く使用される。国際電気通信連合−電気通信標準化部門（International Telecommunication Union-Telecommunication standardization sector，ITU-T）及び国際標準化機構（International Organization for Standardization，ISO）／国際電気標準会議（International Electrotechnical Commission，IEC）により合同で作成されたH.264標準規格及びアドバンスド・ビデオ・コーディング（AVC）標準規格が今日最も幅広く使用されるビデオコーディング標準規格である。しかしながら、H.264/AVCは、高解像度ビデオの圧縮コーディングに適用できない。高精細度ビデオ、超高精細度ビデオ、及び、3Dビデオに対する人々の需要が高まるにつれて、ビデオコーディングに関する共同作業チーム（Joint Collaborative Team on Video Coding，JCT-VC）が高効率ビデオコーディング（HEVC）標準規格を提唱しており、H.264/AVCと比べてHEVCの圧縮効率が約50％向上される。
【０００４】
HEVC標準規格では、エンコードされるべき画像が重なり合わない画像ブロックに分けられる。エンコーダは、各画像ブロックを連続的に処理するために順次走査を行う。前述の画像ブロックが複数のサブブロックに更に分けられる場合があり、また、各サブブロックのコーディングパラメータが各サブブロックごとに独立に決定される場合がある。HEVCの用語において、前述の重なり合わない画像ブロックは、コーディングツリーユニット（Coding Tree Unit，CTU）と称され、また、コーディングツリーユニットのサイズは一般に64×64ピクセルに設定される。CTUを複数のサブブロックへと更に分けるために四分木構造が使用される場合があり、その場合、サブブロックは一般にHEVCではコードユニット（CU）と称される。1つのCTU中のCUは、Z形状態様の走査順序でエンコードされ、また、1つのフレーム中の全てのCTUがライン走査の順序でエンコードされる。HEVCにおけるフレーム内予測モードは、直流予測、面内予測、及び、方向性予測を含む。エンコードされるべきブロックに関しては、このエンコードされるべきブロックよりも上側の左側で既に再構成されているコードブロックが予測のための基準として使用され、また、既に再構成されているブロックにおける予測のために使用されるピクセルが基準ピクセルと称される。直流予測は、画像中の平坦なテクスチャを伴う領域内のブロックに適用でき、また、ブロック中の全てのピクセルに関しては、基準ピクセルの平均値が予測子として使用される。面内予測において、基準ピクセルは、双線形補間作業を経由して1つのブロック中の全てのピクセルの予測子を得るために使用され、したがって、面内予測は、スムーズに変化するテクスチャを伴うブロックに適用できる。方向性予測では、現在のコードブロックに含まれるテクスチャが既に再構成されて現在のコードブロックに近いブロックに対して非常に関連付けられるという特徴が使用され、また、所定の方向に沿って、対応する基準ピクセルの値が、現在のブロックにおけるピクセルの予測子として複製される。
【０００５】
H.264/AVC標準規格では、コードブロックがマクロブロック（Macro Block，MB）と称され、マクロブロックのサイズは固定して16×16ピクセルであり、また、各マクロブロックは、予測コーディングのために4×4、8×8、又は、16×16サブマクロブロック（Sub Macro Block，SMB）のみに分けられ得る。MB及びSMBはそれぞれHEVCにおけるCTU及びCUに対応する。MBのエンコーディング順序はCTUのそれと同様であり、また、MB及びCTUの両方がライン走査の順序でエンコードされ、また、SMBのエンコーディング順序もZ形状態様での順次走査である。また、H.264/AVCにおけるフレーム内予測は平均予測及び方向性予測も使用するが、最大で9個の予測モードが存在する。
【０００６】
すなわち、画像が伝統的なビデオコーディング標準規格でエンコードされるときには、エンコードされるべき画像が最初に重なり合わないコードブロックに分けられ、その後、各ブロックが所定の順序（ライン走査の順序）で連続的にエンコードされ、その結果、比較的低いエンコーディング圧縮効率がもたらされる。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の実施態様は、ビデオ情報における空間相関を十分に利用でき、それにより、エンコーディング中及びデコーディング中に圧縮効率を向上させることができるエンコーディング方法及び装置並びにデコーディング方法及び装置を提供する。
【０００８】
第1の態様によれば、エンコーディング方法が提供され、本方法は、ターゲット画像の全コーディングコストにしたがって、ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップと、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップと、最初の処理順序をビットストリームに書き込むステップとを含む。
【０００９】
第1の態様に関連して、第1の態様の第1の実施態様において、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全て処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
【００１０】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第2の実施態様において、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップは、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
【００１１】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第3の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップよりも前に、本方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
【００１２】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第4の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
【００１３】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第5の実施態様において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
【００１４】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第6の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【００１５】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第7の実施態様において、最初の処理順序をビットストリームに書き込むステップは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含むか、又は、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
【００１６】
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第8の実施態様において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪み、のうちの少なくとも1つを含む。
【００１７】
第2の態様によれば、デコーディング方法が提供され、本方法は、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップと、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードするステップとを含む。
【００１８】
第2の態様に関連して、第2の態様の第1の実施態様において、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップよりも前に、本方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
【００１９】
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第2の実施態様において、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
【００２０】
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第3の実施態様において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
【００２１】
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第4の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【００２２】
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第5の実施態様において、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップは、ビットストリームをデコードして複数のコードブロック群の配置されたインデックスを得るステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含むか、又は、ビットストリームをデコードして複数のコードブロック群の配置された座標を得るステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
【００２３】
第3の態様によれば、エンコーダが提供され、エンコーダは、ターゲット画像の全コーディングコストにしたがって、ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するように構成された決定ユニットと、決定ユニットによって決定された最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するように構成されたエンコーディングユニットとを備え、エンコーディングユニットは、決定ユニットによって決定された最初の処理順序をビットストリームに書き込むように更に構成される。
【００２４】
第3の態様に関連して、第3の態様の第1の実施態様において、決定ユニットは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するように特に構成され、各処理順序に対応する全コーディングコストは、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和であり、また、決定ユニットは、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するように特に構成される。
【００２５】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第2の実施態様において、エンコーディングユニットは、決定ユニットを使用することによる最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定し、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするように特に構成される。
【００２６】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第3の実施態様において、決定ユニットは、コードブロックの複数の候補処理順序を決定し、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【００２７】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第4の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成される。
【００２８】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第5の実施態様において、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように特に構成される。
【００２９】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第6の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【００３０】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第7の実施態様において、エンコーディングユニットは、最初の処理順序にしたがってコードブロック群のインデックスを配置し、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むように特に構成されるか、又は、最初の処理順序にしたがってコードブロック群の座標を配置し、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むように特に構成される。
【００３１】
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第8の実施態様において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするためにエンコーディングユニットにより費やされるビットの量、又は、コードブロック群の歪み、のうちの少なくとも1つを含む。
【００３２】
第4の態様によれば、デコーダが提供され、デコーダは、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するように構成された取得ユニットと、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成された決定ユニットと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードするように構成されたデコーディングユニットとを備える。
【００３３】
第4の態様に関連して、第4の態様の第1の実施態様において、決定ユニットは、コードブロックの複数の候補処理順序を決定し、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【００３４】
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第2の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成される。
【００３５】
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第3の実施態様において、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように特に構成される。
【００３６】
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第4の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【００３７】
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第5の実施態様において、取得ユニットは、デコーディングユニットを使用して、ビットストリームをデコードして複数のコードブロック群の配置されたインデックスを得、決定ユニットを使用して、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するように特に構成されるか、又は、デコーディングユニットを使用して、ビットストリームをデコードして複数のコードブロック群の配置された座標を得、決定ユニットを使用して、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するように特に構成される。
【００３８】
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序が決定され、最初の処理順序にしたがって複数のコードブロック群がエンコード及びデコードされ、それにより、ビデオ情報における空間相関を十分に使用することができ、その結果、エンコーディング中及びデコーディング中の圧縮効率が向上される。
【００３９】
本発明の実施態様における技術的解決策をより明確に説明するために、以下では、本発明の実施形態を説明するために必要とされる添付図面について簡単に記載する。当然ながら、以下の説明における添付図面は、本発明の幾つかの実施形態を単に示すにすぎず、また、当業者は、創造的労力を伴わずにこれらの添付図面から他の図面を依然として導き出すことができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に係るエンコーディング方法のフローチャートである。
【図２】本発明の一実施形態に係るデコーディング方法のフローチャートである。
【図３】本発明の一実施形態に係るコードブロックの処理順序の概略図である。
【図４】本発明の他の実施形態に係るコードブロックの処理順序の概略図である。
【図５】本発明の一実施形態に係るコードブロックの候補処理順序と複数の位置関係との間の対応関係の概略図である。
【図６】本発明の一実施形態に係るエンコーダ側のエンコーディングのフローチャートである。
【図７】本発明の一実施形態に係るデコーダ側のデコーディングのフローチャートである。
【図８】本発明の一実施形態に係るエンコーダの概略ブロック図である。
【図９】本発明の一実施形態に係るデコーダの概略ブロック図である。
【図１０】本発明の他の実施形態に係るエンコーダの概略ブロック図である。
【図１１】本発明の他の実施形態に係るデコーダの概略ブロック図である。
【発明を実施するための形態】
【００４１】
以下では、本発明の実施形態における添付図面に関連して、本発明の実施形態における技術的解決策を明確に且つ十分に説明する。当然ながら、説明される実施形態は、本発明の実施形態の一部であって、全てではない。創造的労力を伴うことなく本発明の実施例に基づいて当業者により得られる他の全ての実施例は、本発明の保護範囲内に入るものとする。
【００４２】
図1は、本発明の一実施形態に係るエンコーディング方法のフローチャートである。
【００４３】
101．ターゲット画像の全コーディングコストにしたがって、ターゲット画像に含まれる複数のコードブロック群の最初の処理順序を決定する。
【００４４】
102．最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードして、ビットストリームを生成する。
【００４５】
103．最初の処理順序をビットストリームに書き込む。
【００４６】
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像に含まれる複数のコードブロック群の最初の処理順序が決定され、また、最初の処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【００４７】
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
【００４８】
随意的に、一実施形態において、ステップ101は、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
【００４９】
具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が最適な処理順序として使用されてもよい。したがって、最適な処理順序を決定する問題は、最小全コーディングコスト、すなわち、式（1）を解く問題へと変換されてよい。
【００５０】
【数１】
0006389264.tif 000002
【００５１】
ここで、Nは、コードブロック群の全体の量を示し、1≦i≦Nは、コードブロック群のインデックスが左右上下の順序で示されることを表わし、Oは、コードブロック群の処理順序を示すベクトルであり、Oのそれぞれの項目は、コードブロック群のインデックスの配置態様であり、全体の想定し得る処理順序はNの順列N！であり、O＝［1，2，…，N］であるときに示される処理順序は、伝統的なライン走査順序であり、Sj，kは、既に処理されているj個のブロック群のインデックスを含むセットであり、kは、既に処理されているjブロック群がN個のブロック群から選択されるj個のブロック群の
【数２】
0006389264.tif 000003
個の想定し得る組み合わせのk番目の組み合わせであることを示し、iは、エンコードされないブロック群のうちの1つを示し、RD（Sj，k，i）は、Sj，k中の全てのコードブロック群が処理されてしまった場合においてコードブロック群iを処理するために必要とされるコストを示し、SNは、N個の全てのコードブロック群のセットを示し、
【数３】
0006389264.tif 000004
は、N個のコードブロック群の最適な処理順序を示し、及び、最適な問題の目的は、N個の全てのコードブロック群の全コスト
【数４】
0006389264.tif 000005
が最小であるように処理順序
【数５】
0006389264.tif 000006
を見出すことである。
【００５２】
【数６】
0006389264.tif 000007
を解くためには、各コードブロック群のコストRD（Sj，k，i）を計算する必要がある。1つのコードブロック群のコストRD（Sj，k，i）が得られた後、コードブロック群の最適な処理順序を決定するために式（2）で表わされる方法が使用されてもよい。
【００５３】
【数７】
0006389264.tif 000008
【００５４】
ここで、j，1≦j≦N−1は、既に処理されているコードブロック群の量を示し、
【数８】
0006389264.tif 000009
は、既に処理されているj個のブロック群の全ての想定し得る組み合わせのk番目の組み合わせを示し、Sj，kは、k番目の組み合わせの前述のケースで既に処理されているj個のブロッキング群のインデックスを含むセットであり、コスト関数
【数９】
0006389264.tif 000010
は、コードブロック群セットSj，k中の全てのブロッキング群のコストの和、すなわち、最適な処理順序
【数１０】
0006389264.tif 000011
を使用することによってSj，kに含まれるj個のコードブロック群を処理するために必要とされる全コストであり、及び、RD（Sj，k，i）は、Sj，kによって表わされるk番目の組み合わせにより示されるj個の全てのブロック群が処理された場合においてブロッキング群iがエンコードされるときに引き起こされるコストを示す。
【００５５】
前述のプロセスを説明するための一例が与えられ、この場合、1，2，3の番号が付けられた処理されるべき3つのコードブロック群が存在する。j＝2のときには、Sj，kに関して3つの想定し得るケース、すなわち、Sj，k＝｛1，2｝、Sj，k＝｛1，3｝、及び、Sj，k＝｛2，3｝が存在し、その最適なエンコーディング順序は、O｛1，2｝＝1，2、O｛1，3｝＝3，1、及び、O｛2，3｝＝3，2であり、また、それに対応する最適なコストは、DP（｛1，2｝，O｛1，2｝）、DP（｛1，3｝，O｛1，3｝）、及び、DP（｛2，3｝，O｛2，3｝）である。また、j＝3のケースが考えられる。Sj，kに関する3つの想定し得るケースにおいて、他のコードブロック群はそれぞれ、3の番号が付けられたブロッキング群、2の番号が付けられたブロッキング群、及び、1の番号が付けられたブロッキング群であり、また、ブロッキング群をエンコードするための対応するコストはそれぞれRD（｛1，2｝，3）、RD（｛1，3｝，2）、及び、RD（｛2，3｝，1）である。この場合、エンコーディング番号1，2，3を伴う3つのコードブロック群の最小コストDP（｛1，2，3｝，O｛1，2，3｝）は、式（3）を使用することによる計算によって得られてもよく、また、その後、最適な処理順序O｛1，2，3｝が決定される。
【００５６】
【数１１】
0006389264.tif 000012
【００５７】
随意的に、一実施形態において、ステップ102は、最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
【００５８】
具体的には、コードブロック群の処理順序が決定された後に、コードブロック群に含まれるコードブロックの処理順序が決定される必要が更にあり得る。現在のコードブロック群中のコードブロックの処理順序は、コードブロック群の処理順序にしたがって決定されてもよい。すなわち、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。
【００５９】
随意的に、一実施形態では、コードブロック群の各コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
【００６０】
例えば、エンコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされているコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1．コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2．コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3．コードブロック群の右側のコードブロック群がエンコードされてしまっている。4．コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5．コードブロック群の左側のコードブロック群がエンコードされてしまっている。6．コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7．コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8．コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9．コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10．コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11．コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12．コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13．コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14．コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15．コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16．コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
【００６１】
エンコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
【００６２】
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。
【００６３】
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
【００６４】
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【００６５】
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
【００６６】
随意的に、一実施形態において、最初の処理順序をビットストリームに書き込むことは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含み、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
【００６７】
具体的には、コードブロック群の処理順序が決定された後、処理順序は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、ビットストリームに書き込まれてもよい。具体的には、以下の2つの態様が存在してもよい。
【００６８】
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
【００６９】
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、（x，y）がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N＝w＊hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調（Pulse Code Modulation，PCM）と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調（Differential Pulse Code Modulation，DPCM）と同様なエンコーディング態様を使用することによりエンコードされてもよい。
【００７０】
コードブロック群の最適な処理順序Oが前述の方法を使用することによりエンコードされた後、エンコーディングの結果がビデオビットストリームへ出力され、それにより、デコーダ側が最適な処理順序にしたがってデコーディングを行う。
【００７１】
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。
【００７２】
ターゲット画像がエンコードされるべきときには、ターゲット画像中に含まれるコードブロック群の最初の処理順序が本発明のこの実施形態における方法にしたがって決定されてもよいことが理解されるべきである。コードブロック群中のコードブロックの処理順序が決定されるときには、一部のコードブロック群中のコードブロックの処理順序が決定されてもよく、また、他のコードブロック群中のコードブロックの処理順序が他の技術的解決策にしたがって決定されてもよく或いは予め決定されてもよい。
【００７３】
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序が決定され、また、最初の処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【００７４】
図2は、本発明の一実施形態に係るデコーディング方法のフローチャートである。
【００７５】
201．ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する。
【００７６】
202．最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する。
【００７７】
203．最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする。
【００７８】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、ターゲット画像のビットストリームは、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってデコードされる。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【００７９】
随意的に、一実施形態では、複数のコードブロック群の1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
【００８０】
エンコーディングとデコーディングとの間のマッチングを確保するために、デコーダ側は、エンコーダ側により使用される解決策と同じである解決策を使用して、現在のコードブロック群中のコードブロックの処理順序をコードブロック群の処理順序にしたがって決定する。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がデコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。
【００８１】
随意的に、一実施形態において、複数のコードブロック群の各コードブロック群中のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
【００８２】
例えば、デコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群とデコードされたコードブロック群との相対位置対応関係とを事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定され、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にデコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1．コードブロック群に隣り合う既にデコードされているコードブロック群が存在しない。2．コードブロック群よりも上側のコードブロック群がデコードされてしまっている。3．コードブロック群の右側のコードブロック群がデコードされてしまっている。4．コードブロック群よりも下側のコードブロック群がデコードされてしまっている。5．コードブロック群の左側のコードブロック群がデコードされてしまっている。6．コードブロック群の上側及び右側のコードブロック群がデコードされてしまっている。7．コードブロック群の下側及び右側のコードブロック群がデコードされてしまっている。8．コードブロック群の左側及び下側のコードブロック群がデコードされてしまっている。9．コードブロック群の左側及び上側のコードブロック群がデコードされてしまっている。10．コードブロック群の上側及び下側のコードブロック群がデコードされてしまっている。11．コードブロック群の左側及び右側のコードブロック群がデコードされてしまっている。12．コードブロック群の上側、下側、及び、左側のコードブロック群がデコードされてしまっている。13．コードブロック群の左側、右側、及び、上側のコードブロック群がデコードされてしまっている。14．コードブロック群の上側、下側、及び、右側のコードブロック群がデコードされてしまっている。15．コードブロック群の左側、右側、及び、下側のコードブロック群がデコードされてしまっている。16．コードブロック群の上側、下側、左側、及び、右側のコードブロック群がデコードされてしまっている。
【００８３】
デコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
【００８４】
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してデコーディング作業が行われる。
【００８５】
デコーダ側の前述の複数の事前に設定されたモード及び対応関係は、エンコーダ側の事前に設定されたモード及び対応関係と同じであることが理解されるべきである。
【００８６】
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【００８７】
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
【００８８】
随意的に、一実施形態において、ステップ201は、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含み、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
【００８９】
具体的には、コードブロック群の処理順序を決定した後、エンコーダ側は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、処理順序をビットストリームに書き込んでもよい。具体的には、以下の2つの態様が存在してもよい。
【００９０】
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
【００９１】
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、（x，y）がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N＝w＊hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調（Pulse Code Modulation，PCM）と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調（Differential Pulse Code Modulation，DPCM）と同様なエンコーディング態様を使用することによりエンコードされてもよい。
【００９２】
すなわち、これに対応して、デコーダ側は、エンコーダ側によってビットストリームに書き込まれる情報にしたがって前述の2つの態様でコードブロック群の処理順序を学習してもよい。
【００９３】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、ターゲット画像のビットストリームは、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってデコードされる。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【００９４】
図3は、本発明の一実施形態に係るコードブロックの処理順序の概略図である。図4は、本発明の他の実施形態に係るコードブロックの処理順序の概略図である。
【００９５】
本発明の実施形態におけるコードブロック群の処理順序が任意の順序であってもよいことが理解されるべきである。コードブロック群の処理順序の決定又は選択は、図2における前述の実施形態で詳しく説明されており、したがって、ここでは再び詳しく説明しない。
【００９６】
コードブロック群中の全てのコードブロックの処理順序は、事前に設定された複数の候補処理順序から選択されてもよい。例えば、図3に示されるZ形状走査の4つの処理順序が事前に設定されてもよく、或いは、図4に示される順次走査の4つの処理順序が事前に設定されてもよい。本明細書中では、図3及び図4が実施例により説明を容易にするためだけに使用されるにすぎない。実際には、任意の量の処理順序が事前に設定されてもよく、また、1つの処理順序が任意であるか又は省かれてもよく、これは本発明では限定されない。
【００９７】
例えばHEVCにおけるCTU中のCUが異なるサイズを有し得るケースと同様に、コードブロック群中のコードブロックが異なるサイズを有する場合、ライン走査の順序は、コードブロックを処理するべく使用されるのに適さない。この場合、図3に示される4つの処理順序がコードブロックの事前に設定される処理順序として選択されてよい。例えばH.264/AVCにおけるMB中のSMBが同じサイズを有するケースと同様に、コードブロック群中のコードブロックが同じサイズを有する場合には、図4に示される順次走査の4つの処理順序がコードブロックの事前に設定される処理順序として選択されてもよい。コードブロックにおける番号は、対応するコードブロックの処理順序を表わす。
【００９８】
図5は、本発明の一実施形態に係るコードブロックの候補処理順序と複数の位置関係との間の対応関係の概略図である。
【００９９】
エンコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされているコードブロック群との相対位置との対応関係を事前に設定してもよい。例えば、コードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置が図5に示される16個の相対位置に事前設定されてもよい。1．コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2．コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3．コードブロック群の右側のコードブロック群がエンコードされてしまっている。4．コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5．コードブロック群の左側のコードブロック群がエンコードされてしまっている。6．コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7．コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8．コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9．コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10．コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11．コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12．コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13．コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14．コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15．コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16．コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
【０１００】
エンコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
【０１０１】
図5に示される対応関係が実施例により説明を容易にするためだけに使用されるにすぎないことが理解されるべきである。実際には、任意の量の処理順序及び任意の量の相対位置関係が事前に設定されてもよく、また、1つの処理順序が任意であり又は省かれてもよく、これは本発明では限定されない。
【０１０２】
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。例えば、現在のコードブロック群が最初の処理順序にしたがって処理されるべきときには、現在のコードブロック群の左側及び右側のコードブロック群がエンコードされてしまったことが最初に決定され得る。現在のコードブロックが位置関係11にあるとともに、現在のコードブロックに対応するコードブロック処理順序が順序0であることが、図５における相対位置関係にしたがって決定されてもよい。その後、エンコーダ側は、順序0にしたがってコードブロック群中のコードブロックに関して左から右へ順次走査を行って、コードブロックをエンコードしてもよい。全てのコードブロックが完全にエンコードされた後、次のコードブロック群が最初のエンコーディング順序にしたがって処理される。
【０１０３】
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
【０１０４】
図6は、本発明の一実施形態に係るエンコーダ側のエンコーディングのフローチャートである。
【０１０５】
最初に、ターゲット画像601が複数の重なり合わないコードブロック群に分けられる。コードブロック群のための分割方法は、エンコーディング標準規格及びデコーディング標準規格に依存してよい。例えば、HEVCにおいて分割により得られるコードブロック群がCTUであってもよく、また、H.264/AVCにおいて分割により得られるコードブロック群がMBであってもよい。また、コードブロック群の分割が事前に設定されてもよく或いは任意であってもよい。また、コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに更に分けられ続けてもよい。前述のコードブロック群又はコードブロックはピクセルのセットである。例えば、コードブロックのサイズがN×Nであれば、それは、ブロックが水平方向及び垂直方向の両方でN−ピクセルを有する二次元ピクセルアレイであることを示す。
【０１０６】
エンコーダ側は、コードブロックにおけるピクセルの予測子602を取得するために、コードブロックに関して予測作業を行う。予測作業は、一般的には、フレーム間予測611とフレーム内予測612とに分類されてもよい。また、コードブロックのピクセルの元の値603とコードブロックのピクセルの予測子602との間の差が計算される。コードブロックにおけるピクセルの予測された差のセットは、コードブロックの残差604と称される。残差604に関して変換・量子化613が行われた後、変換量子化係数605が得られる。最後に、変換量子化係数605に関してエントロピーエンコーディング614作業が行われ、また、エントロピーエンコーディングで出力されるビット列がビットストリームに書き込まれる。また、再構成残差606を得るために、変換・量子化613が行われた変換量子化係数605に関して逆量子化・逆変換615作業が行われ、また、ブロックの再構成607を得るために現在のコードブロックの再構成残差606と予測子602とが互いに加えられる。現在のブロックの再構成607は、その後のコードブロックを予測するために使用されるようになっており、この場合、その後のコードブロックは、現在のコード化画像中の処理されるべきコードブロックであってもよく、或いは、その後のエンコードされるべき画像中のコードブロックであってもよい。
【０１０７】
ターゲット画像601に関して予測コーディングを行う前に、エンコーダ側は、最初に、ターゲット画像601中に含まれる複数のコードブロック群の処理順序を決定してもよい。具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が、エンコーディングが実際に行われるときのコードブロック群の処理順序として使用されてもよいことが決定されてもよい。特定の決定方法に関しては、図1中の前述の実施形態における関連するステップ及び式（1）及び（2）を参照することができ、したがって、ここでは再び詳しく説明しない。
【０１０８】
コードブロック群の処理順序が決定された後、各コードブロック群中のコードブロックの処理順序が決定されてもよい。具体的には、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、コードブロック群の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。前述の「処理」は、予測作業611，612、残差604を決定する作業、変換／量子化613作業、エントロピーエンコーディング614作業、逆量子化／逆変換614作業、再構成607作業等を含んでもよい。
【０１０９】
また、ビットストリームが生成されるときに、コードブロック群の処理順序がビットストリームに書き込まれてもよく、それにより、デコーダ側がその順序にしたがってデコーディングを行う。特定の処理順序のための識別方法に関しては、図1における対応する方法を参照することができ、したがって、ここでは再び詳しく説明しない。
【０１１０】
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の処理順序が決定され、また、その処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に利用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１１１】
図7は、本発明の一実施形態に係るデコーダ側のデコーディングのフローチャートである。
【０１１２】
デコーダ側の処理方法は、エンコーダ側のそれに対応する。エンコーダ側によってエンコードされて出力されるビットストリームを得た後、デコーダ側は、そのビットストリームから、エンコーダ側がコードブロック群をエンコードするときの処理順序を取得してもよい。処理順序にしたがって、デコーダ側は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係を最初に決定することができ、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。具体的には、図2における前述の方法を参照することができ、したがって、ここでは再び詳しく説明しない。言うまでもなく、デコーダ側による前述の「処理」は、予測モード情報及び変換量子化係数701を得るために入力ビットストリームに関してエントロピーデコーディング711を行うことを含む。デコーダは、現在のコードブロックの予測子を得るために既に再構成されているブロック又は画像と予測モード情報とを使用し、再構成残差702を得るために変換量子化係数701に関して逆量子化／逆変換712が行われ、また、コードブロックの再構成704を得るために現在のコードブロックの再構成残差702と予測子703とが互いに加えられる。エンコーダ側は、コードブロック群の決定された処理順序とコードブロック群中のコードブロックの処理順序とにしたがって各コードブロックに関する情報をビットストリームに書き込む。それに対応して、デコーダ側は、コードブロックのデコーディングにより得られる再構成されたブロックを前述の順序で再構成された画像中に連続的に入れ込む。
【０１１３】
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の処理順序が決定され、また、その処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に利用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１１４】
図8は、本発明の一実施形態に係るエンコーダ80の概略ブロック図である。図8におけるエンコーダ80は、決定ユニット81とエンコーディングユニット82とを含む。
【０１１５】
決定ユニット81は、ターゲット画像の全コーディングコストにしたがって、ターゲット画像に含まれる複数のコードブロック群の最初の処理順序を決定する。エンコーディングユニット82は、決定ユニット81により決定される最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードして、ビットストリームを生成し、また、エンコーディングユニット82は、決定ユニット81により決定される最初の処理順序をビットストリームに書き込む。
【０１１６】
本発明のこの実施形態におけるエンコーダ80は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１１７】
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
【０１１８】
随意的に、一実施形態において、決定ユニット81は、具体的には、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するように構成され、この場合、各処理順序に対応する全コーディングコストは、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和であり、また、決定ユニット81は、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するように構成される。
【０１１９】
具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が最適な処理順序として使用されてもよい。したがって、最適な処理順序を決定する問題は、最小全コーディングコスト、すなわち、式（4）を解く問題へと変換されてよい。
【０１２０】
【数１２】
0006389264.tif 000013
【０１２１】
ここで、Nは、コードブロック群の全体の量を示し、1≦i≦Nは、コードブロック群のインデックスが左右上下の順序で示されることを表わし、Oは、コードブロック群の処理順序を示すベクトルであり、Oのそれぞれの項目は、コードブロック群のインデックスの配置態様であり、全体の想定し得る処理順序はNの順列N！あり、O＝［1，2，…，N］であるときに示される処理順序は、伝統的なライン走査順序であり、Sj，kは、既に処理されているj個のブロック群のインデックスを含むセットであり、kは、既に処理されているjブロック群がN個のブロック群から選択されるj個のブロック群の
【数１３】
0006389264.tif 000014
個の想定し得る組み合わせのk番目の組み合わせであることを示し、iは、エンコードされないブロック群のうちの1つを示し、RD（Sj，k，i）は、Sj，k中の全てのコードブロック群が処理されてしまった場合においてコードブロック群iを処理するために必要とされるコストを示し、SNは、N個の全てのコードブロック群のセットを示し、
【数１４】
0006389264.tif 000015
は、N個のコードブロック群の最適な処理順序を示し、及び、最適な問題の目的は、N個の全てのコードブロック群の全コスト
【数１５】
0006389264.tif 000016
が最小であるように処理順序
【数１６】
0006389264.tif 000017
を見出すことである。
【０１２２】
【数１７】
0006389264.tif 000018
を解くためには、各コードブロック群のコストRD（Sj，k，i）を計算する必要がある。1つのコードブロック群のコストRD（Sj，k，i）が得られた後、コードブロック群の最適な処理順序を決定するために式（5）で表わされる方法が使用されてもよい。
【０１２３】
【数１８】
0006389264.tif 000019
【０１２４】
ここで、j，1≦j≦N−1は、既に処理されているコードブロック群の量を示し、
【数１９】
0006389264.tif 000020
は、既に処理されているj個のブロック群の全ての想定し得る組み合わせのk番目の組み合わせを示し、Sj，kは、k番目の組み合わせの前述のケースで既に処理されているj個のブロッキング群のインデックスを含むセットであり、コスト関数
【数２０】
0006389264.tif 000021
は、コードブロック群セットSj，k中の全てのブロッキング群のコストの和、すなわち、最適な処理順序
【数２１】
0006389264.tif 000022
を使用することによってSj，kに含まれるj個のコードブロック群を処理するために必要とされる全コストであり、及び、RD（Sj，k，i）は、Sj，kによって表わされるk番目の組み合わせにより示されるj個の全てのブロック群が処理された場合においてブロッキング群iがエンコードされるときに引き起こされるコストを示す。
【０１２５】
前述のプロセスを説明するための一例が与えられ、この場合、1，2，3の番号が付けられた処理されるべき3つのコードブロック群が存在する。j＝2のときには、Sj，kに関して3つの想定し得るケース、すなわち、Sj，k＝｛1，2｝、Sj，k＝｛1，3｝、及び、Sj，k＝｛2，3｝が存在し、その最適なエンコーディング順序は、O｛1，2｝＝1，2、O｛1，3｝＝3，1、及び、O｛2，3｝＝3，2であり、また、それに対応する最適なコストは、DP（｛1，2｝，O｛1，2｝）、DP（｛1，3｝，O｛1，3｝）、及び、DP（｛2，3｝，O｛2，3｝）DP（｛2，3｝，O｛2，3｝）である。また、j＝3のケースが考えられる。Sj，kに関する3つの想定し得るケースにおいて、他のコードブロック群はそれぞれ、3の番号が付けられたブロッキング群、2の番号が付けられたブロッキング群、及び、1の番号が付けられたブロッキング群であり、また、ブロッキング群をエンコードするための対応するコストはそれぞれRD（｛1，2｝，3）、RD（｛1，3｝，2）、及び、RD（｛2，3｝，1）である。この場合、エンコーディング番号1，2，3を伴う3つのコードブロック群の最小コストDP（｛1，2，3｝，O｛1，2，3｝）は、式（6）（3）を使用することによる計算によって得られてもよく、また、その後、最適な処理順序O｛1，2，3｝が決定される。
【０１２６】
【数２２】
0006389264.tif 000023
【０１２７】
随意的に、一実施形態において、エンコーディングユニットは、具体的には、決定ユニットを使用することにより最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するとともに、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするように構成される。
【０１２８】
具体的には、コードブロック群の処理順序が決定された後に、コードブロック群に含まれるコードブロックの処理順序が決定される必要が更にあり得る。現在のコードブロック群中のコードブロックの処理順序は、コードブロック群の処理順序にしたがって決定されてもよい。すなわち、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、その処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。
【０１２９】
随意的に、一実施形態において、決定ユニットは、コードブロックの複数の候補処理順序を決定するとともに、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。随意的に、一実施形態に置いて、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVではコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
【０１３０】
例えば、エンコーダ80は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされたコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1．コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2．コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3．コードブロック群の右側のコードブロック群がエンコードされてしまっている。4．コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5．コードブロック群の左側のコードブロック群がエンコードされてしまっている。6．コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7．コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8．コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9．コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10．コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11．コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12．コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13．コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14．コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15．コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16．コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
【０１３１】
エンコーダ80は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
【０１３２】
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。
【０１３３】
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
【０１３４】
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成される。
【０１３５】
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【０１３６】
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ80は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
【０１３７】
随意的に、一実施形態において、エンコーディングユニットは、具体的には、最初の処理順序にしたがってコードブロック群のインデックスを配置するとともに、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むように構成され、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するとともに、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むように構成される。
【０１３８】
具体的には、コードブロック群の処理順序が決定された後、処理順序は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、ビットストリームに書き込まれてもよい。具体的には、以下の2つの態様が存在してもよい。
【０１３９】
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
【０１４０】
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、（x，y）がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N＝w＊hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調（Pulse Code Modulation，PCM）と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調（Differential Pulse Code Modulation，DPCM）と同様なエンコーディング態様を使用することによりエンコードされてもよい。
【０１４１】
コードブロック群の最適な処理順序Oが前述の方法を使用することによりエンコードされた後、エンコーディングの結果がビデオビットストリームへ出力され、それにより、デコーダ側が最適な処理順序にしたがってデコーディングを行う。
【０１４２】
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするためにエンコーディングユニットにより費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。
【０１４３】
コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。
【０１４４】
ターゲット画像がエンコードされるべきときには、ターゲット画像中に含まれるコードブロック群の最初の処理順序が本発明のこの実施形態における方法にしたがって決定されてもよいことが理解されるべきである。コードブロック群中のコードブロックの処理順序が決定されるときには、一部のコードブロック群中のコードブロックの処理順序が決定されてもよく、また、他のコードブロック群中のコードブロックの処理順序が他の技術的解決策にしたがって決定されてもよく或いは予め決定されてもよい。
【０１４５】
本発明のこの実施形態におけるエンコーダ80は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１４６】
図9は、本発明の一実施形態に係るデコーダの概略ブロック図である。図9におけるデコーダ90は、取得ユニット91、決定ユニット92、及び、デコーディングユニット93を含む。
【０１４７】
取得ユニット91は、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する。決定ユニット92は、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する。デコーディングユニット93は、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする。
【０１４８】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ90は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【０１４９】
随意的に、一実施形態において、決定ユニット92は、コードブロックの複数の候補処理順序を決定するとともに、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【０１５０】
エンコーディングとデコーディングとの間のマッチングを確保するために、デコーダ90は、エンコーダ側により使用される解決策と同じである解決策を使用して、現在のコードブロック群中のコードブロックの処理順序をコードブロック群の処理順序にしたがって決定する。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がデコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、その処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。
【０１５１】
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成される。随意的に、一実施形態に置いて、決定ユニットは、具体的には、コードブロックの事前に設定された複数の候補処理順序を使用するように構成される。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
【０１５２】
例えば、デコーダ90は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にデコードされているコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定され、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にデコードされているコードブロック群との相対位置が図5に示される16個の相対位置に事前設定されてもよい。1．コードブロック群に隣り合う既にデコードされているコードブロック群が存在しない。2．コードブロック群よりも上側のコードブロック群がデコードされてしまっている。3．コードブロック群の右側のコードブロック群がデコードされてしまっている。4．コードブロック群よりも下側のコードブロック群がデコードされてしまっている。5．コードブロック群の左側のコードブロック群がデコードされてしまっている。6．コードブロック群の上側及び右側のコードブロック群がデコードされてしまっている。7．コードブロック群の下側及び右側のコードブロック群がデコードされてしまっている。8．コードブロック群の左側及び下側のコードブロック群がデコードされてしまっている。9．コードブロック群の左側及び上側のコードブロック群がデコードされてしまっている。10．コードブロック群の上側及び下側のコードブロック群がデコードされてしまっている。11．コードブロック群の左側及び右側のコードブロック群がデコードされてしまっている。12．コードブロック群の上側、下側、及び、左側のコードブロック群がデコードされてしまっている。13．コードブロック群の左側、右側、及び、上側のコードブロック群がデコードされてしまっている。14．コードブロック群の上側、下側、及び、右側のコードブロック群がデコードされてしまっている。15．コードブロック群の左側、右側、及び、下側のコードブロック群がデコードされてしまっている。16．コードブロック群の上側、下側、左側、及び、右側のコードブロック群がデコードされてしまっている。
【０１５３】
デコーダ90は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
【０１５４】
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してデコーディング作業が行われる。
【０１５５】
デコーダ90の前述の複数の事前に設定されたモード及び対応関係は、エンコーダ側の事前に設定されたモード及び対応関係と同じであることが理解されるべきである。
【０１５６】
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
【０１５７】
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
【０１５８】
随意的に、一実施形態において、取得ユニット91は、具体的には、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするとともに、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するように構成され、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするとともに、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するように構成される。
【０１５９】
具体的には、コードブロック群の処理順序を決定した後、エンコーダ側は、インデックス又は座標を用いて或いは他の態様で、デコーダ90がデコーディングを行うときにデコーダ90がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、処理順序をビットストリームに書き込んでもよい。具体的には、以下の2つの態様が存在してもよい。
【０１６０】
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
【０１６１】
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、（x，y）がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N＝w＊hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調（Pulse Code Modulation，PCM）と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調（Differential Pulse Code Modulation，DPCM）と同様なエンコーディング態様を使用することによりエンコードされてもよい。
【０１６２】
すなわち、これに対応して、デコーダ90は、エンコーダ側によってビットストリームに書き込まれる情報にしたがって前述の2つの態様でコードブロック群の処理順序を学習してもよい。
【０１６３】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ90は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【０１６４】
図10は、本発明の他の実施形態に係るエンコーダの概略ブロック図である。図10におけるエンコーダ100は、プロセッサ101及びメモリ102を含む。プロセッサ101は、バスシステム103を使用することによりメモリ102に接続される。
【０１６５】
メモリ102は、以下の作業、すなわち、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定する作業と、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成する作業と、最初の処理順序をビットストリームに書き込む作業とをプロセッサ101に実行させる命令を記憶するように構成される。
【０１６６】
本発明のこの実施形態におけるエンコーダ100は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１６７】
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
【０１６８】
また、エンコーダ100は、受信回路104等を更に含んでもよい。プロセッサ101はエンコーダ100の動作を制御し、また、プロセッサ101はCPU（Central Processing Unit、中央処理ユニット）と更に称されてもよい。メモリ102は、リード・オンリー・メモリ及びランダム・アクセス・メモリを含んでもよく、また、命令及びデータをプロセッサ101に供給する。メモリ102の一部が不揮発性ランダム・アクセス・メモリ（NVRAM）を更に含んでもよい。エンコーダ100の構成要素は、バスシステム103を使用することにより互いに結合され、この場合、バスシステム103は、データバスを含むだけでなく、電力バス、制御バス、状態信号バス、及び、同様のものも更に含んでもよい。しかしながら、明確な描写のため、図中の様々なタイプのバスがバスシステム103としてマーキングされる。
【０１６９】
本発明の実施態様において開示される方法は、プロセッサ101に適用されてもよく或いはプロセッサ101により実施される。プロセッサ101は、集積回路チップであってもよく、また、信号処理能力を有する。実施プロセスにおいて、前述の方法のステップは、プロセッサ101内のハードウェアの集積論理回路又はソフトウェア形態の命令を使用することによって実行されてもよい。前述のプロセッサ101は、汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、又は、他のプログラマブル論理装置、離散ゲート、又は、トランジスタ論理装置、又は、離散ハードウェアコンポーネントであってもよい。プロセッサ101は、本発明の実施形態に開示される方法、ステップ、及び、論理ブロック図を実施又は実行してもよい。汎用プロセッサがマイクロプロセッサであってもよく、或いは、プロセッサが任意の従来のプロセッサ等であってもよい。本発明の実施形態に関連して開示される方法のステップは、ハードウェア・デコーディング・プロセッサを用いて直接に実行されて完了されてもよく、或いは、ハードウェアモジュールとソフトウェアモジュールとの組み合わせをデコーディングプロセッサ内で使用することにより実行されて完了されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ、フラッシュメモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブルメモリ、又は、レジスタなどの当該技術分野における記憶媒体マチュア内に位置されてもよい。記憶媒体はメモリ102内に位置され、また、プロセッサ101は、メモリ102内の情報を読み取って、プロセッサ101のハードウェアと組み合わせて前述の方法におけるステップを完了する。
【０１７０】
随意的に、一実施形態において、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定することは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
【０１７１】
随意的に、一実施形態において、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成することは、最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
【０１７２】
随意的に、一実施形態では、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
【０１７３】
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
【０１７４】
随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
【０１７５】
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【０１７６】
随意的に、一実施形態において、最初の処理順序をビットストリームに書き込むことは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含み、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
【０１７７】
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。
【０１７８】
本発明のこの実施形態におけるエンコーダ100は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
【０１７９】
図11は、本発明の他の実施形態に係るデコーダの概略ブロック図である。図11におけるデコーダ110は、プロセッサ111とメモリ112とを含む。プロセッサ111は、バスシステム113を使用することによりメモリ112に接続される。
【０１８０】
メモリ112は、以下の作業、すなわち、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する作業と、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する作業と、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする作業とをプロセッサ111に実行させる命令を記憶するように構成される。
【０１８１】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ110は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【０１８２】
また、デコーダ110は、送信回路114等を更に含んでもよい。プロセッサ111はデコーダ110の動作を制御し、また、プロセッサ111はCPU（Central Processing Unit、中央処理ユニット）と更に称されてもよい。メモリ112は、リード・オンリー・メモリ及びランダム・アクセス・メモリを含んでもよく、また、命令及びデータをプロセッサ111に供給する。メモリ112の一部が不揮発性ランダム・アクセス・メモリ（NVRAM）を更に含んでもよい。デコーダ110の構成要素は、バスシステム113を使用することにより互いに結合され、この場合、バスシステム113は、データバスを含むだけでなく、電力バス、制御バス、状態信号バス、及び、同様のものも更に含んでもよい。しかしながら、明確な描写のため、図中の様々なタイプのバスがバスシステム113としてマーキングされる。
【０１８３】
本発明の実施態様において開示される方法は、プロセッサ111に適用されてもよく或いはプロセッサ111により実施されてもよい。プロセッサ111は、集積回路チップであってもよく、また、信号処理能力を有する。実施プロセスにおいて、前述の方法のステップは、プロセッサ111内のハードウェアの集積論理回路又はソフトウェア形態の命令を使用することによって実行されてもよい。前述のプロセッサ111は、汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、又は、他のプログラマブル論理装置、離散ゲート、又は、トランジスタ論理装置、又は、離散ハードウェアコンポーネントであってもよい。プロセッサ111は、本発明の実施形態に開示される方法、ステップ、及び、論理ブロック図が実施又は実行してもよい。汎用プロセッサがマイクロプロセッサであってもよく、或いは、プロセッサが任意の従来のプロセッサ等であってもよい。本発明の実施形態に関連して開示される方法のステップは、ハードウェア・デコーディング・プロセッサを用いて直接に実行されて完了されてもよく、或いは、ハードウェアモジュールとソフトウェアモジュールとの組み合わせをデコーディングプロセッサ内で使用することにより実行されて完了されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ、フラッシュメモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブルメモリ、又は、レジスタなどの当該技術分野における記憶媒体マチュア内に位置されてもよい。記憶媒体はメモリ112内に位置され、また、プロセッサ111は、メモリ112内の情報を読み取って、プロセッサ111のハードウェアと組み合わせて前述の方法におけるステップを完了する。
【０１８４】
随意的に、一実施形態では、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
【０１８５】
随意的に、一実施形態において、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
【０１８６】
随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
【０１８７】
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
【０１８８】
随意的に、一実施形態において、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得することは、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含み、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
【０１８９】
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ110は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
【０１９０】
当業者であれば気付くように、方法ステップ及びユニットは、この明細書中に開示される実施形態で説明される例と組み合わせて、電子的なハードウェア、コンピュータソフトウェア、又は、これらの組み合わせによって実施されてもよい。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、以上は、一般に、機能にしたがって各実施形態のステップ及び構成について説明してきた。機能がハードウェアによって果たされるか或いはソフトウェアによって果たされるかどうかは、特定の用途と技術的解決策の設計制約条件とによって決まる。当業者は、それぞれの特定の用途に関して説明される機能を実施するために異なる方法を使用してもよいが、その実施が本発明の範囲を越えると見なされるべきでない。
【０１９１】
この明細書中に開示される実施形態で説明される方法又はステップは、ハードウェア、ソフトウェア、プロセッサにより実行されるプログラム、又は、これらの組み合わせによって実施されてもよい。ソフトウェアプログラムは、ランダム・アクセス・メモリ（RAM）、メモリ、リード・オンリー・メモリ（ROM）、電気的にプログラム可能なROM、電気的に消去可能なプログラマブルROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、又は、当該技術分野において既知の任意の他の形態の記憶媒体に存在してもよい。
【０１９２】
本発明は、添付図面に関連して典型的な実施形態と組み合わせて詳しく説明されるが、本発明はこれらの実施形態に限定されない。本発明の思想及び本質から逸脱することなく本発明の実施形態に対して当業者により様々な等価な変更又は置換を行うことができ、また、変更及び置換は、本発明の範囲内に入るものとする。
【符号の説明】
【０１９３】
81  決定ユニット
82  エンコーディングユニット
91  取得ユニット
92  決定ユニット
93  デコーディングユニット
101  プロセッサ
102  メモリ
104  受信回路
111  プロセッサ
112  メモリ
114  送信回路
601  ターゲット画像
602  予測子
603  元の値
604  残差
605  変換量子化係数
606  再構成残差
607  再構成
611  フレーム間予測
612  フレーム内予測
613  変換／量子化
614  エントロピーエンコーディング
615  逆量子化／逆変換
701  変換量子化係数
702  再構成残差
703  予測子
704  再構成
711  エントロピーデコーディング
712  逆量子化／逆変換
【図１】
0006389264.tif 000024
【図２】
0006389264.tif 000025
【図３】
0006389264.tif 000026
【図４】
0006389264.tif 000027
【図５】
0006389264.tif 000028
【図６】
0006389264.tif 000029
【図７】
0006389264.tif 000030
【図８】
0006389264.tif 000031
【図９】
0006389264.tif 000032
【図１０】
0006389264.tif 000033
【図１１】
0006389264.tif 000034