KR20150069110A - Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method - Google Patents

Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method Download PDF

Info

Publication number
KR20150069110A
KR20150069110A KR1020130155132A KR20130155132A KR20150069110A KR 20150069110 A KR20150069110 A KR 20150069110A KR 1020130155132 A KR1020130155132 A KR 1020130155132A KR 20130155132 A KR20130155132 A KR 20130155132A KR 20150069110 A KR20150069110 A KR 20150069110A
Authority
KR
South Korea
Prior art keywords
coding tree
unit
tree unit
intra
dependency
Prior art date
Application number
KR1020130155132A
Other languages
Korean (ko)
Other versions
KR101580723B1 (en
Inventor
송용호
조송현
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020130155132A priority Critical patent/KR101580723B1/en
Publication of KR20150069110A publication Critical patent/KR20150069110A/en
Application granted granted Critical
Publication of KR101580723B1 publication Critical patent/KR101580723B1/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

Disclosed is a method for a high-speed parallel processing based on a dependency of an intra prediction, and a video decoding apparatus using the same. The video parallel processing method based on a dependency of an intra prediction comprises the steps of: detecting an intra-coded coding unit among at least one coding unit which divides coding tree units constituting a picture; determining an actual data dependency of an intra prediction with regard to the coding tree unit based on the intra-coded coding unit on the coding tree unit; and performing a parallel processing with regard to the coding tree unit by using the actual data dependency. Accordingly, it is possible to detect an actual data dependency between coding tree units in an intra prediction and to perform a parallel processing of a video based on the actual data dependency only which is detected.

Description

인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법 및 이를 이용한 비디오 복호화 장치{METHOD FOR VIDEO PARALLEL PROCESSING BASED ON DEPENDENCY OF INTRA PREDICTION AND APPARATUS FOR VIDEO DECODING USING THE METHOD}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a video parallel processing method based on dependency of intra prediction and a video decoding apparatus using the video parallel processing method and a video decoding apparatus using the video parallel processing method.

본 발명은 비디오의 부호화 및 복호화에 관한 것으로, 더욱 상세하게는 인트라 예측의 의존성에 기반하여 비디오를 고속 병렬 처리하는 방법 및 이를 이용하는 비디오 복호화 장치에 관한 것이다.The present invention relates to encoding and decoding video, and more particularly, to a method for high-speed parallel processing of video based on intra-prediction dependency and a video decoding apparatus using the same.

최근에는 스마트폰과 스마트TV의 등장으로 인하여 유·무선 통신 네트워크를 통한 동영상 데이터의 이용이 폭발적으로 증가하고 있는 추세이다. 동영상 데이터는 일반 텍스트 데이터에 비하여 정보 전달 능력이 뛰어난 반면에 용량이 매우 크기 때문에 제한된 대역폭을 가진 네트워크 채널에서 데이터를 전송하거나 재생 및 저장하는데 어려움이 존재한다. 또한, 어플리케이션의 요구에 따라서 방대한 동영상 정보가 적절히 처리되어야 하므로, 동영상을 처리하기 위한 시스템 또한 높은 사양이 요구된다. In recent years, the use of video data through wired and wireless communication networks has been exploding due to the emergence of smart phones and smart TVs. Video data has superior information transmission capability than plain text data, but has a very large capacity, which makes it difficult to transmit, reproduce and store data in a network channel having a limited bandwidth. In addition, since a large amount of moving picture information is appropriately processed according to the demand of an application, a system for processing a moving picture also requires a high specification.

H.264/AVC와 비교하여 약 2 배 이상의 압축 효율을 갖는 것으로 알려져 있는 차세대 비디오 압축 표준 기술로 HEVC(High Efficiency Video Coding)에 대한 표준화가 최근에 완료되었다. The standardization of HEVC (High Efficiency Video Coding) has been recently completed with the next generation video compression standard technology known to have a compression efficiency twice as high as H.264 / AVC.

HEVC는 쿼드트리(quadtree) 구조를 가진 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit)을 정의하고 있으며, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset), 디블록킹 필터(Deblocking filter)와 같은 추가적인 인루프 필터를 적용하고 있다. 또한, 기존의 인트라 예측(intra prediction) 및 인터 예측(inter prediction)을 개선하여 압축 부호화 효율을 향상시키고 있다. The HEVC defines a coding unit (CU), a prediction unit (PU) and a transform unit (TU) having a quadtree structure. The sample adaptive offset (SAO: Sample Adaptive Offset), and deblocking filters. In addition, the conventional intra prediction and inter prediction are improved to improve compression encoding efficiency.

한편, 비디오 코덱의 복호화기에서는 많은 연산을 수행하기 때문에 고속의 복호화를 위해서 병렬 처리 기법이 자주 사용된다. 특히, H.264 또는 HEVC 등과 같은 비디오 코덱에서의 병렬 처리는 코딩 툴(coding tool) 중 하나인 인트라 예측(Intra prediction)에 의해 발생하는 데이터 의존성에 의해 제약을 받는다. On the other hand, since the video codec decoder performs many operations, a parallel processing technique is frequently used for high speed decoding. Particularly, parallel processing in a video codec such as H.264 or HEVC is limited by data dependency caused by Intra prediction which is one of coding tools.

즉, 종래의 병렬 처리 기술들은 인트라 예측 알고리즘에 의해 발생할 가능성이 있는 모든 데이터 의존성들이 존재한다고 가정하고 병렬 처리를 수행하였다. That is, conventional parallel processing techniques have performed parallel processing, assuming that all data dependencies that may be generated by the intra prediction algorithm exist.

그러나 종래의 병렬 처리 기술들에 따른 데이터 의존성 중 상당 수는 실제로는 존재하지 않는데도 불필요하게 병렬 처리를 방해하는 문제점이 있다.However, a large number of data dependencies according to the conventional parallel processing techniques are not actually existed, but there is also a problem that it hinders parallel processing unnecessarily.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 인트라 예측을 수행하는데 있어 실제 데이터 의존성에 기반하여 비디오를 병렬 처리하는 방법을 제공하는데 있다.It is an object of the present invention to solve the above problems and provide a method of parallel processing video based on actual data dependency in performing intra prediction.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 인트라 예측을 수행하는데 있어 실제 데이터 의존성에 기반하여 멀티 프로세서를 활용하여 비디오를 고속 복호화하는 장치를 제공하는데 있다.It is another object of the present invention to solve the above problems and provide an apparatus for fast decoding video using a multi-processor based on actual data dependency in performing intra prediction.

상기 목적을 달성하기 위한 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법은, 픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출하는 단계와, 코딩 트리 유닛 상에서 인트라 코딩된 코딩 유닛의 위치에 기반하여 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계와, 실제 데이터 의존성을 이용하여 코딩 트리 유닛에 대한 병렬 처리를 수행하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of video parallel processing based on intra-prediction dependency, comprising: detecting an intra-coded coding unit among at least one coding unit dividing a coding tree unit constituting a picture; Determining an actual data dependence of the intra prediction on the coding tree unit based on the location of the intra-coded coding unit on the coding tree unit, performing parallel processing on the coding tree unit using the actual data dependency .

여기에서, 상기 코딩 트리 유닛은, 래스터 스캔 순서(raster scan order)에 따라 복호화될 수 있다. Here, the coding tree unit may be decoded according to a raster scan order.

여기에서, 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는, 인트라 코딩된 코딩 유닛이 코딩 트리 유닛의 경계와 접한 부분에 기반하여 인트라 예측의 실제 데이터 의존성을 결정할 수 있다. Wherein determining the actual data dependency of the intra prediction for the coding tree unit may determine the actual data dependency of the intra prediction based on the portion of the intra coded coding unit in contact with the boundary of the coding tree unit.

여기에서, 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는, 코딩 트리 유닛의 좌측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 코딩 트리 유닛의 좌측에 위치한 코딩 트리 유닛과 의존 관계에 있고, 코딩 트리 유닛의 상측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 코딩 트리 유닛의 상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다. Wherein the step of determining the actual data dependency of the intra prediction for the coding tree unit comprises the steps of: if the intra-coded unit exists at a position adjacent to the left boundary of the coding tree unit, And the intra-coded unit exists at a position adjacent to the upper boundary of the coding tree unit, the coding tree unit determines that the coding tree unit is in a dependency relation with the coding tree unit located at the upper side of the coding tree unit .

여기에서, 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는, 코딩 트리 유닛의 좌측 및 상측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 코딩 트리 유닛의 좌상측에 위치한 코딩 트리 유닛과 의존 관계에 있고, 코딩 트리 유닛의 상측 및 우측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 코딩 트리 유닛의 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다. Wherein the step of determining the actual data dependency of the intra prediction for the coding tree unit comprises the steps of: if an intra-coded unit exists at a position adjacent to the left and upper boundaries of the coding tree unit, When there is an intra coded unit in dependence on a coding tree unit positioned on the upper left side and in a position in contact with upper and right boundaries of the coding tree unit, the coding tree unit includes a coding tree unit located on the upper right side of the coding tree unit, Can be determined to be in a dependency relationship.

여기에서, 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는, 코딩 트리 유닛의 경계와 접한 위치에 인트라 코딩된 유닛이 존재하지 않지 않거나, 코딩 트리 유닛의 하측 또는 우측 중 적어도 하나에만 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 다른 코딩 트리 유닛과 의존 관계가 없는 것으로 결정할 수 있다. Wherein determining the actual data dependency of the intra prediction for the coding tree unit comprises determining whether the intra-coded unit does not exist at a position adjacent to the boundary of the coding tree unit or at least one of the lower or right side of the coding tree unit If there is an intra-coded unit at a location that is close together, the coding tree unit may determine that there is no dependency on another coding tree unit.

여기에서, 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는, 인트라 코딩된 유닛이 코딩 트리 유닛과 동등한 경우에는, 코딩 트리 유닛은 코딩 트리 유닛의 좌측, 좌상측, 상측 및 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다. Wherein the step of determining the actual data dependency of the intra prediction for the coding tree unit comprises the steps of: if the intra-coded unit is equivalent to the coding tree unit, the coding tree unit determines the left, upper left, It can be determined that there is a dependency relation with the coding tree unit located at the side

여기에서, 상기 코딩 트리 유닛에 대한 병렬 처리를 수행하는 단계는, 인트라 예측의 실제 데이터 의존성을 이용하여 픽처에 포함된 복수의 코딩 트리 블록 간의 의존 관계를 나타나는 방향성 비사이클 그래프(directed acyclic graph)를 생성하는 단계와, 방향성 비사이클링 그래프에 기반하여 복수의 코딩 트리 블록들을 병렬 처리하는 단계를 포함할 수 있다. The step of performing the parallel processing on the coding tree unit may include a step of generating a directed acyclic graph indicating a dependency between a plurality of coding tree blocks included in the picture using the actual data dependency of the intra prediction And parallelizing the plurality of coding tree blocks based on the directional bicycling graph.

여기에서, 상기 복수의 코딩 트리 블록들을 병렬 처리하는 단계는, 서로 간에 인트라 예측의 실제 데이터 의존성이 없는 복수의 코딩 트리 블록의 각각을 서로 다른 프로세서에 할당하여 인트라 예측을 수행할 수 있다. Here, the parallel processing of the plurality of coding tree blocks may perform intra prediction by allocating each of a plurality of coding tree blocks having no actual data dependency of intra prediction to different processors.

여기에서, 상기 비디오 병렬 처리 방법은, 비디오 복호화 과정에서 수행될 수 있다. Here, the video parallel processing method may be performed in a video decoding process.

상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 복호화 장치는, 픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출하는 코딩 유닛 검출 모듈과, 코딩 트리 유닛 상에서 인트라 코딩된 코딩 유닛의 위치에 기반하여 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 의존성 결정 모듈과, 실제 데이터 의존성을 이용하여 코딩 트리 유닛에 대한 병렬 처리를 수행하는 병렬 처리 모듈을 포함한다. According to another aspect of the present invention, there is provided an apparatus for decoding a video based on intra-prediction dependency according to an embodiment of the present invention. The apparatus includes a coding unit that detects an intra-coded coding unit among at least one coding unit that divides a coding- A unit detection module, a dependency determination module for determining an actual data dependence of the intra prediction on the coding tree unit based on the position of the intra-coded coding unit on the coding tree unit, And a parallel processing module for performing processing.

상기와 같은 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법 및 이를 이용한 비디오 복호화 장치는, 인트라 예측에 있어서 코딩 트리 유닛 간의 실제 데이터 의존성을 검출하고, 검출된 실제 데이터 의존성만을 고려하여 비디오를 병렬 처리할 수 있다. The video parallel processing method based on dependency of intra prediction according to an embodiment of the present invention as described above detects an actual data dependence between coding tree units in intra prediction and considers only the detected actual data dependency So that video can be processed in parallel.

또한, 검출된 실제 데이터 의존성에 기반한 방향성 비사이클 그래프를 이용하여 멀티 프로세서를 효과적으로 활용할 수 있는 장점이 있다. In addition, there is an advantage that the multiprocessor can be effectively utilized by using the directional uncyclic graph based on the detected actual data dependency.

도 1은 HEVC에 따른 픽처의 계층적 구조를 설명하기 위한 개념도이다.
도 2는 CTU 레벨의 잠정 데이터 의존 관계를 설명하기 위한 개념도이다.
도 3은 본 발명의 실시예에 따른 현재 코딩 트리 유닛에 대한 실제 데이터 의존 관계를 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 실제 데이터 의존성을 추론하는 과정을 설명하기 위한 개념도이다.
도 5는 본 발명의 실시예에 따른 실제 데이터 의존성을 결정하는 알고리즘을 설명하기 위한 예시도이다.
도 6은 종래의 병렬 처리에 따른 코딩 트리 유닛 간의 의존 관계를 나타내는 방향성 비사이클 그래프 및 이를 이용한 프로세서의 할당을 설명하기 위한 개념도이다.
도 7은 본 발명의 실시예에 따른 코딩 트리 유닛 간의 의존 관계를 나타내는 방향성 비사이클 그래프 및 이를 이용한 프로세서의 할당을 설명하기 위한 개념도이다.
도 8은 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 복호화 장치를 설명하기 위한 개념도이다.
도 9은 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 복호화 장치의 구성을 설명하기 위한 블록도이다.
1 is a conceptual diagram for explaining a hierarchical structure of pictures according to HEVC.
FIG. 2 is a conceptual diagram for explaining a provisional data dependency of a CTU level. FIG.
FIG. 3 is a conceptual diagram for explaining an actual data dependence relation of a current coding tree unit according to an embodiment of the present invention.
4 is a conceptual diagram for explaining a process of inferring actual data dependency according to an embodiment of the present invention.
5 is an exemplary diagram illustrating an algorithm for determining an actual data dependency according to an embodiment of the present invention.
FIG. 6 is a conceptual diagram for explaining a directional bicyclic graph showing dependency between coding tree units according to conventional parallel processing and a processor allocation using the graph.
FIG. 7 is a conceptual diagram for explaining a directional bicyclic graph showing a dependency relation between coding tree units according to an embodiment of the present invention and a processor allocation using the graph. FIG.
8 is a conceptual diagram for explaining a video decoding apparatus based on intra-prediction dependency according to an embodiment of the present invention.
9 is a block diagram for explaining a configuration of a video decoding apparatus based on intra prediction dependency according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.The Video Encoding Apparatus and the Video Decoding Apparatus to be described below may be implemented as a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP) Such as a portable multimedia player (PSP), a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV application server and a service server. A communication device such as a communication modem for performing communication with a user terminal or a wired or wireless communication network, a memory for storing various programs and data for inter-screen or intra-screen prediction for coding or decoding a picture, coding or decoding, And a microprocessor for executing and operating and controlling It can mean a variety of devices.

또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded by the video encoding apparatus can be transmitted in real time or in non-real time through a wired or wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, a mobile communication network, A serial bus, and the like, and can be decoded and reconstructed into an image and reproduced by an image decoding apparatus.

통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 슬라이스(Slice) 또는 타일(Tile)로 구분될 수 있고, 슬라이스 또는 타일은 코딩 트리 유닛(CTU: Coding Tree Block)로 분할될 수 있다. 또한, CTU는 코딩 유닛(CU: Coding Unit)로 분할될 수 있다. 여기서, 코딩 트리 유닛(CTU)은 기존 코덱(H.264)의 매크로블록(Macroblock)과 유사하나 가변적으로 크기를 조절하면서 부호화/복호화를 수행할 수 있도록 한다. 또한 본 발명에 있어, 코딩 유닛(CU)은 기존의 블록(Block)과 동등한 의미로 이해될 수 있다. In general, a moving picture may be composed of a series of pictures, each picture may be divided into a slice or a tile, and a slice or tile may be divided into a coding tree unit (CTU) . Further, the CTU can be divided into a coding unit (CU). Here, the coding tree unit (CTU) is similar to the macro block of the existing codec (H.264), but can perform coding / decoding while varying the size. Also, in the present invention, the coding unit (CU) can be understood as equivalent to an existing block.

또한, 현재 블록 또는 현재 화소를 부호화하거나 복호화하는데 참조되는 블록 또는 화소를 참조 블록(Reference Block) 또는 참조 화소(Reference Pixel)라고 한다. A block or pixel to be referred to in encoding or decoding a current block or a current pixel is referred to as a reference block or a reference pixel.

또한, 이하에 기재된 "픽처(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.It is also to be understood that the term "picture" described below may be used in place of other terms having equivalent meanings such as image, frame, etc., If you are a child, you can understand.

또한, 후술하는 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법 및 이를 이용한 비디오 복호화 장치는 HEVC를 기준으로 설명하였으나, 이는 인트라 예측 기법을 활용하는 다른 코덱에도 적용될 수 있음은 물론이다.In addition, although the video parallel processing method based on intra-prediction dependency according to the embodiment of the present invention and the video decoding apparatus using the method are described based on the HEVC, it can be applied to other codecs utilizing the intra prediction technique to be.

예를 들어, 본 발명은 H.264와 같은 다른 코덱에도 적용될 수 있으며, 이러한 경우 코딩 트리 유닛(CTU)은 매크로블록(Macroblock)에 상응하고 코딩 유닛(CU)은 매크로블록을 구성하는 블록(Block)에 상응하는 개념으로 이해될 수 있다.
For example, the present invention can be applied to other codecs such as H.264. In this case, the coding tree unit CTU corresponds to a macro block and the coding unit CU corresponds to a block ). ≪ / RTI >

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 HEVC에 따른 픽처의 계층적 구조를 설명하기 위한 개념도이고, 도 2는 CTU 레벨의 잠정 데이터 의존 관계를 설명하기 위한 개념도이다. FIG. 1 is a conceptual diagram for explaining a hierarchical structure of a picture according to an HEVC, and FIG. 2 is a conceptual diagram for explaining a temporal data dependency of a CTU level.

도 1을 참조하여 픽처의 계층적 구조를 설명한다. 비디오는 픽처(또는 프레임)의 시퀀스(sequence)로 구성되며, 각각의 픽처는 계층적 구조를 가질 수 있다. 픽처는 복수 개의 슬라이스(slice) 또는 타일(tile)로 나뉠 수 있다. The hierarchical structure of a picture will be described with reference to FIG. A video is composed of a sequence of pictures (or frames), and each picture may have a hierarchical structure. A picture may be divided into a plurality of slices or tiles.

도 1을 참조하면, 하나의 픽처는 슬라이스 경계선(12) 또는 타일 경계선(11)으로 나뉠 수 있다. 예를 들어, 픽처는 3개의 슬라이스 또는 2개의 타일로 나뉠 수 있다. 여기서, 타일은 사각형의 형태를 가질 수 있다. Referring to FIG. 1, one picture may be divided into a slice boundary line 12 or a tile boundary line 11. For example, a picture may be divided into three slices or two tiles. Here, the tiles may have the shape of a rectangle.

또한, 각각의 슬라이스 또는 타일은 복수의 코딩 트리 유닛(CTU)을 포함할 수 있으며, 코딩 트리 유닛(CTU)는 지그재그의 ?향성을 가지는 래스터 스캔 순서(raster scan order)로 부호화 또는 복호화가 수행될 수 있다. In addition, each slice or tile may include a plurality of coding tree units (CTU), and the coding tree units (CTU) may be encoded or decoded in a raster scan order having zigzag orientation .

코딩 트리 유닛(CTU)는 코딩 유닛(CU)으로 나뉠 수 있으며, 코딩 유닛(CU)의 블록 사이즈는 가변적이고 적응적으로 결정될 수 있다. The coding tree unit (CTU) can be divided into a coding unit (CU), and the block size of the coding unit (CU) can be variably and adaptively determined.

동영상 데이터는 시간적(temporal) 및 공간적(spatial) 중복성을 가지는 것을 특징으로 한다. 시간적 중복성은 연속되는 픽처 간의 중복성을 의미하며, 연속되는 픽처의 화소들은 매우 높은 상관도를 가진다. 인터 예측(Inter Prediction)은 시간적 중복성을 제거하여 영상을 압축하는 방법으로, 현재 픽처를 기준으로 시간적으로 전후에 위치한 픽처를 참조 픽처로 한 움직임 추정을 수행하여 영상을 압축할 수 있다. The video data has temporal and spatial redundancy. Temporal redundancy means redundancy between consecutive pictures, and pixels of consecutive pictures have a very high correlation. Inter prediction is a method of compressing an image by eliminating temporal redundancy. It can compress an image by performing motion estimation using a picture located temporally before and after a current picture as a reference picture.

공간적 중복성은 픽처 내에 존재하는 중복성을 의미하며, 하나의 화소의 밝기 값은 이웃하는 화소들의 밝기 값과 높은 상관도를 가진다. 인트라 예측(Intra Prediction)은 하나의 픽처 내에서 블록 간의 화소 상관도를 이용하여 공간적 중복성(spatial redundancy)을 제거하여 영상을 압축하는 방법으로, 이전에 부호화를 수행하여 복원된 현재 블록에 인접한 화소들을 참조 화소로 사용하여 현재 블록의 예측값을 생성한 후, 생성된 예측값과 현재 블록의 화소값의 차분치를 압축하는 방식이다.Spatial redundancy means redundancy existing in a picture, and a brightness value of one pixel has a high correlation with a brightness value of neighboring pixels. Intra prediction is a method of compressing an image by removing spatial redundancy using a degree of pixel correlation between blocks in one picture. The intra prediction is a method of compressing an image, And generates a predicted value of the current block using a reference pixel, and compresses the difference value between the generated predicted value and the pixel value of the current block.

이하 본 발명의 설명에서 데이터 의존성은 인트라 예측의 수행에 있어 CTU 간 또는 CU 간의 의존 관계를 나타내는 것을 의미한다. Hereinafter, the data dependency in the description of the present invention means that the intra-prediction depends on the inter-CTU or inter-CU dependency.

도 2를 참조하면, 현재 부호화 또는 복호화 대상인 현재 CTU는 인접한 다른 CTU를 참조하여 인트라 예측이 수행될 수 있다. 여기서, 화살표는 CTU 레벨의 잠정 데이터 의존 관계를 나타낸다. 즉, 현재 CTU는 좌측 CTU, 좌상측 CTU, 상측 CTU 및 우상측 CTU를 참조하여 인트라 예측을 수행할 수 있으므로, 4개의 다른 CTU와 잠정적으로 데이터 의존성을 가질 수 있다. Referring to FIG. 2, the current CTU to be currently encoded or decoded may be intra-predicted by referring to adjacent CTUs. Here, the arrow indicates the provisional data dependency of the CTU level. That is, the current CTU can perform intra-prediction with reference to the left CTU, the upper-left CTU, the upper CTU, and the upper-right CTU, and thus may have potential data dependency with four different CTUs.

그러나, 현재 CTU에 대한 인트라 예측을 수행하는데 있어서 4개의 다른 CTU와 항상 데이터 의존성이 있는 것은 아니다.
However, there are not always data dependencies with four different CTUs in performing intra prediction for the current CTU.

도 3은 본 발명의 실시예에 따른 현재 코딩 트리 유닛에 대한 실제 데이터 의존 관계를 설명하기 위한 개념도이다. FIG. 3 is a conceptual diagram for explaining an actual data dependence relation of a current coding tree unit according to an embodiment of the present invention.

도 3a를 참조하면, 현재 CTU는 복수 개의 CU로 구성될 수 있으며, 각각의 CU는 인트라 예측을 통하여 인트라 코딩된 CU와 인터 예측을 통하여 인터 코딩된 CU로 구분될 수 있다. 또한, 인트라 예측 및 인터 예측을 스킵(skip)하고 코딩된 CU도 있을 수 있다. 따라서, 현재 CTU에 대한 인트라 예측에 따른 데이터 의존성은 인트라 코딩된 CU를 기준으로 결정될 수 있다. 여기서, 화살표는 CU 레벨의 데이터 의존 관계를 나타낼 수 있다. Referring to FIG. 3A, a current CTU may be composed of a plurality of CUs, and each CU may be divided into intra-coded CUs through intra-prediction and inter-coded CUs through inter-prediction. There may also be coded CUs skipping intra prediction and inter prediction. Thus, the data dependency due to the intra prediction for the current CTU can be determined on the basis of the intra-coded CU. Here, the arrows can indicate the data dependency of the CU level.

도 3a에서 A, B 및 C에 위치한 CU만이 인트라 코딩된 CU일 수 있다. A에 위치한 CU는 현재 CTU의 상측 경계와 접하고 있고, B에 위치한 CU는 현재 CTU의 좌측 경계와 접하고 있으며, C에 위치한 CU는 현재 CTU의 하측 및 우측 경계와 접하고 있다. Only the CUs located in A, B, and C in FIG. 3A may be intra-coded CUs. The CU located at A is in contact with the upper boundary of the CTU, the CU located at B is in contact with the left boundary of the current CTU, and the CU located in C is in contact with the lower and right boundaries of the CTU.

CU 레벨의 데이터 의존 관계에 기반하여 현재 CTU에 대한 실제 데이터 의존 관계를 결정하면 도 3b와 같다. The determination of the actual data dependence on the current CTU based on the data dependence of the CU level is shown in FIG. 3B.

도 3b를 참조하면, A에 위치한 CU는 현재 CTU의 상측에 위치한 CTU를 참조하여 인트라 예측을 수행하고, B에 위치한 CU는 현재 CTU의 좌측에 위치한 CTU를 참조하여 인트라 예측을 수행한다. 또한, C에 위치한 CU는 인접한 다른 CTU를 참조하지 않는다. 이는 CTU가 래스터 스캔 순서에 따라 부호화 또는 복호화되기 때문이다. Referring to FIG. 3B, a CU located at A performs intra-prediction with reference to a CTU located at an upper side of the current CTU, and a CU located at B performs intra-prediction with reference to a CTU located at a left side of the current CTU. Also, a CU located in C does not refer to another adjacent CTU. This is because the CTU is encoded or decoded in raster scan order.

따라서, 현재 CTU를 위한 인트라 예측의 실제 데이터 의존 관계는 도 3b와 같이 나타낼 수 있다. 즉, 현재 CTU는 현재 CTU의 상측 및 좌측에 위치한 CTU와 데이터 의존 관계에 있다. Therefore, the actual data dependence of the intra prediction for the current CTU can be represented as shown in FIG. 3B. That is, the current CTU is in a data dependency relationship with the CTUs located on the upper and left sides of the current CTU.

아래의 표 1은 본 발명의 실시예에 따라 CU의 위치에 기반한 실제 데이터 의존성을 설명하기 위한 표이다. Table 1 below is a table for describing the actual data dependency based on the position of the CU according to an embodiment of the present invention.

Figure pat00001
Figure pat00001

표 1에서 실제 의존성(AD: Actual dependency)은 CTU 레벨에서 인트라 예측 시 실제 데이터 의존성이 있는 인접 CTU를 나타낸다. Actual dependency (AD) in Table 1 represents the adjacent CTU with the actual data dependency in intra prediction at the CTU level.

예를 들어, 타입 번호 0은 인트라 코딩된 CU가 현재 CTU의 좌측 및 상측 경계에 접하지 않는 경우에는 실제 데이터 의존성이 있는 인접 CTU가 없음을 나타난다.For example, type number 0 indicates that there is no adjacent CTU with an actual data dependency if the intra-coded CU does not touch the left and top boundaries of the current CTU.

타입 번호 1은 인트라 코딩된 CU가 현재 CTU의 좌측 경계에만 접한 경우에는 실제 데이터 의존성이 있는 인접 CTU는 현재 CTU의 좌측(L: Left)에 위치한 CTU임을 나타낸다. The type number 1 indicates that the adjacent CTU having the actual data dependency is the CTU located on the left side (L: Left) of the current CTU when the intra-coded CU touches only the left boundary of the current CTU.

타입 번호 2는 인트라 코딩된 CU가 현재 CTU의 좌측 및 상측 경계에 접한 경우에는 실제 데이터 의존성이 있는 인접 CTU는 현재 CTU의 좌측(L: Left), 좌상측(UL: Up Left) 및 상측(U: Up)에 위치한 CTU임을 나타낸다.In the case where the intra-coded CU is tangent to the left and upper boundaries of the current CTU, the adjacent CTU having the actual data dependency has the left (L: Left), upper left (UL: Up Left) : Up).

타입 번호 3은 인트라 코딩된 CU가 현재 CTU의 상측 경계에만 접한 경우에는 실제 데이터 의존성이 있는 인접 CTU는 현재 CTU의 상측(U: Up)에 위치한 CTU임을 나타낸다.Type number 3 indicates that the adjacent CTU having the actual data dependency is the CTU located at the upper side (U: Up) of the current CTU when the intra-coded CU is touched only at the upper boundary of the current CTU.

타입 번호 4는 인트라 코딩된 CU가 현재 CTU의 우측 및 상측 경계에 접한 경우에는 실제 데이터 의존성이 있는 인접 CTU는 현재 CTU의 상측(U: Up) 및 우상측(UR: Up Right)에 위치한 CTU임을 나타낸다.In the case of type number 4, when the intra-coded CU touches the right and upper boundaries of the current CTU, the adjacent CTU having the actual data dependency is the CTU located on the upper side (U: Up) and the upper right side (UR) .

타입 번호 5는 인트라 코딩된 CU가 현재 CTU와 동등한 경우에는 실제 데이터 의존성이 있는 인접 CTU는 현재 CTU의 좌측(L: Left), 좌상측(UL: Up Left), 상측(U: Up) 및 우상측(UR: Up Right)에 위치한 CTU임을 나타낸다.In the case where the intra-coded CU is equal to the current CTU, the adjacent CTU having the actual data dependency is classified into the left (L), the left upper (UL), the upper (U) (UR: Up Right).

따라서, 본 발명의 실시예에 따르면, 잠정 의존성(PD: Potential dependency)에서 가상 의존성(VD: Virtual dependency)를 제외시킨 실제 의존성(AD: Actual dependency)을 도출할 수 있다. Therefore, according to the embodiment of the present invention, it is possible to derive an actual dependency (AD) excluding a virtual dependency (VD) from a potential dependency (PD).

상세하게는, CTU 내부를 CU 수준에서 분석하여 인트라 코딩된 CU만 선별할 수 있으며, 이 때 발생하는 CU 레벨의 데이터 의존성을 CTU 레벨의 데이터 의존성으로 변환할 수 있다. 따라서, CTU 레벨의 실제 데이터 의존 관계에 기반하여 서로 의존 관계에 없는 CTU를 서로 다른 프로세서에 할당함으로써 인트라 예측의 의존성에 기반하여 비디오를 병렬 처리할 수 있다.
In detail, only the intra-coded CUs can be selected by analyzing the inside of the CTU at the CU level, and the data dependency of the CU level occurring at this time can be converted into the data dependency of the CTU level. Thus, video can be parallelized based on intra-prediction dependencies by assigning CTUs that are not dependent on each other to different processors based on the actual data dependence of the CTU level.

도 4는 본 발명의 실시예에 따른 실제 데이터 의존성을 추론하는 과정을 설명하기 위한 개념도이다. 도 4에서 화살표는 인트라 예측에 있어 실제 데이터 의존성을 나타낸다. 4 is a conceptual diagram for explaining a process of inferring actual data dependency according to an embodiment of the present invention. The arrows in FIG. 4 indicate the actual data dependency in intra prediction.

도 4a를 참조하면, 인트라 코딩된 CU가 현재 CTU와 동등한 경우에는 현재 CTU의 좌측(L: Left), 좌상측(UL: Up Left), 상측(U: Up) 및 우상측(UR: Up Right)에 위치한 CTU 가 현재 CTU와 실제 데이터 의존성이 있다. 즉, 인트라 코딩된 CU가 현재 CTU와 동등한 경우에, 현재 CTU는 4개의 다른 CTU와 실제 의존성이 있다. Referring to FIG. 4A, when the intra-coded CU is equal to the current CTU, the left (L), upper left (UL), upper (U: Up) and upper right ) Has a real data dependency with the current CTU. That is, if the intra-coded CU is equal to the current CTU, then the current CTU is actually dependent on four different CTUs.

상세하게는, 본 발명의 실시예에 따르면 코딩 트리 유닛(CTU) 또는 코딩 유닛(CU)을 계층적으로 분할하여 실제 의존성 추론(ADD: Actually Dependency Deduction)을 수행할 수 있다. In detail, according to the embodiment of the present invention, an actual dependency deduction (ADD) can be performed by hierarchically dividing a coding tree unit (CTU) or a coding unit (CU).

도 4b를 참조하면, 도 4a와 같은 타입 번호 5에 해당하는 현재 CTU를 부모 노드(parent node)하여 4개의 자식 노드(child node)로 분할한 경우를 나타낸다. 여기서, 부모 노드를 나누는 4개의 자식 노드 각각은 부모 노드에서 북서(NW), 북동(NE), 남서(SW) 및 남동(SE) 방향에 위치한다. Referring to FIG. 4B, a current CTU corresponding to a type number 5 as shown in FIG. 4A is divided into four child nodes by a parent node. Here, each of the four child nodes dividing the parent node is located in the north-west (NW), northeast (NE), southwest (SW), and southeast (SE) directions from the parent node.

도 4b에서 북서(NW)에 위치한 자식 노드는 타입 번호 2에 해당하는 실제 데이터 의존성을 가지고, 북동(NE)에 위치한 자식 노드는 타입 번호 4에 해당하는 실제 데이터 의존성을 가지고, 남서(SW)에 위치한 자식 노드는 타입 번호 1에 해당하는 실제 데이터 의존성을 가지며, 남동(SE)에 위치한 자식 노드는 타입 번호 0에 해당하는 실제 데이터 의존성을 가지는 것을 알 수 있다. In Figure 4B, the child node located in the northwest (NW) has the actual data dependency corresponding to the type number 2, the child node located in the NE (NE) has the actual data dependency corresponding to the type number 4, It can be seen that the located child node has the actual data dependency corresponding to the type number 1 and the child node located at the SE is the actual data dependency corresponding to the type number 0.

도 4c를 참조하면, 도 4b에서 분할된 자식 노드들을 부모 노드로 하여 다시 분할될 수 있다. 다만, 타입 번호 0에 해당하는 남동(SE)에 위치한 자식 노드는 분할되지 않고 타입 번호 0으로 남아있을 수 있다. Referring to FIG. 4C, the divided child nodes may be divided into parent nodes in FIG. 4B. However, a child node located in the SE (SE) corresponding to the type number 0 may be left as type number 0 without being divided.

타입 번호 2인 북서(NW)에 위치한 자식 노드는 다시 4개의 자식 노드(손자 노드)들로 분할될 수 있으며, 이들 손자 노드들 각각은 타입 번호 1, 타입 번호 2, 타입 번호 3 및 타입 번호 0에 해당할 수 있다. A child node located at the north-west (NW) of type number 2 can be further divided into four child nodes (grandchild nodes), each of which has a type number 1, a type number 2, a type number 3, and a type number 0 .

또한, 타입 번호 4인 북동(NE)에 위치한 자식 노드는 다시 4개의 자식 노드(손자 노드)들로 분할될 수 있으며, 이들 손자 노드들 각각은 타입 번호 3, 타입 번호 4 및 타입 번호 0에 해당할 수 있다. In addition, the child node located at the NE of the type number 4 can be further divided into four child nodes (grandchild nodes), and each of these grandchildren corresponds to the type number 3, the type number 4, and the type number 0 can do.

또한, 타입 번호 1인 남서(SW)에 위치한 자식 노드는 다시 4개의 자식 노드(손자 노드)들로 분할될 수 있으며, 이들 손자 노드들 각각은 타입 번호 1 및 타입 번호 0에 해당할 수 있다.
In addition, the child node located at the SW in the type number 1 can be further divided into four child nodes (grandchild nodes), and each of these grandchild nodes may correspond to the type number 1 and the type number 0.

도 4에 따른 부모 노드와 자식 노드들 간의 실제 데이터 의존성의 관계를 정리하면 다음의 표 2와 같다. The relationship between the actual data dependency between the parent node and the child nodes according to FIG. 4 is summarized in Table 2 below.

Figure pat00002
Figure pat00002

즉, 도 4를 참조하여 부모 노드와 자식 노드들 간의 실제 의존성 추론(ADD: Actually Dependency Deduction) 타입을 정리하면 표 2와 같다.
That is, referring to FIG. 4, Actual Dependency Deduction (ADD) types between the parent node and the child nodes are summarized in Table 2.

도 5는 본 발명의 실시예에 따른 실제 데이터 의존성을 결정하는 알고리즘을 설명하기 위한 예시도이다. 5 is an exemplary diagram illustrating an algorithm for determining an actual data dependency according to an embodiment of the present invention.

도 5를 참조하여 본 발명의 실시예에 따른 실제 데이터 의존성을 결정하는 알고리즘을 설명하면 다음과 같다. An algorithm for determining actual data dependency according to an embodiment of the present invention will be described with reference to FIG.

라인 01에서 d 는 AD를 이루고 있는 CTU 레벨의 실제 데이터 의존성의 집합을 의미한다. 먼저, 공집합으로 d를 초기화 한다.In line 01, d means the set of actual data dependencies of the CTU level that make up AD. First, d is initialized with an empty set.

라인 02에서는 루트(root node)(CTU)부터 깊이 우선 탐색(DFS: Depth-First Search)을 수행한다. 루트 노드의 ADD 타입은 표1에서와 같이 항상 5이다.Line 02 performs depth-first search (DFS) from the root node (CTU). The ADD type of the root node is always 5 as shown in Table 1.

라인 08 내지 11에서는 하위 노드(자식 노드)들의 ADD 타입을 도출해가며 DFS를 수행한다.On lines 08 to 11, DDS is performed while deriving the ADD type of the child nodes (child nodes).

라인 09에서 하위 노드들의 ADD 타입(x로 표시됨)은 ADD_type_of_child라고 하는 배열을 이용하여 계산된다. 이 배열은 표 2에 기반한다. 배열의 첫 번째 인덱스인 t는 부모 노드의 ADD 타입을 나타낸다. 두 번째 인덱스는 자식 유닛 w의 위치(NE, NW, SW, SE)을 나타낸다. 배열의 반환값은 자식 노드의 ADD타입을 나타낸다.In line 09, the ADD type (denoted by x) of the lower nodes is calculated using an array called ADD_type_of_child. This arrangement is based on Table 2. The first index in the array, t, represents the ADD type of the parent node. The second index represents the position (NE, NW, SW, SE) of the child unit w. The return value of the array indicates the ADD type of the child node.

라인 10에서는 자식 노드를 호출하고 DFS를 재귀적으로 진행한다.On line 10, the child node is called and the DFS recursively.

라인 03 내지 04에서는 최하위 노드인 CU에 도착하면 CU가 인트라 코딩된 CU인지 확인한다.On lines 03 to 04, when arriving at the lowest-order node CU, it is checked whether the CU is an intra-coded CU.

라인 05에서는 만약 현재 노드가 인트라 코딩된 CU로 확인되면 현 노드의 ADD 타입에 의해 정의되는 CTU 레벨의 실제 데이터 의존성들의 집합이 집합 d와 합 집합된다. 배열 실제 데이터 의존성은 표 1에 따른다. In line 05, if the current node is identified as an intracoded CU, the set of actual data dependencies of the CTU level defined by the ADD type of the current node is aggregated with the set d. Array real data dependencies are given in Table 1.

배열의 인덱스는 ADD 타입의 숫자를 나타낼 수 있고, 배열은 ADD 타입에 의해 정의되는 CTU 레벨의 실제 데이터 의존성을 반환할 수 있다.
The index of the array can represent the number of the ADD type, and the array can return the actual data dependency of the CTU level defined by the ADD type.

도 6는 종래의 병렬 처리에 따른 코딩 트리 유닛 간의 의존 관계를 나타내는 방향성 비사이클 그래프 및 이를 이용한 프로세서의 할당을 설명하기 위한 개념도이다. FIG. 6 is a conceptual diagram for explaining a directional bicyclic graph showing dependency between coding tree units according to conventional parallel processing and a processor allocation using the graph.

도 6a에서 각각의 블록은 CTU를 나타내고, 각각의 CTU에 부여된 번호는 CTU의 시퀀스 번호를 의미할 수 있다. In FIG. 6A, each block represents a CTU, and a number assigned to each CTU may mean a sequence number of a CTU.

도 6a를 보면, 각각의 CTU는 다른 CTU와 잠재 데이터 의존성을 가지고 있다. 종래에는 실제 의존성(AD) 뿐만 아니라 가상 의존성(VD)을 포함하는 잠정 의존성(PD)에 기반하여 CTU를 병렬 처리하였다. Referring to FIG. 6A, each CTU has a latent data dependency with another CTU. Conventionally, CTUs are processed in parallel based on temporal dependency (PD) including virtual dependency (VD) as well as actual dependency (AD).

예를 들어, 5 번 CTU는 0 번, 1 번 CTU와 데이터 의존 관계에 있다. 따라서, 5 번 CTU에 대한 인트라 예측을 수행하기 위해서는 먼저 0 번 및 1 번 CTU에 대한 복호화를 수행하여야 하기 때문에 5 번 CTU를 0 번 및 1 번 CTU에 대한 인트라 예측을 수행하는 코어(또는 프로세서)와 다른 코어를 할당하기 위해서는 0 번 및 1 번 CTU에 대한 처리가 완료될 때까지 지연 시간이 발생할 수 있다.For example, CTU # 5 has a data dependency with CTU # 0 and CTU # 1. Therefore, in order to perform intra prediction for the 5th CTU, it is necessary to perform decoding for the 0th and 1st CTUs first. Therefore, the core (or processor) performing the intra prediction for the 0th and 1st CTUs in the 5th CTU, A delay time may occur until the processing for the 0th and 1st CTUs is completed.

즉, 도 6b를 참조하면, 0 번 및 1 번 CTU는 제 1 코어에 할당하여 처리하고 난 후에 5 번 CTU를 제 2 코어에 할당할 수 있으며, 이에 따라 TPD.1 만큼의 유휴 시간(idle)이 발생할 수 있다. That is, Referring to Figure 6b, time 0 and time 1 CTU may be assigned a 5 CTU after processing by assigning to the first core to the second core, and therefore idle time by T PD.1 (idle ) May occur.

더 나아가, 10 번 CTU 또는 15 번 CTU를 제 2 코어 또는 제 3 코어에 각각 할당하는 과정에서도 유휴 시간이 발생할 수 있다.
Furthermore, idle time may occur in the process of allocating the 10th CTU or the 15th CTU to the second core or the third core, respectively.

도 7은 본 발명의 실시예에 따른 코딩 트리 유닛 간의 의존 관계를 나타내는 방향성 비사이클 그래프 및 이를 이용한 프로세서의 할당을 설명하기 위한 개념도이다. FIG. 7 is a conceptual diagram for explaining a directional bicyclic graph showing a dependency relation between coding tree units according to an embodiment of the present invention and a processor allocation using the graph. FIG.

도 7a에서 각각의 블록은 CTU를 나타내고, 각각의 CTU에 부여된 번호는 CTU의 시퀀스 번호를 의미할 수 있다. In FIG. 7A, each block represents a CTU, and a number assigned to each CTU may mean a sequence number of a CTU.

도 7a를 보면, 각각의 CTU는 다른 CTU와 실제 데이터 의존성을 가지고 있다. 즉, 본 발명의 실시예에 따르면 잠재 의존성(PD)에서 가상 의존성(AD)를 제거한 실제 의존성(AD)에 기반하여 CTU를 병렬 처리할 수 있다. Referring to FIG. 7A, each CTU has an actual data dependency with another CTU. That is, according to an embodiment of the present invention, the CTU can be parallelized based on the actual dependency (AD) from which the virtual dependency (AD) is removed from the potential dependency (PD).

예를 들어, 5 번 CTU는 다른 CTU와 데이터 의존 관계가 없다. 따라서, 5 번 CTU에 대한 인트라 예측은 0 번 및 1 번 CTU에 대한 인트라 예측과 동시에 수행될 수 있다. For example, CTU # 5 has no data dependencies with other CTUs. Therefore, the intra prediction for the 5th CTU can be performed simultaneously with the intra prediction for the 0th and 1st CTU.

즉, 도 7b를 참조하면, 0 번 및 1 번 CTU는 제 1 코어에 할당하여 처리함과 동시에 5 번 CTU를 제 2 코어에 할당할 수 있다. 따라서, 도 6b에서와 같은 유휴 시간을 발생시키지 않고, 비디오를 효과적으로 병렬 처리할 수 있다. That is, referring to FIG. 7B, the 0th and 1st CTUs may be assigned to the first core and processed and the 5th CTU may be allocated to the second core. Thus, video can be effectively processed in parallel without causing idle time as in Fig. 6B.

상세하게는, 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법은, 픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출할 수 있다. In particular, a video parallel processing method based on intra-prediction dependency according to an embodiment of the present invention can detect an intra-coded coding unit among at least one coding unit that divides a coding tree unit constituting a picture.

다음으로, 코딩 트리 유닛 상에서 인트라 코딩된 코딩 유닛의 위치에 기반하여 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정할 수 있다. Next, the actual data dependence of the intra prediction on the coding tree unit can be determined based on the position of the intra-coded coding unit on the coding tree unit.

특히, 인트라 코딩된 코딩 유닛이 코딩 트리 유닛의 경계와 접한 부분에 기반하여 인트라 예측의 실제 데이터 의존성을 결정할 수 있다. In particular, the intra-coded coding unit can determine the actual data dependency of the intra prediction based on the boundary of the coding tree unit with the boundary.

예를 들어, 코딩 트리 유닛의 좌측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우 코딩 트리 유닛은 코딩 트리 유닛의 좌측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있고, 코딩 트리 유닛의 상측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우 코딩 트리 유닛은 코딩 트리 유닛의 상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다. For example, if an intra-coded unit exists at a position adjacent to the left boundary of the coding tree unit, the coding tree unit can determine that it is in dependency with the coding tree unit located at the left side of the coding tree unit, If an intra-coded unit exists at a position adjacent to the upper boundary, the coding tree unit may determine that the coding tree unit is in dependency with a coding tree unit located on the upper side of the coding tree unit.

또한, 코딩 트리 유닛의 좌측 및 상측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우 코딩 트리 유닛은 코딩 트리 유닛의 좌상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있고, 코딩 트리 유닛의 상측 및 우측 경계와 접한 위치에 인트라 코딩된 유닛이 존재하는 경우 코딩 트리 유닛은 코딩 트리 유닛의 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다.In addition, when an intra-coded unit exists at a position adjacent to the left and upper boundaries of the coding tree unit, the coding tree unit can determine that the coding tree unit is in dependency with the coding tree unit located at the upper left of the coding tree unit, The coding tree unit may determine that the coding tree unit is in a dependency relation with the coding tree unit positioned at the upper right side of the coding tree unit when the intra-coded unit exists at the position adjacent to the upper and the right boundary of the coding tree unit.

또한, 코딩 트리 유닛의 경계와 접한 위치에 인트라 코딩된 유닛이 존재하지 않지 않거나, 코딩 트리 유닛의 하측 또는 우측 중 적어도 하나에만 접한 위치에 인트라 코딩된 유닛이 존재하는 경우, 코딩 트리 유닛은 다른 코딩 트리 유닛과 의존 관계가 없는 것으로 결정할 수 있다. If there is no intra-coded unit at a position adjacent to the boundary of the coding tree unit, or if there is an intra-coded unit at a position adjacent to at least one of the lower or right side of the coding tree unit, It can be determined that there is no dependency with the tree unit.

더 나아가, 인트라 코딩된 유닛이 코딩 트리 유닛과 동등한 경우에는, 코딩 트리 유닛은 코딩 트리 유닛의 좌측, 좌상측, 상측 및 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정할 수 있다. Furthermore, if the intra-coded unit is equivalent to the coding tree unit, the coding tree unit can determine that it is in dependency with the coding tree unit located on the left, top left, top and right side of the coding tree unit.

마지막으로, 실제 데이터 의존성을 이용하여 코딩 트리 유닛에 대한 병렬 처리를 수행할 수 있다. Finally, parallel processing of the coding tree unit can be performed using the actual data dependency.

상세하게는, 인트라 예측의 실제 데이터 의존성을 이용하여 픽처에 포함된 복수의 코딩 트리 블록 간의 의존 관계를 나타나는 방향성 비사이클 그래프(directed acyclic graph)를 생성하고, 방향성 비사이클링 그래프에 기반하여 복수의 코딩 트리 블록들을 병렬 처리할 수 있다. 즉, 서로 간에 인트라 예측의 실제 데이터 의존성이 없는 복수의 코딩 트리 블록의 각각을 서로 다른 프로세서에 할당하여 인트라 예측을 수행할 수 있다.
Specifically, a directed acyclic graph is generated that shows the dependency between a plurality of coding tree blocks included in a picture by using the actual data dependency of intra prediction, and a directed acyclic graph is generated based on the directional non- Tree blocks can be processed in parallel. That is, it is possible to perform intra prediction by allocating each of a plurality of coding tree blocks having no actual data dependency of intraprediction to each other to different processors.

도 8은 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 복호화 장치를 설명하기 위한 개념도이고, 도 9는 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 복호화 장치의 구성을 설명하기 위한 블록도이다. FIG. 8 is a conceptual diagram for explaining a video decoding apparatus based on dependence of intraprediction according to an embodiment of the present invention, FIG. 9 is a view for explaining a configuration of a video decoding apparatus based on dependency of intra prediction according to an embodiment of the present invention Fig.

도 8을 참조하면, 본 발명의 실시예에 따른 복호화 장치는, 엔트로피 복호화부(110), 역 변환부(140), 인트라 예측부(120), 인터 예측부(130), 가산부(150), 디블록킹 필터부(160) 및 SAO 수행부(170)를 포함할 수 있다. 다만, 도 8은 본 발명의 실시예에 따른 복호화 장치를 설명하기 위한 필수적인 구성부를 도시하고 있으며, 복호화 장치가 다른 구성부를 더 포함할 수 있음은 당업자에 자명하다. 8, the decoding apparatus according to an embodiment of the present invention includes an entropy decoding unit 110, an inverse transform unit 140, an intra prediction unit 120, an inter prediction unit 130, an adder 150, A deblocking filter unit 160, and an SAO performing unit 170. [ However, FIG. 8 illustrates essential components for explaining a decoding apparatus according to an embodiment of the present invention, and it is apparent to those skilled in the art that the decoding apparatus may further include other components.

제 1 단계에서, 엔트로피 복호화부(110)는 엔트로피 부호화하여 생성된 비트스트림을 부호화 장치로부터 수신하여 엔트로피 복호화할 수 있다. 여기서, 엔트로피 부호화는 양자화에 의해 산출된 양자화 결과값을 CAVLC(Context-Adaptive Variable Length Coding) 또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 기법 등을 이용하여 엔트로피 부호화할 수 있으며, 양자화 결과값 이외에 영상을 복호화하는데 필요한 정보를 엔트로피 부호화할 수 있다. In the first step, the entropy decoding unit 110 receives entropy-encoded bitstreams from the encoding apparatus and entropy-decodes them. Here, the entropy encoding can entropy-encode quantization result values calculated by quantization using Context-Adaptive Variable Length Coding (CAVLC) or Context-Adaptive Binary Arithmetic Coding (CABAC) Information necessary for decoding can be entropy-encoded.

제 2 단계에서, 역 변환부(140)는 역 양자화부(미도시)에 제공받은 주파수 영역의 값(주파수 계수)을 주파수 영역에서 공간 영역으로 변환함으로써 잔차 영상을 복원할 수 있다. 또한, 인트라 예측부(120)는 인트라 예측을 수행하고, 인터 예측부(130)는 인터 예측을 수행할 수 있으며, 가산부(150)는 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상에 역 변환부(140)에 의해 복원된 잔차 영상을 가산함으로써 입력 영상의 복원 영상을 생성하여 프레임 메모리(미도시)에 저장할 수 있다. In the second step, the inverse transform unit 140 may restore the residual image by transforming the frequency domain values (frequency coefficients) provided in the inverse quantization unit (not shown) from the frequency domain to the spatial domain. In addition, the intra prediction unit 120 performs intra prediction, the inter prediction unit 130 performs inter prediction, and the addition unit 150 performs inverse transformation on the prediction image generated by intra prediction or inter prediction, The reconstructed image of the input image may be generated by adding the residual image reconstructed by the reconstructing unit 140 to the frame memory (not shown).

제 3 단계에서, 디블록킹 필터부(160)는 복원 영상에 디블록킹 필터링을 수행하고, SAO 수행부(170)는 복원 영상에 대해 샘플 적응적 오프셋(SAO: Sample Adaptive Offset)을 수행한다. 여기서, 디블록킹 필터링은 블록 간의 경계를 부드럽게 하여 부호화 또는 복호화된 화면의 화질을 향상시킬 수 있으며, SAO는 양자화 등의 부호화 과정을 통해 발생하는 원본 영상과 복원 영상 간의 왜곡에 따른 원본 영상의 화소와 복원 영상의 화소의 차분치를 이용하거나 그에 기반한 계수(SAO 계수)를 이용하는 필터를 통해 왜곡을 보상할 수 있다.In the third step, the deblocking filter unit 160 performs deblocking filtering on the restored image, and the SAO performing unit 170 performs a sample adaptive offset (SAO) on the restored image. Here, the deblocking filtering can smooth the boundary between the blocks to improve the picture quality of the encoded or decoded picture, and the SAO can reduce the distortion between the original picture and the restored picture generated through the encoding process such as quantization, The distortion can be compensated by using the difference value of the pixels of the reconstructed image or using a filter using the coefficient (SAO coefficient) based thereon.

도 9를 참조하면, 본 발명의 실시예에 따른 인트라 예측부(120)는 비디오의 병렬 처리를 위한 코딩 유닛 검출 모듈(121), 의존성 결정 모듈(123) 및 병렬 처리 모듈(125)을 포함할 수 있다. 다만, 도 9에서 코딩 유닛 검출 모듈(121), 의존성 결정 모듈(123) 및 병렬 처리 모듈(125)은 인트라 예측부(120)에 포함되어 있는 것으로 도시하였으나, 별도의 구성부로 존재할 수 있음은 물론이다. 9, the intraprediction unit 120 according to an embodiment of the present invention includes a coding unit detection module 121, a dependency determination module 123, and a parallel processing module 125 for parallel processing of video . 9, the coding unit detection module 121, the dependency determination module 123, and the parallel processing module 125 are included in the intra prediction unit 120. However, the coding unit detection module 121, to be.

코딩 유닛 검출 모듈(121)은 픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출할 수 있다. The coding unit detection module 121 can detect an intra coded coding unit among at least one coding unit that divides a coding tree unit constituting a picture.

의존성 결정 모듈(123)은 코딩 트리 유닛 상에서 인트라 코딩된 코딩 유닛의 위치에 기반하여 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정할 수 있다. 즉, 의존성 결정 모듈(123)은 인트라 코딩된 코딩 유닛이 코딩 트리 유닛의 경계와 접한 부분에 기반하여 인트라 예측의 실제 데이터 의존성을 결정할 수 있다. Dependency determination module 123 may determine the actual data dependence of the intra prediction on the coding tree unit based on the location of the intra coding unit on the coding tree unit. That is, the dependency determination module 123 can determine the actual data dependency of the intra prediction based on the portion of the intra-coded coding unit in contact with the boundary of the coding tree unit.

병렬 처리 모듈(125)은 실제 데이터 의존성을 이용하여 코딩 트리 유닛에 대한 병렬 처리를 수행할 수 있다. The parallel processing module 125 may perform parallel processing on the coding tree unit using the actual data dependency.

상세하게는, 병렬 처리 모듈(125)은 인트라 예측의 실제 데이터 의존성을 이용하여 픽처에 포함된 복수의 코딩 트리 블록 간의 의존 관계를 나타나는 방향성 비사이클 그래프(directed acyclic graph)를 생성하고, 방향성 비사이클링 그래프에 기반하여 복수의 코딩 트리 블록들을 병렬 처리할 수 있다. 즉, 병렬 처리 모듈(125)은 서로 간에 인트라 예측의 실제 의존성이 없는 복수의 코딩 트리 블록의 각각을 서로 다른 프로세서에 할당하여 인트라 예측을 수행할 수 있다. In detail, the parallel processing module 125 generates a directed acyclic graph showing a dependency between a plurality of coding tree blocks included in a picture using the actual data dependency of the intra prediction, The plurality of coding tree blocks can be processed in parallel based on the graph. That is, the parallel processing module 125 can perform intra prediction by allocating each of the plurality of coding tree blocks, which have no actual dependency of intra prediction, to different processors.

상술한 본 발명의 실시예에 따른 복호화 장치의 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 설명하였으나, 각 구성부 중 적어도 두 개가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합 및 분리된 실시예의 경우도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
Although the respective components of the decoding apparatus according to the above-described embodiments of the present invention have been described as being arranged in the respective constituent parts for convenience of explanation, at least two of the constituent parts may be combined to form one constituent part, It is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

상술한 본 발명의 실시예에 따른 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법 및 이를 이용한 비디오 복호화 장치는, 인트라 예측에 있어서 코딩 트리 유닛 간의 실제 데이터 의존성을 검출하고, 검출된 실제 데이터 의존성만을 고려하여 비디오를 병렬 처리할 수 있다. The video parallel processing method based on intra-prediction dependency according to the embodiment of the present invention and the video decoding apparatus using the intra-prediction dependency of the intra-prediction method according to the present invention detect the actual data dependency between the coding tree units in intra prediction, Video can be processed in parallel.

또한, 검출된 실제 데이터 의존성에 기반한 방향성 비사이클 그래프를 이용하여 멀티 프로세서를 효과적으로 활용할 수 있다. In addition, the multiprocessor can be effectively utilized by using a directional bicyclic graph based on the detected actual data dependency.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

110: 엔트로피 복호화부 120: 인트라 예측부
121: 코딩 유닛 검출 모듈 123: 의존성 결정 모듈
125: 병렬 처리 모듈 130: 인터 예측부
140: 역 변환부 150: 가산부
160: 디블록킹 필터부 170: SAO 수행부
110: Entropy decoding unit 120: Intra prediction unit
121: Coding unit detection module 123: Dependency determination module
125: parallel processing module 130: inter prediction unit
140: Inverse transform unit 150:
160: deblocking filter unit 170: SAO performing unit

Claims (12)

비디오 병렬 처리 방법에 있어서,
픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출하는 단계;
상기 코딩 트리 유닛 상에서 상기 인트라 코딩된 코딩 유닛의 위치에 기반하여 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계; 및
상기 실제 데이터 의존성을 이용하여 상기 코딩 트리 유닛에 대한 병렬 처리를 수행하는 단계를 포함하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
A video parallel processing method comprising:
Detecting an intra coded coding unit among at least one coding unit dividing a coding tree unit constituting a picture;
Determining an actual data dependency of intra prediction on the coding tree unit based on a position of the intra coded coding unit on the coding tree unit; And
And performing parallel processing on the coding tree unit using the actual data dependency. ≪ Desc / Clms Page number 21 >
청구항 1에 있어서,
상기 코딩 트리 유닛은,
래스터 스캔 순서(raster scan order)에 따라 복호화되는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method according to claim 1,
The coding tree unit comprises:
Wherein the decoding is performed in accordance with a raster scan order.
청구항 1에 있어서,
상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는,
상기 인트라 코딩된 코딩 유닛이 상기 코딩 트리 유닛의 경계와 접한 부분에 기반하여 상기 인트라 예측의 실제 데이터 의존성을 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method according to claim 1,
Wherein determining an actual data dependency of intra prediction for the coding tree unit comprises:
Wherein the intra-coded coding unit determines an actual data dependency of the intra prediction based on a portion in contact with the boundary of the coding tree unit.
청구항 3에 있어서,
상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는,
상기 코딩 트리 유닛의 좌측 경계와 접한 위치에 상기 인트라 코딩된 유닛이 존재하는 경우, 상기 코딩 트리 유닛은 상기 코딩 트리 유닛의 좌측에 위치한 코딩 트리 유닛과 의존 관계에 있고,
상기 코딩 트리 유닛의 상측 경계와 접한 위치에 상기 인트라 코딩된 유닛이 존재하는 경우, 상기 코딩 트리 유닛은 상기 코딩 트리 유닛의 상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method of claim 3,
Wherein determining an actual data dependency of intra prediction for the coding tree unit comprises:
Wherein when the intra-coded unit exists at a position adjacent to the left boundary of the coding tree unit, the coding tree unit is in dependency relation with a coding tree unit located at the left side of the coding tree unit,
Wherein when the intra-coded unit exists at a position adjacent to an upper boundary of the coding tree unit, the coding tree unit determines that the coding tree unit is in a dependency relation with a coding tree unit located on the upper side of the coding tree unit. A video parallel processing method based on prediction dependencies.
청구항 3에 있어서,
상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는,
상기 코딩 트리 유닛의 좌측 및 상측 경계와 접한 위치에 상기 인트라 코딩된 유닛이 존재하는 경우, 상기 코딩 트리 유닛은 상기 코딩 트리 유닛의 좌상측에 위치한 코딩 트리 유닛과 의존 관계에 있고,
상기 코딩 트리 유닛의 상측 및 우측 경계와 접한 위치에 상기 인트라 코딩된 유닛이 존재하는 경우, 상기 코딩 트리 유닛은 상기 코딩 트리 유닛의 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method of claim 3,
Wherein determining an actual data dependency of intra prediction for the coding tree unit comprises:
Wherein when the intra-coded unit exists at a position adjacent to the left and upper boundaries of the coding tree unit, the coding tree unit is in dependency with a coding tree unit positioned at the upper left of the coding tree unit,
And determines that the coding tree unit is in a dependency relationship with a coding tree unit located at an upper right side of the coding tree unit when the intra-coded unit exists at a position adjacent to the upper and right boundaries of the coding tree unit Based on the dependency of intra prediction.
청구항 3에 있어서,
상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는,
상기 코딩 트리 유닛의 경계와 접한 위치에 상기 인트라 코딩된 유닛이 존재하지 않지 않거나, 상기 코딩 트리 유닛의 하측 또는 우측 중 적어도 하나에만 접한 위치에 상기 인트라 코딩된 유닛이 존재하는 경우, 상기 코딩 트리 유닛은 다른 코딩 트리 유닛과 의존 관계가 없는 것으로 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method of claim 3,
Wherein determining an actual data dependency of intra prediction for the coding tree unit comprises:
When the intra-coded unit does not exist at a position adjacent to the boundary of the coding tree unit or when the intra-coded unit exists at a position adjacent to at least one of the lower side and the right side of the coding tree unit, Is determined to be independent of other coding tree units. ≪ RTI ID = 0.0 > [10] < / RTI >
청구항 3에 있어서,
상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 단계는,
상기 인트라 코딩된 유닛이 상기 코딩 트리 유닛과 동등한 경우에는, 상기 코딩 트리 유닛은 상기 코딩 트리 유닛의 좌측, 좌상측, 상측 및 우상측에 위치한 코딩 트리 유닛과 의존 관계에 있는 것으로 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method of claim 3,
Wherein determining an actual data dependency of intra prediction for the coding tree unit comprises:
And determines that the coding tree unit is in a dependency relationship with a coding tree unit located on the left, upper left, upper and upper right sides of the coding tree unit when the intra-coded unit is equivalent to the coding tree unit A video parallel processing method based on dependency of intra prediction.
청구항 1에 있어서,
상기 코딩 트리 유닛에 대한 병렬 처리를 수행하는 단계는,
상기 인트라 예측의 실제 데이터 의존성을 이용하여 상기 픽처에 포함된 복수의 코딩 트리 블록 간의 의존 관계를 나타나는 방향성 비사이클 그래프(directed acyclic graph)를 생성하는 단계; 및
상기 방향성 비사이클링 그래프에 기반하여 상기 복수의 코딩 트리 블록들을 병렬 처리하는 단계를 포함하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method according to claim 1,
Wherein the step of performing parallel processing on the coding tree unit comprises:
Generating a directed acyclic graph showing a dependency between a plurality of coding tree blocks included in the picture using an actual data dependence of the intra prediction; And
And parallel processing the plurality of coding tree blocks based on the directional bi-cycling graph.
청구항 8에 있어서,
상기 복수의 코딩 트리 블록들을 병렬 처리하는 단계는,
서로 간에 상기 인트라 예측의 실제 데이터 의존성이 없는 상기 복수의 코딩 트리 블록의 각각을 서로 다른 프로세서에 할당하여 인트라 예측을 수행하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method of claim 8,
Wherein the step of parallel processing the plurality of coding tree blocks comprises:
Wherein intra prediction is performed by allocating each of the plurality of coding tree blocks having no real data dependency of the intra prediction to different processors, and performing intra prediction.
청구항 1에 있어서,
상기 비디오 병렬 처리 방법은,
비디오 복호화 과정에서 수행되는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 병렬 처리 방법.
The method according to claim 1,
The video parallel processing method includes:
Video decoding process based on intra-prediction dependence of intra-prediction.
픽처를 구성하는 코딩 트리 유닛을 분할하는 적어도 하나의 코딩 유닛 중에서 인트라 코딩된 코딩 유닛을 검출하는 코딩 유닛 검출 모듈;
상기 코딩 트리 유닛 상에서 상기 인트라 코딩된 코딩 유닛의 위치에 기반하여 상기 코딩 트리 유닛에 대한 인트라 예측의 실제 데이터 의존성을 결정하는 의존성 결정 모듈; 및
상기 실제 데이터 의존성을 이용하여 상기 코딩 트리 유닛에 대한 병렬 처리를 수행하는 병렬 처리 모듈을 포함하는 인트라 예측의 의존성에 기반한 비디오 복호화 장치.
A coding unit detection module for detecting an intra-coded coding unit among at least one coding unit dividing a coding tree unit constituting a picture;
A dependency determination module that determines an actual data dependency of intra prediction on the coding tree unit based on the position of the intra coded coding unit on the coding tree unit; And
And a parallel processing module for performing parallel processing on the coding tree unit using the actual data dependency.
청구항 11에 있어서,
상기 의존성 결정 모듈은,
상기 인트라 코딩된 코딩 유닛이 상기 코딩 트리 유닛의 경계와 접한 부분에 기반하여 상기 인트라 예측의 실제 데이터 의존성을 결정하는 것을 특징으로 하는 인트라 예측의 의존성에 기반한 비디오 복호화 장치.
The method of claim 11,
The dependency determination module includes:
Wherein the intra-coded coding unit determines an actual data dependency of the intra prediction based on a portion in contact with the boundary of the coding tree unit.
KR1020130155132A 2013-12-13 2013-12-13 Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method KR101580723B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130155132A KR101580723B1 (en) 2013-12-13 2013-12-13 Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130155132A KR101580723B1 (en) 2013-12-13 2013-12-13 Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method

Publications (2)

Publication Number Publication Date
KR20150069110A true KR20150069110A (en) 2015-06-23
KR101580723B1 KR101580723B1 (en) 2016-01-11

Family

ID=53516300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130155132A KR101580723B1 (en) 2013-12-13 2013-12-13 Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method

Country Status (1)

Country Link
KR (1) KR101580723B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951900B2 (en) * 2018-06-22 2021-03-16 Intel Corporation Speeding up small block intra-prediction in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124409A (en) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd Image coding apparatus
JP2008252346A (en) * 2007-03-29 2008-10-16 Canon Inc Image encoder and image encoding method
KR20100121972A (en) * 2009-05-11 2010-11-19 한국과학기술원 The method for deciding intra prediction mode of image data
KR20130115039A (en) * 2012-04-10 2013-10-21 한국전자통신연구원 Parallel intra prediction method for video data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124409A (en) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd Image coding apparatus
JP2008252346A (en) * 2007-03-29 2008-10-16 Canon Inc Image encoder and image encoding method
KR20100121972A (en) * 2009-05-11 2010-11-19 한국과학기술원 The method for deciding intra prediction mode of image data
KR20130115039A (en) * 2012-04-10 2013-10-21 한국전자통신연구원 Parallel intra prediction method for video data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951900B2 (en) * 2018-06-22 2021-03-16 Intel Corporation Speeding up small block intra-prediction in video coding

Also Published As

Publication number Publication date
KR101580723B1 (en) 2016-01-11

Similar Documents

Publication Publication Date Title
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
TWI759389B (en) Low-complexity sign prediction for video coding
US10778974B2 (en) Adaptive loop filter with enhanced classification methods
JP7434422B2 (en) Encoding methods, decoding methods, and compatible devices
EP3739883B1 (en) Method and apparatus for encoding and decoding a video signal
TW201813386A (en) Tree-type coding for video coding
WO2020132294A1 (en) Adaptive loop filtering classification in video coding
KR101966195B1 (en) Method and apparatus of image encoding/decoding using reference pixel composition in intra prediction
KR101427229B1 (en) Apparatus and Method for Video Encoding/Decoding using Adaptive Coding Order
JP2023101782A (en) Inter prediction in geometric partitioning with non-straight, non-rectangular partitions
CN113170210A (en) Affine mode signaling in video encoding and decoding
JP7323220B2 (en) Candidates in frames with global motion
KR20210118154A (en) Inter prediction in geometric partitioning with an adaptive number of regions
KR20170111473A (en) Video encoding/docoding method using intra-prediction and apparatus thererof
KR101580723B1 (en) Method for video parallel processing based on dependency of intra prediction and apparatus for video decoding using the method
CN113615183A (en) Flexible allocation of conventional binary bits in residual coding for video coding
KR101540510B1 (en) Method of intra prediction using additional prediction candidate and apparatus thereof
RU2781854C2 (en) Position-dependent combination with internal prediction with wide-angle internal prediction
KR20170111477A (en) Video encoding/docoding method using inter-prediction and apparatus thererof
KR20140082932A (en) Method and apparatus of inter prediction using multi-core
JP2023105072A (en) Signal transmission of global motion vector in picture header

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 5