KR20190022399A - A method for encoding/decoding a virtual reality video - Google Patents

A method for encoding/decoding a virtual reality video Download PDF

Info

Publication number
KR20190022399A
KR20190022399A KR1020180099127A KR20180099127A KR20190022399A KR 20190022399 A KR20190022399 A KR 20190022399A KR 1020180099127 A KR1020180099127 A KR 1020180099127A KR 20180099127 A KR20180099127 A KR 20180099127A KR 20190022399 A KR20190022399 A KR 20190022399A
Authority
KR
South Korea
Prior art keywords
image
unit
padding
information
encoding
Prior art date
Application number
KR1020180099127A
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 KR20190022399A publication Critical patent/KR20190022399A/en

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • 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

Abstract

Provided are a method and an apparatus for effectively encoding/decoding a virtual reality (VR) image such as a 360-degree camera or VR image. To this end, according to an embodiment of the present invention, an image processing method includes the steps of: acquiring image information of a VR image to be processed; identifying an active area and an inactive area which correspond to a conversion format of the image information; performing padding-processing on the inactive area by using pixel information of the active area; and performing encoding or decoding corresponding to the padding-processed image information.

Description

가상 현실 영상의 부호화/복호화 방법 및 그 장치{A METHOD FOR ENCODING/DECODING A VIRTUAL REALITY VIDEO}TECHNICAL FIELD The present invention relates to a method and an apparatus for encoding / decoding a virtual reality image,

본 발명은 영상의 부호화/복호화 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 발명은 가상 현실 영상의 부호화/복호화 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding / decoding an image. More particularly, the present invention relates to a method and apparatus for encoding / decoding a virtual reality image.

최근 디지털 영상 처리와 컴퓨터 그래픽 기술이 발전함에 따라, 현실 세계를 재현하고 이를 실감나게 경험하도록 하는 가상현실(VIRTUAL REALITY, VR) 기술에 관한 연구가 활발히 진행되고 있다.Recently, as digital image processing and computer graphics technology are developed, researches on virtual reality (VR) technology, which reproduces the real world and realizes it, is being actively studied.

특히, HMD(Head Mounted Display)와 같은 최근의 VR 시스템은, 사용자의 양안에 3차원 입체 영상을 제공할 수 있을 뿐만 아니라, 그 시점을 전방위로 트래킹할 수 있기에, 360도 회전 시청 가능한 실감나는 가상현실(VR) 영상 컨텐츠를 제공할 수 있다는 점에서 많은 관심을 받고 있다.In particular, a recent VR system such as an HMD (Head Mounted Display) not only can provide a three-dimensional stereoscopic image in both sides of a user, but also can track the viewpoint in all directions. Therefore, (VR) image contents.

그러나, 360 VR 컨텐츠는 시간 및 양안 영상이 공간적으로 복합 동기화된 동시 전방위의 다시점 영상 정보로 구성되기 때문에, 영상의 제작 및 전송에 있어서, 모든 시점의 양안 공간에 대해 동기화된 2개의 대형 영상을 부호화하여 압축 및 전달하게 된다. 이는 복잡도 및 대역폭 부담을 가중시키며, 특히 복호화 장치에서는 사용자 시점을 벗어나 실제로 시청되지 않는 영역에 대하여도 복호화가 이루어짐으로써 불필요한 프로세스가 낭비되는 문제점이 있다.However, since the 360 VR contents are composed of the multi-view image information of the simultaneous omnidirectionally synchronized spatio-temporal and binocular images, two large images synchronized with respect to the binocular space at all viewpoints in the production and transmission of the image And compresses and transmits them. This increases the complexity and the bandwidth burden. In particular, in a decoding apparatus, an area that is not actually viewed beyond a user's point of view is decoded, thus wasting an unnecessary process.

이에 따라, 영상의 전송 데이터량과 복잡도를 감소시키고, 대역폭 및 복호화 장치의 배터리 소모 측면에서도 효율적인 부호화 방법이 요구된다.Accordingly, there is a need for an efficient encoding method in terms of reducing the amount of data to be transferred and the complexity of the video and also in terms of battery consumption of the bandwidth and decoding apparatus.

본 발명은 상기와 같은 과제를 해결하기 위한 것으로, 가상 현실 영상의 공간적 구조 정보를 이용하여, 360도 카메라나 VR용 영상과 같은 가상 현실 영상을 효율적으로 부호화/복호화하는 방법 및 장치를 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for efficiently encoding / decoding a virtual reality image such as a 360-degree camera or a VR image using spatial structure information of a virtual reality image It has its purpose.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 실시예에 따른 영상 부호화 방법은, 영상 처리 방법에 있어서, 처리할 가상 현실 영상의 영상 정보를 획득하는 단계; 상기 영상 정보의 변환 포맷에 대응하는 활성 영역 및 비활성 영역을 식별하는 단계; 상기 활성 영역의 화소 정보를 이용하여, 상기 비활성 영역에 대한 패딩 처리를 수행하는 단계; 및 상기 패딩 처리된 영상 정보에 대응하는 부호화 또는 복호화 처리를 수행하는 단계를 포함한다.According to an aspect of the present invention, there is provided an image encoding method comprising: acquiring image information of a virtual reality image to be processed; Identifying an active area and a non-active area corresponding to a conversion format of the image information; Performing padding processing on the inactive area using pixel information of the active area; And performing coding or decoding processing corresponding to the padded image information.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 실시예에 따른 영상 처리 장치는, 처리할 가상 현실 영상의 영상 정보를 획득하면, 상기 영상 정보의 변환 포맷에 대응하는 활성 영역 및 비활성 영역을 식별하는 비활성 영역 포맷 결정부; 상기 활성 영역의 화소 정보를 이용하여, 상기 비활성 영역에 대한 패딩 처리를 수행하는 비활성 영역 패딩부; 및 상기 패딩 처리된 영상 정보에 대응하는 부호화 또는 복호화 처리를 수행하는 영상 처리 장치를 포함한다.According to an aspect of the present invention, there is provided an image processing apparatus including: an acquisition unit configured to acquire image information of a virtual reality image to be processed, An inactive area format determination unit for identifying the inactive area format; An inactive area padding unit for performing padding processing on the inactive area using pixel information of the active area; And an image processing apparatus that performs encoding or decoding processing corresponding to the padded image information.

또한, 상기 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.The method may be embodied as a computer-readable recording medium having recorded thereon a program for execution on a computer.

본 발명의 실시 예에 따르면, 가상 현실 영상으로부터 부호화 및 전송에 최적화된 패딩 처리 및 블렌딩 처리를 제공하여, 영상의 전송 데이터량과 대역폭 및 복잡도를 효율적으로 감소시킬 수 있다.According to the embodiment of the present invention, padding processing and blending processing optimized for encoding and transmission are provided from a virtual reality image, and the amount, bandwidth, and complexity of transmission data of the image can be efficiently reduced.

도 1 및 2는 본 발명의 실시 예에 따른 전체 시스템을 도시한 블록도이다.
도 3 내지 도 4는 본 발명의 다양한 실시 예에 따른 공간적 구조 정보의 시그널링 방법을 설명하기 위한 도면들이다.
도 5 내지 도 11은 본 발명의 실시 예에 따른 360도 가상 현실 영상의 부호화 프로세스를 도시한 도면들이다.
도 12 및 도 13은 본 발명의 실시 예에 따른 부호화 장치 및 복호화 장치를 설명하기 위한 도면들이다.
Figures 1 and 2 are block diagrams illustrating an overall system in accordance with an embodiment of the present invention.
3 to 4 are diagrams for explaining a signaling method of spatial structure information according to various embodiments of the present invention.
5 to 11 are views illustrating a process of encoding a 360-degree virtual reality image according to an embodiment of the present invention.
12 and 13 are views for explaining an encoding apparatus and a decoding apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. It should be understood, however, that the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, the same reference numbers are used throughout the specification to refer to the same or like parts.

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout this specification, when a part is referred to as being "connected" to another part, it is not limited to a case where it is "directly connected" but also includes the case where it is "electrically connected" do.

본원 명세서 전체에서, 어떤 부재가 다른 부재 상에 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is located on another member, this includes not only when a member is in contact with another member but also when another member is present between the two members.

본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.Throughout this specification, when an element is referred to as "including " an element, it is understood that the element may include other elements as well, without departing from the other elements unless specifically stated otherwise. The terms "about "," substantially ", etc. used to the extent that they are used throughout the specification are intended to be taken to mean the approximation of the manufacturing and material tolerances inherent in the stated sense, Accurate or absolute numbers are used to help prevent unauthorized exploitation by unauthorized intruders of the referenced disclosure. The word " step (or step) "or" step "used to the extent that it is used throughout the specification does not mean" step for.

본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 이들의 조합의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.Throughout the present specification, the term of a combination of these in the expression of a mark-up form means a combination or combination of at least one selected from the group consisting of the constituents described in the expression of the mark-up form, Quot; is meant to include one or more selected from the group consisting of

본 발명의 실시 예에서, 가상 현실 영상을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)에서 공동으로 표준화한 HEVC(High Efficiency Video Coding) 또는 현재 표준화가 진행 중인 부호화 기술을 이용하여 부호화를 수행할 수 있으나, 이에 한정되지는 아니한다.In the embodiment of the present invention, as an example of a method of encoding a virtual reality image, a Moving Picture Experts Group (MPEG) and a Video Coding Experts Group (VCEG) having the highest coding efficiency among the video coding standards developed so far, Encoding may be performed using an HEVC (High Efficiency Video Coding) or a coding technique in progress of the current standardization, but the present invention is not limited thereto.

통상, 부호화 장치는 인코딩 과정과 디코딩 과정을 포함하고, 복호화 장치는 디코딩 과정을 구비한다. 복호화 장치의 디코딩 과정은 부호화 장치의 디코딩 과정과 동일하다. 따라서, 이하에서는 부호화 장치를 위주로 설명하기로 한다.Generally, the encoding apparatus includes an encoding process and a decoding process, and the decoding apparatus has a decoding process. The decoding process of the decoding apparatus is the same as the decoding process of the encoding apparatus. Therefore, the encoding apparatus will be mainly described below.

도 1은 본 발명의 일실시예에 따른 전체 시스템 구조를 도시한다.1 shows an overall system architecture according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 전체 시스템은, 전처리 장치(10), 부호화 장치(100), 복호화 장치(200), 후처리 장치(20)를 포함한다.Referring to FIG. 1, an overall system according to an embodiment of the present invention includes a preprocessing apparatus 10, an encoding apparatus 100, a decrypting apparatus 200, and a post-processing apparatus 20.

본 발명의 실시 예에 따른 시스템은 본 발명의 실시 예에 따른 가상 현실 영상 정보를 처리할 수 있다. 가상 현실 영상은 사용자가 실제로 그곳에 있는 듯한 경험을 제공하는 영상으로서, 사용자의 시각에 동기화되어 전방위를 표현할 수 있는 영상일 수 있으며, 360 비디오 또는 가상 현실 비디오라고도 불릴 수 있다.The system according to an embodiment of the present invention can process virtual reality image information according to an embodiment of the present invention. A virtual reality image is an image that provides an experience that a user is actually in, and can be an image that can be expressed in all directions synchronized with the user's time, and can also be called 360 video or virtual reality video.

이러한 본 발명의 실시 예에 따른 시스템은 복수의 시점별 영상들을 병합 또는 스티치(stitch)등의 작업을 통해 전처리하여, 동기화된 비디오 프레임을 획득하는 전처리 장치(10)와, 상기 동기화된 비디오 프레임을 부호화하여 비트스트림을 출력하는 부호화 장치(100)와, 상기 비트스트림을 전송받아 상기 동기화된 비디오 프레임을 복호화하는 복호화 장치(200) 및 상기 비디오 프레임의 후처리를 통해 각 시점별 동기화된 영상이 각각의 디스플레이로 출력되도록 하는 후처리 장치(20)를 포함하여 구성될 수 있다.The system according to an embodiment of the present invention includes a preprocessing apparatus 10 for preprocessing a plurality of viewpoint images through an operation such as merging or stitching to obtain a synchronized video frame, And outputs the bit stream; a decoding unit (200) for decoding the synchronized video frame by receiving the bit stream; and a decoding unit And a post-processing device 20 for outputting the output of the post-processing device 20 to the display device.

여기서, 입력 영상은 다시점별 개별 영상을 포함할 수 있으며, 예를 들어 하나 이상의 카메라가 시간 및 공간 동기화된 상태에서 촬영되는 다양한 시점의 서브 이미지 정보를 포함할 수 있다. 이에 따라 전처리 장치(10)는 취득된 다시점 서브 이미지 정보를 시간에 따라 공간적 병합 또는 스티치 처리함으로써 동기화된 가상 현실 영상 정보를 획득할 수 있다.Here, the input image may include a separate individual image, for example, sub-image information at various time points, in which one or more cameras are photographed in time and space synchronized state. Accordingly, the preprocessing apparatus 10 can acquire synchronized virtual reality image information by spatially merging or stitching the acquired multi-view sub image information with time.

그리고, 부호화 장치(100)는 상기 동기화된 가상 현실 영상 정보를 스캐닝 및 예측 부호화하여 비트스트림을 생성하며, 생성된 비트스트림은 복호화 장치(200)로 전송될 수 있다. 특히, 본 발명의 실시 예에 따른 부호화 장치(100)는 상기 동기화된 영상 정보로부터 공간적 구조 정보를 추출할 수 있으며, 복호화 장치(200)로 시그널링할 수 있다.The encoding apparatus 100 scans and predictively encodes the synchronized virtual reality image information to generate a bitstream, and the generated bitstream can be transmitted to the decoding apparatus 200. In particular, the encoding apparatus 100 according to the embodiment of the present invention can extract spatial structure information from the synchronized image information, and can signal the signal to the decoding apparatus 200.

여기서 공간적 구조 정보(spatial layout information)는 상기 전처리 장치(10)로부터 하나 이상의 서브 이미지들이 병합되어 하나의 비디오 프레임으로 구성됨에 따라, 각각의 서브 이미지들의 속성 및 배치에 대한 기본 정보를 포함할 수 있다. 또한, 각 서브 이미지들 및 서브 이미지들간 관계에 대한 부가 정보를 더 포함할 수 있으며, 이에 대하여는 후술하도록 한다.Here, the spatial layout information may include basic information about the attributes and the layout of each sub-image, as one or more sub-images are merged into one video frame from the preprocessing apparatus 10 . Further, it may further include additional information on the relationship between each of the sub images and the sub images, which will be described later.

이에 따라, 본 발명의 실시 예에 따른 공간적 구조 정보가 복호화 장치(200)로 전달될 수 있다. 그리고, 복호화 장치(200)는 공간적 구조 정보와, 사용자 시점 정보를 참조하여 가상 현실 영상 비트스트림의 복호화 대상 및 복호화 순서를 결정할 수 있으며, 이는 효율적인 복호화를 유도할 수 있다.Accordingly, the spatial structure information according to the embodiment of the present invention can be transmitted to the decoding apparatus 200. Then, the decoding apparatus 200 can determine the decoding target and decoding order of the virtual reality image bitstream by referring to the spatial structure information and the user viewpoint information, which can induce efficient decoding.

그리고, 복호화된 비디오 프레임은 다시 후처리 장치(20)를 통해 각각의 디스플레이별 서브 이미지로 분리되어 HMD 와 같은 복수의 동기화된 디스플레이 시스템으로 제공되며, 이에 따라 사용자는 가상 현실과 같이 현실감있는 가상 현실 영상을 제공받을 수 있게 된다.Then, the decoded video frame is separated into sub-images for each display through the post-processing device 20 and provided to a plurality of synchronized display systems such as an HMD, Images can be provided.

도 2는 본 발명의 일 실시 예에 따른 가상 현실 영상 부호화 장치의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a virtual reality image encoding apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 부호화 장치(100)는 가상 현실 영상 획득부(110), 공간적 구조 정보 생성부(120), 공간적 구조 정보 시그널링부(130), 영상 부호화부 및 전송 처리부(150)를 포함한다.2, an encoding apparatus 100 according to an exemplary embodiment of the present invention includes a virtual reality image acquisition unit 110, a spatial structure information generation unit 120, a spatial structure information signaling unit 130, And a transmission processing unit 150.

가상 현실 영상 획득부(110)는 360도 카메라와 같은 가상 현실 영상 획득 수단을 이용하여 가상 현실 영상을 획득한다. 가상 현실 영상은 시간 및 공간 동기화된 복수의 서브 이미지를 포함할 수 있으며, 전처리 장치(10)로부터 수신되거나 별도의 외부 입력 장치로부터 수신될 수도 있다.The virtual reality image acquisition unit 110 acquires a virtual reality image using a virtual reality image acquisition unit such as a 360 degree camera. The virtual reality image may include a plurality of time-and-space-synchronized subimages and may be received from the preprocessing apparatus 10 or may be received from a separate external input apparatus.

그리고, 공간적 구조 정보 생성부(120)는 상기 가상 현실 영상을 시간 단위의 비디오 프레임으로 분할하고, 상기 비디오 프레임에 대한 공간적 구조 정보를 추출한다. 공간적 구조 정보는 각각의 서브 이미지들의 속성 및 배치 상태에 따라 결정될 수 있으며, 전처리 장치(10)로부터 획득되는 정보에 따라 결정될 수도 있다.The spatial structure information generation unit 120 divides the virtual reality image into video frames in units of time, and extracts spatial structure information on the video frames. The spatial structure information may be determined according to the attributes and arrangement state of the respective sub images, and may be determined according to information obtained from the preprocessing apparatus 10. [

그리고, 공간적 구조 정보 시그널링부(130)는 상기 공간적 구조 정보를 복호화 장치(200)로 시그널링하기 위한 정보 처리를 수행한다. 예를 들어, 공간적 구조 정보 시그널링부(130)는 영상 부호화부에서 부호화된 영상 데이터에 포함시키거나, 별도의 데이터 포맷을 구성하거나, 부호화된 영상의 메타데이터에 포함시키기 위한 하나 이상의 프로세스를 수행할 수 있다.The spatial structure information signaling unit 130 performs information processing for signaling the spatial structure information to the decoding apparatus 200. For example, the spatial structure information signaling unit 130 may perform one or more processes to be included in the image data encoded by the image encoding unit, to construct a separate data format, or to include the metadata in the metadata of the encoded image .

그리고, 영상 부호화부는 가상 현실 영상을 시간 흐름에 따라 부호화한다. 또한, 영상 부호화부는 공간적 구조 정보 생성부(120)에서 생성되는 공간적 구조 정보를 참조 정보로 이용하여, 영상 스캐닝 순서 및 참조 이미지 등을 결정할 수 있다.Then, the image encoding unit encodes the virtual reality image according to the time flow. In addition, the image encoding unit can use the spatial structure information generated by the spatial structure information generation unit 120 as reference information to determine an image scanning order, a reference image, and the like.

따라서, 영상 부호화부는 전술한 바와 같이 HEVC(High Efficiency Video Coding)를 이용하여 부호화를 수행할 수 있으나, 공간적 구조 정보에 따라, 가상 현실 영상에 대해 보다 효율적인 방식으로 개선될 수 있다.Therefore, the image encoding unit can perform encoding using HEVC (High Efficiency Video Coding) as described above, but can be improved in a more efficient manner with respect to the virtual reality image according to the spatial structure information.

그리고, 전송 처리부(150)는 부호화된 영상 데이터와, 상기 공간적 구조 정보 시그널링부(130)로부터 삽입된 공간적 구조 정보를 결합하여 복호화 장치(200)로 전송하기 위한 하나 이상의 변환 및 송신 처리를 수행할 수 있다.The transmission processing unit 150 performs one or more conversion and transmission processing for combining the encoded video data and the spatial structure information inserted from the spatial structure information signaling unit 130 and transmitting the combined information to the decoding apparatus 200 .

도 3 내지 도 4는 본 발명의 다양한 실시 예에 따른 공간적 구조 정보의 시그널링 방법을 설명하기 위한 도면들이다.3 to 4 are diagrams for explaining a signaling method of spatial structure information according to various embodiments of the present invention.

전술한 바와 같이 입력 영상의 서브 이미지들은 다양한 방식으로 배치될 수 있다. 이에 따라, 공간적 구조 정보는 배치 정보를 시그널링하기 위한 테이블 인덱스를 별도 포함할 수 있다. 예를 들어, 도 11에 도시된 바와 같이 가상 현실 영상은 변환 방법에 따라 Equirectangular (ERP), Cubemap (CMP), Equal-area (EAP), Octahedron (OHP), Viewport generation using rectilinear projection, Icosahedron (ISP), Crasters Parabolic Projection for CPP-PSNR calculation, Truncated Square Pyramid (TSP), Segmented Sphere Projection (SSP), Adjusted Cubemap Projection (ACP), Rotated Sphere Projection (RSP)등의 레이아웃이 예시될 수 있으며, 공간적 구조 정보에는 각각의 레이아웃에 대응되는 도 4에 도시된 테이블 인덱스가 삽입될 수 있다.As described above, the sub images of the input image can be arranged in various ways. Accordingly, the spatial structure information may separately include a table index for signaling the placement information. For example, as shown in FIG. 11, a virtual reality image may be transformed into Equation (ERP), Cubemap (CMP), Equal-area (EAP), Octahedron (OHP), Viewport generation using rectilinear projection ), Crasters Parabolic Projection for CPP-PSNR calculation, Truncated Square Pyramid (TSP), Segmented Sphere Projection (SSP), Adjusted Cubemap Projection (ACP) and Rotated Sphere Projection (RSP) The table index shown in Fig. 4 corresponding to each layout can be inserted.

보다 구체적으로, 각 공간적 구조 정보에 따라 360도에 대응하는 좌표계의 3차원 영상이 2차원 영상으로 투영(Projection)될 수 있다.More specifically, a three-dimensional image of a coordinate system corresponding to 360 degrees can be projected into a two-dimensional image according to each spatial structure information.

ERP는 360도 영상을 하나의 면(face)에 투영 변환하는 것으로, 2차원 이미지의 샘플링 위치에 대응하는 u, v 좌표계 위치 변환 및 상기 u, v 좌표계 위치에 대응하는 구(sphere)상의 경도와 위도 좌표 변환 처리를 포함할 수 있다. 이에 따라, 공간적 구조 정보는 ERP 인덱스와, 단일 면 정보(예를 들어 face index가 0으로 설정)를 포함할 수 있다.The ERP projects and transforms a 360-degree image onto one face. The ERP converts the position of the u, v coordinate system corresponding to the sampling position of the two-dimensional image and the hardness on the sphere corresponding to the u, v coordinate system position And latitude coordinate conversion processing. Accordingly, the spatial structure information may include an ERP index and single plane information (e.g., the face index is set to 0).

CMP는 360도 영상을 6개의 정육각형 면(face)에 투영하는 것으로, PX, PY, PZ, NX, NY, NZ(P는 positive, N은 negative를 나타냄)에 대응하는 각 면 인덱스(face index, f)에 투영된 서브 이미지들이 배치될 수 있다. 예를 들어 CMP영상의 경우, ERP 영상을 3 x 2 큐브맵 영상으로 변환된 영상을 포함할 수 있다.The CMP is a projection of a 360 degree image onto six regularly shaped faces and is a face index corresponding to PX, PY, PZ, NX, NY, and NZ (where P is positive and N is negative) f projected sub-images may be arranged. For example, in the case of a CMP image, an ERP image may be converted into a 3 x 2 cubemap image.

이에 따라, 공간적 구조 정보는 CMP 인덱스와, 서브 이미지에 대응하는 각 면 인덱스 정보가 포함될 수 있다. 후처리 장치(20)는 면 인덱스에 따라 서브 이미지상의 2차원 위치 정보를 처리하여, 3차원 좌표계에 대응되는 위치 정보를 산출하고, 이에 따른 3차원 360도 영상으로 역변환 출력할 수 있다.Accordingly, the spatial structure information may include a CMP index and each face index information corresponding to the subimage. The post-processing apparatus 20 processes the two-dimensional position information on the sub-image according to the plane index, calculates the position information corresponding to the three-dimensional coordinate system, and outputs the three-dimensional 360-degree image inversely.

ACP는 CMP와 같이 360도 영상을 6개의 정육각형 면(face)에 투영함에 있어서, 2차원으로의 투영 변환 및 3차원으로의 역변환에 각각 대응하여 3차원 굴곡 변형에 맞게 조정된 함수를 적용하는 것으로, 그 처리 함수는 상이하나, 이용되는 공간적 구조 정보는 ACP 인덱스와 서브 이미지별 면 인덱스 정보가 포함될 수 있다. 따라서, 후처리 장치(20)는 면 인덱스에 따라 서브 이미지상의 2차원 위치 정보를 조정된 함수에 따라 역변환 처리하여, 3차원 좌표계에 대응되는 위치 정보를 산출하고, 이에 따른 3차원 360도 영상으로 출력할 수 있다. ACP, like CMP, applies a function adjusted to three-dimensional bending deformation corresponding to two-dimensional projection transformation and three-dimensional inversion in projecting a 360-degree image onto six regular faces , The processing function is different, but the spatial structure information used may include ACP index and plane index information per sub-image. Accordingly, the post-processing apparatus 20 performs inverse transform processing of the two-dimensional position information on the sub image according to the adjusted index according to the surface index, calculates position information corresponding to the three-dimensional coordinate system, Can be output.

EAP는 ERP와 동일하게 하나의 면(face)에 투영되는 변환으로서, 2차원 이미지의 샘플링 위치에 즉시 대응하는 구(sphere)상의 경도와 위도 좌표 변환 처리를 포함할 수 있다. 공간적 구조 정보는 EAP 인덱스와 단일 면 정보를 포함할 수 있다.EAP is a transformation that is projected on one face like an ERP and can include latitude and latitude coordinate transformation processing on a sphere immediately corresponding to the sampling position of the two-dimensional image. The spatial structure information may include EAP indexes and single plane information.

OHP는 360도 영상을 8개의 정팔각형 면(face)에 6개의 꼭지점들(vertices) 을 이용하여 투영하는 것으로, 면 {F0, F1, F2, F3, F4, F5, F6, F7}과 꼭지점(V0, V1, V2, V3, V3, V4, V5)를 이용하여 투영된 서브 이미지들이 변환 영상에 배치될 수 있다.The OHP is used to project a 360 degree image onto six regular octagonal faces using six vertices, and the surfaces {F0, F1, F2, F3, F4, F5, F6, V0, V1, V2, V3, V3, V4, V5) may be arranged in the converted image.

이에 따라, 공간적 구조 정보는 OHP 인덱스와, 서브 이미지에 대응하는 각 면 인덱스(face index) 정보 및 상기 면 인덱스 정보에 매칭되는 하나 이상의 꼭지점(vertex) 인덱스 정보가 포함될 수 있다. 또한, 변환 영상의 서브 이미지 배치는 컴팩트한 경우와 컴팩트하지 않는 경우로 구분될 수 있다. 이에 따라, 공간적 구고 정보는 컴팩트 여부 식별 정보를 더 포함할 수 있다. 예를 들어, 컴팩트하지 않는 경우와, 컴팩트한 경우의 면 인덱스와 꼭지점 인덱스 매칭 정보 및 역변환 프로세스가 상이하게 결정될 수 있다. 예를 들어, 면 인덱스 4에는 컴팩트가 아닌 경우 꼭지점 인덱스 V0, V5, V1 로 매칭될 수 있으며, 컴팩트인 경우 V1, V0, V5로 다른 매칭이 처리될 수 있다.Accordingly, the spatial structure information may include an OHP index, face index information corresponding to the subimage, and one or more vertex index information matching the face index information. In addition, sub-image arrangement of the transformed image can be divided into a compact case and a non-compact case. Accordingly, the spatial highlight information may further include the compact or nonidentical identification information. For example, the case of not compact, and the case of compactness, the face index and the vertex index matching information and the inverse transformation process can be determined differently. For example, face indexes 4 may be matched with vertex indices V0, V5, and V1 if they are not compact, and other matches may be processed with V1, V0, and V5 when they are compact.

후처리 장치(20)는 면 인덱스 및 꼭지점 인덱스에 따라, 서브 이미지상의 2차원 위치 정보를 역변환 처리하여 3차원 좌표계에 대응되는 벡터 정보를 산출하고, 이에 따른 3차원 360도 영상으로 역변환 출력할 수 있다.The post-processing apparatus 20 performs inverse transform processing on the two-dimensional position information on the sub-image according to the plane index and the vertex index, calculates vector information corresponding to the three-dimensional coordinate system, and outputs the inverse- have.

ISP는 360도 영상을 20개의 면(face)과 12개의 꼭지점들(vertices) 을 이용하여 투영하는 것으로, 각 변환에 따른 서브 이미지들이 변환 영상에 배치될 수 있다. 공간적 구조 정보는 OHP와 유사하게 ISP 인덱스와, 면 인덱스, 꼭지점 인덱스, 컴팩트 식별 정보 중 적어도 하나를 포함할 수 있다.The ISP projects a 360 degree image using 20 faces and 12 vertices, and the sub images according to each transformation can be arranged in the transformed image. The spatial structure information may include at least one of an ISP index, a face index, a vertex index, and compact identification information, similar to the OHP.

SSP는 360도 영상의 구체를 북극, 적도 및 남극의 3개 세그먼트로 구분하여 처리하는 것으로, 북극 및 남극은 인덱스로 식별되는 두 개의 원으로 각각 매핑되며, 두 극 세그먼트간 모서리는 회색의 비활성 샘플로 처리되고, 적도는 ERP와 동일한 투영법이 이용될 수 있다. 이에 따라, 공간적 구조 정보는 SSP 인덱스와, 각 적도, 북극 및 남극 세그먼트에 대응하는 면 인덱스를 포함할 수 있다.The SSP divides the sphere of a 360 degree image into three segments: the North Pole, the Equator, and the Antarctic. The North and South poles are mapped to two circles identified by indexes, And the equatorial projection method identical to ERP can be used. Accordingly, the spatial structure information may include an SSP index and a face index corresponding to each equator, north pole and south pole segment.

RSP는 360도 영상의 구체를 두개의 동일한 크기의 구획으로 분할하고, 2차원 변환 영상에 상기 분할된 영상을 펼쳐 두개의 행으로 배치하는 방식을 포함할 수 있다. 그리고, RSP는 CMP와 유사한 3X2종횡비로서 6개의 면을 이용하여 상기 배치를 구현할 수 있다. 이에 따라, 변환 영상에는 상단 세그먼트의 제1 구획 영상과 하단 세그먼트의 제2 구획 영상이 포함될 수 있다. 공간적 구조 정보는 RSP 인덱스와 구획 영상 인덱스 및 면 인덱스 중 적어도 하나가 포함될 수 있다.The RSP may include a method of dividing a sphere of a 360-degree image into two equal-sized segments, and arranging the segmented images in two rows by unfolding the segmented images. And, the RSP can implement this arrangement using 6 sides as a 3X2 aspect ratio similar to CMP. Accordingly, the transformed image may include a first segment image of the upper segment and a second segment image of the lower segment. The spatial structure information may include at least one of an RSP index, a segment video index, and a face index.

TSP는 360도 영상을 6개의 큐브면으로 투영한 프레임을 잘린 사각형 피라미드의 면에 대응하여 변형 투영하는 방식을 포함할 수 있다. 이에 따라, 각 면에 대응하는 서브 이미지의 크기 및 형태가 모두 상이할 수 있다. 공간적 구조 정보는 TSP 식별 정보 및 면 인덱스 중 적어도 하나가 포함될 수 있다.The TSP may include a method of deforming and projecting a frame of a 360-degree image projected on six cube surfaces in correspondence with a surface of a truncated rectangular pyramid. Accordingly, the sizes and shapes of the sub images corresponding to the respective surfaces may be different from each other. The spatial structure information may include at least one of the TSP identification information and the face index.

Viewport generation using rectilinear projection은 360도 영상을 시각(viewing angle)을 Z 축으로 하여 투영된 2차원 영상으로 변환 획득하는 것으로, 공간적 구조 정보는 Viewport generation using rectilinear projection 인덱스 정보와, 시점을 나타내는 시각 포트(Viewport) 정보를 더 포함할 수 있다.한편, 공간적 구조 정보는 상기 영상 변환에 있어서 적용될 보간 필터 정보를 더 포함할 수 있다. 예를 들어, 보간 필터 정보는 각 투영 변환 방식에 따라 상이할 수 있으며, 최인접 필터(nearest neighbor), 바이리니어 필터, 바이큐빅 필터, Lanczos 필터 중 적어도 하나를 포함할 수 있다.Viewport generation using rectilinear projection transforms a 360-degree image into a projected two-dimensional image with a viewing angle as a Z-axis. The spatial structure information includes a viewport generation using rectilinear projection index information and a visual port The spatial structure information may further include interpolation filter information to be applied in the image transformation. For example, the interpolation filter information may differ depending on each projection transformation method, and may include at least one of a nearest neighbor, a bilinear filter, a bicubic filter, and a Lanczos filter.

한편, 전처리 변환 및 후처리 역변환의 처리 성능 평가를 위한 변환 방식 및 그 인덱스가 별도 정의될 수 있다. 예를 들어, 성능 평가는 전처리 장치(10)에서 전처리 방식을 결정하기 위해 이용될 수 있으며, 그 방식으로는 서로 다른 두 변환 영상을 CPP(Crasters Parablic Projection) 도메인으로 변환하여 PSNR 을 측정하는 CPP 방식이 예시될 수 있다.On the other hand, the conversion method and the index for evaluating the processing performance of the preprocessing conversion and post-processing inverse conversion can be separately defined. For example, the performance evaluation can be used to determine the preprocessing method in the preprocessor 10. In this method, a CPP (CPPR) method for converting two different transformed images into a Crasters Parallel Projection (CPP) Can be illustrated.

다만, 도 4에 도시된 테이블은 입력 영상에 따라 임의적으로 배치된 것으로, 부호화 효율 및 시장의 컨텐츠 분포 등에 따라 변경될 수 있다.However, the table shown in FIG. 4 is arbitrarily arranged according to the input image, and can be changed according to the coding efficiency, the content distribution of the market, and the like.

이에 따라, 복호화 장치(200)는 별도 시그널링되는 테이블 인덱스를 파싱하여, 복호화 처리에 이용할 수 있다.Accordingly, the decoding apparatus 200 can parse the separately signaled table index and use it for decoding processing.

특히, 본 발명의 실시 예에서 상기 각 레이아웃 정보는 영상의 일부 복호화에 유용하게 이용될 수 있다. 즉 CUBIC LAYOUT과 같은 서브 이미지 배치 정보는 독립적 서브 이미지와 의존적 서브 이미지를 구분하는데 이용 수 있으며 이에 따라 효율적인 부호화 및 복호화 스캐닝 순서를 결정하거나, 특정 시점에 대한 일부 복호화를 수행하는데 이용될 수도 있다.Particularly, in the embodiment of the present invention, each of the layout information can be usefully used for partial decoding of an image. That is, sub-image layout information such as CUBIC LAYOUT can be used to distinguish between independent sub-images and dependent sub-images, thereby determining an efficient encoding and decoding scanning sequence, or performing partial decoding for a specific time.

도 5 내지 도 7은 본 발명의 실시 예에 따른 360도 가상 현실 영상의 부호화 프로세스를 도시한 도면이다.5 to 7 are views illustrating a process of encoding a 360-degree virtual reality image according to an embodiment of the present invention.

본 발명의 실시 예에 따르면, 본 발명의 실시 예에 따른 전처리 장치(10) 또는 부호화 장치(100)는 360 영상 포맷 변환 처리 및 영상 예측처리 중 적어도 하나를 수행할 수 있다.According to the embodiment of the present invention, the preprocessing apparatus 10 or the encoding apparatus 100 according to the embodiment of the present invention can perform at least one of 360 image format conversion processing and image prediction processing.

보다 구체적으로, 카메라로 획득한 360 영상은 전처리 장치(10)를 통해 부호화를 위한 ERP 등과 같은 다양한 포맷으로 변환된다. 변환된 2D 영상은 부호화 장치(100)를 통한 부호화를 통해 압축된 영상을 생성하게 된다.More specifically, the 360 images acquired by the camera are converted into various formats such as ERP for encoding through the preprocessing device 10. [ The converted 2D image is encoded through the encoding apparatus 100 to generate a compressed image.

360 영상의 일부 포맷은 활성 영역과 비활성 영역으로 나누어진다. 비활성 영역은 원본 영상과 관계없이 표현가능 비트의 중간값으로 채워진다. 이는 활성영역에 대해 화면내 예측 혹은 화면간 예측을 할 때 주변영상과 상관성이 떨어지는 화소로 예측을 하게 됨으로써 부호화 효율이 떨어진다. 따라서 효율적으로 비활성 영역을 구성하는 기법이 요구된다.Some formats of the 360 image are divided into an active area and an inactive area. The inactive area is filled with the intermediate value of the expressible bit irrespective of the original image. This leads to a reduction in the coding efficiency due to prediction with intra-picture prediction or inter-picture prediction with respect to the active area, which is less correlated with the surrounding image. Therefore, a technique for constructing inactive regions efficiently is required.

즉, 부호화 장치(100)는 활성 영역과 상관성이 떨어지는 비활성영역의 화소로 부호화를 수행하기 때문에 비효율적인 부호화가 수행된다.In other words, since the encoding apparatus 100 performs encoding with pixels in an inactive region having a low correlation with the active region, inefficient encoding is performed.

따라서, 본 발명의 실시 예에 따르면, 전처리 장치(10)는 비활성 영역을 주변영상과 상관성을 갖는 적절한 화소로 패딩함으로서 보다 효율적인 예측을 수행할 수 있도록 한다. 그 방법은 아래와 같이 예시될 수 있다.Therefore, according to the embodiment of the present invention, the preprocessing apparatus 10 can perform more efficient prediction by padding the inactive area with an appropriate pixel having correlation with the surrounding image. The method can be illustrated as follows.

방법 1: 활성영역의 경계 화소를 이용한 패딩Method 1: Padding using boundary pixels of active region

방법 2: 활성영역의 보간 화소를 이용한 패딩Method 2: Padding using the interpolation pixel of the active area

방법 3: 활성영역의 평균 화소를 이용한 패딩Method 3: Padding using the average pixel of the active area

방법 4: 방법 1, 2, 3 중 어느 하나를 이용한 영상 예측 단계에서 DPB(Decoded Picture Buffer) 내 저장되는 참조 픽처에 대한 패딩Method 4: Padding for a reference picture stored in a DPB (Decoded Picture Buffer) in an image prediction step using any one of the methods 1, 2,

상기 방법들에 의해, 비활성 영역을 주변영상과의 상관성을 이용하여 채움으로서 예측 단계에서 보다 정확한 예측을 통하여 부호화 효율을 높일 수 있다. 예를 들어, 직사각형으로 투영된 영상의 경계에 해당하는 화소를 평균하여 비활성 영역을 채우면, 추가적인 영상 정보를 표현하는 비트를 최소화하되 비활성영역과 활성영역의 상관성이 커져 효율적인 예측이 가능해진다. According to the above methods, the coding efficiency can be improved through more accurate prediction in the prediction step by filling the inactive area with the correlation with the surrounding image. For example, when the pixels corresponding to the boundaries of the image projected in the rectangle are averaged to fill in the inactive region, the bit representing the additional image information is minimized, but the correlation between the inactive region and the active region becomes large and efficient prediction becomes possible.

또한, 본 발명은 상기 방법 1 내지 방법 4 이외에도 하나 이상의 다른 패딩 방법이 적용됨으로서, 주변영상과의 상관성을 갖는 적절한 화소로 패딩될 수 있으며, 본 발명이 상기 방법 1 내지 4로만 제한되는 것은 아니다.Further, the present invention can be padded with an appropriate pixel having a correlation with a surrounding image by applying one or more other padding methods in addition to the methods 1 to 4, and the present invention is not limited to the methods 1 to 4 described above.

도 6은 본 발명의 제1 실시 예에 따른 가상 현실 영상의 부호화 및 복호화 프로세스를 처리하기 위한 영상 포맷 변환부의 구성을 보다 구체적으로 도시한 것이다.6 is a block diagram illustrating a configuration of an image format conversion unit for processing a process of encoding and decoding a virtual reality image according to a first embodiment of the present invention.

본 발명의 실시 예에 따른 패딩 프로세스는 도 6에 도시된 바와 같이, 영상 포맷 변환부(11)의 영상 포맷 변환 처리에 의해 수행될 수 있다.The padding process according to the embodiment of the present invention may be performed by the image format conversion process of the image format conversion unit 11 as shown in FIG.

이를 위해, 영상 포맷 변환부(11)는 변환 포맷 선택부(11a), 비활성 영역 포맷 결정부(11b) 및 비활성 영역 패딩부(11c)를 포함한다.To this end, the image format conversion unit 11 includes a conversion format selection unit 11a, an inactive area format determination unit 11b, and an inactive area padding unit 11c.

먼저, 변환 포맷 선택부(11a)는 가상 현실 영상의 영상 정보에 대응하는 변환 포맷을 선택한다.First, the conversion format selection unit 11a selects a conversion format corresponding to the video information of the virtual reality image.

그리고, 비활성 영역 포맷 결정부(11b)는, 선택된 포맷에 대한 비활성 영역 존재 포맷을 식별한다.Then, the inactive area format determination unit 11b identifies the inactive area presence format for the selected format.

또한, 비활성 영역 패딩부(11c)는 비활성 영역 포맷이 식별된 경우, 활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소 중 선택되는 적어도 하나의 값으로 비활성 영역에 대한 패딩 처리를 수행한다.In addition, when the inactive area format is identified, the inactive area padding unit 11c performs a padding process on the inactive area with at least one value selected from the active area boundary pixels, the active area interpolation pixels, and the active area average pixels.

또한, 본 발명의 실시 예에 따른 패딩 프로세스는 상기 활성 영역 경계 화소, 활성 영역 보간 화소 및 활성 영역 평균 화소뿐 만아니라, 또 다른 다양한 패딩 프로세스에 따른 처리를 더 포함함으로써, 비활성 영역에 대해 주변영상과의 상관성을 갖는 적절한 화소를 패딩할 수 있다.In addition, the padding process according to the embodiment of the present invention further includes not only the active area boundary pixel, the active area interpolation pixel, and the active area average pixel but also processes according to various other padding processes, It is possible to paddle an appropriate pixel having a correlation with the pixel.

이러한 영상 포맷 변환부(11)는 전처리부(10)에 포함되는 것이 예시될 수 있으며, 패딩 처리된 영상은 부호화 장치(100) 또는 복호화 장치(200)에서 부호화 또는 복호화 처리될 수 있다.The image format converting unit 11 may be included in the preprocessing unit 10 and the padding processed image may be encoded or decoded in the encoding apparatus 100 or the decoding apparatus 200. [

보다 구체적으로, 영상 포맷 변환부(11)의 변환 포맷 선택부(11a)는, 360 영상 포맷 변환 및 360도 영상을 부호화함에 있어서, ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP, RSP 등 여러가지 포맷 중 적어도 한가지를 변환 포맷으로서 선택할 수 있다.The conversion format selection unit 11a of the image format conversion unit 11 converts the 360 image format and the 360-degree image into the image data of the 360-image format, such as ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP, RSP, and the like can be selected as the conversion format.

선택된 변환 포맷은 비활성 영역이 존재하는 포맷(SSP, RSP 등)와 비활성 영역이 존재하지 않는 포맷(ERP, CMP 등)으로 구분될 수 있다.The selected conversion format can be classified into a format in which the inactive area exists (SSP, RSP, etc.) and a format in which the inactive area does not exist (ERP, CMP, etc.).

특히, 비활성 영역이 존재하는 포맷(SSP, RSP)으로 변환된 경우 영상 포맷 변환부(11)는 비활성 영역 포맷 결정부(11b) 및 비활성 영역 패딩부(11c)를 통해, 부호화 효율을 높이기 위해 주변영상과의 상관성을 이용하여, 하나 이상의 다양한 패딩 방법(활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소, 기타 알려진 패딩 프로세스 등)으로 비활성 영역을 패딩 할 수 있다.In particular, when the non-active region is converted into the format (SSP, RSP) in which the non-active region exists, the image format conversion unit 11 converts the non- Using the correlation with the image, the inactive area can be padded with one or more various padding methods (active area boundary pixels, active area interpolation pixels, active area average pixels, other known padding processes, etc.).

여기서, 비활성 영역 포맷 결정부(11b)는 상기 비활성 영역을 패딩하는데 있어, 활성 영역의 화소를 이용할 수 있다.Here, the inactive area format determination unit 11b can use the pixels of the active area in padding the inactive area.

예를 들어, 도 5를 참조하면, 도 5는 비활성 영역이 존재하는 포맷(SSP, RSP)를 나타내며, 초록색 선분과 빨간색 선분은 360도 영상에서 활성 영역의 화소를 의미할 수 있다. 도 5의 초록색 선분과 빨간색 선분은 맞닿는 부분을 의미할 수 있으며, 이에 기반하여 비활성 영역 패딩부(11c)는, 아래와 같은 패딩 처리를 수행할 수 있다.For example, referring to FIG. 5, FIG. 5 illustrates a format (SSP, RSP) in which an inactive area exists, and a green line segment and a red line segment may denote a pixel of an active area in a 360 degree image. The green line segment and the red line segment in FIG. 5 may be in contact with each other, and based on this, the inactive area padding unit 11c can perform the following padding process.

- 활성 영역 경계 화소를 이용한 패딩- padding using active area boundary pixels

예를 들어, 영상 포맷 변환부(11)의 비활성 영역 패딩부(11c)는 도 5의 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)로, 비활성 영역(103, 그레이 영역)을 패딩 처리할 수 있다. 패딩은 가로, 세로, 대각선 등 다방향으로, 대응하는 경계 화소를 복사하여 수행하는 것이 예시될 수 있다.For example, the inactive area padding unit 11c of the image format conversion unit 11 includes a first pixel 101 corresponding to the upper and lower active region boundaries in FIG. 5, a second pixel 102 ), The non-active region 103 (gray region) can be padded. The padding may be performed by copying corresponding boundary pixels in multiple directions such as horizontal, vertical, and diagonal lines.

- 활성 영역 보간 화소를 이용한 패딩- Padding using active area interpolation pixel

예를 들어, 비활성 영역 패딩부(11c)에 의해, 비활성 영역(103)은 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)로부터 보간되어 생성되는 화소로 패딩 될 수 있다. 보간 방법은 선형 보간법 등 다양한 방법이 이용될 수 있다.For example, the non-active region 103 is divided into the inactive region 103 by the first pixel 101 corresponding to the upper and lower active region boundaries and the second pixel 102 corresponding to the circular active boundary by the inactive region padding portion 11c. So that the pixel can be padded with the generated pixel. Various methods such as linear interpolation can be used as the interpolation method.

- 활성 영역 평균 화소를 이용한 패딩- Padding using active area average pixels

예를 들어, 비활성 영역(103)은 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)의 평균으로 패딩 될 수 있다. 예를 들어, 영상 포맷 변환부(11)는 비활성 영역(103)을 8개의 영역으로 분할하고, 각 영역에 맞닿는 제1 화소(101) 또는 제2 화소(102)의 평균 값으로 패딩할 수 있다.For example, the inactive region 103 may be padded with an average of the first pixel 101 corresponding to the upper and lower active region boundaries and the second pixel 102 corresponding to the circular active boundary. For example, the image format conversion unit 11 may divide the inactive area 103 into eight areas and may padd the average value of the first pixel 101 or the second pixel 102 in contact with each area .

- 활성 영역 일부 화소를 이용한 패딩- padding using some pixels in the active area

비활성 영역 패딩부(11c)는 활성영역 경계의 한 라인의 화소만 이용하는 것만이 아니라, 그 경계 영역일부 혹은 비활성 영역을 채울 수 있을 만큼의 부분 화소를 획득하고, 이를 이용하여 패딩할 수 있다.The non-active region padding portion 11c can obtain not only the pixels of one line of the active region boundary, but also partial pixels sufficient to fill a part of the boundary region or the non-active region, and padding can be performed using the partial pixels.

예를 들어, 비활성 영역(103)은 활성영역의 일부(예를 들어, 경계 영역의 제1 화소(101)를 포함하는 점선 범위 영역)를 이용하여 전체가 패딩 될 수 있다.For example, the inactive area 103 may be entirely padded using a portion of the active area (e.g., the area of the dotted line area including the first pixel 101 of the boundary area).

예를 들어, 비활성 영역(103)은 활성영역의 일부(경계 영역의 제1 화소(101)를 포함하는 점선 범위 영역)을 이용하여 일부가 패딩 될 수 있다.For example, the inactive area 103 can be partially padded using a part of the active area (a dotted line area including the first pixel 101 of the boundary area).

이와 같은 처리에 따라, 패딩된 영상 정보는 부호화 장치(100) 또는 복호화 장치(200)에서 부호화 또는 복호화 처리될 수 있다.According to this process, the padded image information can be encoded or decoded in the encoding apparatus 100 or the decoding apparatus 200. [

이를 위해, 본 발명의 실시 예에 따른 영상 포맷 변환부(11)는 영상 포맷 변환에 있어서, 변환 포맷이 선택되면, 선택된 포맷에 대한 비활성 영역 존재 포맷을 식별하여 이에 대한 정보를 시그널링할 수 있다.To this end, in the image format conversion unit 11 according to the embodiment of the present invention, when the conversion format is selected, the inactive area presence format for the selected format can be identified and the information on the inactive area existence format can be signaled.

도 7은 본 발명의 제2 실시 예에 따른 가상 현실 영상의 부호화 및 복호화 프로세스를 도시한 것이다.FIG. 7 illustrates a process of encoding and decoding a virtual reality image according to a second embodiment of the present invention.

부호화 장치(100) 또는 복호화 장치(200)에서, 화면 간 예측 부호화 또는 복호화를 처리함에 있어서, 패딩 기반 영상 예측부(21)는 영상 포맷에 따라, 패딩 기반의 화면 간 예측 복호화 처리를 수행할 수 있다.In processing the inter picture prediction coding or decoding in the coding apparatus 100 or the decoding apparatus 200, the padding-based image predicting unit 21 may perform padding-based inter picture prediction decoding processing according to the image format have.

이를 위해, 패딩 기반 영상 예측부(21)는, 영상 포맷 변환부(11)로부터 시그널링된 변환 포맷 정보에 따라, 예측 수행 방식을 결정하며, 이에 대응하는 참조 픽쳐를 구성하되, 비활성 영역에 대한 패딩 처리를 수행함으로써, 패딩된 참조 픽처 기반의 예측 수행을 처리할 수 있다.To this end, the padding-based image predicting unit 21 determines a prediction performing method according to the converted format information signaled from the image format converting unit 11 and forms a reference picture corresponding thereto, By performing the processing, padded reference picture-based prediction can be performed.

보다 구체적으로, 패딩 기반 영상 예측부(21)는, 예측 수행 결정부(21a), 참조 픽쳐 구성부(21b), 비활성 영역 패딩부(21c) 및 패딩 기반 예측 수행부(21b)를 포함한다.More specifically, the padding-based image predicting unit 21 includes a prediction performing determiner 21a, a reference picture constructing unit 21b, an inactive area padding unit 21c, and a padding-based prediction performing unit 21b.

예측 수행 결정부(21a)는, 영상 포맷 변환부(11)로부터 시그널링된 비활성 영역 존재 포맷이 식별된 경우, 화면 내 예측 또는 화면 간 예측 수행여부를 식별하여 수행될 예측방식을 결정한다.The predictive performance determination unit 21a determines whether the intra-picture prediction or the inter-picture prediction is performed when the signaled inactive area presence format signaled from the video format conversion unit 11 is identified, thereby determining a prediction scheme to be performed.

그리고, 참조 픽쳐 구성부(21b)는, 화면 간 예측으로 결정된 경우, 화면 간 예측을 위한 DPB(decoded picture buffer)의 참조 픽처를 구성하되, 비활성 영역 패딩부(21c)를 통해, 활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소 중 선택되는 적어도 하나의 값으로 비활성 영역에 대한 패딩 처리를 수행하여, 패딩된 참조 픽처를 이용한 DPB를 구성할 수 있다.When the inter-picture prediction is determined, the reference picture composing unit 21b forms a reference picture of DPB (decoded picture buffer) for inter-picture prediction, , The active area interpolation pixel, and the active area average pixel to perform the padding process on the inactive area, thereby configuring the DPB using the padded reference picture.

이후, 패딩 기반 예측 수행부(21d)는, 패딩된 참조 픽처를 이용한 화면 간 또는 화면 내 예측 처리를 수행할 수 있다.Thereafter, the padding-based prediction performing unit 21d can perform intra-picture or intra-picture prediction using padded reference pictures.

보다 구체적으로, 패딩 기반 화면 간 예측 수행부(21d)는, 부호화 장치(100) 또는 복호화 장치(200)는의 영상 예측 부호화 및 복호화에 있어서, 비활성 영역이 존재하는 포맷으로 변환된 360도 영상에 대한 화면 간 예측 부호화 및 복호화 처리를 수행할 수 있다.More specifically, the padding-based inter-picture prediction performing unit 21d performs the padding-based inter picture prediction on the 360-degree picture converted into the format in which the inactive area exists in the picture coding / decoding of the coding apparatus 100 or the decoding apparatus 200 The inter picture prediction encoding and decoding process can be performed.

영상 예측에 있어서는 화면 내 예측, 화면 간 예측 중 적어도 한가지가 이용될 수 있다. In image prediction, at least one of intra-picture prediction and inter-picture prediction may be used.

특히, 본 발명의 실시 예에 따른 참조 픽쳐 구성부(21b)는, 화면 간 예측을 위한 DPB내 참조 픽처를 구성하는데 있어, 예측 효율을 높이기 위해 주변영상의 상관성을 이용하여 여러 방법(활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소)으로 비활성 영역을 패딩하여 DPB내의 참조 픽처를 구성할 수 있다.Particularly, in the reference picture constructing unit 21b according to the embodiment of the present invention, in constructing a reference picture in a DPB for inter-picture prediction, in order to increase the prediction efficiency, the reference picture constructing unit 21b uses various methods Pixels, an active area interpolation pixel, and an active area average pixel), the reference picture in the DPB can be constructed by padding the inactive area.

패딩 기반 영상 예측부에서 상기 비활성 영역을 패딩하는데 있어, 활성 영역의 화소를 이용할 수 있으며, 패딩 방식은 아래외 같이 예시될 수 있다.In the padding-based image predicting unit, pixels of the active region may be used for padding the inactive region, and the padding scheme may be exemplified as follows.

- 활성 영역 경계 화소를 이용한 패딩- padding using active area boundary pixels

*예를 들어, 영상 포맷 변환부(11)의 비활성 영역 패딩부(11c)는 도 5의 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)로, 비활성 영역(103, 그레이 영역)을 패딩 처리할 수 있다. 패딩은 가로, 세로, 대각선 등 다방향으로, 대응하는 경계 화소를 복사하여 수행하는 것이 예시될 수 있다.For example, the inactive area padding unit 11c of the image format conversion unit 11 may include a first pixel 101 corresponding to the upper and lower active region boundaries in FIG. 5, a second pixel 101 corresponding to the circular active edge boundary 102), the non-active region 103 (gray region) can be padded. The padding may be performed by copying corresponding boundary pixels in multiple directions such as horizontal, vertical, and diagonal lines.

- 활성 영역 보간 화소를 이용한 패딩- Padding using active area interpolation pixel

예를 들어, 비활성 영역 패딩부(11c)에 의해, 비활성 영역(103)은 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)로부터 보간되어 생성되는 화소로 패딩 될 수 있다. 보간 방법은 선형 보간법 등 다양한 방법이 이용될 수 있다.For example, the non-active region 103 is divided into the inactive region 103 by the first pixel 101 corresponding to the upper and lower active region boundaries and the second pixel 102 corresponding to the circular active boundary by the inactive region padding portion 11c. So that the pixel can be padded with the generated pixel. Various methods such as linear interpolation can be used as the interpolation method.

- 활성 영역 평균 화소를 이용한 패딩- Padding using active area average pixels

*예를 들어, 비활성 영역(103)은 상하단 활성 영역 경계에 해당하는 제1 화소(101)와, 원형 활성 영영 경계에 해당하는 제2 화소(102)의 평균으로 패딩 될 수 있다. 예를 들어, 영상 포맷 변환부(11)는 비활성 영역(103)을 8개의 영역으로 분할하고, 각 영역에 맞닿는 제1 화소(101) 또는 제2 화소(102)의 평균 값으로 패딩할 수 있다.For example, the inactive region 103 may be padded with an average of the first pixel 101 corresponding to the upper and lower active region boundaries and the second pixel 102 corresponding to the circular active boundaries. For example, the image format conversion unit 11 may divide the inactive area 103 into eight areas and may padd the average value of the first pixel 101 or the second pixel 102 in contact with each area .

- 활성 영역 일부 화소를 이용한 패딩- padding using some pixels in the active area

비활성 영역 패딩부(11c)는 활성영역 경계의 한 라인의 화소만 이용하는 것만이 아니라, 그 경계 영역일부 혹은 비활성 영역을 채울 수 있을 만큼의 부분 화소를 획득하고, 이를 이용하여 패딩할 수 있다.The non-active region padding portion 11c can obtain not only the pixels of one line of the active region boundary, but also partial pixels sufficient to fill a part of the boundary region or the non-active region, and padding can be performed using the partial pixels.

예를 들어, 비활성 영역(103)은 활성영역의 일부(예를 들어, 경계 영역의 제1 화소(101)를 포함하는 점선 범위 영역)를 이용하여 전체가 패딩 될 수 있다.For example, the inactive area 103 may be entirely padded using a portion of the active area (e.g., the area of the dotted line area including the first pixel 101 of the boundary area).

예를 들어, 비활성 영역(103)은 활성영역의 일부(경계 영역의 제1 화소(101)를 포함하는 점선 범위 영역)을 이용하여 일부가 패딩 될 수 있다.For example, the inactive area 103 can be partially padded using a part of the active area (a dotted line area including the first pixel 101 of the boundary area).

이와 같은 처리에 따라, 패딩된 영상 정보는 참조 픽처로 구성되어 부호화 장치(100) 또는 복호화 장치(200)에서 부호화 또는 복호화 처리에 이용될 수 있다.According to such a process, the padded image information is composed of reference pictures and can be used in the encoding apparatus 100 or the decoding apparatus 200 for encoding or decoding processing.

도 8은 본 발명의 다른 일 실시 예에 따른 복호화 방법을 설명하기 위한 도면이다.8 is a diagram for explaining a decoding method according to another embodiment of the present invention.

*도 8을 참조하면, 본 발명의 실시 예에 따른 복호화 장치(200)는 영상의 압축된 비트스트림이 수신되면(S101), 영상 정보를 복호화하고(S103), 복호화 영상의 타입을 분석하여(105), 복호화 영상이 비활성화 영상을 포함하는지 판단(S107)할 수 있다.8, a decoding apparatus 200 according to an embodiment of the present invention decodes image information (S103) when a compressed bitstream of an image is received (S101), analyzes the type of the decoded image 105), and determines whether the decoded image includes an inactive image (S107).

판단 결과 비활성화 영상을 포함되는 경우, 복호화 장치(200)는 화면 간 예측 복호화 수행 시, 패딩 기반 영상 예측부(21)를 통해, 비활성화 영역에 대한 패딩을 적용하여, 이후의 패딩 기반 예측 복호화를 수행할 수 있다(S109).As a result of the determination, when the inactive image is included, the decoding apparatus 200 applies the padding for the inactive area through the padding-based image predicting unit 21 to perform the following padding-based predictive decoding (S109).

한편, 비활성화 영상이 포함되지 않는 경우, 복호화 장치(200)는 통상의 화면 간 예측 복호화를 수행할 수 있다(S111).On the other hand, if the inactive image is not included, the decoding apparatus 200 can perform normal inter-picture prediction decoding (S111).

이와 같은, 가상 현실 영상에 대한 복호화를 수행함에 있어, 변환 포맷(Conversion format)에 대응하는 공간적 구조 정보는 Slice / Picture / Video 등의 Header syntax 또는 SEI MSG를 통해 복호화 장치(200)로 전달될 수 있다.In performing such decoding of the virtual reality image, the spatial structure information corresponding to the conversion format may be transmitted to the decoding apparatus 200 through Header syntax such as Slice / Picture / Video or SEI MSG have.

이에 따라, 각 패딩 처리에 대응하는 별도의 Signaling 없이도, 복호화 장치(200)는 공간적 구조 정보의 Conversion format 여부에 따라 비활성 영역의 존재 여부를 판단할 수 있다.Accordingly, even without signaling corresponding to each padding process, the decoding apparatus 200 can determine whether there is an inactive area according to the conversion format of the spatial structure information.

따라서, 복호화 장치(200)는 비활성 영역이 존재하는 영상일 경우, 화면 간 예측에서의 영상 복호화 수행 시(MC 단계) 비활성 영역에 대한 패딩을 선택적으로 수행할 수 있게 된다.Accordingly, the decoding apparatus 200 can selectively perform padding with respect to the inactive area when performing the image decoding in the inter-picture prediction (MC step) when the inactive area exists.

도 9 내지 도 10은 본 발명의 다른 실시 예에 따른 부호화 및 복호화 처리를 설명하기 위한 도면들이다.9 to 10 are diagrams for explaining encoding and decoding processing according to another embodiment of the present invention.

도 9에 도시된 바와 같이, 본 발명의 실시 예에 따른 패딩 프로세스를 처리하는 영상 포맷 변환부(11)는, 전술한 비활성 영역에 대응하는 비활성 영역 패딩부(11c)에 연결되어, 패딩된 비활성 영역과 기존 활성 영역간 블렌딩 처리를 수행하는 블렌딩 처리부(11d)를 더 포함한다.9, the image format conversion unit 11 for processing the padding process according to the embodiment of the present invention is connected to the inactive area padding unit 11c corresponding to the inactive area described above, And a blending processing unit 11d for performing a blending process between the area and the existing active area.

이에 따라, 도 9에 도시된 바와 같이, 먼저, 영상 포맷 변환부(11)의 영상 포맷 변환에 있어서, 변환 포맷 선택부(11a)가 변환 포맷을 선택하면, 비활성 영역 포맷 결정부(11b)가 선택된 포맷에 대한 비활성 영역 존재 포맷을 식별하고, 비활성 영역 포맷이 식별된 경우, 비활성 영역 패딩부(11c)가 활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소 중 선택되는 적어도 하나의 값으로 비활성 영역에 대한 패딩 처리를 수행한다.9, first, in the video format conversion of the video format conversion unit 11, when the conversion format selection unit 11a selects the conversion format, the inactive area format determination unit 11b selects The non-active area padding unit 11c identifies the inactive area presence format for the selected format, and if the inactive area format is identified, the inactive area padding unit 11c selects at least one of the active area boundary pixels, the active area interpolation pixels, And performs padding processing for the inactive area.

또한, 본 발명의 실시 예에 따른 패딩 프로세스는 상기 활성 영역 경계 화소, 활성 영역 보간 화소 및 활성 영역 평균 화소뿐 만아니라, 또 다른 다양한 패딩 프로세스에 따른 처리를 더 포함함으로써, 비활성 영역에 대해 주변영상과의 상관성을 갖는 적절한 화소를 패딩할 수 있다.In addition, the padding process according to the embodiment of the present invention further includes not only the active area boundary pixel, the active area interpolation pixel, and the active area average pixel but also processes according to various other padding processes, It is possible to paddle an appropriate pixel having a correlation with the pixel.

그리고, 블렌딩 처리부(11d)는, 앞서 패딩된 비활성 영역과, 기존 존재하는 영역간의 블렌딩 처리를 수행함으로써, 발생되는 불연속 경계를 완화시킬 수 있다.Then, the blending processing unit 11d can alleviate the discontinuous boundary generated by performing the blending process between the previously padded inactive area and the existing area.

이러한 영상 포맷 변환부(11)는 전처리부(10)에 포함되는 것이 예시될 수 있으며, 패딩 처리된 영상은 부호화 장치(100) 또는 복호화 장치(200)에서 부호화 또는 복호화 처리될 수 있다.The image format converting unit 11 may be included in the preprocessing unit 10 and the padding processed image may be encoded or decoded in the encoding apparatus 100 or the decoding apparatus 200. [

보다 구체적으로, 전술한 바와 같이, 영상 포맷 변환부(11)는 360 영상 포맷 변환 및 360도 영상을 부호화함에 있어서, ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP, RSP 등 여러가지 포맷 중 적어도 한가지를 선택하여 이용할 수 있다.More specifically, as described above, the image format conversion unit 11 converts various image formats such as ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP, RSP Can be selected and used.

선택된 변환 포맷은 비활성 영역이 존재하는 포맷(SSP, RSP 등)와 비활성 영역이 존재하지 않는 포맷(ERP, CMP 등)으로 구분될 수 있다. 비활성 영역이 존재하는 포맷(SSP, RSP)으로 변환된 경우 영상 포맷 변환부(11)는 부호화 효율을 높이기 위해 주변영상과의 상관성을 이용하여 하나 이상의 다양한 방법(활성 영역 경계 화소, 활성 영역 보간 화소, 활성 영역 평균 화소, 기타 패딩 프로세스 등)으로 비활성 영역을 패딩 할 수 있다.The selected conversion format can be classified into a format in which the inactive area exists (SSP, RSP, etc.) and a format in which the inactive area does not exist (ERP, CMP, etc.). (SSP, RSP) in which an inactive area exists, the image format conversion unit 11 converts one or more various methods (active region boundary pixels, active region interpolation pixels , Active area average pixel, other padding process, etc.).

특히, 영상 포맷 변환부(11)는 상기 비활성 영역을 패딩하는데 있어, 활성 영역의 화소를 이용할 수 있으며, 패딩된 비활성 영역과 기존 영역간 경계 영역은 블렌딩 처리부(11d)의 블렌딩 처리를 통해 차이가 완화될 수 있다. 패딩 프로세스에 대하여는 도 6에서 설명된 바와 동일하므로 생략하도록 한다.Particularly, in padding the inactive area, the image format conversion part 11 can use the pixels of the active area. The padded inactive area and the existing boundary area are blended by the blending processing part 11d, . The padding process is the same as that described with reference to FIG.

보다 구체적으로, 블렌딩 처리부(11d)는 패딩된 비활성 영역을 기존 존재한 영역과의 블렌딩 처리함으로써, 불연속경계를 완화시킬 수 있다.More specifically, the blending processing unit 11d can alleviate the discontinuous boundary by blending the padded inactive area with the existing area.

앞서 도 6에서 설명된 바와 같이, 비활성 영역 패딩에 의해 패딩된 영역은 기존에 존재하는 영역과의 블렌딩을 통해 불연속경계를 완화시킬 수 있으며, 블렌딩 처리부는 이를 위한 블렌딩 처리를 수행할 수 있다.As described above with reference to FIG. 6, the padded area by the inactive area padding can alleviate the discontinuous boundary through blending with the existing area, and the blending processing part can perform the blending processing for it.

블렌딩 처리부(11d)는 예를 들어, x축 블렌딩, y축 블렌딩, xy 축 블렌딩 중 적어도 하나를 포함하는 다양항 블렌딩 처리를 수행할 수 있다.The blending processing unit 11d may perform a variety of blending operations including at least one of x-axis blending, y-axis blending, and xy-axis blending, for example.

또한, 블렌딩 처리부(11d)는 거리비례, 합성곱, 저대역통과필터 중 적어도 하나를 변수로 이용하는 블렌딩 처리를 복합적으로 수행할 수도 있다.In addition, the blending processing unit 11d may perform a blending process using at least one of distance proportional, convolution, and low-pass filters as a variable.

한편, 도 10을 참조하면 본 발명의 실시 예에 따른 패딩 기반 영상 예측부(21) 또한, 블렌딩 처리부(21e)를 더 포함할 수 있다.Referring to FIG. 10, the padding-based image predicting unit 21 according to the embodiment of the present invention may further include a blending processing unit 21e.

즉, 패딩 기반 영상 예측부(21)는 전술한 바와 같이, 예측 수행에 따라 선택된 하나 이상의 패딩 방법을 사용하여 패딩된 참조 픽처를 구성할 수 있으며, 패딩된 참조 픽처에 대응하는 블렌딩 처리를 더 수행할 수 있다.That is, as described above, the padding-based image predicting unit 21 can construct a padded reference picture using at least one padding method selected according to the prediction, and further performs a blending process corresponding to the padded reference picture can do.

이에 따라, DPB 내 참조 픽처가 구성되면, 패딩된 비활성 영역과 기존 영역간 경계 영역은 블렌딩 처리부(21e)의 블렌딩 처리를 통해 차이가 완화될 수 있다. 패딩 프로세스 및 화면 간 예측 수행에 대하여는 도 7에서 설명된 바와 동일하므로 생략하도록 한다.Accordingly, when the reference picture in the DPB is constructed, the difference between the padded inactive area and the existing boundary boundary area can be alleviated through the blending processing of the blending processing part 21e. The padding process and the inter-picture prediction are performed in the same manner as described with reference to FIG.

보다 구체적으로, 블렌딩 처리부(21e)의 블렌딩 처리는 패딩된 비활성 영역은 기존 존재한 영역과의 블렌딩으로 불연속경계를 완화시킬 수 있다.More specifically, the blending processing of the blending processing unit 21e can alleviate the discontinuous boundary by blending the padded inactive region with existing regions.

앞서 도 7에서 설명된 바와 같이, 참조 픽쳐의 비활성 영역 패딩에 의해 패딩된 영역은 기존에 존재하는 영역과의 블렌딩을 통해 불연속경계를 완화시킬 수 있으며, 블렌딩 처리부는 이를 위한 블렌딩 처리를 수행할 수 있다.As described above with reference to FIG. 7, the area padded by the inactive area padding of the reference picture can alleviate the discontinuous boundary through blending with the existing area, and the blending processing unit can perform blending processing for the blind processing have.

블렌딩 처리부는 예를 들어, x축 블렌딩, y축 블렌딩, xy 축 블렌딩 중 적어도 하나를 포함하는 다양항 블렌딩 처리를 수행할 수 있다.The blending processing unit may perform a variety of blending operations including at least one of x-axis blending, y-axis blending, and xy-axis blending, for example.

또한, 블렌딩 처리부는 거리비례, 합성곱, 저대역통과필터 중 적어도 하나를 변수로 이용하는 블렌딩 처리를 복합적으로 수행할 수도 있다.In addition, the blending processing unit may perform a blending process using at least one of distance proportional, convolution, and low-pass filters as a variable.

한편, 도 9 및 도 10의 비활성 영역 패딩부(11c, 21c)는 상기 설명된 패딩과정에 있어서, 밝기/색차 신호에 대해 각각 비활성 영역 패딩을 적용할 수 있다. 밝기신호와 색차신호의 특성이 다르기 때문에, 각각 다른 방법으로 비활성 영역을 패딩할 수 있다.Meanwhile, the inactive area padding units 11c and 21c of FIGS. 9 and 10 may apply inactive area padding to the brightness / color difference signals, respectively, in the above-described padding process. Since the characteristics of the brightness signal and the color difference signal are different, the inactive regions can be padded by different methods.

또한, 부호화 장치(100)는 다양한 방법의 패딩을 미리 수행하여, 각 밝기 및 색차 신호별 가장 적합한 패딩 방법을 선택하여 복호화 장치(200)로 시그널링할 수도 있다.Also, the encoding apparatus 100 may perform padding of various methods in advance, and select the most suitable padding method for each brightness and color difference signal, and signal the signal to the decoding apparatus 200. [

또한, 비활성 영역 패딩부(11c, 21c)는 영상의 모든 프레임에 대해 패딩을 수행하여 부/복호화를 하는 것이 아니라, 일부 프레임에만 상기 패딩을 수행하고, 이에 대응하는 시그널링 정보를 복호화 장치(200) 또는 후처리 장치(20)로 전달할 수 있다.The non-active area padding units 11c and 21c perform padding only on a part of frames, rather than performing sub-decoding by performing padding on all frames of an image, and output the corresponding signaling information to the decoding apparatus 200. [ Or to the post-processing device 20.

예를 들어, 복호화 장치(200) 또는 후처리 장치(20)는 I-picture의 패딩에 있어서, 비활성 영역 패딩부(11c, 21c)는, 기 패딩된 비활성 영역의 정보를 이용하여, 다음 I-Picture의 비활성 영역을 패딩할 수 있다. 또한, 복호화 장치(200) 또는 후처리 장치(20)는 비활성 영역 패딩부(11c, 21c)를 통해, B-Picture 또는 P-picture에서 전달된 정보를 이용하여 I-picture의 비활성 영역을 패딩할 수도 있다. For example, in the padding of the I-picture, the decoding device 200 or the post-processing device 20 uses the information of the padded inactive area so that the inactive area padding parts 11c, You can pad inactive areas of a picture. In addition, the decoding apparatus 200 or the post-processing apparatus 20 pads the inactive area of the I-picture using the information transmitted from the B-Picture or P-picture through the inactive area padding units 11c and 21c It is possible.

또한, 본 발명의 실시 예에 따르면, 비활성 영역 패딩부(11c, 21c)는, 전술한 I-picture 뿐만 아니라, B, P-picture에 대하여도, 기 패딩된 비활성 영역의 정보를 이용하여 패딩을 수행할 수 있다. 예를 들어, 복호화 장치(200) 또는 후처리 장치(20)는 비활성 영역 패딩부(11c, 21c)를 통해, 첫 번째 I-picture의 패딩 정보를 이용하여, GOP단위의 모든 picture 혹은 일부 picture에 대한 패딩 프로세스를 수행할 수 있다.According to the embodiment of the present invention, the non-active area padding units 11c and 21c also use padded inactive area information for not only the above-described I-picture but also B and P- Can be performed. For example, the decoding apparatus 200 or the post-processing apparatus 20 may use the padding information of the first I-picture through the inactive area padding units 11c and 21c to display the picture of all pictures or some pictures The padding process can be performed.

또한, 예를 들어, 복호화 장치(200) 또는 후처리 장치(20)는 비활성 영역 패딩부(11c, 21c)를 통해, I-picture에서는 패딩 프로세스를 모두 수행하고, 첫 번째 B-picture 또는 첫 번째 P-picture에서의 패딩 정보를 이용하여, GOP단위의 모든 I-picture 가 아닌 picture 들 또는 일부 picture에 대한 패딩 프로세스를 수행할 수도 있다.For example, the decoding apparatus 200 or the post-processing apparatus 20 performs the padding process in the I-picture through the inactive area padding units 11c and 21c, A padding process may be performed on pictures or some pictures other than all I-pictures in units of GOP by using the padding information in the P-picture.

*이를 위해, 부호화 장치(100) 또는 전처리 장치(10)는 비활성 영역 패딩부(11c, 21c)를 통해, 상기 I-picture에서 패딩된 화소 정보를 시그널링하고, 복호화 장치(200) 또는 후처리 장치(20)에서는 비활성 영역 패딩부(11c, 21c)를 통해,이 정보를 이용하여 별도의 추가적인 계산과정 없이 비활성영역을 패딩할 수 있어 효율적일 수 있다.To this end, the encoding apparatus 100 or the preprocessing apparatus 10 signals pixel information padded by the I-picture through the inactive area padding units 11c and 21c, and outputs the signal to the decoding apparatus 200 or the post- The inactive area can be efficiently padded through the inactive area padding parts 11c and 21c using the information, without performing any additional calculation process.

도 11은 비활성 영역이 존재하는 RSP 포맷에서의 패딩 및 블렌딩 결과를 각각 나타내는 도면들이다.11 is a diagram showing padding and blending results in an RSP format in which an inactive area exists.

도 11을 참조하면, 원본에 대해 패딩된 비활성 영역과, 기존 영역간의 블렌딩 처리를 통해, 경계선이 완화됨으로써 보다 자연스러운 영상이 출력되는 것을 확인할 수 있다.Referring to FIG. 11, it can be seen that a more natural image is output by alleviating the boundary line through the blending process between the inactive area padded to the original and the existing area.

도 12는 본 발명의 일실시예에 따른 동영상 부호화 장치의 구성을 블록도로 도시한 것으로, 본 발명의 실시 예에 따른 가상 현실 영상의 각각의 서브 이미지 또는 전체 프레임을 입력 비디오 신호로서 입력받아 처리할 수 있다.FIG. 12 is a block diagram illustrating a configuration of a moving picture encoding apparatus according to an exemplary embodiment of the present invention. Referring to FIG. 12, each sub-image or entire frame of a virtual reality image according to an embodiment of the present invention is input as an input video signal .

도 12를 참조하면, 본 발명에 따른 동영상 부호화 장치(100)는 픽쳐 분할부(160), 변환부, 양자화부, 스캐닝부, 엔트로피 부호화부, 인트라 예측부(169), 인터 예측부(170), 역양자화부, 역변환부, 후처리부(171), 픽쳐 저장부(172), 감산부 및 가산부(168)를 포함한다.12, a moving picture encoding apparatus 100 according to the present invention includes a picture dividing unit 160, a transform unit, a quantization unit, a scanning unit, an entropy coding unit, an intra prediction unit 169, an inter prediction unit 170, An inverse quantization unit, an inverse transform unit, a post-processing unit 171, a picture storage unit 172, a subtraction unit, and an adder 168. [

픽쳐 분할부(160)는 입력되는 비디오 신호를 분석하여 픽쳐를 가장 큰 코딩 유닛(LCU:Largest Coding Unit)마다 소정 크기의 코딩 유닛으로 분할하여 예측 모드를 결정하고, 상기 코딩 유닛별로 예측 유닛의 크기를 결정한다.The picture division unit 160 analyzes a video signal to determine a prediction mode by dividing a picture into a coding unit of a predetermined size for each largest coding unit (LCU: Largest Coding Unit), and calculates a prediction unit size .

그리고, 픽쳐 분할부(160)는 부호화할 예측 유닛을 예측 모드(또는 예측 방법)에 따라 인트라 예측부(169) 또는 인터 예측부(170)로 보낸다. 또한, 픽쳐 분할부(160)는 부호화할 예측 유닛을 감산부로 보낸다.The picture division unit 160 sends the prediction unit to be encoded to the intra prediction unit 169 or the inter prediction unit 170 according to a prediction mode (or a prediction method). Further, the picture division unit 160 sends the prediction unit to be encoded to the subtraction unit.

픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 최대 부호화 단위(Largest coding unit: LCU)로 구성될 수 있다.The picture may be composed of a plurality of slices, and the slice may be composed of a plurality of maximum coding units (LCU).

상기 LCU는 복수개의 부호화 단위(CU)로 분할될 수 있고, 부호기는 분할여부를 나타내는 정보(flag)를 비트스트림에 추가할 수 있다. 복호기는 LCU의 위치를 어드레스(LcuAddr)를 이용하여 인식할 수 있다.The LCU can be divided into a plurality of coding units (CUs), and the encoder can add information indicating whether or not to be divided to a bit stream. The decoder can recognize the position of the LCU by using the address (LcuAddr).

분할이 허용되지 않는 경우의 부호화 단위(CU)는 예측 단위(Prediction unit: PU)로 간주되고, 복호기는 PU의 위치를 PU인덱스를 이용하여 인식할 수 있다.The coding unit CU in the case where division is not allowed is regarded as a prediction unit (PU), and the decoder can recognize the position of the PU using the PU index.

예측 단위(PU)는 복수개의 파티션으로 나뉠 수 있다. 또한 예측 단위(PU)는 복수개의 변환 단위(Transform unit: TU)로 구성될 수 있다.The prediction unit PU may be divided into a plurality of partitions. Also, the prediction unit PU may be composed of a plurality of conversion units (TUs).

이 경우, 픽쳐 분할부(160)는 결정된 부호화 모드에 따른 소정 크기의 블록 단위(예를 들면, PU 단위 또는 TU 단위)로 영상 데이터를 감산부로 보낼 수 있다.In this case, the picture dividing unit 160 may send the image data to the subtracting unit in a block unit (for example, PU unit or TU unit) of a predetermined size according to the determined coding mode.

동영상 부호화 단위로 CTB (Coding Tree Block)을 사용하며, 이 때 CTB는 다양한 정사각형 모양으로 정의된다. CTB는 코딩단위 CU(Coding Unit)라고 부른다. CTB (Coding Tree Block) is used as a unit of video encoding, and the CTB is defined as various square shapes. The CTB is called the coding unit CU (coding unit).

코딩단위(CU)는 분할에 따른 쿼드트리(Quad Tree)의 형태를 가질 수 있다. 또한, QTBT(Quadtree plus binary tree) 분할의 경우 코딩단위는 상기 쿼드트리 또는 단말 노드에서 이진 분할된 바이너리 트리(Binary Tree)의 형태를 가질 수 있으며, 부호화기의 표준의 따라 최대 크기가 256X256에서 64X64로 구성될 수 있다.The coding unit (CU) may have a form of a quad tree according to the division. In the case of the Quadtree plus binary tree (QTBT) partitioning, the coding unit may have a binary tree shape divided into binary segments in the quad tree or terminal node, and the maximum size according to the encoder standard is 256X256 to 64X64 Lt; / RTI >

또한, 보다 정밀하고 효율적인 부호화 및 복호화를 위하여, 본 발명의 실시 예에 따른 부호화 장치(10)는 쿼드 트리 및 이진 트리 분할에 의해, 특정 방향 길이가 길게 분할된 코딩 유닛의 가장자리 영역 등을 용이하게 분할하게 할 수 있는 삼진 트리(ternary tree) 또는 삼중 트리(triple tree) 구조로 코딩 유닛을 분할할 수도 있다. 나아가, 분할 방식이 다중화되는 것을 지원하기 위해, 복수 타입의 트리 구조 분할을 지원하는 멀티 타입 트리(multi type tree)의 구조도 고려될 수 있다.For more precise and efficient coding and decoding, the coding apparatus 10 according to the embodiment of the present invention easily divides the edge region of a coding unit divided into a specific direction length by a quadtree and a binary tree division The coding unit may be divided into a ternary tree or a triple tree structure which can be divided. Furthermore, in order to support multiplexing of division methods, a structure of a multi-type tree supporting multiple types of tree structure division can be considered.

여기서, 멀티 타입 트리 또는 삼진 트리 구조는 본 발명의 실시 예에 따른 가상 현실 영상에 대응하는 패딩 및 블렌딩 처리에 있어서 보다 효과적으로 이용될 수 있으며, 멀티 타입 트리 또는 삼진 트리 구조의 분할은 별도 제한 없이 모든 코딩 유닛에 대해 처리될 수 있다. 그러나, 전술한 바와 같이 부호화 및 복호화 효율을 고려하면, 특정 조건의 코딩 유닛에 대하여만 멀티 타입 트리 또는 삼진 트리 구조를 허용하는 것이 바람직할 수 있다.Here, the multi-type tree or the triple tree structure can be used more effectively in the padding and blending processing corresponding to the virtual reality image according to the embodiment of the present invention, and the division of the multi- Lt; / RTI > coding unit. However, considering coding and decoding efficiency as described above, it may be preferable to allow a multi-type tree or a triple tree structure only for a coding unit of a specific condition.

또한, 멀티 타입 트리 또는 삼진 트리 구조는 코딩 트리 유닛에 대한 다양한 방식의 삼진 분할이 필요할 수 있으나, 부호화 및 복호화 복잡도 및 시그널링에 의한 전송 대역폭을 고려하여, 최적화된 소정 형태만이 허용되는 것이 바람직할 수 있다.In addition, the multi-type tree or the triple tree structure may require a triple division in various ways for the coding tree unit, but it is preferable that only a predetermined optimized form is allowed in consideration of the coding bandwidth and the decoding complexity and the transmission bandwidth by signaling .

따라서, 픽쳐 분할부(160)는 현재 코딩 유닛의 분할을 결정함에 있어서, 현재 코딩 유닛이 미리 설정된 조건에 대항하는 경우에만 특정 형태의 삼진 트리 구조로의 분할여부를 판단 및 결정할 수 있다. 또한, 이와 같은 삼진 트리의 허용에 따라, 바이너리 트리의 분할 비율도 1:1만이 아닌 3:1, 1:3 등으로 확장 및 가변될 수 있다. 따라서, 본 발명의 실시 예에 따른 코딩 유닛의 분할 구조는 비율에 따라 쿼드 트리, 이진 트리 또는 삼진 트리로 세분화 분할되는 복합 트리 구조를 포함할 수 있다.Accordingly, in determining the division of the current coding unit, the picture dividing unit 160 can determine whether to divide the current coding unit into a specific type of triad tree structure only when the current coding unit is against a preset condition. Also, according to the permission of such a triad tree, the division ratio of the binary tree can be expanded and varied not only at 1: 1 but also at 3: 1, 1: 3, and so on. Therefore, the division structure of the coding unit according to the embodiment of the present invention may include a composite tree structure that is subdivided into a quadtree, a binary tree, or a triad tree according to a ratio.

본 발명의 실시 예에 따르면, 픽쳐 분할부(160)는 블록의 최대 사이즈(예를 들어, 픽셀 기반 128 x 128, 256 x 256 등)에 대응하여, 쿼드 트리 분할을 처리하고, 쿼드 트리 분할된 단말 노드에 대응하는 이중 트리 구조 및 삼중 트리 구조 분할 중 적어도 하나를 처리하는 복합 분할 처리를 수행할 수 잇다. In accordance with an embodiment of the present invention, the picture partitioning unit 160 processes the quadtree partitioning, corresponding to the maximum size of the block (e.g., pixel-based 128 x 128, 256 x 256, etc.) A hybrid tree processing for processing at least one of a double tree structure and a triple tree structure division corresponding to a terminal node can be performed.

특히, 본 발명의 실시 예에 따르면 픽쳐 분할부(110)는 분할 테이블에 따라, 현재 블록의 특성 및 사이즈에 대응하는 이진 트리 분할인 제1 이진 분할(BINARY 1), 제2 이진 분할(BINARY 2)과, 삼진 트리 분할인 제1 삼진 분할(TRI 1) 또는 제2 삼진 분할(TRI 2) 중 어느 하나의 분할 구조를 결정할 수 있다.Particularly, according to the embodiment of the present invention, the picture division unit 110 divides a first binary division (BINARY 1), a second binary division (BINARY 2) corresponding to the property and size of the current block, ) And a division structure of any one of the first ternary splitting (TRI 1) or the second ternary splitting (TRI 2) which is the triple tree splitting.

여기서, 제1 이진 분할은 N:N의 비율을 갖는 수직 또는 수평 분할에 대응할 수 있으며, 제2 이진 분할은 3N:N 또는 N:3N의 비율을 갖는 수직 또는 수평 분할에 대응될 수 있고, 각 이진 분할된 root CU는 분할 테이블에 명시된 각 사이즈의 CU0 및 CU1으로 분할될 수 있다.Here, the first binary division may correspond to a vertical or horizontal division having a ratio of N: N, and the second binary division may correspond to a vertical or horizontal division having a ratio of 3N: N or N: 3N, Binary partitioned root CUs can be partitioned into CU0 and CU1 of each size specified in the partitioning table.

한편, 제1 삼진 분할은 N:2N:N의 비율을 갖는 수직 또는 수평 분할에 대응할 수 있으며, 제2 삼진 분할은 N:6N:N의 비율을 갖는 수직 또는 수평 분할에 대응될 수 있고, 각 삼진 분할된 root CU는 분할 테이블에 명시된 각 사이즈의 CU0, CU1 및 CU2로 분할될 수 있다.On the other hand, the first ternary division may correspond to a vertical or horizontal division having a ratio of N: 2N: N, the second ternary division may correspond to a vertical or horizontal division having a ratio of N: 6N: N, The ternary root CU can be divided into CU0, CU1 and CU2 of each size specified in the partition table.

예를 들어, 픽쳐 분할부(160)는 최대 크기가 64X64인 경우, 최대 코딩단위 LCU(Largest Coding Unit)일 때 깊이(Depth)를 0으로 하여 깊이가 3이 될 때까지, 즉 8X8크기의 코딩단위(CU)까지 재귀적(Recursive)으로 최적의 예측단위를 찾아 부호화를 수행한다. 또한, 예를 들어 QTBT로 분할된 단말 노드의 코딩 유닛에 대해, PU(Prediction Unit) 및 TU(Transform Unit)는 상기 분할된 코딩 유닛과 동일한 형태를 갖거나 더 분할된 형태를 가질 수 있다.For example, when the maximum size is 64X64, the picture dividing unit 160 sets the depth to 0 when the depth is 3 when the maximum coding unit is a LCU (Largest Coding Unit) And performs encoding by searching for an optimal prediction unit recursively up to the unit (CU). Further, for a coding unit of a terminal node divided into QTBT, for example, a PU (Prediction Unit) and a TU (Transform Unit) may have the same form as the divided coding unit or may have a further divided form.

예측을 수행하는 예측단위는 PU(Prediction Unit)로 정의되며, 각 코딩단위(CU)는 다수개의 블록으로 분할된 단위의 예측이 수행되며, 정사각형과 직사각형의 형태로 나뉘어 예측을 수행한다. A prediction unit for performing prediction is defined as a PU (Prediction Unit). Each coding unit (CU) is predicted by a unit divided into a plurality of blocks, and is divided into a square and a rectangle to perform prediction.

변환부는 입력된 예측 유닛의 원본 블록과 인트라 예측부(169) 또는 인터 예측부(170)에서 생성된 예측 블록의 잔차신호인 잔차 블록을 변환한다. 상기 잔차 블록은 코딩 유닛 또는 예측 유닛으로 구성된다. 코딩 유닛 또는 예측 유닛으로 구성된 잔차 블록은 최적의 변환 단위(Transform Unit)로 분할되어 변환된다. 예측 모드(intra or inter)에 따라 서로 다른 변환 매트릭스가 결정될 수 있다. 또한, 인트라 예측의 잔차 신호는 인트라 예측 모드에 따라 방향성을 가지므로 인트라 예측 모드에 따라 적응적으로 변환 매트릭스가 결정될 수 있다.The transform unit transforms the original block of the input prediction unit and the residual block, which is the residual signal of the intra prediction unit 169 or the prediction block generated by the inter prediction unit 170. [ The residual block is composed of a coding unit or a prediction unit. A residual block composed of a coding unit or a prediction unit is divided into optimal transform units and transformed. Different transformation matrices may be determined depending on the prediction mode (intra or inter). Also, since the residual signal of the intra prediction has directionality according to the intra prediction mode, the transformation matrix can be adaptively determined according to the intra prediction mode.

변환 단위는 2개(수평, 수직)의 1차원 변환 매트릭스에 의해 변환될 수 있다. 예를 들어, 인터 예측의 경우에는 미리 결정된 1개의 변환 매트릭스가 결정된다.The transformation unit can be transformed by two (horizontal, vertical) one-dimensional transformation matrices. For example, in the case of inter prediction, a predetermined conversion matrix is determined.

반면에, 인트라 예측의 경우, 인트라 예측 모드가 수평인 경우에는 잔차 블록이 수직방향으로의 방향성을 가질 확률이 높아지므로, 수직방향으로는 DCT 기반의 정수 매트릭스를 적용하고, 수평방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를 적용한다. 인트라 예측 모드가 수직인 경우에는 수직방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를, 수평 방향으로는 DCT 기반의 정수 매트릭스를 적용한다.On the other hand, in case of the intra prediction, when the intra prediction mode is horizontal, the probability that the residual block has the direction in the vertical direction becomes high. Therefore, the DCT-based integer matrix is applied in the vertical direction, Or a KLT-based integer matrix. When the intra prediction mode is vertical, a DST-based or KLT-based integer matrix is applied in the vertical direction and a DCT-based integer matrix is applied in the horizontal direction.

DC 모드의 경우에는 양방향 모두 DCT 기반 정수 매트릭스를 적용한다. 또한, 인트라 예측의 경우, 변환 단위의 크기에 의존하여 변환 매트릭스가 적응적으로 결정될 수도 있다.In case of DC mode, DCT-based integer matrix is applied in both directions. Further, in the case of intra prediction, the transformation matrix may be adaptively determined depending on the size of the conversion unit.

양자화부는 상기 변환 매트릭스에 의해 변환된 잔차 블록의 계수들을 양자화하기 위한 양자화 스텝 사이즈를 결정한다. 양자화 스텝 사이즈는 미리 정해진 크기 이상의 부호화 단위(이하, 양자화 유닛이라 함)별로 결정된다.The quantization unit determines a quantization step size for quantizing the coefficients of the residual block transformed by the transform matrix. The quantization step size is determined for each coding unit of a predetermined size or larger (hereinafter referred to as a quantization unit).

상기 미리 정해진 크기는 8x8 또는 16x16일 수 있다. 그리고, 결정된 양자화 스텝 사이즈 및 예측 모드에 따라 결정되는 양자화 매트릭스를 이용하여 상기 변환 블록의 계수들을 양자화한다.The predetermined size may be 8x8 or 16x16. And quantizes the coefficients of the transform block using a quantization matrix determined according to the determined quantization step size and the prediction mode.

양자화부는 현재 양자화 유닛의 양자화 스텝 사이즈 예측자로서 현재 양자화 유닛에 인접한 양자화 유닛의 양자화 스텝 사이즈를 이용한다.The quantization unit uses the quantization step size of the quantization unit adjacent to the current quantization unit as a quantization step size predictor of the current quantization unit.

양자화부는 현재 양자화 유닛의 좌측 양자화 유닛, 상측 양자화 유닛, 좌상측 양자화 유닛 순서로 검색하여 1개 또는 2개의 유효한 양자화 스텝 사이즈를 이용하여 현재 양자화 유닛의 양자화 스텝 사이즈 예측자를 생성할 수 있다.The quantization unit may search the left quantization unit, the upper quantization unit, and the upper left quantization unit of the quantization unit in order, and generate a quantization step size predictor of the current quantization unit using one or two effective quantization step sizes.

예를 들어, 상기 순서로 검색된 유효한 첫번째 양자화 스텝 사이즈를 양자화 스텝 사이즈 예측자로 결정할 수 있다. 또한, 상기 순서로 검색된 유효한 2개의 양자화 스텝 사이즈의 평균값을 양자화 스텝 사이즈 예측자로 결정할 수도 있고, 1개만이 유효한 경우에는 이를 양자화 스텝 사이즈 예측자로 결정할 수 있다.For example, the effective first quantization step size searched in the above order can be determined as a quantization step size predictor. In addition, the average value of the two effective quantization step sizes searched in the above order may be determined as a quantization step size predictor, or when only one is effective, it may be determined as a quantization step size predictor.

상기 양자화 스텝 사이즈 예측자가 결정되면, 현재 부호화 단위의 양자화 스텝 사이즈와 상기 양자화 스텝 사이즈 예측자 사이의 차분값을 엔트로피 부호화부로 전송한다.When the quantization step size predictor is determined, a difference value between the quantization step size of the current encoding unit and the quantization step size predictor is transmitted to the entropy encoding unit.

한편, 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛, 좌상측 코딩 유닛 모두가 존재하지 않을 가능성이 있다. 반면에 최대 코딩 유닛 내의 부호화 순서 상으로 이전에 존재하는 코딩 유닛이 존재할 수 있다.On the other hand, there is a possibility that the left coding unit, the upper coding unit, and the upper left coding unit of the current coding unit do not exist. On the other hand, there may be coding units that were previously present on the coding order in the maximum coding unit.

따라서, 현재 코딩 유닛에 인접한 양자화 유닛들과 상기 최대 코딩 유닛 내에서는 부호화 순서상 바로 이전의 양자화 유닛의 양자화 스텝 사이즈가 후보자가 될 수 있다.Therefore, the quantization step sizes of the quantization units adjacent to the current coding unit and the quantization unit immediately before the coding order in the maximum coding unit can be candidates.

이 경우, 1) 현재 코딩 유닛의 좌측 양자화 유닛, 2) 현재 코딩 유닛의 상측 양자화 유닛, 3) 현재 코딩 유닛의 좌상측 양자화 유닛, 4) 부호화 순서상 바로 이전의 양자화 유닛 순서로 우선순위를 둘 수 있다. 상기 순서는 바뀔 수 있고, 상기 좌상측 양자화 유닛은 생략될 수도 있다.In this case, 1) the left quantization unit of the current coding unit, 2) the upper quantization unit of the current coding unit, 3) the upper left side quantization unit of the current coding unit, 4) . The order may be changed, and the upper left side quantization unit may be omitted.

상기 양자화된 변환 블록은 역양자화부와 스캐닝부로 제공된다.The quantized transform block is provided as an inverse quantization unit and a scanning unit.

스캐닝부는 양자화된 변환 블록의 계수들을 스캐닝하여 1차원의 양자화 계수들로 변환한다. 양자화 후의 변환 블록의 계수 분포가 인트라 예측 모드에 의존적일 수 있으므로, 스캐닝 방식은 인트라 예측 모드에 따라 결정된다.The scanning unit scans the coefficients of the quantized transform block and converts them into one-dimensional quantization coefficients. Since the coefficient distribution of the transform block after quantization may be dependent on the intra prediction mode, the scanning scheme is determined according to the intra prediction mode.

또한, 계수 스캐닝 방식은 변환 단위의 크기에 따라 달리 결정될 수도 있다. 상기 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 양자화 계수들의 스캔순서는 역방향으로 스캔한다.The coefficient scanning method may be determined depending on the size of the conversion unit. The scan pattern may vary according to the directional intra prediction mode. The scan order of the quantization coefficients is scanned in the reverse direction.

상기 양자화된 계수들이 복수개의 서브셋으로 분할된 경우에는 각각의 서브셋 내의 양자화 계수들에 동일한 스캔패턴을 적용한다. 서브셋 간의 스캔패턴은 지그재그 스캔 또는 대각선 스캔을 적용한다. 스캔 패턴은 DC를 포함하는 메인 서브셋으로부터 순방향으로 잔여 서브셋들로 스캔하는 것이 바람직하나, 그 역방향도 가능하다.When the quantized coefficients are divided into a plurality of subsets, the same scan pattern is applied to the quantization coefficients in each subset. The scan pattern between subset applies zigzag scan or diagonal scan. The scan pattern is preferably scanned to the remaining subsets in the forward direction from the main subset containing the DC, but vice versa.

또한, 서브셋 내의 양자화된 계수들의 스캔패턴과 동일하게 서브셋 간의 스캔패턴을 설정할 수도 있다. 이 경우, 서브셋 간의 스캔패턴이 인트라 예측 모드에 따라 결정된다. 한편, 부호기는 상기 변환 유닛내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보를 복호기로 전송한다.In addition, a scan pattern between subsets can be set in the same manner as a scan pattern of quantized coefficients in a subset. In this case, the scan pattern between the sub-sets is determined according to the intra-prediction mode. On the other hand, the encoder transmits to the decoder information indicating the position of the last non-zero quantization coefficient in the transform unit.

각 서브셋 내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보도 복호기로 전송할 수 있다.Information that can indicate the position of the last non-zero quantization coefficient in each subset can also be transmitted to the decoder.

역양자화(135)는 상기 양자화된 양자화 계수를 역양자화한다. 역변환부는 역양자화된 변환 계수를 공간 영역의 잔차 블록으로 복원한다. 가산기는 상기 역변환부에 의해 복원된 잔차블록과 인트라 예측부(169) 또는 인터 예측부(170)로부터의 수신된 예측 블록을 합쳐서 복원 블록을 생성한다.The inverse quantization unit 135 dequantizes the quantized quantized coefficients. The inverse transform unit restores the inversely quantized transform coefficients into residual blocks in the spatial domain. The adder combines the residual block reconstructed by the inverse transform unit with the intra prediction unit 169 or the received prediction block from the inter prediction unit 170 to generate a reconstruction block.

후처리부(171)는 복원된 픽쳐에 발생하는 블록킹 효과의 제거하기 위한 디블록킹 필터링 과정, 화소 단위로 원본 영상과의 차이값을 보완하기 위한 적응적 오프셋 적용 과정 및 코딩 유닛으로 원본 영상과의 차이값을 보완하기 위한 적응적 루프 필터링 과정을 수행한다.The post-processing unit 171 performs a deblocking filtering process for eliminating the blocking effect generated in the reconstructed picture, an adaptive offset application process for compensating the difference value from the original image on a pixel-by-pixel basis, and a coding unit And performs an adaptive loop filtering process to compensate the value.

디블록킹 필터링 과정은 미리 정해진 크기 이상의 크기를 갖는 예측 유닛 및 변환 단위의 경계에 적용하는 것이 바람직하다. 상기 크기는 8x8일 수 있다. 상기 디블록킹 필터링 과정은 필터링할 경계(boundary)를 결정하는 단계, 상기 경계에 적용할 경계 필터링 강도(bounary filtering strength)를 결정하는 단계, 디블록킹 필터의 적용 여부를 결정하는 단계, 상기 디블록킹 필터를 적용할 것으로 결정된 경우, 상기 경계에 적용할 필터를 선택하는 단계를 포함한다.The deblocking filtering process is preferably applied to the boundary of a prediction unit and a conversion unit having a size larger than a predetermined size. The size may be 8x8. The deblocking filtering process may include determining a boundary to be filtered, determining a bounary filtering strength to be applied to the boundary, determining whether to apply a deblocking filter, And selecting a filter to be applied to the boundary if it is determined to apply the boundary.

상기 디블록킹 필터의 적용 여부는 i) 상기 경계 필터링 강도가 0보다 큰지 여부 및 ii) 상기 필터링할 경계에 인접한 2개의 블록(P 블록, Q블록) 경계 부분에서의 화소값들이 변화 정도를 나타내는 값이 양자화 파라미터에 의해 결정되는 제1 기준값보다 작은지 여부에 의해 결정된다.Whether or not the deblocking filter is applied is determined based on i) whether the boundary filtering strength is greater than 0 and ii) whether a pixel value at a boundary between two blocks adjacent to the boundary to be filtered (P block, Q block) Is smaller than a first reference value determined by the quantization parameter.

상기 필터는 적어도 2개 이상인 것이 바람직하다. 블록 경계에 위치한 2개의 화소들간의 차이값의 절대값이 제2 기준값보다 크거나 같은 경우에는 상대적으로 약한 필터링을 수행하는 필터를 선택한다.The filter is preferably at least two or more. If the absolute value of the difference between two pixels located at the block boundary is greater than or equal to the second reference value, a filter that performs relatively weak filtering is selected.

상기 제2 기준값은 상기 양자화 파라미터 및 상기 경계 필터링 강도에 의해 결정된다.And the second reference value is determined by the quantization parameter and the boundary filtering strength.

적응적 오프셋 적용 과정은 디블록킹 필터가 적용된 영상내의 화소와 원본 화소간의 차이값(distortion)을 감소시키기 위한 것이다. 픽쳐 또는 슬라이스 단위로 상기 적응적 오프셋 적용 과정을 수행할지 여부를 결정할 수 있다.The adaptive offset application process is to reduce a distortion between a pixel in the image to which the deblocking filter is applied and the original pixel. It may be determined whether to perform the adaptive offset applying process in units of pictures or slices.

픽쳐 또는 슬라이스는 복수개의 오프셋 영역들로 분할될 수 있고, 각 오프셋 영역별로 오프셋 타입이 결정될 수 있다. 오프셋 타입은 미리 정해진 개수(예를 들어, 4개)의 에지 오프셋 타입과 2개의 밴드 오프셋 타입을 포함할 수 있다.The picture or slice may be divided into a plurality of offset regions, and an offset type may be determined for each offset region. The offset type may include a predetermined number (e.g., four) of edge offset types and two band offset types.

오프셋 타입이 에지 오프셋 타입일 경우에는 각 화소가 속하는 에지 타입을 결정하여, 이에 대응하는 오프셋을 적용한다. 상기 에지 타입은 현재 화소와 인접하는 2개의 화소값의 분포를 기준으로 결정한다.If the offset type is an edge offset type, the edge type to which each pixel belongs is determined and the corresponding offset is applied. The edge type is determined based on the distribution of two pixel values adjacent to the current pixel.

적응적 루프 필터링 과정은 디블록킹 필터링 과정 또는 적응적 오프셋 적용 과정을 거친 복원된 영상과 원본 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 적응적 루프 필터링은 상기 결정된 ALF는 4x4 크기 또는 8x8 크기의 블록에 포함된 화소 전체에 적용될 수 있다.The adaptive loop filtering process can perform filtering based on a value obtained by comparing a reconstructed image and an original image through a deblocking filtering process or an adaptive offset applying process. The adaptive loop filtering can be applied to the entire pixels included in the 4x4 block or the 8x8 block.

적응적 루프 필터의 적용 여부는 코딩 유닛별로 결정될 수 있다. 각 코딩 유닛에 따라 적용될 루프 필터의 크기 및 계수는 달라질 수 있다. 코딩 유닛별 상기 적응적 루프 필터의 적용 여부를 나타내는 정보는 각 슬라이스 헤더에 포함될 수 있다.Whether or not the adaptive loop filter is applied can be determined for each coding unit. The size and the coefficient of the loop filter to be applied may vary depending on each coding unit. Information indicating whether or not the adaptive loop filter is applied to each coding unit may be included in each slice header.

색차 신호의 경우에는, 픽쳐 단위로 적응적 루프 필터의 적용 여부를 결정할 수 있다. 루프 필터의 형태도 휘도와 달리 직사각형 형태를 가질 수 있다.In the case of the color difference signal, it is possible to determine whether or not the adaptive loop filter is applied in units of pictures. The shape of the loop filter may have a rectangular shape unlike the luminance.

적응적 루프 필터링은 슬라이스별로 적용 여부를 결정할 수 있다. 따라서, 현재 슬라이스에 적응적 루프 필터링이 적용되는지 여부를 나타내는 정보는 슬라이스 헤더 또는 픽쳐 헤더에 포함된다.Adaptive loop filtering can be applied on a slice-by-slice basis. Therefore, information indicating whether or not adaptive loop filtering is applied to the current slice is included in the slice header or the picture header.

현재 슬라이스에 적응적 루프 필터링이 적용됨을 나타내면, 슬라이스 헤더 또는 픽쳐 헤더는 추가적으로 적응적 루프 필터링 과정에 사용되는 휘도 성분의 수평 및/또는 수직 방향의 필터 길이를 나타내는 정보를 포함한다.If the current slice indicates that adaptive loop filtering is applied, the slice header or picture header additionally includes information indicating the horizontal and / or vertical direction filter length of the luminance component used in the adaptive loop filtering process.

슬라이스 헤더 또는 픽쳐 헤더는 필터 세트의 수를 나타내는 정보를 포함할 수 있다. 이때 필터 세트의 수가 2 이상이면, 필터 계수들이 예측 방법을 사용하여 부호화될 수 있다. 따라서, 슬라이스 헤더 또는 픽쳐 헤더는 필터 계수들이 예측 방법으로 부호화되는지 여부를 나타내는 정보를 포함할 수 있으며, 예측 방법이 사용되는 경우에는 예측된 필터 계수를 포함한다.The slice header or picture header may include information indicating the number of filter sets. At this time, if the number of filter sets is two or more, the filter coefficients can be encoded using the prediction method. Accordingly, the slice header or the picture header may include information indicating whether or not the filter coefficients are encoded in the prediction method, and may include predicted filter coefficients when the prediction method is used.

한편, 휘도 뿐만 아니라, 색차 성분들도 적응적으로 필터링될 수 있다. 따라서, 색차 성분 각각이 필터링되는지 여부를 나타내는 정보를 슬라이스 헤더 또는 픽쳐 헤더가 포함할 수 있다. 이 경우, 비트수를 줄이기 위해 Cr과 Cb에 대한 필터링 여부를 나타내는 정보를 조인트 코딩(즉, 다중화 코딩)할 수 있다.On the other hand, not only luminance but also chrominance components can be adaptively filtered. Accordingly, the slice header or the picture header may include information indicating whether or not each of the color difference components is filtered. In this case, in order to reduce the number of bits, information indicating whether or not to filter Cr and Cb can be joint-coded (i.e., multiplexed coding).

이때, 색차 성분들의 경우에는 복잡도 감소를 위해 Cr과 Cb를 모두 필터링하지 않는 경우가 가장 빈번할 가능성이 높으므로, Cr과 Cb를 모두 필터링하지 않는 경우에 가장 작은 인덱스를 할당하여 엔트로피 부호화를 수행한다.At this time, in the case of chrominance components, since Cr and Cb are not all filtered in order to reduce the complexity, it is most likely to be the most frequent. Therefore, if Cr and Cb are not all filtered, the smallest index is allocated and entropy encoding is performed .

그리고, Cr 및 Cb를 모두 필터링하는 경우에 가장 큰 인덱스를 할당하여 엔트로피 부호화를 수행한다.When both Cr and Cb are filtered, the largest index is allocated and entropy encoding is performed.

픽쳐 저장부(172)는 후처리된 영상 데이터를 후처리부(171)로부터 입력받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다. 픽쳐 저장부(172)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다.The picture storage unit 172 receives the post-processed image data from the post-processing unit 171, and restores and restores the pictures in units of pictures. The picture may be a frame-based image or a field-based image. The picture storage unit 172 has a buffer (not shown) capable of storing a plurality of pictures.

인터 예측부(170)는 상기 픽쳐 저장부(172)에 저장된 적어도 하나 이상의 참조 픽쳐를 이용하여 움직임 추정을 수행하고, 참조 픽쳐를 나타내는 참조 픽쳐 인덱스 및 움직임 벡터를 결정한다.The inter-prediction unit 170 performs motion estimation using at least one reference picture stored in the picture storage unit 172, and determines a reference picture index and a motion vector indicating a reference picture.

그리고, 결정된 참조 픽쳐 인덱스 및 움직임 벡터에 따라, 픽쳐 저장부(172)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 예측 유닛에 대응하는 예측 블록을 추출하여 출력한다.Then, based on the determined reference picture index and motion vector, a prediction block corresponding to the prediction unit to be coded is extracted from the reference pictures used for motion estimation among a plurality of reference pictures stored in the picture storage unit 172 and output .

인트라 예측부(169)는 현재 예측 유닛이 포함되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다.The intra prediction unit 169 performs intraprediction encoding using the reconstructed pixel values in the picture including the current prediction unit.

인트라 예측부(169)는 예측 부호화할 현재 예측 유닛을 입력받아 현재 블록의 크기에 따라 미리 설정된 개수의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다.The intra prediction unit 169 receives the current prediction unit to be predictively encoded and selects one of a predetermined number of intra prediction modes according to the size of the current block to perform intra prediction.

인트라 예측부(169)는 인트라 예측 블록을 생성하기 위해 참조 화소를 적응적으로 필터링한다. 참조 화소가 이용 가능하지 않은 경우에는 이용 가능한 참조 화소들을 이용하여 참조 화소들을 생성할 수 있다.The intraprediction unit 169 adaptively filters the reference pixels to generate intra prediction blocks. If reference pixels are not available, reference pixels may be generated using available reference pixels.

엔트로피 부호화부는 양자화부에 의해 양자화된 양자화 계수, 인트라 예측부(169)로부터 수신된 인트라 예측 정보, 인터 예측부(170)로부터 수신된 움직임 정보 등을 엔트로피 부호화한다.The entropy encoding unit entropy-codes quantization coefficients quantized by the quantization unit, intra prediction information received from the intra prediction unit 169, motion information received from the inter prediction unit 170, and the like.

도시되지는 않았으나, 인터 예측 부호화 장치는 움직임 정보 결정부, 움직임 정보 부호화 모드 결정부, 움직임 정보 부호화부, 예측 블록 생성부, 잔차 블록 생성부, 잔차 블록 부호화부 및 멀티플렉서를 포함하여 구성될 수 있다.Although not shown, the inter prediction coding apparatus may include a motion information determination unit, a motion information coding mode determination unit, a motion information coding unit, a prediction block generation unit, a residual block generation unit, a residual block coding unit, and a multiplexer .

움직임 정보 결정부는 현재 블록의 움직임 정보를 결정한다. 움직임 정보는 참조 픽쳐 인덱스와 움직임 벡터를 포함한다. 참조 픽쳐 인덱스는 이전에 부호화되어 복원된 픽쳐 중 어느 하나를 나타낸다.The motion information determination unit determines the motion information of the current block. The motion information includes a reference picture index and a motion vector. The reference picture index indicates any one of the previously coded and reconstructed pictures.

현재 블록이 단방향 인터 예측 부호화되는 경우에는 리스트 0(L0)에 속하는 참조 픽쳐들 중의 어느 하나를 나타낸다. 반면에, 현재 블록이 양방향 예측 부호화되는 경우에는 리스트 0(L0)의 참조 픽쳐들 중 하나를 나타내는 참조픽쳐 인덱스와 리스트 1(L1)의 참조 픽쳐들 중의 하나를 나타내는 참조픽쳐 인덱스를 포함할 수 있다.And indicates one of the reference pictures belonging to the list 0 (L0) when the current block is unidirectionally inter-predictive-coded. On the other hand, when the current block is bi-directionally predictive-coded, a reference picture index indicating one of the reference pictures of the list 0 (L0) and a reference picture index indicating one of the reference pictures of the list 1 (L1) .

또한, 현재 블록이 양방향 예측 부호화되는 경우에는 리스트 0과 리스트 1을 결합하여 생성된 복합 리스트(LC)의 참조 픽쳐들 중의 1개 또는 2개의 픽쳐를 나타내는 인덱스를 포함할 수 있다.In addition, when the current block is bi-directionally predictive-coded, it may include an index indicating one or two pictures among the reference pictures of the composite list LC generated by combining the list 0 and the list 1.

*움직임 벡터는 각각의 참조픽쳐 인덱스가 나타내는 픽쳐 내의 예측 블록의 위치를 나타낸다. 움직임 벡터는 화소단위(정수단위)일수도 있으나, 서브화소단위일 수도 있다.The motion vector indicates the position of the prediction block in the picture indicated by each reference picture index. The motion vector may be a pixel unit (integer unit) or a sub-pixel unit.

예를 들어, 1/2, 1/4, 1/8 또는 1/16 화소의 해상도를 가질 수 있다. 움직임 벡터가 정수단위가 아닐 경우에는 예측 블록은 정수 단위의 화소들로부터 생성된다.For example, it may have a resolution of 1/2, 1/4, 1/8 or 1/16 pixels. When the motion vector is not an integer unit, the prediction block is generated from the pixels of the integer unit.

움직임 정보 부호화 모드 결정부는 현재 블록의 움직임 정보를 스킵 모드로 부호화할지, 머지 모드로 부호화할지, AMVP 모드로 부호화할지를 결정한다.The motion information encoding mode determination unit determines whether motion information of the current block is coded in a skip mode, a merge mode, or an AMVP mode.

스킵 모드는 현재 블록의 움직임 정보와 동일한 움직임 정보를 갖는 스킵 후보자가 존재하고, 잔차신호가 0인 경우에 적용된다. 또한, 스킵 모드는 현재 블록이 코딩 유닛과 사이즈가 같을 때 적용된다. 현재 블록은 예측 유닛으로 볼 수 있다.The skip mode is applied when there is a skip candidate having the same motion information as the current block motion information, and the residual signal is zero. The skip mode is also applied when the current block is the same size as the coding unit. The current block can be viewed as a prediction unit.

머지 모드는 현재 블록의 움직임 정보와 동일한 움직임 정보를 갖는 머지 후보자가 존재할 때 적용된다. 머지 모드는 현재 블록이 코딩 유닛과 사이즈가 다르거나, 사이즈가 같을 경우에는 잔차 신호가 존재하는 경우에 적용된다. 머지 후보자와 스킵 후보자는 동일할 수 있다.The merge mode is applied when there is a merge candidate having the same motion information as the current block motion information. The merge mode is applied when there is a residual signal when the current block is different in size from the coding unit or the size is the same. The merge candidate and the skip candidate can be the same.

AMVP 모드는 스킵 모드 및 머지 모드가 적용되지 않을 때 적용된다. 현재 블록의 움직임 벡터와 가장 유사한 움직임 벡터를 갖는 AMVP 후보자를 AMVP 예측자로 선택한다.AMVP mode is applied when skip mode and merge mode are not applied. The AMVP candidate having the motion vector most similar to the motion vector of the current block is selected as the AMVP predictor.

움직임 정보 부호화부는 움직임 정보 부호화 모드 결정부에 의해 결정된 방식에 따라 움직임 정보를 부호화한다. 움직임 정보 부호화 모드가 스킵 모드 또는 머지 모드일 경우에는 머지 움직임 벡터 부호화 과정을 수행한다. 움직임 정보 부호화 모드가 AMVP일 경우에는 AMVP 부호화 과정을 수행한다.The motion information encoding unit encodes motion information according to a method determined by the motion information encoding mode determining unit. When the motion information encoding mode is a skip mode or a merge mode, a merge motion vector encoding process is performed. When the motion information encoding mode is AMVP, the AMVP encoding process is performed.

예측 블록 생성부는 현재 블록의 움직임 정보를 이용하여 예측 블록을 생성한다. 움직임 벡터가 정수 단위일 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐 내의 움직임 벡터가 나타내는 위치에 대응하는 블록을 복사하여 현재 블록의 예측 블록을 생성한다.The prediction block generation unit generates a prediction block using the motion information of the current block. If the motion vector is an integer unit, the block corresponding to the position indicated by the motion vector in the picture indicated by the reference picture index is copied to generate a prediction block of the current block.

그러나, 움직임 벡터가 정수 단위가 아닐 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐내의 정수 단위 화소들로 부터 예측 블록의 화소들을 생성한다.However, when the motion vector is not an integer unit, the pixels of the prediction block are generated from the pixels in the integer unit in the picture indicated by the reference picture index.

이 경우, 휘도 화소의 경우에는 8탭의 보간 필터를 사용하여 예측 화소를 생성할 수 있다. 색차 화소의 경우에는 4탭 보간 필터를 사용하여 예측 화소를 생성할 수 있다.In this case, in the case of a luminance pixel, a prediction pixel can be generated using an 8-tap interpolation filter. In the case of a chrominance pixel, a 4-tap interpolation filter can be used to generate a predictive pixel.

잔차 블록 생성부는 현재 블록과 현재 블록의 예측 블록을 이용하여 잔차 블록을 생성한다. 현재 블록의 크기가 2Nx2N인 경우에는 현재 블록과 현재 블록에 대응하는 2Nx2N 크기의 예측 블록을 이용하여 잔차 블록을 생성한다.The residual block generator uses residual blocks of the current block and the current block to generate residual blocks. If the current block size is 2Nx2N, a residual block is generated using a 2Nx2N prediction block corresponding to the current block and the current block.

그러나, 예측에 이용되는 현재 블록의 크기가 2NxN 또는 Nx2N인 경우에는 2Nx2N을 구성하는 2개의 2NxN 블록 각각에 대한 예측 블록을 구한 후, 상기 2개의 2NxN 예측 블록을 이용하여 2Nx2N 크기의 최종 예측 블록을 생성할 수 있다.However, if the current block size used for prediction is 2NxN or Nx2N, a prediction block for each of the 2NxN blocks constituting 2Nx2N is obtained, and the 2Nx2N final prediction block using the 2NxN prediction blocks is calculated Can be generated.

그리고, 상기 2Nx2N 크기의 예측 블록을 이용하여 2Nx2N 의 잔차 블록을 생성할 수도 있다. 2NxN 크기의 2개의 예측블록들의 경계부분의 불연속성을 해소하기 위해 경계 부분의 픽셀들을 오버랩 스무딩할 수 있다.The 2Nx2N residual block may be generated using the 2Nx2N prediction block. It is possible to overlap-smoothing the pixels of the boundary portion to solve the discontinuity of the boundary portion of 2NxN-sized two prediction blocks.

잔차 블록 부호화부는 생성된 잔차 블록을 하나 이상의 변환 유닛으로 나눈다. 그리고, 각 변환 유닛을 변환 부호화, 양자화 및 엔트로피 부호화된다. 이때, 변환 유닛의 크기는 잔차 블록의 크기에 따라 쿼드트리 방식으로 결정될 수 있다.The residual block coding unit divides the generated residual block into one or more conversion units. Then, each conversion unit is transcoded, quantized, and entropy encoded. At this time, the size of the conversion unit may be determined according to the size of the residual block in a quadtree manner.

잔차 블록 부호화부는 인터 예측 방법에 의해 생성된 잔차 블록을 정수기반 변환 매트릭스를 이용하여 변환한다. 상기 변환 매트릭스는 정수기반 DCT 매트릭스이다.The residual block coding unit transforms the residual block generated by the inter prediction method using an integer-based transform matrix. The transform matrix is an integer-based DCT matrix.

잔차 블록 부호화부는 상기 변환 매트릭스에 의해 변환된 잔차 블록의 계수들을 양자화하기 위해 양자화 매트릭스를 이용한다. 상기 양자화 매트릭스는 양자화 파라미터에 의해 결정된다.The residual block coding unit uses a quantization matrix to quantize the coefficients of the residual block transformed by the transform matrix. The quantization matrix is determined by a quantization parameter.

상기 양자화 파라미터는 미리 정해진 크기 이상의 코딩 유닛별로 결정된다. 상기 미리 정해진 크기는 8x8 또는 16x16일 수 있다. 따라서, 현재 코딩 유닛이 상기 미리 정해진 크기보다 작은 경우에는 상기 미리 정해진 크기 내의 복수개의 코딩 유닛 중 부호화 순서상 첫번째 코딩 유닛의 양자화 파라미터만을 부호화하고, 나머지 코딩 유닛의 양자화 파라미터는 상기 파라미터와 동일하므로 부호화할 필요가 없다.The quantization parameter is determined for each coding unit equal to or larger than a predetermined size. The predetermined size may be 8x8 or 16x16. Therefore, when the current coding unit is smaller than the predetermined size, only the quantization parameters of the first coding unit are encoded in the coding order among the plurality of coding units within the predetermined size, and the quantization parameters of the remaining coding units are the same as the parameters. You do not have to.

그리고, 결정된 양자화 파라미터 및 예측 모드에 따라 결정되는 양자화 매트릭스를 이용하여 상기 변환 블록의 계수들을 양자화한다.The coefficients of the transform block are quantized using a quantization matrix determined according to the determined quantization parameter and the prediction mode.

상기 미리 정해진 크기 이상의 코딩 유닛별로 결정되는 양자화 파라미터는 현재 코딩 유닛에 인접한 코딩 유닛의 양자화 파라미터를 이용하여 예측 부호화된다. 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛 순서로 검색하여 유효한 1개 또는 2개의 유효한 양자화 파라미터를 이용하여 현재 코딩 유닛의 양자화 파라미터 예측자를 생성할 수 있다.The quantization parameter determined for each coding unit equal to or larger than the predetermined size is predictively encoded using a quantization parameter of a coding unit adjacent to the current coding unit. A quantization parameter predictor of the current coding unit can be generated by searching the left coding unit of the current coding unit, the upper coding unit order, and using one or two valid quantization parameters available.

예를 들어, 상기 순서로 검색된 유효한 첫번째 양자화 파라미터를 양자화 파라미터 예측자로 결정할 수 있다. 또한, 좌측 코딩 유닛, 부호화 순서상 바로 이전의 코딩 유닛 순으로 검색하여 유효한 첫번째 양자화 파라미터를 양자화 파라미터 예측자로 결정할 수 있다.For example, a valid first quantization parameter retrieved in the above order may be determined as a quantization parameter predictor. In addition, the first coding unit may be searched in order of the coding unit immediately before in the coding order, and the first validation parameter may be determined as a quantization parameter predictor.

양자화된 변환 블록의 계수들은 스캐닝되어 1차원의 양자화 계수들로 변환한다. 스캐닝 방식은 엔트로피 부호화 모드에 따라 달리 설정될 수 있다. 예를 들어, CABAC으로 부호화될 경우에는 인터 예측 부호화된 양자화 계수들은 미리 정해진 하나의 방식(지그재그, 또는 대각선 방향으로의 래스터 스캔)으로 스캐닝될 수 있다. 반면에 CAVLC으로 부호화될 경우에는 상기 방식과 다른 방식으로 스캐닝될 수 있다.The coefficients of the quantized transform block are scanned and converted into one-dimensional quantization coefficients. The scanning scheme can be set differently according to the entropy encoding mode. For example, in the case of CABAC encoding, the inter prediction encoded quantized coefficients can be scanned in a predetermined manner (zigzag, or raster scan in diagonal direction). On the other hand, when encoded by CAVLC, it can be scanned in a different manner from the above method.

예를 들어, 스캐닝 방식이 인터의 경우에는 지그재그, 인트라의 경우에는 인트라 예측 모드에 따라 결정될 수 있다. 또한, 계수 스캐닝 방식은 변환 단위의 크기에 따라 달리 결정될 수도 있다.For example, the scanning method may be determined according to the intra-prediction mode in the case of interlacing, or the intra-prediction mode in the case of intra. The coefficient scanning method may be determined depending on the size of the conversion unit.

상기 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 양자화 계수들의 스캔순서는 역방향으로 스캔한다.The scan pattern may vary according to the directional intra prediction mode. The scan order of the quantization coefficients is scanned in the reverse direction.

멀티플렉서는 상기 움직임 정보 부호화부에 의해 부호화된 움직임 정보들과 상기 잔차 블록 부호화부에 의해 부호화된 잔차 신호들을 다중화한다. 상기 움직임 정보는 부호화 모드에 따라 달라질 수 있다.The multiplexer multiplexes the motion information encoded by the motion information encoding unit and the residual signals encoded by the residual block encoding unit. The motion information may vary depending on the encoding mode.

즉, 스킵 또는 머지일 경우에는 예측자를 나타내는 인덱스만을 포함한다. 그러나, AMVP일 경우에는 현재 블록의 참조 픽쳐 인덱스, 차분 움직임 벡터 및 AMVP 인덱스를 포함한다.That is, in the case of skipping or merge, only the index indicating the predictor is included. However, in the case of AMVP, the reference picture index, the difference motion vector, and the AMVP index of the current block are included.

이하, 인트라 예측부(169)의 동작에 대한 일실시예를 상세히 설명하기로 한다.Hereinafter, one embodiment of the operation of the intra predictor 169 will be described in detail.

먼저, 픽쳐 분할부(160)에 의해 예측 모드 정보 및 예측 블록의 크기를 수신하며, 예측 모드 정보는 인트라 모드를 나타낸다. 예측 블록의 크기는 64x64, 32x32, 16x16, 8x8, 4x4등의 정방형일 수 있으나, 이에 한정하지 않는다. 즉, 상기 예측 블록의 크기가 정방형이 아닌 비정방형일 수도 있다. First, the picture dividing unit 160 receives the prediction mode information and the size of the prediction block, and the prediction mode information indicates the intra mode. The size of the prediction block may be a square of 64x64, 32x32, 16x16, 8x8, 4x4, or the like, but is not limited thereto. That is, the size of the prediction block may be non-square instead of square.

다음으로, 예측 블록의 인트라 예측 모드를 결정하기 위해 참조 화소를 픽쳐 저장부(172)로부터 읽어 들인다.Next, the reference pixels are read from the picture storage unit 172 to determine the intra-prediction mode of the prediction block.

상기 이용 가능하지 않은 참조화소가 존재하는지 여부를 검토하여 참조 화소 생성 여부를 판단한다. 상기 참조 화소들은 현재 블록의 인트라 예측 모드를 결정하는데 사용된다.It is determined whether or not the reference pixel is generated by examining whether or not the unavailable reference pixel exists. The reference pixels are used to determine the intra prediction mode of the current block.

현재 블록이 현재 픽쳐의 상측 경계에 위치하는 경우에는 현재 블록의 상측에 인접한 화소들이 정의되지 않는다. 또한, 현재 블록이 현재 픽쳐의 좌측 경계에 위치하는 경우에는 현재 블록의 좌측에 인접한 화소들이 정의되지 않는다.If the current block is located at the upper boundary of the current picture, pixels adjacent to the upper side of the current block are not defined. In addition, when the current block is located at the left boundary of the current picture, pixels adjacent to the left side of the current block are not defined.

이러한 화소들은 이용 가능한 화소들이 아닌 것으로 판단한다. 또한, 현재 블록이 슬라이스 경계에 위치하여 슬라이스의 상측 또는 좌측에 인접하는 화소들이 먼저 부호화되어 복원되는 화소들이 아닌 경우에도 이용 가능한 화소들이 아닌 것으로 판단한다.It is determined that these pixels are not usable pixels. In addition, it is determined that the pixels are not usable even if the current block is located at the slice boundary and pixels adjacent to the upper or left side of the slice are not encoded and reconstructed.

상기와 같이 현재 블록의 좌측 또는 상측에 인접한 화소들이 존재하지 않거나, 미리 부호화되어 복원된 화소들이 존재하지 않는 경우에는 이용 가능한 화소들만을 이용하여 현재 블록의 인트라 예측 모드를 결정할 수도 있다.As described above, if there are no pixels adjacent to the left or upper side of the current block, or if there are no pixels that have been previously coded and reconstructed, the intra prediction mode of the current block may be determined using only available pixels.

그러나, 현재 블록의 이용 가능한 참조화소들을 이용하여 이용 가능하지 않은 위치의 참조화소들을 생성할 수도 있다. 예를 들어, 상측 블록의 화소들이 이용 가능하지 않은 경우에는 좌측 화소들의 일부 또는 전부를 이용하여 상측 화소들을 생성할 수 있고, 그 역으로도 가능하다.However, it is also possible to use the available reference pixels of the current block to generate reference pixels of unusable positions. For example, if the pixels of the upper block are not available, the upper pixels may be created using some or all of the left pixels, or vice versa.

즉, 이용 가능하지 않은 위치의 참조화소로부터 미리 정해진 방향으로 가장 가까운 위치의 이용 가능한 참조화소를 복사하여 참조화소로 생성할 수 있다. 미리 정해진 방향에 이용 가능한 참조화소가 존재하지 않는 경우에는 반대 방향의 가장 가까운 위치의 이용 가능한 참조화소를 복사하여 참조화소로 생성할 수 있다.That is, available reference pixels at positions closest to the predetermined direction from the reference pixels at unavailable positions can be copied and generated as reference pixels. When there is no usable reference pixel in a predetermined direction, the usable reference pixel at the closest position in the opposite direction can be copied and generated as a reference pixel.

한편, 현재 블록의 상측 또는 좌측 화소들이 존재하는 경우에도 상기 화소들이 속하는 블록의 부호화 모드에 따라 이용 가능하지 않은 참조 화소로 결정될 수 있다.On the other hand, even if the upper or left pixels of the current block exist, the reference pixel may be determined as an unavailable reference pixel according to the encoding mode of the block to which the pixels belong.

예를 들어, 현재 블록의 상측에 인접한 참조 화소가 속하는 블록이 인터 부호화되어 복원된 블록일 경우에는 상기 화소들을 이용 가능하지 않은 화소들로 판단할 수 있다.For example, if the block to which the reference pixel adjacent to the upper side of the current block belongs is inter-coded and the reconstructed block, the pixels can be determined as unavailable pixels.

이 경우에는 현재 블록에 인접한 블록이 인트라 부호화되어 복원된 블록에 속하는 화소들을 이용하여 이용 가능한 참조 화소들을 생성할 수 있다. 이 경우에는 부호기에서 부호화 모드에 따라 이용 가능한 참조 화소를 판단한다는 정보를 복호기로 전송해야 한다.In this case, it is possible to generate usable reference pixels by using pixels belonging to the restored block by intra-coded blocks adjacent to the current block. In this case, information indicating that the encoder determines available reference pixels according to the encoding mode must be transmitted to the decoder.

다음으로, 상기 참조 화소들을 이용하여 현재 블록의 인트라 예측 모드를 결정한다. 현재 블록에 허용 가능한 인트라 예측 모드의 수는 블록의 크기에 따라 달라질 수 있다. 예를 들어, 현재 블록의 크기가 8x8, 16x16, 32x32인 경우에는 34개의 인트라 예측 모드가 존재할 수 있고, 현재 블록의 크기가 4x4인 경우에는 17개의 인트라 예측 모드가 존재할 수 있다.Next, an intra prediction mode of the current block is determined using the reference pixels. The number of intra prediction modes that can be allowed in the current block may vary depending on the size of the block. For example, if the current block size is 8x8, 16x16, or 32x32, there may be 34 intra prediction modes. If the current block size is 4x4, 17 intra prediction modes may exist.

상기 34개 또는 17개의 인트라 예측 모드는 적어도 하나 이상의 비방향성 모드(non-directional mode)와 복수개의 방향성 모드들(directional modes)로 구성될 수 있다.The 34 or 17 intra prediction modes may include at least one non-directional mode and a plurality of directional modes.

하나 이상의 비방향성 모드는 DC 모드 및/또는 플래너(planar) 모드일수 있다. DC 모드 및 플래너모드가 비방향성 모드로 포함되는 경우에는, 현재 블록의 크기에 관계없이 35개의 인트라 예측 모드가 존재할 수도 있다.The one or more non-directional modes may be a DC mode and / or a planar mode. When the DC mode and the planar mode are included in the non-directional mode, there may be 35 intra-prediction modes regardless of the size of the current block.

이 때에는 2개의 비방향성 모드(DC 모드 및 플래너 모드)와 33개의 방향성 모드를 포함할 수 있다.At this time, it may include two non-directional modes (DC mode and planar mode) and 33 directional modes.

플래너 모드는 현재 블록의 우하측(bottom-right)에 위치하는 적어도 하나의 화소값(또는 상기 화소값의 예측값, 이하 제1 참조값이라 함)과 참조화소들을 이용하여 현재 블록의 예측 블록을 생성한다.The planner mode generates a prediction block of the current block using at least one pixel value (or a predicted value of the pixel value, hereinafter referred to as a first reference value) located at the bottom-right of the current block and the reference pixels .

상기한 바와 같이, 본 발명의 일실시예에 따른 동영상 복호화 장치의 구성은 도 1, 2 및 도 9를 참조하여 설명한 동영상 부호화 장치의 구성으로부터 도출될 수 있으며, 예를 들어 도 2 및 도 10을 참조하여 설명한 바와 같은 부호화 과정의 역과정을 수행함으로써 영상을 복호화할 수 있다.As described above, the configuration of the moving picture decoding apparatus according to an embodiment of the present invention can be derived from the configuration of the moving picture coding apparatus described with reference to FIGS. 1, 2 and 9, and for example, The image can be decoded by performing an inverse process of the encoding process as described with reference to FIG.

도 13은 본 발명의 일실시예에 따른 동영상 복호화 장치의 구성을 블록도로 도시한 것이다.13 is a block diagram illustrating a configuration of a moving picture decoding apparatus according to an embodiment of the present invention.

도 13을 참조하면, 본 발명에 따른 동영상 복호화 장치는, 엔트로피 복호화부(210), 역양자화/역변환부(220), 가산기(270), 디블록킹 필터(250), 픽쳐 저장부(260), 인트라 예측부(230), 움직임 보상 예측부(240) 및 인트라/인터전환 스위치(280)를 구비한다.13, the moving picture decoding apparatus according to the present invention includes an entropy decoding unit 210, an inverse quantization / inverse transform unit 220, an adder 270, a deblocking filter 250, a picture storage unit 260, An intra prediction unit 230, a motion compensation prediction unit 240, and an intra / inter changeover switch 280.

엔트로피 복호화부(210)는, 동영상 부호화 장치로부터 전송되는 부호화 비트 스트림을 복호하여, 인트라 예측 모드 인덱스, 움직임 정보, 양자화 계수 시퀀스 등으로 분리한다. 엔트로피 복호화부(210)는 복호된 움직임 정보를 움직임 보상 예측부(240)에 공급한다.The entropy decoding unit 210 decodes the encoded bit stream transmitted from the moving picture encoding apparatus into an intra prediction mode index, motion information, a quantized coefficient sequence, and the like. The entropy decoding unit 210 supplies the decoded motion information to the motion compensation prediction unit 240. [

*엔트로피 복호화부(210)는 상기 인트라 예측 모드 인덱스를 상기 인트라 예측부(230), 역양자화/역변환부(220)로 공급한다. 또한, 상기 엔트로피 복호화부(210)는 상기 역양자화 계수 시퀀스를 역양자화/역변환부(220)로 공급한다.The entropy decoding unit 210 supplies the intra prediction mode index to the intraprediction unit 230 and the inverse quantization / inverse transformation unit 220. In addition, the entropy decoding unit 210 supplies the inverse quantization coefficient sequence to the inverse quantization / inverse transformation unit 220.

역양자화/역변환부(220)는 상기 양자화 계수 시퀀스를 2차원 배열의 역양자화 계수로 변환한다. 상기 변환을 위해 복수개의 스캐닝 패턴 중에 하나를 선택한다. 현재 블록의 예측모드(즉, 인트라 예측 및 인터 예측 중의 어느 하나)와 인트라 예측 모드 중 적어도 하나에 기초하여 복수개의 스캐닝 패턴 중 하나를 선택한다.The inverse quantization / inverse transform unit 220 transforms the quantized coefficient sequence into an inverse quantization coefficient of the two-dimensional array. One of a plurality of scanning patterns is selected for the conversion. One of a plurality of scanning patterns is selected based on at least one of a prediction mode of the current block (i.e., one of intra prediction and inter prediction) and the intra prediction mode.

상기 인트라 예측 모드는 인트라 예측부 또는 엔트로피 복호화부로부터 수신한다.The intraprediction mode is received from an intraprediction unit or an entropy decoding unit.

역양자화/역변환부(220)는 상기 2차원 배열의 역양자화 계수에 복수개의 양자화 매트릭스 중 선택된 양자화 매트릭스를 이용하여 양자화 계수를 복원한다. 복원하고자 하는 현재 블록의 크기에 따라 서로 다른 양자화 매트릭스가 적용되며, 동일 크기의 블록에 대해서도 상기 현재 블록의 예측 모드 및 인트라 예측 모드 중 적어도 하나에 기초하여 양자화 매트릭스를 선택한다.The inverse quantization / inverse transform unit 220 restores the quantization coefficients using the selected quantization matrix among the plurality of quantization matrices to the inverse quantization coefficients of the two-dimensional array. A different quantization matrix is applied according to the size of the current block to be restored and a quantization matrix is selected based on at least one of a prediction mode and an intra prediction mode of the current block with respect to the same size block.

그리고, 상기 복원된 양자화 계수를 역변환하여 잔차 블록을 복원한다.Then, the reconstructed quantized coefficient is inversely transformed to reconstruct the residual block.

가산기(270)는 역양자화/역변환부(220)에 의해 복원된 잔차 블록과 인트라 예측부(230) 또는 움직임 보상 예측부(240)에 의해 생성되는 예측 블록을 가산함으로써, 영상 블록을 복원한다.The adder 270 reconstructs the image block by adding the residual block reconstructed by the inverse quantization / inverse transforming unit 220 to the intra prediction unit 230 or the prediction block generated by the motion compensation prediction unit 240.

디블록킹 필터(250)는 가산기(270)에 의해 생성된 복원 영상에 디블록킹 필터 처리를 실행한다. 이에 따라, 양자화 과정에 따른 영상 손실에 기인하는 디블록킹 아티펙트를 줄일 수 있다.The deblocking filter 250 performs deblocking filter processing on the reconstructed image generated by the adder 270. Accordingly, the deblocking artifact due to the video loss due to the quantization process can be reduced.

픽쳐 저장부(260)는 디블록킹 필터(250)에 의해 디블록킹 필터 처리가 실행된 로컬 복호 영상을 유지하는 프레임 메모리이다.The picture storage unit 260 is a frame memory for holding a local decoded picture in which the deblocking filter process is performed by the deblocking filter 250.

인트라 예측부(230)는 엔트로피 복호화부(210)로부터 수신된 인트라 예측 모드 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 복원한다. 그리고, 복원된 인트라 예측 모드에 따라 예측 블록을 생성한다.The intraprediction unit 230 restores the intra prediction mode of the current block based on the intra prediction mode index received from the entropy decoding unit 210. A prediction block is generated according to the restored intra prediction mode.

움직임 보상 예측부(240)는 움직임 벡터 정보에 기초하여 픽쳐 저장부(260)에 저장된 픽쳐로부터 현재 블록에 대한 예측 블록을 생성한다. 소수 정밀도의 움직임 보상이 적용될 경우에는 선택된 보간 필터를 적용하여 예측 블록을 생성한다.The motion compensation prediction unit 240 generates a prediction block for the current block from the picture stored in the picture storage unit 260 based on the motion vector information. When motion compensation with a decimal precision is applied, a prediction block is generated by applying a selected interpolation filter.

인트라/인터 전환 스위치(280)는 부호화 모드에 기초하여 인트라 예측부(230)와 움직임 보상 예측부(240)의 어느 하나에서 생성된 예측 블록을 가산기(270)에 제공한다.The intra / inter selector switch 280 provides the adder 270 with a prediction block generated in either the intra prediction unit 230 or the motion compensation prediction unit 240 based on the coding mode.

이와 같은 방식으로 복원된 현재 블록의 예측 블록과 복호화한 현재 블록의 잔차 블록을 이용하여 현재 블록이 복원된다.The current block is reconstructed using the predicted block of the current block restored in this manner and the residual block of the decoded current block.

본 발명의 일실시예에 따른 동영상 비트스트림은 하나의 픽처에서의 부호화된 데이터를 저장하는데 사용되는 단위로서, PS(parameter sets)와 슬라이스 데이터를 포함할 수 있다.The moving picture bitstream according to an embodiment of the present invention may include PS (parameter sets) and slice data as a unit used to store coded data in one picture.

PS(parameter sets)는, 각 픽처의 헤드에 상당하는 데이터인 픽처 파라미터 세트(이하 간단히 PPS라 한다)와 시퀀스 파라미터 세트(이하 간단히 SPS라 한다)로 분할된다. 상기 PPS와 SPS는 각 부호화를 초기화하는데 필요한 초기화 정보를 포함할 수 있으며, 본 발명의 실시 예에 따른 공간적 구조 정보(SPATIAL LAYOUT INFORMATION)가 포함될 수 있다.A PS (parameter set) is divided into a picture parameter set (hereinafter, simply referred to as PPS) and a sequence parameter set (hereinafter simply referred to as SPS) which are data corresponding to the heads of each picture. The PPS and the SPS may include initialization information required to initialize each encoding, and may include SPATALAYOUT INFORMATION according to an embodiment of the present invention.

SPS는 램덤 액세스 유닛(RAU)으로 부호화된 모든 픽처를 복호화하기 위한 공통 참조 정보로서, 프로파일, 참조용으로 사용 가능한 픽처의 최대 수 및 픽처 크기 등을 포함할 수 있다.The SPS is common reference information for decoding all pictures coded in the random access unit (RAU), and may include a profile, a maximum number of pictures usable for reference, a picture size, and the like.

PPS는, 랜덤 액세스 유닛(RAU)으로 부호화된 각 픽처에 대해, 픽처를 복호화하기 위한 참조 정보로서 가변 길이 부호화 방법의 종류, 양자화 단계의 초기값 및 다수의 참조 픽처들을 포함할 수 있다.For each picture coded by the random access unit (RAU), the PPS may include a variable length coding method as reference information for decoding the picture, an initial value of the quantization step, and a plurality of reference pictures.

한편, 슬라이스 헤더(SH)는 슬라이스 단위의 코딩시 해당 슬라이스에 대한 정보를 포함한다.On the other hand, the slice header SH includes information on the corresponding slice when coding is performed on a slice basis.

상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.The method according to the present invention may be implemented as a program for execution on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include a ROM, a RAM, a CD- , A floppy disk, an optical data storage device, and the like.

컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And, functional programs, codes and code segments for implementing the above method can be easily inferred by programmers of the technical field to which the present invention belongs.

Claims (10)

영상 처리 방법에 있어서,
처리할 가상 현실 영상의 영상 정보를 획득하는 단계;
상기 영상 정보의 변환 포맷에 대응하는 활성 영역 및 비활성 영역을 식별하는 단계;
상기 활성 영역의 화소 정보를 이용하여, 상기 비활성 영역에 대한 패딩 처리를 수행하는 단계; 및
상기 패딩 처리된 영상 정보에 대응하는 부호화 또는 복호화 처리를 수행하는 단계를 포함하는
영상 처리 방법.
In the image processing method,
Acquiring image information of a virtual reality image to be processed;
Identifying an active area and a non-active area corresponding to a conversion format of the image information;
Performing padding processing on the inactive area using pixel information of the active area; And
And performing encoding or decoding processing corresponding to the padding processed video information
Image processing method.
제1항에 있어서,
상기 패딩 처리를 수행하는 단계는,
상기 활성 영역의 경계 화소 정보를 획득하는 단계; 및
상기 경계 화소 정보를 이용하여 상기 비활성 영역을 패딩하는 단계를 포함하는
영상 처리 방법.
The method according to claim 1,
The step of performing the padding process includes:
Obtaining boundary pixel information of the active area; And
And padding the inactive area using the boundary pixel information
Image processing method.
제1항에 있어서,
상기 패딩 처리를 수행하는 단계는,
상기 활성 영역의 제1 경계 화소 정보 및 제2 경계 화소 정보를 획득하는 단계; 및
상기 제1 경계 화소 정보와, 제2 경계 화소 정보를 보간 처리하여, 상기 비활성 영역을 패딩하는 단계를 포함하는
영상 처리 방법.
The method according to claim 1,
The step of performing the padding process includes:
Obtaining first boundary pixel information and second boundary pixel information of the active region; And
And interpolating the first boundary pixel information and the second boundary pixel information and padding the inactive area
Image processing method.
제1항에 있어서,
상기 패딩 처리를 수행하는 단계는,
상기 활성 영역의 제1 경계 화소 정보 및 제2 경계 화소 정보를 획득하는 단계; 및
상기 제1 경계 화소 정보와, 제2 경계 화소 정보를 평균 처리한 값으로, 상기 비활성 영역을 패딩하는 단계를 포함하는
영상 처리 방법.
The method according to claim 1,
The step of performing the padding process includes:
Obtaining first boundary pixel information and second boundary pixel information of the active region; And
And padding the inactive area with a value obtained by averaging the first boundary pixel information and the second boundary pixel information
Image processing method.
제1항에 있어서,
상기 부호화 또는 복호화 처리를 수행하는 단계는,
상기 패딩 처리된 영상 정보를 포함하는 참조 픽처 버퍼를 구성하여, 패딩 기반 영상 예측 수행을 처리하는 단계를 포함하는
영상 처리 방법.
The method according to claim 1,
Wherein the step of performing the encoding or decoding comprises:
Constructing a reference picture buffer including the padded image information to process a padding based image prediction operation,
Image processing method.
제1항에 있어서,
상기 활성 영역 및 비활성 영역을 식별하는 단계는,
상기 가상 현실 영상의 포맷을 비활성 영역이 존재하는 포맷과, 비활성 영역이 존재하지 않는 포맷으로 구분하는 단계를 더 포함하는
영상 처리 방법.
The method according to claim 1,
Wherein identifying the active and inactive regions comprises:
And separating the format of the virtual reality image into a format in which the inactive area exists and a format in which the inactive area does not exist
Image processing method.
제6항에 있어서,
상기 구분하는 단계는,
상기 가상 현실 영상에 대응하여, 미리 설정된 ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP, RSP 를 포함하는 변환 포맷 중 적어도 한가지를 변환 포맷으로서 선택하는 단계; 및
상기 변환 포맷 중 SSP 또는 RSP가 결정된 경우, 비활성 영역이 존재하는 포맷으로 구분하고, ERP 또는 CMP가 결정된 경우, 비활성 영역이 존재하지 않는 포맷으로 구분하는 단계를 포함하는
영상 처리 방법.
The method according to claim 6,
Wherein the distinguishing step comprises:
Selecting at least one of conversion formats including preset ERP, CMP, ACP, EAP, OHP, ISP, TSP, SSP and RSP as a conversion format corresponding to the virtual reality image; And
Dividing the SSP or RSP into a format in which an inactive area is present if the SSP or the RSP is determined in the conversion format, and if the ERP or CMP is determined,
Image processing method.
제1항에 있어서,
상기 구분하는 단계는,
상기 패딩된 비활성 영역과, 상기 활성 영역 사이의 블렌딩 처리를 수행하는 단계를 더 포함하는
영상 처리 방법.
The method according to claim 1,
Wherein the distinguishing step comprises:
Further comprising performing a blending process between the padded inactive region and the active region
Image processing method.
영상 처리 장치에 있어서,
처리할 가상 현실 영상의 영상 정보를 획득하면, 상기 영상 정보의 변환 포맷에 대응하는 활성 영역 및 비활성 영역을 식별하는 비활성 영역 포맷 결정부;
상기 활성 영역의 화소 정보를 이용하여, 상기 비활성 영역에 대한 패딩 처리를 수행하는 비활성 영역 패딩부; 및
상기 패딩 처리된 영상 정보에 대응하는 부호화 또는 복호화 처리를 수행하는 영상 처리 장치를 포함하는
영상 처리 장치.
An image processing apparatus comprising:
An inactive area format determination unit for identifying an active area and a non-active area corresponding to a conversion format of the image information when acquiring image information of a virtual reality image to be processed;
An inactive area padding unit for performing padding processing on the inactive area using pixel information of the active area; And
And an image processing apparatus that performs encoding or decoding processing corresponding to the padded image information
Image processing apparatus.
제9항에 있어서,
상기 영상 처리 장치는 상기 가상 현실 영상을 부호화 또는 복호화 처리하는 부호화 장치 또는 복호화 장치인
영상 처리 장치.
10. The method of claim 9,
The image processing apparatus includes an encoding device or a decoding device for encoding or decoding the virtual reality image
Image processing apparatus.
KR1020180099127A 2017-08-25 2018-08-24 A method for encoding/decoding a virtual reality video KR20190022399A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170107718 2017-08-25
KR1020170107718 2017-08-25
KR1020180062382 2018-05-31
KR1020180062382A KR20190022300A (en) 2017-08-25 2018-05-31 A method for encoding/decoding a virtual reality video

Publications (1)

Publication Number Publication Date
KR20190022399A true KR20190022399A (en) 2019-03-06

Family

ID=65761669

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180062382A KR20190022300A (en) 2017-08-25 2018-05-31 A method for encoding/decoding a virtual reality video
KR1020180099127A KR20190022399A (en) 2017-08-25 2018-08-24 A method for encoding/decoding a virtual reality video

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180062382A KR20190022300A (en) 2017-08-25 2018-05-31 A method for encoding/decoding a virtual reality video

Country Status (1)

Country Link
KR (2) KR20190022300A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102568141B1 (en) 2021-03-23 2023-08-17 한국항공대학교산학협력단 System and method for padding inert part of video

Also Published As

Publication number Publication date
KR20190022300A (en) 2019-03-06

Similar Documents

Publication Publication Date Title
CN109691110B (en) Method and apparatus for encoding/decoding synchronous multi-view video using spatial layout information
US11539882B2 (en) Method and apparatus for reconstructing 360-degree image according to projection format
KR102014240B1 (en) A method for seletively decoding a syncronized multi view video by using spatial layout information
KR20240049530A (en) Method and apparatus for encoding/decoding image and recording medium for storing bitstream
US20190335203A1 (en) Intra-prediction method and device in image coding system for 360-degree video
US11778331B2 (en) Image data encoding/decoding method and apparatus
US20200267385A1 (en) Method for processing synchronised image, and apparatus therefor
KR20190022399A (en) A method for encoding/decoding a virtual reality video
KR102537024B1 (en) A method for encoding/decoding a virtual reality video
KR20180107007A (en) Method and apparatus for processing a video signal
KR20190113655A (en) Method and apparatus for processing video signal
KR20180028298A (en) A method for encoding/decoding a syncronized multi view video by using spatial layout information
KR102312285B1 (en) A method for seletively decoding a syncronized multi view video by using spatial layout information
KR102648652B1 (en) A method and an apparatus for processing high resolution videos
KR20190007254A (en) A method and an appratus for processing videos based on syncronized region
KR20200052763A (en) A method for encoding/decoding a video based on moving information of 3-dimensional sphere
KR20200052762A (en) A method for encoding/decoding a video based on moving information of 3-dimensional sphere
KR20190005452A (en) A method and an appratus for processing videos based on syncronized regions
KR20180028300A (en) A method for providing media bitstream of a syncronized multi view video by using spatial layout information

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination