This paper proposes Speckle2Self, a novel self-supervised learning algorithm for speckle noise removal, a particular problem in medical ultrasound images. Unlike existing Noise2Noise or blind-spot networks, this algorithm removes speckle noise using a single noise observation, taking into account the tissue dependence of speckle noise. The core idea is to induce tissue-dependent changes in speckle patterns through multi-scale perturbation (MSP) operations while preserving anatomical structures. This approach effectively removes speckle noise by modeling clean images as low-rank signals and separating speckle noise into sparse noise components. We validate the performance of Speckle2Self by comparing it with existing filter-based and state-of-the-art learning-based methods using real medical ultrasound images and simulated data. We also evaluate the model's generalization and adaptability using data from multiple ultrasound devices.