首页 / 专利库 / 多媒体工具与应用 / 视频编码 / 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치

제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치

阅读:969发布:2023-03-20

专利汇可以提供제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치专利检索,专利查询,专利分析的服务。并且PURPOSE: A method for encoding and decoding an image based on limited offset correction and a loop filter and a device thereof are provided to use sample adaptive offset correction or an encoding parameter of one or more blocks among a loop filter object block and a surrounding block, thereby limiting application of the offset correction or the loop filter when the image is encoded and decoded. CONSTITUTION: A decoder receives a limited offset correction indicator from an encoder(S200). The decoder receives an SAO(Sample Adaptive Offset) correction indicator, which indicates whether or not SAO correction is performed, from the encoder(S210). The decoder receives an SAO parameter from the encoder(S220). The decoder performs SAO correction based on the SAO correction indicator and the SAO parameter. [Reference numerals] (AA) Start; (BB) End; (S200) Receiving a limited offset correction indicator; (S210) Receiving an SAO correction indicator; (S220) Receiving an SAO parameter; (S230) Performing pixel adaptive offset correction;,下面是제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치专利的具体信息内容。

  • 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 오프셋 보상을 지원하는지 여부를 지시하는 제한된 오프셋 보상 지시자를 부호화기로부터 수신하는 단계;
    화소 적응적 오프셋(SAO; sample adaptive offset) 보상의 수행 여부를 지시하는 SAO 보상 지시자를 상기 부호화기로부터 수신하는 단계;
    SAO 파라미터를 상기 부호화기로부터 수신하는 단계; 및
    상기 SAO 보상 지시자 및 상기 SAO 파라미터를 기반으로 복원된 영상의 화소에 화소 적응적 오프셋 보상을 수행하는 단계를 포함하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 제한된 오프셋 보상 지시자는 비트 스트림(bit stream) 내의 시퀀스 파라미터 세트(SPS; sequence parameter set), 픽쳐 파라미터 세트(PPS; picture parameter set), 적응 파라미터 세트(APS; adaptation parameter set) 또는 슬라이스 헤더(slice header) 중 어느 하나에 포함되어 수신되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 제한된 오프셋 보상 지시자의 값이 '0'이면 상기 제한된 오프셋 보상을 지원하지 않고,
    상기 제한된 오프셋 보상 지시자의 값이 '1'이면 상기 제한된 오프셋 보상을 지원하는 것을 지시하는 것을 특징으로 하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 SAO 보상 지시자는 비트 스트림 내의 SPS, PPS, APS 또는 슬라이스 헤더 중 어느 하나에 포함되어 수신되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 SAO 파라미터는 오프셋 값, 오프셋 보상 블록 구조, 쿼드트리(quadtree) 깊이, 오프셋 타입(type), 오프셋 종류(category) 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  • 제 5 항에 있어서,
    상기 오프셋 타입의 개수는 총 7개인 것을 특징으로 하는 영상 복호화 방법.
  • 제 5 항에 있어서,
    상기 오프셋 타입에 대하여 특정 조건에 따라 상기 오프셋 종류가 결정되며,
    상기 오프셋 종류는 상기 오프셋 값에 대응되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 SAO 파라미터는 화소 적응적 오프셋 보상의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 1 항에 있어서,
    상기 화소 적응적 오프셋 보상은 화소 적응적 오프셋 보상의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 수행되는 것을 특징으로 하는 영상 복호화 방법.
  • 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 오프셋 보상을 지원하는지 여부를 지시하는 제한된 오프셋 보상 지시자를 복호화기로 전송하는 단계;
    화소 적응적 오프셋(SAO; sample adaptive offset) 보상의 수행 여부를 지시하는 SAO 보상 지시자를 상기 복호화기로 전송하는 단계;
    SAO 파라미터를 상기 복호화기로 전송하는 단계; 및
    상기 SAO 보상 지시자 및 상기 SAO 파라미터를 기반으로 복원된 영상의 화소에 화소 적응적 오프셋 보상을 수행하는 단계를 포함하는 영상 부호화 방법.
  • 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 루프 필터의 적용을 지원하는지 여부를 지시하는 제한된 루프 필터 지시자를 부호화기로부터 수신하는 단계;
    적응적 루프 필터(ALF; adaptive loop filteret) 적용 여부를 지시하는 ALF 보상 지시자를 상기 부호화기로부터 수신하는 단계;
    ALF 파라미터를 상기 부호화기로부터 수신하는 단계; 및
    상기 ALF 보상 지시자 및 상기 ALF 파라미터를 기반으로 복원된 영상의 화소에 ALF를 적용하는 단계를 포함하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 제한된 루프 필터 지시자는 비트 스트림(bit stream) 내의 시퀀스 파라미터 세트(SPS; sequence parameter set), 픽쳐 파라미터 세트(PPS; picture parameter set), 적응 파라미터 세트(APS; adaptation parameter set) 또는 슬라이스 헤더(slice header) 중 어느 하나에 포함되어 수신되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 제한된 루프 필터 지시자의 값이 '0'이면 상기 제한된 루프 필터의 적용을 지원하지 않고,
    상기 제한된 루프 필터 지시자의 값이 '1'이면 상기 제한된 루프 필터의 적용을 지원하는 것을 지시하는 것을 특징으로 하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 ALF 적용 지시자는 비트 스트림 내의 SPS, PPS, APS 또는 슬라이스 헤더 중 어느 하나에 포함되어 수신되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 ALF 파라미터는 필터 모양(shape), 필터 계수(coefficient), 필터 분류(classification) 방법, 필터 인덱스, 필터 예측 방법 및 필터 수행 최대 깊이 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  • 제 15 항에 있어서,
    상기 필터 분류 방법은 영역 기반 적응(RA; region-based adaptation) 방법과 블록 기반 적응(BA; block-based adaptation) 방법을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 ALF 파라미터는 ALF 적용의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정되는 것을 특징으로 하는 영상 복호화 방법.
  • 제 11 항에 있어서,
    상기 ALF 적용은 ALF 적용의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 적용되는 것을 특징으로 하는 영상 복호화 방법.
  • 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 루프 필터의 적용을 지원하는지 여부를 지시하는 제한된 루프 필터 지시자를 복호화기로 전송하는 단계;
    적응적 루프 필터(ALF; adaptive loop filter)의 적용 여부를 지시하는 ALF 적용 지시자를 상기 복호화기로 전송하는 단계;
    ALF 파라미터를 상기 복호화기로 전송하는 단계; 및
    상기 ALF 적용 지시자 및 상기 ALF 파라미터를 기반으로 복원된 영상의 화소에 ALF를 적용하는 단계를 포함하는 영상 부호화 방법.
  • 说明书全文

    제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치 {METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING BASED ON CONSTRAINED OFFSET COMPENSATION AND LOOP FILTER}

    본 발명은 디지털 영상에 관한 것으로, 보다 상세하게는 제한된 오프셋 보상 및 필터링을 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치에 관한 것이다.

    최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.

    영상 압축 기술에는 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 조명 변화 등에 의한 화질의 열화를 방지하기 위한 가중치 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 있다. 특히, 생략 모드(skip mode)에서 현재 블록에 대한 예측이 수행되는 경우, 이전 부호화된 영역으로부터 예측된 값만을 이용하여 예측 블록이 생성되고 별도의 움직임 정보(motion information)나 레지듀얼(residual) 신호가 부호화기로부터 복호화기로 전송되지 않는다. 이러한 영상 압축 기술들에 의해 영상 데이터가 효율적으로 압축될 수 있다.

    영상 부호화 및 복호화 시에 원본 영상과 복원 영상 간의 차이를 최소화하기 위하여 보상(offset compensation) 또는 루프 필터(loop filter)가 적용될 수 있다. 오프셋 보상의 경우, 원본 영상과 복원 영상 간의 화소값의 오차를 계산하여 오프셋을 구하고, 이를 복원 영상에 적용하여 원본 영상과의 왜곡을 최소화할 수 있다. 루프 필터의 경우, 원본 영상과 복원 영상 간의 오차를 최소화하는 위너 필터(Wiener filter)에 기반한 필터 계수를 유도한 후 이를 복원 영상에 적용하여 원본 영상과의 왜곡을 최소화할 수 있다.

    한편, 압축된 영상 비트 스트림(bit stream)이 에러가 발생하기 쉬운 네트워크 채널을 통해 전송될 수 있다. 그런데 종래의 오프셋 보상 또는 루프 필터는 압축된 영상 비트 스트림 내에서 에러가 발생하는 경우에 이에 대한 대응 방안이 없으므로 오프셋 보상 또는 루프 필터에 의해 에러가 시간적 또는 공간적으로 전파될 수 있다. 따라서 종래의 오프셋 보상 또는 루프 필터는 복원된 영상의 화질을 크게 저하시킬 수 있으며, 압축된 영상 비트 스트림의 복호화가 불가능할 수도 있다.

    따라서, 에러에 강인한 오프셋 보상 또는 루프 필터의 적용이 요구된다.

    본 발명의 기술적 과제는 제한된 오프셋 보상 및 필터링을 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치를 제공하는 데에 있다. 본 발명은 화소 적응적 오프셋 보상 또는 루프 필터 대상 블록과 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 이용하여 영상 부호화 및 복호화 시에 오프셋 보상 또는 루프 필터의 적용을 제한하는 방법을 제공한다.

    일 양태에 있어서, 영상 복호화 방법이 제공된다. 상기 영상 복호화 방법은 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 오프셋 보상을 지원하는지 여부를 지시하는 제한된 오프셋 보상 지시자를 부호화기로부터 수신하는 단계, 화소 적응적 오프셋(SAO; sample adaptive offset) 보상의 수행 여부를 지시하는 SAO 보상 지시자를 상기 부호화기로부터 수신하는 단계, SAO 파라미터를 상기 부호화기로부터 수신하는 단계, 및 상기 SAO 보상 지시자 및 상기 SAO 파라미터를 기반으로 복원된 영상의 화소에 화소 적응적 오프셋 보상을 수행하는 단계를 포함한다.

    상기 제한된 오프셋 보상 지시자는 비트 스트림(bit stream) 내의 시퀀스 파라미터 세트(SPS; sequence parameter set), 픽쳐 파라미터 세트(PPS; picture parameter set), 적응 파라미터 세트(APS; adaptation parameter set) 또는 슬라이스 헤더(slice header) 중 어느 하나에 포함되어 수신될 수 있다.

    상기 제한된 오프셋 보상 지시자의 값이 '0'이면 상기 제한된 오프셋 보상을 지원하지 않고, 상기 제한된 오프셋 보상 지시자의 값이 '1'이면 상기 제한된 오프셋 보상을 지원하는 것을 지시할 수 있다.

    상기 SAO 보상 지시자는 비트 스트림 내의 SPS, PPS, APS 또는 슬라이스 헤더 중 어느 하나에 포함되어 수신될 수 있다.

    상기 SAO 파라미터는 오프셋 값, 오프셋 보상 블록 구조, 쿼드트리(quadtree) 깊이, 오프셋 타입(type), 오프셋 종류(category) 중 적어도 하나 이상을 포함할 수 있다.

    상기 오프셋 타입의 개수는 총 7개일 수 있다.

    상기 오프셋 타입에 대하여 특정 조건에 따라 상기 오프셋 종류가 결정되며, 상기 오프셋 종류는 상기 오프셋 값에 대응될 수 있다.

    상기 SAO 파라미터는 화소 적응적 오프셋 보상의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다.

    상기 화소 적응적 오프셋 보상은 화소 적응적 오프셋 보상의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 수행될 수 있다.

    다른 양태에 있어서 영상 부호화 방법이 제공된다. 상기 영상 부호화 방법은 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 오프셋 보상을 지원하는지 여부를 지시하는 제한된 오프셋 보상 지시자를 복호화기로 전송하는 단계, 화소 적응적 오프셋(SAO; sample adaptive offset) 보상의 수행 여부를 지시하는 SAO 보상 지시자를 상기 복호화기로 전송하는 단계, SAO 파라미터를 상기 복호화기로 전송하는 단계, 및 상기 SAO 보상 지시자 및 상기 SAO 파라미터를 기반으로 복원된 영상의 화소에 화소 적응적 오프셋 보상을 수행하는 단계를 포함한다.

    또 다른 양태에 있어서, 영상 복호화 방법이 제공된다. 상기 영상 복호화 방법은 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 루프 필터의 적용을 지원하는지 여부를 지시하는 제한된 루프 필터 지시자를 부호화기로부터 수신하는 단계, 적응적 루프 필터(ALF; adaptive loop filter) 적용 여부를 지시하는 ALF 보상 지시자를 상기 부호화기로부터 수신하는 단계, ALF 파라미터를 상기 부호화기로부터 수신하는 단계, 및 상기 ALF 보상 지시자 및 상기 ALF 파라미터를 기반으로 복원된 영상의 화소에 ALF를 적용하는 단계를 포함한다.

    상기 제한된 루프 필터 지시자는 비트 스트림(bit stream) 내의 시퀀스 파라미터 세트(SPS; sequence parameter set), 픽쳐 파라미터 세트(PPS; picture parameter set), 적응 파라미터 세트(APS; adaptation parameter set) 또는 슬라이스 헤더(slice header) 중 어느 하나에 포함되어 수신될 수 있다.

    상기 제한된 루프 필터 지시자의 값이 '0'이면 상기 제한된 루프 필터의 적용을 지원하지 않고, 상기 제한된 루프 필터 지시자의 값이 '1'이면 상기 제한된 루프 필터의 적용을 지원하는 것을 지시할 수 있다.

    상기 ALF 적용 지시자는 비트 스트림 내의 SPS, PPS, APS 또는 슬라이스 헤더 중 어느 하나에 포함되어 수신될 수 있다.

    상기 ALF 파라미터는 필터 모양(shape), 필터 계수(coefficient), 필터 분류(classification) 방법, 필터 인덱스, 필터 예측 방법 및 필터 수행 최대 깊이 중 적어도 하나 이상을 포함할 수 있다.

    상기 필터 분류 방법은 영역 기반 적응(RA; region-based adaptation) 방법과 블록 기반 적응(BA; block-based adaptation) 방법을 포함할 수 있다.

    상기 ALF 파라미터는 ALF 적용의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다.

    상기 ALF 적용은 ALF 적용의 대상 블록과 상기 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 적용될 수 있다.

    또 다른 양태에 있어서, 영상 부호화 방법이 제공된다. 상기 영상 부호화 방법은 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 및 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 루프 필터의 적용을 지원하는지 여부를 지시하는 제한된 루프 필터 지시자를 복호화기로 전송하는 단계, 적응적 루프 필터(ALF; adaptive loop filter)의 적용 여부를 지시하는 ALF 적용 지시자를 상기 복호화기로 전송하는 단계, ALF 파라미터를 상기 복호화기로 전송하는 단계, 및 상기 ALF 적용 지시자 및 상기 ALF 파라미터를 기반으로 복원된 영상의 화소에 ALF를 적용하는 단계를 포함한다.

    영상 부호화 및 복호화 시에 에러에 강인하도록 오프셋 보상 또는 루프 필터를 적용할 수 있다.

    도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
    도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
    도 3은 제안된 영상 부호화 방법의 일 실시예를 나타낸다.
    도 4는 각도에 따라 결정되는 에지 오프셋의 타입을 나타낸다.
    도 5는 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 에지 오프셋 타입에서 오프셋 종류가 결정되는 경우를 나타낸다.
    도 6은 제안된 영상 복호화 방법의 일 실시예를 나타낸다.
    도 7은 제안된 영상 부호화 방법의 또 다른 실시예를 나타낸다.
    도 8은 제안된 영상 부호화 방법에서 부호화기가 결정하는 필터 모양의 일 예를 나타낸다.
    도 9는 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 BA 방법을 기반으로 필터를 분류하는 경우를 나타낸다.
    도 10은 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 ALF를 적용하는 경우의 일 예를 나타낸다.
    도 11은 제안된 영상 복호화 방법의 일 실시예를 나타낸다.

    이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.

    어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.

    제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.

    또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.

    또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.

    도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.

    도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(110), 움직임 보상부(115), 인트라 예측부(120), 감산기(125), 변환부(130), 양자화부(135), 엔트로피 부호화부(140), 역양자화부(145), 역변환부(150), 가산기(155), 필터부(160 및 참조영상 버퍼(165)를 포함한다.

    영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트 스트림(bit stream)을 출력할 수 있다. 인트라 모드인 경우에는 인트라 예측부(120)에서 예측이 수행되고, 인터 모드의 경우에는 움직임 예측부(110), 움직임 보상부(115) 등을 통해서 예측이 수행될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.

    인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.

    인터 모드인 경우, 움직임 예측부(110)는, 움직임 예측 과정에서 참조 영상 버퍼(170)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(115)는 움직임 벡터와 참조 영상 버퍼(165)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.

    감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 레지듀얼 블록(residual block)을 생성할 수 있다. 변환부(130)는 레지듀얼 블록에 대해 변환을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 레지듀얼 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 레지듀얼 신호를 블록 단위에서는 레지듀얼 블록이라 할 수 있다.

    양자화부(135)는 변환 계수를 양자화 파라미터에 따라 양자화한 양자화 계수(quantized coefficient)를 출력할 수 있다.

    엔트로피 부호화부(140)는, 양자화부(135)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등에 대응하는 심벌을 확률 분포에 따라 엔트로피 부호화하여 비트 스트림을 출력할 수 있다.

    엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되도록 함으로써 영상 부호화의 압축 성능을 높일 수 있다.

    엔트로피 부호화를 위해 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(140)에는 가변 길이 부호화(VLC; Variable Lenghth Coding/Code) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화부(145)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.

    양자화된 계수는 역양자화부(145)에서 역양자화되고 역변환부(150)에서 역변환될 수 있다. 가산기(155)는 예측 블록과 역변환된 양자화 계수를 이용하여 복원 블록을 생성할 수 있다.

    필터부(160)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(160)를 거친 복원 블록은 참조 영상 버퍼(165)에 저장될 수 있다.

    도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.

    도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260), 참조 영상 버퍼(270) 및 가산기(280)를 포함한다.

    영상 복호화 장치(200)는 부호화기에서 출력된 비트 스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우에는 인트라 예측부(240)에서 예측이 수행되고, 인터 모드인 경우에는 움직임 보상부(250)를 통해서 예측이 수행될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 레지듀얼 블록을 얻고 예측 블록을 생성한 후 복원된 레지듀얼 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.

    엔트로피 복호화부(210)는, 입력된 비트 스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient) 형태의 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법에 대응하여 수행될 수 있다.

    양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과 레지듀얼 블록이 생성될 수 있다.

    인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.

    가산기(280)는 레지듀얼 블록과 예측 블록을 기반으로 복원 블록을 생성할수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.

    이하, 실시예를 통해 제안되는 영상 부호화 및 복호화 방법을 설명하도록 한다. 먼저, 제한된 오프셋 보상을 기반으로 하는 영상 부호화 및 복호화 방법을 설명하도록 한다.

    도 3은 제안된 영상 부호화 방법의 일 실시예를 나타낸다.

    단계 S100에서 부호화기는 제한된 오프셋 보상 지시자(indicator)를 복호화기로 전송한다. 단계 S110에서 부호화기는 화소 적응적 오프셋(SAO; sample adaptive offset) 보상의 수행 여부를 지시하는 SAO 보상 지시자를 복호화기로 전송한다. 단계 S120에서 부호화기는 SAO 파라미터를 복호화기로 전송한다. 단계 S130에서 부호화기는 SAO 보상 지시자 및 SAO 파라미터를 기반으로 복원된 영상에 대하여 화소 적응적 오프셋 보상을 수행한다.

    단계 S100에서 전송되는 제한된 오프셋 보상 지시자에 대해서 설명한다.

    복호화기는 부호화기로부터 전송되는 제한된 오프셋 보상 지시자에 의하여 부호화 대상 시퀀스(sequence), 픽쳐(picture), 프레임(frame), 필드(field), 슬라이스(slice), 부호화 유닛(CU; coding unit), 예측 유닛(PU; prediction unit) 또는 변환 유닛(TU; transform unit) 중 적어도 하나 이상이 제한된 오프셋 보상을 지원하는지 여부를 판단할 수 있다.

    부호화기는 제한된 오프셋 보상 지시자를 비트 스트림에 삽입하여 복호화기로 전송할 수 있다. 제한된 오프셋 보상 지시자는 산술 부호화(arithmetic coding) 또는 가변 길이 부호화(VLC; variable length coding) 등의 엔트로피 부호화(entropy coding) 과정을 통해 비트 스트림에 삽입될 수 있다. 제한된 오프셋 보상 지시자는 비트 스트림 내의 시퀀스 파라미터 세트(SPS; sequence parameter set), 픽쳐 파라미터 세트(PPS; picture parameter set), 적응 파라미터 세트(APS; adaptation parameter set) 또는 슬라이스 헤더(slice header) 등을 이용하여 전송될 수 있다. 복호화기는 엔트로피 복호화(entropy decoding) 과정에 의하여 비트 스트림을 파싱(parsing)하여 전송되는 제한된 오프셋 보상 지시자를 얻을 수 있다.

    표 1은 비트 스트림에 삽입되는 제한된 오프셋 보상 지시자의 일 예를 나타낸다. 표 1에서 오프셋 보상 지시자는 시퀀스 파라미터 세트에 삽입된다.

    seq_parameter_set_rbsp() { Descriptor
    ...
    seq_parameter_set_id ue(v)
    pic_width_in_luma_samples u(16)
    pic_height_in_luma_samples u(16)
    constrained_intra_pred_flag u(1)
    constrained_offset_flag u(1)
    ...
    }

    표 1에서 constrained_offset_flag가 제한된 오프셋 보상 지시자를 나타낸다. constrained_offset_flag의 값이 0이면 제한된 오프셋 보상을 지원하지 않고, constrained_offset_flag의 값이 1이면 제한된 오프셋 보상을 지원하는 것을 지시할 수 있다. 또는, 에러에 강인한 화면 내 예측을 위한 파라미터인 constrained_intra_pred_flag의 값이 1이면 별도의 오프셋 보상 지시자의 삽입 없이 제한된 오프셋 보상을 지원하는 것을 지시할 수 있다.

    표 2는 비트 스트림에 삽입되는 제한된 오프셋 보상 지시자의 또 다른 예를 나타낸다. 표 2에서 제한된 오프셋 보상 지시자는 픽쳐 파라미터 세트에 삽입된다.

    pic_parameter_set_rbsp() { Descriptor
    ...
    pic_parameter_set_id ue(v)
    seq_parameter_set_id ue(v)
    constrained_offset_flag u(1)
    ...
    }

    표 2에서 constrained_offset_flag가 제한된 오프셋 보상 지시자를 나타낸다. constrained_offset_flag의 값이 0이면 제한된 오프셋 보상을 지원하지 않고, constrained_offset_flag의 값이 1이면 제한된 오프셋 보상을 지원하는 것을 지시할 수 있다.

    또는, 별도의 오프셋 보상 지시자의 삽입 없이 부호화기와 복호화기에서 항상 제한된 오프셋 보상을 지원하도록 할 수 있다.

    한편, 제한된 오프셋 보상 지시자가 1로 설정되어 부호화기가 제한된 오프셋 보상을 수행하게 되는 경우, 부호화기는 부호화 파라미터를 이용할 수 있다. 부호화 파라미터는 화면 내(intra) 부호화되었는지 화면 간(inter) 부호화 되었는지를 나타내는 부호화 모드(coding mode), 화면 내 예측 모드(intra prediction mode), 화면 간 예측 모드(inter prediction mode), 부호화 블록 플래그(CBF; coded block flag), 양자화 매개 변수(quantization parameter), 움직임 벡터(motion vector), 움직임 벡터 예측기(motion vector predictor), 참조 영상 색인(reference picture index), 슬라이스/타일 경계(slice/tile boundary) 여부 중 적어도 하나 이상을 포함한다.

    예를 들어 부호화 파라미터를 이용하여 제한된 오프셋 보상의 적용 대상 블록 또는 주변 블록들이 화면 내 부호화 되었는지 또는 화면 간 부호화 되었는지가 판단될 수 있다. 이때 어느 블록이 화면 내 부호화 되었다면 해당 블록을 화면 내 모드(intra mode)로 부호화 되었다고 할 수 있고, 어느 블록이 화면 간 부호화 되었다면 해당 블록을 화면 간 모드(intra mode)로 부호화 되었다고 할 수 있다. 또한 예를 들어 블록이 PCM(pulse coded modulation) 모드로 부호화 되었다면, 해당 블록은 화면 내 부호화 되었다고 판단될 수 있다.

    부호화기가 부호화 파라미터를 이용하여 제한된 오프셋 보상을 수행하는 경우, 부호화 파라미터에 따라 신뢰성 정도를 결정하고, 결정된 신뢰성 정도를 제한된 오프셋 보상 수행 시에 적용할 수 있다. 예를 들어 표 3과 같이 각 부호화 파라미터에 따라 신뢰성 정도를 판단할 수 있으며, 하나 이상의 부호화 파라미터의 조합에 따라 신뢰성 정도를 판단할 수도 있다.

    부호화 파라미터 신뢰성 강함 신뢰성 약함
    부호화 모드 화면 내 화면 간
    부호화 블록 플래그 CBF≠0 CBF=0
    양자화 매개변수 QP<특정 QP QP>특정 QP
    화면간 모드 스킵(skip) 모드가 아님 스킵 모드임
    슬라이스/타일 경계 경계 내 경계 밖

    표 3을 참조하면, 화면 내로 부호화된 블록은 현재 슬라이스 내에서 예측이 수행되므로 신뢰성이 강하다고 판단할 수 있고, 화면 간으로 부호화된 블록은 이전 슬라이스를 통해서 예측이 수행되므로 신뢰성이 약하다고 판단할 수 있다. 또한, CBF=0이거나 화면 간 모드가 스킵 모드인 경우 잔여 신호(residual signal)가 존재하지 않으므로, 다른 블록과 비교했을 때 상대적으로 왜곡이 크며 신뢰성이 약하다고 판단할 수 있다. 또한, 슬라이스/타일 경계 내에 있는 블록은 신뢰성이 강하다고 판단할 수 있고, 경계 밖에 있는 블록은 신뢰성이 약하다고 판단할 수 있다.

    제한된 오프셋 보상이 수행되는 경우, 특히 화소 적응적 오프셋 보상이 수행될 수 있다. 부호화기는 원본 영상과 복원 영상 간의 화소 값 오차를 계산하여 오프셋을 구하고 이를 복원 영상에 적용하여 원본 영상과의 왜곡을 최소화 함으로써 성능을 향상시킬 수 있다.

    단계 S110에서 전송되는 SAO 보상 지시자는 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 적응 파라미터 세트 또는 슬라이스 헤더 등에 포함되어 전송될 수 있다. SAO 보상 지시자는 sample_adaptive_offset_enabled_flag일 수 있다. 또한, 휘도 성분과 색차 성분에 대하여 화소 적응적 오프셋 보상을 수행할지 여부를 각각의 비트 스트림에 포함하여 시그널링 할 수 있다.

    단계 S120에서 전송되는 SAO 파라미터에 대해서 설명한다.

    SAO 파라미터는 오프셋 보상 블록 구조, 쿼드트리 깊이, 오프셋 타입(type), 오프셋 종류(category) 및 오프셋 값 중 적어도 하나 이상을 포함할 수 있다. SAO 파라미터는 비트 스트림 내에 오프셋 보상 블록 구조를 포함할 수 있다. SAO 파라미터 내에 오프셋 보상 블록 구조는 sao_split_flag일 수 있다. 이때 하나의 슬라이스를 쿼드트리(quadtree)로 분할하여 오프셋 보상 블록 구조에 대한 정보를 시그널링 할 수 있다. 또한, 쿼드트리로 분할하는 깊이(depth)에 대한 정보도 비트 스트림에 포함될 수 있으며, 분할되는 영역의 최소 단위는 LCU(largest coding unit)일 수 있다.

    또는, SAO 파라미터는 오프셋 타입, 오프셋 종류 및 오프셋 값을 포함할 수 있다. 표 4는 화소 적응적 오프셋 보상에서 오프셋 타입 및 이에 따른 오프셋 종류의 개수를 나타낸다.

    오프셋 타입 인덱스 오프셋 타입 오프셋 종류 개수
    0 오프셋 수행 안 함 0
    1 에지
    오프셋
    1차원 0도 형식 에지 오프셋 4
    2 1차원 90도 형식 에지 오프셋 4
    3 1차원 135도 형식 에지 오프셋 4
    4 1차원 45도 형식 에지 오프셋 4
    5 밴드
    오프셋
    중앙 밴드 오프셋 16
    6 측면 밴드 오프셋 16

    표 4를 참조하면, 오프셋 타입의 개수는 총 7개일 수 있다. 각 오프셋 타입은 서로 다른 개수와 서로 다른 오프셋 값을 가질 수 있다. 에지 오프셋(EO; edge offset)은 각도에 따라 4개의 오프셋 타입으로 분류될 수 있다. 에지 오프셋에서 각 오프셋 타입은 조건(condition)에 의하여 4개의 오프셋 종류를 가질 수 있다. 에지 오프셋에서 오프셋 종류는 오프셋 보상 대상 화소와 주변 화소들을 비교하여 결정될 수 있다. 밴드 오프셋(BO; band offset)은 밴드의 위치에 따라 2개의 오프셋 타입으로 분류될 수 있으며, 각각 16개의 오프셋 종류를 가질 수 있다. 밴드 오프셋에서 오프셋 종류는 오프셋 보상 대상 화소가 가질 수 있는 화소 값의 범위를 16개 구간으로 나눈 뒤 나눠진 구간 중 어디에 해당하는지에 따라 결정될 수 있다. 결정된 오프셋 타입에 따라 오프셋 타입 인덱스가 부호화되어 복호화기로 시그널링 될 수 있고, 오프셋 종류는 시그널링 없이 부호화기와 복호화기에서 각각 조건에 의하여 분류될 수 있다. 결정된 오프셋 종류는 각각 파싱된 오프셋 값에 대응될 수 있다. 오프셋 타입이 에지 오프셋으로 결정된 경우 4개의 오프셋 값이 복호화기로 시그널링 될 수 있고, 밴드 오프셋으로 결정된 경우 16개의 오프셋 값이 복호화기로 시그널링 될 수 있다.

    한편, SAO 파라미터는 화소 적응적 오프셋 보상의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다. 예를 들어 에지 오프셋 타입에서 오프셋 종류를 결정함에 있어서, 화소 적응적 오프셋 보상의 대상 블록과 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 이용할 수 있다.

    도 4는 각도에 따라 결정되는 에지 오프셋의 타입을 나타낸다. 에지 오프셋은 각도에 따라 4개의 오프셋 타입으로 분류될 수 있다. 도 4에서 C는 화소 적응적 오프셋 보상의 대상 화소를 나타내며, N은 주변 화소를 나타낸다.

    도 5는 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 에지 오프셋 타입에서 오프셋 종류가 결정되는 경우를 나타낸다.

    도 5를 참조하면, 화소 적응적 오프셋 보상의 대상 블록과 좌측 블록이 화면 내로 부호화 되며, 대상 블록과 상위 블록은 화면 간 부호화 된다. 즉, 도 5에서 C와 N 1 은 화면 내 블록 화소가 되고, N 2 는 화면 간 블록 화소가 된다. 표 5는 오프셋 종류가 결정되는 조건을 나타내며, N은 N 1 또는 N 2 가 될 수 있다.

    오프셋 종류 조건
    1 C가 2개의 N보다 작다
    2 C가 하나의 N보다 작고, 다른 하나의 N과 같다
    3 C가 하나의 N보다 크고, 다른 하나의 N과 같다
    4 C가 2개의 N보다 크다
    0 위의 조건에 해당되지 않는다

    화소 적응적 오프셋 보상의 대상 화소가 화면 내로 부호화된 블록에 포함되고 화면 간으로 부호화된 주변 블록의 화소에 에러가 발생한 경우를 가정한다. 이때 오프셋 종류를 결정함에 있어서, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 대상 블록 내의 화면 내로 부호화된 화소들만을 이용하여 오프셋 종류를 결정할 수 있다. 이는 화면 내로 부호화된 블록의 화소로 에러가 전파되는 것을 방지하기 위함이다. 또는, 오프셋 종류를 결정함에 있어서 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 화면 간으로 부호화된 블록의 화소들을 화면 내로 부호화된 블록의 화소들로 대체하여 오프셋 종류를 결정할 수 있다. 예를 들어, 도 5에서 N 2 의 화소값을 D의 화소값으로 대체하여 오프셋 종류를 결정할 수 있다. 또는, 오프셋 종류를 결정하지 않을 수도 있다.

    부호화기는 SAO 보상 지시자 및 SAO 파라미터를 기반으로 계산된 오프셋 값을 화소 값에 더하여 오프셋 보상된 화소 값을 복원할 수 있다. 복호화기는 각 오프셋 값을 복호화한 후, 각 블록 내의 화소마다 조건에 의해 분류되는 오프셋 종류에 대응되는 오프셋 값을 이용하여 화소 적응적 오프셋 보상을 수행할 수 있다.

    화소 적응적 오프셋 보상은 화소 적응적 오프셋 보상의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 수행될 수 있다. 화소 적응적 오프셋 보상의 대상 화소가 화면 내로 부호화된 블록에 포함되고 화면 간으로 부호화된 주변 블록의 화소에 에러가 발생한 경우를 가정하면, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 대상 블록 내의 화면 내로 부호화된 화소들만을 이용하여 화소 적응적 오프셋 보상을 수행할 수 있다. 이는 화면 내로 부호화된 블록의 화소로 에러가 전파되는 것을 방지하기 위함이다. 또는, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 화면 간으로 부호화된 블록의 화소들을 화면 내로 부호화된 블록의 화소들로 대체하여 화소 적응적 오프셋 보상을 수행할 수 있다. 또는, 화소 적응적 오프셋 보상을 수행하지 않을 수도 있다.

    이상의 과정을 종합하면, 부호화기는 하나의 슬라이스를 쿼드트리 구조의 다양한 블록의 크기로 분할하고, 각 블록마다 에지 오프셋 또는 밴드 오프셋 중에서 최적의 타입을 율-왜곡 최적화(RDO; rate-distortion optimization)을 이용하고 결정하고, 결정된 최적의 타입에 대해서 오프셋 종류 및 오프셋 값을 결정할 수 있다. 이와 같은 SAO 파라미터는 엔트로피 부호화 되어 복호화기로 전송될 수 있다.

    지금까지 설명한 제한된 오프셋 보상을 기반으로 하는 영상 부호화 방법은 영상 복호화 방법에도 그대로 적용될 수 있다. 즉, 복호화기는 부호화기로부터 전송되는 제한된 오프셋 보상 지시자, SAO 보상 지시자, SAO 파라미터 등을 수신하여 파싱하고, 이를 기반으로 화소 적응적 오프셋 보상을 수행한다.

    도 6은 제안된 영상 복호화 방법의 일 실시예를 나타낸다.

    단계 S200에서 복호화기는 제한된 오프셋 보상 지시자를 부호화기로부터 수신한다. 단계 S210에서 복호화기는 SAO 보상의 수행 여부를 지시하는 SAO 보상 지시자를 부호화기로부터 수신한다. 단계 S220에서 복호화기는 SAO 파라미터를 부호화기로부터 수신한다. 단계 S230에서 복호화기는 SAO 보상 지시자 및 SAO 파라미터를 기반으로 화소 적응적 오프셋 보상을 수행한다.

    복호화기는 비트 스트림 내의 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 적응 파라미터 세트 또는 슬라이스 헤더 등에 포함되어 전송되는 SAO 보상 지시자 sample_adaptive_offset_enabled_flag를 파싱하여 SAO 보상의 수행 여부를 결정할 수 있다. SAO 파라미터가 비트 스트림 내에 오프셋 보상 블록 구조에 대한 정보인 sao_split_flag를 포함하는 경우, 복호화기는 이를 파싱하여 화소 적응적 오프셋 보상을 수행할 블록의 구조를 결정할 수 있다. 또한, 복호화기는 비트 스트림에 포함된 쿼드트리로 분할하는 깊이에 대한 정보도 파싱할 수 있다.

    복호화기는 부호화기로부터 전송되는 SAO 파라미터를 파싱할 수 있다. 오프셋 타입 및 그에 따른 오프셋 종류는 앞에서 설명한 표 4를 따를 수 있다. 오프셋 타입의 개수는 총 7개일 수 있다. 각 오프셋 타입은 서로 다른 개수와 서로 다른 오프셋 값을 가질 수 있다. 오프셋 타입이 에지 오프셋으로 결정된 경우 복호화기는 4개의 오프셋 값을 비트 스트림으로부터 파싱할 수 있고, 밴드 오프셋으로 결정된 경우 16개의 오프셋 값을 비트 스트림으로부터 파싱할 수 있다. 또한, 각 오프셋 타입에 따른 오프셋 종류는 각각 파싱된 오프셋 값에 대응될 수 있다. 예를 들어, 에지 오프셋에서 오프셋 종류는 오프셋 보상 대상 화소와 주변 화소들을 비교하여 결정될 수 있고, 밴드 오프셋에서 오프셋 종류는 오프셋 보상 대상 화소가 가질 수 있는 화소 값의 범위를 16개 구간으로 나눈 뒤 나눠진 구간 중 어디에 해당하는지에 따라 결정될 수 있다. 한편, SAO 파라미터는 화소 적응적 오프셋 보상의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다.

    복호화기는 SAO 보상 지시자 및 SAO 파라미터를 기반으로 계산된 오프셋 값을 화소 값에 더하여 오프셋 보상된 화소 값을 복원할 수 있다. 화소 적응적 오프셋 보상은 화소 적응적 오프셋 보상의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 수행될 수 있다.

    이하, 적응적 루프 필터(ALF; adaptive loop filter)를 기반으로 하는 영상 부호화 및 복호화 방법을 설명하도록 한다.

    도 7은 제안된 영상 부호화 방법의 또 다른 실시예를 나타낸다.

    단계 S300에서 부호화기는 제한된 루프 필터 지시자를 복호화기로 전송한다. 단계 S310에서 부호화기는 ALF의 적용 여부를 지시하는 ALF 적용 지시자를 복호화기로 전송한다. 단계 S320에서 부호화기는 ALF 파라미터를 복호화기로 전송한다. 단계 S330에서 부호화기는 ALF 적용 지시자 및 ALF 파라미터를 기반으로 복원된 영상에 대하여 ALF를 적용한다.

    단계 S300에서 전송되는 제한된 루프 필터 지시자에 대해서 설명한다.

    복호화기는 부호화기로부터 전송되는 제한된 루프 필터 지시자에 의하여 부호화 대상 시퀀스, 픽쳐, 프레임, 필드, 슬라이스, CU, PU 또는 TU 중 적어도 하나 이상이 제한된 루프 필터를 적용하는지 여부를 판단할 수 있다.

    부호화기는 제한된 루프 필터 지시자를 비트 스트림에 삽입하여 복호화기로 전송할 수 있다. 제한된 루프 필터 지시자는 산술 부호화 또는 VLC 등의 엔트로피 부호화 과정을 통해 비트 스트림에 삽입될 수 있다. 제한된 오프셋 보상 지시자는 비트 스트림 내의 SPS, PPS, APS 또는 슬라이스 헤더 등을 이용하여 전송될 수 있다. 복호화기는 엔트로피 복호화 과정에 의하여 비트 스트림을 파싱하여 전송되는 제한된 오프셋 보상 지시자를 얻을 수 있다.

    표 6은 비트 스트림에 삽입되는 제한된 루프 필터 지시자의 일 예를 나타낸다. 표 6에서 루프 필터 지시자는 시퀀스 파라미터 세트에 삽입된다.

    seq_parameter_set_rbsp() { Descriptor
    ...
    seq_parameter_set_id ue(v)
    pic_width_in_luma_samples u(16)
    pic_height_in_luma_samples u(16)
    constrained_intra_pred_flag u(1)
    constrained_filter_flag u(1)
    ...
    }

    표 6에서 constrained_filter_flag가 제한된 루프 필터 지시자를 나타낸다. constrained_filter_flag의 값이 0이면 제한된 루프 필터를 적용하지 않고, constrained_filter_flag의 값이 1이면 제한된 루프 필터를 지원하는 것을 지시할 수 있다. 또는, 에러에 강인한 화면 내 예측을 위한 파라미터인 constrained_intra_pred_flag의 값이 1이면 별도의 루프 필터 지시자의 삽입 없이 제한된 루프 필터를 적용하는 것을 지시할 수 있다.

    표 7은 비트 스트림에 삽입되는 제한된 루프 필터 지시자의 또 다른 예를 나타낸다. 표 7에서 제한된 루프 필터 지시자는 픽쳐 파라미터 세트에 삽입된다.

    pic_parameter_set_rbsp() { Descriptor
    ...
    pic_parameter_set_id ue(v)
    seq_parameter_set_id ue(v)
    constrained_fitler_flag u(1)
    ...
    }

    표 7에서 constrained_filter_flag가 제한된 루프 필터 지시자를 나타낸다. constrained_filter_flag의 값이 0이면 제한된 루프 필터를 적용하지 않고, constrained_filter_flag의 값이 1이면 제한된 루프 필터를 적용하는 것을 지시할 수 있다.

    또는, 별도의 루프 필터 지시자의 삽입 없이 부호화기와 복호화기에서 항상 제한된 루프 필터를 적용하도록 할 수 있다.

    한편, 제한된 루프 필터 지시자가 1로 설정되어 부호화기가 제한된 루프 필터를 적용하게 되는 경우, 부호화기는 부호화 파라미터를 이용할 수 있다. 부호화 파라미터는 화면 내 부호화되었는지 화면 간 부호화 되었는지를 나타내는 부호화 모드, 화면 내 예측 모드, 화면 간 예측 모드, CBF, 양자화 매개 변수, 움직임 벡터, 움직임 벡터 예측기, 참조 영상 색인, 슬라이스/타일 경계 여부 중 적어도 하나 이상을 포함한다.

    예를 들어 부호화 파라미터를 이용하여 제한된 루프 필터의 적용 대상 블록 또는 주변 블록들이 화면 내 부호화 되었는지 또는 화면 간 부호화 되었는지가 판단될 수 있다. 이때 어느 블록이 화면 내 부호화 되었다면 해당 블록을 화면 내 모드로 부호화 되었다고 할 수 있고, 어느 블록이 화면 간 부호화 되었다면 해당 블록을 화면 간 모드로 부호화 되었다고 할 수 있다. 또한 예를 들어 블록이 PCM 모드로 부호화 되었다면, 해당 블록은 화면 내 부호화 되었다고 판단될 수 있다.

    부호화기가 부호화 파라미터를 이용하여 제한된 오프셋 보상을 수행하는 경우, 부호화 파라미터에 따라 신뢰성 정도를 결정하고, 결정된 신뢰성 정도를 제한된 오프셋 보상 수행 시에 적용할 수 있다. 예를 들어 표 3과 같이 각 부호화 파라미터에 따라 신뢰성 정도를 판단할 수 있으며, 하나 이상의 부호화 파라미터의 조합에 따라 신뢰성 정도를 판단할 수도 있다.

    제한된 루프 필터가 적용되는 경우, 특히 ALF가 적용될 수 있다. 부호화기는 원본 영상과 복원 영상 간의 오차를 최소화하는 위너 필터(Wiener filter)에 기반한 필터 계수를 유도한 후, 이를 복원 영상에 적용하여 원본 영상과의 왜곡을 최소화할 수 있다.

    단계 S310에서 전송되는 ALF 적용 지시자는 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 적응 파라미터 세트 또는 슬라이스 헤더 등에 포함되어 전송될 수 있다. ALF 적용 지시자는 adaptive_loop_filter_flag일 수 있다. 또한, 휘도 성분과 색차 성분에 대한 ALF 적용 여부를 각각의 비트 스트림에 포함하여 시그널링 할 수 있다. 또한, ALF 적용 여부는 CU 단위 또는 영상 단위로 결정될 수 있다.

    단계 S320에서 전송되는 ALF 파라미터에 대해서 설명한다.

    ALF 파라미터는 필터 모양(shape), 필터 계수(coefficient), 필터 분류(classification) 방법, 필터 인덱스, 필터 예측 방법 및 필터 수행 최대 깊이 중 적어도 하나 이상을 포함할 수 있다.

    부호화기는 다수의 필터 모양들 중에서 최적의 필터 모양을 결정할 수 있다. 또한, 부호화기는 ALF를 적용하기 위해 사용하는 필터 계수를 결정할 수 있다. 이때 필터 계수는 하나 이상일 수 있으며, 다른 차수(order)의 지수 골롬(exponential Golomb) 코드로 부호화될 수 있다. 필터 계수를 효율적으로 부호화하기 위해서 필터 계수 간에 DPCM(differential pulse code modulation) 등과 같은 방법으로 예측 부호화가 수행될 수 있으며, 어느 하나의 필터 계수는 다른 필터 계수의 합으로부터 예측 부호화 될 수도 있다. 또한, ALF를 적용하기로 결정된 경우 필터 분류 방법으로 영역 기반 적응(RA; region-based adaptation)과 블록 기반 적응(BA; block-based adaptation) 중 하나의 방법을 이용하여 필터를 선택할 수 있다. 예를 들어, 필터 분류 방법이 RA 방법으로 결정된 경우 alf_region_adaptation_flag의 값을 1로 설정하고, 필터 분류 방법이 BA 방법으로 결정된 경우 alf_region_adaptation_flag의 값을 0으로 설정한다. RA 방법이 사용되는 경우 분할된 영상 영역당 다수의 필터 중 어느 하나의 필터가 선택될 수 있으며, BA 방법이 사용되는 경우 화소들의 변화량 및 방향성을 고려하여 다수의 필터 중 어느 하나의 필터가 선택될 수 있다. 이때 어떤 필터가 선택되었는지를 지시하기 위하여 ALF 파라미터 내의 필터 인덱스를 이용할 수 있다. 또한, ALF가 적용되는 최대 깊이에 대한 정보를 비트 스트림에 삽입하여 특정 깊이의 CU까지만 ALF가 적용되게 할 수 있다.

    도 8은 제안된 영상 부호화 방법에서 부호화기가 결정하는 필터 모양의 일 예를 나타낸다. 도 8을 참조하면 각 필터 내의 숫자는 필터 계수 인덱스를 나타낸다. 부호화기는 필터 모양과 필터 분류 방법에 대한 정보를 ALF 파라미터 내에 포함하여 복호화기로 전송하고, 결정된 필터 분류 방법에 따라 필터가 선택된다. 필터는 최대 16개까지 존재할 수 있다. 선택된 필터를 기반으로 필터링이 수행되는 경우, 필터 모양의 중앙에 위치한 화소값을 필터링함에 있어 각 필터 계수와 각 위치에 해당하는 화소값의 곱의 합으로 필터링을 수행할 수 있다.

    한편, BA 방법을 기반으로 필터를 분류할 때 ALF 적용의 대상 블록과 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 이용할 수 있다.

    도 9는 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 BA 방법을 기반으로 필터를 분류하는 경우를 나타낸다. 예를 들어 ALF 적용의 대상 블록이 화면 내로 부호화 되었고 주변 블록이 화면 간으로 부호화된 경우 4×4 블록 단위에서 수평 혹은 수직의 방향성을 판단하는 경우, 도 9에서 음영이 칠해지지 않은 4×4 블록 내의 화소들은 화면 내 블록의 화소가 되고, 음영이 칠해진 화소들은 화면 간 블록의 화소가 될 수 있다. 또한, 'R'은 복원된 화소, VA는 수직, HA는 수평의 방향성을 나타낸다.

    예를 들어 BA 방법을 기반으로 ALF 적용의 대상 화소가 화면 내로 부호화된 블록에 포함되고 화면 간으로 부호화된 주변 블록의 화소에 에러가 발생한 경우를 가정한다. 이때 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 대상 블록 내의 화면 내로 부호화된 화소들만을 이용하여 필터를 분류할 수 있다. 이는 화면 내로 부호화된 블록의 화소로 에러가 전파되는 것을 방지하기 위함이다. 또는, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 화면 간으로 부호화된 블록의 화소들을 화면 내로 부호화된 블록의 화소들로 대체하여 필터를 분류할 수 있다. 예를 들어, 도 9에서 'R (0,0) ' 위치에서 수평 또는 수직의 방향성을 판단하는 경우, 화면 간 블록에 포함되어 있는 'R (-1,0) ' 또는 'R (0,-1) ' 값을 화면 내 블록의 값으로 대체한 후 방향성을 판단할 수 있다. 또는, 필터를 분류하지 않을 수도 있다.

    도 10은 제안된 영상 부호화 방법에서 부호화 파라미터를 이용하여 ALF를 적용하는 경우의 일 예를 나타낸다.

    ALF가 적용될 때에도 ALF 적용의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다. ALF 적용의 대상 화소가 화면 내로 부호화된 블록에 포함되고 화면 간으로 부호화된 주변 블록의 화소에 에러가 발생한 경우를 가정하면, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 대상 블록 내 또는 주변 블록 중 화면 내로 부호화된 화소들만을 이용하여 ALF를 적용할 수 있다. 이는 화면 내로 부호화된 블록의 화소로 에러가 전파되는 것을 방지하기 위함이다. 도 10-(a)의 4×4 블록의 각 화소값에 도 8-(a)의 필터 모양을 적용하는 경우, 필터링 대상 화소의 위치는 가운데에 있는 '9'번이 되고, 주변의 화소값과 해당하는 위치의 필터 계수를 이용하여 필터를 적용한다. 이때 도 10-(b)와 같이 필터 계수가 화면 내로 부호화된 블록에 포함된 경우에만 필터가 적용된다. 즉, 화소값 i, j, k, l, m, n, o, p에 대해서만 필터를 적용할 수 있다. 또는, 주변 블록들 중 화면 간으로 부호화된 블록의 화소들은 사용하지 않고, 화면 간으로 부호화된 블록의 화소들을 화면 내로 부호화된 블록의 화소들로 대체하여 ALF를 적용할 수 있다. 또는, ALF를 적용하지 않을 수도 있다.

    부호화기는 ALF 적용 지시자 및 ALF 파라미터를 기반으로 ALF를 적용할 수 있다. ALF는 ALF 적용의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 적용될 수 있다.

    이상의 과정을 종합하면, 부호화기는 하나의 슬라이스를 부호화 트리 블록(coding tree block) 구조에 동기화하고, CU 단위로 필터 수행 여부, 필터 수행 최대 깊이, 필터 예측 방법, 필터 분류 방법, 필터 모양, 필터 계수 등을 RDO를 이용하고 결정하고, 결정된 최적의 ALF 파라미터를 이용하여 ALF를 적용할 수 있다. 이와 같은 ALF 파라미터는 엔트로피 부호화 되어 복호화기로 전송될 수 있다.

    지금까지 설명한 제한된 루프 필터를 기반으로 하는 영상 부호화 방법은 영상 복호화 방법에도 그대로 적용될 수 있다. 즉, 복호화기는 부호화기로부터 전송되는 제한된 루프 필터 지시자, ALF 적용 지시자, ALF 파라미터 등을 수신하여 파싱하고, 이를 기반으로 ALF를 적용한다.

    도 11은 제안된 영상 복호화 방법의 일 실시예를 나타낸다.

    단계 S400에서 복호화기는 제한된 루프 필터 지시자를 부호화기로부터 수신한다. 단계 S410에서 복호화기는 ALF 적용 여부를 지시하는 ALF 적용 지시자를 부호화기로부터 수신한다. 단계 S420에서 복호화기는 ALF 파라미터를 부호화기로부터 수신한다. 단계 S430에서 복호화기는 ALF 적용 지시자 및 ALF 파라미터를 기반으로 ALF를 수행한다.

    복호화기는 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 적응 파라미터 세트 또는 슬라이스 헤더 등에 포함된 ALF 적용 지시자를 파싱하여, 시퀀스, 픽쳐 또는 슬라이스 단위의 ALF 적용 여부를 결정할 수 있다. ALF 적용 지시자는 adaptive_loop_filter_flag일 수 있다. 또한, 복호화기는 휘도 성분과 색차 성분에 대한 ALF 적용 여부에 대한 정보 또는 CU 단위의 ALF 적용 여부에 대한 정보 등도 파싱할 수 있다.

    복호화기는 부호화기로부터 전송되는 ALF 파라미터를 파싱할 수 있다. ALF 파라미터는 필터 모양, 필터 계수, 필터 분류 방법, 필터 인덱스, 필터 예측 방법 및 필터 수행 최대 깊이 중 적어도 하나 이상을 포함할 수 있다. 예를 들어 복호화기는 비트 스트림을 파싱하여 필터 모양 및/또는 필터 계수를 결정할 수 있다. 이때 필터 계수의 개수는 하나 이상일 수 있으며, 다른 차수의 지수 골롬 코드로 복호화될 수 있다. 또한, 필터 계수를 효율적으로 복호화하기 위하여 필터 계수 간은 DPCM 등과 같은 방법으로 예측 복호화될 수 있으며, 어느 하나의 필터 계수는 다른 필터 계수의 합으로부터 예측 복호화될 수 있다. 또한, 필터 분류 수단으로 RA 방법과 BA 중 하나의 방법을 이용하여 필터를 달리 선택할 수 있다. 예를 들어 부호화기가 전송한 alf_region_adaptation_flag를 파싱하여 '1'이면 RA 방법으로 필터를 분류하고, '0'이면 BA 방법으로 필터를 분류할 수 있다. RA 방법이 사용되는 경우 분할된 영상 영역당 다수의 필터 중 어느 하나의 필터가 선택될 수 있으며, BA 방법이 사용되는 경우 화소들의 변화량 및 방향성을 고려하여 다수의 필터 중 어느 하나의 필터가 선택될 수 있다. 이때 어떤 필터가 선택되었는지를 지시하기 위하여 ALF 파라미터 내의 필터 인덱스를 이용할 수 있다. 한편, ALF 파라미터는 ALF 적용의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 결정될 수 있다.

    복호화기는 ALF 적용 지시자 및 ALF 파라미터를 기반으로 ALF를 적용할 수 있다. ALF는 ALF 적용의 대상 블록 또는 대상 블록의 주변 블록 중 적어도 하나 이상의 블록의 부호화 파라미터를 기반으로 적용될 수 있다.

    본 발명은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 제어기, 마이크로 프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 구현에 있어, 상술한 기능을 수행하는 모듈로 구현될 수 있다. 소프트웨어는 메모리 유닛에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리 유닛이나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다.

    상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.

    상술한 실시예들은 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

    高效检索全球专利

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

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

    申请试用

    分析报告

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

    申请试用

    QQ群二维码
    意见反馈