KR102164698B1 - 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법 - Google Patents

입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법 Download PDF

Info

Publication number
KR102164698B1
KR102164698B1 KR1020130031367A KR20130031367A KR102164698B1 KR 102164698 B1 KR102164698 B1 KR 102164698B1 KR 1020130031367 A KR1020130031367 A KR 1020130031367A KR 20130031367 A KR20130031367 A KR 20130031367A KR 102164698 B1 KR102164698 B1 KR 102164698B1
Authority
KR
South Korea
Prior art keywords
sao
pixel
unit
sample adaptive
information
Prior art date
Application number
KR1020130031367A
Other languages
English (en)
Other versions
KR20140116991A (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 KR1020130031367A priority Critical patent/KR102164698B1/ko
Priority to US14/153,547 priority patent/US20140286391A1/en
Publication of KR20140116991A publication Critical patent/KR20140116991A/ko
Application granted granted Critical
Publication of KR102164698B1 publication Critical patent/KR102164698B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria

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

입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법에 관한 것으로서, 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱하는 SAO 파라미터 파싱부, 상기 파싱된 SAO 파라미터 정보로부터 SAO 타입 정보 및 오프셋 정보를 추출하는 SAO 파라미터 조정부, 및 상기 SAO 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행하는 필터링 수행부를 포함할 수 있다.

Description

입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법{APPARATUS OF PROCESSING SAMPLE ADAPTIVE OFFSET OF REUSING INPUT BUFFER AND METHOD OF THE SAME}
아래의 실시예들은 샘플 적응적 오프셋 (SAO, Sample Adaptive Offset)을 수행할 때 최대 코딩 유닛(LCU, Largest Coding Unit)내에서 SAO를 수행하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법을 개시한다.
HEVC는 Moving Picture Experts Group (MPEG)과 Video Coding Experts Group (VCEG)에 의해 공동으로 구성된 Joint Collaborative Team on Video Coding (JCT-VC)에 의해 표준화가 진행되고 있는 차세대 비디오 코덱이다.
HEVC는 H.264/AVC와 같은 종래의 비디오 코덱들과 달리 고정 크기의 블록 단위로 코딩을 수행하지 않는다. HEVC는 H.264/AVC의 매크로블록 단위 코딩이 고정된 크기로 인하여 다양한 해상도의 영상을 효과적으로 고려하지 못하는 문제를 해결하기 위하여 Coding Unit (CU), Transform Unit (TU), Prediction Unit (PU) 등을 정의하고, 이 중에 CU를 기본 코딩 단위로 사용한다. 이러한 CU 중에서 가장 큰 크기의 CU를 Largest Coding Unit(LCU)으로 부르며, 입력 영상은 다수의 LCU로 분할 된 후 LCU 단위로 부호화 및 복호화가 수행된다.
HEVC에 있어 SAO(Sample Adaptive Offset)는 LCU 단위로 수행되며 특정 픽셀에 오프셋을 더해주어 부호화 효율을 높인다. 오프셋을 더할 픽셀을 선택하는 과정에 따라 Edge Offset(EO)와 Band Offset(BO)로 분류할 수 있다. EO는 SAO 타입에 따라 주변 픽셀을 선택하고 픽셀 간 차이 값에 따라 4개의 카테고리로 구분 지으며, 각 카테고리에 포함되는 픽셀은 값에 해당 오프셋을 더해준다. SAO는 FIR 필터이기 때문에, 참조픽셀이 먼저 오프셋이 더해진 경우 현재 픽셀의 참조픽셀로 사용할 수 없다. 이와 같은 이유에서 참조픽셀이 오프셋을 더하기 전에 픽셀 값을 백업 해 놓거나 수행픽셀과 참조픽셀의 차이를 미리 저장해 놓아야 한다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치는 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱하는 SAO 파라미터 파싱부, 상기 파싱된 SAO 파라미터 정보로부터 SAO 타입 정보 및 오프셋 정보를 추출하는 SAO 파라미터 조정부, 및 상기 SAO 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행하는 필터링 수행부를 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치는 상기 SAO 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출하는 SAO 버퍼관리부를 더 포함하고, 상기 필터링 수행부는, 상기 SAO 타입 정보 및 상기 오프셋 정보과 함께 상기 추출된 참조라인 및 수행라인을 이용하여 상기 비트스트림에 대한 필터링을 수행할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치는 상기 SAO 버퍼 관리부로부터 상기 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받고, 상기 요청에 대한 응답으로, 참조픽셀 및 SAO 수행픽셀을 로드하는 LCU/픽쳐 버퍼를 더 포함할 수 있다.
일실시예에 따른 상기 SAO 버퍼 관리부는, 로드된 픽셀이 상기 참조픽셀인지 또는 상기 SAO 수행픽셀인지를 판단하고, 판단 결과에 기초하여, 상기 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장할 수 있다.
일실시예에 따른 상기 필터링 수행부는, SAO 버퍼관리부로부터 참조픽셀 및 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정할 수 있다.
일실시예에 따른 상기 필터링 수행부는, SAO 파라미터 조정부로부터 전달된 오프셋 값을 이용하여 상기 결정된 카테고리에 해당되는 오프셋을 상기 SAO 수행픽셀에 반영할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치는 상기 필터링된 비트스트림의 픽셀을 출력화면에 표시하고, LCU/픽쳐 버퍼에 저장하는 SAO 출력부를 더 포함할 수 있다.
일실시예에 따른 상기 SAO 버퍼 관리부는 버퍼에 들어오는 입력이 다른 입력 버퍼로부터 이동된 픽셀을 저장해야 하는지 또는 상기 LCU/픽쳐 버퍼가 로그하는 상기 참조픽셀 및 상기 SAO 수행픽셀 중에서 적어도 하나의 픽셀을 저장해야 하는지 여부를 결정하는 버퍼 관리 컨트롤러를 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 파라미터 파싱부를 통해, 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱하는 단계, SAO 파라미터 조정부를 통해, 상기 파싱된 SAO 파라미터 정보로부터 SAO 타입 정보 및 오프셋 정보를 추출하는 단계, 필터링 수행부를 통해, 상기 SAO 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행하는 단계, 및 SAO 버퍼관리부를 통해, 상기 SAO 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출하는 단계를 포함하고, 상기 필터링을 수행하는 단계는, 상기 SAO 타입 정보 및 상기 오프셋 정보과 함께 상기 추출된 참조라인 및 수행라인을 이용하여 상기 비트스트림에 대한 필터링을 수행하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 LCU/픽쳐 버퍼를 통해, 상기 SAO 버퍼 관리부로부터 상기 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받는 단계, 및 상기 요청에 대한 응답으로, 참조픽셀 및 SAO 수행픽셀을 로드하는 단계를 더 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 상기 SAO 버퍼 관리부를 통해, 상기 로드된 픽셀이 상기 참조픽셀인지 또는 상기 SAO 수행픽셀인지를 판단하는 단계, 및 상기 판단 결과에 기초하여, 상기 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장하는 단계를 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 상기 필터링 수행부를 통해, SAO 버퍼관리부로부터 참조픽셀 및 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정하는 단계를 더 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 상기 필터링 수행부를 통해, SAO 파라미터 조정부로부터 전달된 오프셋 값을 이용하여 상기 결정된 카테고리에 해당되는 오프셋을 상기 SAO 수행픽셀에 반영하는 단계를 더 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 출력부를 통해, 상기 필터링된 비트스트림의 픽셀을 출력화면에 표시하고, LCU/픽쳐 버퍼에 저장하는 단계를 더 포함할 수 있다.
도 1은 일실시예에 따른 샘플 적응적 오프셋 처리 장치를 설명하는 블록도이다.
도 2는 일실시예에 따른 SAO 버퍼 관리부를 보다 구체적으로 설명하는 도면이다.
도 3은 일실시예에 따른 SAO 버퍼 관리부의 기능을 보다 구체적으로 설명하는 도면이다.
도 4는 일실시예에 따른 샘플 적응적 오프셋 처리 장치에 사용되는 SAO 수행 단위를 설명하는 도면이다.
도 5a 내지 5d는 SAO 라인 단위 수행 시, 이전 SAO 수행된 픽셀이 참조 픽셀로 선택됨에 따라 SAO 수행 전 픽셀 및 부호값 등을 백업하여 수행하는 실시예를 설명하는 도면이다.
도 6은 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법을 설명하는 흐름도이다.
도 7은 SAO 타입 0도에 대한 SAO 버퍼 관리를 설명하는 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
실시예들을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 해당 기술이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)를 설명하는 블록도이다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 현재 픽셀의 버퍼를 입력과 출력을 분리하여 현재의 입력 픽셀이 참조 픽셀 또는 수행 픽셀로 재사용 가능할 때, 다음 수행의 입력 버퍼로 넘겨줌으로써 픽셀 값을 재사용하여 메모리 로드 횟수를 줄여 시스템 효율을 향상시킬 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 LCU 라인 단위로 샘플 적응적 오프셋의 처리 시, 라인 단위 입력 참조 픽셀이 그 다음 라인의 입력 수행 픽셀이 되므로 참조 픽셀의 입력 버퍼의 값을 수행 픽셀의 입력 버퍼에 값을 복사함으로써 픽셀 값을 재사용 할 수 있다. 일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 이러한 버퍼 관리를 통하여 메모리 로드에 대한 지연을 최소화 하여 샘플 적응적 오프셋의 처리를 고속으로 수행할 수 있다.
구체적으로, 일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 SAO 파라미터 파싱부(110), SAO 파라미터 조정부(120), SAO 버퍼관리부(130), 필터링 수행부(140), SAO 출력부(150), 및 LCU/픽쳐 버퍼(160)를 포함할 수 있다.
일실시예에 따른 SAO 파라미터 파싱부(110)는 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱할 수 있다.
일실시예에 따른 SAO 파라미터 조정부(120)는 상기 파싱된 SAO 파라미터 정보로부터 sao 타입 정보 및 오프셋 정보를 추출할 수 있고, SAO 버퍼관리부(130)는 상기 sao 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출할 수 있다. 일례로, SAO 파라미터 조정부(120)는 SAO 타입 정보를 SAO 버퍼관리부(130)에 알릴 수 있다. 또한, SAO 파라미터 조정부(120)는 필터링 수행부(140)에 SAO 타입과 오프셋 정보를 알려 필터링이 가능하게 할 수 있다.
일실시예에 따른 SAO 버퍼관리부(130)는 로드된 픽셀이 참조픽셀인지 또는 SAO 수행픽셀인지를 판단할 수 있다. 또한, 일실시예에 따른 SAO 버퍼관리부(130)는 판단 결과에 기초하여, 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장할 수 있다.
일실시예에 따른 SAO 버퍼관리부(130)는 버퍼 관리 컨트롤러(미도시)를 포함할 수 있다.
일실시예에 따른 버퍼 관리 컨트롤러(미도시)는 버퍼에 들어오는 입력이 다른 입력 버퍼로부터 이동된 픽셀을 저장해야 하는지 또는 상기 LCU/픽쳐 버퍼가 로그하는 상기 참조픽셀 및 상기 SAO 수행픽셀 중에서 적어도 하나의 픽셀을 저장해야 하는지 여부를 결정할 수 있다.
일실시예에 따른 필터링 수행부(140)는 sao 타입 정보 및 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행할 수 있다.
일실시예에 따른 필터링 수행부(140)는 sao 타입 정보 및 오프셋 정보과 함께 추출된 참조라인 및 수행라인을 이용하여 비트스트림에 대한 필터링을 수행할 수 있다.
또한, 필터링 수행부(140)는 SAO 버퍼관리부(130)로부터 참조픽셀 및 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정할 수 있다. 필터링 수행부(140)는 SAO 파라미터 조정부(120)로부터 전달된 오프셋 값을 이용하여 결정된 카테고리에 해당되는 오프셋을 SAO 수행픽셀에 반영할 수 있다. 예를 들어, 필터링 수행부(140)은 SAO 버퍼관리부(130)에서 보내준 참조픽셀 및 SAO 수행픽셀에 대한 정보를 입력 받아 현재 픽셀의 카테고리를 결정하고, SAO 파라미터 조정부(120)에서 받은 오프셋 값을 이용하여 결정된 카테고리에 해당되는 오프셋을 수행픽셀에 더해줄 수 있다.
일실시예에 따른 SAO 출력부(150)는 필터링된 비트스트림의 픽셀을 출력화면에 표시할 수 있다. 또한, SAO 출력부(150)는 출력화면에 표시되는 비트스트림의 픽셀을 LCU/픽쳐 버퍼에 저장할 수 있다. 예를 들어, 필터링 수행부(140)는 더해진 픽셀을 SAO 출력부(150)로 보낼 수 있다. SAO 출력부(150)는 필터링된 픽셀을 출력 화면 및 LCU/픽쳐 버퍼(160)에 저장할 수 있다.
일실시예에 따른 LCU/픽쳐 버퍼(160)는 버퍼 관리부(130)로부터 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받고, 요청에 대한 응답으로 참조픽셀 및 SAO 수행픽셀을 로드할 수 있다.
SAO는 FIR 필터(finite impulse response filter) 형태로서, 오프셋 결정을 위한 카테고리 계산 시, SAO 가 수행되기 전 값을 참조 픽셀로 사용한다. 즉, SAO가 취해진 주변 픽셀은 현재 위치의 SAO 수행을 위한 참조 픽셀로 활용될 수 없다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 최대 코딩 유닛 내에서 SAO를 수행할 때, 주변 참조픽셀과 수행픽셀을 입력으로 처리할 수 있다. 이로써, 일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 다음 라인의 SAO 수행에 사용되는 참조픽셀과 수행픽셀을 이전에 사용된 입력 픽셀로 재사용할 수 있다. 이를 위해, 일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 버퍼관리를 통해 해당 버퍼에 재사용되는 픽셀을 옮겨 메모리 로드 줄임으로써 메모리에 따른 지연을 최소화하여 고속으로 SAO를 수행할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 SAO의 입력버퍼와 출력버퍼를 구분 짓고, 입력버퍼 내에 저장된 픽셀 값이 재사용 가능한 경우 해당 위치의 입력버퍼에 값을 옮겨줌으로써 메모리 로드를 줄일 수 있다. 결국, 메모리 로드가 줄어들어 시스템의 처리 속도를 향상시킬 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 SAO 타입에 따라 현재 라인의 픽셀에 대해서 필터링을 취한 후 그 아래의 라인의 픽셀에 대해 필터링을 취할 때, 이전 수행픽셀의 입력을 그 다음에 참조픽셀로 활용할 수 있다. 따라서 참조픽셀의 입력 버퍼에서 수행픽셀의 입력 버퍼로 픽셀 값을 복사할 경우, 메모리에서 가져와야 할 픽셀 값을 줄임으로써 메모리 로드를 최소화 할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)는 HEVC 비디오 복호화기의 구성요소에 포함될 수 있다.
이를 위해, HEVC 비디오 복호화기는 엔트로피 복호화 유닛, 재정렬 유닛, 역양자화 유닛, 역이산여현변환 유닛, 움직임 보상 유닛, 화면 내 예측 유닛 부, 및 SAO 수행 유닛을 포함할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)의 기능은 SAO 수행 유닛에 적용될 수 있다.
HEVC 비디오 복호화기는 비트스트림을 엔트로피 복호화 유닛을 통해 필요한 구문정보를 파싱할 수 있다. 파싱 된 양자화 된 계수들은 재정렬 유닛을 통하여 재정렬될 수 있다. 역양자화 유닛은 재정렬 된 계수들을 역양자화 하고 그 출력 값은 역이산여현 변환 유닛을 통하여 역이산여현변환을 수행할 수 있다.
역이산여현 변환 유닛의 출력인 복호화 된 차분 픽셀 값은 움직임 보상 유닛 또는 화면 내 예측 유닛에서 생성된 예측 값과 더해져 필터링 이전의 복호화 된 영상이 생성된다. 필터링 이전의 복호화 된 영상은 SAO 수행 유닛을 통하여 필터링되며 필터링 된 영상은 HEVC 비디오 복호화기의 출력 및 다음 영상의 화면 간 예측 과정에 사용될 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치(100)가 적용된 HEVC 비디오 복호화기는 프레임 또는 슬라이스를 LCU 단위로 분할한 후 각 LCU 단위로 SAO를 수행할 수 있다. SAO수행이 LCU 단위로 진행 될 경우, SAO 타입에 따라 현재 위치의 LCU에서 자신의 8방향에 대한 참조 픽셀을 참조하여 필터링을 수행할 수 있다. 참조 픽셀은 SAO의 FIR 필터 특성에 따라 SAO가 수행되지 않은 픽셀 값을 사용할 수 있다.
도 2는 일실시예에 따른 SAO 버퍼 관리부(200)를 보다 구체적으로 설명하는 도면이다.
SAO 버퍼 관리부(200)는 SAO 수행에 필요한 입력픽셀 재사용을 통해 효율적으로 버퍼를 관리할 수 있다. 이를 위해서, SAO 버퍼 관리부(200)는 버퍼 관리 컨트롤러(210)를 포함할 수 있다.
일실시예에 따른 버퍼 관리 컨트롤러(210)는 버퍼에 들어오는 입력이 다른 입력 버퍼로부터 이동된 픽셀을 저장해야 하는지를 판단할 수 있다.
또한, 버퍼 관리 컨트롤러(210)는 LCU/픽쳐 버퍼가 로그하는 상기 참조픽셀 및 상기 SAO 수행픽셀 중에서 적어도 하나의 픽셀을 저장해야 하는지를 판단할 수 있다.
구체적으로, SAO 버퍼 관리부(200)는 SAO 타입이 45도, 135도, 90도 일 경우 현재 수행 라인의 위와 아래에 위치한 라인을 참조하여 SAO를 수행할 수 있다.
따라서 SAO 버퍼 관리부(200)는 입력 버퍼(240, 250, 260)와 출력 버퍼가 분리되어 있을 경우, 입력 버퍼에 있는 픽셀 값 중 일부는 다음 수행에서의 참조 픽셀로 재사용할 수 있다. 입력 버퍼의 픽셀 값을 재사용 시 참조 픽셀 및 수행 픽셀인지 여부는 변하므로 버퍼와 버퍼 간의 데이터 전송을 통해 해당 위치의 버퍼로 값을 이동한다.
버퍼 관리 컨트롤러(210)는 버퍼에 들어오는 입력이 다른 입력 버퍼로부터 이동 된 픽셀을 저장해야 하는지 또는 LCU/픽쳐버퍼를 통해 얻어온 픽셀 값을 저장해야 하는지 여부를 결정할 수 있다. 또한 버퍼 관리 컨트롤러(210)는 결정된 사항에 대해서 컨트롤 신호를 이용하여 멀티플렉서(220, 230)를 제어하고, 제어를 통해서 SAO 버퍼 관리부(200)를 동작에 반영할 수 있다.
도 3은 일실시예에 따른 SAO 버퍼 관리부(310)의 기능을 보다 구체적으로 설명하는 도면이다.
각 라인에 대한 명시는 SAO 버퍼 관리부(310)에 나타난다.
P0는 현재 위치의 LCU의 위쪽 라인으로 해석될 수 있다.
P1은 현재 위치의 LCU의 첫 번째 라인으로 해석될 수 있다.
P2는 P1의 아래 라인으로 해석될 수 있다.
일실시예에 따른 SAO 버퍼 관리부(900)의 입력 버퍼의 픽셀의 이동경로에 대한 예는 다음과 같다.
먼저 SAO 타입이 90도일 경우, P1 위치의 픽셀을 필터링하기 위해 P0, P1, P2가 버퍼의 입력이 될 수 있다. P1 위치의 픽셀이 필터링 된 이후에는 P2 위치의 픽셀에 대한 필터링이 이루어지는데, 이때의 입력은 P1, P2, P3가 될 수 있다. 여기서 P1과 P2는 미리 입력 버퍼에 존재하므로 데이터 이동을 통해 입력버퍼의 해당위치로 이동할 수 있다.
입력버퍼에 존재하지 않았던 P3는 메모리 로드를 통하여 입력버퍼에 저장될 수 있다. 이 후, P1, P2, P3이 모두 입력버퍼에 존재하므로 입력 버퍼의 픽셀 값을 이용하여 필터링 수행부에서 P2위치의 픽셀에 대한 필터링이 수행될 수 있다.
도 4는 일실시예에 따른 샘플 적응적 오프셋 처리 장치에 사용되는 SAO 수행 단위를 설명하는 도면이다.
도 4에서는 일실시예에 따른 SAO 수행 단위를 정의할 수 있다.
도 4의 도면부호 400은 현재의 LCU 처리를 위해 필요한 LCU와 주변 8방향 픽셀로 해석될 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치가 라인 단위(410)로 SAO를 수행하기 위해, "현재 LCU의 Y축 위치의 모든 X값의 픽셀 집합 및 LCU 블록의 좌, 우 참조 픽셀"을 라인이라 정의할 수 있다.
Y축의 위치에 따라, 라인은 첫 번째 라인, 두 번째 라인으로 지칭할 수 있다. 라인 단위(410)의 SAO 수행 시 하나의 수행 라인과 두 개의 참조 라인이 SAO 수행의 입력이 될 수 있으며 출력은 수행 라인에 SAO 필터링이 적용되는 LCU 내부에 속하는 픽셀(430)에만 해당될 수 있다.
도 5a 내지 5d는 SAO 라인 단위 수행 시, 이전 SAO 수행된 픽셀이 참조 픽셀로 선택됨에 따라 SAO 수행 전 픽셀 및 부호값 등을 백업하여 수행하는 실시예를 설명하는 도면이다.
도면부호 501, 502, 503, 511, 512, 513, 531, 532, 533에서 굵은 선 안쪽은 LCU로 해석될 수 있고, 굵은 선 바깥쪽은 주변 LCU의 픽셀로 현재 LCU를 SAO하기 위한 참조 픽셀로 해석될 수 있다.
도면부호 500은 SAO 타입 0도, 도면부호 510은 SAO 타입 90도, 도면부호 520은 SAO 타입 135도, 도면부호 530은 SAO 타입 45도로 해석될 수 있다.
먼저, 도 5a는 SAO 타입 0도(500)의 주변픽셀을 참조하는 EO(Edge Offset)의 실시예를 설명하는 도면이다.
HEVC에 있어 SAO(Sample Adaptive Offset)는 LCU 단위로 수행되며 특정 픽셀에 오프셋을 더해주어 부호화 효율을 높일 수 있다. 이때, 오프셋을 더할 픽셀을 선택하는 과정에 따라 Edge Offset(EO)와 Band Offset(BO)로 분류할 수 있다. EO는 SAO 타입에 따라 주변 픽셀을 선택하고 픽셀 간 차이 값에 따라 4개의 카테고리로 구분 지으며, 각 카테고리에 포함되는 픽셀은 값에 해당 오프셋을 더할 수 있다.
픽셀 단위 SAO 필터링 수행 시, 현재 픽셀 위치에서 왼쪽과 오른쪽의 참조픽셀과의 차이에 대한 부호값을 알고 있어야 한다. 하지만 바로 이전 참조 픽셀은 필터링이 이미 수행되었으므로 왼쪽 참조 픽셀과 수행픽셀의 차이에 대한 부호 값을 미리 백업해야 한다.
하지만 SAO를 도면부호 501, 502, 503과 같이 라인 단위로 수행하는 경우, 0도인 현재 픽셀 위치에서 참조 픽셀이 좌우에 해당되기 때문에 현재 수행할 라인과 참조 라인이 동일한 특성을 갖는다. 따라서 수행라인과 참조라인이 같기 때문에 추가적인 라인 단위의 백업을 할 필요가 없다.
도 5b는 SAO 타입 90도(510)일 경우에 대한 SAO 필터링을 수행하는 도면이다.
도면부호 511은 현재 SAO를 수행할 LCU와 참조픽셀에 대한 도면이다.
P1은 LCU의 경계에 위치하며 주변 LCU의 SAO 취해지지 않은 픽셀을 참조한다. P2는 P1의 아래에 위치하며 P1 위치의 픽셀을 참조해야 한다. 하지만 P1위치의 픽셀은 이전에 미리 SAO가 수행되었으므로 참조 픽셀로 사용할 수 없다.
P1에서 SAO 수행 시, P1과 P2의 차이 값에 대한 부호를 미리 버퍼에 저장해 두어 P2의 SAO 수행 시 부호를 반대로 취한 값을 이용하여 카테고리를 구할 수 있다. 또한 P1 위치의 픽셀을 필터링하기 전 픽셀 값을 버퍼에 저장하여 P2 픽셀의 카테고리를 결정할 수 있다. 이러한 픽셀 또는 픽셀 차이에 대한 정보는 LCU 마지막까지 라인 단위로 저장해야 한다.
유사한 방법으로 도 5c와 5d는 SAO 타입 135도(520)와 SAO 타입 45도(530) 방향의 주변픽셀을 참조하는 EO의 실시예를 설명하는 도면이다.
라인 단위로 SAO를 수행할 경우, 첫 번째 라인은 LCU 경계가 된다. 이러한 LCU 경계를 필터링 하기 위해서는 도 2b의 빗금친 부분(L, U0, U1, U2)에 대하여 SAO 필터링 이전 픽셀 값을 백업해야 한다. 도면부호 510과 같이 샘플 적응적 오프셋 처리 장치는 LCU의 첫 번째 라인(P1)에 해당되는 픽셀에 대하여 SAO를 수행할 수 있다.
이후, 샘플 적응적 오프셋 처리 장치는 도면부호 520과 같이 두 번째 라인(P2)에 대한 SAO 수행을 할 수 있다. 이를 위해, 샘플 적응적 오프셋 처리 장치는 첫 번째 라인(P1)의 값은 오프셋이 더해진 값이므로 참조 픽셀로 사용할 수 없기 때문에 참조 픽셀 또는 두 픽셀의 차이에 대한 부호를 알고 있어야 현재 P2 위치에서 SAO를 수행할 수 있다.
마찬가지로 도면부호 530과 같이 P2에 대한 필터링이 끝나고 P3에 대한 필터링을 수행할 때, P2의 픽셀 값은 오프셋을 더한 값이 되므로 P2의 필터링 전의 픽셀 값 또는 P2와 P3의 픽셀 값의 차이 등의 정보를 미리 저장해야만 SAO 필터링을 수행할 수 있다.
도 6은 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법을 설명하는 흐름도이다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 파라미터 파싱부를 통해, 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱할 수 있다(단계 601).
다음으로, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 파라미터 조정부를 통해, 파싱된 SAO 파라미터 정보로부터 sao 타입 정보 및 오프셋 정보를 추출할 수 있다(단계 602).
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 버퍼 관리부를 통해, 상기 추출된 sao 타입 정보 및 오프셋 정보를 관리하고(단계 603), 필터링 수행부를 통해, 상기 sao 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행할 수 있다(단계 604).
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 버퍼관리부를 통해, 상기 sao 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출할 수 있다(단계 605).
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 LCU/픽쳐 버퍼를 통해, 상기 SAO 버퍼 관리부로부터 상기 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받고, 요청에 대한 응답으로, 참조픽셀 및 SAO 수행픽셀을 로드할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 버퍼 관리부를 통해, 상기 로드된 픽셀이 상기 참조픽셀인지 또는 상기 SAO 수행픽셀인지를 판단하고, 판단 결과에 기초하여, 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 필터링 수행부를 통해, SAO 버퍼관리부로부터 참조픽셀 및 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정할 수 있다. 이때, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 필터링 수행부를 통해, SAO 파라미터 조정부로부터 전달된 오프셋 값을 이용하여 상기 결정된 카테고리에 해당되는 오프셋을 상기 SAO 수행픽셀에 반영할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법을 이용하면, 다음 라인의 SAO 수행에 사용되는 참조픽셀과 수행픽셀을 이전에 사용된 입력 픽셀로 재사용할 수 있다. 이를 위해, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 버퍼관리를 통해 해당 버퍼에 재사용되는 픽셀을 옮겨 메모리 로드 줄임으로써 메모리에 따른 지연을 최소화하여 고속으로 SAO를 수행할 수 있다.
다시 말해, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO의 입력버퍼와 출력버퍼를 구분 짓고, 입력버퍼 내에 저장된 픽셀 값이 재사용 가능한 경우 해당 위치의 입력버퍼에 값을 옮겨줌으로써 메모리 로드를 줄일 수 있다. 결국, 메모리 로드가 줄어들어 시스템의 처리 속도를 향상시킬 수 있다.
도 7은 SAO 타입 0도에 대한 SAO 버퍼 관리를 설명하는 흐름도이다.
SAO 타입이 0도 일 경우, 다른 EO에 대한 SAO 타입과 달리 현재 픽셀의 위치와 참조픽셀의 위치가 같은 라인에 존재하여 하나의 라인 안에서 종속성이 발생한다. 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법에서는, 입력과 출력이 분리되어 종속성을 고려할 필요가 없다. 하지만 입력 버퍼에서 참조 픽셀 버퍼와 수행 픽셀 버퍼가 정해져 있으므로 현재 수행할 라인 픽셀을 참조 픽셀 버퍼에도 저장해야 한다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 SAO 타입이 0도인지를 확인하여 참조픽셀의 위치가 좌우인지 여부를 판단할 수 있다(단계 701).
만약, SAO 타입이 0도가 아니라면, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 현재 수행 라인과 참조 라인을 입력버퍼에 로드할 수 있다(단계 702). 예를 들어, SAO 타입이 42도, 135도, 90도 일 때, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 현재 수행 라인과 참조 라인을 입력버퍼에 로드하고, 이후 SAO를 수행(705) 한다.
만약, SAO 타입이 0도라면, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 단계 703으로 분기할 수 있다.
일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 현재 수행할 픽셀 라인과 참조 픽셀 라인이 같으므로 수행할 픽셀 라인을 메모리로부터 로드할 수 있다(단계 703).
다음으로, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 두 픽셀을 참조 픽셀 버퍼에 로드한 수행 픽셀 라인을 복사할 수 있다(단계 704).
만약 SAO 타입이 0도가 아닐 경우, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 현재 수행할 픽셀 라인과 참조픽셀 라인을 모두 로드할 수 있다. 이후, 일실시예에 따른 샘플 적응적 오프셋 처리 장치의 동작 방법은 참조픽셀과 수행픽셀이 모두 갖추어졌으므로 SAO를 수행할 수 있다(단계 705).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 샘플 적응적 오프셋 처리 장치 110: SAO 파라미터 파싱부
120: SAO 파라미터 조정부 130: SAO 버퍼관리부
140: 필터링 수행부 150: SAO 출력부
160: LCU/픽쳐 버퍼

