KR20130070191A - 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 - Google Patents
최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 Download PDFInfo
- Publication number
- KR20130070191A KR20130070191A KR1020110137398A KR20110137398A KR20130070191A KR 20130070191 A KR20130070191 A KR 20130070191A KR 1020110137398 A KR1020110137398 A KR 1020110137398A KR 20110137398 A KR20110137398 A KR 20110137398A KR 20130070191 A KR20130070191 A KR 20130070191A
- Authority
- KR
- South Korea
- Prior art keywords
- lcu
- pixels
- unit
- sao
- decoded
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 LCU 단위로 병렬 인-루프 필터링 과정을 수행하는 방법 및 장치에 관한 것이다. 해당 복호화 방법은 LCU 단위의 화소 저장 단계; LCU 단위의 저장 화소 로드 단계; 수직 경계에 대한 디블록킹 필터 수행 단계; 수평 경계에 대한 디블록킹 필터 수행 단계; LCU 단위의 SAO 수행 단계; 및 LCU 단위의 ALF 수행 단계를 포함한다.
Description
본 발명은 영상 처리 기술에 관한 것으로써, 보다 상세하게는 비디오의 인-루프 필터링을 병렬로 수행하는 방법 및 장치에 관한 것이다.
최근 고해상도, 고화질 영상에 대한 요구가 증가함에 따라 차세대 영상 서비스를 위한 고효율의 비디오 압축 기술에 대한 필요성이 대두되었다. 이러한 시장의 요구에 따라, MPEG-2 Video, H.264/AVC 코덱을 공동으로 표준화 했던 MPEG과 VCEG은 2010년부터 새로운 비디오 압축 기술에 대한 공동 표준화를 진행하고 있다. MPEG과 VCEG은 새로운 표준 기술 개발을 위하여 JCT-VC(Joint Collaborative Team on Video Coding)를 구성하였으며, 현재 JCT-VC를 통하여 HEVC(High Efficiency Video Coding)라는 차세대 비디오 표준 기술을 개발하고 있다. 이러한 HEVC는 종래에 가장 높은 압축 효율을 갖는 것으로 알려진 H.264/AVC High 프로파일에 비하여 약 50% 이상의 압축 효율 향상을 목표로 표준화를 진행하고 있으며, Full-HD와 4K급의 해상도의 영상을 지원하고 있다.
HEVC에는 부호화 효율 및 주관적 화질 향상을 위하여 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter)의 세 종류의 인-루프(In-loop) 필터링을 사용한다. 이러한 인-루프 필터의 사용은 부호화 성능 및 주관적 화질을 향상 시키지만, 복호화기의 연산량을 증가시켰다.
본 발명은 복호화기에서 디블록 필터, SAO 및 ALF의 인-루프 필터링을 LCU(Largest Coding Unit)단위로 수행하며, 이때 주변의 LCU 들과 동시에 필터링을 할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 LCU 단위의 병렬 인-루프 필터링 수행 방법은, LCU 단위에서 화소를 저장하는 단계; LCU 단위에서 저장된 화소를 로드하는 단계; 수직 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 단계; 수평 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 단계; LCU 단위의 SAO 수행 단계; 및 LCU 단위의 ALF 수행하는 단계를 포함한다.
본 발명의 일 실시 예에 따른 LCU 단위의 병렬 인-루프 필터링 수행 장치는, LCU 단위에서 화소를 저장하는 LCU 단위의 화소 저장부; LCU 단위에서 저장된 화소를 로드하는 LCU 단위의 저장 화소 로드부; 수직 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 LCU 단위의 수직 경계에 대한 디블록킹 필터 수행부; 수평 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 LCU 단위의 수평 경계에 대한 디블록킹 필터 수행부; LCU 단위의 SAO를 수행하는 LCU 단위의 SAO 수행부; 및 LCU 단위의 ALF를 수행하는 LCU 단위의 ALF 수행부를 포함한다.
상기 과제를 해결하기 위한 본 발명의 2실시 예에 따른 LCU 단위의 병렬 인-루프 필터링 수행 방법은, 슬라이스 단위의 추가 버퍼를 구성하는 단계; LCU 단위에서 필터링할 화소를 로드하는 단계; 수직 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 단계; 수평 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 단계; LCU 단위의 SAO 수행 단계; 및 LCU 단위의 ALF 수행하는 단계를 포함한다.
본 발명의 2실시 예에 따른 LCU 단위의 병렬 인-루프 필터링 수행 장치는, 복호화된 슬라이스를 백업 버퍼에 저장하는 슬라이스 추가 버퍼 구성부; 슬라이스 버퍼에서 복호화할 LCU 내의 화소 및 그 주변의 화소 값들을 로드하는 LCU 단위의 필터링 화소 로드부; 수직 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 LCU 단위의 수직 경계에 대한 디블록킹 필터 수행부; 수평 경계에 대하여 LCU 단위의 디블록킹 필터링을 수행하는 LCU 단위의 수평 경계에 대한 디블록킹 필터 수행부; LCU 단위의 SAO를 수행하는 LCU 단위의 SAO 수행부; 및 LCU 단위의 ALF를 수행하는 LCU 단위의 ALF 수행부를 포함한다.
본 발명의 일 실시 예에 따르면, LCU 단위의 화소 저장부와 LCU 단위의 저장 화소 로드부를 포함함으로써, 디블록킹 필터, SAO 및 ALF를 LCU 단위에서 수행할 때 주변 LCU와 의존성을 줄일 수 있으며, 그에 따라 2D-Wavefront 형태의 병렬 필터링의 수행을 하게 함으로써 병렬화의 성능을 향상 시킬 수 있다.
또한, 본 발명의 일 실시 예에 따르면, LCU 단위의 디블록킹 필터, SAO 및 ALF를 위하여 메모리에서 화소 값을 한번 로드한 후 세 가지의 연산을 한 번에 수행하게 함으로써, 메모리 접근을 최소화하게 하며 이를 통하여 필터링의 속도를 향상시킬 수 있다.
본 발명의 2실시 예에 따르면, 슬라이스 추가 버퍼 구성부와 LCU 단위의 필터링 화소 로드부를 포함함으로써, 추가 패딩 영역에 로드된 화소 값을 사용하여 각 LCU 단위에서 독립적으로 디블록킹 필터, SAO 및 ALF를 LCU 단위에서 수행하게 함으로써, 주변 LCU와 의존성을 줄일 수 있어 병렬화의 성능을 향상 시킨다.
도 1은 본 발명이 적용되는 영상 복호화 장치의 일 실시 예에 따른 구성을 나타내는 블록도이다.
도 2는 복호화기에서 LCU 단위로 2D-wavefront 병렬 복호화를 수행할 때 의존성을 갖는 블록 위치에 대하여 설명하기 위한 도면이다.
도 3a는 복호화기에서 슬라이스 단위로 디블록킹 필터, SAO 및 ALF를 수행하는 인-루프 필터링 프로세스의 흐름도이다.
도 3b는 LCU 단위로 ALF를 수행할 때 해당 블록이 갖는 의존성 블록의 위치에 대하여 설명하기 위한 도면이다.
도 4a는 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 2D-wavefront 형태의 화소 복원 프로세스와 결합하여 동작하는 것을 설명하기 위한 도면이다.
도 4b는 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스의 구성을 나타내는 블록도이다.
도 5는 도 4b에 도시된 LCU 단위의 화소 저장부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 6는 도 4b에 도시된 LCU 단위의 화소 저장부에서 화소 저장 너비 및 높이를 계산하는 방법을 나타내는 흐름도이다.
도 7은 도 6에 도시된 ALF 단계에서 필요한 주변 화소 값의 최대 개수 계산 및 SAO 단계에서 필요한 주변 화소 값의 최대 개수 계산에 대한 일시 예를 개략적으로 나타내는 개념도이다.
도 8은 도 6에 도시된 디블록킹 필터링 단계를 고려한 최종 저장할 너비와 높이 계산에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 9는 도 4b에 도시된 LCU 단위의 저장 화소 로드부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 10은 도 4b에 도시된 수직 경계에 대한 디블록킹 필터 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 11은 도 4b에 도시된 수평 경계에 대한 디블록킹 필터 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 12는 도 4b에 도시된 LCU 단위의 SAO 수행부의 구성에 대한 제1 실시 예를 나타내는 블록도이다.
도 13은 도 12에 도시된 SAO 수행부(1220)에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 14는 도 4b에 도시된 LCU 단위의 ALF 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 15는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 슬라이스 내의 전체 화소 복원 후에 병렬적으로 적용되는 것에 대하여 설명하는 도면이다.
도 16는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스의 구성을 나타내는 블록도이다.
도 17는 도 16에 도시된 LCU 단위의 필터링 화소 로드부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 2는 복호화기에서 LCU 단위로 2D-wavefront 병렬 복호화를 수행할 때 의존성을 갖는 블록 위치에 대하여 설명하기 위한 도면이다.
도 3a는 복호화기에서 슬라이스 단위로 디블록킹 필터, SAO 및 ALF를 수행하는 인-루프 필터링 프로세스의 흐름도이다.
도 3b는 LCU 단위로 ALF를 수행할 때 해당 블록이 갖는 의존성 블록의 위치에 대하여 설명하기 위한 도면이다.
도 4a는 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 2D-wavefront 형태의 화소 복원 프로세스와 결합하여 동작하는 것을 설명하기 위한 도면이다.
도 4b는 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스의 구성을 나타내는 블록도이다.
도 5는 도 4b에 도시된 LCU 단위의 화소 저장부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 6는 도 4b에 도시된 LCU 단위의 화소 저장부에서 화소 저장 너비 및 높이를 계산하는 방법을 나타내는 흐름도이다.
도 7은 도 6에 도시된 ALF 단계에서 필요한 주변 화소 값의 최대 개수 계산 및 SAO 단계에서 필요한 주변 화소 값의 최대 개수 계산에 대한 일시 예를 개략적으로 나타내는 개념도이다.
도 8은 도 6에 도시된 디블록킹 필터링 단계를 고려한 최종 저장할 너비와 높이 계산에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 9는 도 4b에 도시된 LCU 단위의 저장 화소 로드부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 10은 도 4b에 도시된 수직 경계에 대한 디블록킹 필터 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 11은 도 4b에 도시된 수평 경계에 대한 디블록킹 필터 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 12는 도 4b에 도시된 LCU 단위의 SAO 수행부의 구성에 대한 제1 실시 예를 나타내는 블록도이다.
도 13은 도 12에 도시된 SAO 수행부(1220)에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 14는 도 4b에 도시된 LCU 단위의 ALF 수행부에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 15는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 슬라이스 내의 전체 화소 복원 후에 병렬적으로 적용되는 것에 대하여 설명하는 도면이다.
도 16는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스의 구성을 나타내는 블록도이다.
도 17는 도 16에 도시된 LCU 단위의 필터링 화소 로드부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 복호화 장치의 일 실시 예에 따른 구성을 나타내는 블록도이다.
도 1를 참조하면, 상기 영상 복호화 장치(100)는 엔트로피 복호화부(110), 재정렬부(120), 역양자화부(130), 역변환부(140), 움직임 보상부(145), 인트라 예측부(150), 가산기(155), 디블록킹필터부(160), SAO 수행부(165), ALF 수행부(170) 및 참조 영상 버퍼(175)를 포함한다.
영상 복호화 장치(100)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환된다. 영상 복호화 장치(100)는 입력 받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다. 이러한 복원 블록에 디블록킹 필터부, SAO 수행부 및 ALF 수행부를 통하여 복원 영상에 필터링을 수행하여 최종적으로 복원 블록을 생성하고 이를 참조 영상 버퍼에 저장한다.
엔트로피 복호화부(110)는 입력된 비트스트림을 복호화하여 양자화된 계수를 출력한다. 양자화된 계수는 재정렬부(120)에서 재정렬된 후, 역양자화부(130)에서 역양자화된다. 역양자화된 계수는 역변환부(140)에서 역변환되며 이를 통해 잔여블록(residual block)이 생성된다.
인터 모드인 경우, 움직임 보상부(145)는 움직임 벡터, 참조 프레임 인덱스 및 참조 영상 버퍼(175)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
인트라 모드인 경우, 인트라 예측부(150)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
잔여 블록과 예측 블록은 가산기(155)를 통해 더해지고, 더해진 블록은 디블록킹필터부(160), SAO 수행부(165), ALF 수행부(170) 중 적어도 하나 이상의 필터링이 수행된다. 이렇게 필터링된 영상은 참조 영상 버퍼(175)에 저장되어 다음 영상을 위한 화면 간 예측에 사용될 수 있다.
도 2는 LCU 단위에서 2D-wavefront 형태로 병렬 복호화할 때 의존성을 갖는 블록 위치에 대하여 설명하기 위한 도면이다.
도 2를 참조하면, 입력된 슬라이스를 LCU(Largest Coding Unit) 단위에서 2D-wavefront 형태로 병렬 복호화할 때, 복호화 하는 LCU의 주변에 위치하는 LCU들에 의존성을 갖는다. 즉, 비디오 부호화 시 현재 LCU를 부호화할 때 주변의 LCU들의 문맥 정보를 사용하여 부호화했기 때문에 복호화 시에도 의존성을 갖는 LCU들의 복호화가 선행된 이후 현재 LCU의 복호화가 수행되어야 정상적으로 LCU의 복호화가 수행된다.
예를 들어, HEVC의 복호화기에서 엔트로피 복호화, 디블록킹 필터, SAO, 및 ALF를 제외한 인트라 예측부(150)와 움직임 보상부(145)는 복호화를 수행하는 LCU(210)에서 좌측 LCU(220), 좌-상측 LCU (230), 상측 LCU (240), 우-상측 LCU(250)들에 의존성을 갖는다.
도 3a는 복호화기에서 슬라이스 단위로 디블록킹 필터, SAO 및 ALF를 수행하는 인-루프 필터링 과정의 흐름도이다.
도 3a를 참조하면, 슬라이스 단위의 인-루프 필터링 과정(310)은 슬라이스내 수직 경계에 대한 디블록킹 필터 수행부(320), 슬라이스 내 수평 경계에 대한 디블록킹 필터 수행부(330), 슬라이스 단위의 SAO 수행부(340), 슬라이스 단위의 ALF 수행부(350)를 포함한다.
수직 경계에 대한 디블록킹 필터 수행부(320)는 입력된 슬라이스 내의 모든 LCU들에서 수직 경계에 대하여 수평 방향으로 필터링을 수행한다. 이렇게 슬라이스 내의 모든 LCU들에서 수직 경계에 대한 필터링이 수행된 후, 수평 경계에 대한 디블록킹 필터 수행부를 통하여 슬라이스 내의 모든 LCU들에서 수평 경계에서 수직 방향으로 필터링이 수행된다.
슬라이스 내의 모든 LCU들에서 디블록킹 필터링이 적용된 후 슬라이스 단위의 SAO 수행부(340)에서는 모든 LCU들에 대해서 SAO를 적용한다. 이때 SAO는 SAO의 적용에 관한 on/off 정보에 따라 선택적으로 SAO가 적용될 수 있다. 슬라이스 내의 모든 LCU들에서 선택적으로 SAO가 적용된 후, 슬라이스 단위의 ALF 수행부(350)에서는 슬라이스 내의 모든 LCU들에 대해서 역시 ALF 적용에 관한 on/off 정보를 참조하여 선택적으로 ALF를 수행한다.
이러한 슬라이스 단위의 인-루프 필터 과정(310)은 디블록킹 필터링, SAO 및 ALF에 대하여 각 단계에서 슬라이스 단위로 연산이 수행된다는 특징을 갖는다.
도 3b는 LCU 단위로 ALF를 수행할 때 해당 블록이 갖는 의존성 블록의 위치에 대하여 설명하기 위한 도면이다.
도 3b를 참조하면, ALF 수행부(170)에서 LCU 단위로 ALF를 적용할 때 ALF를적용하려는 LCU(360)는 주변의 8방향에 위치하는 LCU들에 의존성을 갖는다. ALF 수행부(170)는 SAO 수행부(160) 이후에 적용되기 때문에 주변의 8방향에 위치하는 LCU들이 SAO 수행부(160)에 의하여 선택적으로 SAO가 수행되어야 한다.
도 3a에서 설명한 슬라이스 단위의 인-루프 필터링 과정에서는 디블록킹 필터, SAO 및 ALF의 각 단계에 대하여 슬라이스 단위로 적용하기 때문에 이러한 종속성 문제가 발생되지 않는다. 그러나 디블록킹 필터, SAO 및 ALF를 LCU 단위에서 2D-wavefront 형태로 병렬 수행하기 위해서는 상기의 주변 LCU 들과의 의존성을 고려해야 한다.
도 4a는 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 2D-wavefront 형태의 화소 복원 프로세서와 동시에 동작하는 것을 설명하기 위한 도면이다.
도 4a를 참조하면, 슬라이스 복호화를 위하여 LCU 단위의 2D-wavefront를 적용하면 402, 403, 404 LCU는 주변의 LCU에 의존성을 갖지 않기 때문에 동시에 복원될 수 있다. 이때, 본 발명의 제1 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스는 400, 401 LCU에서 동시에 수행될 수 있다. 400 LCU를 기준으로 좌-하단, 하단, 우-하단, 우측에 위치하는 화소들이 모두 복원되었으므로 400 LCU는 LCU 단위의 병렬 인-루프 필터링 프로세스가 수행될 수 있다. 마찬가지로 401 LCU를 기준으로 좌-하단, 하단, 우-하단, 우측에 위치하는 화소들이 모두 복원되었으므로 401 LCU는 LCU 단위의 병렬 인-루프 필터링 프로세스가 수행될 수 있다.
도 4b는 본 발명의 제1실시예에 따른 LCU 단위의 병렬 인-루프 필터링 과정의 구성을 나타내는 블록도이다.
도 4b를 참조하면, LCU 단위의 병렬 인-루프 필터링 수행부(440)는 LCU 단위의 화소 저장부(410), LCU 단위의 저장 화소 로드부(415), 수직 경계에 대한 디블록킹 필터 수행부(420), LCU내 수평 경계에 대한 디블록킹 필터 수행부(425), LCU 단위의 SAO 수행부(430), 및 LCU 단위의 ALF 수행부(435)로 구성된다.
LCU 단위의 병렬 인-루프 필터링 수행부(440)는 복호화하려는 LCU에 디블록킹 필터, SAO, 및 ALF를 순차적으로 적용하는데, 이때 주변 LCU와의 의존성을 줄이기 위하여 복호화하려는 LCU 뿐만 아니라 해당 LCU의 주변에 위치하는 복호화된 화소 값들을 패딩 영역에 로드한 후 해당 화소 값들에도 필터링을 수행한다.
LCU 단위의 화소 저장부(410)는 디블록킹 필터, SAO, 및 ALF를 LCU 단위로 수행할 때, 필터링을 수행하기 전에 해당 LCU 내부의 화소들을 버퍼에 저장한다.
LCU 단위의 저장 화소 로드부(415)는 LCU 단위로 병렬 인-루프 필터링 과정을 수행하기에 앞서서, 버퍼에 저장되어 있는 주변 LCU들의 화소 값을 패딩 영역으로 로드한다.
수직 경계에 대한 디블록킹 필터 수행부(420)는 복호화하려는 현재 LCU와 그 주변의 패딩 영역에 로드된 화소들에 대하여 수직 경계 경계를 기준으로 디블록킹 필터링을 수행한다. 이렇게 복호화하려는 현재 LCU 내부의 화소 뿐만 아니라 패딩 영역에 로드 된 화소 값들에 대해서도 필터링을 수행시킴으로써, 주변 LCU와의 의존성을 제거할 수 있게 하며 이를 통해 병렬화의 성능을 향상 시킨다.
수평 경계에 대한 디블록킹 필터 수행부(425)는 복호화하려는 LCU와 그 주변의 패딩 영역에 로드된 화소들에 대하여 수평 경계들에서 필터링을 수행한다. 이러한 필터링은 수직 경계에 대한 디블록킹 필터 수행부(420) 이후에 수행되며, 이를 통해 복호화하려는 LCU와 그 주변의 패딩 영역에 위치하는 화소들에 대하여 수직 경계와 수평 경계에 대한 디블록킹 필터의 수행이 완료된다.
LCU 단위의 SAO 수행부(430)는 복호화하려는 현재 LCU와 그 주변의 패딩 영역에 로드된 화소들에 대하여 SAO를 선택적으로 적용한다. 이때 LCU 단위의 SAO 수행부에서는 현재 LCU와 그 주변의 패딩 영역에 SAO를 적용하기 위한 파라미터 값을 미리 복호화한 후 해당 값을 이용하여 SAO를 선택적으로 적용한다.
LCU 단위의 ALF 수행부(435)는 복호화하려는 현재 LCU 내의 화소들에 대해서만 선택적으로 ALF 적용한다. ALF 수행부(435)는 ALF 적용에 관한 on/off 파라미터 값들을 미리 복호화한 후 해당 값을 이용하여 복호화하려는 현재 LCU 내의 화소들에 대하여 ALF를 수행한다.
도 5는 도 4b에 도시된 LCU 단위의 화소 저장부(410)의 구성 및 동작을 개략적으로 나타낸 개념도이다.
도 5를 참조하면, LCU 단위의 화소 저장부(410)는 복호화하려는 현재 LCU에 인-루프 필터링 과정을 수행하기 전에 현재 LCU 내의 임의의 화소 값들을 LCU내 아래쪽 화소 저장 버퍼(510)와 LCU내 오른쪽 화소 저장 버퍼(530)에 저장을 수행한다. 이렇게 저장된 화소 값들은 복호화하려는 LCU의 아래쪽과 오른쪽에 위치하는 LCU 들에 대한 인-루프 필터링 수행부(440)에서 사용된다.
LCU 단위의 화소 저장부(410)는 복호화하려는 현재 LCU에 인-루프 필터링 과정을 수행하기 전에 먼저 현재 LCU에서 저장할 저장 높이(545)를 계산한다. 저장 높이(545)는 인-루프 필터링 과정의 필터링 종류, 필터 모양, 필터 연산 특성을 고려하여 LCU 단위에서 의존성을 제거할 수 있도록 해당 값이 계산된다. 계산된 저장 높이(545)를 이용하여 현재 LCU에서 아래쪽에 위치하는 화소 집합(515)들은 LCU내 아래쪽 화소 저장 버퍼(510)에 저장된다. 이때 동시에 현재 LCU의 인덱스(520)값을 통하여 LCU내 아래쪽 화소 저장 버퍼(510)에서 적당한 버퍼 공간에 해당 값이 저장된다.
이와 마찬가지로, LCU내에서 오른쪽에 위치하는 화소 값들(535)은 복호화하려는 LCU의 오른쪽에 위치하는 LCU에서 사용될 수 있도록, 인-루프 필터링 과정이 수행되기 전의 복원된 화소 값들을 LCU내 오른쪽 화소 저장 버퍼(530)에 저장한다. 이때, 저장에 사용될 화소들의 너비 값(540)은 인-루프 필터링 과정의 필터링 종류, 필터 모양, 필터 연산 특성을 고려하여 LCU 단위에서 의존성을 제거할 수 있도록 하는 값으로 계산된다. 계산된 저장 너비(540)값을 이용하여 LCU내에서 오른쪽에 위치하는 화소 값들(535)은 LCU내 오른쪽 화소 저장 버퍼(530)에 저장되는데, 이때 LCU 인덱스(520)값을 통하여 LCU내 오른쪽 화소 저장 버퍼(530)내에서 적당한 버퍼 공간에 해당 값이 저장된다.
LCU내 아래쪽 화소 저장 버퍼(510)와 LCU내 오른쪽 화소 저장 버퍼(530)는 병렬화의 방법 및 메모리 관리 방법에 따라 다양한 크기를 가질 수 있다. 예를 들어, 저장 버퍼의 메모리를 최소화하는 경우에는 LCU내 오른쪽 화소 저장 버퍼의 크기는 병렬처리코어(하드웨어장치)수ㅧ저장 너비ㅧLCU 높이이다. 이는 LCU 단위의 2D-wavefront 방식에서는 각 LCU 라인에서 이전에 위치하는 LCU가 복호화된 후, 해당 LCU의 오른쪽에 위치하는 LCU가 복호화될 수 있기 때문에 복호화하려는 각 LCU내의 오른쪽 화소들(535)을 저장할 버퍼는 한 개만 존재해도 되기 때문이다. LCU내 아래쪽 화소 저장 버퍼는 각 LCU 라인에서 아래에 위치하는 LCU 라인에서 사용될 화소 값을 저장하는 공간이다. 따라서 최소 병렬처리코어(하드웨어장치)수ㅧ저장 높이ㅧLCU 너비ㅧ(영상의 너비/LCU 너비)가 필요하다. 이는 LCU 단위의 2D-wavefront 방식에서 각 라인 단위로 코어를 할당하여 처리할 때 각 라인 별 수행 속도가 다르기 때문에, LCU내 아래쪽 화소들(515)들은 영상의 너비에 존재하는 LCU의 개수만큼의 버퍼가 최소로 필요하다.
도 6은 도 4b에 도시된 LCU 단위의 화소 저장부(410)에서 화소 저장 너비(540)와 화소 저장 높이(545)를 계산하는 방법을 나타내는 흐름도이다.
도 6을 참조하면, LCU에서 화소 저장 너비(540)와 화소 저장 높이(545)를 계산하기 위해서 LCU 단위의 병렬 인-루프 필터링 과정의 역순으로 각 과정의 특성을 고려한다.
먼저, 인-루프 필터링 과정에서 가장 마지막에 적용되는 ALF 단계에서 수평과 수직 방향 각각에 대하여 가장 필터의 너비와 높이가 긴 필터가 선택된다. 이렇게 선택된 필터로 필터링할 때 LCU 경계에 바깥쪽에서 필요한 화소 값의 최댓값을 계산한다(s610). s610 과정을 통해서 LCU 경계에 바깥쪽에서 필요한 화소의 수가 계산되며 그 중 가장 바깥쪽에 위치한 화소에서 다시 SAO 연산을 적용하는 것을 고려하여 필요한 주변 화소 값의 최대 개수를 재 계산한다. 이때 수평과 수직 방향 각각에서 최대로 필요한 화소의 수가 계산된다(s620). s620과정을 통하여 SAO과정에 사용되는 LCU 바깥쪽에서 가장 멀리 떨어진 화소가 결정되는데, 이때 해당 화소 값이 디블록킹 필터링 과정에서 변경되는 고려하여 디블록킹 필터링에 사용되는 화소 값의 범위를 고려하여 최종적으로 화소 저장 너비(540)와 화소 저장 높이(545)가 계산된다.(s630)
도 7은 도 6에 도시된 ALF 단계에서 필요한 주변 화소 값의 최대 개수 계산(s610) 및 SAO 단계에서 필요한 주변 화소 값의 최대 개수 계산(s620)에 대한 일실시예를 개략적으로 나타내는 개념도이다.
도 7을 참조하면, 화소 저장 너비(540)를 계산할 때 먼저 인-루프 필터링 과정에서 가장 마지막에 적용되는 ALF 과정에서 사용되는 필터들(710)중 최대 너비를 갖는 필터(715)를 선택한다. 그리고 해당 필터가 LCU 경계에 위치하는 화소에 적용되는 고려하여, LCU 경계를 기준으로 가장 바깥쪽에 위치하는 화소(720)의 위치를 구한다.
ALF 과정에서 사용되는 가장 바깥쪽에 위치하는 화소(720)의 위치에서 SAO 과정에서 사용되는 필터들(725)중 최대 너비를 갖는 필터를 선택한다. 그리고 해당 필터의 중심을 ALF 과정에서 사용되는 가장 바깥쪽에 위치하는 화소(720)에 위치시켜서 SAO를 적용하는 것을 고려할 때, LCU 경계를 기준으로 가장 바깥쪽에 위치하는 화소(735)의 위치를 구한다. 이렇게 ALF 과정과 SAO 과정을 고려하여 각 과정에서 최대 너비의 화소 수를 더해줌으로써 ALF와 SAO를 고려한 패딩 크기(740)를 계산한다.
상기 패딩 크기(740)가 계산될 때 ALFMaxWidth는 ALF 필터 중 가장 너비가 긴 필터의 너비 값을 계산한다. 예를 들어, 710과 같이 5개의 ALF 필터가 존재하는 경우 해당 값은 5가 된다. SAOMaxWidth는 SAO 필터 중 가장 너비가 긴 필터의 너비 값을 계산한다. 예를 들어, 725와 같이 두 개의 SAO 필터가 존재하는 경우 해당 값은 1이 된다.
이러한 과정은 화소 저장 높이(545)를 계산하는 과정에서도 동일하게 적용되어, ALF와 SAO를 고려한 수직 방향의 패딩 크기를 계산한다. 이때 ALFMaxWidth와 SAOMaxWidth는 ALFMaxHeight와 SAOMaxHeight로 변경되며, 각각 사용되는 필터의 최대 높이를 계산한다.
도 8은 도 6에 도시된 디블록킹 필터링 단계를 고려한 최종 저장할 너비와 높이 계산(s630)에 대한 일 실시 예를 개략적으로 나타낸 개념도이다.
도 8을 참조하면, ALF 과정에서 사용되는 LCU 바깥쪽에 위치하는 화소들(810)중 가장 바깥쪽에 위치하는 화소(720)이 도 8의 p3이 된다. p3을 기준으로 SAO를 적용할 때 가장 긴 너비를 고려할 때, LCU 경계를 기준으로 가장 바깥쪽에 위치하는 화소(735)은 p2(820)이다.
SAO 연산 과정에서는 디블록킹 필터링이 수행된 p2(820)값을 사용하기 때문에 p2값에 대하여 디블록킹 필터링 연산을 적용할 때 사용되는 화소들을 고려하여 최종 저장할 너비 및 높이를 계산해야 한다.
예를 들어, HEVC에서는 디블록킹 필터링을 8화소 떨어진 경계에서 적용하며 경계를 기준으로 최대 세 화소까지 필터링을 수행한다. 따라서 p2(820)값은 디블록킹 필터링 연산과정에서 수직 경계(835)를 기준으로 디블록킹 필터링이 적용될 수 있다. 이때 디블록킹 필터링 연산과정에서 수직 경계(835)를 기준으로 좌ㅇ우측에 존재하는 4화소씩이 사용되므로 최종적으로 ALF, SAO 및 디블록킹 필터를 고려하여 LCU 경계(800)를 기준으로 최대 12화소 값을 화소 저장 너비(540) 값으로 계산한다.
이와 마찬가지로, 최종 화소 저장 높이 값을 계산하는 경우에도 수평 경계에 적용되는 디블록킹 필터와 디블록킹 필터링 연산과정에서 변경되는 화소 및 사용되는 화소 값들을 고려하여, 해당 값을 계산한다. 예를 들어, HEVC의 디블록킹 필터링 과정에서는 수평 경계와 수직 경계에 동일한 알고리즘이 사용되므로 역시 LCU 경계를 기준으로 최대 12화소 값을 화소 저장 높이(545) 값으로 계산한다.
도 9는 도 4b에 도시된 LCU 단위의 저장 화소 로드부(415)의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 9를 참조하면, LCU 단위의 저장 화소 로드부(415)는 LCU 단위로 병렬 인-루프 필터링 과정을 수행할 때 복호화하려는 현재 LCU 블록(940)의 주변 화소 값들을 로드한다.
LCU 단위로 2D-wavefront 행태로 병렬 복호화를 수행하는 경우, 복호화하려는 LCU 블록(940)의 좌측, 좌-상단, 상단, 우-상단에 위치하는 LCU들은 이미 복호화된 후 인-루프 필터링이 적용되었기 때문에 해당 위치에 화소 값들은 LCU내 오른쪽 화소 저장 버퍼(910)와 LCU내 아래쪽 화소 저장 버퍼(920)에서 이전에 저장된 인-루프 필터링 적용전의 화소 값들을 로드한다. 이때 현재 LCU 블록(940)의 인덱스 정보를 참조하게 함으로써 각 버퍼에서 현재 LCU 블록을 위한 저장 화소 값들을 로드가 가능하게 한다.
현재 LCU 블록(940)의 좌-하단, 하단, 우-하단, 우측에 위치하는 화소들(930)은 차분 신호와 예측 신호가 더해져 화소 값의 복원은 되었으나, 아직 인-루프 필터링 과정이 적용되지 않은 화소 들이므로 해당 값은 메모리에서 직접 패딩 영역으로 로드된다.
도 10은 도 4b에 도시된 수직 경계에 대한 디블록킹 필터 수행부(420)에 대한 일 실시 예를 개략적으로 나타내는 개념도이다.
도 10을 참조하면, 수직 경계에 대한 디블록킹 필터 수행부(420)는 현재 복호화하려는 LCU 내부의 화소들 뿐만 아니라 패딩 영역에 있는 화소들에 대해서도 수직 경계를 기준으로 수평 필터링을 수행한다.
이때 패딩 영역에 있는 모든 화소들에 대해서 필터링을 수행하는 것이 아니라 수평 필터링 수행 범위(1070)를 고려하여 필터링을 수행한다.
예를 들어, HEVC의 경우 수평 필터링 수행 범위(1070)는 디블록킹 필터링이 8화소마다 수행되는 것으로 고려하여 해당 값이 8로 고정된다. 따라서 수직경계(1020)을 기준으로 오른쪽에 위치하는 4화소 값과 수직경계(1030), 수직경계(1040), 수직경계(1050)의 좌ㅇ우측 4화소 값이 필터링 된다. 또한, 수직경계(1060)의 좌측 4화소 값도 추가적으로 필터링이 수행된다. 수직경계(1020)과 수직경계(1060)에서 디블록킹 필터링을 수행할 때 수직경계(1020)의 왼쪽에 위치하는 4화소 값과, 수직경계(1060)의 오른쪽 위치하는 4화소 값에는 실제 필터링이 수행되지는 않지만, 참조되는 화소 값이기 때문에 이를 고려하여 화소 저장 너비(1010)가 도 8에서 설명한 것과 같이 계산된 것이다.
도 11은 도 4b에 도시된 수평 경계에 대한 디블록킹 필터 수행부(430)에 대한 일실시예를 개략적으로 나타내는 개념도이다.
도 11을 참조하면, 수평 경계에 대한 디블록킹 필터 수행부(430)는 현재 복호화하려는 LCU 내부의 화소들뿐만 아니라 패딩 영역에 있는 화소들에 대해서도 수평 경계를 기준으로 수직 방향으로 필터링을 수행한다.
이때 패딩 영역에 있는 모든 화소들에 대해서 필터링을 수행하는 것이 아니라 수직 필터링 수행 범위(1170)를 고려하여 필터링을 수행한다.
예를 들어, HEVC의 경우 수직 필터링 수행 범위(1170)는 디블록킹 필터링이 8화소마다 수행되는 것으로 고려하여 해당 값이 8로 고정된다. 따라서 수평경계(1110)을 기준으로 아래쪽에 위치하는 4화소 값과 수평경계(1120), 수평경계(1130), 수평경계(1140)의 상단ㅇ하단에 위치하는 4화소 값들이 필터링 된다. 또한, 수평경계(1150)의 상단에 위치하는 4화소 값도 추가적으로 필터링이 수행된다. 수평경계(1110)과 수평경계(1150)에서 디블록킹 필터링을 수행할 때 수평경계(1110)의 위쪽에 위치하는 4픽셀과, 수평경계(1150)의 아래쪽에 위치하는 4픽셀에서는 실제 필터링이 수행되지는 않지만, 참조되는 화소 값이기 때문에 이를 고려하여 화소 저장 높이(1160)가 도 8에서 설명한 것과 같이 계산된 것이다.
도 12는 도 4b에서 도시된 LCU 단위의 SAO 수행부(430)의 구성에 대한 제 1실시예를 나타내는 블록도이다.
도 12를 참조하면, LCU 단위의 SAO 수행부(430)는 SAO 파라미터 추출부(1210)와 SAO 수행부(1220)으로 구성된다.
SAO 파라미터 추출부(1210)는 블록 또는 화소 단위에서 SAO가 적용되는 것을 고려하여 복호화하려는 현재 LCU 뿐만 아니라 주변에 위치하는 화소들을 SAO를 수행할 때 필요한 파라미터 값을 추출한다.
예를 들어, HEVC의 경우에는 Region 단위로 SAO의 종류 및 오프셋이 전송되는데 이러한 값들을 추출하는 역할을 한다.
SAO 수행부(1220)는 현재 복호화하려는 LCU 내부의 화소 뿐만 아니라, 주변에 위치하는 패딩 영역 내의 화소들에서도 추출된 SAO 파라미터 값을 사용하여 실제 SAO를 수행한다.
도 13은 도 12에 도시된 SAO 수행부(1220)에 대한 일실시예를 개략적으로 나타내는 개념도이다.
도 13을 참조하면, SAO 수행부(1220)는 현재 복호화라는 LCU 내부의 화소들(1310)뿐만 아니라, SAO 이후의 인-루프 필터링 과정인 ALF에서 참조하는 패딩 영역에 위치하는 화소 값들(1320)에 대해서도 SAO를 수행한다. 이때 패딩 영역에서 SAO를 수행하는 너비 도는 높이(1330)은 SAO 필터링 이후에 적용되는 ALF에서 사용하는 필터의 최대 너비 또는 높이 값을 고려해야 계산한다.
도 14는 도 4b에 도시된 LCU 단위의 ALF 수행부(435)에 대한 일실시예를 개략적으로 나태는 개념도이다.
도 14를 참조하면, LCU 단위의 ALF 수행부(435)는 현재 복호화하려는 LCU 내부의 화소들에 대해서 ALF 필터링을 수행한다. 이때 ALF 필터링 적용 파라미터 값을 사용하여 선택적으로 필터링을 수행한다.
도 15는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 슬라이스 화소 복원 후에 병렬적으로 적용되는 것을 설명하기 위한 도면이다.
도 15를 참조하면, 슬라이스 단위로 복호화가 수행이 완료된 후, 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스는 LCU 라인 단위로 동시에 수행될 수 있다. 예를 들어, 세 개의 코어 또는 하드웨어 장치가 있는 경우 1500, 1510, 1520 LCU는 동시에 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스가 수행될 수 있다. 슬라이스 내의 모든 화소가 복원 된 후 LCU 단위의 병렬 인-루프 필터링 프로세스가 적용될 때에는 슬라이스 내의 모든 LCU들에 대해서 슬라이스 단위의 백업 버퍼를 사용하기 때문에 주변의 LCU들과 의존성이 없어, 동시에 병렬적으로 인-루프 필터링 프로세스가 수행될 수 있다.
도 16는 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 프로세스의 구성을 나타내는 블록도이다.
도 16를 참조하면, 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 수행부(1660)는 슬라이스 추가 버퍼 구성부(1600), LCU 단위의 필터링 화소 로드부(1610), 수직 경계에 대한 디블록킹 필터 수행부(1620), LCU내 수평 경계에 대한 디블록킹 필터 수행부(1630), LCU 단위의 SAO 수행부(1640), 및 LCU 단위의 ALF 수행부(1650)로 구성된다.
본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 수행부(1660)는 복호화하려는 슬라이스 내의 모든 화소들이 복원된 후 수행될 수 있다. 먼저 슬라이스 추가 버퍼 구성부(1660)는 슬라이스 내의 모든 복원된 화소들에 대하여 LCU 단위의 병렬 인-루프 필터링 수행과정에서 사용할 수 있도록 복원된 화소 값을 버퍼에 저장한다.
LCU 단위의 필터링 화소 로드부(1610)는 LCU 단위로 병렬 인-루프 필터링 과정을 수행하기에 앞서서, 복호화하려는 LCU 위치에 대한 LCU 내의 화소 값들과 해당 LCU 주변의 화소 값들을 슬라이스 버퍼에서 로드한다.
수직 경계에 대한 디블록킹 필터 수행부(1620), LCU내 수평 경계에 대한 디블록킹 필터 수행부(1630), LCU 단위의 SAO 수행부(1640), 및 LCU 단위의 ALF 수행부(1650)는 도 4b의 각 수행부와 동일한 역할을 수행한다.
도 17는 도 16에 도시된 LCU 단위의 필터링 화소 로드부의 구성 및 동작을 개략적으로 나타내는 개념도이다.
도 17을 참조하면, 본 발명의 제2 실시예에 따른 LCU 단위의 병렬 인-루프 필터링 수행부는 복호화하려는 슬라이스 내의 모든 화소 값들이 복원된 후 수행되는데, 이때 복호화하려는 LCU 내의 화소 값(1730)들과 해당 LCU의 주변에 위치하는 화소 값(1720)들을 슬라이스 버퍼(1700)에서 로드한다. 이때 슬라이스 버퍼에 접근하기 위하여 복호화하려는 LCU 인덱스(1710) 정보 등을 사용할 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
Claims (18)
- LCU 단위의 데이터 레벨 병렬 복호화 방법으로써, 인-루프 필터 프로세서를 수행할 때 복호화할 LCU내의 일부 화소를 저장하고, 주변의 저장된 화소 값들을 패딩 영역에 로드하도록 구성하는 단계; 및
LCU 내부 및 패딩 영역에 존재하는 화소들에 대하여 연속되는 인-루프 필터 과정의 필터 모양을 고려하여 디블록킹 필터, SAO, ALF를 적용하는 방법. - 제1항에 있어서, 복호화할 LCU내의 화소 저장은
LCU내에서 저장할 화소의 범위를 높이와 너비에 대하여 계산하도록 하는 비디오 복호화 방법. - 제2항에 있어서, 저장할 화소 범위의 높이는
여러 단계로 구성된 인-루프 필터 과정에 대하여 실행 순서를 역으로 고려하여, 각 단계별 적용되는 필터의 최대 높이 값을 이용하여 최종 저장할 영역의 높이를 계산하도록 하는 비디오 복호화 방법. - 제2항에 있어서, 저장할 화소 범위의 너비는
여러 단계로 구성된 인-루프 필터 과정에 대하여 실행 순서를 역으로 고려하여, 각 단계별 적용되는 필터의 최대 너비 값을 이용하여 최종 저장할 영역의 너비를 계산하도록 하는 비디오 복호화 방법. - 제1항에 있어서, 복호화할 LCU내의 화소 저장은
LCU 안에서 아래쪽에 위치하는 화소들을 저장하기 위한 버퍼와 LCU 안에서 오른쪽에 위치하는 화소들을 저장하기 위한 버퍼를 포함하는 비디오 복호화 장치. - 제5항에 있어서,상기 LCU 안에서 아래쪽에 위치하는 화소들을 저장하기 위한 버퍼와 LCU 안에서 오른쪽에 위치하는 화소들을 저장하기 위한 버퍼는
LCU 라인 단위의 병렬화 수, LCU의 크기를 고려하여 적응적으로 버퍼의 크기가 결정되는 비디오 복호화 장치. - 제5항에 있어서,
상기 LCU 안에서 아래쪽에 위치하는 화소들을 저장하기 위한 버퍼와 LCU 안에서 오른쪽에 위치하는 화소들을 저장하기 위한 버퍼는
복호화하려는 LCU의 인덱스 정보를 사용하여 내부 버퍼에 데이터를 저장하는 비디오 복호화 장치. - 제1항에 있어서, 복호화할 LCU의 패딩 영역으로 저장된 화소 값들의 로드는
이전 LCU의 처리 시 저장된 화소들을 LCU내 오른쪽 화소 저장 버퍼와 LCU내 아래쪽 화소 저장 버퍼에서 가져와 패딩 영역을 구성하는 비디오 복호화 방법. - 제1항에 있어서, 복호화할 LCU의 패딩 영역으로 저장된 화소 값들의 로드는
이전 LCU의 처리 시 저장된 화소들을 LCU내 오른쪽 화소 저장 버퍼와 LCU내 아래쪽 화소 저장 버퍼에서 가져와 패딩 영역을 구성하는 비디오 복호화 방법. - 제1항에 있어서, 복호화할 LCU의 패딩 영역으로 저장된 화소 값들의 로드는
이전 LCU의 처리 시 저장된 화소들을 LCU내 오른쪽 화소 저장 버퍼와 LCU내 아래쪽 화소 저장 버퍼에서 가져올 때 현재 복호화하려는 LCU의 인덱스 정보를 사용하는 비디오 복호화 장치. - 제1항에 있어서, LCU 내부 및 패딩 영역에 존재하는 화소들에 대하여 연속되는 인-루프 필터 과정의 필터 모양을 고려하는 디블록킹 필터부는
디블록킹 필터 이후에 적용되는 인-루프 필터 과정들에서 사용하는 최대 크기의 필터의 너비와 높이를 고려하여 수평 및 수직 방향에 대하여 필터링의 수행 범위를 결정한 후 필터링하는 비디오 복호화 장치. - 제11항에 있어서, 상기 디블록킹 필터부는
복호화하려는 LCU 내부의 화소들과 패딩 영역에서 수평 및 수직 필터링의 수행 범위 내에 있는 화소들에 대하여 추가적으로 디블록킹 필터링을 수행하는 비디오 복호화 장치. - 제1항에 있어서, LCU 내부 및 패딩 영역에 존재하는 화소들에 대하여 연속되는 인-루프 필터 과정의 필터 모양을 고려하는 SAO 수행부는
SAO 파라미터 추출부와 SAO 수행부를 포함하는 비디오 복호화 장치. - 제13항에 있어서, 상기 SAO 파라미터 추출부는
복호화하려는 LCU 뿐만 아니라 패딩 영역에 해당하는 화소들에 대하여 SAO를 수행할 수 있도록 해당 범위를 위한 SAO 파라미터를 추출하는 비디오 복호화 장치. - 제13항에 있어서, 상기 SAO 수행부는
복호화하려는 LCU 뿐만 아니라 패딩 영역에 해당하는 화소들 중 ALF에서 최대로 사용할 수 있는 범위를 고려하여 해당 화소들에 대하여 SAO를 수행하는 비디오 복호화 장치. - 제1항에 있어서, LCU 내부 및 패딩 영역에 존재하는 화소들에 대하여 연속되는 인-루프 필터 과정의 필터 모양을 고려하는 ALF 수행부는
복호화하려는 LCU의 패딩 영역에 화소 값들을 참조하여 복호호하려는 LCU 내부의 화소들에 대하여 ALF를 수행하는 비디오 복호화 장치.
- LCU 단위의 데이터 레벨 병렬 복호화 방법으로써, 인-루프 필터 프로세서를 수행할 때 슬라이스 모든 화소를 복호화한 후, 슬라이스 내의 복원된 화소 값들을 백업하는 단계; 및 LCU 단위로 인-루프 필터 프로세스를 수행할 때 슬라이스 단위의 백업 버퍼에서 복호화할 LCU 내부의 화소 및 그 주변의 화소 값들을 로드하여 추가적인 패딩 영역을 구성하는 단계; 및 LCU 내부의 화소 및 그 주변의 패딩 영역에 존재하는 화소들에 대하여 연속되는 적용되는 인-루프 필터 과정의 필터 모양을 고려하여 디블록킹 필터, SAO, ALF를 적용하는 방법
- 제17항에 있어서, 추가적인 패딩 영역은
여러 단계로 구성된 인-루프 필터 과정에 대하여 실행 순서를 역으로 고려하여, 각 단계별 적용되는 필터의 최대 너비 및 높이 값을 이용하여 패딩 영역의 너비 및 높이를 계산하도록 하는 비디오 복호화 방법
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110137398A KR20130070191A (ko) | 2011-12-19 | 2011-12-19 | 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110137398A KR20130070191A (ko) | 2011-12-19 | 2011-12-19 | 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130070191A true KR20130070191A (ko) | 2013-06-27 |
Family
ID=48865053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110137398A KR20130070191A (ko) | 2011-12-19 | 2011-12-19 | 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130070191A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015076580A1 (ko) * | 2013-11-20 | 2015-05-28 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
KR20150057935A (ko) * | 2013-11-20 | 2015-05-28 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
WO2016204374A1 (ko) * | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
-
2011
- 2011-12-19 KR KR1020110137398A patent/KR20130070191A/ko not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015076580A1 (ko) * | 2013-11-20 | 2015-05-28 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
KR20150057935A (ko) * | 2013-11-20 | 2015-05-28 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US10349078B2 (en) | 2013-11-20 | 2019-07-09 | Lg Electronics Inc. | Method and device for processing video signal by performing inter-prediction in parallel |
WO2016204374A1 (ko) * | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
US10750170B2 (en) | 2015-06-18 | 2020-08-18 | Lg Electronics Inc. | Image filtering method and device in image coding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7445799B2 (ja) | 画像復号装置及び画像復号方法 | |
US9264739B2 (en) | Method and apparatus for encoding/decoding image information | |
US9762918B2 (en) | Method and apparatus for line buffer reduction for video processing | |
US9420294B2 (en) | Intra-prediction method using filtering, and apparatus using the method | |
KR102429449B1 (ko) | 양방향 광 흐름을 위한 비트-폭 제어를 위한 방법 및 디바이스 | |
US20130028322A1 (en) | Moving image prediction encoder, moving image prediction decoder, moving image prediction encoding method, and moving image prediction decoding method | |
US20130287124A1 (en) | Deblocking Filtering | |
KR102359415B1 (ko) | 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터 | |
GB2531004A (en) | Residual colour transform signalled at sequence level for specific coding modes | |
KR20100133006A (ko) | 동화상 부호화/복호화 방법 및 장치 | |
JP7434588B2 (ja) | ビデオ・フィルタリングのための方法および装置 | |
US20150163498A1 (en) | Video encoding apparatus and video encoding method | |
JP7486595B2 (ja) | ビデオフィルタリングのための方法及び装置 | |
US20090279611A1 (en) | Video edge filtering | |
KR20120117613A (ko) | 동영상 부호화 장치 및 방법 | |
JP2023512898A (ja) | ビデオフィルタリングにおけるオフセットの方法及び装置 | |
KR20150113524A (ko) | 향상된 화면 내 블록 복사 기반의 예측 모드를 이용한 영상 복호화 장치 및 그 방법 | |
JP2024506213A (ja) | 符号化復号方法、装置及びそのデバイス | |
JP2024019652A (ja) | ビデオフィルタリングのための方法および装置 | |
KR20130070191A (ko) | 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 | |
JP7509916B2 (ja) | ビデオ符号化における境界処理のための方法、装置及びプログラム | |
CN108028924B (zh) | 用于编码/解码图像的方法及其装置 | |
WO2022037583A1 (en) | Systems and methods for intra prediction smoothing filter | |
KR20140138537A (ko) | 픽셀블록 필터링 방법 및 장치 | |
KR102511611B1 (ko) | 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |