• 제목/요약/키워드: SIMD 명령어

검색결과 49건 처리시간 0.025초

SIMD 명령어를 이용한 H.264 인코더 최적화 (Optimization of H.264 Encoder using SIMD Instructions)

  • 김용환;김제우;김태완;최병호
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(상)
    • /
    • pp.175-178
    • /
    • 2003
  • 최근에 표준화가 완료된 차세대 비디오 코딩 표준인 H.264 는 적은 비트율에서 높은 품질의 비디오 압축을 목표로 하기 때문에, H.263+ 및 MPEG-2/4 와 같은 이전의 표준들보다 훨씬 더 많은 연산을 필요로 한다. 본 논문은 SIMD (Single Instruction Multiple Data) 명령어를 가지는 범용 프로세서(예를 들면, 펜티엄 4)에서 H.264 S/W 인코더의 속도 최적화를 위한 알고리듬 및 구현 기술을 제안한다. 화질 저하 없이 RDO (Rate Distortion Optimization) 의 속도를 높일 수 있는 효율적인 모드 검색 건너뛰기 알고리듬을 제안하고, SIMD 명령어를 이용하여 1/4 화소 보간, SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference), SSD (Sum of Squared Difference) 등의 개별 루틴의 속도를 최적화한다. 일련의 최적화 후에 인코더는 화질 저하 없이 H.264 레퍼런스 인코더보다 평균 3배 정도의 속도 향상이 이루어진다.

  • PDF

HEVC 고속 부호화를 위한 SIMD 기반 Search Box 기법의 정수 화소 단위 움직임 추정 방법 (Novel Motion Estimation Scheme to Integer Pixel with a Search Box based on SIMD for Fast HEVC encoding)

  • 석진욱;김연희;기명석;김휘용
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2015년도 추계학술대회
    • /
    • pp.203-206
    • /
    • 2015
  • 본 논문은 4K UHD 입력 영상에 대한 HEVC 고속 부호화를 위하여 대부분의 상용 CPU 및 AP 에서 사용되고 있는 SIMD (Single Instruction Mutiple Data) 명령어를 사용한 고속의 정수 화소 단위 움직임 추정 방법에 대한 연구이다. 특히, IT 기기에서의 고속 동영상 부호화를 위해 기존의 SIMD 명령어를 개량하여 동일한 CPU 실행시간에 다수의 움직임 추정을 수행할 수 있는 SIMD 명령어를 사용하여 보다 같은 실행시간에 보다 넓은 영역에 대한 움직임 벡터 탐색을 수행할 수 있도록 Search Box 기법을 새로이 개발하고 이를 토대로 기존 HEVC 에서 사용되고 있는 움직임 추정 방법에 대하여 연산시간을 줄이는 동시에 화질 열화를 최소화 시킬 수 있는 방법에 대하여 논한다.

  • PDF

영역기반 스테레오 영상 정합을 위한 고속 SAD 알고리즘 (A Fast SAD Algorithm for Area-based Stereo Matching Methods)

  • 이우영;김정길
    • 한국위성정보통신학회논문지
    • /
    • 제7권2호
    • /
    • pp.8-12
    • /
    • 2012
  • 스테레오 비전 분야에서 영역 기반의 영상 정합은 스테레오 영상 분석을 위한 대표적인 방법이다. SAD (Sum of Absolute Difference) 알고리즘은 영역 기반 정합 알고리즘의 한 종류로서 대규모 데이터 집약적 계산을 요구하여 소프트웨어 방식을 사용할 경우 처리속도가 매우 느리게 된다. 본 논문에서는 소프트웨어 기반 SIMD (Single Instruction Multiple Data) 병렬 기법인 SSE (Streaming SIMD Extensions) 명령어를 이용한 고속 SAD 알고리즘을 제안한다. SSE 명령어를 지원하는 CPU는 16개의 128비트 크기의 XMM 레지스터를 보유하여 SIMD 명령어 집합 확장을 가능하게 하였다. 제안하는 소프트웨어 기반 병렬 고속화 기법의 성능 측정을 위하여 일반적 SAD를 이용한 영상 정합 알고리즘과 SSE 명령어를 사용한 알고리즘의 수행 속도차이를 측정하였다. 제안하는 기법은 일반적 SAD 알고리즘보다 평균 4배의 성능 향상의 결과를 보임으로 소프트웨어 기반 고속병렬 처리를 통한 실시간 스테레오 비전 응용분야에 효과적으로 적용될 수 있음을 보였다.

다중 코어 및 single instruction multiple data 기술을 이용한 심층 신경망 속도 향상 (Improving the speed of deep neural networks using the multi-core and single instruction multiple data technology)

  • 정익주;김승희
    • 한국음향학회지
    • /
    • 제36권6호
    • /
    • pp.425-435
    • /
    • 2017
  • 본 논문에서는 다중 코어 ARM 프로세서의 NEON SIMD(Single Instruction Multiple Data) 병렬 명령어 및 다중 코어 병렬화를 통하여 심층 신경망의 피드포워드 네트워크 연산을 최적화하는 방안을 제시하였다. SIMD 병렬 명령어를 이용한 최적화의 경우에는 단계 별 최적화 과정에서의 속도 향상과 정밀도를 제시 하였다. 단일 코어 상에서 SIMD 병렬 명령어를 이용하여 구현된 결과는 C 컴파일러를 이용한 구현보다 2.6배의 속도 향상을 얻을 수 있었다. 또한 단일 코어 상에서 최적화된 코드를 다중 코어로 병렬화함으로써 5.7배~7.7배의 속도 향상을 얻을 수 있었다. 이상의 결과를 통하여 이동형 단말기에서도 연산량이 많은 심층 신경망 기술을 활용할 수 있는 가능성을 확인하였다.

AVX2 명령어를 이용한 HEVC 역 이산여현변환 고속화 (Fast implementation of HEVC inverse DCT using AVX2 instructions)

  • 김우리;조현호;안용조;심동규
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2014년도 하계학술대회
    • /
    • pp.206-208
    • /
    • 2014
  • 본 논문에서는 HEVC (High Efficiency Video Coding)의 IDCT (Inverse Discrete Cosine Transform) 모듈을 AVX2 (Advanced Vector Extensions 2) 명령어 셋을 사용하여 고속화하는 방법을 제안한다. 제안하는 방법은 4 개의 $4{\times}4$ 블록을 AVX2 레지스터에 로드 한 후, 동시에 AVX2 명령어 셋을 통해 한 번에 IDCT 를 수행한다. 제안하는 방법은 $4{\times}4$ 블록 단위로 순차적으로 SIMD(Single Instruction Multiple Data) 명령어 셋을 통해 IDCT 를 수행하는 방법에 비해 명령어 단위의 병렬화 성능을 극대화한다. 실험 결과, HEVC 디코더의 $4{\times}4$ IDCT 에 SIMD 명령어 셋을 적용한 경우 기존의 HM-12.1 에 비해 평균 3.35 배 수행 속도를 향상 시킨 반면, 제안하는 방법은 HM12.1에 비해 평균 9.50 배 수행 속도를 향상 시켰다.

  • PDF

SIMD 명령어가 추가된 VLIW ASIP 프로세서 (SIMD Extended VLIW ASIP architecture)

  • 양승준;박상현;허인구;이종원;김용주;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 추계학술발표대회
    • /
    • pp.1589-1590
    • /
    • 2010
  • VLIW 아키텍처는 동시에 여러 개의 명령어를 수행하면서도 상대적으로 크기가 작으며 적은 전력을 소모한다는 장점 때문에 임베디드 어플리케이션을 처리하기 위해 많이 쓰이고 있다. 본 논문에서는 SIMD 명령어를 추가한 VLIW 아키텍처를 설계함으로써 동영상 처리와 같은 미디어 어플리케이션을 효과적으로 처리할 수 있도록 하였다.

SIMD 명령어를 이용한 영상의 평균화 필터 최적화 (Optimization of Image Averaging Filter Using SIMD Instructions)

  • 김준철;최학남;박은수;김학일
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2007년도 심포지엄 논문집 정보 및 제어부문
    • /
    • pp.431-432
    • /
    • 2007
  • 본 연구에서는 영상의 잡음 제거에 우수한 평균화 필터 알고리즘을 SIMD(Single Instruction Multiple Data) 명령어를 이용하여 고속화하였다. 먼저 순차 알고리즘의 속도 향상을 위한 최적화를 수행하고, SIMD에 적합 하도록 변환 하여 4 또는 16 개의 데이터를 동시에 연산이 가능하도록 하였다. 또한 나누기 연산을 줄이기 위하여 8비트의 데이터 타입과 함께 룩업 테이블(Lookup Table)을 이용하였다. 각각의 데이터 타입에 적합하게 알고리즘을 변환하여 비교하였고 실험을 통하여 기존의 순차 처리방식에 비해 평균적으로 2.5배 이상의 속도 향상을 보았다.

  • PDF

SIMD 기반의 VBP 기법을 적용한 효율적인 퀵정렬의 구현 (An Implementation of Efficient Quicksort Utilizing SIMD-Based VBP Technique)

  • 홍길석;김홍연;강성현;민준기
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권8호
    • /
    • pp.498-503
    • /
    • 2017
  • SIMD(Single Instruction Multiple Data)는 대표적인 병렬화 아키텍처 중 하나로, SIMD 레지스터에 적재된 여러 개의 데이터들을 하나의 명령어로 처리하는 기술이다. 퀵정렬(Quicksort)은 데이터 값들이 리스트로 저장되어 있을 때, 임의의 위치에 있는 데이터 값을 피봇으로 하여 그것보다 작은 값은 왼편으로, 큰 값은 오른편으로 분할하여 생성된 두 개의 서브리스트에 대하여 같은 작업을 반복함으로써 데이터 값들을 정렬하는 정렬 알고리즘이다. 본 연구에서는 SIMD 명령어를 이용하여 파이프라인 아키텍처에서 조건 예측 실패에 따른 성능 저하를 유발하지 않도록 분기 조건을 최소로 사용하는 효율적인 퀵정렬(Quicksort) 알고리즘을 제안한다. 또한, VBP(Vertical Bit Parallel) 기법과 얼리 프루닝(early pruning) 기법을 적용하여 SIMD 레지스터에 데이터를 바이트 단위로 적재함으로써 퀵 정렬 알고리즘의 성능을 향상하였다.

SSE 명령어를 이용한 영상의 고속 전처리 알고리즘 (Fast Image Pre-processing Algorithms Using SSE Instructions)

  • 박은수;최학남;김준철;임유청;김학일
    • 대한전자공학회논문지SP
    • /
    • 제46권2호
    • /
    • pp.65-77
    • /
    • 2009
  • 본 논문에서는 SSE (Streaming SIMD Extensions) 명령어를 이용한 고속 영상처리 알고리즘을 제안한다. SSE 명령어를 지원하는 CPU는 128비트 크기의 XMM 레지스터를 보유하고 있으며 이에 속한 데이터는 SIMD(Single Instruction Multiple Data) 방식으로 한 번에 병렬로 처리 될 수 있다. 영상처리에서 폭넓게 활용되는 평균 필터, 소벨 수평방향 외곽선 검출, 이진 침식 알고리즘을 SIMD 방식으로 효과적으로 처리 할 수 있는 알고리즘을 제시하였고, 수행 시간을 측정하였다. 보다 객관적인 수행 속도 평가를 위해 현재 많이 사용되고 있는 영상처리 라이브러리와의 수행 속도를 비교하였다. 비교에 사용된 라이브러리는 SISD(Single Instruction Single Data)방식으로 동작하는 OpenCV 1.0, SIMD 방식을 지원하는 고속 영상처리 라이브러리인 IPP 5.2와 MIL 8.0에서 각각 수행 시간을 측정하고 제안하는 알고리즘의 처리 속도와 비교하였다. 실험결과 제안하는 알고리즘은 SISD방식의 영상처리 라이브러리에 비해 평균 8배의 성능향상을 보였으며, SIMD 방식의 고속 영상처리 라이브러리와 비교 하였을 때 평균 1.4배의 성능향상을 보였다. 따라서 제안하는 알고리즘은 고가의 영상처리 라이브러리와 추가적인 하드웨어의 구입 없이도 고속으로 동작해야 하는 실제 영상 처리 어플리케이션에 효과적으로 적용될 수 있음을 보였다.

Content-Addressable Memory를 이용한 확장 가능한 범용 병렬 Associative Processor 설계 (Design of a scalable general-purpose parallel associative processor using content-addressable memory)

  • 박태근
    • 대한전자공학회논문지SD
    • /
    • 제43권2호
    • /
    • pp.51-59
    • /
    • 2006
  • 일반 컴퓨터에서 중앙처리장치와 메모리 사이의 병목현상인 "Von Neumann Bottleneck"을 보이는데 본 논문에서는 이러한 문제점을 해소하고 검색위주의 응용분야에서 우수한 성능을 보이는 Content-addressable memory(CAM) 기반의 확장 가능한 범용 Associative Processor(AP) 구조를 제안하였다. 본 연구에서는 Associative computing을 효율적으로 수행할 수 있는 명령어 세트를 제안하였으며 다양하고 대용량 응용분야에도 적용할 수 있도록 구조를 확장 가능하게 설계함으로써 유연한 구조를 갖는다. 12 가지의 명령어가 정의되었으며 프로그램이 효율적으로 수행될 수 있도록 명령어 셋을 구성하고 연속된 명령어를 하나의 명령어로 구현함으로써 처리시간을 단축하였다. 제안된 프로세서는 bit-serial, word-parallel로 동작하며 대용량 병렬 SIMD 구조를 갖는 32 비트 범용 병렬 프로세서로 동작한다. 포괄적인 검증을 위하여 명령어 단위의 검증 뿐 아니라 최대/최소 검색, 이상/이하 검색, 병렬 덧셈 등의 기본적인 병렬 알고리즘을 검증하였으며 알고리즘은 처리 데이터의 개수와는 무관한 상수의 복잡도 O(k)를 갖으며 데이터의 비트 수만큼의 이터레이션을 갖는다.