Claims (15)

  1. 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱하는 SAO 파라미터 파싱부;
    상기 파싱된 SAO 파라미터 정보로부터 SAO 타입 정보 및 오프셋 정보를 추출하는 SAO 파라미터 조정부;
    상기 SAO 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출하는 SAO 버퍼관리부; 및
    상기 SAO 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행하는 필터링 수행부
    를 포함하고,
    상기 SAO 버퍼 관리부는,
    로드된 픽셀이 참조픽셀인지 또는 SAO 수행픽셀인지를 판단하고, 판단 결과에 기초하여, 상기 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장하는
    샘플 적응적 오프셋 처리 장치.
  2. 제1항에 있어서,
    상기 필터링 수행부는, 상기 SAO 타입 정보 및 상기 오프셋 정보과 함께 상기 추출된 참조라인 및 수행라인을 이용하여 상기 비트스트림에 대한 필터링을 수행하는 샘플 적응적 오프셋 처리 장치.
  3. 제2항에 있어서,
    상기 SAO 버퍼 관리부로부터 상기 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받고, 상기 요청에 대한 응답으로, 상기 참조픽셀 및 상기 SAO 수행픽셀을 로드하는 LCU/픽쳐 버퍼
    를 더 포함하는 샘플 적응적 오프셋 처리 장치.
  4. 삭제
  5. 제2항에 있어서,
    상기 필터링 수행부는,
    SAO 버퍼관리부로부터 참조픽셀 및 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정하는 샘플 적응적 오프셋 처리 장치.
  6. 제5항에 있어서,
    상기 필터링 수행부는,
    SAO 파라미터 조정부로부터 전달된 오프셋 값을 이용하여 상기 결정된 카테고리에 해당되는 오프셋을 상기 SAO 수행픽셀에 반영하는 샘플 적응적 오프셋 처리 장치.
  7. 제1항에 있어서,
    상기 필터링된 비트스트림의 픽셀을 출력화면에 표시하고, LCU/픽쳐 버퍼에 저장하는 SAO 출력부
    를 더 포함하는 샘플 적응적 오프셋 처리 장치.
  8. 제3항에 있어서,
    상기 SAO 버퍼 관리부는,
    버퍼에 들어오는 입력이 다른 입력 버퍼로부터 이동된 픽셀을 저장해야 하는지 또는 상기 LCU/픽쳐 버퍼가 로그하는 상기 참조픽셀 및 상기 SAO 수행픽셀 중에서 적어도 하나의 픽셀을 저장해야 하는지 여부를 결정하는 버퍼 관리 컨트롤러
    를 포함하는 샘플 적응적 오프셋 처리 장치.
  9. SAO 파라미터 파싱부를 통해, 비트스트림에서 샘플 적응적 오프셋(SAO, Sample Adaptive Offset) 파라미터 정보를 파싱하는 단계;
    SAO 파라미터 조정부를 통해, 상기 파싱된 SAO 파라미터 정보로부터 SAO 타입 정보 및 오프셋 정보를 추출하는 단계;
    SAO 버퍼 관리부를 통해, 로드된 픽셀이 참조픽셀인지 또는 SAO 수행픽셀인지를 판단하는 단계;
    상기 판단 결과에 기초하여, 상기 로드된 픽셀을 입력 버퍼의 선정된 위치에 저장하는 단계;
    필터링 수행부를 통해, 상기 SAO 타입 정보 및 상기 오프셋 정보에 기반하여 상기 비트스트림에 대한 필터링을 수행하는 단계; 및
    상기 SAO 버퍼관리부를 통해, 상기 SAO 타입 정보를 수신하여 상기 비트스트림의 참조라인 및 수행라인을 추출하는 단계
    를 포함하고,
    상기 필터링을 수행하는 단계는, 상기 SAO 타입 정보 및 상기 오프셋 정보과 함께 상기 추출된 참조라인 및 수행라인을 이용하여 상기 비트스트림에 대한 필터링을 수행하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
  10. 제9항에 있어서,
    LCU/픽쳐 버퍼를 통해, 상기 SAO 버퍼 관리부로부터 상기 SAO 타입 정보에 따라서 필요한 픽셀 정보를 요청받는 단계; 및
    상기 요청에 대한 응답으로, 상기 참조픽셀 및 상기 SAO 수행픽셀을 로드하는 단계
    를 더 포함하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
  11. 삭제
  12. 제9항에 있어서,
    상기 필터링 수행부를 통해, 상기 SAO 버퍼관리부로부터 상기 참조픽셀 및 상기 SAO 수행픽셀 중에서 적어도 하나의 픽셀에 정보를 입력 받아 현재 픽셀의 카테고리를 결정하는 단계
    를 더 포함하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
  13. 제12항에 있어서,
    상기 필터링 수행부를 통해, SAO 파라미터 조정부로부터 전달된 오프셋 값을 이용하여 상기 결정된 카테고리에 해당되는 오프셋을 상기 SAO 수행픽셀에 반영하는 단계
    를 더 포함하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
  14. 제9항에 있어서,
    SAO 출력부를 통해, 상기 필터링된 비트스트림의 픽셀을 출력화면에 표시하고, LCU/픽쳐 버퍼에 저장하는 단계
    를 더 포함하는 샘플 적응적 오프셋 처리 장치의 동작 방법.
  15. 제9항, 제10항 및 제12항 내지 제14항 중에서 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020130031367A 2013-03-25 2013-03-25 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법 KR102164698B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130031367A KR102164698B1 (ko) 2013-03-25 2013-03-25 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법
US14/153,547 US20140286391A1 (en) 2013-03-25 2014-01-13 Sample adaptive offset (sao) processing apparatus reusing input buffer and operation method of the sao processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130031367A KR102164698B1 (ko) 2013-03-25 2013-03-25 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20140116991A KR20140116991A (ko) 2014-10-07
KR102164698B1 true KR102164698B1 (ko) 2020-10-14

Family

ID=51569128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130031367A KR102164698B1 (ko) 2013-03-25 2013-03-25 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법

Country Status (2)

Country Link
US (1) US20140286391A1 (ko)
KR (1) KR102164698B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230083538A (ko) * 2021-12-03 2023-06-12 (주)이노시뮬레이션 분산 시뮬레이션을 위한 동적 시뮬레이션 버퍼 및 이의 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620389B1 (ko) * 2015-03-20 2016-05-13 한밭대학교 산학협력단 Hevc의 적응적 샘플 오프셋(sao)
KR20180037838A (ko) 2016-10-05 2018-04-13 삼성전자주식회사 텍스쳐를 처리하는 방법 및 장치
CN114501003B (zh) * 2021-12-24 2024-03-12 北京达佳互联信息技术有限公司 视频解码方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US8990435B2 (en) * 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
KR101567467B1 (ko) * 2011-05-10 2015-11-09 미디어텍 인크. 루프내 필터 버퍼의 감소를 위한 방법 및 장치
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
WO2012175195A1 (en) * 2011-06-20 2012-12-27 Panasonic Corporation Simplified pipeline for filtering
US10038903B2 (en) * 2011-06-22 2018-07-31 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation in video coding
JP5973434B2 (ja) * 2011-06-23 2016-08-23 華為技術有限公司Huawei Technologies Co.,Ltd. 画像フィルタ装置、フィルタ方法および動画像復号装置
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9344743B2 (en) * 2011-08-24 2016-05-17 Texas Instruments Incorporated Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF)
US8913656B2 (en) * 2011-10-14 2014-12-16 Mediatek Inc. Method and apparatus for in-loop filtering
EP2774362B1 (en) * 2011-11-03 2023-07-26 Sun Patent Trust Quantization parameter for blocks coded in the pcm mode
KR101674777B1 (ko) * 2011-11-08 2016-11-09 구글 테크놀로지 홀딩스 엘엘씨 샘플 적응 오프셋 코딩 및/또는 시그널링을 위한 장치들 및 방법들
WO2013103892A1 (en) * 2012-01-05 2013-07-11 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters
US9955153B2 (en) * 2012-01-05 2018-04-24 Google Technology Holdings LLC Devices and methods for sample adaptive offset coding
JP6132161B2 (ja) * 2012-06-08 2017-05-24 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
EP2869554B1 (en) * 2012-06-27 2020-10-07 Sun Patent Trust Image coding method, image decoding method, image coding device, image decoding device, and image coding and decoding apparatus
US9344717B2 (en) * 2012-08-06 2016-05-17 Mediatek Inc. Method and apparatus for sample adaptive offset in a video decoder
US20140254681A1 (en) * 2013-03-08 2014-09-11 Nokia Corporation Apparatus, a method and a computer program for video coding and decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Guillaume LAROCHE, "Non-CE1: On SAO parameters reduction for Chroma, JCTVC-I0183, 27 April 2012.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230083538A (ko) * 2021-12-03 2023-06-12 (주)이노시뮬레이션 분산 시뮬레이션을 위한 동적 시뮬레이션 버퍼 및 이의 제어 방법
KR102634255B1 (ko) 2021-12-03 2024-02-06 (주)이노시뮬레이션 분산 시뮬레이션을 위한 동적 시뮬레이션 버퍼 및 이의 제어 방법

Also Published As

Publication number Publication date
US20140286391A1 (en) 2014-09-25
KR20140116991A (ko) 2014-10-07

Similar Documents

Publication Publication Date Title
EP3824630A1 (en) Method and apparatus for history-based motion vector prediction with parallel processing
WO2016183224A1 (en) Storage and signaling resolutions of motion vectors
CN113545091B (zh) 对视频序列执行最大变换大小控制的解码方法和装置
KR20220133319A (ko) 인트라 픽처 블록 보상을 위한 참조 샘플 메모리 재사용 방법 및 장치
KR20210088700A (ko) 비디오 코딩을 위한 방법 및 장치
KR20210049930A (ko) 비디오 디코딩을 위한 방법 및 장치
CN113615185A (zh) 用于视频编码的方法和装置
CN113785564B (zh) 视频编解码的方法和装置
KR20210118178A (ko) 인트라 화상 블록 보상에 대한 예측자 후보 리스트 크기 시그널링을 위한 방법 및 장치
KR20220038710A (ko) 비디오 코딩 방법 및 장치
CN113826391A (zh) 视频编解码中最小编码块大小的范围
KR20220100991A (ko) 비디오 필터링 방법 및 장치
KR102164698B1 (ko) 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법
KR20220127308A (ko) 비디오 코딩을 위한 방법 및 장치
CN113348668B (zh) 一种视频解码方法、装置及存储介质
CN110337809B (zh) 利用预扫描的基于块的视频解码方法以及其装置
KR20220085836A (ko) 비디오 코딩 방법 및 장치
KR20210080525A (ko) 비디오 코딩을 위한 방법 및 장치
CN115486072A (zh) 用于视频译码的方法和设备
CN115176461A (zh) 视频编解码的方法和装置
JP7250956B2 (ja) フレキシブルな画像分割
RU2801430C1 (ru) Способ и устройство для режима кодирования на основе палитры под структурой локального двойственного дерева
US11140388B2 (en) Method and apparatus for non-linear loop filtering
US20230031886A1 (en) Adaptive up-sampling filter for luma and chroma with reference picture resampling (rpr)
OA21018A (en) Video encoder, video decoder, methods for encoding and decoding and video data stream for realizing advanced video coding concepts

Legal Events

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