스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
iOS 카메라 캡처의 향상된 기능 살펴보기: 심도, 포커스, 멀티태스킹
앱에서 고급 카메라 캡처 기능을 활용하는 방법을 확인하세요. LiDAR 스캐너를 사용하여 사진 및 비디오 효과를 만들고 정확한 심도 측정을 수행하는 방법을 보여드립니다. 앱에서 카메라를 사용하여 화면 속 화면이나 멀티태스킹을 수행하고, 카메라 캡처 중에 얼굴 기반 자동 포커스와 자동 노출을 제어하는 방법 등을 알아보세요. 또한 고품질의 비디오 출력을 캡처하는 동시에 라이브 미리 보기를 최적화할 수 있도록 다양한 비디오 출력을 사용하기 위한 전략을 소개합니다. 카메라 캡처 기능의 개요를 확인하려면 WWDC21의 ‘What's new in camera capture(카메라 캡처의 새로운 기능)'을 시청하시기 바랍니다.
리소스
- Accessing the camera while multitasking
- Adopting Picture in Picture for video calls
- Capture setup
- TN3121: Selecting a pixel format for an AVCaptureVideoDataOutput
관련 비디오
WWDC23
WWDC22
WWDC21
-
다운로드
안녕하세요 'iOS 카메라 캡처의 발전 사항 알아보기'에 오신 것을 환영합니다 저는 카메라 소프트웨어 팀의 Nikolas Gelo입니다 iOS와 iPadOS의 흥미로운 카메라 신규 기능을 몇 가지 소개하겠습니다 AVFoundation으로 LiDAR 스캐너의 깊이 스트리밍하기부터 시작할게요 그리고 얼굴 기반 자동 초점 및 자동 노출을 사용하여 더 나은 얼굴 렌더링을 앱으로 받는 방법을 살펴보겠습니다 그런 다음 고급 AVCaptureSession 스트리밍 구성을 보여드리겠습니다 마지막으로 멀티태스킹 중에 앱이 카메라를 사용하는 방법을 보여드리겠습니다 AVFoundation을 사용하여 LiDAR 스캐너로 깊이를 스트리밍하는 법부터 봅시다 iPhone 12 Pro, iPhone 13 Pro iPad Pro에는 조밀한 깊이 지도를 출력하는 LiDAR 스캐너가 들어 있습니다 LiDAR 스캐너는 주변에 빛을 쏴서 표면에서 반사된 빛을 수집함으로써 작동합니다 깊이는 빛이 LiDAR에서 대상으로 갔다가 스캐너에 다시 반사되는 데 걸린 시간을 측정하여 추정합니다 이 과정은 초당 수백만 번 실행됩니다 AVFoundation을 사용하여 작동하는 LiDAR 스캐너를 보여 드릴게요 iPhone 13 Pro Max에서 새로운 LiDAR 깊이 카메라 AVCaptureDevice를 사용하는 앱을 실행하고 있습니다 앱은 라이브 카메라 피드 위에 스트리밍 깊이 데이터를 렌더링합니다 가까이 있는 물체는 파란색으로 멀리 있는 물체는 빨간색으로 표시됩니다 슬라이더를 사용하여 깊이의 불투명도를 조정할 수 있습니다 또한 이 앱은 사진을 고해상도 깊이 지도로 찍을 수 있습니다 사진을 찍을 때도 동일한 깊이 오버레이가 적용됩니다 하지만 정지 사진에 대해서는 훨씬 더 큰 해상도가 적용됩니다 이 앱에는 숨겨진 기능이 하나 더 있습니다 손전등 버튼을 누르면 앱이 컬러 이미지 고해상도 깊이 지도를 사용하여, RealityKit로 화면에 스포트라이트를 렌더링합니다 스포트라이트를 화면에 있는 다른 객체에 주려면 탭하면 됩니다 기타에 스포트라이트된 게 보이시죠 또는 벽 모서리의 오른쪽 지점을 탭하면 스포트라이트는 하트 모양이 됩니다 기타에 다시 비춰봅시다 정말 멋지죠
LiDAR 스캐너용 API는 iPadOS 13.4의 ARKit에서 처음 도입되었습니다 WWDC 2020의 'ARKit 4 알아보기'를 아직 보지 않으셨다면 꼭 보시길 권합니다 iOS 15.4에서 추가된 것으로 앱은 AVFoundation으로 LiDAR 스캐너에 액세스할 수 있습니다 우리는 새로운 AVCapture 기기 유형을 도입했습니다 내장형 LiDAR 깊이 카메라인데요 비디오와 깊이를 전달합니다 고품질, 고정밀 깊이 정보를 만듭니다 이 새로운 AVCaptureDevice는 후면 와이드 카메라를 사용하여 깊이를 포착하기 위해 LiDAR 스캐너로 비디오를 전달합니다 비디오와 깊이는 모두 와이드 카메라의 필드뷰에서 포착됩니다 TrueDepth AVCaptureDevice와 마찬가지로 모든 포맷으로 깊이 데이터를 전달할 수 있습니다 이 새로운 AVCaptureDevice는 고품질 깊이 데이터를 만듭니다 LiDAR 스캐너의 희소 출력을 후면 와이드 카메라의 컬러 이미지와 융합해서요 LiDAR와 입력된 색상은 머신 러닝 모델을 사용하여 조밀한 깊이 지도를 출력하도록 처리됩니다 LiDAR 깊이 카메라는 후면 와이드 카메라를 사용하기 때문에 AVCaptureMultiCamSession과 함께 망원 및 울트라 와이드 카메라를 추가로 사용할 수 있습니다 동시에 여러 대의 카메라를 사용하려는 앱에 유용하죠 LiDAR 깊이 카메라는 다양한 포맷을 제공합니다 640x480의 비디오 해상도부터 4032x3024의 풀 12메가픽셀 이미지까지 있습니다 스트리밍 중에는 최대 320x240 깊이 지도를 출력할 수 있고요 사진 촬영할 때는 768x576의 깊이 지도를 받을 수 있습니다 참고로 16x9, 4x3 포맷에서 깊이 해상도는 약간 다릅니다 비디오의 가로 세로 비율을 맞추기 위해서죠 LiDAR 깊이 카메라 AVCaptureDevice는 iPhone 12 Pro, iPhone 13 Pro iPad Pro 5세대에서 사용가능해요 iPhone 13 Pro에서는 후면 카메라들을 조합하여 깊이 데이터를 전달할 수 있습니다 AVFoundation Capture API는 이를 물리적 기기로 구성된 가상 기기라고 부릅니다 iPhone 13 Pro의 뒷면에서는 4개의 가상 AVCaptureDevice를 사용할 수 있습니다 새로운 LiDAR 깊이 카메라는 와이드 카메라와 같이 LiDAR 스캐너를 사용합니다 듀얼 카메라는 와이드 및 망원 카메라를 사용합니다 듀얼 와이드 카메라는 와이드 카메라와 울트라 와이드 카메라를 사용합니다 트리플 카메라는 와이드 카메라, 울트라 와이드 카메라, 망원 카메라를 사용합니다 이 기기들은 서로 다른 깊이 유형을 만듭니다 LiDAR 깊이 카메라는 절대 깊이를 만듭니다 비행 시간 기술을 사용하여 실제 척도를 계산할 수 있습니다 예를 들어 측정과 같은 컴퓨터 비전 작업에 적합하죠 TrueDepth, 듀얼, 듀얼 와이드 및 트리플 카메라는 상대적이고 디스패리티에 기반하는 깊이를 만듭니다 전력 소모가 적고 사진 효과를 렌더링하는 앱에 적합합니다 AVFoundation은 AVDepthData 클래스를 써서 깊이를 나타냅니다 이 클래스에 있는 픽셀 버퍼는 깊이와 함께 깊이 데이터 유형 정확도 및 필터링 여부 등 다른 속성도 갖고 있습니다 깊이를 지원하는 AVCaptureDevice 에 의해 전달되며 새로운 LiDAR 깊이 카메라처럼 AVCaptureDepthDataOutput에서 깊이를 스트리밍하거나 AVCapturePhotoOutput에서 사진에 첨부된 깊이를 받아올 수 있습니다 깊이 데이터는 기본적으로 필터링됩니다 필터링으로 노이즈를 줄이고 깊이 지도에서 누락된 값 또는 구멍을 채웁니다 이 기능은 비디오나 사진 앱에서 매우 잘 활용될 수 있습니다 깊이 지도를 사용할 때 인공물이 나타나지 않도록 컬러 이미지에 효과를 적용합니다 그러나 컴퓨터 비전 앱에서는 깊이 지도의 원래 값을 유지하기 위해 필터링되지 않은 깊이 데이터가 필요합니다 필터링이 비활성화되면 LiDAR 깊이 카메라는 신뢰 포인트가 낮은 곳을 제외합니다 깊이 데이터 필터링을 비활성화하려면 AVCaptureDepthDataOutput의 isFilteringEnabled 속성을 false로 하고, 델리게이트 콜백 에서 AVDepthData 객체를 받습니다 그러면 필터링되지 않습니다 ARKit에서 이미 LiDAR 스캐너에 액세스할 수 있었기 때문에 AVFoundation은 어떻게 다른지 궁금하실 겁니다
AVFoundation은 비디오 및 사진 앱용으로 디자인되었습니다 AVFoundation을 사용하면 깊이 데이터를 LiDAR 스캐너로 캡처하여 고해상도 사진에 임베딩할 수 있습니다 ARKit은 이름에서 알 수 있듯이 증강 현실 앱에 가장 적합합니다 ARKit은 LiDAR 스캐너를 통해 장면 지오메트리, 객체 배치와 같은 기능을 제공할 수 있습니다 AVFoundation은 영화 촬영이나 사진 촬영에 적합한 고해상도 비디오를 제공할 수 있습니다 AVFoundation의 LiDAR 깊이 카메라는 최대 768x576의 깊이를 출력할 수 있습니다 이는 ARKit의 깊이 해상도 256x192의 두 배 이상입니다 ARKit은 저해상도 깊이 지도를 사용하여 증강 현실 알고리즘을 적용할 수 있습니다 AVFoundation을 사용하여 깊이 데이터를 캡처하는 자세한 방법은 'iPhone 사진 촬영에서 깊이 캡처하기' 세션을 보세요 WWDC 2017에 있습니다 여러분의 앱에서 LiDAR 깊이 카메라를 사용하는 여러 가지 흥미로운 방법을 보여드리게 되어 기쁩니다 다음으로, 자동 초점 및 자동 노출 시스템의 향상된 점을 알려드리죠 앱의 화면에서 얼굴이 잘 보이도록 해줍니다 자동 초점 및 자동 노출 시스템은 화면을 분석하여 최고의 이미지를 캡처합니다 자동 초점 시스템은 피사체에 초점을 맞추도록 렌즈를 조정하고 자동 노출 시스템은 피사체가 잘 보이도록 화면의 가장 밝은 영역과 가장 어두운 영역을 조정합니다 그러나 때로는 자동 조정을 해도 피사체의 얼굴에 초점이 맞춰지지 않을 때도 있습니다 또한 밝은 역광 때문에 피사체의 얼굴을 보기 어려울 때도 있습니다 DSLR 등 전문 카메라들에는 공통적 으로 화면에서 얼굴을 추적하는 기능이 있습니다, 초점과 노출을 동적으로 조정하여 잘 보이게 하죠 새 iOS 15.4에서는 초점 및 노출 시스템은 얼굴을 우선시합니다 너무 좋은 기능이라, iOS 15.4 이상에 연결된 모든 앱에 대해 기본값을 활성으로 했습니다 몇 가지 예를 보여 드리겠습니다 얼굴로 자동 초점이 맞춰지지 않으면, 카메라가 얼굴에 초점을 다시 맞추지 않고 배경에 그대로 초점을 둡니다 다시 보세요 사람이 돌아설 때 얼굴에 초점이 맞지 않는 걸 보세요 배경에 있는 나무는 선명하게 보이죠 얼굴 기반 자동 초점을 활성화하면 얼굴이 선명하게 보입니다 사람이 몸을 돌리면 카메라는 초점을 배경으로 바꿉니다
비디오를 나란히 놓고 비교해보면 차이를 확실히 볼 수 있습니다 오른쪽은 얼굴 기반 자동 초점이 활성화된 건데요 사람의 수염을 자세히 볼 수 있죠 역광이 밝을 때는 얼굴을 잘 노출시키기 어렵습니다 그러나 얼굴을 우선시하는 자동 노출 시스템을 쓰면 얼굴을 쉽게 볼 수 있습니다
나란히 놓고 비교해보면, 차이를 다시 한 번 확인할 수 있습니다 오른쪽 사진에서는 얼굴이 잘 노출되면서 배경의 나무도 더 밝게 보입니다 하늘도 마찬가지입니다 얼굴이 우선시되면 전체 화면의 노출이 조정됩니다
iOS 15.4에는 AVCaptureDevice에 새로운 속성이 있어요 얼굴 기반 자동 초점 및 자동 노출 활성화를 조정할 수 있죠 기기가 이러한 설정을 자동으로 조정할지 여부를 정할 수 있습니다 그리고 활성화되는 시점도 정할 수 있어요 isEnabled 속성의 설정 값을 바꾸려면 먼저 자동 조정을 비활성화해야 합니다 자동 활성화는 사진 앱에서 매우 유용합니다 Apple의 카메라 앱에서 사용되고 있어요 화상 회의 앱에도 적합합니다 통화 중에도 얼굴을 계속 볼 수 있어요 FaceTime에서도 활용되고 있죠 그러나 때로는 자동 초점 및 자동 노출 시스템을 얼굴로 구동하는 것이 좋지 않은 경우도 있습니다 예를 들어 여러분의 앱이 캡처한 이미지를 사용자가 수동으로 제어할 수 있게 하려면 이 기능은 필요 없겠죠
얼굴 기반 자동 초점 및 자동 노출이 여러분의 앱에 맞지 않으면 이 동작을 선택 해제할 수 있습니다 먼저 구성하기 위해 AVCaptureDevice를 잠급니다 그리고 얼굴 기반 자동 초점 또는 자동 노출 자동 조정하기를 해제합니다 그리고 얼굴 기반 자동 초점 또는 자동 노출을 비활성화합니다 마지막으로 구성을 위해 기기의 잠금을 해제합니다
앱의 요구 사항에 맞는 오디오 비디오 데이터를 수신하기 위해서 고급 스트리밍 구성을 사용하는 방법에 대해 말씀드리겠습니다 AVFoundation Capture API로 개발자는 카메라를 사용하는 몰입형 앱을 만들 수 있습니다 AVCaptureSession은 AVCaptureOutputs에 연결된 카메라 및 마이크에서 받은 데이터 입력 흐름을 관리합니다 비디오, 오디오, 사진 등을 전달할 수 있죠 일반적인 카메라 앱 사용 사례를 예로 들어 보겠습니다 녹화된 비디오에 필터나 오버레이 같은 사용자 정의 효과를 적용하는 앱에는, AVCaptureSession에 입력이 두 개 있어야 합니다 즉 카메라와 마이크죠, 이것들은 출력 두 개로 연결되어야 합니다 하나는 비디오 데이터용, 다른 하나는 오디오 데이터용으로요 그러면 비디오 데이터에 효과가 적용되고 처리된 비디오는 두 곳으로 전송됩니다 비디오 미리 보기와 녹화를 위한 AVAssetWriter로 전송되죠 오디오 데이터도 AVAssetWriter에 전송됩니다 iOS 16, iPadOS 16의 새로운 기능으로, 앱에서 동시에 여러 AVCaptureVideoDataOutputs을 사용할 수 있습니다 각 비디오 데이터 출력에 대해 해상도, 안정화, 방향 및 픽셀 형식을 사용자 정의할 수 있습니다 예제 카메라 앱으로 돌아가 보겠습니다 이 앱은 서로 다른 캡처 요구 사항들을 균형적으로 적용합니다 캡처되는 콘텐츠를 라이브 비디오 미리 보기로 보여주면서 나중에 재생할 수 있도록 고품질 비디오로 녹화도 합니다 미리 보기의 경우, 해상도가 기기의 화면에 맞도록 커야 합니다 또한 미리 보기는 대기 시간이 짧으므로 빨리 처리되어야 합니다 하지만 녹화할 때는, 효과가 잘 적용된 고해상도로 캡처하는 것이 가장 좋습니다 두 번째 AVCaptureVideoDataOutput을 추가할 수 있으므로 캡처 그래프를 확장할 수 있습니다 이제 비디오 데이터 출력을 최적화할 수 있습니다 출력 하나를 가지고 미리 보기를 위한 더 작은 버퍼를 제공할 수 있습니다 그리고 다른 출력으로는 녹화용 풀 사이즈 4K 버퍼를 만들 수 있습니다 또한 앱은 더 작은 미리 보기 버퍼에서 더 고성능 효과를 간단하게 렌더링할 수 있습니다 또한 녹화할 때 전체 크기 버퍼용으로 고품질 효과를 보존할 수 있습니다 더 이상 앱에서 미리 보기용과 비디오 녹화용 사이에서 타협할 필요가 없는 거죠
미리 보기와 녹화에 별도의 비디오 데이터 출력을 사용하는 또 다른 이유는, 다른 안정화 모드를 적용하기 위해서입니다 비디오 안정화를 하려면 비디오 캡처 파이프라인에 지연 시간이 추가로 발생합니다 미리 보기의 경우엔 시간이 지연되는 건 별로 좋지 않죠 오래 지연되면 콘텐츠를 캡처하기 어렵습니다 반면 녹화에서는 나중에 더 나은 비디오를 보기 위해 안정화를 적용할 수 있습니다 따라서 지연 시간이 짧은 미리 보기 비디오 데이터 출력에는 안정화를 적용하지 않고 나중에 재생할 것에는 안정화를 적용합니다 비디오 데이터 출력 해상도를 구성 하는 방법은 여러 가지 있습니다 전체 크기 출력의 경우, 먼저 출력 버퍼 차원의 자동 구성을 비활성화합니다 그런 다음, 미리 보기 크기의 출력 버퍼 전달을 비활성화합니다 그러나 대부분의 경우에는 비디오 데이터 출력은 전체 크기 출력용으로 이미 구성되어 있습니다 즉, 미리 보기 크기로 출력하려면 자동 구성을 비활성화하지 않고 미리 보기 크기의 출력 버퍼를 전달하면 됩니다 사진 AVCaptureSessionPreset을 사용할 때 기본적으로 활성화되죠 사용자 정의 해상도를 요청하려면 너비와 높이를 출력의 비디오 설정 딕셔너리에서 지정합니다 너비와 높이의 종횡비는, 소스 기기의 activeFormat의 종횡비와 일치해야 합니다 비디오 데이터 출력을 구성하는 방법은 더 많이 있습니다 안정화를 적용하려면, 선호하는 안정화 모드를 설정하세요 예를 들어 cinematicExtended 같은 걸로 설정하면 보기 좋은 비디오를 만들 수 있습니다 또한 portrait로 설정하면 방향을 바꿀 수 있습니다 픽셀 포맷을 정하면 10비트 무손실 YUV버퍼를 수신할 수 있죠
AVCaptureVideoDataOutput의 픽셀 포맷 선택에 대한 세부내용은 테크노트 3121을 참조하세요
여러 가지 비디오 데이터 출력을 사용하는 것 외에도 iOS 16 및 iPadOS 16부터 AVCaptureMovieFileOutput으로 앱에서 녹화할 수 있습니다 AVCaptureVideoDataOutput 및 AVCaptureAudioDataOutput에서 데이터를 수신하면서요 세션에 추가할 수 있는 항목을 정하려면 출력을 추가할 수 있는지 여부를 확인하고 세션의 hardwareCost 속성을 쿼리하여 시스템이 구성을 지원하는지 여부를 확인합니다 영상 파일 출력으로 비디오 데이터를 수신하여 녹화 중에 비디오를 확인하고 장면을 분석할 수 있습니다 또한 영상 파일 출력으로 오디오 데이터를 수신하여 녹음하는 동안 오디오를 샘플링하고 녹음된 내용을 들을 수 있습니다 이런 캡쳐 그래프처럼 녹화의 기능적 부분을 AVCaptureMovieFileOutput에 덜어낼 수 있어요 압축되지 않은 비디오, 오디오 샘플을 여전히 수신하면서요 이러한 고급 스트리밍 구성을 구현하기 위해서는 새로운 API를 사용할 필요는 없습니다 기존 API로 이런 작업을 할 수 있도록 했습니다
마지막으로 여러분의 앱은 사용자가 멀티태스킹을 하는 동안 카메라를 사용할 수 있습니다 iPad 사용자들은 다양한 방법으로 멀티태스킹을 할 수 있습니다 Split View로 메모를 읽는 동안 음성 메모를 녹음할 수 있죠 또는 Safari를 전체 화면으로 띄우고 그 위에서 Slide Over로 플로팅 윈도우에서 메모를 쓸 수도 있어요 화면 속 화면 기능을 사용하면 계속 비디오를 재생하면서 더 많은 WWDC 비디오를 시청하기 위해 미리 알림을 추가할 수 있죠 iPadOS 16의 새로운 Stage Manager로 여러 앱을 크기를 조정할 수 있는 플로팅 윈도우에서 열 수 있습니다 iOS 16부터 AVCaptureSessions는 멀티태스킹 중에 카메라를 사용할 수 있습니다 이전에 멀티태스킹을 하는 동안엔 카메라에 액세스할 수 없게 했었죠 멀티태스킹하면 카메라 시스템의 품질이 저하될까봐요 게임처럼 리소스 소모가 큰 앱을 카메라를 사용하는 앱과 같이 쓰면 프레임이 떨어지거나 지연 시간이 늘어 카메라 피드 품질이 저하될 수 있어요 품질이 좋지 않은 비디오를 몇 달 또는 몇 년 후에 보는 사용자는 멀티태스킹 중 녹화했다는 걸 잊고 있을 수도 있죠 우리의 최우선 목표는 좋은 카메라 경험을 제공하는 것이에요 멀티태스킹하는 동안 카메라에서 비디오가 녹화되는 것을 시스템이 감지하면, 사용자에게 비디오 품질이 낮아질 수 있다고 알려주는 대화 상자가 표시됩니다 이 대화 상자는 AVCaptureMovieFileOutput 또는 AVAssetWriter를 사용한 녹화가 완료된 후 표시됩니다 모든 앱에 대해 시스템에서 한 번만 표시됩니다 그리고 해제하기 위한 확인 버튼이 있어요 AVCaptureSession에 두 개의 새로운 속성이 추가되었습니다 멀티태스킹 중 카메라 액세스 지원 및 활성화입니다 캡처 세션에 이 기능을 활성화시키면, 배경 앱에서 비디오 기기를 사용할 수 없다는 이유로 중지되지 않습니다 어떤 앱은 카메라를 사용할 때 전체 화면을 요구하기도 합니다 이렇게 하면 여러분의 앱은 다른 배경 앱과 시스템 리소스를 나누지 않을 겁니다 예를 들어 ARKit은 멀티태스킹 중 카메라 사용을 지원하지 않습니다
따라서 앱이 다른 앱과 같이 실행 되도 잘 작동하는지 확인해야 해요 알림을 모니터링해서 시스템이 과부하되어도 유연하게 대응할 수 있도록 만드세요 프레임 속도를 낮추는 등 영향을 줄이기 위한 조치를 취하세요 저해상도, 비닝 및 비 HDR 포맷을 요청해서 시스템에서 앱의 흔적을 줄일 수도 있어요 성능을 유지하는 모범 사례에 대해 더 알고 싶으면 '멀티태스킹 중 카메라 액세스하기'라는 글을 읽어보세요
화상 통화 및 화상 회의 앱은 원격 참가자를 시스템에서 제공하는 화면 속 화면 창에서 표시할 수 있습니다 이제 앱 사용자는 iPad에서 멀티태스킹하면서 원활하게 화상 통화를 계속할 수 있습니다 AVKit은 앱이 원격 통화 참가자를 표시하는 보기 컨트롤러를 지정할 수 있도록 iOS 15에서 API를 도입했습니다 화상 통화 보기 컨트롤러를 사용하면 윈도우의 내용을 사용자 정의할 수 있습니다 이것을 적용하는 방법을 자세히 알아보려면 '영상 통화에 화면 속 화면 적용하기' 문서를 참조하세요 이렇게 해서 iOS 카메라 캡쳐의 개선 사항을 모두 소개드렸어요 AVFoundation을 사용하여 LiDAR 스캐너로 깊이를 스트리밍 하는 방법을 보여 드렸고요 앱이 더 나은 얼굴 렌더링을 받는 방법 앱에 맞는 고급 AVCaptureSession 스트리밍 구성 그리고 멀티태스킹 중 앱이 카메라 를 사용하는 방법을 보여드렸어요 WWDC를 즐기시길 바랍니다
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.