KR20230161389A - Method and apparatus for deciding boundary filtering strength of deblocking filtering - Google Patents

Method and apparatus for deciding boundary filtering strength of deblocking filtering Download PDF

Info

Publication number
KR20230161389A
KR20230161389A KR1020230156105A KR20230156105A KR20230161389A KR 20230161389 A KR20230161389 A KR 20230161389A KR 1020230156105 A KR1020230156105 A KR 1020230156105A KR 20230156105 A KR20230156105 A KR 20230156105A KR 20230161389 A KR20230161389 A KR 20230161389A
Authority
KR
South Korea
Prior art keywords
block
boundary
unit
filtering
prediction
Prior art date
Application number
KR1020230156105A
Other languages
Korean (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 경희대학교 산학협력단
Publication of KR20230161389A publication Critical patent/KR20230161389A/en

Links

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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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

Abstract

본 발명은 디블록킹 필터링의 경계 필터링 강도를 결정하는 방법 및 장치에 관한 것으로서, 본 발명에 따른 경계 필터링 강도 결정 방법은 PU(Prediction Unit)의 파티션 경계를 판단하는 단계 및 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 단계를 포함하며, 상기 디블록킹 필터링의 경계 필터링 강도는 상기 PU의 파티션 경계를 기반으로 결정될 수 있다.The present invention relates to a method and apparatus for determining the boundary filtering strength of deblocking filtering. The method of determining the boundary filtering strength according to the present invention includes determining a partition boundary of a PU (Prediction Unit) and the boundary filtering strength of deblocking filtering. It includes determining (bS), and the boundary filtering strength of the deblocking filtering may be determined based on the partition boundary of the PU.

Description

디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치{METHOD AND APPARATUS FOR DECIDING BOUNDARY FILTERING STRENGTH OF DEBLOCKING FILTERING}Method and apparatus for determining boundary filtering strength of deblocking filtering {METHOD AND APPARATUS FOR DECIDING BOUNDARY FILTERING STRENGTH OF DEBLOCKING FILTERING}

본 발명은 동영상 압축 기술에 관한 것으로서 더 구체적으로는 디블록킹 필터링 방법 및 장치에 관한 것이다.The present invention relates to video compression technology, and more specifically to a deblocking filtering method and device.

최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. Recently, broadcasting services with HD (High Definition) resolution (1280x1024 or 1920x1080) are expanding not only domestically but also globally.

이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 많이 익숙해지고 있으며 그에 발맞춰서 많은 기관에서는 차세대 영상기기에 대한 개발에 박차를 가하고 있다. Accordingly, many users are becoming accustomed to high-resolution, high-definition images, and in line with this, many organizations are accelerating the development of next-generation imaging devices.

또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다. In addition, as interest in UHD (Ultra High Definition), which has a resolution more than four times that of HDTV, has increased along with HDTV, video standardization organizations have recognized the need for compression technology for higher resolution, high-quality video.

현재 HDTV, 휴대전화, 블루레이 플레이어에 사용되는 H.264/AVC보다 높은 압축 효율을 통해 동일한 화질을 유지하면서도 주파수 대역이나 저장 측면에서 많은 이득을 얻을 수 있는 새로운 표준이 절실한 실정이다. There is an urgent need for a new standard that can achieve significant gains in terms of frequency band and storage while maintaining the same picture quality through higher compression efficiency than H.264/AVC currently used in HDTVs, mobile phones, and Blu-ray players.

현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)의 개발이 진행되고 있으며, UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화를 하는 것을 목표로 하고 있다. 이는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동 통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.Currently, MPEG (Moving Picture Experts Group) and VCEG (Video Coding Experts Group) are jointly developing HEVC (High Efficiency Video Coding), a next-generation video codec. The goal is to encode with twice the compression efficiency. This can provide high-definition video at a lower frequency than today, not only in HD and UHD video, but also in 3D broadcasting and mobile communication networks.

본 발명은 비디오 부호화 및 복호화 과정에서 블록킹 현상을 제거하거나 감소시킬 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다. The purpose of the present invention is to provide a method and device that can eliminate or reduce blocking phenomenon in video encoding and decoding processes.

본 발명은 영상 부호화 혹은 복호화 과정에서 수행되는 디블록킹 필터링에서 블록의 특성에 따라서, 경계 필터링 강도를 달리 결정하는 방법 및 장치를 제공하는 것을 목적으로 한다. The purpose of the present invention is to provide a method and device for determining boundary filtering strengths differently depending on the characteristics of blocks in deblocking filtering performed during video encoding or decoding.

본 발명은 디블록킹 필터링에서 PU 파티션 경계인지의 여부에 따라 경계 필터링 강도를 달리 결정하는 방법 및 장치를 제공하는 것을 목적으로 한다. The purpose of the present invention is to provide a method and device for determining boundary filtering strength differently depending on whether or not it is a PU partition boundary in deblocking filtering.

본 발명은 디블록킹 필터링의 강도를 블록의 특성(예컨대, PU 파티션 경계인지)에 따라서 결정함으로써 움직임 정보 압축에 의해 동일한 움직임 정보를 갖게 된 PU들에 대한 필터링 강도 조절이 가능토록 하는 방법 및 장치를 제공하는 것을 목적으로 한다.The present invention provides a method and device that determines the strength of deblocking filtering according to the characteristics of the block (e.g., whether it is a PU partition boundary), thereby enabling adjustment of the filtering strength for PUs that have the same motion information by motion information compression. The purpose is to provide

본 발명의 일 실시형태는 디블록킹 필터링의 경계 필터링 결정 방법으로서, CU의 파티션 형태(PU형태)를 기반으로 디블록킹 필터링의 경계 필터링 강도(bS)를 결정할 수 있다.One embodiment of the present invention is a method for determining boundary filtering of deblocking filtering, and the boundary filtering strength (bS) of deblocking filtering can be determined based on the partition type (PU type) of the CU.

이때, 움직임 벡터의 차의 절대값 중에서 적어도 하나가 4이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다르거나 또는 PU 파티션 경계일 경우에는 경계 필터링 강도(bS)를 1로 결정하고, 반면에 움직임 벡터의 차의 절대값이 모두 4보다 작고 또한 움직임 보상에서의 참조 프레임이 같고 또한 PU 파티션 경계가 아닐 경우에는 경계 필터링 강도(bS)를 0으로 결정할 수 있다.At this time, if at least one of the absolute values of the difference between the motion vectors is 4 or more, or the reference frame in motion compensation is different, or is a PU partition boundary, the boundary filtering strength (bS) is determined to be 1, and on the other hand, the motion vector If the absolute values of the differences are both less than 4 and the reference frames in motion compensation are the same and are not PU partition boundaries, the boundary filtering strength (bS) can be determined to be 0.

상기 필터링 강도(bS)는 파싱 단계에서 결정될 수도 있다. 이때, 결정된 필터링 강도(bS)는 저장된 후 프레임 전체가 모두 디코딩 된 후에 디블록킹 필터링 과정에서 사용될 수 있다.The filtering strength (bS) may be determined in the parsing step. At this time, the determined filtering strength (bS) can be stored and used in the deblocking filtering process after the entire frame has been decoded.

본 발명의 다른 실시형태는 디블록킹 필터링의 경계 필터링 결정 장치로서, 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하기 위한 경계 필터링 강도 결정부; 및 상기 경계 필터링 강도 결정부로부터 출력되는 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하기 위한 필터링 적용부를 포함한다.Another embodiment of the present invention is a boundary filtering determination device for deblocking filtering, comprising: a boundary filtering strength determination unit for determining boundary filtering strengths for two adjacent blocks; and a filtering application unit configured to apply filtering to the pixel values of the two blocks according to the boundary filtering strength output from the boundary filtering strength determination unit.

상기 경계 필터링 강도 결정부는 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 부호화되었는지를 판정하고, 상기 두 개의 블록이 모두 인트라 부호화되지 않은 것으로 판정되는 경우에, 상기 두 개의 블록 중에서 적어도 하나의 블록이 직교 변환 계수를 갖는지를 판정하고, 상기 두 개의 블록이 모두 직교 변환 계수를 갖지 않는 것으로 판정되는 경우에, 상기 두 개의 블록에 대하여 움직임 벡터의 x축 성분 또는 y축 성분의 차의 절대값 중에서 적어도 하나가 4이상이 되거나 또는 움직임 보상이 다른 참조 프레임에 기초하여 수행되었는지 또는 PU 파티션 경계인지를 판정하고, 상기 움직임 벡터의 차의 절대값이 모두 4보다 작고 또한 상기 움직임 보상이 같은 참조 프레임에 기초하여 수행되고 또한 PU 파티션 경계인지를 고려하여 경계 필터링 강도를 결정할 수 있다. The boundary filtering strength determination unit determines whether at least one block among two adjacent blocks is intra-encoded, and when it is determined that both blocks are not intra-encoded, at least one block among the two blocks is orthogonal. It is determined whether the two blocks have a transform coefficient, and if it is determined that neither of the two blocks has an orthogonal transform coefficient, at least one of the absolute values of the difference between the x-axis component and the y-axis component of the motion vector for the two blocks is 4 or more, or it is determined whether motion compensation is performed based on a different reference frame or a PU partition boundary, and the absolute values of the differences between the motion vectors are both less than 4, and the motion compensation is based on the same reference frame. The boundary filtering strength can be determined by considering whether the filtering is performed and whether it is a PU partition boundary.

이때, 움직임 벡터의 차의 절대값 중에서 적어도 하나가 4이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다르거나 또는 PU 파티션 경계일 경우에는 경계 필터링 강도(bS)를 1로 결정하고, 반면에 움직임 벡터의 차의 절대값이 모두 4보다 작고 또한 움직임 보상에서의 참조 프레임이 같고 또한 PU 파티션 경계가 아닐 경우에는 경계 필터링 강도(bS)를 0으로 결정할 수 있다. At this time, if at least one of the absolute values of the difference between the motion vectors is 4 or more, or the reference frame in motion compensation is different, or is a PU partition boundary, the boundary filtering strength (bS) is determined to be 1, and on the other hand, the motion vector If the absolute values of the differences are both less than 4 and the reference frames in motion compensation are the same and are not PU partition boundaries, the boundary filtering strength (bS) can be determined to be 0.

상기 필터링 강도(bS)는 파싱부에서 결정될 수도 있다. 이 경우 파싱부는 필터링 강도(bS)를 결정하여 저장할 수 있으며, 저장된 필터링 강도(bS)는 프레임 전체가 모두 디코딩 된 후에 디블록킹 필터링 과정에서 사용될 수 있다.The filtering strength (bS) may be determined in the parsing unit. In this case, the parsing unit can determine and store the filtering strength (bS), and the stored filtering strength (bS) can be used in the deblocking filtering process after the entire frame is decoded.

본 발명의 또 다른 실시형태는 디블록킹 필터링 방법으로서, 상기 디블록킹 필터링의 경계 필터링 결정 방법은 비트스트림으로부터 파싱하는 단계, 파싱된 정보를 통해 필터링 강도(bS)를 결정하는 단계, 프레임을 복호화하는 단계, 파싱부에서 구한 필터링 강도(bS)를 이용하여 현재 복호화된 프레임을 디블록킹 필터링하는 단계를 포함한다. Another embodiment of the present invention is a deblocking filtering method, which includes the steps of parsing from a bitstream, determining a filtering strength (bS) through the parsed information, and decoding a frame. A step of deblocking and filtering the currently decoded frame using the filtering strength (bS) obtained by the parsing unit.

본 발명에 의하면, 비디오 부호화 및 복호화 과정에서 블록킹 현상을 제거하거나 감소시킬 수 있다. According to the present invention, blocking phenomenon can be eliminated or reduced in the video encoding and decoding process.

본 발명에 의하면, 영상 부호화 혹은 복호화 과정에서 수행되는 디블록킹 필터링에서 블록의 특성에 따라서, 경계 필터링 강도를 달리 결정함으로써 부호화 효율을 높일 수 있다.According to the present invention, coding efficiency can be increased by determining the boundary filtering strength differently depending on the characteristics of the block in deblocking filtering performed during the video encoding or decoding process.

본 발명에 의하면, 디블록킹 필터링에서 PU 파티션 경계인지의 여부에 따라 경계 필터링 강도를 달리 결정할 수 있다. According to the present invention, in deblocking filtering, the boundary filtering strength can be determined differently depending on whether it is a PU partition boundary.

본 발명에 의하면, 디블록킹 필터링의 강도를 블록의 특성(예컨대, PU 파티션 경계인지)에 따라서 결정함으로써 움직임 정보 압축에 의해 동일한 움직임 정보를 갖게 된 PU들에 대한 필터링 강도 조절이 가능토록 할 수 있다.According to the present invention, the strength of deblocking filtering is determined according to the characteristics of the block (e.g., whether it is a PU partition boundary), thereby making it possible to adjust the filtering strength for PUs that have the same motion information by motion information compression. .

도 1은 본 발명의 일실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 3은 공간적 움직임 정보에 대한 압축과 그에 따라 설정되는 bS를 개략적으로 설명하는 도면이다.
도 4는 CU의 파티션 형태를 기반으로 bS를 결정하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 5는 블록 p와 블록 q의 관계를 개략적으로 설명하는 도면이다.
도 6은 파싱부에서 디블록킹 필터링의 bS를 결정하는 방법의 일 예를 개략적으로 설명하는 도면이다.
1 is a block diagram showing the configuration of a video encoding device according to an embodiment of the present invention.
Figure 2 is a block diagram showing the configuration of a video decoding device according to another embodiment of the present invention.
Figure 3 is a diagram schematically explaining compression of spatial motion information and bS set accordingly.
Figure 4 is a flowchart schematically explaining an example of a method for determining bS based on the partition type of the CU.
Figure 5 is a diagram schematically explaining the relationship between block p and block q.
Figure 6 is a diagram schematically explaining an example of a method for determining bS of deblocking filtering in the parsing unit.

이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the detailed description will be omitted.

어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다. When a component is said to be “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but that other components may exist in between. It should be. In addition, the description of “including” a specific configuration in the present invention does not exclude configurations other than the configuration, and means that additional configurations may be included in the practice of the present invention or the scope of the technical idea of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention.

또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.Additionally, the components appearing in the embodiments of the present invention are shown independently to show different characteristic functions, and this does not mean that each component is comprised of separate hardware or a single software component. That is, each component is listed and included as a separate component for convenience of explanation, and at least two of each component can be combined to form one component, or one component can be divided into a plurality of components to perform a function, and each of these components can perform a function. Integrated embodiments and separate embodiments of the constituent parts are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.

또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.Additionally, some components may not be essential components that perform essential functions in the present invention, but may simply be optional components to improve performance. The present invention can be implemented by including only essential components for implementing the essence of the present invention excluding components used only to improve performance, and a structure including only essential components excluding optional components used only to improve performance. is also included in the scope of rights of the present invention.

도 1은 본 발명의 일실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도이다.1 is a block diagram showing the configuration of a video encoding device according to an embodiment of the present invention.

도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.Referring to FIG. 1, the image encoding device 100 includes a motion prediction unit 111, a motion compensation unit 112, an intra prediction unit 120, a switch 115, a subtractor 125, and a conversion unit 130. , a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.

영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 산출한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.The image encoding device 100 may encode an input image in intra mode or inter mode and output a bitstream. In the case of intra mode, the switch 115 may be switched to intra, and in the case of inter mode, the switch 115 may be switched to inter. The image encoding apparatus 100 may calculate a prediction block for an input block of an input image and then encode the residual between the input block and the prediction block.

인트라 모드는 화면 내 예측 모드, 인터 모드는 화면 간 예측 모드, 인트라 예측부(120)는 화면 내 예측부, 움직임 예측부(111) 및 움직임 보상부(112)는 화면 간 예측부라는 용어로 정의되어 사용될 수 있다.The intra mode is defined as an intra-screen prediction mode, the inter mode is an inter-screen prediction mode, the intra prediction unit 120 is an intra-screen prediction unit, and the motion prediction unit 111 and motion compensation unit 112 are defined as an inter-screen prediction unit. can be used.

인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 산출할 수 있다.In the case of intra mode, the intra prediction unit 120 may perform spatial prediction using pixel values of already encoded blocks surrounding the current block to calculate a prediction block.

인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 산출할 수 있다. In the case of inter mode, the motion prediction unit 111 can obtain a motion vector by finding an area that best matches the input block in the reference image stored in the reference picture buffer 190 during the motion prediction process. The motion compensation unit 112 may calculate a prediction block by performing motion compensation using a motion vector.

감산기(125)는 입력 블록과 산출된 예측 블록의 차분에 의해 잔차 블록(residual block)을 산출할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록 및/또는 잔차 신호에 대한 변환을 수행함으로써 산출된 계수 값을 의미할 수 있다. 이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 산출된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다.The subtractor 125 may calculate a residual block by the difference between the input block and the calculated prediction block. The transform unit 130 may perform transform on the residual block and output a transform coefficient. Here, the transformation coefficient may mean a coefficient value calculated by performing transformation on the residual block and/or the residual signal. Hereinafter, in this specification, a quantized transform coefficient level calculated by applying quantization to the transform coefficient may also be referred to as a transform coefficient.

양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 변환 계수 레벨(quantized transform coefficient level)을 출력할 수 있다. The quantization unit 140 may quantize the input transform coefficient according to the quantization parameter and output a quantized transform coefficient level.

엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. The entropy encoding unit 150 may perform entropy encoding based on values calculated by the quantization unit 140 or encoding parameter values calculated during the encoding process, and output a bit stream.

엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. When entropy coding is applied, a small number of bits are allocated to symbols with a high probability of occurrence and a large number of bits are allocated to symbols with a low probability of occurrence to represent symbols, so that the bits for the symbols to be encoded are expressed. The size of the column may be reduced. Therefore, the compression performance of video encoding can be improved through entropy coding. The entropy encoding unit 150 may use encoding methods such as exponential gollomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC) for entropy encoding.

도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 산출된다. Since the video encoding device according to the embodiment of FIG. 1 performs inter predictive coding, that is, inter-screen predictive coding, the currently encoded video needs to be decoded and stored to be used as a reference video. Therefore, the quantized coefficient is inversely quantized in the inverse quantization unit 160 and inversely transformed in the inverse transformation unit 170. The inverse-quantized and inverse-transformed coefficients are added to the prediction block through the adder 175, and a reconstructed block is calculated.

복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.The restored block passes through the filter unit 180, and the filter unit 180 applies at least one of a deblocking filter, Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF) to the restored block or restored picture. can do. The restored block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.

도 2는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.Figure 2 is a block diagram showing the configuration of a video decoding device according to another embodiment of the present invention.

도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.Referring to FIG. 2, the image decoding device 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, a motion compensation unit 250, and an adder ( 255), a filter unit 260, and a reference picture buffer 270.

영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 산출한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 산출할 수 있다.The image decoding device 200 may receive a bitstream output from an encoder, perform decoding in intra mode or inter mode, and output a reconstructed image, that is, a reconstructed image. In the case of intra mode, the switch may be converted to intra, and in the case of inter mode, the switch may be converted to inter. The image decoding device 200 obtains a reconstructed residual block from the input bitstream, calculates a prediction block, and then adds the reconstructed residual block and the prediction block to produce a reconstructed block, that is, a restored block. .

엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 산출할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.The entropy decoding unit 210 may entropy decode the input bitstream according to a probability distribution and calculate symbols including symbols in the form of quantized coefficients. The entropy decoding method is similar to the entropy encoding method described above.

엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다. When the entropy decoding method is applied, a small number of bits are allocated to symbols with a high probability of occurrence and a large number of bits are allocated to symbols with a low probability of occurrence to represent the symbols, thereby reducing the size of the bit string for each symbol. can be reduced. Therefore, the compression performance of video decoding can be improved through the entropy decoding method.

양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 산출될 수 있다. The quantized coefficients are inversely quantized in the inverse quantization unit 220 and inversely transformed in the inverse transformation unit 230. As a result of the inverse quantization/inverse transformation of the quantized coefficients, a restored residual block can be calculated.

인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 산출할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 산출할 수 있다. In the case of intra mode, the intra prediction unit 240 may perform spatial prediction using pixel values of already decoded blocks surrounding the current block to calculate a prediction block. In the inter mode, the motion compensation unit 250 can calculate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer 270.

복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.The restored residual block and the prediction block are added through an adder 255, and the added block may pass through a filter unit 260. The filter unit 260 may apply at least one of a deblocking filter, SAO, and ALF to a restored block or a restored picture. The filter unit 260 may output a reconstructed image, that is, a restored image. The reconstructed image can be stored in the reference picture buffer 270 and used for inter prediction.

부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.Methods for improving the prediction performance of an encoding/decoding device include a method of increasing the accuracy of interpolation images and a method of predicting difference signals. Here, the difference signal is a signal that represents the difference between the original image and the predicted image. In the present invention, “difference signal” can be used instead of “difference signal”, “residual block” or “difference block” depending on the context, and those skilled in the art will not be able to influence the idea and essence of the invention. You will be able to distinguish this within the range that is not given.

본 발명의 실시예에서는 영상을 처리하는 단위로 부호화 단위(coding unit, CU), 예측 단위(prediction unit, PU), 변환 단위(transform unit, TU)라는 용어를 사용할 수 있다.In embodiments of the present invention, the terms coding unit (CU), prediction unit (PU), and transformation unit (TU) may be used as units for processing images.

부호화 단위는 부호화/복호화를 수행하는 영상 처리 단위로서 부호화/복호화가 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 부호화 블록과 부호화 블록의 샘플들을 부호화 또는 복호화하는데 사용되는 정보를 포함할 수 있다.The encoding unit is an image processing unit that performs encoding/decoding and may include information used to encode or decode the samples of the encoding block and the encoding block, which is a block unit set of luminance samples or chrominance samples on which encoding/decoding is performed.

예측 단위는 예측을 수행하는 영상 처리 단위로서 예측이 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 예측 블록과 예측 블록의 샘플들을 예측하는데 사용되는 정보를 포함할 수 있다. 부호화 블록은 복수의 예측 블록으로 나뉘어 질 수 있다.A prediction unit is an image processing unit that performs prediction and may include a prediction block, which is a block-unit set of luminance samples or chrominance samples on which prediction is performed, and information used to predict samples of the prediction block. A coding block may be divided into a plurality of prediction blocks.

변환 단위는 변환을 수행하는 영상 처리 단위로서 변환이 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 변환 블록과 변환 블록의 샘플들을 변환하는데 사용되는 정보를 포함할 수 있다. 부호화 블록은 복수의 변환 블록으로 나뉘어 질 수 있다.A transformation unit is an image processing unit that performs transformation and may include a transformation block, which is a block unit set of luminance samples or chrominance samples on which transformation is performed, and information used to transform samples of the transformation block. A coding block may be divided into a plurality of transform blocks.

이하, 본 발명의 실시예에서는 특별히 구분하여 표시하지 않는 한, 블록과 유닛은 동일한 의미로 해석될 수 있다.Hereinafter, in the embodiments of the present invention, unless specifically indicated, block and unit may be interpreted as having the same meaning.

또한 현재 블록(current block)은 현재 예측이 수행되는 예측 블록, 현재 부호화가 수행되는 부호화 블록과 같이 특정한 영상 처리가 수행되는 블록을 지칭할 수 있다. 예를 들어, 하나의 부호화 블록이 두 개의 예측 블록으로 분할된 경우, 분할된 예측 블록 중 예측이 수행되는 블록을 현재 블록이라는 용어로 지칭하여 사용할 수 있다.Additionally, the current block may refer to a block on which specific image processing is performed, such as a prediction block on which prediction is currently performed or a coding block on which encoding is currently performed. For example, when one coding block is split into two prediction blocks, the block on which prediction is performed among the split prediction blocks can be referred to as a current block.

본 발명의 실시예에서 후술할 영상 부호화 방법 및 영상 복호화 방법은 도 1 및 도 2에서 전술한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.In an embodiment of the present invention, the video encoding method and video decoding method, which will be described later, can be performed in each component included in the video encoder and video decoder described above in FIGS. 1 and 2. The meaning of the component part may include not only a hardware meaning but also a software processing unit that can be performed through an algorithm.

한편, 부호화/복호화에 있어서 메모리에 대한 중요성이 높아지고 있으며, 이로 인해 시간적 움직임 정보를 압축하여 저장하는 방법 및/또는 공간적 움직임 정보를 압축하여 저장하는 방법을 사용할 수 있다. Meanwhile, the importance of memory is increasing in encoding/decoding, and as a result, a method of compressing and storing temporal motion information and/or a method of compressing and storing spatial motion information can be used.

공간적 움직임 정보에 대한 압축이란, 현재 CU(Coding Unit)가 4개의 PU 블록으로 나누어져 있을 경우 깊이에 따라서 2개 혹은 1개의 움직임 정보만을 가지도록 하는 방법이다. Compression of spatial motion information is a method of having only 2 or 1 motion information depending on the depth when the current CU (Coding Unit) is divided into 4 PU blocks.

이 경우, 디블록킹 필터링의 경계 필터링 강도(Boundary Filtering Strength: bS, 이하 설명의 편의를 위해 ‘bS’라 함)의 설정에 영향을 미칠 수 있다. In this case, the setting of the boundary filtering strength (bS) of deblocking filtering (hereinafter referred to as ‘bS’ for convenience of explanation) may be affected.

도 3은 공간적 움직임 정보에 대한 압축과 그에 따라 설정되는 bS를 개략적으로 설명하는 도면이다.Figure 3 is a diagram schematically explaining compression of spatial motion information and bS set accordingly.

도 3에서는 현재 CU(300)가 두 개의 PU(310, 320)으로 분할되어 있는 경우를 예로서 설명하고 있다. FIG. 3 illustrates the case where the CU 300 is currently divided into two PUs 310 and 320 as an example.

도 3을 참조하면, 현재 CU(300)가 분할 인덱스(Partition Index) PartIdx =0에 의해 지시되는 PU0(310)과 분할 인덱스 PartIdx=1에 의해 지시되는 PU1(320)로 나누어져 있을 경우에 공간적인 움직임 정보 압축으로 인해 PU0(310)과 PU1(320)가 동일한 움직임 정보를 가질 수 있다. Referring to FIG. 3, when the current CU (300) is divided into PU0 (310) indicated by the partition index PartIdx = 0 and PU1 (320) indicated by the partition index PartIdx = 1, the space Due to optimal motion information compression, PU0 (310) and PU1 (320) may have the same motion information.

따라서, 디블록킹 필터링의 bS를 결정할 때 두 개의 PU 즉, PU0(310)과 PU1(320)에 대한 움직임 정보가 같으므로 디블록킹 필터링의 bS가 ‘0’으로 결정될 수 있다. Therefore, when determining the bS of deblocking filtering, since the motion information for two PUs, that is, PU0 (310) and PU1 (320), is the same, the bS of deblocking filtering can be determined to be ‘0’.

원래 두 개의 PU가 다른 움직임 정보를 가지므로 디블록킹 필터링의 bS가 ‘1’로 설정되어야 하는데 디블록킹 필터링의 bS가 ‘0’으로 결정됨으로써 주관적인 화질에 영향을 미칠 수 있다. Originally, since the two PUs have different motion information, the bS of deblocking filtering should be set to ‘1’, but the bS of deblocking filtering is set to ‘0’, which may affect subjective image quality.

본 발명에서는 디블록킹 필터링의 bS를 결정하는 방법을 제안한다. The present invention proposes a method for determining bS of deblocking filtering.

본 발명은 영상 부호화 혹은 복호화시 디블록킹 필터링을 적용할 때 PU 파티션 경계인지의 여부에 따라 bS를 달리 결정한다. 따라서, 본 발명에 의하면 움직임 정보 압축에 의해 동일한 움직임 정보를 갖게 된 PU들에 대해 bS 값을 조절하는 것이 가능하다. The present invention determines bS differently depending on whether it is a PU partition boundary or not when applying deblocking filtering when encoding or decoding a video. Therefore, according to the present invention, it is possible to adjust the bS value for PUs that have the same motion information through motion information compression.

예를 들어, bS를 결정할 때 (1) 움직임 벡터의 차의 절대값 중에서 적어도 하나가 4 이상이 되거나 또는 (2) 움직임 보상에서의 참조 프레임이 다르거나 또는 (3) PU 파티션 경계가 bS를 결정할 에지일 경우에는, bS를 1로 결정할 수 있다. For example, when determining bS, (1) at least one of the absolute values of the difference between motion vectors is 4 or more, or (2) the reference frames in motion compensation are different, or (3) the PU partition boundary is determined to determine bS. In the case of an edge, bS can be determined to be 1.

반면에 (i) 움직임 벡터의 차의 절대값이 모두 4보다 작고 또한 (ii) 움직임 보상에서의 참조 프레임이 같고 또한 (iii) PU 파티션 경계가 아닐 경우, 즉 (i), (ii), (iii)을 모두 만족하는 경우에는 bS를 0으로 결정할 수 있다. On the other hand, if (i) the absolute values of the differences in motion vectors are both less than 4 and (ii) the reference frames in motion compensation are the same and (iii) they are not PU partition boundaries, that is, (i), (ii), ( If iii) are all satisfied, bS can be determined to be 0.

본 발명에 의하면, CU의 파티션 형태(PU형태)를 기반으로 디블록킹 필터링의 bS를 결정할 수도 있고, 파싱부에서 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하여 저장할 수도 있다.According to the present invention, bS of deblocking filtering may be determined based on the partition type (PU type) of the CU, and the boundary filtering strength (bS) of deblocking filtering may be determined and stored in the parsing unit.

이하, 각각의 방법에 대하여, 도면을 참조하여 구체적으로 설명한다.Hereinafter, each method will be described in detail with reference to the drawings.

CU의 파티션 형태(PU형태)를 기반으로 하는 방법Method based on CU partition type (PU type)

본 발명의 일 실시예에 의하면, CU의 파티션 형태, 예컨대, PU의 형태를 기반으로 디블록킹 필터링의 bS를 결정할 수 있다.According to an embodiment of the present invention, bS of deblocking filtering can be determined based on the partition type of the CU, for example, the type of PU.

도 4는 CU의 파티션 형태를 기반으로 bS를 결정하는 방법의 일 예를 개략적으로 설명하는 순서도이다.Figure 4 is a flowchart schematically explaining an example of a method for determining bS based on the partition type of the CU.

도 4를 참조하면, 경계 필터링 강도(bS)를 결정하기 위해, 우선 서로 인접하는 블록 p와 q 중에서 적어도 하나의 블록이 인트라 부호화되었는지를 판단한다(S410). 여기서, 블록 p 또는 q가 인트라 부호화 또는 인터 부호화되었다는 것은 블록 p 또는 q가 인트라 부호화된 매크로 블록, CU, PU 또는 TU이거나 또는 이들 중 어느 하나에 속하는 블록이라는 것을 의미할 수 있다.Referring to FIG. 4, in order to determine the boundary filtering strength (bS), it is first determined whether at least one block among adjacent blocks p and q has been intra-encoded (S410). Here, that block p or q is intra-coded or inter-coded may mean that block p or q is an intra-coded macroblock, CU, PU, or TU, or a block belonging to any one of these.

도 5는 블록 p와 블록 q의 관계를 개략적으로 설명하는 도면이다.Figure 5 is a diagram schematically explaining the relationship between block p and block q.

도 5(a)를 참조하면, 경계(500)가 수평 에지인 경우에, 블록 p(510)는 블록 경계(500)에 대하여 좌측에 위치하는 블록을 나타내고, 블록 q(520)는 블록 경계(500)에 대하여 우측에 위치하는 블록을 나타낸다.Referring to FIG. 5(a), when the boundary 500 is a horizontal edge, block p (510) represents a block located to the left of the block boundary 500, and block q (520) represents the block boundary ( 500) indicates the block located on the right.

도 5(b)를 참조하면, 경계(530)가 수직 에지인 경우에, 블록 p(540)는 블록 경계(530)에 대하여 상측에 위치하는 블록을 나타내고, 블록 q(550)는 블록 경계(530)에 대하여 하측에 위치하는 블록을 나타낸다.Referring to FIG. 5(b), when the boundary 530 is a vertical edge, block p (540) represents a block located above the block boundary 530, and block q (550) represents the block boundary ( 530) indicates the block located below.

S410 단계의 판단 결과, 블록 p와 q 중에서 인트라 부호화된 블록이 하나 이상 존재하는 경우에는 ‘인트라 모드(INTRA MODE)’ 단계로 진행하며, 반대로 블록 p와 q가 모두 인터 부호화된 경우에는 ‘인터 모드(INTER MODE)’ 단계로 진행한다. As a result of the determination in step S410, if there is one or more intra-coded blocks among blocks p and q, the process proceeds to the 'INTRA MODE' step. Conversely, if both blocks p and q are inter-coded, the process proceeds to the 'inter mode' step. Proceed to the ‘(INTER MODE)’ stage.

여기서, 인터 부호화는 현재 프레임(픽처)과 시간이 다른 복원(재구성) 프레임(픽처)의 영상을 참조 프레임(픽처)으로 이용하는 예측 부호화이고, 인트라 부호화는 현재 프레임(픽처) 내에서 주변 블록의 영상을 이용하는 예측 부호화이다. Here, inter coding is predictive coding that uses the image of a restored (reconstructed) frame (picture) whose time is different from the current frame (picture) as a reference frame (picture), and intra coding is the image of a neighboring block within the current frame (picture). It is predictive coding using .

인트라 모드 단계, 즉 블록 p와 q 중에서 인트라 부호화된 블록이 적어도 하나 존재하는 것으로 판단된 경우에는, 블록 p와 q의 경계가 CU의 경계와 일치하는지를 판단한다(S440). In the intra mode stage, that is, when it is determined that there is at least one intra-encoded block among blocks p and q, it is determined whether the boundary of blocks p and q matches the boundary of the CU (S440).

블록 p와 q의 경계가 CU의 경계와 일치하는 경우에는 bS를 4로 결정한다. 반면, 블록 p와 q의 경계가 CU의 경계가 아닌 경우에는 bS를 3으로 결정한다. If the boundaries of blocks p and q coincide with the boundaries of the CU, bS is determined to be 4. On the other hand, if the boundary of blocks p and q is not the boundary of the CU, bS is determined to be 3.

bS가 4인 경우에는 후속하는 필터링 적용 절차에서 가장 강한 필터링이 적용되며, bS 값이 작을수록 필터링의 강도는 약해진다.If bS is 4, the strongest filtering is applied in the subsequent filtering application procedure, and the smaller the bS value, the weaker the strength of filtering.

인터 모드 단계, 즉 블록 p와 q 모두가 인터 부호화된 블록인 것으로 판단된 경우에는, 블록 p와 q의 경계가 TU(Transform Unit)의 경계이고 블록 p와 q 중에서 적어도 하나가 직교 변환 계수를 가지는지를 판단한다(S420). In the inter mode stage, that is, when both blocks p and q are determined to be inter-encoded blocks, the boundary of blocks p and q is the boundary of the TU (Transform Unit), and at least one of blocks p and q has an orthogonal transform coefficient. determine whether or not (S420).

직교 변환 계수는 코딩된 계수(Coded Coefficient) 또는 0이 아닌 변환 계수(Non-zero Transformed Coefficient)라고도 한다. Orthogonal transform coefficients are also called coded coefficients or non-zero transform coefficients.

판단 결과, 블록 p와 q의 경계가 TU의 경계이고 직교 변환계수를 가지는 블록이 하나 이상 존재하는 경우에는 bS를 2로 결정한다. 반면, 블록 p와 q의 경계가 TU의 경계이고 직교 변환계수를 가지는 블록이 하나 이상 존재하는 경우가 아니라면, 다음 단계로 진행된다.As a result of the determination, if the boundary of blocks p and q is the boundary of the TU and there is one or more blocks with orthogonal transformation coefficients, bS is determined to be 2. On the other hand, unless the boundary of blocks p and q is the boundary of the TU and there is one or more blocks with orthogonal transformation coefficients, the process proceeds to the next step.

다음 단계에서는 블록 p와 q에 대하여 움직임 벡터의 일 성분 즉, x축 성분 또는 y축 성분의 차의 절대값이 4와 같거나 더 큰지 및/또는 움직임 보상에서의 참조 프레임이 다른지 및/또는 PU 파티션 경계인지를 판단한다(S430). In the next step, for blocks p and q, whether the absolute value of the difference between one component of the motion vector, that is, the x-axis component or the y-axis component, is equal to or greater than 4, and/or the reference frame in motion compensation is different, and/or PU Determine whether it is a partition boundary (S430).

여기서, '참조 프레임이 다르다는 것'은 참조 프레임 자체가 다르다는 것과 참조 프레임의 개수가 다르다는 것을 모두 포함한다. Here, 'different reference frames' includes both that the reference frames themselves are different and that the number of reference frames is different.

움직임 벡터의 차의 절대값 중에서 적어도 하나가 4 이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다르거나 또는 PU 파티션 경계일 경우에는 bS를 1로 결정한다. If at least one of the absolute values of the difference between the motion vectors is 4 or more, or the reference frames in motion compensation are different, or is a PU partition boundary, bS is determined to be 1.

반면, 움직임 벡터의 차의 절대값이 모두 4보다 작고 또한 움직임 보상에서의 참조 프레임이 같고 또한 PU 파티션 경계가 아닐 경우에는 bS를 0으로 결정한다. bS가 0이라는 것은 필터링 적용 절차에서 필터링을 수행하지 않는 것을 나타낸다.On the other hand, if the absolute values of the differences between the motion vectors are all less than 4 and the reference frames in motion compensation are the same and are not PU partition boundaries, bS is determined to be 0. bS of 0 indicates that no filtering is performed in the filtering application procedure.

한편, bS를 결정하는 방법은 PU 파티션 경계뿐만 아니라 다양한 조건으로 결정될 수 있다. 예컨대, 아래 1 내지 3 중 적어도 하나 이상의 조건을 적용하여 bS를 결정할 수 있다. Meanwhile, the method for determining bS can be determined based on various conditions as well as PU partition boundaries. For example, bS can be determined by applying at least one of conditions 1 to 3 below.

1. 대상 경계가 PU 파티션 경계일 경우에는 bS를 1로 결정할 수 있다. 1. If the target boundary is a PU partition boundary, bS can be determined as 1.

2. 현재 CU가 최대 깊이(depth)이고 대상 경계가 그 CU의 PU 파티션 경계일 경우에는 bS를 1로 결정할 수 있다. 여기서 현재 CU의 깊이는 최대 깊이뿐만 아니라 임의로 정한 깊이(depth) 이상일 경우에 수행될 수도 있다.2. If the current CU has the maximum depth and the target boundary is the PU partition boundary of that CU, bS can be determined to be 1. Here, execution may be performed if the depth of the current CU is not only the maximum depth but also a randomly determined depth.

3. 대상 경계인 블록 p와 q의 경계가 TU(Transform Unit)의 경계일 경우, bS를 1로 결정한다.3. If the boundaries of blocks p and q, which are target boundaries, are the boundaries of TU (Transform Unit), bS is determined to be 1.

4. 현재 CU가 최대 깊이(depth)일 경우에는 경계(혹은 내부 경계)에 대한 bS를 0으로 결정한다.4. If the current CU is at the maximum depth, bS for the boundary (or internal boundary) is determined to be 0.

이외에도 bS를 결정하는 방법은 여러 가지가 적용될 수 있다.In addition, several methods for determining bS can be applied.

파싱부에서 bS를 결정하는 방법How to determine bS in the parsing section

본 발명에 의하면, 디코딩 장치의 파싱부에서 디블록킹 필터링의 bS를 결정하고, 결정된 bS를 저장할 수 있다.According to the present invention, the parsing unit of the decoding device can determine bS of deblocking filtering and store the determined bS.

도 6은 파싱부에서 디블록킹 필터링의 bS를 결정하는 방법의 일 예를 개략적으로 설명하는 도면이다.Figure 6 is a diagram schematically explaining an example of a method for determining bS of deblocking filtering in the parsing unit.

도 6을 참조하면, 복호화기(600)는 파싱 및 bS 결정부(610), 복호화부(640), 디블록킹 필터링부(650)를 포함한다.Referring to FIG. 6, the decoder 600 includes a parsing and bS determination unit 610, a decoding unit 640, and a deblocking filtering unit 650.

파싱 및 bS 결정부(610)는 파싱부(620) 및 bS 결정부(630)를 포함할 수 있다. The parsing and bS determination unit 610 may include a parsing unit 620 and a bS determination unit 630.

파싱부(620)는 부호화기에서 전송된 비트스트림이 복호화기(600)로 입력되면, 이를 파싱하여 필요한 정보를 획득한다. When the bitstream transmitted from the encoder is input to the decoder 600, the parsing unit 620 parses it to obtain necessary information.

bS 결정부(630)는 파싱에 의해 획득한 정보를 기반으로 bS 를 결정할 수 있다. 이때, bS 결정부(630)는 도 4에서 설명한 바와 같은 방법으로 bS를 결정할 수 있다. 따라서, 파싱부(620)에서 파싱에 의해 획득되는 정보는 p가 인트라 부호화되었는지, q가 인트라 부호화 되었는지, p와 q 사이의 에지가 TU 에지인지, p가 부호화된 계수를 포함하는지, q가 부호화된 계수를 포함하는지, 블록 p와 q에 대하여 움직임 벡터의 성분들 사이의 차가 4와 같거나 더 큰지, p와 q의 참조 프레임이 다른지, p와 q 사이의 에지가 PU 파티션 경계인지에 관한 정보를 포함한다. The bS determination unit 630 may determine bS based on information obtained through parsing. At this time, the bS determination unit 630 may determine bS in the same manner as described in FIG. 4. Therefore, the information obtained by parsing in the parsing unit 620 determines whether p is intra-coded, whether q is intra-coded, whether the edge between p and q is a TU edge, whether p contains an encoded coefficient, and whether q is encoded. information about whether the difference between the components of the motion vector for blocks p and q is equal to or greater than 4, whether p and q have different reference frames, and whether the edge between p and q is a PU partition boundary. Includes.

bS 결정부(630)에서 결정된 bS는 디블록킹 필터링부(650)에 전달된다. The bS determined in the bS determination unit 630 is transmitted to the deblocking filtering unit 650.

복호화부(640)는 파싱된 정보를 기반으로 복호화를 수행하고 복원된 블록을 출력한다. 복원 블록을 생성하는 구체적인 방법은 도 2에서 설명한 바와 같다.The decryption unit 640 performs decryption based on the parsed information and outputs a restored block. A specific method of generating a restoration block is as described in FIG. 2.

디블록킹 필터링부(650)는 bS 결정부(630)에서 결정된 bS를 이용하여 디블록킹 필터링을 수행한다.The deblocking filtering unit 650 performs deblocking filtering using bS determined by the bS determination unit 630.

디블록킹 필터부(650)는 디블록킹 필터가 적용될 영역을 정할 수 있다. 구체적으로, 디블록킹 필터가 적용되는 최소 단위가 8x8 블록인 경우에, 수평 에지와 수직 에지를 고려하여, 블록의 경계를 유도할 수 있다. 디블록킹 필터링부(650)는 블록의 경계에 대한 bS를 기반으로 필터링 할 것인지 어떤 필터링을 적용할 것인지를 결정할 수 있다. 디블록킹 필터링부는(650) 블록의 에지에 적용할 필터를 선택한다. 필터는 강한 필터(strong filter)와 약한 필터(weak filter)로 나뉠 수 있다. 필터는 bS값과 양자화 파라미터 및 디블록킹 필터링 파라미터 등에 따라 선택될 수 있다.The deblocking filter unit 650 can determine the area to which the deblocking filter will be applied. Specifically, when the minimum unit to which the deblocking filter is applied is an 8x8 block, the boundary of the block can be derived by considering horizontal edges and vertical edges. The deblocking filtering unit 650 can determine whether to filter or what filtering to apply based on bS for the boundary of the block. The deblocking filtering unit 650 selects a filter to be applied to the edge of the block. Filters can be divided into strong filters and weak filters. The filter may be selected according to the bS value, quantization parameter, deblocking filtering parameter, etc.

한편, 여기서 ‘블록 에지에 디블록킹 필터를 적용’한다는 것은 블록 에지를 경계로 한 좌우 소정의 샘플(예컨대, p와 q 내 소정의 샘플들)에 디블록킹 필터가 적용된다는 것을 의미한다. Meanwhile, here, ‘applying a deblocking filter to the block edge’ means that the deblocking filter is applied to certain samples on the left and right (e.g., certain samples in p and q) bordering the block edge.

도 6의 예에서는 본 발명의 이해를 명확하게 하기 위해 각 기능부들을 구성하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 파싱 및 필터링 강도 결정부(610)는 도 2의 엔트로피 복호화부에 대응할 수도 있고, 별도의 파싱부로 구성될 수도 있다. 또한, 디블록킹 필터링부(650)는 도 2의 필터부에 대응할 수 있다. 또한, 복호화부(640)는 도 2에서 엔트로피 복호화부 및 필터부를 제외한 나머지 기능부들에 대응할 수 있다. In the example of FIG. 6, each functional unit is configured to clarify the understanding of the present invention, but the present invention is not limited thereto. For example, the parsing and filtering strength determination unit 610 may correspond to the entropy decoding unit of FIG. 2 or may be configured as a separate parsing unit. Additionally, the deblocking filtering unit 650 may correspond to the filter unit of FIG. 2. Additionally, the decoding unit 640 may correspond to the remaining functional units excluding the entropy decoding unit and the filter unit in FIG. 2.

또한, 도 6에서는 bS가 bS 결정부(640)에서 결정되었으나, bS가 파싱부에서 결정되지 않고, 필터링부에서 결정되는 경우에, 필터링부는 디블록킹 필터링이 적용될 경계를 유도한 후 각 경계에 대한 bS를 설정한 뒤. bS 및/또는 그 외 필터링 파라미터에 따라서 디블록킹 필터링을 적용할 것인지, 어떤 디블록킹 필터링(약한 필터링, 강한 필터링)을 적용할 것인지를 결정할 수 있다. In addition, in FIG. 6, bS is determined in the bS determination unit 640, but when bS is not determined in the parsing unit but is determined in the filtering unit, the filtering unit derives the boundary to which deblocking filtering will be applied and then determines the boundary for each boundary. After setting bS. Depending on bS and/or other filtering parameters, it is possible to determine whether to apply deblocking filtering and which deblocking filtering (weak filtering, strong filtering) to apply.

본 명세서에서는 프레임, 참조 프레임 등의 용어를 사용하여 본 발명을 설명하였으나, 이는 설명의 편의를 위한 것으로서, (참조) 프레임은 (참조) 픽처와 동일한 의미로 사용될 수 있으며, 본 발명에서 프레임을 픽처로 대체하는 경우에도 본 발명의 기술적 사상은 동일하게 적용될 수 있음에 유의한다. In this specification, the present invention has been described using terms such as frame and reference frame, but this is for convenience of explanation. A (reference) frame may be used in the same sense as a (reference) picture, and in the present invention, a frame is referred to as a picture. Note that the technical idea of the present invention can be applied the same even when replaced with .

상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.In the above-described exemplary system, the methods are described on a flowchart basis as a series of steps or blocks; however, the invention is not limited to the order of the steps, and some steps may occur simultaneously or in a different order than other steps as described above. You can. Additionally, the above-described embodiments include examples of various aspects. Accordingly, the present invention is intended to include all other substitutions, modifications and changes falling within the scope of the following claims.

지금까지 본 발명에 관한 설명에서 일 구성 요소가 타 구성 요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 상기 일 다른 구성 요소가 상기 타 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 두 구성 요소 사이에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. 반면에, 일 구성 요소가 타 구성 요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 두 구성 요소 사이에 다른 구성요소가 존재하지 않는 것으로 이해되어야 한다.In the description of the present invention so far, when it is mentioned that one component is “connected” or “connected” to another component, the other component is directly connected or connected to the other component. However, it should be understood that other components may exist between the above two components. On the other hand, when it is mentioned that one component is “directly connected” or “directly connected” to another component, it should be understood that no other components exist between the two components.

Claims (2)

디블록킹 필터가 적용될 블록 경계를 결정하는 단계;
상기 블록 경계에 대한 경계 필터링 강도를 결정하는 단계; 및
상기 경계 필터링 강도를 기초로 상기 블록 경계에 상기 디블록킹 필터를 적용하는 단계를 포함하고,
상기 경계 필터링 강도를 결정하는 단계는,
상기 블록 경계가 예측 블록의 파티션 경계인지 여부 및 상기 블록 경계가 변환 블록의 파티션 경계인지 여부를 이용하여 상기 경계 필터링 강도의 값을 결정하고,
부호화 블록의 깊이가 최대 깊이일 경우, 상기 부호화 블록의 내부 경계는 필터링을 수행하지 않고,
상기 예측 블록 및 상기 변환 블록은 부호화 블록으로부터 각각 분할되고,
상기 예측 블록은 인트라 모드 및 인터 모드 중 어느 하나로 복호화되는 것을 특징으로 하는 영상 복호화 방법.
determining a block boundary to which a deblocking filter will be applied;
determining a boundary filtering strength for the block boundary; and
Applying the deblocking filter to the block boundary based on the boundary filtering strength,
The step of determining the boundary filtering strength is,
Determine the value of the boundary filtering strength using whether the block boundary is a partition boundary of a prediction block and whether the block boundary is a partition boundary of a transform block,
If the depth of the coding block is the maximum depth, the inner boundary of the coding block is not filtered,
The prediction block and the transform block are each divided from the coding block,
An image decoding method, characterized in that the prediction block is decoded in one of intra mode and inter mode.
디블록킹 필터가 적용될 블록 경계를 결정하는 단계;
상기 블록 경계에 대한 경계 필터링 강도를 결정하는 단계; 및
상기 경계 필터링 강도를 기초로 상기 블록 경계에 상기 디블록킹 필터를 적용하는 단계를 포함하고,
상기 경계 필터링 강도를 결정하는 단계는,
상기 블록 경계가 예측 블록의 파티션 경계인지 여부 및 상기 블록 경계가 변환 블록의 파티션 경계인지 여부를 이용하여 상기 경계 필터링 강도의 값을 결정하고,
부호화 블록의 깊이가 최대 깊이일 경우, 상기 부호화 블록의 내부 경계는 필터링을 수행하지 않고,
상기 예측 블록 및 상기 변환 블록은 부호화 블록으로부터 각각 분할되고,
상기 예측 블록은 인트라 모드 및 인터 모드 중 어느 하나로 부호화되는 것을 특징으로 하는 것을 특징으로 하는 영상 부호화 방법.
determining a block boundary to which a deblocking filter will be applied;
determining a boundary filtering strength for the block boundary; and
Applying the deblocking filter to the block boundary based on the boundary filtering strength,
The step of determining the boundary filtering strength is,
Determine the value of the boundary filtering strength using whether the block boundary is a partition boundary of a prediction block and whether the block boundary is a partition boundary of a transform block,
If the depth of the coding block is the maximum depth, the inner boundary of the coding block is not filtered,
The prediction block and the transform block are each divided from the coding block,
An image encoding method, characterized in that the prediction block is encoded in one of intra mode and inter mode.
KR1020230156105A 2011-11-08 2023-11-13 Method and apparatus for deciding boundary filtering strength of deblocking filtering KR20230161389A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110115608 2011-11-08
KR1020110115608 2011-11-08
KR1020230027177A KR102602978B1 (en) 2011-11-08 2023-02-28 Method and apparatus for deciding boundary filtering strength of deblocking filtering

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020230027177A Division KR102602978B1 (en) 2011-11-08 2023-02-28 Method and apparatus for deciding boundary filtering strength of deblocking filtering

Publications (1)

Publication Number Publication Date
KR20230161389A true KR20230161389A (en) 2023-11-27

Family

ID=48661127

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020120125869A KR20130050901A (en) 2011-11-08 2012-11-08 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020200030532A KR102291504B1 (en) 2011-11-08 2020-03-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210106701A KR102341513B1 (en) 2011-11-08 2021-08-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210106702A KR20210102172A (en) 2011-11-08 2021-08-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210180263A KR102419589B1 (en) 2011-11-08 2021-12-16 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020230027177A KR102602978B1 (en) 2011-11-08 2023-02-28 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020230156105A KR20230161389A (en) 2011-11-08 2023-11-13 Method and apparatus for deciding boundary filtering strength of deblocking filtering

Family Applications Before (6)

Application Number Title Priority Date Filing Date
KR1020120125869A KR20130050901A (en) 2011-11-08 2012-11-08 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020200030532A KR102291504B1 (en) 2011-11-08 2020-03-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210106701A KR102341513B1 (en) 2011-11-08 2021-08-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210106702A KR20210102172A (en) 2011-11-08 2021-08-12 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020210180263A KR102419589B1 (en) 2011-11-08 2021-12-16 Method and apparatus for deciding boundary filtering strength of deblocking filtering
KR1020230027177A KR102602978B1 (en) 2011-11-08 2023-02-28 Method and apparatus for deciding boundary filtering strength of deblocking filtering

Country Status (1)

Country Link
KR (7) KR20130050901A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742988B2 (en) 2015-02-12 2020-08-11 Lg Electronics Inc. Method and apparatus for processing video signal using graph-based transform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922275B1 (en) * 2006-12-15 2009-10-15 경희대학교 산학협력단 Derivation process of a boundary filtering strength and deblocking filtering method and apparatus using the derivation process

Also Published As

Publication number Publication date
KR102341513B1 (en) 2021-12-21
KR20210102171A (en) 2021-08-19
KR20210102172A (en) 2021-08-19
KR20200030521A (en) 2020-03-20
KR102602978B1 (en) 2023-11-16
KR102419589B1 (en) 2022-07-11
KR20210156266A (en) 2021-12-24
KR20230035300A (en) 2023-03-13
KR102291504B1 (en) 2021-08-20
KR20130050901A (en) 2013-05-16

Similar Documents

Publication Publication Date Title
KR101962183B1 (en) Method for encoding/decoding an intra prediction mode and apparatus for the same
US10812803B2 (en) Intra prediction method and apparatus
US9906790B2 (en) Deblock filtering using pixel distance
JP2023145724A (en) Video decoding method, video encoding method, and bitstream transmitting method
US8964833B2 (en) Deblocking of non-square blocks for video coding
US9363509B2 (en) Method for determining color difference component quantization parameter and device using the method
US20160100163A1 (en) Deblock filtering for intra block copying
US9955155B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
US10477247B2 (en) Method for decoding video using in-loop filter, and device therefor
US20230209067A1 (en) Intra prediction method and apparatus
KR20230161389A (en) Method and apparatus for deciding boundary filtering strength of deblocking filtering
WO2013048033A1 (en) Method and apparatus for encoding/decoding intra prediction mode
KR102301654B1 (en) Method and apparatus for applying Sample Adaptive Offset filtering
US11109032B2 (en) Method for processing image providing improved arithmetic encoding, method for decoding and encoding image using same, and apparatus for same
KR20120095794A (en) Fast video coding method
KR20130070215A (en) Method and apparatus for seletcing the adaptive depth information and processing deblocking filtering

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination