$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

임베디드용 JBIG2 부호화기의 하드웨어 설계
Hardware Design for JBIG2 Encoder on Embedded System 원문보기

한국통신학회논문지. The Journal of Korea Information and Communications Society. 통신이론 및 시스템, v.35 no.2C, 2010년, pp.182 - 192  

서석용 (광운대학교 전자통신공학과) ,  고형화 (광운대학교 전자통신공학과)

초록
AI-Helper 아이콘AI-Helper

본 논문은 이진 영상 압축 표준인 JBIG2의 주요 구성모듈을 하드웨어 IP(Intellectual Property)로 설계 구현을 제안한다. JBIG2가 표준화된 이후 차세대 FAX 하드웨어 개발을 용이하게 하기 위하여 JBIG2 부호화기의 주요 모듈인 심볼 추출부, 허프만 부호화기, MMR 부호화기, MQ 산술부호화기를 하드웨어 IP로 합성하였다. VHDL코드 생성 및 합성을 위해서 ImpulseC Codeveloper와 Xilinx ISE/EDK 프로그램을 사용하였다. 심볼추출시 메모리의 사용을 최소화하기 위해 문서를 128라인씩 분할하여 처리하도록 설계하였다. 합성된 IP들은 Xilinx사의 ML410 개발보드의 Virtex-4 FX60 FPGA에 다운로드하여 성능평가를 수행하였다. 4개의 IP가 FPGA에서 차지하는 면적은 전체 slice의 36.7%를 차지하였다. 동작 검증을 위해 Active HDL 툴을 이용하여 각 IP에 대한 파형 검증을 수행한 결과 정상 동작함을 확인하였다. 아울러 ML410 개발보드 상에서 Microblaze CPU를 이용해 소프트웨어로만 수행한 경우와 동작 속도를 비교 한 결과, 구현된 IP들은 심볼 추출부는 17배, 허프만 부호화기는 10배, MMR 부호화기는 6배, MQ 산술부호화기는 2.2배 이상의 빠른 처리 속도를 나타내었다. 구현된 하드웨어 IP와 연동된 소프트웨어 모듈로 표준 CCITT문서를 압축한 결과 정상적으로 동작함을 확인하였다.

Abstract AI-Helper 아이콘AI-Helper

This paper proposes the hardware IP design of JBIG2 encoder. In order to facilitate the next generation FAX after the standardization of JBIG2, major modules of JBIG2 encoder are designed and implemented, such as symbol extraction module, Huffman coder, MMR coder, and MQ coder. ImpulseC Codeveloper ...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • 있다. IP의 합성을 위해 Impulse C Codeveloper 를 사용하여 소프트웨어와 하드웨어 모듈, 디바이스 드라이버를 구현한 후, Xilinx사의 ISE와 EDK Tool'侦을 사용하여 IP를 합성하였고 IP의 파형 검증은 Active-HimL〔坷을 사용하여 실시하였다. 최종적으로 ML410보드에 Microblaze cpu를 합성한 흑、 개발된 IP를 FPGA에 다운로드하여 개발보드에 부속된 Flash 메모리에 저장된 이진문서를 로딩하여 S/W와 연동을 통해 압축하는 실험을 수행함으로써 정상 동작 여부를 검증하였다.
  • 6% 정도를 사용하였다. MMR 부호화기의 성능 평가는 10개의 테스트용 비트맵 영상을 MMR 코딩한 시간을 측정함으로 수행하였다. 10번의 실험을 수행한 후 평균 시간을 측정 했을 때 소프트웨어로만 수행한 경우 평균 1천4백3십만 ticks가 소요되었고 하드웨어로 수행했을 경우 2백3십만ticks가 소요되었다.
  • 다른 4개의 블록보다 제일 많은 면적을 차지한 것을 알 수 있다. MQ 산술부호화기의 성능평가는 JBIG2 Final CD[4] 부록에 있는 테스트 시퀀스(32 Byte)를 MQ 산술 부호화하는데 소요된 시간을 측정함으로 수행하였다. 10번의 실험을 수행한 후 IByte의 입력 데이터를 부호화 하는데 소요된 평균 시간을 계산했을 때 소프트웨어로 수행한 경우 평균 6만4천 ticks가 소요되었고, 하드웨어로 수행했을 경우 2만8천 ticks가 소요되었다.
  • 둘째, 설계된 하드웨어 IP 와 소프트웨어의 연동했을 때와 Microblaze 코어를 이용하여 소프트웨어만으로 처리했을 때의 소요되는 처리 시간을 비교하였다. Microblaze 코어는 내부에 타이머가 없기 때문에 OPB-Timer를 이용하여 처리 시간을 측정하였다. OPB-Timer는 IP가 동작될 때클럭을 측정하는 타이머로써 단위는 ticks이고, ticks 에 프로세서의 동작 주기를 곱하면 동작시간이 된다 공정한 동작시간을 얻기 위해 여러 번 반복 수행 후 평균 처리 속도를 구했다.
  • 하드웨어에 입력되는 값은 내부메모리를 효율적으로 사용하기 위하여 부호화 하고자 하는 픽셀 값(D) 1 bit와 컨텍스트 값 (CX) 16 Bits를 전송한다. Qe 확률표는 static 메모리에 저장하고, 소프트웨어 모듈과 하드웨어 모듈의연동을 위해 하드웨어 모듈의 내부 레지스터(A, C, Counter)의 정보 값은 매 인코딩 스텝마다 입출력스트림을 통해 주고 받도록 설계하였다. 부호화된데이터는 Ibyte 씩 S/W 모듈로 전송한다.
  • 저장된 영상에서 심벌을 찾고, 윤곽선 검출을 통해 심벌의 윤곽선을 생성한다. 그리고 채워넣기(Fill-In) 과정을 통해 윤곽선 내부를 채우도록 하여 심벌 비트맵을 생성하도록 설계하였다, 심벌의 ID, 심벌 비트맵의 가로 및 세로 위치, 심벌 비트맵의 가로 및 세로 크기, 심벌 비트맵을 스트림으로 출력하도록 설계하였다. 심벌비트맵은 8비트, 나머지 데이터는 16비트 스트림으로 설계하였다.
  • MMR 부호화는 기준선과 현재 라인의 화소들의 상관관계를 이용하여 부호화 하는방법으로 처음의 기준선은 백색라인을 기준선으로설정한다. 기준선을 설정 한 후 현재라인의 변화 화소의 위치를 찾기 위해 흑색에서 백색으로 변화하는 화소들의 위치를 메모리에 저장하고 백색에서흑색으로 변화하는 화소들의 위치를 저장한다. 이변화 화소의 위치 값으로부터 MMR 표준문세기에정의된 al, a2, bl, b2를 구한다.
  • 환경 값을 설정한다. 다음으로는 해당되는허프만 테이블의 구간별 최저값을 메모리로부터 읽어 와서 부호화될 데이터의 값과 비교하여 어느 구간에 속하여 있는지를 찾아낸다 그 위치에 해당하는 인덱스 값을 이용하여 프리픽스 길이와 프리픽스 부호 그리고 구간 길이를 메모리로부터 읽어오도록 한다. 구간 부호는 부호화될 데이터의 값과 해당 구간의 최저값과의 차이가 코드로 만들어진다.
  • 성능평가는 첫째로 합성된 IP의 FX-60의 사용가능한 Slice중에서 몇 % 를 소모했는지 측정한다. 둘째, 설계된 하드웨어 IP 와 소프트웨어의 연동했을 때와 Microblaze 코어를 이용하여 소프트웨어만으로 처리했을 때의 소요되는 처리 시간을 비교하였다. Microblaze 코어는 내부에 타이머가 없기 때문에 OPB-Timer를 이용하여 처리 시간을 측정하였다.
  • 또한, 산술부호기의 속성상 입력이 인가된 후 출력이 발생하기까지에는 불규칙한 지연이 발생한다. 따라서, 모든 입력이 완료가 된 후에도 하드웨어 모듈에는 가상입력을 계속 인가하여 최종 Byteout이 OxAC, OxFF가 출력 되는 것을 확인한 후에 하드웨어 모듈을 종료시키도록 설계하였다.
  • 어려울 정도로 연구가 미약하다. 먼저 심벌추출부의 설계 사례는 검색되지 않았다 MQ 산술부호기의 하드웨어 설계의 경우, JPEG2000에 사용하기 위해 제안된 것으로 부호기의 동작 스피드를 높이고 구조를 단순화하여 연산량을 줄이기 위하여 4단계 파이프라인 적용과 복잡한 곱셈기와 나눗셈기 대신 근사화를 통한 간단한 덧셈과 시프트연산을 적용한 방법'頌Ki이 제안되었다. MMR 부호기의 하드웨어 설계의 경우 압축된 2진 영상 데이터를 고속으로 복원하기 위하여 병렬 영상 스트림 방법을 적용한 MMR 부호화를 지원하는 VLSI 설계 16] 등이 발표되었다.
  • 문서 내에서 심벌을 추출하기 위한 심벌 추출부는 실험에 사용된 임베디드 보드의 제한된 메모리 용량으로 인해, 전체 영상을 한꺼번에 저장할 수 없기 때문에 128라인씩 분할한 영상을 임베디드 보드의 메모리에 저장하도록 설계하였다. 메모리양은 200dpi 문서의 수평 화소 크기가 1728화소가 되는데 8화소씩 묶어서 하나의 바이트를 구성하게 되어, 1*17228 8/8 = 27, 648 (byte)가 필요하다 그림 2는 심벌 추출부의 구조를 나타낸다.
  • 이러한 설계 툴 중 하나로 Impulse Accelerated Technologies 사의 ImpulseC CoDeveloper?} 있다1', 이는 ANSI-C 표준을 따르는 C 코드를 VH坦L로 변환해주는 툴이다. 논문에서는 먼저 JBIG2 전체 알고리즘을 C 코드로 개발한 후 소프트웨어로 처리할 부분은 C코드로 처리하고, 하드웨어로 처리할 부분은 VHDL로 변환해 준다. 또한 소프트웨어와 인터페이스 역할을 하는 하드웨어 디바이스 드라이버를 생성해 주기 때문에하드웨어와 소프트웨어와의 연동이 용이하다.
  • 본 논문에서는 임베디드 시스템에 적합한 JBIG2 압축 시스템을 설계하는데 있어서 핵심 모듈이라고 할 수 있는 심벌 추출부, 허프만 부호화기, MMR 부호화기, MQ 산술부호화기를 하드웨어로 설계 및 구현하였다. 하드웨어와 소프트웨어의 연동 설계를 위하여 ImpulseC CoDeveloper를 사용하여 각 모듈을 설계하였다.
  • 또한 소프트웨어와 인터페이스 역할을 하는 하드웨어 디바이스 드라이버를 생성해 주기 때문에하드웨어와 소프트웨어와의 연동이 용이하다. 논문에서는 임베디드용 JBIG2 부호기의 핵심 모듈인심벌 추출부, 허프만 부호화기, MMR 부호화기, MQ 산술부호화기를 설계 구현하였다.
  • 설계된 IP 들은 Xilinx ISE/EDK 를 이용하여 ML410 개발 보드 상의 FPGA에 하드웨어 IP로 추가하였고 소프트웨어와의 연동으로 이진문서를 압축하는 실험을 수행하였다. 소프트웨어와의 연동 실험을 통하여 소프트웨어에서 데이터를 하드웨어 측으로 전송하고 IP 내에서의 동작을 생성된 데이터스트림을 소프트웨어 측에서 다시 전송받아 그 결과를 확인하는 방식으로 설계된 IP가 정상 동작됨을 UART 터미널을 통해 확인하였다.
  • OPB-Timer는 IP가 동작될 때클럭을 측정하는 타이머로써 단위는 ticks이고, ticks 에 프로세서의 동작 주기를 곱하면 동작시간이 된다 공정한 동작시간을 얻기 위해 여러 번 반복 수행 후 평균 처리 속도를 구했다. 셋째로 FX-60의 IOB(Input Output Block)를 얼마나 사용하는지 측정한다.
  • JBIG2부호기에서도 빠른 처리 위해 심벌 비트맵을 MMR 부호화기를 사용하여 부호화 하게 된다. 심벌 추출부와 마찬가지로 비트맵 영상을 처리하기위해 빈번한 메모리 억세스가 발생 되는데 메모리영역을 소프트웨어와 하드웨어가 공유하도록 설계하여 처리시간을 단축하였다. 그림 4는 설계된 MMR 부호화기의 구조이다.
  • 5% 정도를 사용하였다. 심벌 추출부의 성능평가는 스캔된 일반문서에서 소프트웨어만으로 심벌을 추출할 때와 하드웨어 IP로 심벌을 추출 할 때 걸리는 시간을 측정함으로 수행하였다. 공정한 시간측정을 위하여 10번의 수행을 한 후 평균 시간을 측정 했을 때 소프트웨어로 수행한 경우 평균 1억4천9백만 ticks가 소요되었고 하드웨어로 수행했을 경우 평균 8백6십만 ticks가 소요되었다.
  • 전체 부호화기는 심벌 추출 IP, 허프만 부호화 IP, MMR 부호화 IP, MQ 산술부호화 IP 모듈을 통합하여 구성하였다. JBIG2의 나머지 부분은 S/W로 실행하였다.
  • IP의 합성을 위해 Impulse C Codeveloper 를 사용하여 소프트웨어와 하드웨어 모듈, 디바이스 드라이버를 구현한 후, Xilinx사의 ISE와 EDK Tool'侦을 사용하여 IP를 합성하였고 IP의 파형 검증은 Active-HimL〔坷을 사용하여 실시하였다. 최종적으로 ML410보드에 Microblaze cpu를 합성한 흑、 개발된 IP를 FPGA에 다운로드하여 개발보드에 부속된 Flash 메모리에 저장된 이진문서를 로딩하여 S/W와 연동을 통해 압축하는 실험을 수행함으로써 정상 동작 여부를 검증하였다. 성능평가는 첫째로 합성된 IP의 FX-60의 사용가능한 Slice중에서 몇 % 를 소모했는지 측정한다.
  • 하드웨어 출력으로 각각 32비트씩 두 개의 하드웨어 스트림을 설계하여 하나의 스트림은 프리픽스 길이 8비트(31:24), 구간 길이 8비트(23:16), 프리픽스 부호 16비트(15:0)를 출력하고 다른 하나는 구간 부호 32비트(31:0)를 출력하도록 설계하였다. 이렇게 설계된 허프만 부호화기의 하드웨어 구조는허프만 테이블의 모든 데이터 값을 메모리로 읽어올 필요가- 없으며, 해당 테이블의 구간별 최저값만을 먼저 읽어서 비교과정을 수행함으로써 메모리로부터 읽어오는 과정을 최소화하였다.
  • al > b2 이면 패스(Pass) 모드 부호화를행흐)게 되고 |al - bl| < 3이면 수직 모드 부호화를 하게 되며, |al - bl| > 3 이면 수평 모드 부호화를 하게 된다. 하드웨어 출력으로는 각 모드별 코드 테이블에 정의 되어있는 코드와 코드 길이의 값을 각각 8비트와 16비트 하드웨어 스트림(FIFO)으로 전송하도록 설계하였다.
  • 하드웨어와 소프트웨어의 연동 설계를 위하여 ImpulseC CoDeveloper를 사용하여 각 모듈을 설계하였다. ALDEC사의 Active-HDL을 사용하여 파형 검증을 거친 후 Xilii以사의 ISE/EDK를 사용하여 합성하였다 실험 및 검증에는 Xilin以사의 ML410 실험보드상의 Virtex-4 FX60 FPGA를 이용하였다.
  • 5% 정도를 사용하였다. 허프만 부호화기의 성능평가는 한 개의 데이터를 허프만 부호화를 수행하는데 소요되는 시간을 측정함으로 수행하였다 . 소프트웨어로만 동작하였을경우 평균 6, 505 ticks가 소요되었고 하드웨어 연동의 경우에는 평균 625 ticks가 소요되었다.

대상 데이터

  • 2 배 빠른 처리 속도를 보였다. 4개의 모듈을 합친 전체부호화 IP의 경우 9, 814 Slices를 사용하여 전체 FPGA Slice용량의 36.7%를 사용하였다. 또한 각 모듈은 JBIG2 소프트웨어와의 연동 실험을 실시하여 정상적으로 동작함을 확인하였다.
  • 9, 271 Slice를 사용하여 전체 사용 가능한 Slice 용량의 36.7%를 사하였다. FX-60의 전체 576개의 IOB중에서 561개가 사용되었음을 알 수 있었다.
  • 하드웨어와 소프트웨어의 연동 설계를 위하여 ImpulseC CoDeveloper를 사용하여 각 모듈을 설계하였다. ALDEC사의 Active-HDL을 사용하여 파형 검증을 거친 후 Xilii以사의 ISE/EDK를 사용하여 합성하였다 실험 및 검증에는 Xilin以사의 ML410 실험보드상의 Virtex-4 FX60 FPGA를 이용하였다. 실험 결과, 설계된 심벌 추출부 IP의 경우 2, 413 Slices를 사용하여 전체 FPGA Slice 용량의 9.
  • MMR 부호화기는 FPGA 사용량이 2, 173 Slice 로 전체 사용가능한 Slice용량의 8.6% 정도를 사용하였다. MMR 부호화기의 성능 평가는 10개의 테스트용 비트맵 영상을 MMR 코딩한 시간을 측정함으로 수행하였다.
  • MQ 산술부호화기는 FPGA 사용량이 4, 122 Slice 로 전체 사용가능한 Slice용량의 16.3% 정도를 사용하였다. 다른 4개의 블록보다 제일 많은 면적을 차지한 것을 알 수 있다.
  • 실험에 사용된 개발보드는 Xiliiml사에서 만든 ML410 보드로서 Virtex-4 FX60 FPGA칩을 내장하고 있다. IP의 합성을 위해 Impulse C Codeveloper 를 사용하여 소프트웨어와 하드웨어 모듈, 디바이스 드라이버를 구현한 후, Xilinx사의 ISE와 EDK Tool'侦을 사용하여 IP를 합성하였고 IP의 파형 검증은 Active-HimL〔坷을 사용하여 실시하였다.
  • 심벌 추출부는 2, 413 Slice를 전체 사용 가능한 25, 280 Slice의 9.5% 정도를 사용하였다. 심벌 추출부의 성능평가는 스캔된 일반문서에서 소프트웨어만으로 심벌을 추출할 때와 하드웨어 IP로 심벌을 추출 할 때 걸리는 시간을 측정함으로 수행하였다.
  • 전체 부호화기 하드웨어 IP는 JBIG2의 나머지소프트웨어 모듈과 연동하여 압축실험을 수행하였다 실험에 사용한 영상은 JBIG표준에서 공식적으로 사용하는 테스트 문서 중에서 200dpi(dot per inch) 해상도를 가진 CCITT-1(텍스트위주)과 CCITT-5 (그림이 포함된 것)문서이다. 아울러 일반한글문서를 스캔한 2진 문서를 실험에 사용하였다. 그림 10은 복호화한 결과 얻어진 문서 영상으로써, 454K 바이트(Byte) 크기의 영상을 그림 10(a)의 경우 14K 바이트 그림 10(b)의 경우36K 바이트, 10(c)는 18K 바이트로 각각 JBIG2 압축 후에 복원한 영상을 보여주고 있다.
  • FX-60의 전체 576개의 IOB중에서 561개가 사용되었음을 알 수 있었다. 전체 부호화기 하드웨어 IP는 JBIG2의 나머지소프트웨어 모듈과 연동하여 압축실험을 수행하였다 실험에 사용한 영상은 JBIG표준에서 공식적으로 사용하는 테스트 문서 중에서 200dpi(dot per inch) 해상도를 가진 CCITT-1(텍스트위주)과 CCITT-5 (그림이 포함된 것)문서이다. 아울러 일반한글문서를 스캔한 2진 문서를 실험에 사용하였다.

