首页 / 专利库 / 视听技术与设备 / 视频编码层 / 스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을위한 방법 및 장치

스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을위한 방법 및 장치

阅读:718发布:2021-07-30

专利汇可以提供스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을위한 방법 및 장치专利检索,专利查询,专利分析的服务。并且There are provided methods and apparatus for weighted prediction in scalable video encoding and decoding. A scalable video encoder includes an encoder (100) for encoding a block in an enhancement layer of a picture by applying a weighting parameter to an enhancement layer reference picture. The weighting parameter used to encode the block in the enhancement layer is adaptively selected from between a weighting parameter applied to a lower layer reference picture to encode a block in the lower layer of the picture and a different weighting parameter applicable in the enhancement layer. The block in the enhancement layer corresponds to the block in the lower layer. The enhancement layer reference picture corresponds to the lower layer reference picture.,下面是스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을위한 방법 및 장치专利的具体信息内容。

  • 확장 계층(enhancement layer) 기준 픽처에 가중 파라미터를 적용함으로써 픽처의 확장 계층의 블록을 인코딩하기 위한 인코더(100)를 포함하는 장치로서,
    상기 확장 계층의 블록을 인코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와, 상기 확장 계층에서 적용가능한 상이한 가중 파라미터 사이에서 적응적으로 선택되고, 상기 확장 계층의 상기 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하는 장치.
  • 제1항에 있어서,
    상기 인코더(100)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하고, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있으며, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 계층간 예측 블록이 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 사용해 인코딩되며, 상기 확장 계층의 비-계층간 예측 블록이 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 장치.
  • 제1항에 있어서,
    상기 인코더(100)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하고, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있으며, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 블록이, 계층간 예측 또는 비-계층간 예측으로서의 상태를 갖는 것과 무관하게, 상기 하부 계층의 대응하는 블록을 각각 인코딩하는데 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 장치.
  • 제1항에 있어서,
    상기 인코더(100)는, base_pred_weight_table_flag 구문 요소가 제1 값일 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응하는 헤더 요소에 추가하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 확장 계층의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 나타내고, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 장치.
  • 제1항에 있어서,
    상기 인코더(100)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 3개의 상이한 값 중 하나를 취할 수 있는 장치.
  • 제5항에 있어서,
    상기 인코더(100)는 상기 재표현된 base_pred_weight_table_flag 구문 요소를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터가 상기 확장 계층의 모든 매크로블록을 인코딩하는데 사용될 것을 나타내는 장치.
  • 제5항에 있어서,
    상기 인코더(100)는 상기 재표현된 base_pred_weight_table_flag 구문 요소를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 확장 계층의 모든 매크로블록에 대하여, 상기 하부 계층의 소정 매크로블록을 인코딩하기 위하여 상기 하부 계층의 특정 기준 픽처에 적용되는 가중 파라미터가 상기 확장 계층의 상기 매크로블록 중 대응하는 하나를 인코딩하기 위하여 상기 특정 기준 픽처에도 항상 적용될 것을 나타내는 장치.
  • 제5항에 있어서,
    상기 인코더(100)는 상기 재표현된 base_pred_weight_table_flag 구문 요소 를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 확장 계층의 계층간 예측 블록이 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 사용해 인코딩되며, 상기 확장 계층의 비-계층간 예측 블록이 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 장치.
  • 제5항에 있어서,
    상기 인코더(100)는, 상기 재표현된 base_pred_weight_table_flag 구문 요소가 상기 3개의 상이한 값으로부터의 미리 특정된 2개 값 중 하나일 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응하는 헤더 요소에 추가하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 픽처의 상기 확장 계층의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 나타내며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 장치.
  • 스케일러블 비디오 인코딩을 위한 방법으로서,
    가중 파라미터를 확장 계층 기준 픽처에 적용함으로써 픽처의 확장 계층의 블록을 인코딩하는 단계(300, 500, 700, 900)를 구비하며,
    상기 확장 계층의 상기 블록을 인코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 인코딩하기 위하여 하부 계층 기준 픽처에 적용되는 가중 파라미터와 상기 확장 계층에서 적용 가능한 상이한 가중 파라미터 사이에서 적응적으로 선택되고, 상기 확장 계층의 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하는 방법.
  • 제10항에 있어서,
    상기 인코딩하는 단계(300)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 계층간 예측 블록이 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 사용해 인코딩되며, 상기 확장 계층의 비-계층간 예측 블록이 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 방법.
  • 제10항에 있어서,
    상기 인코딩하는 단계(500)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 블록이, 계층간 예측 또는 비-계층간 예측으로서의 상태를 갖는 것과 무관하게, 상기 하부 계층의 대응하는 블록을 각각 인코딩하는데 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 방법.
  • 제10항에 있어서,
    상기 인코딩하는 단계(700)는, base_pred_weight_table_flag 구문 요소가 제1 값일 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응하는 헤더 요소에 추가하는 단계를 구비하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 확장 계층의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 나타내고, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 방법.
  • 제10항에 있어서,
    상기 인코딩하는 단계(900, 1100)는 재표현된 base_pred_weight_table_flag 구문 요소를 대응하는 헤더 요소에 추가하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 3개의 상이한 값 중 하나를 취할 수 있는 방법.
  • 제14항에 있어서,
    상기 인코딩하는 단계(900)는 상기 재표현된 base_pred_weight_table_flag 구문 요소를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터가 상기 확장 계층의 모든 매크로블록을 인코딩하는데 사용될 것을 나타내는 단계를 구비하는 방법.
  • 제14항에 있어서,
    상기 인코딩하는 단계(900)는 상기 재표현된 base_pred_weight_table_flag 구문 요소를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 확장 계층의 모든 매크로블록에 대하여, 상기 하부 계층의 소정 매크로블록을 인코딩하기 위해 상기 하부 계층의 특정 기준 픽처에 적용되는 가중 파라미터가 상기 확장 계층의 상기 매크로블록 중 대응하는 하나를 인코딩하기 위해 상기 특정 기준 픽처에도 항상 적용될 것을 나타내는 단계를 구비하는 방법.
  • 제14항에 있어서,
    상기 인코딩하는 단계(900)는 상기 재표현된 base_pred_weight_table_flag 구문 요소를 상기 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 상기 확장 계층의 계층간 예측 블록이 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 사용해 인코딩되며, 상기 확장 계층의 비-계층간 예측 블록이 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩되는 것을 나타내는 단계를 구비하는 방법.
  • 제14항에 있어서,
    상기 인코딩하는 단계(1100)는, 상기 재표현된 base_pred_weight_table_flag 구문 요소가 상기 3개의 상이한 값으로부터의 미리 특정된 2개 값 중 하나일 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응하는 헤더 요소에 추가하는 단계를 구비하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 픽처의 상기 확장 계층의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 나타내며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 방법.
  • 확장 계층 기준 픽처에 가중 파라미터를 적용함으로써 픽처의 확장 계층의 블록을 디코딩하기 위한 디코더(200)를 구비하는 장치로서,
    상기 확장 계층의 상기 블록을 디코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 디코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 상기 확장 계층에서 적용 가능한 상이한 파라미터 중에서 적응적으로 판정되고, 상기 확장 계층의 상기 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하는 장치.
  • 제19항에 있어서,
    상기 디코더(200)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 계층간 예측 블록이 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 사용해 디코딩되며, 상기 확장 계층의 비-계층간 예측 블록이 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 장치.
  • 제19항에 있어서,
    상기 디코더(200)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 블록이, 계층간 예측 또는 비-계층간 예측으로서의 상태를 갖는 것과 무관하게, 상기 하부 계층의 대응하는 블록을 각각 디코딩하는데 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 장치.
  • 제19항에 있어서,
    상기 디코더(200)는, base_pred_weight_table_flag 구문 요소가 제1 값일 때, 대응하는 헤더 요소에서 base_mode_weight_flag 매크로블록 레벨 구문 요소를 판독하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 확장 계층의 계층간 예측 매크로블록을 디코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이에서 판정하는데 사용하며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 장치.
  • 제19항에 있어서,
    상기 디코더(200)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 3개의 상이한 값 중 하나를 취할 수 있는 장치.
  • 제23항에 있어서,
    상기 디코더(200)는 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터가 상기 확장 계층의 모든 매크로블록을 디코딩하는데 사용될 것을 나타내는 장치.
  • 제23항에 있어서,
    상기 디코더(200)는, 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 확장 계층의 모든 매크로블록에 대하여, 상기 하부 계층의 소정 매크로블록을 디코딩하기 위해 상기 하부 계층의 특정 기준 픽처에 적용되는 가중 파라미터가 상기 확장 계층의 상기 매크로블록 중 대응하는 하나를 디코딩하기 위해 상기 특정 기준 픽처에도 항상 적용될 것을 나타내는 장치.
  • 제23항에 있어서,
    상기 디코더(200)는 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 확장 계층의 계층간 예측 블록은 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 사용해 디코딩되며, 상기 확장 계층의 비-계층간 예측 블록은 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 장치.
  • 제23항에 있어서,
    상기 디코더(200)는, 상기 재표현된 base_pred_weight_table_flag 구문 요소가 상기 3개의 상이한 값으로부터의 미리 특정된 2개 값 중 하나일 때, 대응하는 헤더 요소에서 base_mode_weight_flag 매크로블록 레벨 구문 요소를 판독하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 픽처의 상기 확장 계층의 계층간 예측 매크로블록을 디코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이에서 판정하는데 사용하며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 장치.
  • 스케일러블 비디오 디코딩을 위한 방법으로서,
    확장 계층 기준 픽처에 가중 파라미터를 적용함으로써 픽처의 확장 계층의 블록을 디코딩(400, 600, 800, 1000, 1200)하는 단계를 구비하고,
    상기 확장 계층의 상기 블록을 디코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 디코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 상기 확장 계층에서 적용 가능한 상이한 파라미터 중에서 적응적으로 판정되고, 상기 확장 계층의 상기 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하는 장치.
  • 제28항에 있어서,
    상기 디코딩하는 단계(400)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 계층간 예측 블록은 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 사용해 디코딩되며, 상기 확장 계층의 비-계층간 예측 블록은 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 방법.
  • 제28항에 있어서,
    상기 디코딩하는 단계(600)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 2개의 상이한 값 중 하나를 취할 수 있고, 상기 2개의 상이한 값 중 제1 값은, 상기 확장 계층의 블록이, 계층간 예측 또는 비-계층간 예측으로서의 상태를 갖는 것과 무관하게, 상기 하부 계층의 대응하는 블록을 각각 디코딩하는데 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 방법.
  • 제28항에 있어서,
    상기 디코딩하는 단계(800)는, base_pred_weight_table_flag 구문 요소가 제1 값일 때, 대응하는 헤더 요소에서 base_mode_weight_flag 매크로블록 레벨 구문 요소를 판독하는 단계를 구비하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 확장 계층의 계층간 예측 매크로블록을 디코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이에서 판정하는데 사용하며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 방법.
  • 제28항에 있어서,
    상기 디코딩하는 단계(1O00, 1200)는 대응하는 헤더 요소에서 재표현된 base_pred_weight_table_flag 구문 요소를 판독하는 단계를 구비하며, 상기 재표현된 base_pred_weight_table_flag 구문 요소는 3개의 상이한 값 중 하나를 취할 수 있는 방법.
  • 제32항에 있어서,
    상기 디코딩하는 단계(1000)는 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터가 상기 확장 계층의 모든 매크로블록을 디코딩하는데 사용될 것을 나타내는 단계를 구비하는 방법.
  • 제32항에 있어서,
    상기 디코딩하는 단계(1000)는 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 확장 계층의 모든 매크로블록에 대하여, 상기 하부 계층의 소정 매크로블록을 디코딩하기 위해 상기 하부 계층의 특정 기준 픽처에 적용되는 가중 파라미터가 상기 확장 계층의 상기 매크로블록 중 대응하는 하나를 디코딩하기 위해 상기 특정 기준 픽처에도 항상 적용될 것을 나타내는 단계를 구비하는 방법.
  • 제32항에 있어서,
    상기 디코딩하는 단계(1000)는 상기 3개의 상이한 값 중 하나의 특정 값으로 설정된 상기 재표현된 base_pred_weight_table_flag 구문 요소를 판독하여, 상기 확장 계층의 계층간 예측 블록은 상기 하부 계층에서 상기 계층간 예측 블록에 대응하는 블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 사용해 디코딩되며, 상기 확장 계층의 비-계층간 예측 블록은 상기 하부 계층에서 상기 비-계층간 예측 블록에 대응하는 블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 디코딩되는 것을 나타내는 단계를 구비하는 방법.
  • 제32항에 있어서,
    상기 디코딩하는 단계(1200)는, 상기 재표현된 base_pred_weight_table_flag 구문 요소가 상기 3개의 상이한 값으로부터의 미리 특정된 2개 값 중 하나일 때, 대응하는 헤더 요소에서 base_mode_weight_flag 매크로블록 레벨 구문 요소를 판독하는 단계를 구비하며, 상기 base_mode_weight_flag 매크로블록 레벨 구문 요소는, 상기 픽처의 상기 확장 계층의 계층간 예측 매크로블록을 디코딩하는 것과 관련하여, 가중 파라미터의 제1 세트와 제2 세트 사이에서 판정하는데 사용하며, 상기 제1 세트는 상기 하부 계층의 대응하는 매크로블록을 디코딩하는데도 각각 사용되는 가중 파라미터를 포함하며, 상기 제2 세트는 상기 하부 계층의 상기 대응하는 매크로블록을 디코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함하는 방 법.
  • 스케일러블 비디오 인코딩을 위한 비디오 신호 구조로서,
    확장 계층 기준 픽처에 가중 파라미터를 적용함으로써 발생되는, 픽처의 확장 계층에서 인코딩된 블록을 구비하며,
    상기 확장 계층의 상기 블록을 인코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 상기 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택되고, 상기 확장 계층의 상기 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하는 비디오 신호 구조.
  • 스케일러블 비디오 신호 데이터가 인코딩되어 있는 저장 매체로서,
    확장 계층 기준 픽처에 가중 파라미터를 적용함으로써 발생되는, 픽처의 확장 계층에서 인코딩된 블록을 구비하며,
    상기 확장 계층의 상기 블록을 인코딩하는데 사용되는 상기 가중 파라미터는 상기 픽처의 상기 하부 계층의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 상기 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택되고, 상기 확장 계층의 상기 블록은 상기 하부 계층의 상기 블록에 대응하며, 상기 확장 계층 기준 픽처는 상기 하부 계층 기준 픽처에 대응하 는 저장 매체.
  • 说明书全文

    스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을 위한 방법 및 장치 {METHODS AND APPARATUS FOR WEIGHTED PREDICTION IN SCALABLE VIDEO ENCODING AND DECODING}

    관련 출원에 대한 상호 참조

    이 출원은, 그 전체가 여기에 참고문헌으로써 포함되어 있는, "METHOD AND APPARATUS FOR WEIGHTED PREDICTION IN SCALABLE VIDEO ENCODING AND DECODING"이라는 명칭으로 2005년 10월 12일에 출원된 미국 가명세서 특허출원 제60/725,687호의 우선권을 주장한다.

    본 발명은 일반적으로 비디오 인코딩 및 디코딩에 관한 것으로서, 좀더 구체적으로는, 스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을 위한 방법 및 장치에 관한 것이다.

    (이하에서는, "MPEG4/H.264 표준" 또는 단순히 "H.264 표준"이라고 하는) ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 표준이 가중 예측(Weighted Prediction:WP) 도구 를 포함하기 위한 최초의 국제 비디오 코딩 표준이다. H.264 표준의 수정으로서 현재적으로 개발되고 있는(그에 따라 여기에서 "H.264 표준"으로도 바뀌어 불리고 있는) 스케일러블 비디오 코딩(SVC) 표준 또한 가중 예측을 채택한다. 그러나, H.264 표준은 기본 계층과 확장 계층 사이의 가중치 관계를 특정하지 않는다.

    가중 예측은 H.264 표준의 Main, Extended, 및 High 프로파일에서 지원된다. WP의 사용은 시퀀스 파라미터 세트에서 P 및 SP 슬라이스를 위해서는 weighted_pred_flag 필드를 사용해 그리고 B 슬라이스를 위해서는 weighted_bipred_idc 필드를 사용해 지시된다. 2개의 WP 모드, 명시적 모드(explicit mode) 및 암시적 모드(implicit mode)가 존재한다. 명시적 모드는 P, SP, 및 B 슬라이스에서 지시된다. 암시적 모드는 B 슬라이스에서만 지시된다.

    0의 weighted_pred_flag는, 가중 예측이 P 및 SP 슬라이스에 적용되지 않을 것을 특정한다. 1의 weighted_pred_flag는, 가중 예측이 P 및 SP 슬라이스에 적용될 것을 지시한다.

    0의 weighted_bipred_idc는, 디폴트 가중 예측이 B 슬라이스에 적용될 것을 특정한다. 1의 weighted_bipred_idc는, 명시적 가중 예측이 B 슬라이스에 적용될 것을 특정한다. 2의 weighted_bipred_idc는, 암시적 가중 예측이 B 슬라이스에 적용될 것을 특정한다. weighted_bipred_idc의 값은 0에서 2까지를 포함하는 범위일 것이다.

    단일 가중 팩터 및 오프셋이 각 슬라이스에서의 컬러 컴포넌트 각각을 위한 기준 인덱스 각각과 연관된다. 명시적 모드에서, 이러한 WP 파라미터는 슬라이스 헤더로 코딩될 수도 있다. 암시적 모드에서, 이러한 WP 파라미터는 현재 픽처와 그것의 기준 픽처의 상대적 거리(relative distance)에만 기초해서 유도된다.

    각각의 매크로블록 또는 매크로블록 파티션의 경우, 적용되는 가중 파라미터는 현재 매크로블록 또는 매크로블록 파티션의 기준 픽처 인덱스(또는, 쌍방향 예측의 경우, 인덱스들)에 기초한다. 기준 픽처 인덱스는 비트스트림으로 코딩되거나, 예를 들어, 생략 또는 직접 모드 매크로블록을 위해 유도될 수도 있다. 기준 픽처 인덱스를 사용해 어떤 가중 파라미터가 적용될 것인지를 신호하는 것은, 비트스트림에서 가중 파라미터 인덱스를 요구하는 것에 비해, 비트레이트(bitrate) 효율적인데, 기준 픽처 인덱스는 요구되는 나머지 비트스트림 필드에 기초해 이미 이용 가능하기 때문이다.

    MPEG-2 및 H.264 표준의 스케일러빌리티 프로파일에서, SNR 스케일러빌리티, 공간 스케일러빌리티, 시간 스케일러빌리티, 및 FGS(fine grain scalabilty)를 포함하는, 스케일러빌리티의 상이한 다수 방법이 널리 연구되고 표준화되어 왔거나, H.264 표준의 수정으로서 현재적으로 개발되고 있다.

    공간, 시간, 및 SNR 스케일러빌리티의 경우, 상당한 정도의 계층간(inter-layer) 예측이 포함된다. 매크로블록내 및 매크로블록간은 선행 계층의 대응 신호를 사용해 예측될 수 있다. 더 나아가, 각 계층의 모션 기술(motion description)이 다음 확장 계층을 위한 모션 기술의 예측에 사용될 수 있다. 이 기술은 3개 카테고리: 계층간 텍스처내 예측, 계층간 모션 예측, 및 (residual_prediction_flag를 통한) 계층간 잔류 예측에 해당된다.

    (이하에서는, "MPEG4/H.264 표준" 또는 단순히 "H.264 표준"이라고 하는) ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 표준에 대한 확장/수정으로서 현재적으로 개발되고 있는 JSVM(Joint Scalable Video Model)에서, 확장 계층 매크로블록은, 2항(2-계층) 공간 스케일러빌리티의 경우에서와 같이, "BASE_LAYER_MODE" 또는 "QPEL_REFINEMENT_MODE" 중 하나를 사용해, 스케일된 기본 계층 모션 데이터를 사용하는 계층간 모션 예측을 이용할 수 있다. 또한, 매크로블록(또는 서브-매크로블록) 예측 모드에서, 모션 벡터의 예측자는, motion_prediction_flag_lx[]를 통해, 기본 계층 모션 벡터 또는 공간 이웃으로부터의 확장 계층 모션 벡터를 선택할 수 있다. 1의 motion_prediction_flag_lx[]는, (스케일된) 기본 계층 모션 벡터가 모션 벡터 예측자로서 사용된다는 것을 특정한다. 0의 motion_prediction_flag_lx[]는, 공간 이웃으로부터의 확장 계층 모션 벡터가 모션 벡터 예측자로서 사용된다는 것을 특정한다.

    스케일러블 비디오 코딩을 위한 가중 예측에 관련된 제1 및 제2의 종래 기술 접근 방법에서는, 확장 계층을 위해 항상 기본 계층 가중치를 계승하는 것이 제안되었다. 이것은, 동일 알고리즘이 기본 및 확장 계층에서의 가중 파라미터를 계산하는데 사용될 때, 확장 계층에서의 가중치가 전송될 필요가 없으므로, 효율적이다. 이러한 계승성이, 제1의 종래 기술 접근 방법에서는 슬라이스 헤더에 플래 그(base_pred_weight_table_flag)를 추가하는 것에 의해 지시되고, 제2의 종래 기술 접근 방법에서는 weighted_pred_flag, weighted_bipred_idc, motion_prediction_flag_lx[], 및 residue_prediction_flag의 구문 및 의미 변화에 의해 지시된다. 제1의 종래 기술 접근 방법에서는, base_pred_weight_tab1e_flag가 1일 때, 확장 계층은 항상 기본 계층 가중치를 계승한다. H.264 표준은, (앞서 언급된) 계층간 예측 모드가 사용되며 base_pred_weight_table_flag가 0일 때, 가중치의 어떤 세트가 확장 계층에 사용되어야 하는지를 특정하지 않는다.

    <발명의 개요>

    종래 기술의 이들 및 다른 약점 및 단점은, 스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을 위한 방법 및 장치에 관한 본 발명에 의해 다루어진다.

    본 발명의 태양에 따르면, 스케일러블 비디오 인코더가 제공된다. 스케일러블 비디오 인코더는 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 픽처의 확장 계층에서의 블록을 인코딩하기 위한 인코더를 포함한다. 확장 계층의 블록을 인코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 다른 태양에 따르면, 스케일러블 비디오 인코딩을 위한 방법이 제공된다. 본 방법은 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 픽처의 확장 계층에서의 블록을 인코딩하는 단계를 포함한다. 확장 계층의 블록을 인코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 또 다른 태양에 따르면, 스케일러블 비디오 디코더가 제공된다. 스케일러블 비디오 디코더는 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 확장 계층의 블록을 디코딩하기 위한 디코더를 포함한다. 확장 계층의 블록을 디코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층에서의 블록을 디코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 판정된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 추가 태양에 따르면, 스케일러블 비디오 디코딩을 위한 방법이 제공된다. 본 방법은 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 픽처의 확장 계층에서의 블록을 디코딩하는 단계를 포함한다. 확장 계층의 블록을 디코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층의 블록을 디코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 판정된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 또 다른 추가 태양에 따르면, 스케일러블 비디오 인코딩을 위한 비디오 신호 구조가 제공된다. 비디오 신호 구조는, 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 발생되는, 픽처의 확장 계층에서 인코딩된 블록을 포함한다. 확장 계층의 블록을 인코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층에서의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 또 다른 추가 태양에 따르면, 스케일러블 비디오 신호 데이터가 인코딩되어 있는 저장 미디어(storage media)가 제공된다. 스케일러블 비디오 신호 데이터는, 확장 계층 기준 픽처에 가중 파라미터를 적용하는 것에 의해 발생되는, 픽처의 확장 계층에서 인코딩된 블록을 포함한다. 확장 계층의 블록을 인코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층에서의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    본 발명의 이들 및 다른 태양, 사양, 및 이점은, 첨부 도면과 관련하여 판독되어야 하는, 예시적 실시예에 대한 다음의 상세한 설명으로부터 명백해질 것이다.

    본 발명은 다음의 예시적 도면에 따라 좀더 양호하게 이해될 수 있다.

    도 1은, 본 원리가 적용될 수 있는 예시적 JSVM(Joint Scalable Video Model)을 위한 블록도.

    도 2는, 본 원리가 적용될 수 있는 예시적 디코더를 위한 블록도.

    도 3은, 본 원리의 예시적 제1 실시예에 따른, 확장 계층을 인코딩하기 위한 방법을 위한 흐름도.

    도 4는, 본 원리의 예시적 제1 실시예에 따른, 확장 계층을 디코딩하기 위한 방법을 위한 흐름도.

    도 5는, 본 원리의 예시적 제2 실시예에 따른, 확장 계층을 인코딩하기 위한 방법을 위한 흐름도.

    도 6은, 본 원리의 예시적 제2 실시예에 따른, 확장 계층을 디코딩하기 위한 방법을 위한 흐름도.

    도 7은, 본 원리의 예시적 제3 실시예에 따른, 확장 계층을 인코딩하기 위한 방법을 위한 흐름도.

    도 8은, 본 원리의 예시적 제3 실시예에 따른, 확장 계층을 디코딩하기 위한 방법을 위한 흐름도.

    도 9는, 본 원리의 예시적 제4 실시예에 따른, 확장 계층을 인코딩하기 위한 방법을 위한 흐름도.

    도 10은, 본 원리의 예시적 제4 실시예에 따른, 확장 계층을 디코딩하기 위한 방법을 위한 흐름도.

    도 11은, 본 원리의 예시적 제5 실시예에 따른, 확장 계층을 인코딩하기 위 한 방법을 위한 흐름도.

    도 12는, 본 원리의 예시적 제5 실시예에 따른, 확장 계층을 디코딩하기 위한 방법을 위한 흐름도.

    본 발명은 스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을 위한 방법 및 장치에 관한 것이다.

    본 설명은 본 발명의 원리를 예시한다. 그에 따라, 당업자라면, 여기에서 명시적으로 설명되거나 도시되지 않는다 하더라도, 본 발명의 원리를 구체화하며 본 발명의 정신 및 범위내에 포함되는 다양한 구성을 고안할 수 있을 것을 알 수 있을 것이다.

    본 명세서에서 인용된 모든 일례 및 조건어는, 발명자에 의해 업계를 풍성하게 하는데 기여된 본 발명의 원리 및 개념을 판독자가 이해하는 것을 돕기 위한 교육적 목적을 위한 것이고, 여기에서 인용된 모든 일례 및 조건어가 구체적으로 인용된 그러한 일례 및 조건으로 제한되는 것으로 해석되어서는 안된다.

    더 나아가, 본 명세서에서 본 발명의 원리, 태양, 및 실시예를 인용하는 모든 문장뿐만 아니라 그것에 관한 구체적 일례는 그것에 관한 구조적 등가물과 기능적 등가물 양자를 포함하기 위한 것이다. 추가적으로, 그러한 등가물은 현재적으로 공지된 등가물 뿐만 아니라 미래에 개발될 등가물, 즉, 구조에 무관하게, 동일한 기능을 수행하는, 개발될 임의 요소 양자를 포함하기 위한 것이다.

    그에 따라, 예를 들어, 당업자라면, 여기에서 제시된 블록도가 본 발명의 원리를 구체화하는 예시적 회로의 개념도를 표현한다는 것을 알 수 있을 것이다. 마찬가지로, 임의 흐름도, 순서도, 상태 전이도, 의사코드 등은, 컴퓨터 또는 프로세서가 명시적으로 도시되어 있는지의 여부에 무관하게, 사실상 컴퓨터 판독 가능 미디어로 표현되어 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 표현한다는 것을 알 수 있을 것이다.

    도면에 도시된 다양한 요소의 기능은 전용 하드웨어 뿐만 아니라 적당한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수도 있다. 프로세서에 의해 제공되는 경우, 기능은 하나의 전용 프로세서에 의해, 하나의 공유 프로세서에 의해, 또는 그것들 중 일부가 공유될 수도 있는 복수개의 개별 프로세서에 의해 제공될 수도 있다. 더 나아가, "프로세서" 또는 "컨트롤러"라는 용어의 명시적 사용이 소프트웨어를 실행할 수 있는 하드웨어만을 의미하는 것으로 해석되어서는 안되며, 제한없이, DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하기 위한 ROM(read-only memory), 및 비휘발성 저장 장치를 암시적으로 포함할 수도 있다.

    다른 하드웨어, 전통적 하드웨어 및/또는 맞춤형 하드웨어가 포함될 수도 있다. 마찬가지로, 도면에 도시된 임의 스위치는 단지 개념적인 것일 뿐이다. 그것의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호 작용을 통해, 또는 심지어 수동적으로, 문맥으로부터 구체적으로 이해될 수 있는 바와 같이, 구현자에 의해 선택 가능한 특정 기술을 통해 수행될 수도 있다.

    청구의 범위에서, 특정 기능을 수행하기 위한 수단으로서 표현된 임의 요소는, 예를 들어, a) 그 기능을 수행하는 회로 요소의 조합 또는 b) 소프트웨어를 실행하여 그 기능을 수행하기 위한 적합한 회로와 조합된, 임의 형태의 소프트웨어, 따라서, 펌웨어, 마이크로코드 등을 포함하는, 그 기능을 수행하는 임의 방법을 포함하기 위한 것이다. 그러한 청구항에 의해 정의되는 본 발명은, 인용된 다양한 수단에 의해 제공되는 기능성이 청구항이 요구하는 방식으로 조합되고 합쳐진다는 사실에 해당된다. 그에 따라, 그러한 기능성을 제공할 수 있는 임의 수단은 여기에 도시된 것들과 등가인 것으로 간주된다.

    도 1을 참조하면, 본 발명이 적용될 수 있는 (이하에서는, "JSVM"이라고 하는) 예시적 JSVM(Joint Scalable Video Model) 인코더가 참조 번호 100에 의해 일반적으로 지시된다. JSVM 인코더(100)는 3개의 공간 계층 및 MCTF(motion compensated temporal filtering)를 사용한다. JSVM 인코더(100)는, 각각이 신호 데이터(102)를 수신하기 위한 입력을 갖춘, 2차원(2D) 데시메이터(104), 2D 데시메이터(106), 및 MCTF 모듈(108)을 포함한다.

    2D 데시메이터(106)의 출력은 MCTF 모듈(110)의 입력과 신호 통신으로 접속된다. MCTF 모듈(110)의 제1 출력은 모션 코더(112)의 입력과 신호 통신으로 접속되고, MCTF 모듈(110)의 제2 출력은 예측 모듈(116)의 입력과 신호 통신으로 접속된다. 모션 코더(112)의 제1 출력은 멀티플렉서(114)의 제1 입력과 신호 통신으로 접속된다. 모션 코더(112)의 제2 출력은 모션 코더(124)의 제1 입력과 신호 통신으로 접속된다. 예측 모듈(116)의 제1 출력은 공간 트랜스포머(118)의 입력과 신호 통신으로 접속된다. 공간 트랜스포머(118)의 출력은 멀티플렉서(114)의 제2 입력과 신호 통신으로 접속된다. 예측 모듈(116)의 제2 출력은 인터폴레이터(120;interpolator)의 입력과 신호 통신으로 접속된다. 인터폴레이터의 출력은 예측 모듈(122)의 제1 입력과 신호 통신으로 접속된다. 예측 모듈(122)의 제1 출력은 공간 트랜스포머(126)의 입력과 신호 통신으로 접속된다. 공간 트랜스포머(126)의 출력은 멀티플렉서(114)의 제2 입력과 신호 통신으로 접속된다. 예측 모듈(122)의 제2 출력은 인터폴레이터(130)의 출력과 신호 통신으로 접속된다. 인터폴레이터(130)의 출력은 예측 모듈(134)의 제1 입력과 신호 통신으로 접속된다. 예측 모듈(134)의 출력은 공간 트랜스포머(136)와 신호 통신으로 접속된다. 공간 트랜스포머의 출력은 멀티플렉서(114)의 제2 입력과 신호 통신으로 접속된다.

    2D 데시메이터(104)의 출력은 MCTF 모듈(128)의 입력과 신호 통신으로 접속된다. MCTF 모듈(128)의 제1 출력은 모션 코더(124)의 제2 입력과 신호 통신으로 접속된다. 모션 코더(124)의 제1 출력은 멀티플렉서(114)의 제1 입력과 신호 통신으로 접속된다. 모션 코더(124)의 제2 출력은 모션 코더(132)의 제1 입력과 신호 통신으로 접속된다. MCTF 모듈(128)의 제2 출력은 예측 모듈(122)의 제2 입력과 신호 통신으로 접속된다.

    MCTF 모듈(108)의 제1 출력은 모션 코더(132)의 제2 입력과 신호 통신으로 접속된다. 모션 코더(132)의 출력은 멀티플렉서(114)의 제1 입력과 신호 통신으로 접속된다. MCTF 모듈(108)의 제2 출력은 예측 모듈(134)의 제2 입력과 신호 통신으로 접속된다. 멀티플렉서(114)의 출력은 출력 비트스트림(138)을 제공한다.

    각각의 공간 계층을 위해, MCTD(motion compensated temporal decomposition)가 수행된다. 이 분해는 시간 스케일러빌리티를 제공한다. 하부 공간 계층으로부터의 모션 정보가 상부 계층에서의 모션 예측에 사용될 수 있다. 텍스처 인코딩(texture encoding)을 위해, 연속적인 공간 계층 사이의 공간 예측이 적용되어 리던던시(redundancy)를 제거할 수 있다. 예측내 또는 모션 보상 예측간으로부터 초래되는 잔류 신호는 트랜스폼 코딩(transform coding)된다. 품질 기본 계층 잔류는 각각의 공간 계층에서 최소의 재구성 품질을 제공한다. 이러한 품질 기본 계층은, 계층간 예측이 적용되지 않으면, H.264 표준 준수 스트림으로 인코딩될 수 있다. 품질 스케일러빌리티를 위해, 품질 확장 계층이 추가적으로 인코딩된다. 이 확장 계층은 CG(coarse grain)나 FG(fine grain) 품질의 (SNR) 스케일러빌리티를 제공하도록 선택될 수 있다.

    도 2를 참조하면, 본 발명이 적용될 수 있는 예시적 스케일러블 비디오 디코더가 참조 번호 200에 의해 일반적으로 지시된다. 디멀티플렉서(202)의 입력은, 스케일러블 비트스트림을 수신하기 위한, 스케일러블 비디오 디코더(200)로의 입력으로서 이용 가능하다. 디멀티플렉서(202)의 제1 출력은 공간 역변환 SNR 스케일러블 엔트로피 디코더(204)의 입력과 신호 통신으로 접속된다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(204)의 제1 출력은 예측 모듈(206)의 제1 입력과 신호 통신으로 접속된다. 예측 모듈(206)의 출력은 역 MCTF 모듈(208)의 제1 입력과 신호 통신으로 접속된다.

    공간 역변환 SNR 스케일러블 엔트로피 디코더(204)의 제2 출력은 모션 벡터(MV) 디코더(210)의 제1 입력과 신호 통신으로 접속된다. MV 디코더(210)의 출력은 역 MCTF 모듈(208)의 제2 입력과 신호 통신으로 접속된다.

    디멀티플렉서(202)의 제2 출력은 공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 입력과 신호 통신으로 접속된다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 제1 출력은 예측 모듈(214)의 제1 입력과 신호 통신으로 접속된다. 예측 모듈(214)의 제1 출력은 인터폴레이션 모듈(216)의 입력과 신호 통신으로 접속된다. 인터폴레이션 모듈(216)의 출력은 예측 모듈(206)의 제2 입력과 신호 통신으로 접속된다. 예측 모듈(214)의 제2 출력은 역 MCTF 모듈(218)의 제1 입력과 신호 통신으로 접속된다.

    공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 제2 출력은 MV 디코더(220)의 제1 입력과 신호 통신으로 접속된다. MV 디코더(220)의 제1 출력은 MV 디코더(210)의 제2 입력과 신호 통신으로 접속된다. MV 디코더(220)의 제2 출력은 역 MCTF 모듈(218)의 제2 입력과 신호 통신으로 접속된다.

    디멀티플렉서(202)의 제3 출력은 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 입력과 신호 통신으로 접속된다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 제1 출력은 예측 모듈(224)의 입력과 신호 통신으로 접속된다. 예측 모듈(224)의 제1 출력은 인터폴레이션 모듈(226)의 입력과 신호 통신으로 접속된다. 인터폴레이션 모듈(226)의 출력은 예측 모듈(214)의 제2 입력과 신호 통신으로 접속된다.

    예측 모듈(224)의 제2 출력은 역 MCTF 모듈(228)의 제1 입력과 신호 통신으로 접속된다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 제2 출력은 MV 디코더(230)의 입력과 신호 통신으로 접속된다. MV 디코더(230)의 제1 출력은 MV 디코더(220)의 제2 입력과 신호 통신으로 접속된다. MV 디코더(230)의 제2 출력은 역 MCTF 모듈(228)의 제2 입력과 신호 통신으로 접속된다.

    역 MCTF 모듈(228)의 출력은, 계층 0 신호를 출력하기 위한, 디코더(200)의 출력으로서 이용 가능하다. 역 MCTF 모듈(218)의 출력은, 계층 1 신호를 출력하기 위한, 디코더(200)의 출력으로서 이용 가능하다. 역 MCTF 모듈(208)의 출력은, 계층 2 신호를 출력하기 위한, 디코더(200)의 출력으로서 이용 가능하다.

    본 원리의 실시예에 따르면, 확장 계층 가중 예측을 위한 가중 파라미터는 기본 계층 가중치와 확장 계층 가중치 중에서 선택된다. 이것은 특히, 국지화된 밀도 변화(localized intensity changes)를 위한 코딩 성능을 향상시키는 결과를 초래할 수 있다. 본 원리의 다양한 실시예에서, 선택은 적응적으로 수행되고 그리고/또는 선택은 매크로블록 모드에 의존한다. 인코더에서의 모드 선택을 위해서도 다양한 예시적 실시예가 예시된다.

    인코더가 기본 및 확장 계층을 위해 상이한 알고리즘을 사용할 것을 선택하거나 기본 계층은 가중 예측을 사용하지 않지만 확장 계층은 가중 예측을 사용할 것을 선택하면, 확장 계층의 가중 파라미터가 명시적으로 전송된다.

    JSVM에서, 확장 계층 매크로블록은, 2항(2-계층) 공간 스케일러빌리티의 경우에서와 같이, "BASE_LAYER_MODE"나 "QPEL_REFINEMENT_MODE" 중 하나를 사용해, 스케일된 기본 계층 모션 데이터를 사용하는 계층간 예측을 이용할 수 있다. 또한, 매크로블록(또는 서브-매크로블록) 예측 모드에서, 모션 벡터 예측자는, motion_prediction_flag_lx[]를 통해, 기본 계층 모션 벡터 또는 공간 이웃으로부터의 확장 계층 모션 벡터 예측자 중에서 선택할 수 있다. 1의 motion_prediction_flag_lx[]는, (스케일된) 기본 계층 모션 벡터가 모션 벡터 예측자로서 사용된다는 것을 특정한다. 0의 motion_prediction_flag_lx[]는, 공간 이웃으로부터의 확장 계층 모션 벡터가 모션 벡터 예측자로서 사용된다는 것을 특정한다.

    base_mode_flag가 1이거나, base_mode_refinemend_flag가 1이거나, motion_prediction_flag_lx[]가 1일 때, 우리는 이 매크로블록을 계층간 예측 매크로블록이라고 한다.

    슬라이스 헤더 플래그(base_pred_weight_table_flag)는 현재적으로 2개 값, 0 또는 1의 값을 취한다. 0의 값은, 확장 계층(EL) 가중치가 전송될 것을 지시한다. 1의 값은, 기본 계층(BL) 가중치가 확장 계층을 위해 계승되어야 한다는 것을 지시한다.

    계층간 예측 모드를 위해, H.264 표준은 가중치의 어떤 세트를 사용할 것인지를 명시적으로 특정하지 않는다. 본 원리와 관련하여 이 경우를 분류하기 위해, 도 3 내지 도 12의 방법에 관해서 설명되는 바와 같이, 5개의 예시적 실시예가 제공된다. 물론, 본 원리가, 설명된 5개의 예시적 실시예만으로 제한되는 것은 아니며, 여기에서 제공되는 본 원리의 교수가 주어진다면, 이 업계 및 관련 업계의 당업자는, 본 원리의 범위를 유지하면서, 이들 및 여러 다른 실시예를 예상할 수 있을 것이다.

    제1 및 제2의 예시적 실시예에서는, base_pred_weight_table_flag가, 어떠한 구문 변화도 없이, 계층간 예측 매크로블록을 위해 0인 경우의 base_pred_weight_table_flag 사용을 분류한다. 제3의 예시적 실시예에서, 상술된 제1의 종래 기술 접근 방법은 매크로블록 계층에 새로운 구문 요소, 매크로블록에 기초해, 가중치의 어떤 세트가 계층간 예측 매크로블록을 위한 확장 계층에 사용될 것인지를 지시하는, base_mode_weight_flag를 추가하는 것에 의해 확장된다. 제4의 예시적 방법에서, base_pred_weight_table_flag는 다음에서 설명되는 바와 같이 3개의 값을 취하도록 확장된다. 제5의 예시적 방법에서는, 제4의 방법을 확장하여, BL 가중치 또는 EL 가중치가 사용될 것인지의 여부를 지시하기 위한 구문 요소(base_mode_weight_flag)를 매크로블록 계층에 추가한다.

    다음에서, 표 1은 제1, 제2, 및 제3의 예시적 실시예를 위한 슬라이스 헤더 구문을 예시한다. 표 2는 제4 및 제5의 예시적 실시예를 위한 슬라이스 헤더 구문을 예시한다. 표 3은 제3의 예시적 실시예를 위한 매크로블록 계층 구문을 예시한다. 표 4는 제5의 예시적 실시예를 위한 매크로블록 계층 구문을 예시한다.

    이하에서는, 제1의 예시적 실시예에 관한 설명이 제시될 것이다. 제1의 예시적 실시예에서는, 어떠한 구문 요소도 변경하지 않는다. base_pred_weight_table_flag가 0이고 확장 계층 매크로블록이 계층간 매크로블록일 경우, 직관적으로 기본 계층 가중치를 사용하여 대응하는 매크로블록을 가중할 것이다. 결과적으로, 디코더 또한 이 사실을 인지해야 할 것이다. 그에 따라, motion_prediction_flagjx[], base_mode_flag, 및 base_mode_refinement_flag를 위한 의미 변화를 제안한다. 특히, 구문의 기존 정의에 다음 라인을 추가할 것을 제안한다.

    1의 motion_prediction_flag_lO[mbPartldx]는, 기본 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    1의 base_mode_flag는, 기본 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    1의 base_mode_refinement_flag는, 기본 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    도 3을 참조하면, 가중 예측을 사용해 확장 계층을 인코딩하기 위한 방법이 참조 번호 300에 의해 일반적으로 지시된다. 본 방법(300)은, 확장 계층을 인코딩하기 시작하고 제어를 판정 블록(310)에게로 전달하는 시작 블록 305를 포함한다. 판정 블록 310은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 315에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 340에게로 전달된다.

    기능 블록 315는 기본 계층 가중 파라미터를 계층간 매크로블록에 사용하고, 제어를 기능 블록 320에게로 전달한다. 기능 블록 320은 획득된 가중치로써 기준 픽처를 가중하고, 제어를 기능 블록 325에게로 전달한다. 기능 블록 325는 확장 계층에 대응되는 슬라이스 헤더에 base_pred_weight_table_flag를 기입하고, 제어를 판정 블록 330에게로 전달한다. 판정 블록 330은, base_pred_weight_table_flag가 1(참)인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 335에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 350에게로 전달된다.

    기능 블록 335는 가중된 기준 픽처를 사용해 확장 계층 픽처를 인코딩하고, 제어를 종료 블록 399에게로 전달한다.

    기능 블록 350은 슬라이스 헤더에 가중치를 기입하고, 제어를 기능 블록 335에게로 전달한다.

    기능 블록 340은 확장 계층 픽처를 위한 가중치를 계산하고, 제어를 기능 블록 345에게로 전달한다. 기능 블록 345는 기본 계층 가중 파라미터를 확장 계층 픽처의 계층간 매크로블록에 그리고 확장 계층 가중 파라미터를 확장 계층 픽처의 나머지 매크로블록에 사용하고, 제어를 기능 블록 320에게로 전달한다.

    도 4를 참조하면, 가중 예측을 사용해 확장 계층을 디코딩하기 위한 방법이 참조 번호 400에 의해 일반적으로 지시된다. 본 방법(400)은, 확장 계층을 디코딩하기 시작하고 제어를 판정 블록 410에게로 전달하는 시작 블록 405를 포함한다. 판정 블록 410은, base_pred_weight_table_flag가 0인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 415에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 420에게로 전달된다.

    기능 블록 415는 기본 계층 가중 파라미터를 계층간 매크로블록에 사용하고, 확장 계층 가중 파라미터를 다른 모든 매크로블록에 사용하며, 제어를 종료 블록 499에게로 전달한다.

    기능 블록 420은 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 499에게로 전달한다.

    이하에서는, 제2의 예시적 방법에 관한 설명이 제공될 것이다. 제2의 예시적 방법의 동기는, motion_prediction_flag_lx[], base_mode_flag, 및 base_mode_refinement_flag의 의미를 다음과 같이 변경한다는 것을 제외하면, 제1의 예시적 방법과 유사하다. base_pred_weight_table_flag가 0일 때, 확장 계층은 항상 확장 계층 가중치를 사용하고 절대로 기본 계층 가중치를 사용하지 않는다.

    1의 motion_prediction_flaglO[mbPartldx]는, 확장 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    1의 base_mode_flag는, 확장 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    1의 base_mode_refinement_flag는, 확장 계층 pred_weight_table()이 현재의 매크로블록에 대한 가중 예측을 수행하는데 사용될 것을 특정한다.

    도 5를 참조하면, 가중 예측을 사용해 확장 계층을 인코딩하기 위한 방법이 참조 번호 500에 의해 일반적으로 지시된다. 본 방법은, 확장 계층을 인코딩하기 시작하고 제어를 판정 블록 510에게로 전달하는 시작 블록 505를 포함한다. 판정 블록 51O은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 515에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 540에게로 전달된다.

    기능 블록 515는 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 기능 블록 520에게로 전달한다. 기능 블록 520은 획득된 가중치로써 기준 픽처를 가중하고, 제어를 기능 블록 525에게로 전달한다. 기능 블록 525는 base_pred_weight_table_flag를 확장 계층에 대응되는 슬라이스 헤더에 기입하고, 제어를 판정 블록 530에게로 전달한다. 판정 블록 530은, base_pred_weight_table_flag가 1(참)인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 535에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 550에게로 전달된다.

    기능 블록 535는 가중된 기준 픽처를 사용해 확장 계층 픽처를 인코딩하고, 제어를 종료 블록 599에게로 전달한다.

    기능 블록 550은 가중치를 슬라이스 헤더에 기입하고, 제어를 기능 블록 535에게로 전달한다.

    기능 블록 540은 확장 계층 픽처를 위한 가중치를 계산하고, 제어를 기능 블록 545에게로 전달한다. 기능 블록 545는 확장 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 기능 블록 520에게로 전달한다.

    도 6을 참조하면, 가중 예측을 사용해 확장 계층을 디코딩하기 위한 방법이 참조 번호 600에 의해 일반적으로 지시된다. 본 방법(600)은, 확장 계층을 디코딩하기 시작하고 제어를 판정 블록 610에게로 전달하는 시작 블록 605를 포함한다. 판정 블록 610은, base_pred_weight_table_flag가 0인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 615에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 620에게로 전달된다.

    기능 블록 615는 확장 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 699에게로 전달한다.

    기능 블록 620은 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 699에게로 전달한다.

    이하에서는, 제3의 예시적 실시예에 관한 설명이 제시될 것이다. 제3의 예시적 실시예에서는, 기존의 슬라이스 헤더 구문, base_pred_weight_table_flag를 유지하지만, 표 3에 도시된 바와 같이, 매크로블록 계층에 새로운 구문 요소, base_mode_weight_flag를 추가한다.

    1의 base_mode_weight_flag는, 가중 파라미터가, 대응되는 기본 매크로블록에 의존하여 추정될 것을 특정한다. 0의 base_mode_weight_flag는, 가중 파라미터가 추정되지 않는다는 것을 특정한다.

    이 플래그는, base_pred_weight_tabie_flag가 0일 때만 존재한다. 이 경우, 인코더는 RDO(rate distortion optimization) 기술을 사용해, 가중치의 어떤 세트가 현재의 확장 계층 계층간 예측 매크로블록을 위해 최고 성능을 제공하는지를 판정할 수 있다. 기본 계층 가중치를 사용하는 것이 좀더 양호한 성능을 제공한다면, base_mode_weight_flag는 1로 설정되고; 그렇지 않으면, base_mode_weight_flag는 0으로 설정된다. 그 다음, 디코더는 base_mode_weight_flag를 디코딩하여 가중 파라미터의 어떤 세트가 현재의 MB를 재구성하는데 사용되어야 하는지를 판정할 수 있다.

    도 7을 참조하면, 가중 예측을 사용해 확장 계층을 인코딩하기 위한 방법이 참조 번호 700에 의해 일반적으로 지시된다. 본 방법 700은, 확장 계층을 인코딩하기 시작하고 제어를 판정 블록 710에게로 전달하는 시작 블록 705를 포함한다. 판정 블록 710은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 715에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 740에게로 전달된다.

    기능 블록 715는 기본 계층 픽처로부터 가중치를 획득하고, 제어를 기능 블록 720에게로 전달한다. 기능 블록 720은 가중된 기준 픽처로써 확장 계층 픽처를 인코딩하고, 제어를 판정 블록 725에게로 전달한다. 판정 블록 725는, base_pred_weight_table_flag가 1(참)인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 730에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 735에게로 전달된다.

    기능 블록 730은 확장 계층 픽처를 기입하고, 제어를 종료 블록 799에게로 전달한다.

    기능 블록 735는 확장 계층에 대응되는 슬라이스 헤더에 가중치를 기입하고, 제어를 기능 블록 730에게로 전달한다.

    기능 블록 740은 RDO(rate distortion optimization) 기술을 사용해 각각의 계층간 예측 매크로블록을 위한 기본 계층 가중치 및 확장 계층 가중치를 판정하고, 확장 계층 가중치를 다른 모든 매크로블록에 사용하며, 제어를 판정 블록 745에게로 전달한다. 판정 블록 745는, base_mode_weight_flag가 1인지의 여부 및 현재의 매크로블록이 계층간 예측 매크로블록인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 750에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 760에게로 전달된다.

    기능 블록 750은 기본 계층 가중치를 현재의 매크로블록에 사용하고, 제어를 판정 블록 755에게로 전달한다.

    기능 블록 760은 확장 계층 가중치를 현재의 매크로블록에 사용하고, 제어를 판정 블록 755에게로 전달한다.

    판정 블록 755는, 모든 매크로블록이 가중되었는지의 여부를 판정한다. 그렇다면, 제어는 판정 블록 725에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 740에게로 복귀된다.

    도 8을 참조하면, 가중 예측을 사용해 확장 계층을 디코딩하기 위한 방법이 참조 번호 800에 의해 일반적으로 지시된다. 본 방법(800)은, 확장 계층을 디코딩하기 시작하며 제어를 판정 블록 810에게로 전달하는 시작 블록 805를 포함한다. 판정 블록 810은, base_pred_weight_table_flag가 0인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 815에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 835에게로 전달된다.

    기능 블록 815는 슬라이스 사이의 매크로블록 각각을 위한 base_mode_weight_flag를 판독하고, 제어를 판정 블록 820에게로 전달한다. 판정 블록 820은, base_mode_weight_flag가 1인지의 여부 및 현재의 매크로블록이 계층간 매크로블록인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 825에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 830에게로 전달된다.

    기능 블록 825는 기본 계층 가중 파라미터를 현재의 매크로블록에 사용하고, 제어를 종료 블록 899에게로 전달한다.

    기능 블록 830은 확장 계층 파라미터를 현재의 매크로블록에 사용하고, 제어를 종료 블록 899에게로 전달한다.

    기능 블록 835는 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 899에게로 전달한다.

    이하에서는, 제4의 예시적 실시예에 관한 설명이 주어질 것이다. 제4의 실시예에서는, base_pred_weight_table_flag 구문을 변경하여 3개 값을 가정할 것과 의미 또한 변경하여 이 변화를 반영할 것을 제안한다.

    0의 base_pred_weight_table_flag는, 계층간 예측 모드를 위해 항상 확장 계층 가중치를 사용하는 것을 분명히 한다는 것을 제외하면, 확장 계층이 기본 계층으로부터 가중 파라미터를 계승하지 않는다는 점에서, add_ref_num과 유사하다.

    1의 base_pred_weight_table_flag는, 기본 계층 가중치를 확장 계층에서의 모든 매크로블록을 위해 계승하는 경우와 유사하다.

    2의 base_pred_weight_table_flag: 이 경우에는, MB 유형에 따라, 기본 계층 가중치와 확장 계층 가중치 중에서 적응적으로 선택할 것을 제안한다. 계층간 예측 매크로블록을 위해서는, 기본 계층 가중치를 사용할 것을 제안하는 한편, 다른 모든 매크로블록을 위해서는, 확장 계층 가중치를 사용할 것을 제안한다.

    제4의 방법에서, 인코더는 슬라이스 기반으로 어떤 모드(O, 1 , 2)를 선택할 것인지 판정한다. 가중 파라미터의 어떤 세트가 매크로블록 각각에 사용되는지를 지시하기 위해 추가 구문이 송신될 필요는 없다. Mode 2는, 기본 계층은 가중 예측을 사용하지 않지만 확장 계층은 가중 예측을 사용하며 시퀀스가 국지적 밀도 변화를 포함하는 경우에, 특히 유용하다. 국지적 밀도 변화를 포함하는 픽처에서는, 1개의 기준 픽처를 위해 2개의 상이한 가중치가 선택될 수 있기 때문이다. 그러한 국지적 밀도 변화를 포함하지 않는 픽처를 위해, 가중 파라미터를 사용할 필요는 없다.

    도 9를 참조하면, 가중 예측을 사용해 확장 계층을 인코딩하기 위한 방법이 참조 번호 900에 의해 일반적으로 지시된다. 본 방법(900)은, 확장 계층을 인코딩하기 시작하며 제어를 판정 블록 910에게로 전달하는 시작 블록 905를 포함한다. 판정 블록 910은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 915로 전달된다. 그렇지 않으면, 제어는 판정 블록 940에게로 전달된다.

    기능 블록 915는 기본 계층 픽처로부터 가중치를 획득하고, 제어를 기능 블록 920에게로 전달한다. 기능 블록 920은 가중된 기준 픽처로써 확장 계층 픽처를 인코딩하고, 제어를 판정 블록 925에게로 전달한다. 판정 블록 925는, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 930에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 935에게로 전달된다.

    기능 블록 930은 확장 계층 픽처를 기입하고, 제어를 종료 블록 999에게로 전달한다.

    기능 블록 935는 확장 계층에 대응되는 슬라이스 헤더에 가중치를 기입하고, 제어를 기능 블록 930에게로 전달한다.

    기능 블록 940은, base_pred_weight_table_flag가 2인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 945에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 950에게로 전달된다.

    기능 블록 945는 기본 계층 가중치를 계층간 예측 매크로블록 각각에 사용하고, 확장 계층 가중치를 다른 모든 매크로블록에 사용하며, 제어를 판정 블록 925에게로 전달한다.

    기능 블록 950은 확장 계층 가중치를 모든 매크로블록에 사용하고, 제어를 판정 블록 925에게로 전달한다.

    도 10을 참조하면, 가중 예측을 사용해 확장 계층을 디코딩하기 위한 방법이 참조 번호 1000에 의해 일반적으로 지시된다. 본 방법은, 확장 계층을 디코딩하기 시작하며 제어를 판정 블록 1010에게로 전달하는 시작 블록 1005를 포함한다. 판정 블록 1010은, base_pred_weight_table_flag가 0인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1015에게로 전달된다. 그렇지 않으면, 제어는 판정 블록 1020에게로 전달된다.

    기능 블록 1015는 확장 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 1099에게로 전달한다.

    판정 블록 1020은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1025에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1030에게로 전달된다.

    기능 블록 1025는 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 1099에게로 전달한다.

    기능 블록 1030은 기본 계층 가중 파라미터를 계층간 매크로블록에 사용하고, 확장 계층 가중 파라미터를 다른 모든 매크로블록에 사용하며, 제어를 종료 블록 1099에게로 전달한다.

    이하에서는 제5의 예시적 실시예에 관한 설명이 제시될 것이다. 제5 실시예에서는, 제4 실시예의 접근 방법이 확장되며, 표 4에 도시된 바와 같이, 새로운 구문 요소, base_mode_weight_flag가 매크로블록 계층에 추가된다. 이 플래그는 제3 실시예와 관련하여 앞서 정의된 바와 같이 정의된다.

    base_mode_weight_flag는, base_pred_weight_table_flag가 0 또는 2일 경우에만 존재한다. 제3 방법과 유사하게, 인코더는 RDO(rate distortion optimization) 기술을 사용해 가중치의 어떤 세트가 현재의 확장 계층 계층간 예측 매크로블록을 위해 최고 성능을 제공하는지를 판정할 수 있다. 기본 계층 가중치를 사용하는 것이 좀더 양호한 성능을 제공한다면, base_mode_weight_flag는 1로 설정되고; 그렇지 않으면, base_mode_weight_flag는 0으로 설정된다. 그 다음, 디코더는 base_mode_weight_flag를 디코딩하여 가중 파라미터의 어떤 세트가 현재의 매크로블록을 재구성하는데 사용되어야 하는지를 판정할 수 있다.

    가중치를 적응적으로 선택하는 것은, 예를 들어, 플래시(flashes), 익스플로젼(explosions) 등과 같은 국지화된 밀도 변화를 갖는 경우를 위해 좀더 양호한 코딩 효율성을 초래할 수 있다. 다른 방법으로, 예를 들어, 페이딩(fading)과 같은, 밀도에서의 전역적 변화가 존재하는 경우에는, 간단하게 1의 base_pred_weight_table_flag를 사용하는 것이 제안된다.

    가중치를 적응적으로 선택하는 것은, 슬라이스 기반이 아니라 매크로블록 기반으로 가중 파라미터가 저장될 것을 요구한다. 2 이상의 계층을 가질 경우, 좀더 높은 계층은 매크로블록 기반으로 가중 파라미터를 재선택할 수 있기 때문이다. 그에 따라, 현재의 계층에 계층간 예측을 사용하는 것은 그것의 대응되는 하부 계층의 가중 파라미터를 인지할 것을 요구한다.

    도 11을 참조하면, 가중 예측을 사용해 확장 계층을 인코딩하기 위한 방법이 참조 번호 1100에 의해 일반적으로 지시된다. 본 방법은, 확장 계층을 인코딩하기 시작하며 제어를 판정 블록 1110에게로 전달하는 시작 블록 1105를 포함한다. 판정 블록 1110은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1115에게로 전달된다. 그렇지 않으면, 제어는 판정 블록 1140에게로 전달된다.

    기능 블록 1115는 기본 계층 픽처로부터 가중치를 획득하고, 제어를 기능 블록 1120에게로 전달한다. 기능 블록 1120은 가중된 기준 픽처로써 확장 계층 픽처를 인코딩하고, 제어를 판정 블록 1125에게로 전달한다. 판정 블록 1125는, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1130에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1135에게로 전달된다.

    기능 블록 1130은 확장 계층 픽처를 기입하고, 제어를 종료 블록 1199에게로 전달한다.

    기능 블록 1135는 슬라이스 헤더에 가중치를 기입하고, 제어를 기능 블록 1130에게로 전달한다.

    판정 블록 1140은, base_pred_weight_table_flag가 2인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1145, 기능 블록 1150, 및 기능 블록 1155에게로 전달된다.

    기능 블록 1145는 기본 계층 가중치를 계층간 매크로블록(Cost A)에 사용하고, 제어를 기능 블록 1160에게로 전달한다.

    기능 블록 1150은 확장 계층 가중치를 계층간 매크로블록(Cost B)에 사용하고, 제어를 기능 블록 1160에게로 전달한다.

    기능 블록 1155는 확장 계층 가중치를 비-계층간 매크로블록(Cost C)에 사용하고, 제어를 기능 블록 1160에게로 전달한다.

    기능 블록 1160은 Cost A, Cost B, 및 Cost C 중에서 최소값을 판정하고, 제어를 판정 블록 1165에게로 전달한다. 판정 블록 1165는, Cost A가 최소값을 갖는지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1170에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1175에게로 전달된다.

    기능 블록 1170은 base_mode_weight_flag를 1로 설정하고, 그것을 확장 계층 비트스트림에 기입하며, 제어를 판정 블록 1180에게로 전달한다.

    기능 블록 1175는 base_mode_weight_flag를 0으로 설정하고, 그것을 확장 계층 비트스트림에 기입하며, 제어를 판정 블록 1180에게로 전달한다.

    판정 블록 1180은, 모든 매크로블록이 가중되었는지의 여부를 판정한다. 그렇다면, 제어는 판정 블록 1125에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1145에게로 복귀된다.

    기능 블록 1185는 확장 계층 가중치를 사용하고, 제어를 판정 블록 1125에게로 전달한다.

    도 12를 참조하면, 가중 예측을 사용해 확장 계층을 디코딩하기 위한 방법이 참조 번호 1200에 의해 일반적으로 지시된다. 본 방법은, 확장 계층을 디코딩하기 시작하며 제어를 판정 블록 1210에게로 전달하는 시작 블록 1205를 포함한다. 판정 블록 1210은, base_pred_weight_table_flag가 0인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1215에게로 전달된다. 그렇지 않으면, 제어는 판정 블록 1230에게로 전달된다.

    기능 블록 1215는 슬라이스 사이의 매크로블록 각각을 위한 base_mode_weight_flag를 판독하고, 제어를 판정 블록 1220에게로 전달한다. 판정 블록 1220은, base_mode_weight_flag가 1인지의 여부 및 현재의 매크로블록이 계층간 매크로블록인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1225에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1235에게로 전달된다.

    기능 블록 1225는 기본 계층 가중 파라미터를 현재의 매크로블록에 사용하고, 제어를 종료 블록 1299에게로 전달한다.

    기능 블록 1235는 확장 계층 가중 파라미터를 현재의 매크로블록에 사용하고, 제어를 종료 블록 1299에게로 전달한다.

    판정 블록 1230은, base_pred_weight_table_flag가 1인지의 여부를 판정한다. 그렇다면, 제어는 기능 블록 1240에게로 전달된다. 그렇지 않으면, 제어는 기능 블록 1215에게로 전달된다.

    기능 블록 1240은 기본 계층 가중 파라미터를 모든 매크로블록에 사용하고, 제어를 종료 블록 1299에게로 전달한다.

    이하에서는, 본 발명의 부수적인 다수 이점/사양 중 일부에 대한 설명이 제시될 것인데, 그것 중 일부는 앞서 언급되었다. 예를 들어, 한가지 이점/사양은, 가중 파라미터를 확장 계층 기준 픽처에 적용하는 것에 의해 픽처의 확장 계층에서의 블록을 인코딩하기 위한 인코더를 포함하는 스케일러블 비디오 인코더이다. 확장 계층의 블록을 인코딩하는데 사용되는 가중 파라미터는 픽처의 하부 계층에서의 블록을 인코딩하기 위해 하부 계층 기준 픽처에 적용되는 가중 파라미터와 확장 계층에서 적용 가능한 상이한 가중 파라미터 중에서 적응적으로 선택된다. 확장 계층의 블록은 하부 계층의 블록에 대응된다. 확장 계층 기준 픽처는 하부 계층 기준 픽처에 대응된다.

    다른 이점/사양은 상술된 바와 같은 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가한다. 재표현된 base_pred_weight_table_flag 구문 요소는 상이한 2개 값 중 하나를 가정할 수 있다. 상이한 2개 값 중 제1 값은, 확장 계층의 계층간 예측 블록은 계층간 예측 블록에 대응되는 블록을 인코딩하기 위해 하부 계층에서도 각각 사용되는 가중 파라미터를 사용해 인코딩된다는 것과 확장 계층의 비-계층간 예측 블록은 비-계층간 예측 블록에 대응되는 블록을 인코딩하기 위해 하부 계층에서 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩된다는 것을 지시하기 위한 것이다.

    더 나아가, 또 다른 이점/사양은 상술된 바와 같은 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가한다. 재표현된 base_pred_weight_table_flag 구문 요소는 상이한 2개 값 중 하나를 가정할 수 있다. 상이한 2개 값 중 제1 값은, 확장 계층에서의 블록이, 계층간 예측 또는 비-계층간 예측으로서의 상태를 갖는 것과 무관하게, 하부 계층의 대응되는 블록을 각각 인코딩하기 위해 사용된 것과는 상이한 가중 파라미터를 사용해 인코딩된다는 것을 지시하기 위한 것이다.

    더 나아가, 또 다른 이점/사양은 상술된 바와 같은 스케일러블 비디오 인코더인데, 이 경우, 인코더는, base_pred_weight_table_flag 구문 요소가 제1 값과 같을 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응되는 헤더 요소에 추가한다. base_mode_weight_flag 매크로블록 레벨 구문 요소는, 확장 계층의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 지시하기 위한 것이다. 제1 세트는 하부 계층의 대응되는 매크로블록을 인코딩하는데도 각각 사용된 가중 파라미터를 포함한다. 제2 세트는 하부 계층의 대응되는 매크로블록을 인코딩하는데 각각 사용된 것과는 상이한 가중 파라미터를 포함한다.

    또한, 또 다른 이점/사양은 상술된 바와 같은 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가한다. 재표현된 base_pred_weight_table_flag 구문 요소는 3개의 상이한 값을 가정할 수 있다.

    추가적으로, 또 다른 이점/사양은, 상술된 바와 같이, 3개의 상이한 값 중 하나를 가정할 수 있는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가하는 인코더를 가진 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 하부 계층의 대응되는 매크로블록을 인코딩하는데 각각 사용된 것과는 상이한 가중 파라미터가 확장 계층의 모든 매크로블록을 인코딩하는데 사용될 것을 지시한다.

    더 나아가, 또 다른 이점/사양은, 상술된 바와 같이, 3개의 상이한 값 중 하나를 가정할 수 있는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가하는 인코더를 가진 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 확장 계층의 모든 매크로블록을 위해, 하부 계층의 소정 매크로블록을 인코딩하기 위해 하부 계층의 특정 기준 픽처에 적용된 가중 파라미터가 확장 계층의 매크로블록 중 대응되는 하나를 인코딩하기 위한 특정 기준 픽처에도 항상 적용될 것을 지시한다.

    더 나아가, 또 다른 이점/사양은, 상술된 바와 같이, 3개의 상이한 값 중 하나를 가정할 수 있는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가하는 인코더를 가진 스케일러블 비디오 인코더인데, 이 경우, 인코더는 재표현된 base_pred_weight_table_flag 구문 요소를 3개의 상이한 값 중 하나의 특정 값으로 설정하여, 확장 계층의 계층간 예측 블록은 계층간 예측 블록에 대응되는 블록을 인코딩하기 위해 하부 계층에서도 각각 사용되는 가중 파라미터를 사용해 인코딩된다는 것과 확장 계층의 비-계층간 예측 블록은 비-계층간 예측 블록에 대응되는 블록을 인코딩하기 위해 하부 계층에서 각각 사용되는 것과는 상이한 가중 파라미터를 사용해 인코딩된다는 것을 지시한다.

    또한, 또 다른 이점/사양은, 상술된 바와 같이, 3개의 상이한 값 중 하나를 가정할 수 있는 재표현된 base_pred_weight_table_flag 구문 요소를 대응되는 헤더 요소에 추가하는 인코더를 가진 스케일러블 비디오 인코더인데, 이 경우, 인코더는, 재표현된 base_pred_weight_table_flag 구문 요소가 3개의 상이한 값 중 미리 특정된 2개 값 중 하나와 같을 때, base_mode_weight_flag 매크로블록 레벨 구문 요소를 대응되는 헤더 요소에 추가한다. base_mode_weight_flag 매크로블록 레벨 구문 요소는 픽처의 확장 계층에서의 계층간 예측 매크로블록을 인코딩하는 것과 관련하여 가중 파라미터의 제1 세트와 제2 세트 사이의 선택을 지시하기 위한 것이다. 제1 세트는, 하부 계층의 대응되는 매크로블록을 인코딩하는데도 각각 사용되는 가중 파라미터를 포함한다. 제2 세트는 하부 계층의 대응되는 매크로블록을 인코딩하는데 각각 사용되는 것과는 상이한 가중 파라미터를 포함한다.

    본 발명의 이들 및 다른 사양과 이점은 여기에서의 교수에 기초해 관련 업계의 당업자에 의해 쉽게 규명될 수 있다. 본 발명의 교수는 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서 또는 그것에 관한 조합의 다양한 형태로 구현될 수도 있다는 것을 이해할 수 있을 것이다.

    좀더 바람직스럽기로는, 본 발명의 교수는 하드웨어와 소프트웨어의 조합으로서 구현된다. 더 나아가, 소프트웨어는 프로그램 저장 유닛상에 명백하게 구현되는 애플리케이션 프로그램으로서 구현될 수도 있다. 애플리케이션 프로그램은 적당한 임의 아키텍처를 구비하는 머신에 의해 업로드 및 실행될 수도 있다. 바람직스럽기로는, 머신은 하나 이상의 CPU(central processing units), RAM(random access memory), 및 I/O(input/output) 인터페이스와 같은 하드웨어를 갖춘 컴퓨터 플랫폼상에 구현된다. 컴퓨터 플랫폼은 오퍼레이팅 시스템 및 마이크로 명령어 코드를 포함할 수도 있다. 여기에서 설명된 다양한 프로세스와 기능은, CPU에 의해 실행될 수 있는, 마이크로 명령어 코드의 일부이거나 애플리케이션 프로그램의 일부, 또는 그것에 관한 임의 조합일 수 있다. 또한, 추가 데이터 저장 유닛 및 인쇄 유닛과 같은, 다양한 다른 주변 장치 유닛이 컴퓨터 플랫폼에 접속될 수도 있다.

    부가적으로, 첨부 도면에 묘사된 구성 시스템 컴포넌트 및 방법의 일부는 소프트웨어로 구현되는 것이 바람직스럽기 때문에, 시스템 컴포넌트 또는 프로세스 기능 블록 사이의 실제 접속은 본 발명이 프로그램되는 방식에 따라 달라질 수도 있다는 것을 알 수 있을 것이다. 여기에서의 교수가 주어지면, 관련 업계의 당업자는 본 발명의 이들 및 유사한 구현 또는 구성을 예상할 수 있을 것이다.

    여기에서는 첨부 도면을 참조하여 예시적 실시예가 설명되었지만, 본 발명이 정확한 그 실시예로 제한되는 것은 아니라는 것과, 본 발명의 범위 또는 정신을 벗어나지 않으면서, 관련 업계의 당업자에 의해 다양한 변화 및 변경이 실시될 수도 있다는 것을 알 수 있을 것이다. 그러한 변화 및 변경 모두는 첨부된 청구항에서 기술되는 본 발명의 범위내에 포함되어야 한다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