KR101496418B1 - 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법 - Google Patents

영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법 Download PDF

Info

Publication number
KR101496418B1
KR101496418B1 KR20080094902A KR20080094902A KR101496418B1 KR 101496418 B1 KR101496418 B1 KR 101496418B1 KR 20080094902 A KR20080094902 A KR 20080094902A KR 20080094902 A KR20080094902 A KR 20080094902A KR 101496418 B1 KR101496418 B1 KR 101496418B1
Authority
KR
South Korea
Prior art keywords
deblocking
weight
image frame
line
intra
Prior art date
Application number
KR20080094902A
Other languages
English (en)
Other versions
KR20100035486A (ko
Inventor
백현기
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR20080094902A priority Critical patent/KR101496418B1/ko
Publication of KR20100035486A publication Critical patent/KR20100035486A/ko
Application granted granted Critical
Publication of KR101496418B1 publication Critical patent/KR101496418B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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

멀티 프로세서를 이용하여 영상의 디블로킹을 병렬적으로 수행할 때, 각 프로세서에서의 디블로킹 연산량을 균등하게 하기 위한 장치 및 방법이 제공된다. 일 양상에 따르면, 영상 프레임에서의 라인 단위로 디블로킹 연산 처리량의 예측하고, 예측된 결과를 기반으로 영상 프레임의 영역별 디블로킹을 병렬적으로 수행하는 멀티 프로세서에 디블로킹 처리할 영상 영역을 결정한다.
멀티 프로세싱, 디블로킹, 영상 디코딩, 병렬 처리

Description

영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법{Apparatus for controlling muli-processing complexity for deblocking image and method thereof}
본 발명의 일 양상은 멀티 프로세싱에 관한 것으로, 더욱 상세하게는 멀티 프로세서를 이용하여 영상을 디코딩하는 장치 및 방법에 관한 것이다.
디지털 영상을 효율적으로 처리하기 위해서는 영상 압축이 필수적이다. 영상 압축을 위하여 JPEG(Joint Photographic Experts Group), MPEG(Moving Picture Experts Group), H.261, H.264 등의 표준이 개발된 상태이다. 전술한 영상 압축 표준에 따르면, 영상 압축을 위한 인코더는 디지털 영상을 일정한 크기의 블록으로 분할하여 블록 단위로 이산여현변환, 양자화 등의 압축 처리를 한다.
블록 단위로 부호화된 디지털 영상은 디코딩 과정을 거친 후 영상재생장치에 의해 재생된다. 이때, 재생되는 디지털 영상에서는 시각적으로 블록의 경계선이 구별되어 보이는 현상이 발생한다. 이를 블로킹 현상(blocking artifact)이라고 한다. 블로킹 현상은 디지털 영상이 블록 단위로 처리되며, 양자화 과정에서 필연적으로 정보의 손실이 발생하기 때문에 발생된다. 이러한 블로킹 현상을 제거하기 위한 과정이 영상의 디블로킹이다.
영상 프레임에서 소정의 블록에 대한 디블로킹 연산이 수행되기 위해서는 매크로블록의 위측의 블록과 이전(또는 좌측) 블록의 디블로킹 연산이 끝나야 하므로 디블로킹 연산은 다른 블록에 의존적이게 된다. 또한, 영상의 디블로킹은 H.264의 경우 디코딩 연산량의 1/3을 차지할 정도로 연산량이 많다. 따라서, 영상을 실시간으로 디코딩하기 위하여 영상 디블로킹을 고속으로 수행하기 위한 연구가 진행중이다.
멀티 프로세서를 이용하여 영상의 디블로킹을 병렬적으로 수행할 때, 각 프로세서에서의 디블로킹 연산량을 균등하게 하기 위한 장치 및 방법이 제안된다.
일 양상에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 장치는, 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 연산량 예측부; 및 예측된 디블로킹 연산량에 기초하여 멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록 각각의 멀티 프로세서에 디블로킹 처리될 영상 프레임 영역을 할당하는 로드 할당부를 포함한다.
연산량 예측부는 영상 프레임의 라인 단위의 디블로킹 연산량은 각 라인에 포함되는 인트라 매크로블록의 개수 및 인터 매크로블록 개수 및 인트라 매크로블록의 개수에 부여되는 제1 가중치 및 인터 매크로블록 개수에 부여되는 제2 가중치 에 기초하여 디블로킹 연산량을 예측할 수 있다. 연산량 예측부는 제1 가중치 및 제2 가중치를 결정할 때, 인트라 매크로블록의 개수에 부여되는 제1 가중치에 대한 인터 매크로블록의 개수에 부여되는 제2 가중치의 비율이 인터 매크로블록의 디블로킹 연산 처리 예측 시간에 대한 인트라 매크로블록의 디블로킹 연산 처리 예측 시간의 비율에 따르도록 각각의 가중치가 결정될 수 있다.
연산량 예측부는 이전 영상 프레임에 포함되는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록킹 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 제1 가중치 및 제2 가중치를 동적으로 결정할 수 있다. 또는, 연산량 예측부는 디블로킹일 수행될 현재 영상 프레임에 포함되는 현재 연산량이 예측될 라인 이전의 적어도 하나의 라인에 속하는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록킹 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 제1 가중치 및 제2 가중치를 동적으로 결정할 수 있다.
로드 할당부는 마지막으로 디블로킹을 위한 영상 프레임 영역이 할당되는 프로세서를 제외하고, 예측된 영상 프레임의 라인 단위의 디블로킹을 위한 연산량의 총합을 멀티 프로세서의 개수로 나눈 결과값 이하의 연산량이 멀티 프로세서 각각에 할당되도록 디블로킹을 위한 영상 프레임 영역을 할당할 수 있다. 또한, 로드 할당부는 멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록 멀티 프로세서에서 처리할 영상 프레임 영역으로서 영상 프레임의 적어도 하나의 라인을 가리키 는 라인 식별 정보를 멀티 프로세서 각각에 전달할 수 있다.
다른 양상에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 방법은, 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 단계; 및 예측된 디블로킹 연산량에 기초하여 각각의 멀티 프로세서에 디블로킹 연산량이 균등하게 되도록 영상 프레임의 영역을 할당하는 단계를 포함한다.
일 양상에 따르면, 한 프레임의 영상에 대한 디블로킹을 멀티 프로세싱을 이용하여 병렬적으로 수행할 때 균등한 연산량이 수행되도록 영상의 영역을 할당할 수 있으므로, 영상의 디블로킹 연산 처리 속도를 향상시킬 수 있으며, 따라서 디코딩 성능을 높일 수 있다. 또한, 멀티 프로세서의 디블로킹 연산을 위한 병렬 처리 시간의 단축으로 인하여 전력의 사용량을 낮출 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 일 실시예에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀 티 프로세서의 연산량을 조절하는 장치 및 멀티 프로세서를 나타내는 도면이다.
도 1에는 멀티 프로세서(110), 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서(110)의 연산량을 조절하는 장치(120) 및 예시적인 영상 프레임(10)을 도시하고 있다. 도 1에서 멀티 프로세서(110)는 3개의 멀티 프로세서(112, 114, 116)를 포함하는 것으로 도시되어 있으나, 멀티 프로세서의 개수가 한정된 것은 아니다. 또한, 멀티 프로세서(110)는 H.264, MPEG-4, H.261 등 다양한 영상 코덱에 따른 영상 디블로킹을 수행할 수 있다. 또한, 멀티 프로세서(110) 및 연산량 조절 장치(120)를 포함한 시스템은 DVD 플레이어, IPTV 또는 케이블 TV의 셋탑 박스, 디지털 TV, 휴대폰, PMP, 비디오 MP3, 비디오 캠코더 등 다양한 형태의 멀티미디어 재생 장치로 구현될 수 있다.
도 1에서 영상 프레임(10)은 매크로블록으로 구성되고 총 6개의 라인을 가지고 있다. 영상 프레임(10)의 각 라인에 포함된 매크로블록들에 대한 디블로킹을 위한 연산 처리량은 매크로블록의 타입에 따라 다르다. 예를 들어, 디블로킹은 매크로블록당 1 내지 16개씩 존재하는 BS(Boundary Strength) 값에 따라 필터링 복잡도가 변하게 된다.
일 실시예에 따른 연산량 조절 장치(120)는 멀티 프로세서(110)가 영상 프레임(10)의 디블로킹을 영상의 영역을 나누여 병렬적으로 수행할 때, 영상 프레임(10)을 동일한 크기로 나누어 병렬적으로 수행하지 않고 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하고, 예측된 디블로킹 연산량에 기초하여 연산 로드를 균등하게 할당한다. 즉, 연산량 조절 장치(120)가 디블로킹 처 리될 영상 프레임 영역을 각각의 멀티 프로세서(110)에 할당할 수 있다.
예를 들어, 연산량 조절 장치(120)는 영상 프레임(10)의 디블로킹 처리를 위하여 프로세서 1(112), 프로세서 2(114), 프로세서 3(116)에 균등한 디블로킹 연산량이 처리될 수 있도록, 프로세서 1(112)에 영상 프레임(10)의 1개의 라인에 해당하는 영상을 할당하고, 프로세서 2(114)에 영상 프레임(10)의 다음 3개의 라인에 해당하는 영상을 할당하고, 프로세서 3(116)에 영상 프레임(10)의 나머지 2개의 라인에 해당하는 영상을 할당할 수 있다.
그러면, 프로세서 1(112), 프로세서 2(114) 및 프로세서 3(116)은 할당된 라인에 포함된 매크로블록들에 대한 디블로킹 연산을 수행할 수 있다. 또한, 멀티 프로세서(110)는 라인 단위로 영상 프레임의 영역을 디블로킹하여 발생되는 오류를 후보정할 수 있다.
도 2는 일 실시예에 따른 연산량 조절 장치의 구성을 나타내는 블록도이다.
도 2를 참조하면, 연산량 조절 장치(130)는 연산량 예측부(210) 및 로드 할당부(220)를 포함한다.
연산량 예측부(210)는 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측한다. 연산량 예측부(210)는 영상 프레임의 라인 단위의 디블로킹 연산량은 각 라인에 포함되는 인트라(Intra) 매크로블록의 개수 및 인터(Inter) 매크로블록 개수와 인트라 매크로블록의 개수 및 인터 매크로블록 개수에 각각 가중치를 부여하고, 그에 따라 디블로킹 연산량을 예측할 수 있다. 각 라인에 포함되는 인트라 매크로블록의 개수 및 인터 매크로블록의 개수는 영상 프레임의 가변장 복호화 단계에서 추출되는 영상 프레임의 매크로블록 타입 테이블(20)을 이용하여 획득될 수 있다.
일 실시예에 따르면, 연산량 예측부(210)는 다음의 수학식 1에 의하여 각 라인별 연산량을 예측할 수 있다.
라인 예측 연산량 = 제1 가중치 *intra_mb_num + 제2 가중치*inter_mb_num
여기에서 intra_mb_num은 해당 라인의 인트라 매크로블록의 개수이고, 제1 가중치는 인트라 매크로블록에 부여되는 가중치이고, inter_mb_num은 해당 라인의 인터 매크로블록의 개수이고, 제2 가중치는 인터 매크로블록에 부여되는 가중치이다. 도 2를 참조하면, 도면 부호 40로 표시된 바와 같이 라인별 예측 연산량 정보(40)가 연산량 예측부(210)로부터 로드 할당부(220)로 전달될 수 있다. 라인별 예측 연산량 정보(40)에서, a, b, c 등은 각 라인의 예측 연산량을 나타낸다.
일 실시예에 따르면, 연산량 예측부(210)는 인트라 매크로블록의 개수에 부여되는 제1 가중치에 대한 인터 매크로블록의 개수에 부여되는 제2 가중치의 비율이 인터 매크로블록의 디블로킹 연산 처리 예측 시간에 대한 인트라 매크로블록의 디블로킹 연산 처리 예측 시간의 비율에 따르도록 할 수 있다. 통상적으로 인트라 매크로블록의 디블로킹 연산 처리량이 인터 매크로블록의 디블로킹 처리량이 비하여 많고, 따라서 인트라 매크로블록의 디블로킹 처리 시간이 인터 매크로블록의 디블로킹 처리 시간에 비하여 길다.
예를 들어, 인트라 매크로블록의 디블로킹 처리에는 인터 매크로블록의 디블 로킹 처리에 비하여 약 3배의 시간이 소요될 수 있다. 따라서, 인트라 매크로블록의 디블로킹 연산의 복잡도가 높으므로, 제1 가중치는 3으로 부여하고, 제2 가중치는 1로 부여될 수 있다. 도 2의 현재 프레임의 매크로블록의 타입 테이블을 참조하면, 첫번째 라인에서 인트라 매크로블록은 5개이고 인터 매크로블록은 1이다. 따라서, 라인 단위 예측 연산량(40)에서 첫번째 라인의 연산량(a)는 16으로 예측될 수 있다.
따라서, 일 실시예에 따르면, 연산량 예측부(210)는 디블로킹이 수행될 영상 프레임에 포함되는 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 결정하고, 결정된 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 이용하여 제1 가중치 및 제2 가중치를 결정할 수 있다. 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간은 이전 프레임 또는 현재 프레임의 현재 디블로킹이 수행될 라인의 이전 라인 또는 그 일부에 포함된 매크로블록들의 디블로킹 수행 시간을 기초로 결정될 수 있다. 도 2에 도시된 바와 같이, 인터 매크로블록 및 인트라 매크로블록의 디블로킹 수행 시간 정보(30)는 멀티 프로세서(110)의 각 프로세서에서 계산되어 연산량 예측부(210)에 전달될 수 있다.
일 실시예에 따르면, 연산량 예측부(210)는 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 이전 영상 프레임에 포함되는 인트라 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인터 매크로블록들의 평균 디블로킹 연산 처리 시간을 각각 계산하고, 계산된 각각의 연산 처리 시간 을 이용하여 동적으로 결정할 수 있다. 인트라 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인터 매크로블록들의 평균 디블로킹 연산 처리 시간은 멀티 프로세서(110)의 각 프로세서에서 계산되어 연산량 예측부(210)로 전달되고, 연산량 예측부(210)는 전달된 정보를 이용하여 제1 가중치 및 제2 가중치를 결정하도록 구현될 수도 있다.
또는, 연산량 예측부(210)는 현재 영상 프레임에 포함되는 현재 연산량이 예측되는 라인 이전의 적어도 하나의 라인에 속하는 인트라 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인터 매크로블록들의 평균 디블로킹 연산 처리 시간을 계산하고, 각각의 계산 결과를 이용하여 인트라 매크로블들의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 각각 동적으로 결정할 수 있다. 따라서, 동적으로 결정된 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 이용하여 제1 가중치 및 제2 가중치가 동적으로 결정될 수 있다.
이와 같이, 인터 매크로블록킹 연산 처리 예측 시간 및 인트라 매크로블록의 연산 처리 예측 시간을 이전 영상 프레임 또는 현재 영상 프레임의 적어도 하나의 라인에 속하는 인터 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인트라 매크로블록의 평균 디블로킹 연산 처리 시간을 이용하면, 입력 영상의 특성에 맞도록 동적으로 가중치가 변경될 수 있다. 따라서, 로드 할당부(220)에서도 입력 영상의 특성에 따라 동적으로 로드가 균등하게 각 프로세서에 분배될 수 있다.
로드 할당부(220)는 예측된 디블로킹 연산량에 기초하여 멀티 프로세서(110) 각각의 디블로킹 연산량이 균등하게 되도록 각각의 멀티 프로세서(110)에 디블로킹 처리될 영상 프레임 영역을 할당할 수 있다. 로드 할당부(220)는 마지막으로 디블로킹을 위한 영상 프레임 영역이 할당되는 프로세서를 제외하고, 영상 프레임의 라인 단위로 디블로킹을 위한 연산량의 총합을 멀티 프로세서(110)의 개수로 나눈 결과값 이하의 연산량이 멀티 프로세서(110) 각각에 할당되도록 디블로킹을 위한 영상 프레임 영역을 할당할 수 있다. 또한, 로드 할당부(220)는 멀티 프로세서(110) 각각의 디블로킹 연산량이 균등하게 되도록 멀티 프로세서(110)에서 처리할 영상 프레임 영역으로서 영상 프레임의 적어도 하나의 라인을 가리키는 라인 식별 정보를 멀티 프로세서(110) 각각에 전달할 수 있다.
예를 들어, 2개의 프로세서가 있고, 6개의 라인을 가지는 영상 프레임의 라인 단위 디블로킹 연산량이 {1, 4, 4, 5, 7, 15}로 예측된 경우, 제1 프로세서에는 첫번째 라인부터 네번째 라인까지의 영상 데이터를 디블로킹하도록 할당하고, 제2 프로세서에는 다섯 번째 라인부터 마지막 라인까지의 영상 데이터를 디블로킹하도록 할당할 수 있다. 이 경우, 로드 할당부(220)는 제1 프로세서에는 첫 번째 라인부터 네번째 라인의 식별 정보를 전달하고 제2 프로세서에는 다섯 번째 라인부터 마지막 라인의 식별 정보를 전달할 수 있다. 그러면, 제1 프로세서는 첫 번째 라인부터 네번째 라인까지의 영상 데이터를 가져와서 디블로킹을 수행하고, 제2 프로세서는 다섯 번째 라인부터 마지막 라인까지의 영상 데이터를 가져와서 디블로킹을 수행할 수 있다.
이와 같이, 한 프레임의 영상에 대한 디블로킹을 멀티 프로세싱을 이용하여 병렬적으로 수행할 때 균등한 연산량이 수행되도록 영상의 영역을 할당할 수 있으므로, 영상의 디블로킹 연산 처리 속도를 향상시킬 수 있으며, 결과적으로 디코딩 성능을 높일 수 있다. 또한, 멀티 프로세서의 디블로킹 연산을 위한 병렬 처리 시간의 단축으로 인하여 전력의 사용량을 낮출 수 있다.
도 3은 일 실시예에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 방법을 나타내는 순서도이다.
수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측한다(S 310). 예측된 디블로킹 연산량에 기초하여 각각의 멀티 프로세서에 디블로킹 연산량이 균등하게 되도록 영상 프레임의 영역을 할당한다(S320). 멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록 멀티 프로세서에서 처리할 영상 프레임 영역으로서 영상 프레임의 적어도 하나의 라인을 가리키는 라인 식별 정보를 멀티 프로세서 각각에 전달될 수 있다.
도 4는 일 실시예에 따른 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 방법을 상세하게 나타내는 순서도이다.
각 라인에 포함되는 인트라 매크로블록의 개수 및 인터 매크로블록 개수에 대한 정보를 획득한다(S 410).
인트라 매크로블록의 디블로킹 연산 처리 예측 시간 및 인터 매크로블록의 디블로킹 연산 처리 예측 시간을 계산한다(S 420). 이전 영상 프레임에 포함되는 인트라 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인터 매크로블록들의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 각각 결정할 수 있다. 또는, 현재 영상 프레임에 포함되는 적어도 하나의 라인에 속하는 인트라 매크로블록들의 평균 디블로킹 연산 처리 시간 및 인터 매크로블록들의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록의 연산 처리 예측 시간 및 인터 매크로블록의 연산 처리 예측 시간을 각각 계산할 수 있다.
인트라 매크로블록의 디블로킹 연산 처리 예측 시간 및 인트라 매크로블록의 디블로킹 연산 처리 예측 시간에 기초하여 인트라 매크로블록의 개수에 부여되는 제1 가중치 및 인터 매크로블록 개수에 부여되는 제2 가중치를 결정한다(S 430).
인트라 매크로블록의 개수, 인터 매크로블록 개수, 제1 가중치 및 제2 가중치에 기초하여 각 라인에 대한 디블로킹 연산량을 예측한다(S 440). 라인 단위의 디블록킹 연산량은 수학식 1를 참조하여 설명한 바와 같이 예측될 수 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분 야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
도 1은 일 실시예에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 장치 및 멀티 프로세서를 나타내는 도면이고,
도 2는 일 실시예에 따른 연산량 조절 장치의 구성을 나타내는 블록도이고,
도 3은 일 실시예에 따른 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 방법을 나타내는 순서도이고,
도 4는 수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 방법을 상세하게 나타내는 순서도이다.

Claims (14)

  1. 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 장치로서,
    수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 연산량 예측부; 및
    상기 예측된 디블로킹 연산량에 기초하여 멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록, 각각의 멀티 프로세서에 디블로킹 처리될 영상 프레임 영역을 할당하는 로드 할당부를 포함하는 연산량 조절 장치.
  2. 제1항에 있어서,
    상기 연산량 예측부는,
    라인 예측 연산량 = 제1 가중치 *intra_mb_num + 제2 가중치*inter_mb_num 를 이용하여 상기 디블로킹 연산량을 예측하고,
    intra_mb_num은 해당 라인의 인트라 매크로블록의 개수이고, 제1 가중치는 인트라 매크로블록의 개수에 부여되는 가중치이고, inter_mb_num은 해당 라인의 인터 매크로블록의 개수이고, 제2 가중치는 인터 매크로블록의 개수에 부여되는 가중치인 연산량 조절 장치.
  3. 제2항에 있어서,
    상기 연산량 예측부는 상기 인트라 매크로블록의 개수에 부여되는 제1 가중치에 대한 상기 인터 매크로블록의 개수에 부여되는 제2 가중치의 비율이 인터 매 크로블록의 디블로킹 연산 처리 예측 시간에 대한 인트라 매크로블록의 디블로킹 연산 처리 예측 시간의 비율에 따르도록 상기 제1 가중치 및 상기 제2 가중치를 결정하는 연산량 조절 장치.
  4. 제3항에 있어서,
    상기 연산량 예측부는 이전 영상 프레임에 포함되는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록킹 연산 처리 예측 시간 및 상기 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 상기 제1 가중치 및 상기 제2 가중치를 동적으로 결정하는 연산량 조절 장치.
  5. 제3항에 있어서,
    상기 연산량 예측부는 현재 영상 프레임에 포함되는 현재 예측되는 라인 이전의 적어도 하나의 라인에 속하는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 상기 인트라 매크로블록킹 연산 처리 예측 시간 및 상기 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 상기 제1 가중치 및 상기 제2 가중치를 동적으로 결정하는 연산량 조절 장치.
  6. 제1항에 있어서,
    상기 로드 할당부는 하나의 영상 프레임에 대하여 마지막으로 디블로킹을 위 한 영상 프레임 영역이 할당되는 프로세서를 제외하고, 상기 연산량이 예측된 영상 프레임의 라인 단위의 디블로킹을 위한 연산량의 총합을 상기 멀티 프로세서의 개수로 나눈 결과값 이하의 연산량이 멀티 프로세서 각각에 할당되도록 디블로킹을 위한 영상 프레임 영역을 할당하는 연산량 조절 장치.
  7. 제1항에 있어서,
    상기 로드 할당부는 멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록 상기 멀티 프로세서에서 처리할 영상 프레임 영역으로서 영상 프레임의 적어도 하나의 라인을 가리키는 라인 식별 정보를 상기 멀티 프로세서 각각에 전달하는 연산량 조절 장치.
  8. 영상 프레임의 디블로킹을 병렬적으로 수행하는 멀티 프로세서의 연산량을 조절하는 방법으로서,
    수신되는 영상 프레임의 라인 단위로 디블로킹을 위한 연산량을 예측하는 단계; 및
    상기 예측된 디블로킹 연산량에 기초하여 각각의 멀티 프로세서에 디블로킹 연산량이 균등하게 되도록, 영상 프레임의 영역을 할당하는 단계를 포함하는 연산량 조절 방법.
  9. 제8항에 있어서,
    상기 라인 단위의 디블로킹 연산량을 예측하는 단계는,
    상기 영상 프레임의 각 라인에 포함되는 인트라 매크로블록의 개수 및 인터 매크로블록 개수에 대한 정보를 획득하는 단계;
    상기 인트라 매크로블록의 개수에 부여되는 제1 가중치 및 인터 매크로블록 개수에 부여되는 제2 가중치를 결정하는 단계; 및
    라인 예측 연산량 = 제1 가중치 *intra_mb_num + 제2 가중치*inter_mb_num 를 이용하여 상기 디블로킹 연산량을 예측하는 단계를 포함하고,
    intra_mb_num은 해당 라인의 인트라 매크로블록의 개수이고, inter_mb_num은 해당 라인의 인터 매크로블록의 개수인 연산량 조절 방법.
  10. 제9항에 있어서,
    상기 제1 가중치 및 상기 제2 가중치를 결정하는 단계는,
    상기 제1 가중치에 대한 상기 제2 가중치의 비율이 인터 매크로블록의 디블로킹 연산 처리 예측 시간에 대한 인트라 매크로블록의 디블로킹 연산 처리 예측 시간의 비율에 기초하여 결정되도록 상기 제1 가중치 및 상기 제2 가중치를 결정하는 연산량 조절 방법.
  11. 제10항에 있어서,
    상기 제1 가중치 및 상기 제2 가중치를 결정하는 단계는,
    이전 영상 프레임에 포함되는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 인트라 매크로블록킹 연산 처리 예측 시 간 및 상기 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 상기 제1가중치 및 제2 가중치를 동적으로 결정하는 연산량 조절 방법.
  12. 제10항에 있어서,
    상기 제1 가중치 및 상기 제2 가중치를 결정하는 단계는,
    디블로킹이 수행될 현재 영상 프레임에 포함되는 현재 연산량이 예측될 라인 이전의 적어도 하나의 라인에 속하는 인트라 매크로블록 및 인터 매크로블록 각각의 평균 디블로킹 연산 처리 시간을 이용하여 상기 인트라 매크로블록킹 연산 처리 예측 시간 및 상기 인터 매크로블록의 연산 처리 예측 시간을 각각 결정함으로써 상기 제1 가중치 및 상기 제2 가중치를 동적으로 결정하는 연산량 조절 방법.
  13. 제8항에 있어서,
    상기 영상 프레임의 영역을 할당하는 단계는,
    하나의 영상 프레임에 대하여 마지막으로 디블로킹을 위한 영상 프레임 영역이 할당되는 프로세서를 제외하고, 상기 예측된 영상 프레임의 라인 단위의 디블로킹을 위한 연산량의 총합을 상기 멀티 프로세서의 개수로 나눈 결과값 이하의 연산량이 멀티 프로세서 각각에 할당되도록 디블로킹을 위한 영상 프레임 영역을 할당하는 연산량 조절 방법.
  14. 제8항에 있어서,
    상기 영상 프레임의 영역을 할당하는 단계는,
    멀티 프로세서 각각의 디블로킹 연산량이 균등하게 되도록 상기 멀티 프로세서에서 처리할 영상 프레임 영역으로서 영상 프레임의 적어도 하나의 라인을 가리키는 라인 식별 정보를 상기 멀티 프로세서 각각에 전달하는 연산량 조절 방법.
KR20080094902A 2008-09-26 2008-09-26 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법 KR101496418B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20080094902A KR101496418B1 (ko) 2008-09-26 2008-09-26 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080094902A KR101496418B1 (ko) 2008-09-26 2008-09-26 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100035486A KR20100035486A (ko) 2010-04-05
KR101496418B1 true KR101496418B1 (ko) 2015-02-26

Family

ID=42213359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080094902A KR101496418B1 (ko) 2008-09-26 2008-09-26 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101496418B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020014711A (ko) * 2000-08-16 2002-02-25 모리시타 요이찌 디블록킹 필터링 장치 및 방법
KR20060084960A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 이동형 방송 수신기의 디블로킹 필터 및 필터링 방법
KR20070058839A (ko) * 2005-12-05 2007-06-11 주식회사 텔레칩스 디블록킹 필터
JP2008035029A (ja) 2006-07-27 2008-02-14 Nippon Telegr & Teleph Corp <Ntt> 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020014711A (ko) * 2000-08-16 2002-02-25 모리시타 요이찌 디블록킹 필터링 장치 및 방법
KR20060084960A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 이동형 방송 수신기의 디블로킹 필터 및 필터링 방법
KR20070058839A (ko) * 2005-12-05 2007-06-11 주식회사 텔레칩스 디블록킹 필터
JP2008035029A (ja) 2006-07-27 2008-02-14 Nippon Telegr & Teleph Corp <Ntt> 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体

Also Published As

Publication number Publication date
KR20100035486A (ko) 2010-04-05

Similar Documents

Publication Publication Date Title
KR101238974B1 (ko) 비디오 코더 및 디코더 공동 최적화를 위한 방법 및 시스템
US8432964B2 (en) Image processing device, method, and program
TWI754188B (zh) 用於增加計算交叉分量線性模型參數的穩健性的編碼器、解碼器及方法
US8605792B2 (en) Slice coding allocation method, apparatus and circuit
KR101375664B1 (ko) 영상의 디퓨전 특성을 이용한 영상 부호화/복호화 방법 및장치
US20090060045A1 (en) Moving picture encoding apparatus and moving picture encoding method
EP2775718B1 (en) Method, device, and program for coding and decoding of images
US20230188733A1 (en) Video display preference filtering
GB2492778A (en) Motion compensated image coding by combining motion information predictors
US20130330015A1 (en) Image coding device, image decoding device, methods thereof, and programs
KR101033769B1 (ko) 영상 데이터의 인트라 예측 모드 결정 방법
US10349050B2 (en) Image coding apparatus, image coding method and recording medium
US20130215976A1 (en) Encoding/decoding apparatus and method for parallel correction of in-loop pixels based on measured complexity, using video parameter
TWI511531B (zh) 影像編碼裝置、影像編碼方法及影像編碼程式
CN114402619A (zh) 光流预测细化(prof)的方法和装置
CN112703732A (zh) 使用存储的参数对视频编码和解码进行局部照明补偿
RU2734616C1 (ru) Способ декодирования видео с предсказанием и устройство декодирования видео с предсказанием
JP2013115583A (ja) 動画像符号化装置及びその制御方法並びにプログラム
JP5748225B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
CN112106372A (zh) 用于混合帧内预测的方法和设备
US20160269737A1 (en) Intra prediction device and intra prediction method
JP2009089267A (ja) イントラ予測符号化装置、イントラ予測符号化方法及びプログラム
KR20220046707A (ko) 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR101496418B1 (ko) 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법
KR101172346B1 (ko) 데이터 처리 속도를 개선한 데이터 처리장치 및 그 동작방법

Legal Events

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