이론/모형

  • 첫째, Visual Studio를 사용하여 JBIG2 부호기를 C언어로 개발한다. 둘째, 하드웨어모듈의 개발을 위하여 ImpulseC CoDeveloper 툴을 사용한다. 이 프로그램은 개발단계에서 하드웨어와 소프트웨어 연동을 위하여 소프트웨어 모듈과 하드웨어모듈을 분리 설계가 가능하고, 두 모듈간에 공유메모리를 설치할 수도 있고, 스트림과 신호를 통해 데이터를 주고받도록 설계하기에 용이하다.
본문요약 정보가 도움이 되었나요?

참고문헌 (19)

  1. CCITT Draft Rec. T.4, Standardization of Group 3 Facsimile Apparatus for Document Trans-mission, 1979. 

  2. CCITT Rec. T.6, Facsimile Coding Schemes and Coding Control Functionfor Group 4 Facsimile Apparatus, 1988 

  3. ITU-T Rec. T.82, Information Technology Coded Representation of Picture and Audio Information - Progressive Bi- Level Image Compression, March, 1993. 

  4. ISO/IEC JTC1/SC29/WG1 (ITU-T SG8) N1359, JBIG2 Final Committee Draft, July, 1999. 

  5. P. G. Howard, "AT&T JBIG2 Coder Proposal," ISO/IEC JTCI/SC29/WG1, Feb, 1996. 

  6. P. G. Howard, F. Kossentini, B. Martins, S. Forchhammer, and W. J. Rucklidge, "The Emerging JBIG2 Standard," IEEE Trans. Circuits, Syst. Video Technology, Vol.8, No.7, pp.838-848, Nov. 1998. 

  7. http://www.adobe.com 

  8. http://www.leadtools.com 

  9. http://www.verypdf.com 

  10. http://www.impulsec.com 

  11. P. G. Howard, "Lossless and Lossy Compression of Text Images by Soft Pattern Matching," ISO/IEC JTC1/SC29/WG1, N205, 1995. 

  12. O. Johnsen, J. Segen, and G. Cash, "Coding of Two-Level Pictures by Pattern Matching and Substitution," Bell System Technical Journal, Vol.62, No.8, Oct., 1983. 

  13. 김 혁, Real Xilinx Processor World, World, 엔트미디어, 2005 

  14. 양상훈, 김민호, 박동선, "JPEG200을 위한 Arithmetic Encoder의 H/W 설계," 2009 SOC 학술대회 

  15. 이경민, 오경호, 정인환, 김영민, "JPEG- 2000 CODEC을 위한 Entropy 코딩 알고리즘의 VLSI 설계," 한국통신학회논문지, '04-1, Vol.29, No.1C, pp.35-44. 

  16. Fumitaka Sato, Masayoshi Murayama. "A High Speed Image CODEC VLSI for Document Retrieval," IEEE Trans. Circuits and Systems, Vol.36, No.10, Oct. 1989 

  17. Parhi, K.K. "High-speed Huffman decoder architectures," Signals, Systems and Computers, 1991. 1991 Conference Record of the Twenty-Fifth Asilomar Conference on 4-6 Nov. 1991 Page(s):64-68 Vol.1 

  18. http://www.aldec.com 

  19. 박경준, 고형화, "JBIG2 허프만 부호화기의 하드웨어 설계," 한국멀티미디어학회논문지, pp.101-109, Feb., 2009 

저자의 다른 논문 :

관련 콘텐츠

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로