KR20120089404A - 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법 - Google Patents

매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법 Download PDF

Info

Publication number
KR20120089404A
KR20120089404A KR1020100124396A KR20100124396A KR20120089404A KR 20120089404 A KR20120089404 A KR 20120089404A KR 1020100124396 A KR1020100124396 A KR 1020100124396A KR 20100124396 A KR20100124396 A KR 20100124396A KR 20120089404 A KR20120089404 A KR 20120089404A
Authority
KR
South Korea
Prior art keywords
macroblock
deblocking filtering
filtering
deblocking
block
Prior art date
Application number
KR1020100124396A
Other languages
English (en)
Other versions
KR101205998B1 (ko
Inventor
최병호
김제우
김용환
이주영
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020100124396A priority Critical patent/KR101205998B1/ko
Publication of KR20120089404A publication Critical patent/KR20120089404A/ko
Application granted granted Critical
Publication of KR101205998B1 publication Critical patent/KR101205998B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

매크로블록 기반의 2단계 디블록킹 필터링 방법이 개시된다. 이 방법은 매크로블록 기반의 2단계 디블록킹 필터링 방법은 현재 매크로블록에서 슬라이스 경계면을 제외하고 1차 디블록킹 필터링하는 단계, 현재 매크로블록 및 일부 이웃 매크로블록들 간의 동일 슬라이스 여부 및 픽처 내 현재 매크로블록의 위치를 고려하여 2차 디블록킹 필터링 영역을 결정하는 단계, 및 결정된 영역을 2차 디블록킹 필터링하는 단계를 포함한다. 이에 의해 SVC의 기본 디블록킹 필터와 레이어간 디블록킹 필터에서 매크로블록 기반의 2단계 디블록킹 필터링이 가능해진다.

Description

매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법{Two stage deblocking filtering apparatus based on macroblock}
본 발명은 H.264/AVC(Advanced Video Coding) SVC(Scalable Video Coding) 영상의 효율적인 부호화 및 복호화에 관한 것으로, 특히 SVC 표준에 포함되어 있는 2단계 디블록킹 필터링 기술에 관한 것이다.
H.264/AVC(Advanced Video Coding) 부호화기 및 복호화기에서 디블록킹 필터(deblocking filter)는 크게 다음과 같은 두 가지 중 하나로 구현될 수 있다. 하나는 픽처 디코딩이 끝난 후에 전체 픽처에 대해서 디블록킹 필터링을 수행하는 ‘픽처 기반의 디블록킹 필터’이며, 다른 하나는 각각의 매크로블록 디코딩이 끝난 직후에 하나의 매크로 블록에 대해서 디블록킹 필터링을 수행하는 ‘매크로 블록 기반의 디블록킹 필터’이다. 기존의 H.264/AVC 부호화기 및 복호화기에서 대부분 채택하고 있는 매크로 블록 기반의 디블록킹 필터링 순서는 다음과 같다.
1. 매크로블록 좌표 (0,0)인 현재 매크로블록을 디코딩한다.
2. 현재 디코딩된 매크로블록 내의 오른쪽 열(15, y=0...15)과 아래쪽 행(x=0...15, 15) 화소들을 별도의 제1버퍼에 백업한다. 왜냐하면, 다음 매크로블록의 인트라 디코딩을 위해서는 필터링되지 않은 화소가 필요하기 때문이다.
3. 매크로블록을 디블록킹 필터링한다.
4. 만약 픽처의 마지막 매크로블록이면 종료하고, 아니면 매크로블록 좌표를 1 증가시킨다.
5. 만약 현재 디코딩할 매크로블록이 인트라 매크로블록 타입이면, 왼쪽 매크로블록의 오른쪽 열과 위쪽 매크로블록의 아래쪽 행 화소들을 제2버퍼에 백업하고, 제1버퍼에 저장했던 필터링되지 않은 화소들을 현재 매크로블록의 왼쪽 및 위쪽 동일 위치에 복사한다.
6. 매크로 블록을 디코딩한다(인트라 예측 또는 움직임 보상, 및 역양자화 역변환)
7. 만약 현재 디코딩한 매크로블록이 인트라 매크로블록 타입이면, 제2버퍼에 저장했던 왼쪽 열 및 위쪽 행 화소들을 디코딩된 현재 매크로블록의 동일한 위치에 복사한다.
8. 단계 2로 이동한다.
픽처 기반의 디블록킹 필터링 방식 대신에 매크로블록 기반 디블록킹 필터링 방식을 채택하는 가장 큰 이유는 매크로블록 단위의 메모리 접근을 통하여 픽처 버퍼, 픽처 크기의 움직임 벡터 버퍼, 픽처 크기의 참조 픽처 인덱스 버퍼, 픽처 크기의 NNZ(Number of Non-Zero Coefficients) 계수 버퍼에 접근하는 메모리 대역폭을 크게 줄일 수 있기 때문이다. Full-HD까지 지원하는 비디오 부호화기/복호화기 SW/HW에서 가장 큰 부하는 메모리접근 부하이기 때문에, 메모리 대역폭을 줄이는 것이 가장 큰 속도 향상을 가져오게 된다.
한편, 최근의 유비쿼터스 환경에서 다양한 네트워크를 통하여 다양한 단말기를 대상으로 하는 비디오 커뮤니케이션 서비스, 예를 들면 IPTV, 모바일 방송, 영상 통화 등에 관한 관심이 높아지면서 관련 산업이 활성화되고 있다. 2000년대 중반부터 이러한 관련 산업계의 요구에 부응하기 위하여, 하나의 비디오 스트림 내에서 공간적, 시간적, 화질적 스케일러블 기능을 지원하는 SVC(Scalable Video Coding)가 H.264/AVC의 amendment 3으로써 2007년 말에 표준화되었다. 사실 이 SVC 기술은 1990년대 중반부터 산업계의 요구에 의해 기존의 MPEG-2, H.263, MPEG-4 Visual에도 모두 포함되어 있는 필수적인 기술이다. 그러나 기존 표준에 포함된 SVC 기술은 압축 효율 및 디코더 복잡도 증가 문제로 인해 상업적으로는 성공하지 못했다. 따라서 H.264/AVC에 포함된 SVC 기술은 기존 기술의 단점을 어느 정도 보완한 네번째 기술이다.
최신 H.264/AVC(Advanced Video Coding) SVC(Scalable Video Coding) 표준에서는 기존의 AVC 디블록킹 필터에 추가적으로 ‘2단계 디블록킹 필터링 장치(2-stage deblocking filter)’를 도입하였다. 또한 기존 AVC에는 존재하지 않는 레이어 간 디블록킹 필터(inter-layer deblocking filter)가 새로 추가되었고, 레이어 간 디블록킹 필터에도 ‘2단계 디블록킹 필터링 장치’가 선택사항으로 채택되었다. 그러나 SVC 표준의 2단계 디클록킹 필터로 기존 AVC의 매크로블록 기반 디블록킹 필터를 그대로 이용할 수가 없다. 왜냐하면 2단계 디블록킹 필터링 장치는 필터링을 1차와 2차로 분리하여 두 번 수행하는데, 1차에서는 슬라이스 경계에 위치한 블록의 경계를 제외한 블록 경계만 디블록킹 필터링하고, 1차 필터링이 모두 종료된 후에 픽처 또는 슬라이스 단위에서 슬라이스 경계에 위치한 블록 경계만 2차로 필터링하기 때문이다. 즉, 슬라이스 경계 근처에서는 필터링되는 화소간의 상관관계 때문에, 기존의 매크로블록 기반 디블록킹 필터를 2차 필터링에는 그대로 적용할 수가 없다.
따라서 SVC 표준의 참조 소프트웨어인 JSVM(Joint Scalable Video Model)은 픽처 기반의 디블록킹 필터를 구현하고 있다. 픽처 기반의 2단계 디블록킹 필터링에서는 픽처 또는 슬라이스 디코딩이 끝난 후, 픽처 또는 슬라이스 전체에 대해서 1차로 슬라이스 경계에 위치한 블록의 경계를 제외한 모든 블록 경계에 대해서 디블록킹 필터링을 수행하고, 2차에서는 다시 픽처 전체에 대해서 슬라이스 경계에 위치한 블록의 경계만 디블록킹 필터링을 수행한다. 즉, SVC에서는 새로운 2단계 디블록킹 필터링 장치를 통하여 병렬 부호화/복호화시에도 슬라이스 경계에서 블록킹 현상을 크게 줄일 수 있다. 이는 기존의 AVC에서는 병렬 부호화/복호화의 경우 슬라이스 경계에서 블록킹 현상이 나타날 수 있는 점과 상당히 대조적이다. 그러나 픽처 기반의 2단계 디블록킹 필터링에 의하면, 부호화기/복호화기에서 픽처 단위로 여러 메모리(픽처 버퍼, 움직임 벡터 버퍼, 참조 픽처 인덱스 버퍼, NNZ 계수 버퍼 등)를 접근하는 부하가 상당히 커질 수밖에 없다. 특히 영상의 크기가 커질수록 메모리 접근 부하는 더욱 커지게 된다. 따라서 픽처 기반의 디블록킹 필터를 상용 부호화기/복호화기에서 사용하기는 쉽지 않다.
본 발명은 SVC의 기본 디블록킹 필터와 레이어간 디블록킹 필터에서 사용할 수 있는 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법을 제공함을 목적으로 한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 매크로블록 기반의 2단계 디블록킹 필터링 방법은 현재 매크로블록에서 슬라이스 경계면을 제외하고 1차 디블록킹 필터링하는 단계, 현재 매크로블록 및 일부 이웃 매크로블록들 간의 동일 슬라이스 여부 및 픽처 내 현재 매크로블록의 위치를 고려하여 2차 디블록킹 필터링 영역을 결정하는 단계, 및 결정된 영역을 2차 디블록킹 필터링하는 단계를 포함한다. 여기서 일부 이웃 매크로블록들은 현재 매크로블록에 인접한 좌측 매크로블록과 좌상측 매크로블록 및 상측 매크로블록이다.
2차 디블록킹 필터링 영역을 결정하는 단계는 현재 매크로블록 내 일부 이웃 매크로블록과 슬라이스 경계에 위치하는 적어도 일부 블록의 경계면과 일부 이웃 매크로블록 내 2차 디블록킹 필터링에서 제외된 블록의 경계면을 현재 매크로블록에서의 2차 디블록킹 필터링 영역으로 결정한다.
2차 디블록킹 필터링 단계는 현재 매크로블록 내 블록 중에서 슬라이스 경계에 해당하는 블록들의 필터링 강도 정보를 구한 후에, 첫 행 마지막 블록과 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 버퍼에 저장하되, 현재 매크로블록의 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값에 대해서는 현재 매크로블록이 좌측 매크로블록과 다른 슬라이스에 속하는 경우에만 버퍼에 저장한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 매크로블록 기반의 2단계 디블록킹 필터링 장치는 현재 매크로블록에서 슬라이스 경계면을 제외하고 1차 디블록킹 필터링하는 1차 디블록킹 필터링부, 및 현재 매크로블록 내 좌측 매크로블록과 좌상측 매크로블록 및 상측 매크로블록으로 구성되는 일부 이웃 매크로블록과 슬라이스 경계에 위치하는 블록의 경계면과 일부 이웃 매크로블록에 대한 2차 디블록킹 필터링에서 제외된 블록 중 인접한 블록을 현재 매크로블록에서의 2차 디블록킹 필터링 영역으로 결정하고, 결정된 2차 디블록킹 필터링 영역을 2차 디블록킹 필터링하는 2차 디블록킹 필터링부를 포함한다.
2차 디블록킹 필터링부는 현재 매크로블록에서 구한 첫 행 마지막 블록 및 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 버퍼에 저장하되, 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값에 대해서는 현재 매크로블록이 좌측 매크로블록과 다른 슬라이스에 속하는 경우에만 버퍼에 저장한다.
본 발명은 SVC의 2단계 디블록킹 필터링을 픽처 디코딩 후가 아닌 각 매크로블록 디코딩 직후에 수행할 수 있게 한다. 이에 따라 2차 필터링에서 픽처 버퍼, 움직임 벡터, 버퍼, 참조 픽처 인덱스 버퍼, NNZ 계수 버퍼 등의 캐쉬를 활용하여 픽처 크기의 큰 메모리 접근을 크게 줄일 수 있다. 이에 따라 부호화기/복호화기의 압축/재생 속도가 향상된다. 또한 NNZ 계수, 디블록킹 필터를 위한 양자화 파라미터(Quantization Parameter)를 픽처 크기가 아닌 매크로블록 넓이만큼만 저장하면 되므로, 메모리 사용량을 절감할 수 있다.
도 1은 본 발명의 일 실시예에 따른 매크로블록 기반의 2단계 디블록킹 필터링 장치 블록도.
도 2는 본 발명의 일 실시예에 따른 매크로블록 기반의 2단계 디블록킹 필터링을 설명하기 위한 참조도.
도 3은 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제1참조도.
도 4는 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제2참조도.
도 5는 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제3참조도.
도 6은 본 발명의 일 실시예에 따른 매크로블록 기반의 2단계 디블록킹 필터링 방법 흐름도.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 매크로블록 기반의 2단계 디블록킹 필터링 장치 블록도이다.
도시된 매크로블록 기반의 2단계 디블록킹 필터링 장치는 H.264/AVC SVC 영상의 효율적인 복호화 및 부호화를 위한 복호화기 및 부호화기에 구현된다. 이 매크로블록 기반의 2단계 디블록킹 필터링 장치는 1차 디블록킹 필터링부(110)와 2차 디블록킹 필터링부(120)를 포함한다. 1차 디블록킹 필터링부(110)는 디코딩된(인트라 예측 또는 움직임 보상, 및 역양자화 역변환) 현재 매크로블록에 대해서 매크로블록 기반의 1차 디블록킹 필터링을 수행한다. 이때 만일 현재 매크로블록이 슬라이스 경계에 위치하고 2단계 디블록킹 필터링 옵션이 선택되었다면, 슬라이스 경계에 위치한 매크로블록 내 블록들의 경계면에 대해서는 필터링하지 않는다. 매크로블록이 슬라이스 경계에 있는 경우는 도 2에서 현재 매크로블록에 인접한 좌측 매크로블록(A 매크로블록, mbA) 또는 상측 매크로블록(B 매크로블록, mbB), 또는 좌상측 매크로블록(D 매크로블록, mbD)의 슬라이스 ID(SliceIdMbA, SliceIdMbB, SliceIdMbD)가 현재 매크로블록의 슬라이스 ID(SliceIdMb)와 다른 경우이다. 유사(pseudo) C 언어 수식으로는 수학식 1과 같이 표현할 수 있다.
[수학식 1]
bAvailMbA = (SliceIdMb != SliceIdMbA) && (SliceIdMbA >= 0)
bAvailMbB = (SliceIdMb != SliceIdMbB) && (SliceIdMbB >= 0)
bAvailMbD = (SliceIdMb != SliceIdMbD) && (SliceIdMbD >= 0)
if(bAvailMbA ? bAvailMbB ? bAvailMbD) {/*현재 MB가 슬라이스 경계에 있음*/}
수학식 1에서 SliceIdMbA가 0보다 크거나 같다는 조건은 A 매크로블록이 존재하는 경우에 1이 된다. 예를 들어, 현재 매크로블록이 매크로블록 좌표로 x = 0인 픽처 경계에 있으면, SliceIdMbA = -1이 되고, 결과적으로 조건은 0이 된다. 슬라이스 경계에 위치한 블록들은, 예를 들어 도 2에서 현재 매크로블록의 SliceIdMb가 SliceIdMbA, SliceIdMbB, SliceIdMbD와 모두 다르면, 빗금 친 4×4 블록들이다. 따라서 1차 디블록킹 필터링부(110)는 수직 필터링에서는 A 매크로블록과의 경계 부분에 대해 필터링을 수행하지 않고, 수평 필터링에서는 B 매크로블록과의 경계 부분에 대해 필터링을 수행하지 않는다.
2차 디블록킹 필터링부(120)는 현재 매크로블록이 슬라이스 경계에 위치하는 경우에 2차 디블록킹 필터링을 수행할 영역을 결정한 후, 결정된 영역에 대한 2차 디블록킹 필터링을 수행한다. 2차 디블록킹 필터링부(120)는 슬라이스 경계에 위치한 4×4 블록의 경계면만을 필터링하며, 필터링되어야 하는 4×4 블록의 좌표는 수학식 2를 통해 구할 수 있다.
[수학식 2]
nLeftStartIdx = (bAvailMbA ? (bAvailMbD ? (SliceIMbA != SliceIdMbD) : 0) : mb_x);
nTopStartIdx = (bAvailMbB ? (bAvailMbD ? (SliceIMbB != SliceIdMbD) : 0) : mb_y);
nRightEndIdx = (bAvailMbB ? ((mb_x == (mb_width-1)) ? 16 : 12) : 0);
nBottomEndIdx = (bAvailMbA ? ((mb_y == (mb_height-1)) ? 16 : 12) : 0);
수학식 2에서 mb_x 및 mb_y는 각각 0부터 시작하는 매크로블록의 x축 및 y축 좌표이다. mb_width 및 mb_height는 각각 픽처 내에서 매크로블록의 가로 및 세로 개수를 의미한다. 여기서 픽처는 16×16 크기의 매크로블록으로 구성되는 것으로 가정한다. 이 경우 mb_width 및 mb_height는 각각 픽처 넓이/16 및 픽처 높이/16이 된다. nLeftStartIdx는 수평 필터링의 시작 위치이다. nLeftStartIdx가 0이면 현재 매크로블록만을 필터링하고, 0보다 크면 A 매크로블록의 첫 행 마지막 블록인 도 2의 (L) 블록부터 필터링을 시작한다. nTopStartIdx는 수직 필터링의 시작 위치이다. nTopStartIdx가 0이면 현재 매크로블록만을 필터링하고, 0보다 크면 B 매크로블록의 첫 열 마지막 블록인 도 2의 (T) 블록부터 필터링을 시작한다. nRightEndIdx는 현재 매크로블록 내에서 수평 필터링의 끝 위치이다. nRightEndIdx가 0이면 현재 매크로블록 내에서 수평 필터링을 하지 않고, 16이면 슬라이스 경계의 모든 블록에 대해서 수평 필터링을 수행하며, 12이면 도 2의 (b) 블록을 제외한 블록에 대해서만 수평 필터링을 수행한다. nBottomEndIdx는 현재 매크로블록 내에서 수직 필터링의 끝 위치이다. nBottomEndIdx가 0이면 현재 매크로블록 내에서 수직 필터링을 하지 않고, 16이면 슬라이스 경계의 모든 블록에 대해서 수직 필터링을 수행하며, 12이면 도 2의 (a) 블록을 제외한 블록에 대해서만 수직 필터링을 수행한다.
수학식 2에서와 같이 현재 매크로블록의 일부만 또는 이전 매크로블록의 일부를 현재 매크로블록에서 2차 디블록킹 필터링하는 이유는 화소 간의 상관관계 때문에, 이전 매크로블록의 일부 블록에서 2차 디블록킹 필터링의 수행을 현재 매크로블록의 1차 디블록킹 필터링 이후로 미루어야 하기 때문이다. 만약 이전 매크로블록의 블록을 현재 매크로블록의 2차 디블록킹 필터링에서 함께 필터링해야 한다면, 즉 nLeftStartIdx 또는 nTopStartIdx가 0보다 크다면, 2차 디블록킹 필터링부(120)는 이전 매크로블록의 2차 디블록킹 필터링 과정에서 별도의 버퍼에 저장했던 필터링 강도 정보(Y/Cb/Cr의 bs(boundary filtering strength)) 또는 필터링 문턱치(alpha, beta, tc0 등) 값을 이용하여 필터링을 수행한다. 만약 현재 매크로블록의 블록을 필터링해야 한다면, 즉 nRightEndIdx 또는 nBottomEndIdx가 0보다 크다면, 2차 디블록킹 필터링부(120)는 필터링 강도 정보(Y/Cb/Cr의 bs(boundary filtering strength)) 또는 필터링 문턱치(alpha, beta, tc0 등) 값을 구하고, 도 2에서 (a)와 (b) 위치 블록의 필터링 강도 정보 또는 필터링 문턱치 값을 별도의 버퍼(130)에 저장한다. 바람직하게, 2차 디블록킹 필터링부(120)는 도 2에 도시된 블록 (b) 위치의 필터링 강도 정보 또는 필터링 문턱치 값은 nBottomEndIdx가 0보다 클 경우에만 버퍼(130)에 저장한다.
이하, 수학식 2에 따라 현재 매크로블록에서 2차 디블록킹 필터링 대상이 되는 영역을 결정하는 방식에 대해 도 3 내지 도 5를 참조하여 설명한다. 도 3은 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제1참조도이다.
MB6가 현재 매크로블록이다. 그리고 MB6에 이웃한 MB5가 A 매크로블록이고, MB2가 B 매크로블록이며, MB1이 D 매크로블록이다. 빗금친 4×4 블록들은 슬라이스 경계에 위치한 블록들임을 의미한다. 수학식 2에 따라 nLeftStartIdx, nTopStartIdx, nRightEndIdx, nBottomEndIdx를 구하면, nLeftStartIdx = 0, nTopStartIdx = 0, nRightEndIdx = 12, nBottomEndIdx = 12가 된다. 따라서 2차 디블록킹 필터링시의 수평 필터링 영역은 도면부호 310이 되며, 수직 필터링 영역은 도면부호 320이 된다. 한편, (a) 블록과 (b) 블록은 MB6에 대한 2차 디블록킹 필터링시 제외되나, 2차 디블록킹 필터링부(120)는 2차 디블록킹 필터링시 (a) 블록과 (b) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값 또한 함께 구하고, 구해진 (a) 블록과 (b) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 버퍼(130)에 저장한다. 여기서 (b) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값은 MB6 블록이 MB5 블록과 다른 슬라이스에 속하므로, 즉 nBottomEndIdx가 0보다 크므로 버퍼(130)에 저장된다.
도 4는 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제2참조도이다.
MB7가 현재 매크로블록이다. 그리고 MB7에 이웃한 MB6이 A 매크로블록이고, MB3이 B 매크로블록이며, MB2가 D 매크로블록이다. 빗금친 4×4 블록들은 슬라이스 경계에 위치한 블록들임을 의미한다. 수학식 2에 따라 nLeftStartIdx, nTopStartIdx, nRightEndIdx, nBottomEndIdx를 구하면, nLeftStartIdx = 0보다 큼, nTopStartIdx = 0, nRightEndIdx = 12, nBottomEndIdx = 0이 된다. 따라서 2차 디블록킹 필터링시의 수평 필터링 영역은 도면부호 410이 되며, 수직 필터링 영역은 존재하지 않게 된다. 한편, (a) 블록과 (b) 블록은 MB6에 대한 2차 디블록킹 필터링시 제외되나, 2차 디블록킹 필터링부(120)는 2차 디블록킹 필터링시 (a) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 구하고, 구해진 (a) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 버퍼(130)에 저장한다. 여기서 (b) 블록은 MB6 블록과 동일 슬라이스에 속하므로, 즉 nBottomEndIdx가 0이므로 버퍼(130)에 저장되지 않는다.
도 5는 본 발명의 일 실시예에 따른 2차 디블록킹 필터링 수행시 2차 디블록킹 필터링 영역 결정을 이해하기 위한 제3참조도이다.
MB8이 현재 매크로블록이다. 그리고 MB8에 이웃한 MB7이 A 매크로블록이고, MB4가 B 매크로블록이며, MB3이 D 매크로블록이다. 빗금친 4×4 블록들은 슬라이스 경계에 위치한 블록들임을 의미한다. 수학식 2에 따라 nLeftStartIdx, nTopStartIdx, nRightEndIdx, nBottomEndIdx를 구하면, nLeftStartIdx = 0보다 큼, nTopStartIdx = 0, nRightEndIdx = 16, nBottomEndIdx = 0이 된다. 따라서 2차 디블록킹 필터링시의 수평 필터링 영역은 도면부호 510이 되며, 수직 필터링은 수행되지 않는다. 한편, (a) 블록은 MB8에 대한 2차 디블록킹 필터링시 포함되므로, (a) 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값은 별도의 버퍼(130)에 저장되지 않는다. 그리고 (b) 블록은 MB7 블록과 동일 슬라이스에 속하므로, 즉 nBottomEndIdx가 0이므로 버퍼(130)에 저장되지 않는다.
이상과 같이 수학식 2를 이용하여 nLeftStartIdx, nTopStartIdx, nRightEndIdx, nBottomEndIdx를 구하면, 현재 매크로블록에서 2차 디블록킹 필터링할 수평 필터링 영역과 수직 필터링 영역을 구할 수가 있게 된다.
도 6은 본 발명의 일 실시예에 따른 매크로블록 기반의 2단계 디블록킹 필터링 방법 흐름도이다.
2단계 디블록킹 필터링 장치는 현재 매크로블록을 디코딩(인트라 예측 또는 움직임 보상, 및 역양자화 역변환)한다(S610). 그리고 디코딩된 현재 매크로블록에 대해서 매크로블록 기반의 1차 디블록킹 필터링을 수행한다. 만일 현재 매크로블록이 슬라이스 경계에 위치한다면, 2단계 디블록킹 필터링 장치는 슬라이스 경계에 위치한 블록(4×4 블록 또는 8×8 블록일 수 있다)들의 경계면을 제외하고 현재 매크로블록을 1차 디블록킹 필터링한다(S620). 매크로블록이 슬라이스 경계에 있는 경우는, 도 2에서 A 또는 B 또는 D 매크로블록(mbA, mbB, mbD)의 슬라이스 ID(SliceIdMbA, SliceIdMbB, SliceIdMbD)가 현재 매크로블록의 슬라이스 ID(SliceIdMb)와 다른 경우이며, 수학식 1과 같이 표현될 수 있다. 슬라이스 경계에 위치한 블록들은, 예를 들어 도 2에서 현재 매크로블록의 SliceIdMb가 SliceIdMbA, SliceIdMbB, SliceIdMbD와 모두 다르면, 현재 매크로블록 내의 빗금 친 4×4 블록들이다. 즉, 2단계 디블록킹 필터링 장치는 1차 디블록킹 필터링 수행시 수직 필터링에서는 A 매크로블록과의 경계 부분의 필터링을 수행하지 않고, 수평 필터링에서는 B 매크로블록과의 경계 부분을 필터링하지 않는다.
현재 매크로블록에 대한 1차 디블록킹 필터링이 완료되면, 2차 디블록킹 필터링 장치는 2차 디블록킹 필터링을 수행할 영역을 결정한다. 구체적으로 2단계 디블록킹 필터링 장치는 1차 디블록킹 필터링에서 제외된 경계면 및 현재 매크로블록에 인접한 일부 이웃 매크로블록들(좌측 매크로블록, 우측 매크로블록, 좌상측 매크로블록)들 내 현재 매크로블록과 슬라이스 경계에 위치하는 일부 블록들을 현재 매크로블록에서의 2차 디블록킹 필터링 영역으로 결정하되, 그 중 나머지 이웃 매크로블록들(우상측 매크로블록, 우측 매크로 블록, 우하측 매크로블록, 하측 매크로블록, 좌하측 매크로블록)과의 슬라이스 경계면에 속하는 영역은 2차 디블록킹 필터링 영역에서 제외한다(S630). 이를 위해, 수학식 2가 이용될 수 있다. 즉, 2단계 디블록킹 필터링 장치는 수학식 2를 이용하여 S630을 수행할 수 있다.
2차 디블록킹 필터링 영역이 결졍되면, 2차 디블록킹 필터는 결정된 영역에 대해 2차 디블록킹 필터링을 수행한다(S640). 만일 이전 매크로블록의 블록(1행4열 블록과 4행 1열 블록)을 필터링해야 한다면, 즉 nLeftStartIdx 또는 nTopStartIdx가 0보다 크다면, 2차 디블록킹 필터는 이전 매크로블록의 2차 디블록킹 필터링 과정에서 별도의 버퍼에 저장했던 필터링 강도 정보(Y/Cb/Cr의 bS(boundary filtering strength)) 또는 필터링 문턱치(alpha, beta, tc0 등) 값을 이용하여 필터링을 수행한다. 만약 현재 매크로블록의 블록을 필터링해야 한다면, 즉 nRightStartIdx 또는 nBottomStartIdx가 0보다 크다면, 2차 디블록킹 필터는 필터링 강도 정보(Y/Cb/Cr의 bS(boundary filtering strength)) 또는 필터링 문턱치(alpha, beta, tc0 등) 값을 구하고, 도 2에서 a 블록과 b 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값은 별도의 버퍼에 저장한다. 이때 2차 디블록킹 필터는 b 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값에 대해서는 nBottomEndIdx가 0보다 클 경우에만 버퍼에 저장한다. 2차 디블록킹 필터링이 종료되고 현재 매크로블록이 마지막 매크로블록이 아니면, 매크로블록 주소를 1 증가시키고 S610으로 이동한다(S650)(S660).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
110 : 1차 디블록킹 필터링부 120 : 2차 디블록킹 필터링부
130 : 버퍼

Claims (8)

  1. 현재 매크로블록에서 슬라이스 경계면을 제외하고 1차 디블록킹 필터링하는 단계;
    현재 매크로블록 및 일부 이웃 매크로블록들 간의 동일 슬라이스 여부 및 픽처 내 현재 매크로블록의 위치를 고려하여 2차 디블록킹 필터링 영역을 결정하는 단계; 및
    상기 결정된 영역을 2차 디블록킹 필터링하는 단계;
    를 포함하는 것을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  2. 제1항에 있어서,
    상기 일부 이웃 매크로블록들은 현재 매크로블록에 인접한 좌측 매크로블록과 좌상측 매크로블록 및 상측 매크로블록임을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  3. 제2항에 있어서,
    상기 결정 단계는 현재 매크로블록 내 일부 이웃 매크로블록과 슬라이스 경계에 위치하는 적어도 일부 블록의 경계면과 일부 이웃 매크로블록 내 2차 디블록킹 필터링에서 제외된 블록을 현재 매크로블록에서의 2차 디블록킹 필터링 영역으로 결정함을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  4. 제3항에 있어서,
    상기 2차 디블록킹 필터링 단계는 현재 매크로블록 내 블록 중 첫 행 마지막 블록과 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 구하여 버퍼에 저장함을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  5. 제4항에 있어서,
    상기 2차 디블록킹 필터링 단계는 현재 매크로블록의 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값에 대해서는 현재 매크로블록이 좌측 매크로블록과 다른 슬라이스에 속하는 경우에만 버퍼에 저장함을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  6. 제3항에 있어서,
    상기 2차 디블록킹 필터링 단계는, 상기 일부 이웃 매크로블록의 2차 디블록킹 필터링시 제외된 블록에 대해 현재 매크로블록에서 2차 디블록킹 필터링시 그 제외된 블록에 대해 2차 디블록킹 필터링 과정에서 버퍼에 저장된 필터링 강도 정보 또는 필터링 문턱치 값을 이용하여 2차 디블록킹 필터링함을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 방법.
  7. 현재 매크로블록에서 슬라이스 경계면을 제외하고 1차 디블록킹 필터링하는 1차 디블록킹 필터링부; 및
    현재 매크로블록 내 좌측 매크로블록과 좌상측 매크로블록 및 상측 매크로블록으로 구성되는 일부 이웃 매크로블록과 슬라이스 경계에 위치하는 블록의 경계면과 일부 이웃 매크로블록에 대한 2차 디블록킹 필터링에서 제외된 블록 중 인접한 블록을 현재 매크로블록에서의 2차 디블록킹 필터링 영역으로 결정하고, 결정된2차 디블록킹 필터링 영역을 2차 디블록킹 필터링하는 2차 디블록킹 필터링부;
    를 포함하는 것을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 장치.
  8. 제7항에 있어서,
    상기 2차 디블록킹 필터링부는 현재 매크로블록의 첫 행 마지막 블록 및 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값을 구하여 버퍼에 저장하되, 첫 열 마지막 블록에 대한 필터링 강도 정보 또는 필터링 문턱치 값에 대해서는 현재 매크로블록이 좌측 매크로블록과 다른 슬라이스에 속하는 경우에만 버퍼에 저장함을 특징으로 하는 매크로블록 기반의 2단계 디블록킹 필터링 장치.
KR1020100124396A 2010-12-07 2010-12-07 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법 KR101205998B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100124396A KR101205998B1 (ko) 2010-12-07 2010-12-07 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100124396A KR101205998B1 (ko) 2010-12-07 2010-12-07 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120089404A true KR20120089404A (ko) 2012-08-10
KR101205998B1 KR101205998B1 (ko) 2012-11-28

Family

ID=46874178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100124396A KR101205998B1 (ko) 2010-12-07 2010-12-07 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101205998B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392259A (zh) * 2018-04-16 2019-10-29 晨星半导体股份有限公司 影像压缩系统及利用影像压缩系统以压缩影像画面的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4680608B2 (ja) 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392259A (zh) * 2018-04-16 2019-10-29 晨星半导体股份有限公司 影像压缩系统及利用影像压缩系统以压缩影像画面的方法

Also Published As

Publication number Publication date
KR101205998B1 (ko) 2012-11-28

Similar Documents

Publication Publication Date Title
KR102398644B1 (ko) 인트라 예측 정보 부호화 방법 및 장치
KR101922459B1 (ko) 적응적 필터를 이용한 인트라 예측을 수행하는 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP6254668B2 (ja) イントラ予測モードにおける映像復号化方法
US9143786B2 (en) Method and apparatus of deriving intra prediction mode using most probable mode group
CN111373755A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
TWI604733B (zh) 一種後期處理重建畫面的設備
JP5833250B2 (ja) ビデオコーディングのための二次境界フィルタリング
JP2023120332A (ja) 画像の符号化および復号のための方法および装置
TWI709333B (zh) 一種解塊濾波的方法
EP1613094B1 (en) Filter for eliminating discontinuity of block-based encoded image, and method thereof
WO2012154847A1 (en) Filtering blockiness artifacts for video coding
US20130114683A1 (en) Video decoder with enhanced sample adaptive offset
US20150016518A1 (en) Video Decoding with Reduced Complexity Deblocking
EP3884667A1 (en) Video coding with triangular shape prediction units
GB2459568A (en) Overlap transform and de-blocking of decompressed video signal using an edge filter on sub-blocks for upper and left macroblocks
KR101205998B1 (ko) 매크로블록 기반의 2단계 디블록킹 필터링 장치 및 방법
GB2459567A (en) Video signal edge filtering
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템
KR101188453B1 (ko) 비디오 디코더의 메모리 액세스 장치 및 방법
TW201429259A (zh) 影像資料處理方法以及影像處理裝置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee